From 7fda0cd7d92dac42c676fefe3bbd62aef304f52a Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Thu, 11 Nov 2010 21:48:08 -0500 Subject: [PATCH] first draft of coco's executable class bodies ... cleanups and tests to follow. --- lib/grammar.js | 51 +-- lib/lexer.js | 11 +- lib/nodes.js | 734 +++++++++++++++++++------------------------- lib/optparse.js | 16 +- lib/parser.js | 350 ++++++++++----------- lib/rewriter.js | 620 +++++++++++++++++++------------------ lib/scope.js | 40 ++- src/grammar.coffee | 35 +-- src/nodes.coffee | 238 +++++++------- src/optparse.coffee | 2 +- src/scope.coffee | 4 +- 11 files changed, 948 insertions(+), 1153 deletions(-) diff --git a/lib/grammar.js b/lib/grammar.js index 4925f9a5..d94bfdf7 100644 --- a/lib/grammar.js +++ b/lib/grammar.js @@ -44,8 +44,6 @@ return $2; }), o('INDENT OUTDENT', function() { return new Expressions; - }), o('TERMINATOR Comment', function() { - return Expressions.wrap([$2]); }) ], Identifier: [ @@ -204,45 +202,22 @@ }) ], Class: [ - o('CLASS SimpleAssignable', function() { + o('CLASS', function() { + return new Class; + }), o('CLASS Block', function() { + return new Class(null, null, $2); + }), o('CLASS EXTENDS Value', function() { + return new Class(null, $3); + }), o('CLASS EXTENDS Value Block', function() { + return new Class(null, $3, $4); + }), o('CLASS SimpleAssignable', function() { return new Class($2); + }), o('CLASS SimpleAssignable Block', function() { + return new Class($2, null, $3); }), o('CLASS SimpleAssignable EXTENDS Value', function() { return new Class($2, $4); - }), o('CLASS SimpleAssignable\ - INDENT ClassBody OUTDENT', function() { - return new Class($2, null, $4); - }), o('CLASS SimpleAssignable EXTENDS Value\ - INDENT ClassBody OUTDENT', function() { - return new Class($2, $4, $6); - }), o('CLASS INDENT ClassBody OUTDENT', function() { - return new Class(null, null, $3); - }), o('CLASS', function() { - return new Class(null, null, new Expressions); - }), o('CLASS EXTENDS Value', function() { - return new Class(null, $3, new Expressions); - }), o('CLASS EXTENDS Value\ - INDENT ClassBody OUTDENT', function() { - return new Class(null, $3, $5); - }) - ], - ClassAssign: [ - o('AssignObj', function() { - return $1; - }), o('ThisProperty : Expression', function() { - return new Assign(new Value($1), $3, 'this'); - }), o('ThisProperty : INDENT Expression OUTDENT', function() { - return new Assign(new Value($1), $4, 'this'); - }) - ], - ClassBody: [ - o('', function() { - return []; - }), o('ClassAssign', function() { - return [$1]; - }), o('ClassBody TERMINATOR ClassAssign', function() { - return $1.concat($3); - }), o('{ ClassBody }', function() { - return $2; + }), o('CLASS SimpleAssignable EXTENDS Value Block', function() { + return new Class($2, $4, $5); }) ], Invocation: [ diff --git a/lib/lexer.js b/lib/lexer.js index 8e209b0c..932cfd2d 100644 --- a/lib/lexer.js +++ b/lib/lexer.js @@ -8,13 +8,8 @@ }; Rewriter = require('./rewriter').Rewriter; _ref = require('./helpers'), count = _ref.count, starts = _ref.starts, compact = _ref.compact, last = _ref.last; - exports.Lexer = (function() { - Lexer = (function() { - function Lexer() { - return this; - } - return Lexer; - })(); + exports.Lexer = Lexer = function() { + function Lexer() {} Lexer.prototype.tokenize = function(code, opts) { var i; opts == null && (opts = {}); @@ -595,7 +590,7 @@ return quote + this.escapeLines(body, heredoc) + quote; }; return Lexer; - })(); + }(); JS_KEYWORDS = ['true', 'false', 'null', 'this', 'new', 'delete', 'typeof', 'in', 'instanceof', 'return', 'throw', 'break', 'continue', 'debugger', 'if', 'else', 'switch', 'for', 'while', 'try', 'catch', 'finally', 'class', 'extends', 'super']; COFFEE_KEYWORDS = ['undefined', 'then', 'unless', 'until', 'loop', 'of', 'by', 'when']; for (op in COFFEE_ALIASES = { diff --git a/lib/nodes.js b/lib/nodes.js index a2b66491..51404b35 100644 --- a/lib/nodes.js +++ b/lib/nodes.js @@ -1,5 +1,5 @@ (function() { - var Accessor, Arr, Assign, Base, Call, Class, Closure, Code, Comment, Existence, Expressions, Extends, For, IDENTIFIER, IS_STRING, If, In, Index, LEVEL_ACCESS, LEVEL_COND, LEVEL_LIST, LEVEL_OP, LEVEL_PAREN, LEVEL_TOP, Literal, NEGATE, NO, NUMBER, Obj, Op, Param, Parens, Push, RETURN, Return, SIMPLENUM, Scope, Splat, Switch, TAB, THIS, TRAILING_WHITESPACE, Throw, Try, UTILITIES, Value, While, YES, compact, del, ends, extend, flatten, last, merge, multident, starts, utility, _ref; + var Accessor, Arr, Assign, Base, Call, Class, Closure, Code, Comment, Existence, Expressions, Extends, For, IDENTIFIER, IS_STRING, If, In, Index, LEVEL_ACCESS, LEVEL_COND, LEVEL_LIST, LEVEL_OP, LEVEL_PAREN, LEVEL_TOP, Literal, NEGATE, NO, NUMBER, Obj, Op, Param, Parens, Push, Return, SIMPLENUM, Scope, Splat, Switch, TAB, THIS, TRAILING_WHITESPACE, Throw, Try, UTILITIES, Value, While, YES, compact, del, ends, extend, flatten, last, merge, multident, starts, unfoldSoak, utility, _ref; var __extends = function(child, parent) { function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; @@ -7,7 +7,7 @@ if (typeof parent.extended === "function") parent.extended(child); child.__super__ = parent.prototype; return child; - }, __slice = Array.prototype.slice; + }; Scope = require('./scope').Scope; _ref = require('./helpers'), compact = _ref.compact, flatten = _ref.flatten, extend = _ref.extend, merge = _ref.merge, del = _ref.del, starts = _ref.starts, ends = _ref.ends, last = _ref.last; exports.extend = extend; @@ -20,21 +20,12 @@ THIS = function() { return this; }; - RETURN = function() { - this.returns = true; - return this; - }; NEGATE = function() { this.negated = !this.negated; return this; }; - exports.Base = (function() { - Base = (function() { - function Base() { - return this; - } - return Base; - })(); + exports.Base = Base = function() { + function Base() {} Base.prototype.compile = function(o, lvl) { var node; o = extend({}, o); @@ -175,15 +166,11 @@ Base.prototype.unfoldSoak = NO; Base.prototype.assigns = NO; return Base; - })(); - exports.Expressions = (function() { - Expressions = (function() { - function Expressions(nodes) { - this.expressions = compact(flatten(nodes || [])); - return this; - } - return Expressions; - })(); + }(); + exports.Expressions = Expressions = function() { + function Expressions(nodes) { + this.expressions = compact(flatten(nodes || [])); + } __extends(Expressions, Base); Expressions.prototype.children = ['expressions']; Expressions.prototype.push = function(node) { @@ -299,15 +286,11 @@ return new Expressions(nodes); }; return Expressions; - }).call(this); - exports.Literal = (function() { - Literal = (function() { - function Literal(_arg) { - this.value = _arg; - return this; - } - return Literal; - })(); + }(); + exports.Literal = Literal = function() { + function Literal(_arg) { + this.value = _arg; + } __extends(Literal, Base); Literal.prototype.makeReturn = function() { if (this.isPureStatement()) { @@ -338,15 +321,11 @@ return ' "' + this.value + '"'; }; return Literal; - })(); - exports.Return = (function() { - Return = (function() { - function Return(_arg) { - this.expression = _arg; - return this; - } - return Return; - })(); + }(); + exports.Return = Return = function() { + function Return(_arg) { + this.expression = _arg; + } __extends(Return, Base); Return.prototype.children = ['expression']; Return.prototype.isStatement = YES; @@ -366,22 +345,18 @@ return this.tab + ("return" + (this.expression ? ' ' + this.expression.compile(o) : '') + ";"); }; return Return; - })(); - exports.Value = (function() { - Value = (function() { - function Value(base, props, tag) { - if (!props && base instanceof Value) { - return base; - } - this.base = base; - this.properties = props || []; - if (tag) { - this[tag] = true; - } - return this; + }(); + exports.Value = Value = function() { + function Value(base, props, tag) { + if (!props && base instanceof Value) { + return base; } - return Value; - })(); + this.base = base; + this.properties = props || []; + if (tag) { + this[tag] = true; + } + } __extends(Value, Base); Value.prototype.children = ['base', 'properties']; Value.prototype.push = function(prop) { @@ -498,15 +473,11 @@ return null; }; return Value; - })(); - exports.Comment = (function() { - Comment = (function() { - function Comment(_arg) { - this.comment = _arg; - return this; - } - return Comment; - })(); + }(); + exports.Comment = Comment = function() { + function Comment(_arg) { + this.comment = _arg; + } __extends(Comment, Base); Comment.prototype.isPureStatement = YES; Comment.prototype.isStatement = YES; @@ -520,19 +491,15 @@ return code; }; return Comment; - })(); - exports.Call = (function() { - Call = (function() { - function Call(variable, _arg, _arg2) { - this.args = _arg != null ? _arg : []; - this.soak = _arg2; - this.isNew = false; - this.isSuper = variable === 'super'; - this.variable = this.isSuper ? null : variable; - return this; - } - return Call; - })(); + }(); + exports.Call = Call = function() { + function Call(variable, _arg, _arg2) { + this.args = _arg != null ? _arg : []; + this.soak = _arg2; + this.isNew = false; + this.isSuper = variable === 'super'; + this.variable = this.isSuper ? null : variable; + } __extends(Call, Base); Call.prototype.children = ['variable', 'args']; Call.prototype.newInstance = function() { @@ -559,7 +526,7 @@ var call, ifn, left, list, rite, _i, _len, _ref, _ref2; if (this.soak) { if (this.variable) { - if (ifn = If.unfoldSoak(o, this, 'variable')) { + if (ifn = unfoldSoak(o, this, 'variable')) { return ifn; } _ref = new Value(this.variable).cacheReference(o), left = _ref[0], rite = _ref[1]; @@ -600,7 +567,7 @@ call.variable.base = ifn; } } - ifn = If.unfoldSoak(o, call, 'variable'); + ifn = unfoldSoak(o, call, 'variable'); } return ifn; }; @@ -652,33 +619,25 @@ return "(function(func, args, ctor) {\n" + idt + "ctor.prototype = func.prototype;\n" + idt + "var child = new ctor, result = func.apply(child, args);\n" + idt + "return typeof result === \"object\" ? result : child;\n" + this.tab + "})(" + (this.variable.compile(o, LEVEL_LIST)) + ", " + splatArgs + ", function() {})"; }; return Call; - })(); - exports.Extends = (function() { - Extends = (function() { - function Extends(_arg, _arg2) { - this.child = _arg; - this.parent = _arg2; - return this; - } - return Extends; - })(); + }(); + exports.Extends = Extends = function() { + function Extends(_arg, _arg2) { + this.child = _arg; + this.parent = _arg2; + } __extends(Extends, Base); Extends.prototype.children = ['child', 'parent']; Extends.prototype.compile = function(o) { return new Call(new Value(new Literal(utility('extends'))), [this.child, this.parent]).compile(o); }; return Extends; - })(); - exports.Accessor = (function() { - Accessor = (function() { - function Accessor(_arg, tag) { - this.name = _arg; - this.proto = tag === 'proto' ? '.prototype' : ''; - this.soak = tag === 'soak'; - return this; - } - return Accessor; - })(); + }(); + exports.Accessor = Accessor = function() { + function Accessor(_arg, tag) { + this.name = _arg; + this.proto = tag === 'proto' ? '.prototype' : ''; + this.soak = tag === 'soak'; + } __extends(Accessor, Base); Accessor.prototype.children = ['name']; Accessor.prototype.compile = function(o) { @@ -688,15 +647,11 @@ }; Accessor.prototype.isComplex = NO; return Accessor; - })(); - exports.Index = (function() { - Index = (function() { - function Index(_arg) { - this.index = _arg; - return this; - } - return Index; - })(); + }(); + exports.Index = Index = function() { + function Index(_arg) { + this.index = _arg; + } __extends(Index, Base); Index.prototype.children = ['index']; Index.prototype.compile = function(o) { @@ -706,19 +661,15 @@ return this.index.isComplex(); }; return Index; - })(); - exports.Obj = (function() { - Obj = (function() { - function Obj(props) { - this.objects = this.properties = props || []; - return this; - } - return Obj; - })(); + }(); + exports.Obj = Obj = function() { + function Obj(props) { + this.objects = this.properties = props || []; + } __extends(Obj, Base); Obj.prototype.children = ['properties']; Obj.prototype.compileNode = function(o) { - var i, idt, indent, join, lastNoncom, nonComments, obj, prop, props, rest, _i, _len, _len2, _ref, _results; + var i, idt, indent, join, lastNoncom, nonComments, obj, prop, props, rest, _i, _len, _len2, _len3, _ref, _ref2, _results, _results2; props = this.properties; if (!props.length) { if (this.front) { @@ -748,10 +699,10 @@ }).call(this)); lastNoncom = last(nonComments); props = (function() { - _ref = this.properties; - _results = []; - for (i = 0, _len2 = _ref.length; i < _len2; i++) { - prop = _ref[i]; + _ref2 = this.properties; + _results2 = []; + for (i = 0, _len3 = _ref2.length; i < _len3; i++) { + prop = _ref2[i]; join = i === this.properties.length - 1 ? '' : prop === lastNoncom || prop instanceof Comment ? '\n' : ',\n'; indent = prop instanceof Comment ? '' : idt; if (prop instanceof Value && prop["this"]) { @@ -759,9 +710,9 @@ } else if (!(prop instanceof Assign) && !(prop instanceof Comment)) { prop = new Assign(prop, prop, 'object'); } - _results.push(indent + prop.compile(o, LEVEL_TOP) + join); + _results2.push(indent + prop.compile(o, LEVEL_TOP) + join); } - return _results; + return _results2; }).call(this); props = props.join(''); obj = "{" + (props && '\n' + props + '\n' + this.tab) + "}"; @@ -816,15 +767,11 @@ return false; }; return Obj; - })(); - exports.Arr = (function() { - Arr = (function() { - function Arr(objs) { - this.objects = objs || []; - return this; - } - return Arr; - })(); + }(); + exports.Arr = Arr = function() { + function Arr(objs) { + this.objects = objs || []; + } __extends(Arr, Base); Arr.prototype.children = ['objects']; Arr.prototype.compileNode = function(o) { @@ -863,120 +810,100 @@ return false; }; return Arr; - })(); - exports.Class = (function() { - Class = (function() { - function Class(_arg, _arg2, _arg3) { - this.variable = _arg; - this.parent = _arg2; - this.properties = _arg3 != null ? _arg3 : []; - return this; - } - return Class; - })(); + }(); + exports.Class = Class = function() { + function Class(_arg, _arg2, _arg3) { + this.variable = _arg; + this.parent = _arg2; + this.body = _arg3 != null ? _arg3 : new Expressions; + } __extends(Class, Base); - Class.prototype.children = ['variable', 'parent', 'properties']; - Class.prototype.isStatement = YES; - Class.prototype.makeReturn = RETURN; + Class.prototype.children = ['variable', 'parent', 'body']; Class.prototype.compileNode = function(o) { - var access, applied, apply, className, code, constScope, ctor, extension, func, me, pname, prop, props, pvar, ref, ret, val, variable, _i, _len, _ref, _ref2; - variable = this.variable || new Literal(o.scope.freeVariable('ctor')); - extension = this.parent && new Extends(variable, this.parent); - props = new Expressions; - me = null; - className = variable.compile(o); - constScope = null; + var assign, assigns, ctor, decl, exps, i, klass, lname, name, node, tail, _i, _len, _len2, _ref, _ref2, _ref3, _results; + if (this.variable) { + decl = (tail = last(this.variable.properties)) ? tail instanceof Accessor && tail.name.value : this.variable.base.value; + decl && (decl = IDENTIFIER.test(decl) && decl); + } + name = decl || this.name || '_Class'; + lname = new Literal(name); + this.body.traverseChildren(false, function(node) { + if (node instanceof Literal && node.value === 'this') { + return node.value = name; + } else if (node instanceof Code) { + node.klass = name; + if (node.bound) { + return node.context = name; + } + } + }); + _ref = exps = this.body.expressions; + for (i = 0, _len = _ref.length; i < _len; i++) { + node = _ref[i]; + if (node instanceof Value && node.isObject()) { + assigns = (function() { + _ref2 = node.base.properties; + _results = []; + for (_i = 0, _len2 = _ref2.length; _i < _len2; _i++) { + assign = _ref2[_i]; + assign.variable = new Value(lname, [new Accessor(assign.variable.base, 'proto')]); + delete assign.context; + _results.push(assign); + } + return _results; + })(); + exps[i] = assigns; + } else if (node instanceof Code) { + if (ctor) { + throw new Error('cannot define more than one constructor in a class'); + } + if (node.bound) { + throw new Error('cannot define a constructor as a bound function'); + } + ctor = node; + exps.splice(i, 1); + exps.unshift(ctor); + } + } + this.body.expressions = exps = flatten(exps); + if (!ctor) { + exps.unshift(ctor = new Code); + if (this.parent) { + ctor.body.push(new Call('super', [new Splat(new Literal('arguments'))])); + } + } + ctor.ctor = ctor.name = name; + ctor.klass = null; + ctor.noReturn = true; if (this.parent) { - applied = new Value(this.parent, [new Accessor(new Literal('apply'))]); - ctor = new Code([], new Expressions([new Call(applied, [new Literal('this'), new Literal('arguments')])])); - } else { - ctor = new Code([], new Expressions([new Return(new Literal('this'))])); + exps.splice(1, 0, new Extends(lname, this.parent)); } - _ref = this.properties; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - prop = _ref[_i]; - pvar = prop.variable, func = prop.value; - if (pvar && pvar.base.value === 'constructor') { - if (!(func instanceof Code)) { - _ref2 = func.cache(o), func = _ref2[0], ref = _ref2[1]; - if (func !== ref) { - props.push(func); - } - apply = new Call(new Value(ref, [new Accessor(new Literal('apply'))]), [new Literal('this'), new Literal('arguments')]); - func = new Code([], new Expressions([apply])); - } - if (func.bound) { - throw SyntaxError('cannot define a constructor as a bound function.'); - } - func.name = className; - func.body.push(new Return(new Literal('this'))); - variable = new Value(variable); - variable.namespaced = 0 < className.indexOf('.'); - ctor = func; - if (last(props.expressions) instanceof Comment) { - ctor.comment = props.expressions.pop(); - } - continue; - } - if (func instanceof Code && func.bound) { - if (prop.context === 'this') { - func.context = className; - } else { - func.bound = false; - constScope || (constScope = new Scope(o.scope, ctor.body, ctor)); - me || (me = constScope.freeVariable('this')); - pname = pvar.compile(o); - if (ctor.body.isEmpty()) { - ctor.body.push(new Return(new Literal('this'))); - } - ret = "return " + className + ".prototype." + pname + ".apply(" + me + ", arguments);"; - ctor.body.unshift(new Literal("this." + pname + " = function() { " + ret + " }")); - } - } - if (pvar) { - access = prop.context === 'this' ? pvar.properties[0] : new Accessor(pvar, 'proto'); - val = new Value(variable, [access]); - prop = new Assign(val, func); - } - props.push(prop); + exps.push(lname); + klass = new Parens(new Call(new Code([], this.body)), true); + if (decl && ((_ref3 = this.variable) != null ? _ref3.isComplex() : void 0)) { + klass = new Assign(new Value(lname), klass); } - ctor.className = className.match(/[$\w]+$/); - if (me) { - ctor.body.unshift(new Literal("" + me + " = this")); + if (this.variable) { + klass = new Assign(this.variable, klass); } - o.sharedScope = constScope; - code = this.tab + new Assign(variable, ctor).compile(o) + ';'; - if (extension) { - code += '\n' + this.tab + extension.compile(o) + ';'; - } - if (!props.isEmpty()) { - code += '\n' + props.compile(o); - } - if (this.returns) { - code += '\n' + new Return(variable).compile(o); - } - return code; + return klass.compile(o); }; return Class; - })(); - exports.Assign = (function() { - Assign = (function() { - function Assign(_arg, _arg2, _arg3) { - this.variable = _arg; - this.value = _arg2; - this.context = _arg3; - return this; - } - return Assign; - })(); + }(); + exports.Assign = Assign = function() { + function Assign(_arg, _arg2, _arg3) { + this.variable = _arg; + this.value = _arg2; + this.context = _arg3; + } __extends(Assign, Base); - Assign.prototype.METHOD_DEF = /^(?:(\S+)\.prototype\.)?([$A-Za-z_][$\w]*)$/; + Assign.prototype.METHOD_DEF = /^(?:(\S+)\.prototype\.|\S+?)?\b([$A-Za-z_][$\w]*)$/; Assign.prototype.children = ['variable', 'value']; Assign.prototype.assigns = function(name) { return this[this.context === 'object' ? 'value' : 'variable'].assigns(name); }; Assign.prototype.unfoldSoak = function(o) { - return If.unfoldSoak(o, this, 'variable'); + return unfoldSoak(o, this, 'variable'); }; Assign.prototype.compileNode = function(o) { var isValue, match, name, val, _ref; @@ -991,7 +918,9 @@ name = this.variable.compile(o, LEVEL_LIST); if (this.value instanceof Code && (match = this.METHOD_DEF.exec(name))) { this.value.name = match[2]; - this.value.klass = match[1]; + if (match[1]) { + this.value.klass = match[1]; + } } val = this.value.compile(o, LEVEL_LIST); if (this.context === 'object') { @@ -1096,24 +1025,23 @@ return new Op(this.context.slice(0, -1), left, new Assign(rite, this.value, '=')).compile(o); }; return Assign; - })(); - exports.Code = (function() { - Code = (function() { - function Code(_arg, _arg2, tag) { - this.params = _arg != null ? _arg : []; - this.body = _arg2 != null ? _arg2 : new Expressions; - this.bound = tag === 'boundfunc'; - if (this.bound) { - this.context = 'this'; - } - return this; + }(); + exports.Code = Code = function() { + function Code(params, body, tag) { + this.params = params || []; + this.body = body || new Expressions; + this.bound = tag === 'boundfunc'; + if (this.bound) { + this.context = 'this'; } - return Code; - })(); + } __extends(Code, Base); Code.prototype.children = ['params', 'body']; + Code.prototype.isStatement = function() { + return !!this.ctor; + }; Code.prototype.compileNode = function(o) { - var close, code, comm, exprs, func, i, idt, lit, open, p, param, ref, scope, sharedScope, splats, v, val, vars, wasEmpty, _i, _j, _len, _len2, _len3, _ref, _ref2, _results, _this; + var code, exprs, i, idt, lit, p, param, ref, scope, sharedScope, splats, v, val, vars, wasEmpty, _i, _j, _k, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _results, _this; sharedScope = del(o, 'sharedScope'); o.scope = scope = sharedScope || new Scope(o.scope, this.body, this); o.indent += TAB; @@ -1137,9 +1065,9 @@ break; } } - _ref2 = this.params; - for (_j = 0, _len2 = _ref2.length; _j < _len2; _j++) { - param = _ref2[_j]; + _ref3 = this.params; + for (_k = 0, _len3 = _ref3.length; _k < _len3; _k++) { + param = _ref3[_k]; if (param.isComplex()) { val = ref = param.asReference(o); if (param.value) { @@ -1164,39 +1092,37 @@ exprs.unshift(splats); } if (exprs.length) { - (_this = this.body.expressions).splice.apply(_this, [0, 0].concat(__slice.call(exprs))); - } - if (!(wasEmpty || this.noReturn)) { - this.body.makeReturn(); + (_this = this.body.expressions).unshift.apply(_this, exprs); } if (!splats) { - for (i = 0, _len3 = vars.length; i < _len3; i++) { + for (i = 0, _len4 = vars.length; i < _len4; i++) { v = vars[i]; scope.parameter(vars[i] = v.compile(o)); } } - comm = this.comment ? this.comment.compile(o) + '\n' : ''; + if (!(wasEmpty || this.noReturn)) { + this.body.makeReturn(); + } idt = o.indent; - if (this.className) { - o.indent += TAB; + code = 'function'; + if (this.ctor) { + code += ' ' + this.name; } - code = this.body.isEmpty() ? '' : "\n" + (this.body.compileWithDeclarations(o)) + "\n"; - if (this.className) { - open = "(function() {\n" + comm + idt + "function " + this.className + "("; - close = "" + (code && idt) + "}\n" + idt + "return " + this.className + ";\n" + this.tab + "})()"; - } else { - open = 'function('; - close = "" + (code && this.tab) + "}"; + code += '(' + vars.join(', ') + ') {'; + if (!this.body.isEmpty()) { + code += "\n" + (this.body.compileWithDeclarations(o)) + "\n" + this.tab; + } + code += '}'; + if (this.ctor) { + return this.tab + code; } - func = "" + open + (vars.join(', ')) + ") {" + code + close; - scope.endLevel(); if (this.bound) { - return "" + (utility('bind')) + "(" + func + ", " + this.context + ")"; + return utility('bind') + ("(" + code + ", " + this.context + ")"); } if (this.front) { - return "(" + func + ")"; + return "(" + code + ")"; } else { - return func; + return code; } }; Code.prototype.traverseChildren = function(crossScope, func) { @@ -1205,17 +1131,13 @@ } }; return Code; - })(); - exports.Param = (function() { - Param = (function() { - function Param(_arg, _arg2, _arg3) { - this.name = _arg; - this.value = _arg2; - this.splat = _arg3; - return this; - } - return Param; - })(); + }(); + exports.Param = Param = function() { + function Param(_arg, _arg2, _arg3) { + this.name = _arg; + this.value = _arg2; + this.splat = _arg3; + } __extends(Param, Base); Param.prototype.children = ['name', 'value']; Param.prototype.compile = function(o) { @@ -1237,15 +1159,11 @@ return this.name.isComplex(); }; return Param; - })(); - exports.Splat = (function() { - Splat = (function() { - function Splat(name) { - this.name = name.compile ? name : new Literal(name); - return this; - } - return Splat; - })(); + }(); + exports.Splat = Splat = function() { + function Splat(name) { + this.name = name.compile ? name : new Literal(name); + } __extends(Splat, Base); Splat.prototype.children = ['name']; Splat.prototype.isAssignable = YES; @@ -1296,20 +1214,19 @@ return "[" + (base.join(', ')) + "].concat(" + (args.join(', ')) + ")"; }; return Splat; - }).call(this); - exports.While = (function() { - While = (function() { - function While(condition, options) { - this.condition = (options != null ? options.invert : void 0) ? condition.invert() : condition; - this.guard = options != null ? options.guard : void 0; - return this; - } - return While; - })(); + }(); + exports.While = While = function() { + function While(condition, options) { + this.condition = (options != null ? options.invert : void 0) ? condition.invert() : condition; + this.guard = options != null ? options.guard : void 0; + } __extends(While, Base); While.prototype.children = ['condition', 'guard', 'body']; While.prototype.isStatement = YES; - While.prototype.makeReturn = RETURN; + While.prototype.makeReturn = function() { + this.returns = true; + return this; + }; While.prototype.addBody = function(_arg) { this.body = _arg; return this; @@ -1359,29 +1276,25 @@ return code; }; return While; - })(); - exports.Op = (function() { - Op = (function() { - function Op(op, first, second, flip) { - if (op === 'in') { - return new In(first, second); - } - if (op === 'new') { - if (first instanceof Call) { - return first.newInstance(); - } - if (first instanceof Code && first.bound) { - first = new Parens(first); - } - } - this.operator = this.CONVERSIONS[op] || op; - this.first = first; - this.second = second; - this.flip = !!flip; - return this; + }(); + exports.Op = Op = function() { + function Op(op, first, second, flip) { + if (op === 'in') { + return new In(first, second); } - return Op; - })(); + if (op === 'new') { + if (first instanceof Call) { + return first.newInstance(); + } + if (first instanceof Code && first.bound) { + first = new Parens(first); + } + } + this.operator = this.CONVERSIONS[op] || op; + this.first = first; + this.second = second; + this.flip = !!flip; + } __extends(Op, Base); Op.prototype.CONVERSIONS = { '==': '===', @@ -1417,7 +1330,7 @@ }; Op.prototype.unfoldSoak = function(o) { var _ref; - return ((_ref = this.operator) === '++' || _ref === '--' || _ref === 'delete') && If.unfoldSoak(o, this, 'first'); + return ((_ref = this.operator) === '++' || _ref === '--' || _ref === 'delete') && unfoldSoak(o, this, 'first'); }; Op.prototype.compileNode = function(o) { if (this.isUnary()) { @@ -1473,16 +1386,12 @@ return Op.__super__.toString.call(this, idt, this.constructor.name + ' ' + this.operator); }; return Op; - })(); - exports.In = (function() { - In = (function() { - function In(_arg, _arg2) { - this.object = _arg; - this.array = _arg2; - return this; - } - return In; - })(); + }(); + exports.In = In = function() { + function In(_arg, _arg2) { + this.object = _arg; + this.array = _arg2; + } __extends(In, Base); In.prototype.children = ['object', 'array']; In.prototype.invert = NEGATE; @@ -1531,18 +1440,14 @@ return In.__super__.toString.call(this, idt, this.constructor.name + (this.negated ? '!' : '')); }; return In; - })(); - exports.Try = (function() { - Try = (function() { - function Try(_arg, _arg2, _arg3, _arg4) { - this.attempt = _arg; - this.error = _arg2; - this.recovery = _arg3; - this.ensure = _arg4; - return this; - } - return Try; - })(); + }(); + exports.Try = Try = function() { + function Try(_arg, _arg2, _arg3, _arg4) { + this.attempt = _arg; + this.error = _arg2; + this.recovery = _arg3; + this.ensure = _arg4; + } __extends(Try, Base); Try.prototype.children = ['attempt', 'recovery', 'ensure']; Try.prototype.isStatement = YES; @@ -1563,15 +1468,11 @@ return ("" + this.tab + "try {\n" + (this.attempt.compile(o, LEVEL_TOP)) + "\n" + this.tab + "}" + (catchPart || '')) + (this.ensure ? " finally {\n" + (this.ensure.compile(o, LEVEL_TOP)) + "\n" + this.tab + "}" : ''); }; return Try; - })(); - exports.Throw = (function() { - Throw = (function() { - function Throw(_arg) { - this.expression = _arg; - return this; - } - return Throw; - })(); + }(); + exports.Throw = Throw = function() { + function Throw(_arg) { + this.expression = _arg; + } __extends(Throw, Base); Throw.prototype.children = ['expression']; Throw.prototype.isStatement = YES; @@ -1580,15 +1481,11 @@ return this.tab + ("throw " + (this.expression.compile(o)) + ";"); }; return Throw; - })(); - exports.Existence = (function() { - Existence = (function() { - function Existence(_arg) { - this.expression = _arg; - return this; - } - return Existence; - })(); + }(); + exports.Existence = Existence = function() { + function Existence(_arg) { + this.expression = _arg; + } __extends(Existence, Base); Existence.prototype.children = ['expression']; Existence.prototype.invert = NEGATE; @@ -1603,15 +1500,11 @@ } }; return Existence; - })(); - exports.Parens = (function() { - Parens = (function() { - function Parens(_arg) { - this.expression = _arg; - return this; - } - return Parens; - })(); + }(); + exports.Parens = Parens = function() { + function Parens(_arg) { + this.expression = _arg; + } __extends(Parens, Base); Parens.prototype.children = ['expression']; Parens.prototype.unwrap = function() { @@ -1639,25 +1532,24 @@ } }; return Parens; - })(); - exports.For = (function() { - For = (function() { - function For(body, head) { - if (head.index instanceof Value) { - throw SyntaxError('index cannot be a pattern matching expression'); - } - extend(this, head); - this.body = Expressions.wrap([body]); - this.pattern = this.name instanceof Value; - this.returns = false; - return this; + }(); + exports.For = For = function() { + function For(body, head) { + if (head.index instanceof Value) { + throw SyntaxError('index cannot be a pattern matching expression'); } - return For; - })(); + extend(this, head); + this.body = Expressions.wrap([body]); + this.pattern = this.name instanceof Value; + this.returns = false; + } __extends(For, Base); For.prototype.children = ['body', 'source', 'guard', 'step', 'from', 'to']; For.prototype.isStatement = YES; - For.prototype.makeReturn = RETURN; + For.prototype.makeReturn = function() { + this.returns = true; + return this; + }; For.prototype.containsPureStatement = While.prototype.containsPureStatement; For.prototype.compileReturnValue = function(val, o) { if (this.returns) { @@ -1821,17 +1713,13 @@ return defs; }; return For; - })(); - exports.Switch = (function() { - Switch = (function() { - function Switch(_arg, _arg2, _arg3) { - this.subject = _arg; - this.cases = _arg2; - this.otherwise = _arg3; - return this; - } - return Switch; - })(); + }(); + exports.Switch = Switch = function() { + function Switch(_arg, _arg2, _arg3) { + this.subject = _arg; + this.cases = _arg2; + this.otherwise = _arg3; + } __extends(Switch, Base); Switch.prototype.children = ['subject', 'cases', 'otherwise']; Switch.prototype.isStatement = YES; @@ -1885,20 +1773,16 @@ return code + this.tab + '}'; }; return Switch; - })(); - exports.If = (function() { - If = (function() { - function If(condition, _arg, options) { - this.body = _arg; - options == null && (options = {}); - this.condition = options.invert ? condition.invert() : condition; - this.elseBody = null; - this.isChain = false; - this.soak = options.soak; - return this; - } - return If; - })(); + }(); + exports.If = If = function() { + function If(condition, _arg, options) { + this.body = _arg; + options == null && (options = {}); + this.condition = options.invert ? condition.invert() : condition; + this.elseBody = null; + this.isChain = false; + this.soak = options.soak; + } __extends(If, Base); If.prototype.children = ['condition', 'body', 'elseBody']; If.prototype.bodyNode = function() { @@ -1974,17 +1858,8 @@ If.prototype.unfoldSoak = function() { return this.soak && this; }; - If.unfoldSoak = function(o, parent, name) { - var ifn; - if (!(ifn = parent[name].unfoldSoak(o))) { - return; - } - parent[name] = ifn.body; - ifn.body = new Value(parent); - return ifn; - }; return If; - }).call(this); + }(); Push = { wrap: function(name, exps) { if (exps.isEmpty() || last(exps.expressions).containsPureStatement()) { @@ -2024,6 +1899,15 @@ return node instanceof Literal && node.value === 'this' || node instanceof Code && node.bound; } }; + unfoldSoak = function(o, parent, name) { + var ifn; + if (!(ifn = parent[name].unfoldSoak(o))) { + return; + } + parent[name] = ifn.body; + ifn.body = new Value(parent); + return ifn; + }; UTILITIES = { "extends": 'function(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor;\n if (typeof parent.extended === "function") parent.extended(child);\n child.__super__ = parent.prototype;\n return child;\n}', bind: 'function(func, context) {\n return function() { return func.apply(context, arguments); };\n}', diff --git a/lib/optparse.js b/lib/optparse.js index c2757261..a2ab4237 100755 --- a/lib/optparse.js +++ b/lib/optparse.js @@ -1,14 +1,10 @@ (function() { var LONG_FLAG, MULTI_FLAG, OPTIONAL, OptionParser, SHORT_FLAG, buildRule, buildRules, normalizeArguments; - exports.OptionParser = (function() { - OptionParser = (function() { - function OptionParser(rules, _arg) { - this.banner = _arg; - this.rules = buildRules(rules); - return this; - } - return OptionParser; - })(); + exports.OptionParser = OptionParser = function() { + function OptionParser(rules, _arg) { + this.banner = _arg; + this.rules = buildRules(rules); + } OptionParser.prototype.parse = function(args) { var arg, i, isOption, matchedRule, options, rule, value, _i, _len, _len2, _ref; options = { @@ -56,7 +52,7 @@ return "\n" + (lines.join('\n')) + "\n"; }; return OptionParser; - })(); + }(); LONG_FLAG = /^(--\w[\w\-]+)/; SHORT_FLAG = /^(-\w)/; MULTI_FLAG = /^-(\w{2,})/; diff --git a/lib/parser.js b/lib/parser.js index f1ee5c29..42437bd6 100755 --- a/lib/parser.js +++ b/lib/parser.js @@ -2,9 +2,9 @@ var parser = (function(){ var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"Root":3,"TERMINATOR":4,"Body":5,"Block":6,"Line":7,"Expression":8,"Statement":9,"Return":10,"Throw":11,"BREAK":12,"CONTINUE":13,"DEBUGGER":14,"Comment":15,"Value":16,"Invocation":17,"Code":18,"Operation":19,"Assign":20,"If":21,"Try":22,"While":23,"For":24,"Switch":25,"Class":26,"INDENT":27,"OUTDENT":28,"Identifier":29,"IDENTIFIER":30,"AlphaNumeric":31,"NUMBER":32,"STRING":33,"Literal":34,"JS":35,"REGEX":36,"BOOL":37,"Assignable":38,"=":39,"AssignObj":40,"ObjAssignable":41,":":42,"ThisProperty":43,"Parenthetical":44,"RETURN":45,"HERECOMMENT":46,"PARAM_START":47,"ParamList":48,"PARAM_END":49,"FuncGlyph":50,"->":51,"=>":52,"OptComma":53,",":54,"Param":55,"ParamVar":56,"...":57,"Array":58,"Object":59,"Splat":60,"SimpleAssignable":61,"Accessor":62,"This":63,".":64,"?.":65,"::":66,"Index":67,"INDEX_START":68,"INDEX_END":69,"INDEX_SOAK":70,"INDEX_PROTO":71,"{":72,"AssignList":73,"}":74,"CLASS":75,"EXTENDS":76,"ClassBody":77,"ClassAssign":78,"OptFuncExist":79,"Arguments":80,"SUPER":81,"FUNC_EXIST":82,"CALL_START":83,"CALL_END":84,"ArgList":85,"THIS":86,"@":87,"[":88,"]":89,"Arg":90,"SimpleArgs":91,"TRY":92,"Catch":93,"FINALLY":94,"CATCH":95,"THROW":96,"(":97,")":98,"WhileSource":99,"WHILE":100,"WHEN":101,"UNTIL":102,"Loop":103,"LOOP":104,"ForBody":105,"ForValue":106,"ForIn":107,"FORIN":108,"BY":109,"ForOf":110,"FOROF":111,"ForTo":112,"TO":113,"FOR":114,"ALL":115,"FROM":116,"SWITCH":117,"Whens":118,"ELSE":119,"When":120,"LEADING_WHEN":121,"IfBlock":122,"IF":123,"UNLESS":124,"POST_IF":125,"POST_UNLESS":126,"UNARY":127,"-":128,"+":129,"--":130,"++":131,"?":132,"MATH":133,"SHIFT":134,"COMPARE":135,"LOGIC":136,"RELATION":137,"COMPOUND_ASSIGN":138,"$accept":0,"$end":1}, -terminals_: {"2":"error","4":"TERMINATOR","12":"BREAK","13":"CONTINUE","14":"DEBUGGER","27":"INDENT","28":"OUTDENT","30":"IDENTIFIER","32":"NUMBER","33":"STRING","35":"JS","36":"REGEX","37":"BOOL","39":"=","42":":","45":"RETURN","46":"HERECOMMENT","47":"PARAM_START","49":"PARAM_END","51":"->","52":"=>","54":",","57":"...","64":".","65":"?.","66":"::","68":"INDEX_START","69":"INDEX_END","70":"INDEX_SOAK","71":"INDEX_PROTO","72":"{","74":"}","75":"CLASS","76":"EXTENDS","81":"SUPER","82":"FUNC_EXIST","83":"CALL_START","84":"CALL_END","86":"THIS","87":"@","88":"[","89":"]","92":"TRY","94":"FINALLY","95":"CATCH","96":"THROW","97":"(","98":")","100":"WHILE","101":"WHEN","102":"UNTIL","104":"LOOP","108":"FORIN","109":"BY","111":"FOROF","113":"TO","114":"FOR","115":"ALL","116":"FROM","117":"SWITCH","119":"ELSE","121":"LEADING_WHEN","123":"IF","124":"UNLESS","125":"POST_IF","126":"POST_UNLESS","127":"UNARY","128":"-","129":"+","130":"--","131":"++","132":"?","133":"MATH","134":"SHIFT","135":"COMPARE","136":"LOGIC","137":"RELATION","138":"COMPOUND_ASSIGN"}, -productions_: [0,[3,0],[3,1],[3,1],[3,2],[5,1],[5,3],[5,2],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[6,3],[6,2],[6,2],[29,1],[31,1],[31,1],[34,1],[34,1],[34,1],[34,1],[20,3],[20,5],[40,1],[40,3],[40,5],[40,1],[40,1],[41,1],[41,1],[41,1],[10,2],[10,1],[15,1],[18,5],[18,2],[50,1],[50,1],[53,0],[53,1],[48,0],[48,1],[48,3],[55,1],[55,2],[55,3],[56,1],[56,1],[56,1],[56,1],[60,2],[61,1],[61,2],[61,2],[61,1],[38,1],[38,1],[38,1],[16,1],[16,1],[16,1],[16,1],[62,2],[62,2],[62,2],[62,1],[62,1],[67,3],[67,2],[67,2],[59,4],[73,0],[73,1],[73,3],[73,4],[73,6],[26,2],[26,4],[26,5],[26,7],[26,4],[26,1],[26,3],[26,6],[78,1],[78,3],[78,5],[77,0],[77,1],[77,3],[77,3],[17,3],[17,3],[17,1],[17,2],[79,0],[79,1],[80,2],[80,4],[63,1],[63,1],[43,2],[58,2],[58,4],[85,1],[85,3],[85,4],[85,4],[85,6],[90,1],[90,1],[91,1],[91,3],[22,2],[22,3],[22,4],[22,5],[93,3],[11,2],[44,3],[99,2],[99,4],[99,2],[99,4],[23,2],[23,2],[23,2],[23,1],[103,2],[103,2],[24,2],[24,2],[24,2],[106,1],[106,1],[106,1],[107,2],[107,4],[107,4],[107,6],[110,2],[110,4],[112,2],[112,4],[112,4],[112,6],[105,3],[105,5],[105,3],[105,5],[105,4],[105,6],[105,5],[25,5],[25,7],[25,4],[25,6],[118,1],[118,2],[120,3],[120,4],[122,3],[122,3],[122,5],[122,3],[21,1],[21,3],[21,3],[21,3],[21,3],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,5],[19,3]], +symbols_: {"error":2,"Root":3,"TERMINATOR":4,"Body":5,"Block":6,"Line":7,"Expression":8,"Statement":9,"Return":10,"Throw":11,"BREAK":12,"CONTINUE":13,"DEBUGGER":14,"Comment":15,"Value":16,"Invocation":17,"Code":18,"Operation":19,"Assign":20,"If":21,"Try":22,"While":23,"For":24,"Switch":25,"Class":26,"INDENT":27,"OUTDENT":28,"Identifier":29,"IDENTIFIER":30,"AlphaNumeric":31,"NUMBER":32,"STRING":33,"Literal":34,"JS":35,"REGEX":36,"BOOL":37,"Assignable":38,"=":39,"AssignObj":40,"ObjAssignable":41,":":42,"ThisProperty":43,"Parenthetical":44,"RETURN":45,"HERECOMMENT":46,"PARAM_START":47,"ParamList":48,"PARAM_END":49,"FuncGlyph":50,"->":51,"=>":52,"OptComma":53,",":54,"Param":55,"ParamVar":56,"...":57,"Array":58,"Object":59,"Splat":60,"SimpleAssignable":61,"Accessor":62,"This":63,".":64,"?.":65,"::":66,"Index":67,"INDEX_START":68,"INDEX_END":69,"INDEX_SOAK":70,"INDEX_PROTO":71,"{":72,"AssignList":73,"}":74,"CLASS":75,"EXTENDS":76,"OptFuncExist":77,"Arguments":78,"SUPER":79,"FUNC_EXIST":80,"CALL_START":81,"CALL_END":82,"ArgList":83,"THIS":84,"@":85,"[":86,"]":87,"Arg":88,"SimpleArgs":89,"TRY":90,"Catch":91,"FINALLY":92,"CATCH":93,"THROW":94,"(":95,")":96,"WhileSource":97,"WHILE":98,"WHEN":99,"UNTIL":100,"Loop":101,"LOOP":102,"ForBody":103,"ForValue":104,"ForIn":105,"FORIN":106,"BY":107,"ForOf":108,"FOROF":109,"ForTo":110,"TO":111,"FOR":112,"ALL":113,"FROM":114,"SWITCH":115,"Whens":116,"ELSE":117,"When":118,"LEADING_WHEN":119,"IfBlock":120,"IF":121,"UNLESS":122,"POST_IF":123,"POST_UNLESS":124,"UNARY":125,"-":126,"+":127,"--":128,"++":129,"?":130,"MATH":131,"SHIFT":132,"COMPARE":133,"LOGIC":134,"RELATION":135,"COMPOUND_ASSIGN":136,"$accept":0,"$end":1}, +terminals_: {"2":"error","4":"TERMINATOR","12":"BREAK","13":"CONTINUE","14":"DEBUGGER","27":"INDENT","28":"OUTDENT","30":"IDENTIFIER","32":"NUMBER","33":"STRING","35":"JS","36":"REGEX","37":"BOOL","39":"=","42":":","45":"RETURN","46":"HERECOMMENT","47":"PARAM_START","49":"PARAM_END","51":"->","52":"=>","54":",","57":"...","64":".","65":"?.","66":"::","68":"INDEX_START","69":"INDEX_END","70":"INDEX_SOAK","71":"INDEX_PROTO","72":"{","74":"}","75":"CLASS","76":"EXTENDS","79":"SUPER","80":"FUNC_EXIST","81":"CALL_START","82":"CALL_END","84":"THIS","85":"@","86":"[","87":"]","90":"TRY","92":"FINALLY","93":"CATCH","94":"THROW","95":"(","96":")","98":"WHILE","99":"WHEN","100":"UNTIL","102":"LOOP","106":"FORIN","107":"BY","109":"FOROF","111":"TO","112":"FOR","113":"ALL","114":"FROM","115":"SWITCH","117":"ELSE","119":"LEADING_WHEN","121":"IF","122":"UNLESS","123":"POST_IF","124":"POST_UNLESS","125":"UNARY","126":"-","127":"+","128":"--","129":"++","130":"?","131":"MATH","132":"SHIFT","133":"COMPARE","134":"LOGIC","135":"RELATION","136":"COMPOUND_ASSIGN"}, +productions_: [0,[3,0],[3,1],[3,1],[3,2],[5,1],[5,3],[5,2],[7,1],[7,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[8,1],[6,3],[6,2],[29,1],[31,1],[31,1],[34,1],[34,1],[34,1],[34,1],[20,3],[20,5],[40,1],[40,3],[40,5],[40,1],[40,1],[41,1],[41,1],[41,1],[10,2],[10,1],[15,1],[18,5],[18,2],[50,1],[50,1],[53,0],[53,1],[48,0],[48,1],[48,3],[55,1],[55,2],[55,3],[56,1],[56,1],[56,1],[56,1],[60,2],[61,1],[61,2],[61,2],[61,1],[38,1],[38,1],[38,1],[16,1],[16,1],[16,1],[16,1],[62,2],[62,2],[62,2],[62,1],[62,1],[67,3],[67,2],[67,2],[59,4],[73,0],[73,1],[73,3],[73,4],[73,6],[26,1],[26,2],[26,3],[26,4],[26,2],[26,3],[26,4],[26,5],[17,3],[17,3],[17,1],[17,2],[77,0],[77,1],[78,2],[78,4],[63,1],[63,1],[43,2],[58,2],[58,4],[83,1],[83,3],[83,4],[83,4],[83,6],[88,1],[88,1],[89,1],[89,3],[22,2],[22,3],[22,4],[22,5],[91,3],[11,2],[44,3],[97,2],[97,4],[97,2],[97,4],[23,2],[23,2],[23,2],[23,1],[101,2],[101,2],[24,2],[24,2],[24,2],[104,1],[104,1],[104,1],[105,2],[105,4],[105,4],[105,6],[108,2],[108,4],[110,2],[110,4],[110,4],[110,6],[103,3],[103,5],[103,3],[103,5],[103,4],[103,6],[103,5],[25,5],[25,7],[25,4],[25,6],[116,1],[116,2],[118,3],[118,4],[120,3],[120,3],[120,5],[120,3],[21,1],[21,3],[21,3],[21,3],[21,3],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,5],[19,3]], performAction: function anonymous(yytext,yyleng,yylineno,yy) { var $$ = arguments[5],$0=arguments[5].length; @@ -65,31 +65,31 @@ case 27:this.$ = $$[$0-3+2-1]; break; case 28:this.$ = new yy.Expressions; break; -case 29:this.$ = yy.Expressions.wrap([$$[$0-2+2-1]]); +case 29:this.$ = new yy.Literal($$[$0-1+1-1]); break; case 30:this.$ = new yy.Literal($$[$0-1+1-1]); break; case 31:this.$ = new yy.Literal($$[$0-1+1-1]); break; -case 32:this.$ = new yy.Literal($$[$0-1+1-1]); +case 32:this.$ = $$[$0-1+1-1]; break; -case 33:this.$ = $$[$0-1+1-1]; +case 33:this.$ = new yy.Literal($$[$0-1+1-1]); break; case 34:this.$ = new yy.Literal($$[$0-1+1-1]); break; -case 35:this.$ = new yy.Literal($$[$0-1+1-1]); +case 35:this.$ = new yy.Literal($$[$0-1+1-1] === 'undefined' ? 'void 0' : $$[$0-1+1-1]); break; -case 36:this.$ = new yy.Literal($$[$0-1+1-1] === 'undefined' ? 'void 0' : $$[$0-1+1-1]); +case 36:this.$ = new yy.Assign($$[$0-3+1-1], $$[$0-3+3-1]); break; -case 37:this.$ = new yy.Assign($$[$0-3+1-1], $$[$0-3+3-1]); +case 37:this.$ = new yy.Assign($$[$0-5+1-1], $$[$0-5+4-1]); break; -case 38:this.$ = new yy.Assign($$[$0-5+1-1], $$[$0-5+4-1]); +case 38:this.$ = new yy.Value($$[$0-1+1-1]); break; -case 39:this.$ = new yy.Value($$[$0-1+1-1]); +case 39:this.$ = new yy.Assign(new yy.Value($$[$0-3+1-1]), $$[$0-3+3-1], 'object'); break; -case 40:this.$ = new yy.Assign(new yy.Value($$[$0-3+1-1]), $$[$0-3+3-1], 'object'); +case 40:this.$ = new yy.Assign(new yy.Value($$[$0-5+1-1]), $$[$0-5+4-1], 'object'); break; -case 41:this.$ = new yy.Assign(new yy.Value($$[$0-5+1-1]), $$[$0-5+4-1], 'object'); +case 41:this.$ = $$[$0-1+1-1]; break; case 42:this.$ = $$[$0-1+1-1]; break; @@ -99,37 +99,37 @@ case 44:this.$ = $$[$0-1+1-1]; break; case 45:this.$ = $$[$0-1+1-1]; break; -case 46:this.$ = $$[$0-1+1-1]; +case 46:this.$ = new yy.Return($$[$0-2+2-1]); break; -case 47:this.$ = new yy.Return($$[$0-2+2-1]); +case 47:this.$ = new yy.Return; break; -case 48:this.$ = new yy.Return; +case 48:this.$ = new yy.Comment($$[$0-1+1-1]); break; -case 49:this.$ = new yy.Comment($$[$0-1+1-1]); +case 49:this.$ = new yy.Code($$[$0-5+2-1], $$[$0-5+5-1], $$[$0-5+4-1]); break; -case 50:this.$ = new yy.Code($$[$0-5+2-1], $$[$0-5+5-1], $$[$0-5+4-1]); +case 50:this.$ = new yy.Code([], $$[$0-2+2-1], $$[$0-2+1-1]); break; -case 51:this.$ = new yy.Code([], $$[$0-2+2-1], $$[$0-2+1-1]); +case 51:this.$ = 'func'; break; -case 52:this.$ = 'func'; +case 52:this.$ = 'boundfunc'; break; -case 53:this.$ = 'boundfunc'; +case 53:this.$ = $$[$0-1+1-1]; break; case 54:this.$ = $$[$0-1+1-1]; break; -case 55:this.$ = $$[$0-1+1-1]; +case 55:this.$ = []; break; -case 56:this.$ = []; +case 56:this.$ = [$$[$0-1+1-1]]; break; -case 57:this.$ = [$$[$0-1+1-1]]; +case 57:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]); break; -case 58:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]); +case 58:this.$ = new yy.Param($$[$0-1+1-1]); break; -case 59:this.$ = new yy.Param($$[$0-1+1-1]); +case 59:this.$ = new yy.Param($$[$0-2+1-1], null, true); break; -case 60:this.$ = new yy.Param($$[$0-2+1-1], null, true); +case 60:this.$ = new yy.Param($$[$0-3+1-1], $$[$0-3+3-1]); break; -case 61:this.$ = new yy.Param($$[$0-3+1-1], $$[$0-3+3-1]); +case 61:this.$ = $$[$0-1+1-1]; break; case 62:this.$ = $$[$0-1+1-1]; break; @@ -137,351 +137,335 @@ case 63:this.$ = $$[$0-1+1-1]; break; case 64:this.$ = $$[$0-1+1-1]; break; -case 65:this.$ = $$[$0-1+1-1]; +case 65:this.$ = new yy.Splat($$[$0-2+1-1]); break; -case 66:this.$ = new yy.Splat($$[$0-2+1-1]); +case 66:this.$ = new yy.Value($$[$0-1+1-1]); break; -case 67:this.$ = new yy.Value($$[$0-1+1-1]); +case 67:this.$ = $$[$0-2+1-1].push($$[$0-2+2-1]); break; -case 68:this.$ = $$[$0-2+1-1].push($$[$0-2+2-1]); +case 68:this.$ = new yy.Value($$[$0-2+1-1], [$$[$0-2+2-1]]); break; -case 69:this.$ = new yy.Value($$[$0-2+1-1], [$$[$0-2+2-1]]); +case 69:this.$ = $$[$0-1+1-1]; break; case 70:this.$ = $$[$0-1+1-1]; break; -case 71:this.$ = $$[$0-1+1-1]; +case 71:this.$ = new yy.Value($$[$0-1+1-1]); break; case 72:this.$ = new yy.Value($$[$0-1+1-1]); break; -case 73:this.$ = new yy.Value($$[$0-1+1-1]); +case 73:this.$ = $$[$0-1+1-1]; break; -case 74:this.$ = $$[$0-1+1-1]; +case 74:this.$ = new yy.Value($$[$0-1+1-1]); break; case 75:this.$ = new yy.Value($$[$0-1+1-1]); break; -case 76:this.$ = new yy.Value($$[$0-1+1-1]); +case 76:this.$ = $$[$0-1+1-1]; break; -case 77:this.$ = $$[$0-1+1-1]; +case 77:this.$ = new yy.Accessor($$[$0-2+2-1]); break; -case 78:this.$ = new yy.Accessor($$[$0-2+2-1]); +case 78:this.$ = new yy.Accessor($$[$0-2+2-1], 'soak'); break; -case 79:this.$ = new yy.Accessor($$[$0-2+2-1], 'soak'); +case 79:this.$ = new yy.Accessor($$[$0-2+2-1], 'proto'); break; -case 80:this.$ = new yy.Accessor($$[$0-2+2-1], 'proto'); +case 80:this.$ = new yy.Accessor(new yy.Literal('prototype')); break; -case 81:this.$ = new yy.Accessor(new yy.Literal('prototype')); +case 81:this.$ = $$[$0-1+1-1]; break; -case 82:this.$ = $$[$0-1+1-1]; +case 82:this.$ = new yy.Index($$[$0-3+2-1]); break; -case 83:this.$ = new yy.Index($$[$0-3+2-1]); -break; -case 84:this.$ = yy.extend($$[$0-2+2-1], { +case 83:this.$ = yy.extend($$[$0-2+2-1], { soak: true }); break; -case 85:this.$ = yy.extend($$[$0-2+2-1], { +case 84:this.$ = yy.extend($$[$0-2+2-1], { proto: true }); break; -case 86:this.$ = new yy.Obj($$[$0-4+2-1]); +case 85:this.$ = new yy.Obj($$[$0-4+2-1]); break; -case 87:this.$ = []; +case 86:this.$ = []; break; -case 88:this.$ = [$$[$0-1+1-1]]; +case 87:this.$ = [$$[$0-1+1-1]]; break; -case 89:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]); +case 88:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]); break; -case 90:this.$ = $$[$0-4+1-1].concat($$[$0-4+4-1]); +case 89:this.$ = $$[$0-4+1-1].concat($$[$0-4+4-1]); break; -case 91:this.$ = $$[$0-6+1-1].concat($$[$0-6+4-1]); +case 90:this.$ = $$[$0-6+1-1].concat($$[$0-6+4-1]); break; -case 92:this.$ = new yy.Class($$[$0-2+2-1]); +case 91:this.$ = new yy.Class; break; -case 93:this.$ = new yy.Class($$[$0-4+2-1], $$[$0-4+4-1]); +case 92:this.$ = new yy.Class(null, null, $$[$0-2+2-1]); break; -case 94:this.$ = new yy.Class($$[$0-5+2-1], null, $$[$0-5+4-1]); +case 93:this.$ = new yy.Class(null, $$[$0-3+3-1]); break; -case 95:this.$ = new yy.Class($$[$0-7+2-1], $$[$0-7+4-1], $$[$0-7+6-1]); +case 94:this.$ = new yy.Class(null, $$[$0-4+3-1], $$[$0-4+4-1]); break; -case 96:this.$ = new yy.Class(null, null, $$[$0-4+3-1]); +case 95:this.$ = new yy.Class($$[$0-2+2-1]); break; -case 97:this.$ = new yy.Class(null, null, new yy.Expressions); +case 96:this.$ = new yy.Class($$[$0-3+2-1], null, $$[$0-3+3-1]); break; -case 98:this.$ = new yy.Class(null, $$[$0-3+3-1], new yy.Expressions); +case 97:this.$ = new yy.Class($$[$0-4+2-1], $$[$0-4+4-1]); break; -case 99:this.$ = new yy.Class(null, $$[$0-6+3-1], $$[$0-6+5-1]); +case 98:this.$ = new yy.Class($$[$0-5+2-1], $$[$0-5+4-1], $$[$0-5+5-1]); break; -case 100:this.$ = $$[$0-1+1-1]; +case 99:this.$ = new yy.Call($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]); break; -case 101:this.$ = new yy.Assign(new yy.Value($$[$0-3+1-1]), $$[$0-3+3-1], 'this'); +case 100:this.$ = new yy.Call($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]); break; -case 102:this.$ = new yy.Assign(new yy.Value($$[$0-5+1-1]), $$[$0-5+4-1], 'this'); +case 101:this.$ = new yy.Call('super', [new yy.Splat(new yy.Literal('arguments'))]); break; -case 103:this.$ = []; +case 102:this.$ = new yy.Call('super', $$[$0-2+2-1]); break; -case 104:this.$ = [$$[$0-1+1-1]]; +case 103:this.$ = false; break; -case 105:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]); +case 104:this.$ = true; break; -case 106:this.$ = $$[$0-3+2-1]; +case 105:this.$ = []; break; -case 107:this.$ = new yy.Call($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]); +case 106:this.$ = $$[$0-4+2-1]; break; -case 108:this.$ = new yy.Call($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]); +case 107:this.$ = new yy.Value(new yy.Literal('this')); break; -case 109:this.$ = new yy.Call('super', [new yy.Splat(new yy.Literal('arguments'))]); +case 108:this.$ = new yy.Value(new yy.Literal('this')); break; -case 110:this.$ = new yy.Call('super', $$[$0-2+2-1]); +case 109:this.$ = new yy.Value(new yy.Literal('this'), [new yy.Accessor($$[$0-2+2-1])], 'this'); break; -case 111:this.$ = false; +case 110:this.$ = new yy.Arr([]); break; -case 112:this.$ = true; +case 111:this.$ = new yy.Arr($$[$0-4+2-1]); break; -case 113:this.$ = []; +case 112:this.$ = [$$[$0-1+1-1]]; break; -case 114:this.$ = $$[$0-4+2-1]; +case 113:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]); break; -case 115:this.$ = new yy.Value(new yy.Literal('this')); +case 114:this.$ = $$[$0-4+1-1].concat($$[$0-4+4-1]); break; -case 116:this.$ = new yy.Value(new yy.Literal('this')); +case 115:this.$ = $$[$0-4+2-1]; break; -case 117:this.$ = new yy.Value(new yy.Literal('this'), [new yy.Accessor($$[$0-2+2-1])], 'this'); +case 116:this.$ = $$[$0-6+1-1].concat($$[$0-6+4-1]); break; -case 118:this.$ = new yy.Arr([]); +case 117:this.$ = $$[$0-1+1-1]; break; -case 119:this.$ = new yy.Arr($$[$0-4+2-1]); +case 118:this.$ = $$[$0-1+1-1]; break; -case 120:this.$ = [$$[$0-1+1-1]]; +case 119:this.$ = $$[$0-1+1-1]; break; -case 121:this.$ = $$[$0-3+1-1].concat($$[$0-3+3-1]); +case 120:this.$ = [].concat($$[$0-3+1-1], $$[$0-3+3-1]); break; -case 122:this.$ = $$[$0-4+1-1].concat($$[$0-4+4-1]); +case 121:this.$ = new yy.Try($$[$0-2+2-1]); break; -case 123:this.$ = $$[$0-4+2-1]; +case 122:this.$ = new yy.Try($$[$0-3+2-1], $$[$0-3+3-1][0], $$[$0-3+3-1][1]); break; -case 124:this.$ = $$[$0-6+1-1].concat($$[$0-6+4-1]); +case 123:this.$ = new yy.Try($$[$0-4+2-1], null, null, $$[$0-4+4-1]); break; -case 125:this.$ = $$[$0-1+1-1]; +case 124:this.$ = new yy.Try($$[$0-5+2-1], $$[$0-5+3-1][0], $$[$0-5+3-1][1], $$[$0-5+5-1]); break; -case 126:this.$ = $$[$0-1+1-1]; +case 125:this.$ = [$$[$0-3+2-1], $$[$0-3+3-1]]; break; -case 127:this.$ = $$[$0-1+1-1]; +case 126:this.$ = new yy.Throw($$[$0-2+2-1]); break; -case 128:this.$ = [].concat($$[$0-3+1-1], $$[$0-3+3-1]); +case 127:this.$ = new yy.Parens($$[$0-3+2-1]); break; -case 129:this.$ = new yy.Try($$[$0-2+2-1]); +case 128:this.$ = new yy.While($$[$0-2+2-1]); break; -case 130:this.$ = new yy.Try($$[$0-3+2-1], $$[$0-3+3-1][0], $$[$0-3+3-1][1]); -break; -case 131:this.$ = new yy.Try($$[$0-4+2-1], null, null, $$[$0-4+4-1]); -break; -case 132:this.$ = new yy.Try($$[$0-5+2-1], $$[$0-5+3-1][0], $$[$0-5+3-1][1], $$[$0-5+5-1]); -break; -case 133:this.$ = [$$[$0-3+2-1], $$[$0-3+3-1]]; -break; -case 134:this.$ = new yy.Throw($$[$0-2+2-1]); -break; -case 135:this.$ = new yy.Parens($$[$0-3+2-1]); -break; -case 136:this.$ = new yy.While($$[$0-2+2-1]); -break; -case 137:this.$ = new yy.While($$[$0-4+2-1], { +case 129:this.$ = new yy.While($$[$0-4+2-1], { guard: $$[$0-4+4-1] }); break; -case 138:this.$ = new yy.While($$[$0-2+2-1], { +case 130:this.$ = new yy.While($$[$0-2+2-1], { invert: true }); break; -case 139:this.$ = new yy.While($$[$0-4+2-1], { +case 131:this.$ = new yy.While($$[$0-4+2-1], { invert: true, guard: $$[$0-4+4-1] }); break; -case 140:this.$ = $$[$0-2+1-1].addBody($$[$0-2+2-1]); +case 132:this.$ = $$[$0-2+1-1].addBody($$[$0-2+2-1]); break; -case 141:this.$ = $$[$0-2+2-1].addBody(yy.Expressions.wrap([$$[$0-2+1-1]])); +case 133:this.$ = $$[$0-2+2-1].addBody(yy.Expressions.wrap([$$[$0-2+1-1]])); break; -case 142:this.$ = $$[$0-2+2-1].addBody(yy.Expressions.wrap([$$[$0-2+1-1]])); +case 134:this.$ = $$[$0-2+2-1].addBody(yy.Expressions.wrap([$$[$0-2+1-1]])); break; -case 143:this.$ = $$[$0-1+1-1]; +case 135:this.$ = $$[$0-1+1-1]; break; -case 144:this.$ = new yy.While(new yy.Literal('true')).addBody($$[$0-2+2-1]); +case 136:this.$ = new yy.While(new yy.Literal('true')).addBody($$[$0-2+2-1]); break; -case 145:this.$ = new yy.While(new yy.Literal('true')).addBody(yy.Expressions.wrap([$$[$0-2+2-1]])); +case 137:this.$ = new yy.While(new yy.Literal('true')).addBody(yy.Expressions.wrap([$$[$0-2+2-1]])); break; -case 146:this.$ = new yy.For($$[$0-2+1-1], $$[$0-2+2-1]); +case 138:this.$ = new yy.For($$[$0-2+1-1], $$[$0-2+2-1]); break; -case 147:this.$ = new yy.For($$[$0-2+1-1], $$[$0-2+2-1]); +case 139:this.$ = new yy.For($$[$0-2+1-1], $$[$0-2+2-1]); break; -case 148:this.$ = new yy.For($$[$0-2+2-1], $$[$0-2+1-1]); +case 140:this.$ = new yy.For($$[$0-2+2-1], $$[$0-2+1-1]); break; -case 149:this.$ = $$[$0-1+1-1]; +case 141:this.$ = $$[$0-1+1-1]; break; -case 150:this.$ = new yy.Value($$[$0-1+1-1]); +case 142:this.$ = new yy.Value($$[$0-1+1-1]); break; -case 151:this.$ = new yy.Value($$[$0-1+1-1]); +case 143:this.$ = new yy.Value($$[$0-1+1-1]); break; -case 152:this.$ = { +case 144:this.$ = { source: $$[$0-2+2-1] }; break; -case 153:this.$ = { +case 145:this.$ = { source: $$[$0-4+2-1], guard: $$[$0-4+4-1] }; break; -case 154:this.$ = { +case 146:this.$ = { source: $$[$0-4+2-1], step: $$[$0-4+4-1] }; break; -case 155:this.$ = { +case 147:this.$ = { source: $$[$0-6+2-1], step: $$[$0-6+4-1], guard: $$[$0-6+6-1] }; break; -case 156:this.$ = { +case 148:this.$ = { object: true, source: $$[$0-2+2-1] }; break; -case 157:this.$ = { +case 149:this.$ = { object: true, source: $$[$0-4+2-1], guard: $$[$0-4+4-1] }; break; -case 158:this.$ = { +case 150:this.$ = { to: $$[$0-2+2-1] }; break; -case 159:this.$ = { +case 151:this.$ = { to: $$[$0-4+2-1], guard: $$[$0-4+4-1] }; break; -case 160:this.$ = { +case 152:this.$ = { to: $$[$0-4+2-1], step: $$[$0-4+4-1] }; break; -case 161:this.$ = { +case 153:this.$ = { to: $$[$0-6+2-1], step: $$[$0-6+4-1], guard: $$[$0-6+6-1] }; break; -case 162:this.$ = yy.extend($$[$0-3+3-1], { +case 154:this.$ = yy.extend($$[$0-3+3-1], { name: $$[$0-3+2-1] }); break; -case 163:this.$ = yy.extend($$[$0-5+5-1], { +case 155:this.$ = yy.extend($$[$0-5+5-1], { name: $$[$0-5+2-1], index: $$[$0-5+4-1] }); break; -case 164:this.$ = yy.extend($$[$0-3+3-1], { +case 156:this.$ = yy.extend($$[$0-3+3-1], { index: $$[$0-3+2-1] }); break; -case 165:this.$ = yy.extend($$[$0-5+5-1], { +case 157:this.$ = yy.extend($$[$0-5+5-1], { index: $$[$0-5+2-1], name: $$[$0-5+4-1] }); break; -case 166:this.$ = yy.extend($$[$0-4+4-1], { +case 158:this.$ = yy.extend($$[$0-4+4-1], { raw: true, index: $$[$0-4+3-1] }); break; -case 167:this.$ = yy.extend($$[$0-6+6-1], { +case 159:this.$ = yy.extend($$[$0-6+6-1], { raw: true, index: $$[$0-6+3-1], name: $$[$0-6+5-1] }); break; -case 168:this.$ = yy.extend($$[$0-5+5-1], { +case 160:this.$ = yy.extend($$[$0-5+5-1], { index: $$[$0-5+2-1], from: $$[$0-5+4-1] }); break; -case 169:this.$ = new yy.Switch($$[$0-5+2-1], $$[$0-5+4-1]); +case 161:this.$ = new yy.Switch($$[$0-5+2-1], $$[$0-5+4-1]); break; -case 170:this.$ = new yy.Switch($$[$0-7+2-1], $$[$0-7+4-1], $$[$0-7+6-1]); +case 162:this.$ = new yy.Switch($$[$0-7+2-1], $$[$0-7+4-1], $$[$0-7+6-1]); break; -case 171:this.$ = new yy.Switch(null, $$[$0-4+3-1]); +case 163:this.$ = new yy.Switch(null, $$[$0-4+3-1]); break; -case 172:this.$ = new yy.Switch(null, $$[$0-6+3-1], $$[$0-6+5-1]); +case 164:this.$ = new yy.Switch(null, $$[$0-6+3-1], $$[$0-6+5-1]); +break; +case 165:this.$ = $$[$0-1+1-1]; +break; +case 166:this.$ = $$[$0-2+1-1].concat($$[$0-2+2-1]); +break; +case 167:this.$ = [[$$[$0-3+2-1], $$[$0-3+3-1]]]; +break; +case 168:this.$ = [[$$[$0-4+2-1], $$[$0-4+3-1]]]; +break; +case 169:this.$ = new yy.If($$[$0-3+2-1], $$[$0-3+3-1]); +break; +case 170:this.$ = new yy.If($$[$0-3+2-1], $$[$0-3+3-1], { + invert: true + }); +break; +case 171:this.$ = $$[$0-5+1-1].addElse(new yy.If($$[$0-5+4-1], $$[$0-5+5-1])); +break; +case 172:this.$ = $$[$0-3+1-1].addElse($$[$0-3+3-1]); break; case 173:this.$ = $$[$0-1+1-1]; break; -case 174:this.$ = $$[$0-2+1-1].concat($$[$0-2+2-1]); -break; -case 175:this.$ = [[$$[$0-3+2-1], $$[$0-3+3-1]]]; -break; -case 176:this.$ = [[$$[$0-4+2-1], $$[$0-4+3-1]]]; -break; -case 177:this.$ = new yy.If($$[$0-3+2-1], $$[$0-3+3-1]); -break; -case 178:this.$ = new yy.If($$[$0-3+2-1], $$[$0-3+3-1], { - invert: true - }); -break; -case 179:this.$ = $$[$0-5+1-1].addElse(new yy.If($$[$0-5+4-1], $$[$0-5+5-1])); -break; -case 180:this.$ = $$[$0-3+1-1].addElse($$[$0-3+3-1]); -break; -case 181:this.$ = $$[$0-1+1-1]; -break; -case 182:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { +case 174:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { statement: true }); break; -case 183:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { +case 175:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { statement: true }); break; -case 184:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { +case 176:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { statement: true, invert: true }); break; -case 185:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { +case 177:this.$ = new yy.If($$[$0-3+3-1], yy.Expressions.wrap([$$[$0-3+1-1]]), { statement: true, invert: true }); break; -case 186:this.$ = new yy.Op($$[$0-2+1-1], $$[$0-2+2-1]); +case 178:this.$ = new yy.Op($$[$0-2+1-1], $$[$0-2+2-1]); break; -case 187:this.$ = new yy.Op('-', $$[$0-2+2-1]); +case 179:this.$ = new yy.Op('-', $$[$0-2+2-1]); break; -case 188:this.$ = new yy.Op('+', $$[$0-2+2-1]); +case 180:this.$ = new yy.Op('+', $$[$0-2+2-1]); break; -case 189:this.$ = new yy.Op('--', $$[$0-2+2-1]); +case 181:this.$ = new yy.Op('--', $$[$0-2+2-1]); break; -case 190:this.$ = new yy.Op('++', $$[$0-2+2-1]); +case 182:this.$ = new yy.Op('++', $$[$0-2+2-1]); break; -case 191:this.$ = new yy.Op('--', $$[$0-2+1-1], null, true); +case 183:this.$ = new yy.Op('--', $$[$0-2+1-1], null, true); break; -case 192:this.$ = new yy.Op('++', $$[$0-2+1-1], null, true); +case 184:this.$ = new yy.Op('++', $$[$0-2+1-1], null, true); break; -case 193:this.$ = new yy.Existence($$[$0-2+1-1]); +case 185:this.$ = new yy.Existence($$[$0-2+1-1]); break; -case 194:this.$ = new yy.Op('+', $$[$0-3+1-1], $$[$0-3+3-1]); +case 186:this.$ = new yy.Op('+', $$[$0-3+1-1], $$[$0-3+3-1]); break; -case 195:this.$ = new yy.Op('-', $$[$0-3+1-1], $$[$0-3+3-1]); +case 187:this.$ = new yy.Op('-', $$[$0-3+1-1], $$[$0-3+3-1]); break; -case 196:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); +case 188:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); break; -case 197:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); +case 189:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); break; -case 198:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); +case 190:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); break; -case 199:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); +case 191:this.$ = new yy.Op($$[$0-3+2-1], $$[$0-3+1-1], $$[$0-3+3-1]); break; -case 200:this.$ = (function () { +case 192:this.$ = (function () { if ($$[$0-3+2-1].charAt(0) === '!') { return new yy.Op($$[$0-3+2-1].slice(1), $$[$0-3+1-1], $$[$0-3+3-1]).invert(); } else { @@ -489,16 +473,16 @@ case 200:this.$ = (function () { } }()); break; -case 201:this.$ = new yy.Assign($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]); +case 193:this.$ = new yy.Assign($$[$0-3+1-1], $$[$0-3+3-1], $$[$0-3+2-1]); break; -case 202:this.$ = new yy.Assign($$[$0-5+1-1], $$[$0-5+4-1], $$[$0-5+2-1]); +case 194:this.$ = new yy.Assign($$[$0-5+1-1], $$[$0-5+4-1], $$[$0-5+2-1]); break; -case 203:this.$ = new yy.Extends($$[$0-3+1-1], $$[$0-3+3-1]); +case 195:this.$ = new yy.Extends($$[$0-3+1-1], $$[$0-3+3-1]); break; } }, -table: [{"1":[2,1],"3":1,"4":[1,2],"5":3,"6":4,"7":5,"8":7,"9":8,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,6],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[3]},{"1":[2,2],"15":73,"46":[1,48]},{"1":[2,3],"4":[1,74]},{"4":[1,75]},{"1":[2,5],"4":[2,5],"28":[2,5]},{"5":76,"7":5,"8":7,"9":8,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"28":[1,77],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,8],"4":[2,8],"28":[2,8],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,9],"4":[2,9],"28":[2,9],"99":92,"100":[1,64],"102":[1,65],"105":93,"114":[1,67],"125":[1,90],"126":[1,91]},{"1":[2,16],"4":[2,16],"27":[2,16],"28":[2,16],"49":[2,16],"54":[2,16],"57":[2,16],"62":95,"64":[1,97],"65":[1,98],"66":[1,99],"67":100,"68":[1,101],"69":[2,16],"70":[1,102],"71":[1,103],"74":[2,16],"79":94,"82":[1,96],"83":[2,111],"84":[2,16],"89":[2,16],"98":[2,16],"100":[2,16],"101":[2,16],"102":[2,16],"109":[2,16],"113":[2,16],"114":[2,16],"125":[2,16],"126":[2,16],"128":[2,16],"129":[2,16],"132":[2,16],"133":[2,16],"134":[2,16],"135":[2,16],"136":[2,16],"137":[2,16]},{"1":[2,17],"4":[2,17],"27":[2,17],"28":[2,17],"49":[2,17],"54":[2,17],"57":[2,17],"62":105,"64":[1,97],"65":[1,98],"66":[1,99],"67":100,"68":[1,101],"69":[2,17],"70":[1,102],"71":[1,103],"74":[2,17],"79":104,"82":[1,96],"83":[2,111],"84":[2,17],"89":[2,17],"98":[2,17],"100":[2,17],"101":[2,17],"102":[2,17],"109":[2,17],"113":[2,17],"114":[2,17],"125":[2,17],"126":[2,17],"128":[2,17],"129":[2,17],"132":[2,17],"133":[2,17],"134":[2,17],"135":[2,17],"136":[2,17],"137":[2,17]},{"1":[2,18],"4":[2,18],"27":[2,18],"28":[2,18],"49":[2,18],"54":[2,18],"57":[2,18],"69":[2,18],"74":[2,18],"84":[2,18],"89":[2,18],"98":[2,18],"100":[2,18],"101":[2,18],"102":[2,18],"109":[2,18],"113":[2,18],"114":[2,18],"125":[2,18],"126":[2,18],"128":[2,18],"129":[2,18],"132":[2,18],"133":[2,18],"134":[2,18],"135":[2,18],"136":[2,18],"137":[2,18]},{"1":[2,19],"4":[2,19],"27":[2,19],"28":[2,19],"49":[2,19],"54":[2,19],"57":[2,19],"69":[2,19],"74":[2,19],"84":[2,19],"89":[2,19],"98":[2,19],"100":[2,19],"101":[2,19],"102":[2,19],"109":[2,19],"113":[2,19],"114":[2,19],"125":[2,19],"126":[2,19],"128":[2,19],"129":[2,19],"132":[2,19],"133":[2,19],"134":[2,19],"135":[2,19],"136":[2,19],"137":[2,19]},{"1":[2,20],"4":[2,20],"27":[2,20],"28":[2,20],"49":[2,20],"54":[2,20],"57":[2,20],"69":[2,20],"74":[2,20],"84":[2,20],"89":[2,20],"98":[2,20],"100":[2,20],"101":[2,20],"102":[2,20],"109":[2,20],"113":[2,20],"114":[2,20],"125":[2,20],"126":[2,20],"128":[2,20],"129":[2,20],"132":[2,20],"133":[2,20],"134":[2,20],"135":[2,20],"136":[2,20],"137":[2,20]},{"1":[2,21],"4":[2,21],"27":[2,21],"28":[2,21],"49":[2,21],"54":[2,21],"57":[2,21],"69":[2,21],"74":[2,21],"84":[2,21],"89":[2,21],"98":[2,21],"100":[2,21],"101":[2,21],"102":[2,21],"109":[2,21],"113":[2,21],"114":[2,21],"125":[2,21],"126":[2,21],"128":[2,21],"129":[2,21],"132":[2,21],"133":[2,21],"134":[2,21],"135":[2,21],"136":[2,21],"137":[2,21]},{"1":[2,22],"4":[2,22],"27":[2,22],"28":[2,22],"49":[2,22],"54":[2,22],"57":[2,22],"69":[2,22],"74":[2,22],"84":[2,22],"89":[2,22],"98":[2,22],"100":[2,22],"101":[2,22],"102":[2,22],"109":[2,22],"113":[2,22],"114":[2,22],"125":[2,22],"126":[2,22],"128":[2,22],"129":[2,22],"132":[2,22],"133":[2,22],"134":[2,22],"135":[2,22],"136":[2,22],"137":[2,22]},{"1":[2,23],"4":[2,23],"27":[2,23],"28":[2,23],"49":[2,23],"54":[2,23],"57":[2,23],"69":[2,23],"74":[2,23],"84":[2,23],"89":[2,23],"98":[2,23],"100":[2,23],"101":[2,23],"102":[2,23],"109":[2,23],"113":[2,23],"114":[2,23],"125":[2,23],"126":[2,23],"128":[2,23],"129":[2,23],"132":[2,23],"133":[2,23],"134":[2,23],"135":[2,23],"136":[2,23],"137":[2,23]},{"1":[2,24],"4":[2,24],"27":[2,24],"28":[2,24],"49":[2,24],"54":[2,24],"57":[2,24],"69":[2,24],"74":[2,24],"84":[2,24],"89":[2,24],"98":[2,24],"100":[2,24],"101":[2,24],"102":[2,24],"109":[2,24],"113":[2,24],"114":[2,24],"125":[2,24],"126":[2,24],"128":[2,24],"129":[2,24],"132":[2,24],"133":[2,24],"134":[2,24],"135":[2,24],"136":[2,24],"137":[2,24]},{"1":[2,25],"4":[2,25],"27":[2,25],"28":[2,25],"49":[2,25],"54":[2,25],"57":[2,25],"69":[2,25],"74":[2,25],"84":[2,25],"89":[2,25],"98":[2,25],"100":[2,25],"101":[2,25],"102":[2,25],"109":[2,25],"113":[2,25],"114":[2,25],"125":[2,25],"126":[2,25],"128":[2,25],"129":[2,25],"132":[2,25],"133":[2,25],"134":[2,25],"135":[2,25],"136":[2,25],"137":[2,25]},{"1":[2,26],"4":[2,26],"27":[2,26],"28":[2,26],"49":[2,26],"54":[2,26],"57":[2,26],"69":[2,26],"74":[2,26],"84":[2,26],"89":[2,26],"98":[2,26],"100":[2,26],"101":[2,26],"102":[2,26],"109":[2,26],"113":[2,26],"114":[2,26],"125":[2,26],"126":[2,26],"128":[2,26],"129":[2,26],"132":[2,26],"133":[2,26],"134":[2,26],"135":[2,26],"136":[2,26],"137":[2,26]},{"1":[2,10],"4":[2,10],"28":[2,10],"100":[2,10],"102":[2,10],"114":[2,10],"125":[2,10],"126":[2,10]},{"1":[2,11],"4":[2,11],"28":[2,11],"100":[2,11],"102":[2,11],"114":[2,11],"125":[2,11],"126":[2,11]},{"1":[2,12],"4":[2,12],"28":[2,12],"100":[2,12],"102":[2,12],"114":[2,12],"125":[2,12],"126":[2,12]},{"1":[2,13],"4":[2,13],"28":[2,13],"100":[2,13],"102":[2,13],"114":[2,13],"125":[2,13],"126":[2,13]},{"1":[2,14],"4":[2,14],"28":[2,14],"100":[2,14],"102":[2,14],"114":[2,14],"125":[2,14],"126":[2,14]},{"1":[2,15],"4":[2,15],"28":[2,15],"100":[2,15],"102":[2,15],"114":[2,15],"125":[2,15],"126":[2,15]},{"1":[2,74],"4":[2,74],"27":[2,74],"28":[2,74],"39":[1,106],"49":[2,74],"54":[2,74],"57":[2,74],"64":[2,74],"65":[2,74],"66":[2,74],"68":[2,74],"69":[2,74],"70":[2,74],"71":[2,74],"74":[2,74],"82":[2,74],"83":[2,74],"84":[2,74],"89":[2,74],"98":[2,74],"100":[2,74],"101":[2,74],"102":[2,74],"109":[2,74],"113":[2,74],"114":[2,74],"125":[2,74],"126":[2,74],"128":[2,74],"129":[2,74],"132":[2,74],"133":[2,74],"134":[2,74],"135":[2,74],"136":[2,74],"137":[2,74]},{"1":[2,75],"4":[2,75],"27":[2,75],"28":[2,75],"49":[2,75],"54":[2,75],"57":[2,75],"64":[2,75],"65":[2,75],"66":[2,75],"68":[2,75],"69":[2,75],"70":[2,75],"71":[2,75],"74":[2,75],"82":[2,75],"83":[2,75],"84":[2,75],"89":[2,75],"98":[2,75],"100":[2,75],"101":[2,75],"102":[2,75],"109":[2,75],"113":[2,75],"114":[2,75],"125":[2,75],"126":[2,75],"128":[2,75],"129":[2,75],"132":[2,75],"133":[2,75],"134":[2,75],"135":[2,75],"136":[2,75],"137":[2,75]},{"1":[2,76],"4":[2,76],"27":[2,76],"28":[2,76],"49":[2,76],"54":[2,76],"57":[2,76],"64":[2,76],"65":[2,76],"66":[2,76],"68":[2,76],"69":[2,76],"70":[2,76],"71":[2,76],"74":[2,76],"82":[2,76],"83":[2,76],"84":[2,76],"89":[2,76],"98":[2,76],"100":[2,76],"101":[2,76],"102":[2,76],"109":[2,76],"113":[2,76],"114":[2,76],"125":[2,76],"126":[2,76],"128":[2,76],"129":[2,76],"132":[2,76],"133":[2,76],"134":[2,76],"135":[2,76],"136":[2,76],"137":[2,76]},{"1":[2,77],"4":[2,77],"27":[2,77],"28":[2,77],"49":[2,77],"54":[2,77],"57":[2,77],"64":[2,77],"65":[2,77],"66":[2,77],"68":[2,77],"69":[2,77],"70":[2,77],"71":[2,77],"74":[2,77],"82":[2,77],"83":[2,77],"84":[2,77],"89":[2,77],"98":[2,77],"100":[2,77],"101":[2,77],"102":[2,77],"109":[2,77],"113":[2,77],"114":[2,77],"125":[2,77],"126":[2,77],"128":[2,77],"129":[2,77],"132":[2,77],"133":[2,77],"134":[2,77],"135":[2,77],"136":[2,77],"137":[2,77]},{"1":[2,109],"4":[2,109],"27":[2,109],"28":[2,109],"49":[2,109],"54":[2,109],"57":[2,109],"64":[2,109],"65":[2,109],"66":[2,109],"68":[2,109],"69":[2,109],"70":[2,109],"71":[2,109],"74":[2,109],"80":107,"82":[2,109],"83":[1,108],"84":[2,109],"89":[2,109],"98":[2,109],"100":[2,109],"101":[2,109],"102":[2,109],"109":[2,109],"113":[2,109],"114":[2,109],"125":[2,109],"126":[2,109],"128":[2,109],"129":[2,109],"132":[2,109],"133":[2,109],"134":[2,109],"135":[2,109],"136":[2,109],"137":[2,109]},{"29":112,"30":[1,72],"43":113,"48":109,"49":[2,56],"54":[2,56],"55":110,"56":111,"58":114,"59":115,"72":[1,69],"87":[1,116],"88":[1,68]},{"4":[1,118],"6":117,"27":[1,6]},{"8":119,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":121,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":122,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"16":124,"17":125,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":126,"43":61,"44":28,"58":49,"59":50,"61":123,"63":29,"72":[1,69],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"97":[1,55]},{"16":124,"17":125,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":126,"43":61,"44":28,"58":49,"59":50,"61":127,"63":29,"72":[1,69],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"97":[1,55]},{"1":[2,71],"4":[2,71],"27":[2,71],"28":[2,71],"39":[2,71],"49":[2,71],"54":[2,71],"57":[2,71],"64":[2,71],"65":[2,71],"66":[2,71],"68":[2,71],"69":[2,71],"70":[2,71],"71":[2,71],"74":[2,71],"76":[1,131],"82":[2,71],"83":[2,71],"84":[2,71],"89":[2,71],"98":[2,71],"100":[2,71],"101":[2,71],"102":[2,71],"109":[2,71],"113":[2,71],"114":[2,71],"125":[2,71],"126":[2,71],"128":[2,71],"129":[2,71],"130":[1,128],"131":[1,129],"132":[2,71],"133":[2,71],"134":[2,71],"135":[2,71],"136":[2,71],"137":[2,71],"138":[1,130]},{"1":[2,181],"4":[2,181],"27":[2,181],"28":[2,181],"49":[2,181],"54":[2,181],"57":[2,181],"69":[2,181],"74":[2,181],"84":[2,181],"89":[2,181],"98":[2,181],"100":[2,181],"101":[2,181],"102":[2,181],"109":[2,181],"113":[2,181],"114":[2,181],"119":[1,132],"125":[2,181],"126":[2,181],"128":[2,181],"129":[2,181],"132":[2,181],"133":[2,181],"134":[2,181],"135":[2,181],"136":[2,181],"137":[2,181]},{"4":[1,118],"6":133,"27":[1,6]},{"4":[1,118],"6":134,"27":[1,6]},{"1":[2,143],"4":[2,143],"27":[2,143],"28":[2,143],"49":[2,143],"54":[2,143],"57":[2,143],"69":[2,143],"74":[2,143],"84":[2,143],"89":[2,143],"98":[2,143],"100":[2,143],"101":[2,143],"102":[2,143],"109":[2,143],"113":[2,143],"114":[2,143],"125":[2,143],"126":[2,143],"128":[2,143],"129":[2,143],"132":[2,143],"133":[2,143],"134":[2,143],"135":[2,143],"136":[2,143],"137":[2,143]},{"4":[1,118],"6":135,"27":[1,6]},{"8":136,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,137],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,97],"4":[2,97],"16":124,"17":125,"27":[1,139],"28":[2,97],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":126,"43":61,"44":28,"49":[2,97],"54":[2,97],"57":[2,97],"58":49,"59":50,"61":138,"63":29,"69":[2,97],"72":[1,69],"74":[2,97],"76":[1,140],"81":[1,30],"84":[2,97],"86":[1,56],"87":[1,57],"88":[1,68],"89":[2,97],"97":[1,55],"98":[2,97],"100":[2,97],"101":[2,97],"102":[2,97],"109":[2,97],"113":[2,97],"114":[2,97],"125":[2,97],"126":[2,97],"128":[2,97],"129":[2,97],"132":[2,97],"133":[2,97],"134":[2,97],"135":[2,97],"136":[2,97],"137":[2,97]},{"1":[2,48],"4":[2,48],"8":141,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"28":[2,48],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[2,48],"102":[2,48],"103":42,"104":[1,66],"105":43,"114":[2,48],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"125":[2,48],"126":[2,48],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":142,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,49],"4":[2,49],"27":[2,49],"28":[2,49],"49":[2,49],"54":[2,49],"57":[2,49],"69":[2,49],"74":[2,49],"84":[2,49],"89":[2,49],"94":[2,49],"95":[2,49],"98":[2,49],"100":[2,49],"101":[2,49],"102":[2,49],"109":[2,49],"113":[2,49],"114":[2,49],"119":[2,49],"121":[2,49],"125":[2,49],"126":[2,49],"128":[2,49],"129":[2,49],"132":[2,49],"133":[2,49],"134":[2,49],"135":[2,49],"136":[2,49],"137":[2,49]},{"1":[2,72],"4":[2,72],"27":[2,72],"28":[2,72],"39":[2,72],"49":[2,72],"54":[2,72],"57":[2,72],"64":[2,72],"65":[2,72],"66":[2,72],"68":[2,72],"69":[2,72],"70":[2,72],"71":[2,72],"74":[2,72],"82":[2,72],"83":[2,72],"84":[2,72],"89":[2,72],"98":[2,72],"100":[2,72],"101":[2,72],"102":[2,72],"109":[2,72],"113":[2,72],"114":[2,72],"125":[2,72],"126":[2,72],"128":[2,72],"129":[2,72],"132":[2,72],"133":[2,72],"134":[2,72],"135":[2,72],"136":[2,72],"137":[2,72]},{"1":[2,73],"4":[2,73],"27":[2,73],"28":[2,73],"39":[2,73],"49":[2,73],"54":[2,73],"57":[2,73],"64":[2,73],"65":[2,73],"66":[2,73],"68":[2,73],"69":[2,73],"70":[2,73],"71":[2,73],"74":[2,73],"82":[2,73],"83":[2,73],"84":[2,73],"89":[2,73],"98":[2,73],"100":[2,73],"101":[2,73],"102":[2,73],"109":[2,73],"113":[2,73],"114":[2,73],"125":[2,73],"126":[2,73],"128":[2,73],"129":[2,73],"132":[2,73],"133":[2,73],"134":[2,73],"135":[2,73],"136":[2,73],"137":[2,73]},{"1":[2,33],"4":[2,33],"27":[2,33],"28":[2,33],"49":[2,33],"54":[2,33],"57":[2,33],"64":[2,33],"65":[2,33],"66":[2,33],"68":[2,33],"69":[2,33],"70":[2,33],"71":[2,33],"74":[2,33],"82":[2,33],"83":[2,33],"84":[2,33],"89":[2,33],"98":[2,33],"100":[2,33],"101":[2,33],"102":[2,33],"109":[2,33],"113":[2,33],"114":[2,33],"125":[2,33],"126":[2,33],"128":[2,33],"129":[2,33],"132":[2,33],"133":[2,33],"134":[2,33],"135":[2,33],"136":[2,33],"137":[2,33]},{"1":[2,34],"4":[2,34],"27":[2,34],"28":[2,34],"49":[2,34],"54":[2,34],"57":[2,34],"64":[2,34],"65":[2,34],"66":[2,34],"68":[2,34],"69":[2,34],"70":[2,34],"71":[2,34],"74":[2,34],"82":[2,34],"83":[2,34],"84":[2,34],"89":[2,34],"98":[2,34],"100":[2,34],"101":[2,34],"102":[2,34],"109":[2,34],"113":[2,34],"114":[2,34],"125":[2,34],"126":[2,34],"128":[2,34],"129":[2,34],"132":[2,34],"133":[2,34],"134":[2,34],"135":[2,34],"136":[2,34],"137":[2,34]},{"1":[2,35],"4":[2,35],"27":[2,35],"28":[2,35],"49":[2,35],"54":[2,35],"57":[2,35],"64":[2,35],"65":[2,35],"66":[2,35],"68":[2,35],"69":[2,35],"70":[2,35],"71":[2,35],"74":[2,35],"82":[2,35],"83":[2,35],"84":[2,35],"89":[2,35],"98":[2,35],"100":[2,35],"101":[2,35],"102":[2,35],"109":[2,35],"113":[2,35],"114":[2,35],"125":[2,35],"126":[2,35],"128":[2,35],"129":[2,35],"132":[2,35],"133":[2,35],"134":[2,35],"135":[2,35],"136":[2,35],"137":[2,35]},{"1":[2,36],"4":[2,36],"27":[2,36],"28":[2,36],"49":[2,36],"54":[2,36],"57":[2,36],"64":[2,36],"65":[2,36],"66":[2,36],"68":[2,36],"69":[2,36],"70":[2,36],"71":[2,36],"74":[2,36],"82":[2,36],"83":[2,36],"84":[2,36],"89":[2,36],"98":[2,36],"100":[2,36],"101":[2,36],"102":[2,36],"109":[2,36],"113":[2,36],"114":[2,36],"125":[2,36],"126":[2,36],"128":[2,36],"129":[2,36],"132":[2,36],"133":[2,36],"134":[2,36],"135":[2,36],"136":[2,36],"137":[2,36]},{"8":143,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,115],"4":[2,115],"27":[2,115],"28":[2,115],"49":[2,115],"54":[2,115],"57":[2,115],"64":[2,115],"65":[2,115],"66":[2,115],"68":[2,115],"69":[2,115],"70":[2,115],"71":[2,115],"74":[2,115],"82":[2,115],"83":[2,115],"84":[2,115],"89":[2,115],"98":[2,115],"100":[2,115],"101":[2,115],"102":[2,115],"109":[2,115],"113":[2,115],"114":[2,115],"125":[2,115],"126":[2,115],"128":[2,115],"129":[2,115],"132":[2,115],"133":[2,115],"134":[2,115],"135":[2,115],"136":[2,115],"137":[2,115]},{"1":[2,116],"4":[2,116],"27":[2,116],"28":[2,116],"29":144,"30":[1,72],"49":[2,116],"54":[2,116],"57":[2,116],"64":[2,116],"65":[2,116],"66":[2,116],"68":[2,116],"69":[2,116],"70":[2,116],"71":[2,116],"74":[2,116],"82":[2,116],"83":[2,116],"84":[2,116],"89":[2,116],"98":[2,116],"100":[2,116],"101":[2,116],"102":[2,116],"109":[2,116],"113":[2,116],"114":[2,116],"125":[2,116],"126":[2,116],"128":[2,116],"129":[2,116],"132":[2,116],"133":[2,116],"134":[2,116],"135":[2,116],"136":[2,116],"137":[2,116]},{"4":[2,52],"27":[2,52]},{"4":[2,53],"27":[2,53]},{"1":[2,67],"4":[2,67],"27":[2,67],"28":[2,67],"39":[2,67],"49":[2,67],"54":[2,67],"57":[2,67],"64":[2,67],"65":[2,67],"66":[2,67],"68":[2,67],"69":[2,67],"70":[2,67],"71":[2,67],"74":[2,67],"76":[2,67],"82":[2,67],"83":[2,67],"84":[2,67],"89":[2,67],"98":[2,67],"100":[2,67],"101":[2,67],"102":[2,67],"109":[2,67],"113":[2,67],"114":[2,67],"125":[2,67],"126":[2,67],"128":[2,67],"129":[2,67],"130":[2,67],"131":[2,67],"132":[2,67],"133":[2,67],"134":[2,67],"135":[2,67],"136":[2,67],"137":[2,67],"138":[2,67]},{"1":[2,70],"4":[2,70],"27":[2,70],"28":[2,70],"39":[2,70],"49":[2,70],"54":[2,70],"57":[2,70],"64":[2,70],"65":[2,70],"66":[2,70],"68":[2,70],"69":[2,70],"70":[2,70],"71":[2,70],"74":[2,70],"76":[2,70],"82":[2,70],"83":[2,70],"84":[2,70],"89":[2,70],"98":[2,70],"100":[2,70],"101":[2,70],"102":[2,70],"109":[2,70],"113":[2,70],"114":[2,70],"125":[2,70],"126":[2,70],"128":[2,70],"129":[2,70],"130":[2,70],"131":[2,70],"132":[2,70],"133":[2,70],"134":[2,70],"135":[2,70],"136":[2,70],"137":[2,70],"138":[2,70]},{"8":145,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":146,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":147,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":148,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[1,118],"6":149,"8":150,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,6],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"29":152,"30":[1,72],"58":154,"59":155,"72":[1,69],"88":[1,68],"106":151,"115":[1,153]},{"8":160,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,159],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":161,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"85":157,"86":[1,56],"87":[1,57],"88":[1,68],"89":[1,156],"90":158,"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[2,87],"15":166,"27":[2,87],"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":163,"41":164,"43":165,"44":169,"46":[1,48],"54":[2,87],"73":162,"74":[2,87],"87":[1,116],"97":[1,55]},{"1":[2,31],"4":[2,31],"27":[2,31],"28":[2,31],"42":[2,31],"49":[2,31],"54":[2,31],"57":[2,31],"64":[2,31],"65":[2,31],"66":[2,31],"68":[2,31],"69":[2,31],"70":[2,31],"71":[2,31],"74":[2,31],"82":[2,31],"83":[2,31],"84":[2,31],"89":[2,31],"98":[2,31],"100":[2,31],"101":[2,31],"102":[2,31],"109":[2,31],"113":[2,31],"114":[2,31],"125":[2,31],"126":[2,31],"128":[2,31],"129":[2,31],"132":[2,31],"133":[2,31],"134":[2,31],"135":[2,31],"136":[2,31],"137":[2,31]},{"1":[2,32],"4":[2,32],"27":[2,32],"28":[2,32],"42":[2,32],"49":[2,32],"54":[2,32],"57":[2,32],"64":[2,32],"65":[2,32],"66":[2,32],"68":[2,32],"69":[2,32],"70":[2,32],"71":[2,32],"74":[2,32],"82":[2,32],"83":[2,32],"84":[2,32],"89":[2,32],"98":[2,32],"100":[2,32],"101":[2,32],"102":[2,32],"109":[2,32],"113":[2,32],"114":[2,32],"125":[2,32],"126":[2,32],"128":[2,32],"129":[2,32],"132":[2,32],"133":[2,32],"134":[2,32],"135":[2,32],"136":[2,32],"137":[2,32]},{"1":[2,30],"4":[2,30],"27":[2,30],"28":[2,30],"39":[2,30],"42":[2,30],"49":[2,30],"54":[2,30],"57":[2,30],"64":[2,30],"65":[2,30],"66":[2,30],"68":[2,30],"69":[2,30],"70":[2,30],"71":[2,30],"74":[2,30],"76":[2,30],"82":[2,30],"83":[2,30],"84":[2,30],"89":[2,30],"98":[2,30],"100":[2,30],"101":[2,30],"102":[2,30],"108":[2,30],"109":[2,30],"111":[2,30],"113":[2,30],"114":[2,30],"116":[2,30],"125":[2,30],"126":[2,30],"128":[2,30],"129":[2,30],"130":[2,30],"131":[2,30],"132":[2,30],"133":[2,30],"134":[2,30],"135":[2,30],"136":[2,30],"137":[2,30],"138":[2,30]},{"1":[2,29],"4":[2,29],"27":[2,29],"28":[2,29],"49":[2,29],"54":[2,29],"57":[2,29],"69":[2,29],"74":[2,29],"84":[2,29],"89":[2,29],"94":[2,29],"95":[2,29],"98":[2,29],"100":[2,29],"101":[2,29],"102":[2,29],"109":[2,29],"113":[2,29],"114":[2,29],"119":[2,29],"121":[2,29],"125":[2,29],"126":[2,29],"128":[2,29],"129":[2,29],"132":[2,29],"133":[2,29],"134":[2,29],"135":[2,29],"136":[2,29],"137":[2,29]},{"1":[2,7],"4":[2,7],"7":170,"8":7,"9":8,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"28":[2,7],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,4]},{"4":[1,74],"28":[1,171]},{"1":[2,28],"4":[2,28],"27":[2,28],"28":[2,28],"49":[2,28],"54":[2,28],"57":[2,28],"69":[2,28],"74":[2,28],"84":[2,28],"89":[2,28],"94":[2,28],"95":[2,28],"98":[2,28],"100":[2,28],"101":[2,28],"102":[2,28],"109":[2,28],"113":[2,28],"114":[2,28],"119":[2,28],"121":[2,28],"125":[2,28],"126":[2,28],"128":[2,28],"129":[2,28],"132":[2,28],"133":[2,28],"134":[2,28],"135":[2,28],"136":[2,28],"137":[2,28]},{"1":[2,193],"4":[2,193],"27":[2,193],"28":[2,193],"49":[2,193],"54":[2,193],"57":[2,193],"69":[2,193],"74":[2,193],"84":[2,193],"89":[2,193],"98":[2,193],"100":[2,193],"101":[2,193],"102":[2,193],"109":[2,193],"113":[2,193],"114":[2,193],"125":[2,193],"126":[2,193],"128":[2,193],"129":[2,193],"132":[2,193],"133":[2,193],"134":[2,193],"135":[2,193],"136":[2,193],"137":[2,193]},{"8":172,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":173,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":174,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":175,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":176,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":177,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":178,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":179,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":180,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,142],"4":[2,142],"27":[2,142],"28":[2,142],"49":[2,142],"54":[2,142],"57":[2,142],"69":[2,142],"74":[2,142],"84":[2,142],"89":[2,142],"98":[2,142],"100":[2,142],"101":[2,142],"102":[2,142],"109":[2,142],"113":[2,142],"114":[2,142],"125":[2,142],"126":[2,142],"128":[2,142],"129":[2,142],"132":[2,142],"133":[2,142],"134":[2,142],"135":[2,142],"136":[2,142],"137":[2,142]},{"1":[2,147],"4":[2,147],"27":[2,147],"28":[2,147],"49":[2,147],"54":[2,147],"57":[2,147],"69":[2,147],"74":[2,147],"84":[2,147],"89":[2,147],"98":[2,147],"100":[2,147],"101":[2,147],"102":[2,147],"109":[2,147],"113":[2,147],"114":[2,147],"125":[2,147],"126":[2,147],"128":[2,147],"129":[2,147],"132":[2,147],"133":[2,147],"134":[2,147],"135":[2,147],"136":[2,147],"137":[2,147]},{"8":181,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":182,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,141],"4":[2,141],"27":[2,141],"28":[2,141],"49":[2,141],"54":[2,141],"57":[2,141],"69":[2,141],"74":[2,141],"84":[2,141],"89":[2,141],"98":[2,141],"100":[2,141],"101":[2,141],"102":[2,141],"109":[2,141],"113":[2,141],"114":[2,141],"125":[2,141],"126":[2,141],"128":[2,141],"129":[2,141],"132":[2,141],"133":[2,141],"134":[2,141],"135":[2,141],"136":[2,141],"137":[2,141]},{"1":[2,146],"4":[2,146],"27":[2,146],"28":[2,146],"49":[2,146],"54":[2,146],"57":[2,146],"69":[2,146],"74":[2,146],"84":[2,146],"89":[2,146],"98":[2,146],"100":[2,146],"101":[2,146],"102":[2,146],"109":[2,146],"113":[2,146],"114":[2,146],"125":[2,146],"126":[2,146],"128":[2,146],"129":[2,146],"132":[2,146],"133":[2,146],"134":[2,146],"135":[2,146],"136":[2,146],"137":[2,146]},{"80":183,"83":[1,108]},{"1":[2,68],"4":[2,68],"27":[2,68],"28":[2,68],"39":[2,68],"49":[2,68],"54":[2,68],"57":[2,68],"64":[2,68],"65":[2,68],"66":[2,68],"68":[2,68],"69":[2,68],"70":[2,68],"71":[2,68],"74":[2,68],"76":[2,68],"82":[2,68],"83":[2,68],"84":[2,68],"89":[2,68],"98":[2,68],"100":[2,68],"101":[2,68],"102":[2,68],"109":[2,68],"113":[2,68],"114":[2,68],"125":[2,68],"126":[2,68],"128":[2,68],"129":[2,68],"130":[2,68],"131":[2,68],"132":[2,68],"133":[2,68],"134":[2,68],"135":[2,68],"136":[2,68],"137":[2,68],"138":[2,68]},{"83":[2,112]},{"29":184,"30":[1,72]},{"29":185,"30":[1,72]},{"1":[2,81],"4":[2,81],"27":[2,81],"28":[2,81],"29":186,"30":[1,72],"39":[2,81],"49":[2,81],"54":[2,81],"57":[2,81],"64":[2,81],"65":[2,81],"66":[2,81],"68":[2,81],"69":[2,81],"70":[2,81],"71":[2,81],"74":[2,81],"76":[2,81],"82":[2,81],"83":[2,81],"84":[2,81],"89":[2,81],"98":[2,81],"100":[2,81],"101":[2,81],"102":[2,81],"109":[2,81],"113":[2,81],"114":[2,81],"125":[2,81],"126":[2,81],"128":[2,81],"129":[2,81],"130":[2,81],"131":[2,81],"132":[2,81],"133":[2,81],"134":[2,81],"135":[2,81],"136":[2,81],"137":[2,81],"138":[2,81]},{"1":[2,82],"4":[2,82],"27":[2,82],"28":[2,82],"39":[2,82],"49":[2,82],"54":[2,82],"57":[2,82],"64":[2,82],"65":[2,82],"66":[2,82],"68":[2,82],"69":[2,82],"70":[2,82],"71":[2,82],"74":[2,82],"76":[2,82],"82":[2,82],"83":[2,82],"84":[2,82],"89":[2,82],"98":[2,82],"100":[2,82],"101":[2,82],"102":[2,82],"109":[2,82],"113":[2,82],"114":[2,82],"125":[2,82],"126":[2,82],"128":[2,82],"129":[2,82],"130":[2,82],"131":[2,82],"132":[2,82],"133":[2,82],"134":[2,82],"135":[2,82],"136":[2,82],"137":[2,82],"138":[2,82]},{"8":187,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"67":188,"68":[1,101],"70":[1,102],"71":[1,103]},{"67":189,"68":[1,101],"70":[1,102],"71":[1,103]},{"80":190,"83":[1,108]},{"1":[2,69],"4":[2,69],"27":[2,69],"28":[2,69],"39":[2,69],"49":[2,69],"54":[2,69],"57":[2,69],"64":[2,69],"65":[2,69],"66":[2,69],"68":[2,69],"69":[2,69],"70":[2,69],"71":[2,69],"74":[2,69],"76":[2,69],"82":[2,69],"83":[2,69],"84":[2,69],"89":[2,69],"98":[2,69],"100":[2,69],"101":[2,69],"102":[2,69],"109":[2,69],"113":[2,69],"114":[2,69],"125":[2,69],"126":[2,69],"128":[2,69],"129":[2,69],"130":[2,69],"131":[2,69],"132":[2,69],"133":[2,69],"134":[2,69],"135":[2,69],"136":[2,69],"137":[2,69],"138":[2,69]},{"8":191,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,192],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,110],"4":[2,110],"27":[2,110],"28":[2,110],"49":[2,110],"54":[2,110],"57":[2,110],"64":[2,110],"65":[2,110],"66":[2,110],"68":[2,110],"69":[2,110],"70":[2,110],"71":[2,110],"74":[2,110],"82":[2,110],"83":[2,110],"84":[2,110],"89":[2,110],"98":[2,110],"100":[2,110],"101":[2,110],"102":[2,110],"109":[2,110],"113":[2,110],"114":[2,110],"125":[2,110],"126":[2,110],"128":[2,110],"129":[2,110],"132":[2,110],"133":[2,110],"134":[2,110],"135":[2,110],"136":[2,110],"137":[2,110]},{"8":160,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,159],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":161,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"84":[1,193],"85":194,"86":[1,56],"87":[1,57],"88":[1,68],"90":158,"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"49":[1,195],"54":[1,196]},{"49":[2,57],"54":[2,57]},{"39":[1,198],"49":[2,59],"54":[2,59],"57":[1,197]},{"39":[2,62],"49":[2,62],"54":[2,62],"57":[2,62]},{"39":[2,63],"49":[2,63],"54":[2,63],"57":[2,63]},{"39":[2,64],"49":[2,64],"54":[2,64],"57":[2,64]},{"39":[2,65],"49":[2,65],"54":[2,65],"57":[2,65]},{"29":144,"30":[1,72]},{"1":[2,51],"4":[2,51],"27":[2,51],"28":[2,51],"49":[2,51],"54":[2,51],"57":[2,51],"69":[2,51],"74":[2,51],"84":[2,51],"89":[2,51],"98":[2,51],"100":[2,51],"101":[2,51],"102":[2,51],"109":[2,51],"113":[2,51],"114":[2,51],"125":[2,51],"126":[2,51],"128":[2,51],"129":[2,51],"132":[2,51],"133":[2,51],"134":[2,51],"135":[2,51],"136":[2,51],"137":[2,51]},{"15":73,"46":[1,48]},{"1":[2,186],"4":[2,186],"27":[2,186],"28":[2,186],"49":[2,186],"54":[2,186],"57":[2,186],"69":[2,186],"74":[2,186],"84":[2,186],"89":[2,186],"98":[2,186],"99":88,"100":[2,186],"101":[2,186],"102":[2,186],"105":89,"109":[2,186],"113":[2,186],"114":[2,186],"125":[2,186],"126":[2,186],"128":[2,186],"129":[2,186],"132":[1,78],"133":[2,186],"134":[2,186],"135":[2,186],"136":[2,186],"137":[2,186]},{"99":92,"100":[1,64],"102":[1,65],"105":93,"114":[1,67],"125":[1,90],"126":[1,91]},{"1":[2,187],"4":[2,187],"27":[2,187],"28":[2,187],"49":[2,187],"54":[2,187],"57":[2,187],"69":[2,187],"74":[2,187],"84":[2,187],"89":[2,187],"98":[2,187],"99":88,"100":[2,187],"101":[2,187],"102":[2,187],"105":89,"109":[2,187],"113":[2,187],"114":[2,187],"125":[2,187],"126":[2,187],"128":[2,187],"129":[2,187],"132":[1,78],"133":[2,187],"134":[2,187],"135":[2,187],"136":[2,187],"137":[2,187]},{"1":[2,188],"4":[2,188],"27":[2,188],"28":[2,188],"49":[2,188],"54":[2,188],"57":[2,188],"69":[2,188],"74":[2,188],"84":[2,188],"89":[2,188],"98":[2,188],"99":88,"100":[2,188],"101":[2,188],"102":[2,188],"105":89,"109":[2,188],"113":[2,188],"114":[2,188],"125":[2,188],"126":[2,188],"128":[2,188],"129":[2,188],"132":[1,78],"133":[2,188],"134":[2,188],"135":[2,188],"136":[2,188],"137":[2,188]},{"1":[2,189],"4":[2,189],"27":[2,189],"28":[2,189],"49":[2,189],"54":[2,189],"57":[2,189],"64":[2,71],"65":[2,71],"66":[2,71],"68":[2,71],"69":[2,189],"70":[2,71],"71":[2,71],"74":[2,189],"82":[2,71],"83":[2,71],"84":[2,189],"89":[2,189],"98":[2,189],"100":[2,189],"101":[2,189],"102":[2,189],"109":[2,189],"113":[2,189],"114":[2,189],"125":[2,189],"126":[2,189],"128":[2,189],"129":[2,189],"132":[2,189],"133":[2,189],"134":[2,189],"135":[2,189],"136":[2,189],"137":[2,189]},{"62":95,"64":[1,97],"65":[1,98],"66":[1,99],"67":100,"68":[1,101],"70":[1,102],"71":[1,103],"79":94,"82":[1,96],"83":[2,111]},{"62":105,"64":[1,97],"65":[1,98],"66":[1,99],"67":100,"68":[1,101],"70":[1,102],"71":[1,103],"79":104,"82":[1,96],"83":[2,111]},{"1":[2,74],"4":[2,74],"27":[2,74],"28":[2,74],"49":[2,74],"54":[2,74],"57":[2,74],"64":[2,74],"65":[2,74],"66":[2,74],"68":[2,74],"69":[2,74],"70":[2,74],"71":[2,74],"74":[2,74],"82":[2,74],"83":[2,74],"84":[2,74],"89":[2,74],"98":[2,74],"100":[2,74],"101":[2,74],"102":[2,74],"109":[2,74],"113":[2,74],"114":[2,74],"125":[2,74],"126":[2,74],"128":[2,74],"129":[2,74],"132":[2,74],"133":[2,74],"134":[2,74],"135":[2,74],"136":[2,74],"137":[2,74]},{"1":[2,190],"4":[2,190],"27":[2,190],"28":[2,190],"49":[2,190],"54":[2,190],"57":[2,190],"64":[2,71],"65":[2,71],"66":[2,71],"68":[2,71],"69":[2,190],"70":[2,71],"71":[2,71],"74":[2,190],"82":[2,71],"83":[2,71],"84":[2,190],"89":[2,190],"98":[2,190],"100":[2,190],"101":[2,190],"102":[2,190],"109":[2,190],"113":[2,190],"114":[2,190],"125":[2,190],"126":[2,190],"128":[2,190],"129":[2,190],"132":[2,190],"133":[2,190],"134":[2,190],"135":[2,190],"136":[2,190],"137":[2,190]},{"1":[2,191],"4":[2,191],"27":[2,191],"28":[2,191],"49":[2,191],"54":[2,191],"57":[2,191],"69":[2,191],"74":[2,191],"84":[2,191],"89":[2,191],"98":[2,191],"100":[2,191],"101":[2,191],"102":[2,191],"109":[2,191],"113":[2,191],"114":[2,191],"125":[2,191],"126":[2,191],"128":[2,191],"129":[2,191],"132":[2,191],"133":[2,191],"134":[2,191],"135":[2,191],"136":[2,191],"137":[2,191]},{"1":[2,192],"4":[2,192],"27":[2,192],"28":[2,192],"49":[2,192],"54":[2,192],"57":[2,192],"69":[2,192],"74":[2,192],"84":[2,192],"89":[2,192],"98":[2,192],"100":[2,192],"101":[2,192],"102":[2,192],"109":[2,192],"113":[2,192],"114":[2,192],"125":[2,192],"126":[2,192],"128":[2,192],"129":[2,192],"132":[2,192],"133":[2,192],"134":[2,192],"135":[2,192],"136":[2,192],"137":[2,192]},{"8":199,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,200],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":201,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[1,118],"6":203,"27":[1,6],"123":[1,202]},{"1":[2,129],"4":[2,129],"27":[2,129],"28":[2,129],"49":[2,129],"54":[2,129],"57":[2,129],"69":[2,129],"74":[2,129],"84":[2,129],"89":[2,129],"93":204,"94":[1,205],"95":[1,206],"98":[2,129],"100":[2,129],"101":[2,129],"102":[2,129],"109":[2,129],"113":[2,129],"114":[2,129],"125":[2,129],"126":[2,129],"128":[2,129],"129":[2,129],"132":[2,129],"133":[2,129],"134":[2,129],"135":[2,129],"136":[2,129],"137":[2,129]},{"1":[2,140],"4":[2,140],"27":[2,140],"28":[2,140],"49":[2,140],"54":[2,140],"57":[2,140],"69":[2,140],"74":[2,140],"84":[2,140],"89":[2,140],"98":[2,140],"100":[2,140],"101":[2,140],"102":[2,140],"109":[2,140],"113":[2,140],"114":[2,140],"125":[2,140],"126":[2,140],"128":[2,140],"129":[2,140],"132":[2,140],"133":[2,140],"134":[2,140],"135":[2,140],"136":[2,140],"137":[2,140]},{"1":[2,148],"4":[2,148],"27":[2,148],"28":[2,148],"49":[2,148],"54":[2,148],"57":[2,148],"69":[2,148],"74":[2,148],"84":[2,148],"89":[2,148],"98":[2,148],"100":[2,148],"101":[2,148],"102":[2,148],"109":[2,148],"113":[2,148],"114":[2,148],"125":[2,148],"126":[2,148],"128":[2,148],"129":[2,148],"132":[2,148],"133":[2,148],"134":[2,148],"135":[2,148],"136":[2,148],"137":[2,148]},{"27":[1,207],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"118":208,"120":209,"121":[1,210]},{"1":[2,92],"4":[2,92],"27":[1,212],"28":[2,92],"49":[2,92],"54":[2,92],"57":[2,92],"64":[2,71],"65":[2,71],"66":[2,71],"68":[2,71],"69":[2,92],"70":[2,71],"71":[2,71],"74":[2,92],"76":[1,211],"82":[2,71],"83":[2,71],"84":[2,92],"89":[2,92],"98":[2,92],"100":[2,92],"101":[2,92],"102":[2,92],"109":[2,92],"113":[2,92],"114":[2,92],"125":[2,92],"126":[2,92],"128":[2,92],"129":[2,92],"132":[2,92],"133":[2,92],"134":[2,92],"135":[2,92],"136":[2,92],"137":[2,92]},{"4":[2,103],"15":166,"28":[2,103],"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":216,"41":164,"43":217,"44":169,"46":[1,48],"72":[1,215],"77":213,"78":214,"87":[1,116],"97":[1,55]},{"16":218,"17":125,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":126,"43":61,"44":28,"58":49,"59":50,"61":219,"63":29,"72":[1,69],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"97":[1,55]},{"1":[2,47],"4":[2,47],"28":[2,47],"99":88,"100":[2,47],"102":[2,47],"105":89,"114":[2,47],"125":[2,47],"126":[2,47],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,134],"4":[2,134],"28":[2,134],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[2,134],"126":[2,134],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"98":[1,220],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,117],"4":[2,117],"27":[2,117],"28":[2,117],"39":[2,117],"42":[2,117],"49":[2,117],"54":[2,117],"57":[2,117],"64":[2,117],"65":[2,117],"66":[2,117],"68":[2,117],"69":[2,117],"70":[2,117],"71":[2,117],"74":[2,117],"76":[2,117],"82":[2,117],"83":[2,117],"84":[2,117],"89":[2,117],"98":[2,117],"100":[2,117],"101":[2,117],"102":[2,117],"109":[2,117],"113":[2,117],"114":[2,117],"125":[2,117],"126":[2,117],"128":[2,117],"129":[2,117],"130":[2,117],"131":[2,117],"132":[2,117],"133":[2,117],"134":[2,117],"135":[2,117],"136":[2,117],"137":[2,117],"138":[2,117]},{"4":[1,118],"6":221,"27":[1,6],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"4":[1,118],"6":222,"27":[1,6],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,136],"4":[2,136],"27":[2,136],"28":[2,136],"49":[2,136],"54":[2,136],"57":[2,136],"69":[2,136],"74":[2,136],"84":[2,136],"89":[2,136],"98":[2,136],"99":88,"100":[1,64],"101":[1,223],"102":[1,65],"105":89,"109":[2,136],"113":[2,136],"114":[1,67],"125":[2,136],"126":[2,136],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,138],"4":[2,138],"27":[2,138],"28":[2,138],"49":[2,138],"54":[2,138],"57":[2,138],"69":[2,138],"74":[2,138],"84":[2,138],"89":[2,138],"98":[2,138],"99":88,"100":[1,64],"101":[1,224],"102":[1,65],"105":89,"109":[2,138],"113":[2,138],"114":[1,67],"125":[2,138],"126":[2,138],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,144],"4":[2,144],"27":[2,144],"28":[2,144],"49":[2,144],"54":[2,144],"57":[2,144],"69":[2,144],"74":[2,144],"84":[2,144],"89":[2,144],"98":[2,144],"100":[2,144],"101":[2,144],"102":[2,144],"109":[2,144],"113":[2,144],"114":[2,144],"125":[2,144],"126":[2,144],"128":[2,144],"129":[2,144],"132":[2,144],"133":[2,144],"134":[2,144],"135":[2,144],"136":[2,144],"137":[2,144]},{"1":[2,145],"4":[2,145],"27":[2,145],"28":[2,145],"49":[2,145],"54":[2,145],"57":[2,145],"69":[2,145],"74":[2,145],"84":[2,145],"89":[2,145],"98":[2,145],"99":88,"100":[1,64],"101":[2,145],"102":[1,65],"105":89,"109":[2,145],"113":[2,145],"114":[1,67],"125":[2,145],"126":[2,145],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"54":[1,226],"107":225,"108":[1,227]},{"54":[2,149],"108":[2,149],"110":228,"111":[1,230],"116":[1,229]},{"29":231,"30":[1,72]},{"54":[2,150],"108":[2,150],"111":[2,150]},{"54":[2,151],"108":[2,151],"111":[2,151]},{"1":[2,118],"4":[2,118],"27":[2,118],"28":[2,118],"39":[2,118],"49":[2,118],"54":[2,118],"57":[2,118],"64":[2,118],"65":[2,118],"66":[2,118],"68":[2,118],"69":[2,118],"70":[2,118],"71":[2,118],"74":[2,118],"82":[2,118],"83":[2,118],"84":[2,118],"89":[2,118],"98":[2,118],"100":[2,118],"101":[2,118],"102":[2,118],"108":[2,118],"109":[2,118],"111":[2,118],"113":[2,118],"114":[2,118],"125":[2,118],"126":[2,118],"128":[2,118],"129":[2,118],"132":[2,118],"133":[2,118],"134":[2,118],"135":[2,118],"136":[2,118],"137":[2,118]},{"4":[2,54],"27":[2,54],"53":232,"54":[1,233],"89":[2,54]},{"4":[2,120],"27":[2,120],"28":[2,120],"54":[2,120],"84":[2,120],"89":[2,120]},{"8":160,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,159],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":161,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"85":234,"86":[1,56],"87":[1,57],"88":[1,68],"90":158,"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[2,125],"27":[2,125],"28":[2,125],"54":[2,125],"57":[1,235],"84":[2,125],"89":[2,125],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"4":[2,126],"27":[2,126],"28":[2,126],"54":[2,126],"84":[2,126],"89":[2,126]},{"4":[2,54],"27":[2,54],"53":236,"54":[1,237],"74":[2,54]},{"4":[2,88],"27":[2,88],"28":[2,88],"54":[2,88],"74":[2,88]},{"4":[2,39],"27":[2,39],"28":[2,39],"42":[1,238],"54":[2,39],"74":[2,39]},{"4":[2,42],"27":[2,42],"28":[2,42],"54":[2,42],"74":[2,42]},{"4":[2,43],"27":[2,43],"28":[2,43],"54":[2,43],"74":[2,43]},{"4":[2,44],"27":[2,44],"28":[2,44],"42":[2,44],"54":[2,44],"74":[2,44]},{"4":[2,45],"27":[2,45],"28":[2,45],"42":[2,45],"54":[2,45],"74":[2,45]},{"4":[2,46],"27":[2,46],"28":[2,46],"42":[2,46],"54":[2,46],"74":[2,46]},{"1":[2,6],"4":[2,6],"28":[2,6]},{"1":[2,27],"4":[2,27],"27":[2,27],"28":[2,27],"49":[2,27],"54":[2,27],"57":[2,27],"69":[2,27],"74":[2,27],"84":[2,27],"89":[2,27],"94":[2,27],"95":[2,27],"98":[2,27],"100":[2,27],"101":[2,27],"102":[2,27],"109":[2,27],"113":[2,27],"114":[2,27],"119":[2,27],"121":[2,27],"125":[2,27],"126":[2,27],"128":[2,27],"129":[2,27],"132":[2,27],"133":[2,27],"134":[2,27],"135":[2,27],"136":[2,27],"137":[2,27]},{"1":[2,194],"4":[2,194],"27":[2,194],"28":[2,194],"49":[2,194],"54":[2,194],"57":[2,194],"69":[2,194],"74":[2,194],"84":[2,194],"89":[2,194],"98":[2,194],"99":88,"100":[2,194],"101":[2,194],"102":[2,194],"105":89,"109":[2,194],"113":[2,194],"114":[2,194],"125":[2,194],"126":[2,194],"128":[2,194],"129":[2,194],"132":[1,78],"133":[1,81],"134":[2,194],"135":[2,194],"136":[2,194],"137":[2,194]},{"1":[2,195],"4":[2,195],"27":[2,195],"28":[2,195],"49":[2,195],"54":[2,195],"57":[2,195],"69":[2,195],"74":[2,195],"84":[2,195],"89":[2,195],"98":[2,195],"99":88,"100":[2,195],"101":[2,195],"102":[2,195],"105":89,"109":[2,195],"113":[2,195],"114":[2,195],"125":[2,195],"126":[2,195],"128":[2,195],"129":[2,195],"132":[1,78],"133":[1,81],"134":[2,195],"135":[2,195],"136":[2,195],"137":[2,195]},{"1":[2,196],"4":[2,196],"27":[2,196],"28":[2,196],"49":[2,196],"54":[2,196],"57":[2,196],"69":[2,196],"74":[2,196],"84":[2,196],"89":[2,196],"98":[2,196],"99":88,"100":[2,196],"101":[2,196],"102":[2,196],"105":89,"109":[2,196],"113":[2,196],"114":[2,196],"125":[2,196],"126":[2,196],"128":[2,196],"129":[2,196],"132":[1,78],"133":[2,196],"134":[2,196],"135":[2,196],"136":[2,196],"137":[2,196]},{"1":[2,197],"4":[2,197],"27":[2,197],"28":[2,197],"49":[2,197],"54":[2,197],"57":[2,197],"69":[2,197],"74":[2,197],"84":[2,197],"89":[2,197],"98":[2,197],"99":88,"100":[2,197],"101":[2,197],"102":[2,197],"105":89,"109":[2,197],"113":[2,197],"114":[2,197],"125":[2,197],"126":[2,197],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[2,197],"135":[2,197],"136":[2,197],"137":[2,197]},{"1":[2,198],"4":[2,198],"27":[2,198],"28":[2,198],"49":[2,198],"54":[2,198],"57":[2,198],"69":[2,198],"74":[2,198],"84":[2,198],"89":[2,198],"98":[2,198],"99":88,"100":[2,198],"101":[2,198],"102":[2,198],"105":89,"109":[2,198],"113":[2,198],"114":[2,198],"125":[2,198],"126":[2,198],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[2,198],"136":[2,198],"137":[1,85]},{"1":[2,199],"4":[2,199],"27":[2,199],"28":[2,199],"49":[2,199],"54":[2,199],"57":[2,199],"69":[2,199],"74":[2,199],"84":[2,199],"89":[2,199],"98":[2,199],"99":88,"100":[2,199],"101":[2,199],"102":[2,199],"105":89,"109":[2,199],"113":[2,199],"114":[2,199],"125":[2,199],"126":[2,199],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[2,199],"137":[1,85]},{"1":[2,200],"4":[2,200],"27":[2,200],"28":[2,200],"49":[2,200],"54":[2,200],"57":[2,200],"69":[2,200],"74":[2,200],"84":[2,200],"89":[2,200],"98":[2,200],"99":88,"100":[2,200],"101":[2,200],"102":[2,200],"105":89,"109":[2,200],"113":[2,200],"114":[2,200],"125":[2,200],"126":[2,200],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[2,200],"136":[2,200],"137":[2,200]},{"1":[2,183],"4":[2,183],"27":[2,183],"28":[2,183],"49":[2,183],"54":[2,183],"57":[2,183],"69":[2,183],"74":[2,183],"84":[2,183],"89":[2,183],"98":[2,183],"99":88,"100":[1,64],"101":[2,183],"102":[1,65],"105":89,"109":[2,183],"113":[2,183],"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,185],"4":[2,185],"27":[2,185],"28":[2,185],"49":[2,185],"54":[2,185],"57":[2,185],"69":[2,185],"74":[2,185],"84":[2,185],"89":[2,185],"98":[2,185],"99":88,"100":[1,64],"101":[2,185],"102":[1,65],"105":89,"109":[2,185],"113":[2,185],"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,182],"4":[2,182],"27":[2,182],"28":[2,182],"49":[2,182],"54":[2,182],"57":[2,182],"69":[2,182],"74":[2,182],"84":[2,182],"89":[2,182],"98":[2,182],"99":88,"100":[1,64],"101":[2,182],"102":[1,65],"105":89,"109":[2,182],"113":[2,182],"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,184],"4":[2,184],"27":[2,184],"28":[2,184],"49":[2,184],"54":[2,184],"57":[2,184],"69":[2,184],"74":[2,184],"84":[2,184],"89":[2,184],"98":[2,184],"99":88,"100":[1,64],"101":[2,184],"102":[1,65],"105":89,"109":[2,184],"113":[2,184],"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,107],"4":[2,107],"27":[2,107],"28":[2,107],"49":[2,107],"54":[2,107],"57":[2,107],"64":[2,107],"65":[2,107],"66":[2,107],"68":[2,107],"69":[2,107],"70":[2,107],"71":[2,107],"74":[2,107],"82":[2,107],"83":[2,107],"84":[2,107],"89":[2,107],"98":[2,107],"100":[2,107],"101":[2,107],"102":[2,107],"109":[2,107],"113":[2,107],"114":[2,107],"125":[2,107],"126":[2,107],"128":[2,107],"129":[2,107],"132":[2,107],"133":[2,107],"134":[2,107],"135":[2,107],"136":[2,107],"137":[2,107]},{"1":[2,78],"4":[2,78],"27":[2,78],"28":[2,78],"39":[2,78],"49":[2,78],"54":[2,78],"57":[2,78],"64":[2,78],"65":[2,78],"66":[2,78],"68":[2,78],"69":[2,78],"70":[2,78],"71":[2,78],"74":[2,78],"76":[2,78],"82":[2,78],"83":[2,78],"84":[2,78],"89":[2,78],"98":[2,78],"100":[2,78],"101":[2,78],"102":[2,78],"109":[2,78],"113":[2,78],"114":[2,78],"125":[2,78],"126":[2,78],"128":[2,78],"129":[2,78],"130":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"134":[2,78],"135":[2,78],"136":[2,78],"137":[2,78],"138":[2,78]},{"1":[2,79],"4":[2,79],"27":[2,79],"28":[2,79],"39":[2,79],"49":[2,79],"54":[2,79],"57":[2,79],"64":[2,79],"65":[2,79],"66":[2,79],"68":[2,79],"69":[2,79],"70":[2,79],"71":[2,79],"74":[2,79],"76":[2,79],"82":[2,79],"83":[2,79],"84":[2,79],"89":[2,79],"98":[2,79],"100":[2,79],"101":[2,79],"102":[2,79],"109":[2,79],"113":[2,79],"114":[2,79],"125":[2,79],"126":[2,79],"128":[2,79],"129":[2,79],"130":[2,79],"131":[2,79],"132":[2,79],"133":[2,79],"134":[2,79],"135":[2,79],"136":[2,79],"137":[2,79],"138":[2,79]},{"1":[2,80],"4":[2,80],"27":[2,80],"28":[2,80],"39":[2,80],"49":[2,80],"54":[2,80],"57":[2,80],"64":[2,80],"65":[2,80],"66":[2,80],"68":[2,80],"69":[2,80],"70":[2,80],"71":[2,80],"74":[2,80],"76":[2,80],"82":[2,80],"83":[2,80],"84":[2,80],"89":[2,80],"98":[2,80],"100":[2,80],"101":[2,80],"102":[2,80],"109":[2,80],"113":[2,80],"114":[2,80],"125":[2,80],"126":[2,80],"128":[2,80],"129":[2,80],"130":[2,80],"131":[2,80],"132":[2,80],"133":[2,80],"134":[2,80],"135":[2,80],"136":[2,80],"137":[2,80],"138":[2,80]},{"69":[1,239],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,84],"4":[2,84],"27":[2,84],"28":[2,84],"39":[2,84],"49":[2,84],"54":[2,84],"57":[2,84],"64":[2,84],"65":[2,84],"66":[2,84],"68":[2,84],"69":[2,84],"70":[2,84],"71":[2,84],"74":[2,84],"76":[2,84],"82":[2,84],"83":[2,84],"84":[2,84],"89":[2,84],"98":[2,84],"100":[2,84],"101":[2,84],"102":[2,84],"109":[2,84],"113":[2,84],"114":[2,84],"125":[2,84],"126":[2,84],"128":[2,84],"129":[2,84],"130":[2,84],"131":[2,84],"132":[2,84],"133":[2,84],"134":[2,84],"135":[2,84],"136":[2,84],"137":[2,84],"138":[2,84]},{"1":[2,85],"4":[2,85],"27":[2,85],"28":[2,85],"39":[2,85],"49":[2,85],"54":[2,85],"57":[2,85],"64":[2,85],"65":[2,85],"66":[2,85],"68":[2,85],"69":[2,85],"70":[2,85],"71":[2,85],"74":[2,85],"76":[2,85],"82":[2,85],"83":[2,85],"84":[2,85],"89":[2,85],"98":[2,85],"100":[2,85],"101":[2,85],"102":[2,85],"109":[2,85],"113":[2,85],"114":[2,85],"125":[2,85],"126":[2,85],"128":[2,85],"129":[2,85],"130":[2,85],"131":[2,85],"132":[2,85],"133":[2,85],"134":[2,85],"135":[2,85],"136":[2,85],"137":[2,85],"138":[2,85]},{"1":[2,108],"4":[2,108],"27":[2,108],"28":[2,108],"49":[2,108],"54":[2,108],"57":[2,108],"64":[2,108],"65":[2,108],"66":[2,108],"68":[2,108],"69":[2,108],"70":[2,108],"71":[2,108],"74":[2,108],"82":[2,108],"83":[2,108],"84":[2,108],"89":[2,108],"98":[2,108],"100":[2,108],"101":[2,108],"102":[2,108],"109":[2,108],"113":[2,108],"114":[2,108],"125":[2,108],"126":[2,108],"128":[2,108],"129":[2,108],"132":[2,108],"133":[2,108],"134":[2,108],"135":[2,108],"136":[2,108],"137":[2,108]},{"1":[2,37],"4":[2,37],"27":[2,37],"28":[2,37],"49":[2,37],"54":[2,37],"57":[2,37],"69":[2,37],"74":[2,37],"84":[2,37],"89":[2,37],"98":[2,37],"99":88,"100":[2,37],"101":[2,37],"102":[2,37],"105":89,"109":[2,37],"113":[2,37],"114":[2,37],"125":[2,37],"126":[2,37],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"8":240,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,113],"4":[2,113],"27":[2,113],"28":[2,113],"49":[2,113],"54":[2,113],"57":[2,113],"64":[2,113],"65":[2,113],"66":[2,113],"68":[2,113],"69":[2,113],"70":[2,113],"71":[2,113],"74":[2,113],"82":[2,113],"83":[2,113],"84":[2,113],"89":[2,113],"98":[2,113],"100":[2,113],"101":[2,113],"102":[2,113],"109":[2,113],"113":[2,113],"114":[2,113],"125":[2,113],"126":[2,113],"128":[2,113],"129":[2,113],"132":[2,113],"133":[2,113],"134":[2,113],"135":[2,113],"136":[2,113],"137":[2,113]},{"4":[2,54],"27":[2,54],"53":241,"54":[1,233],"84":[2,54]},{"50":242,"51":[1,58],"52":[1,59]},{"29":112,"30":[1,72],"43":113,"55":243,"56":111,"58":114,"59":115,"72":[1,69],"87":[1,116],"88":[1,68]},{"49":[2,60],"54":[2,60]},{"8":244,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,201],"4":[2,201],"27":[2,201],"28":[2,201],"49":[2,201],"54":[2,201],"57":[2,201],"69":[2,201],"74":[2,201],"84":[2,201],"89":[2,201],"98":[2,201],"99":88,"100":[2,201],"101":[2,201],"102":[2,201],"105":89,"109":[2,201],"113":[2,201],"114":[2,201],"125":[2,201],"126":[2,201],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"8":245,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,203],"4":[2,203],"27":[2,203],"28":[2,203],"49":[2,203],"54":[2,203],"57":[2,203],"69":[2,203],"74":[2,203],"84":[2,203],"89":[2,203],"98":[2,203],"99":88,"100":[2,203],"101":[2,203],"102":[2,203],"105":89,"109":[2,203],"113":[2,203],"114":[2,203],"125":[2,203],"126":[2,203],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"8":246,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,180],"4":[2,180],"27":[2,180],"28":[2,180],"49":[2,180],"54":[2,180],"57":[2,180],"69":[2,180],"74":[2,180],"84":[2,180],"89":[2,180],"98":[2,180],"100":[2,180],"101":[2,180],"102":[2,180],"109":[2,180],"113":[2,180],"114":[2,180],"119":[2,180],"125":[2,180],"126":[2,180],"128":[2,180],"129":[2,180],"132":[2,180],"133":[2,180],"134":[2,180],"135":[2,180],"136":[2,180],"137":[2,180]},{"1":[2,130],"4":[2,130],"27":[2,130],"28":[2,130],"49":[2,130],"54":[2,130],"57":[2,130],"69":[2,130],"74":[2,130],"84":[2,130],"89":[2,130],"94":[1,247],"98":[2,130],"100":[2,130],"101":[2,130],"102":[2,130],"109":[2,130],"113":[2,130],"114":[2,130],"125":[2,130],"126":[2,130],"128":[2,130],"129":[2,130],"132":[2,130],"133":[2,130],"134":[2,130],"135":[2,130],"136":[2,130],"137":[2,130]},{"4":[1,118],"6":248,"27":[1,6]},{"29":249,"30":[1,72]},{"118":250,"120":209,"121":[1,210]},{"28":[1,251],"119":[1,252],"120":253,"121":[1,210]},{"28":[2,173],"119":[2,173],"121":[2,173]},{"8":255,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"91":254,"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"16":256,"17":125,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":126,"43":61,"44":28,"58":49,"59":50,"61":219,"63":29,"72":[1,69],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"97":[1,55]},{"4":[2,103],"15":166,"28":[2,103],"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":216,"41":164,"43":217,"44":169,"46":[1,48],"72":[1,215],"77":257,"78":214,"87":[1,116],"97":[1,55]},{"4":[1,259],"28":[1,258]},{"4":[2,104],"28":[2,104],"74":[2,104]},{"4":[2,103],"15":166,"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":216,"41":164,"43":217,"44":169,"46":[1,48],"72":[1,215],"74":[2,103],"77":260,"78":214,"87":[1,116],"97":[1,55]},{"4":[2,100],"28":[2,100],"74":[2,100]},{"4":[2,42],"28":[2,42],"42":[1,261],"74":[2,42]},{"1":[2,98],"4":[2,98],"27":[1,262],"28":[2,98],"49":[2,98],"54":[2,98],"57":[2,98],"62":95,"64":[1,97],"65":[1,98],"66":[1,99],"67":100,"68":[1,101],"69":[2,98],"70":[1,102],"71":[1,103],"74":[2,98],"79":94,"82":[1,96],"83":[2,111],"84":[2,98],"89":[2,98],"98":[2,98],"100":[2,98],"101":[2,98],"102":[2,98],"109":[2,98],"113":[2,98],"114":[2,98],"125":[2,98],"126":[2,98],"128":[2,98],"129":[2,98],"132":[2,98],"133":[2,98],"134":[2,98],"135":[2,98],"136":[2,98],"137":[2,98]},{"1":[2,71],"4":[2,71],"27":[2,71],"28":[2,71],"49":[2,71],"54":[2,71],"57":[2,71],"64":[2,71],"65":[2,71],"66":[2,71],"68":[2,71],"69":[2,71],"70":[2,71],"71":[2,71],"74":[2,71],"82":[2,71],"83":[2,71],"84":[2,71],"89":[2,71],"98":[2,71],"100":[2,71],"101":[2,71],"102":[2,71],"109":[2,71],"113":[2,71],"114":[2,71],"125":[2,71],"126":[2,71],"128":[2,71],"129":[2,71],"132":[2,71],"133":[2,71],"134":[2,71],"135":[2,71],"136":[2,71],"137":[2,71]},{"1":[2,135],"4":[2,135],"27":[2,135],"28":[2,135],"42":[2,135],"49":[2,135],"54":[2,135],"57":[2,135],"64":[2,135],"65":[2,135],"66":[2,135],"68":[2,135],"69":[2,135],"70":[2,135],"71":[2,135],"74":[2,135],"82":[2,135],"83":[2,135],"84":[2,135],"89":[2,135],"98":[2,135],"100":[2,135],"101":[2,135],"102":[2,135],"109":[2,135],"113":[2,135],"114":[2,135],"125":[2,135],"126":[2,135],"128":[2,135],"129":[2,135],"132":[2,135],"133":[2,135],"134":[2,135],"135":[2,135],"136":[2,135],"137":[2,135]},{"1":[2,177],"4":[2,177],"27":[2,177],"28":[2,177],"49":[2,177],"54":[2,177],"57":[2,177],"69":[2,177],"74":[2,177],"84":[2,177],"89":[2,177],"98":[2,177],"100":[2,177],"101":[2,177],"102":[2,177],"109":[2,177],"113":[2,177],"114":[2,177],"119":[2,177],"125":[2,177],"126":[2,177],"128":[2,177],"129":[2,177],"132":[2,177],"133":[2,177],"134":[2,177],"135":[2,177],"136":[2,177],"137":[2,177]},{"1":[2,178],"4":[2,178],"27":[2,178],"28":[2,178],"49":[2,178],"54":[2,178],"57":[2,178],"69":[2,178],"74":[2,178],"84":[2,178],"89":[2,178],"98":[2,178],"100":[2,178],"101":[2,178],"102":[2,178],"109":[2,178],"113":[2,178],"114":[2,178],"119":[2,178],"125":[2,178],"126":[2,178],"128":[2,178],"129":[2,178],"132":[2,178],"133":[2,178],"134":[2,178],"135":[2,178],"136":[2,178],"137":[2,178]},{"8":263,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":264,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,162],"4":[2,162],"27":[2,162],"28":[2,162],"49":[2,162],"54":[2,162],"57":[2,162],"69":[2,162],"74":[2,162],"84":[2,162],"89":[2,162],"98":[2,162],"100":[2,162],"101":[2,162],"102":[2,162],"109":[2,162],"113":[2,162],"114":[2,162],"125":[2,162],"126":[2,162],"128":[2,162],"129":[2,162],"132":[2,162],"133":[2,162],"134":[2,162],"135":[2,162],"136":[2,162],"137":[2,162]},{"29":265,"30":[1,72],"58":154,"59":155,"72":[1,69],"88":[1,68],"106":266},{"8":267,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,164],"4":[2,164],"27":[2,164],"28":[2,164],"49":[2,164],"54":[2,164],"57":[2,164],"69":[2,164],"74":[2,164],"84":[2,164],"89":[2,164],"98":[2,164],"100":[2,164],"101":[2,164],"102":[2,164],"109":[2,164],"113":[2,164],"114":[2,164],"125":[2,164],"126":[2,164],"128":[2,164],"129":[2,164],"132":[2,164],"133":[2,164],"134":[2,164],"135":[2,164],"136":[2,164],"137":[2,164]},{"8":268,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":269,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"54":[1,271],"110":270,"111":[1,230]},{"4":[1,273],"27":[1,274],"89":[1,272]},{"4":[2,55],"8":160,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[2,55],"28":[2,55],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":161,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"84":[2,55],"86":[1,56],"87":[1,57],"88":[1,68],"89":[2,55],"90":275,"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[2,54],"27":[2,54],"28":[2,54],"53":276,"54":[1,233]},{"4":[2,66],"27":[2,66],"28":[2,66],"54":[2,66],"84":[2,66],"89":[2,66]},{"4":[1,278],"27":[1,279],"74":[1,277]},{"4":[2,55],"15":166,"27":[2,55],"28":[2,55],"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":280,"41":164,"43":165,"44":169,"46":[1,48],"74":[2,55],"87":[1,116],"97":[1,55]},{"8":281,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,282],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,83],"4":[2,83],"27":[2,83],"28":[2,83],"39":[2,83],"49":[2,83],"54":[2,83],"57":[2,83],"64":[2,83],"65":[2,83],"66":[2,83],"68":[2,83],"69":[2,83],"70":[2,83],"71":[2,83],"74":[2,83],"76":[2,83],"82":[2,83],"83":[2,83],"84":[2,83],"89":[2,83],"98":[2,83],"100":[2,83],"101":[2,83],"102":[2,83],"109":[2,83],"113":[2,83],"114":[2,83],"125":[2,83],"126":[2,83],"128":[2,83],"129":[2,83],"130":[2,83],"131":[2,83],"132":[2,83],"133":[2,83],"134":[2,83],"135":[2,83],"136":[2,83],"137":[2,83],"138":[2,83]},{"28":[1,283],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"4":[1,273],"27":[1,274],"84":[1,284]},{"4":[1,118],"6":285,"27":[1,6]},{"49":[2,58],"54":[2,58]},{"49":[2,61],"54":[2,61],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"28":[1,286],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"4":[1,118],"6":287,"27":[1,6],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"4":[1,118],"6":288,"27":[1,6]},{"1":[2,131],"4":[2,131],"27":[2,131],"28":[2,131],"49":[2,131],"54":[2,131],"57":[2,131],"69":[2,131],"74":[2,131],"84":[2,131],"89":[2,131],"98":[2,131],"100":[2,131],"101":[2,131],"102":[2,131],"109":[2,131],"113":[2,131],"114":[2,131],"125":[2,131],"126":[2,131],"128":[2,131],"129":[2,131],"132":[2,131],"133":[2,131],"134":[2,131],"135":[2,131],"136":[2,131],"137":[2,131]},{"4":[1,118],"6":289,"27":[1,6]},{"28":[1,290],"119":[1,291],"120":253,"121":[1,210]},{"1":[2,171],"4":[2,171],"27":[2,171],"28":[2,171],"49":[2,171],"54":[2,171],"57":[2,171],"69":[2,171],"74":[2,171],"84":[2,171],"89":[2,171],"98":[2,171],"100":[2,171],"101":[2,171],"102":[2,171],"109":[2,171],"113":[2,171],"114":[2,171],"125":[2,171],"126":[2,171],"128":[2,171],"129":[2,171],"132":[2,171],"133":[2,171],"134":[2,171],"135":[2,171],"136":[2,171],"137":[2,171]},{"4":[1,118],"6":292,"27":[1,6]},{"28":[2,174],"119":[2,174],"121":[2,174]},{"4":[1,118],"6":293,"27":[1,6],"54":[1,294]},{"4":[2,127],"27":[2,127],"54":[2,127],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,93],"4":[2,93],"27":[1,295],"28":[2,93],"49":[2,93],"54":[2,93],"57":[2,93],"62":95,"64":[1,97],"65":[1,98],"66":[1,99],"67":100,"68":[1,101],"69":[2,93],"70":[1,102],"71":[1,103],"74":[2,93],"79":94,"82":[1,96],"83":[2,111],"84":[2,93],"89":[2,93],"98":[2,93],"100":[2,93],"101":[2,93],"102":[2,93],"109":[2,93],"113":[2,93],"114":[2,93],"125":[2,93],"126":[2,93],"128":[2,93],"129":[2,93],"132":[2,93],"133":[2,93],"134":[2,93],"135":[2,93],"136":[2,93],"137":[2,93]},{"4":[1,259],"28":[1,296]},{"1":[2,96],"4":[2,96],"27":[2,96],"28":[2,96],"49":[2,96],"54":[2,96],"57":[2,96],"69":[2,96],"74":[2,96],"84":[2,96],"89":[2,96],"98":[2,96],"100":[2,96],"101":[2,96],"102":[2,96],"109":[2,96],"113":[2,96],"114":[2,96],"125":[2,96],"126":[2,96],"128":[2,96],"129":[2,96],"132":[2,96],"133":[2,96],"134":[2,96],"135":[2,96],"136":[2,96],"137":[2,96]},{"15":166,"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":216,"41":164,"43":217,"44":169,"46":[1,48],"78":297,"87":[1,116],"97":[1,55]},{"4":[1,259],"74":[1,298]},{"8":299,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,300],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[2,103],"15":166,"28":[2,103],"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":216,"41":164,"43":217,"44":169,"46":[1,48],"72":[1,215],"77":301,"78":214,"87":[1,116],"97":[1,55]},{"1":[2,137],"4":[2,137],"27":[2,137],"28":[2,137],"49":[2,137],"54":[2,137],"57":[2,137],"69":[2,137],"74":[2,137],"84":[2,137],"89":[2,137],"98":[2,137],"99":88,"100":[1,64],"101":[2,137],"102":[1,65],"105":89,"109":[2,137],"113":[2,137],"114":[1,67],"125":[2,137],"126":[2,137],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,139],"4":[2,139],"27":[2,139],"28":[2,139],"49":[2,139],"54":[2,139],"57":[2,139],"69":[2,139],"74":[2,139],"84":[2,139],"89":[2,139],"98":[2,139],"99":88,"100":[1,64],"101":[2,139],"102":[1,65],"105":89,"109":[2,139],"113":[2,139],"114":[1,67],"125":[2,139],"126":[2,139],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"107":302,"108":[1,227],"111":[2,149]},{"110":303,"111":[1,230]},{"1":[2,152],"4":[2,152],"27":[2,152],"28":[2,152],"49":[2,152],"54":[2,152],"57":[2,152],"69":[2,152],"74":[2,152],"84":[2,152],"89":[2,152],"98":[2,152],"99":88,"100":[1,64],"101":[1,304],"102":[1,65],"105":89,"109":[1,305],"113":[2,152],"114":[1,67],"125":[2,152],"126":[2,152],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"99":88,"100":[1,64],"102":[1,65],"105":89,"112":306,"113":[1,307],"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,156],"4":[2,156],"27":[2,156],"28":[2,156],"49":[2,156],"54":[2,156],"57":[2,156],"69":[2,156],"74":[2,156],"84":[2,156],"89":[2,156],"98":[2,156],"99":88,"100":[1,64],"101":[1,308],"102":[1,65],"105":89,"109":[2,156],"113":[2,156],"114":[1,67],"125":[2,156],"126":[2,156],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,166],"4":[2,166],"27":[2,166],"28":[2,166],"49":[2,166],"54":[2,166],"57":[2,166],"69":[2,166],"74":[2,166],"84":[2,166],"89":[2,166],"98":[2,166],"100":[2,166],"101":[2,166],"102":[2,166],"109":[2,166],"113":[2,166],"114":[2,166],"125":[2,166],"126":[2,166],"128":[2,166],"129":[2,166],"132":[2,166],"133":[2,166],"134":[2,166],"135":[2,166],"136":[2,166],"137":[2,166]},{"29":310,"30":[1,72],"58":154,"59":155,"72":[1,69],"88":[1,68],"106":309},{"1":[2,119],"4":[2,119],"27":[2,119],"28":[2,119],"39":[2,119],"49":[2,119],"54":[2,119],"57":[2,119],"64":[2,119],"65":[2,119],"66":[2,119],"68":[2,119],"69":[2,119],"70":[2,119],"71":[2,119],"74":[2,119],"82":[2,119],"83":[2,119],"84":[2,119],"89":[2,119],"98":[2,119],"100":[2,119],"101":[2,119],"102":[2,119],"108":[2,119],"109":[2,119],"111":[2,119],"113":[2,119],"114":[2,119],"125":[2,119],"126":[2,119],"128":[2,119],"129":[2,119],"132":[2,119],"133":[2,119],"134":[2,119],"135":[2,119],"136":[2,119],"137":[2,119]},{"8":160,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":161,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"90":311,"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":160,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,159],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":161,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"85":312,"86":[1,56],"87":[1,57],"88":[1,68],"90":158,"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[2,121],"27":[2,121],"28":[2,121],"54":[2,121],"84":[2,121],"89":[2,121]},{"4":[1,273],"27":[1,274],"28":[1,313]},{"1":[2,86],"4":[2,86],"27":[2,86],"28":[2,86],"39":[2,86],"49":[2,86],"54":[2,86],"57":[2,86],"64":[2,86],"65":[2,86],"66":[2,86],"68":[2,86],"69":[2,86],"70":[2,86],"71":[2,86],"74":[2,86],"82":[2,86],"83":[2,86],"84":[2,86],"89":[2,86],"98":[2,86],"100":[2,86],"101":[2,86],"102":[2,86],"108":[2,86],"109":[2,86],"111":[2,86],"113":[2,86],"114":[2,86],"125":[2,86],"126":[2,86],"128":[2,86],"129":[2,86],"132":[2,86],"133":[2,86],"134":[2,86],"135":[2,86],"136":[2,86],"137":[2,86]},{"15":166,"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":314,"41":164,"43":165,"44":169,"46":[1,48],"87":[1,116],"97":[1,55]},{"4":[2,87],"15":166,"27":[2,87],"28":[2,87],"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":163,"41":164,"43":165,"44":169,"46":[1,48],"54":[2,87],"73":315,"87":[1,116],"97":[1,55]},{"4":[2,89],"27":[2,89],"28":[2,89],"54":[2,89],"74":[2,89]},{"4":[2,40],"27":[2,40],"28":[2,40],"54":[2,40],"74":[2,40],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"8":316,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,38],"4":[2,38],"27":[2,38],"28":[2,38],"49":[2,38],"54":[2,38],"57":[2,38],"69":[2,38],"74":[2,38],"84":[2,38],"89":[2,38],"98":[2,38],"100":[2,38],"101":[2,38],"102":[2,38],"109":[2,38],"113":[2,38],"114":[2,38],"125":[2,38],"126":[2,38],"128":[2,38],"129":[2,38],"132":[2,38],"133":[2,38],"134":[2,38],"135":[2,38],"136":[2,38],"137":[2,38]},{"1":[2,114],"4":[2,114],"27":[2,114],"28":[2,114],"49":[2,114],"54":[2,114],"57":[2,114],"64":[2,114],"65":[2,114],"66":[2,114],"68":[2,114],"69":[2,114],"70":[2,114],"71":[2,114],"74":[2,114],"82":[2,114],"83":[2,114],"84":[2,114],"89":[2,114],"98":[2,114],"100":[2,114],"101":[2,114],"102":[2,114],"109":[2,114],"113":[2,114],"114":[2,114],"125":[2,114],"126":[2,114],"128":[2,114],"129":[2,114],"132":[2,114],"133":[2,114],"134":[2,114],"135":[2,114],"136":[2,114],"137":[2,114]},{"1":[2,50],"4":[2,50],"27":[2,50],"28":[2,50],"49":[2,50],"54":[2,50],"57":[2,50],"69":[2,50],"74":[2,50],"84":[2,50],"89":[2,50],"98":[2,50],"100":[2,50],"101":[2,50],"102":[2,50],"109":[2,50],"113":[2,50],"114":[2,50],"125":[2,50],"126":[2,50],"128":[2,50],"129":[2,50],"132":[2,50],"133":[2,50],"134":[2,50],"135":[2,50],"136":[2,50],"137":[2,50]},{"1":[2,202],"4":[2,202],"27":[2,202],"28":[2,202],"49":[2,202],"54":[2,202],"57":[2,202],"69":[2,202],"74":[2,202],"84":[2,202],"89":[2,202],"98":[2,202],"100":[2,202],"101":[2,202],"102":[2,202],"109":[2,202],"113":[2,202],"114":[2,202],"125":[2,202],"126":[2,202],"128":[2,202],"129":[2,202],"132":[2,202],"133":[2,202],"134":[2,202],"135":[2,202],"136":[2,202],"137":[2,202]},{"1":[2,179],"4":[2,179],"27":[2,179],"28":[2,179],"49":[2,179],"54":[2,179],"57":[2,179],"69":[2,179],"74":[2,179],"84":[2,179],"89":[2,179],"98":[2,179],"100":[2,179],"101":[2,179],"102":[2,179],"109":[2,179],"113":[2,179],"114":[2,179],"119":[2,179],"125":[2,179],"126":[2,179],"128":[2,179],"129":[2,179],"132":[2,179],"133":[2,179],"134":[2,179],"135":[2,179],"136":[2,179],"137":[2,179]},{"1":[2,132],"4":[2,132],"27":[2,132],"28":[2,132],"49":[2,132],"54":[2,132],"57":[2,132],"69":[2,132],"74":[2,132],"84":[2,132],"89":[2,132],"98":[2,132],"100":[2,132],"101":[2,132],"102":[2,132],"109":[2,132],"113":[2,132],"114":[2,132],"125":[2,132],"126":[2,132],"128":[2,132],"129":[2,132],"132":[2,132],"133":[2,132],"134":[2,132],"135":[2,132],"136":[2,132],"137":[2,132]},{"1":[2,133],"4":[2,133],"27":[2,133],"28":[2,133],"49":[2,133],"54":[2,133],"57":[2,133],"69":[2,133],"74":[2,133],"84":[2,133],"89":[2,133],"94":[2,133],"98":[2,133],"100":[2,133],"101":[2,133],"102":[2,133],"109":[2,133],"113":[2,133],"114":[2,133],"125":[2,133],"126":[2,133],"128":[2,133],"129":[2,133],"132":[2,133],"133":[2,133],"134":[2,133],"135":[2,133],"136":[2,133],"137":[2,133]},{"1":[2,169],"4":[2,169],"27":[2,169],"28":[2,169],"49":[2,169],"54":[2,169],"57":[2,169],"69":[2,169],"74":[2,169],"84":[2,169],"89":[2,169],"98":[2,169],"100":[2,169],"101":[2,169],"102":[2,169],"109":[2,169],"113":[2,169],"114":[2,169],"125":[2,169],"126":[2,169],"128":[2,169],"129":[2,169],"132":[2,169],"133":[2,169],"134":[2,169],"135":[2,169],"136":[2,169],"137":[2,169]},{"4":[1,118],"6":317,"27":[1,6]},{"28":[1,318]},{"4":[1,319],"28":[2,175],"119":[2,175],"121":[2,175]},{"8":320,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[2,103],"15":166,"28":[2,103],"29":167,"30":[1,72],"31":168,"32":[1,70],"33":[1,71],"40":216,"41":164,"43":217,"44":169,"46":[1,48],"72":[1,215],"77":321,"78":214,"87":[1,116],"97":[1,55]},{"1":[2,94],"4":[2,94],"27":[2,94],"28":[2,94],"49":[2,94],"54":[2,94],"57":[2,94],"69":[2,94],"74":[2,94],"84":[2,94],"89":[2,94],"98":[2,94],"100":[2,94],"101":[2,94],"102":[2,94],"109":[2,94],"113":[2,94],"114":[2,94],"125":[2,94],"126":[2,94],"128":[2,94],"129":[2,94],"132":[2,94],"133":[2,94],"134":[2,94],"135":[2,94],"136":[2,94],"137":[2,94]},{"4":[2,105],"28":[2,105],"74":[2,105]},{"4":[2,106],"28":[2,106],"74":[2,106]},{"4":[2,101],"28":[2,101],"74":[2,101],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"8":322,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[1,259],"28":[1,323]},{"1":[2,163],"4":[2,163],"27":[2,163],"28":[2,163],"49":[2,163],"54":[2,163],"57":[2,163],"69":[2,163],"74":[2,163],"84":[2,163],"89":[2,163],"98":[2,163],"100":[2,163],"101":[2,163],"102":[2,163],"109":[2,163],"113":[2,163],"114":[2,163],"125":[2,163],"126":[2,163],"128":[2,163],"129":[2,163],"132":[2,163],"133":[2,163],"134":[2,163],"135":[2,163],"136":[2,163],"137":[2,163]},{"1":[2,165],"4":[2,165],"27":[2,165],"28":[2,165],"49":[2,165],"54":[2,165],"57":[2,165],"69":[2,165],"74":[2,165],"84":[2,165],"89":[2,165],"98":[2,165],"100":[2,165],"101":[2,165],"102":[2,165],"109":[2,165],"113":[2,165],"114":[2,165],"125":[2,165],"126":[2,165],"128":[2,165],"129":[2,165],"132":[2,165],"133":[2,165],"134":[2,165],"135":[2,165],"136":[2,165],"137":[2,165]},{"8":324,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":325,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,168],"4":[2,168],"27":[2,168],"28":[2,168],"49":[2,168],"54":[2,168],"57":[2,168],"69":[2,168],"74":[2,168],"84":[2,168],"89":[2,168],"98":[2,168],"100":[2,168],"101":[2,168],"102":[2,168],"109":[2,168],"113":[2,168],"114":[2,168],"125":[2,168],"126":[2,168],"128":[2,168],"129":[2,168],"132":[2,168],"133":[2,168],"134":[2,168],"135":[2,168],"136":[2,168],"137":[2,168]},{"8":326,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":327,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"110":328,"111":[1,230]},{"111":[2,149]},{"4":[2,122],"27":[2,122],"28":[2,122],"54":[2,122],"84":[2,122],"89":[2,122]},{"4":[2,54],"27":[2,54],"28":[2,54],"53":329,"54":[1,233]},{"4":[2,123],"27":[2,123],"28":[2,123],"54":[2,123],"84":[2,123],"89":[2,123]},{"4":[2,90],"27":[2,90],"28":[2,90],"54":[2,90],"74":[2,90]},{"4":[2,54],"27":[2,54],"28":[2,54],"53":330,"54":[1,237]},{"28":[1,331],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"28":[1,332]},{"1":[2,172],"4":[2,172],"27":[2,172],"28":[2,172],"49":[2,172],"54":[2,172],"57":[2,172],"69":[2,172],"74":[2,172],"84":[2,172],"89":[2,172],"98":[2,172],"100":[2,172],"101":[2,172],"102":[2,172],"109":[2,172],"113":[2,172],"114":[2,172],"125":[2,172],"126":[2,172],"128":[2,172],"129":[2,172],"132":[2,172],"133":[2,172],"134":[2,172],"135":[2,172],"136":[2,172],"137":[2,172]},{"28":[2,176],"119":[2,176],"121":[2,176]},{"4":[2,128],"27":[2,128],"54":[2,128],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"4":[1,259],"28":[1,333]},{"28":[1,334],"99":88,"100":[1,64],"102":[1,65],"105":89,"114":[1,67],"125":[1,86],"126":[1,87],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,99],"4":[2,99],"27":[2,99],"28":[2,99],"49":[2,99],"54":[2,99],"57":[2,99],"69":[2,99],"74":[2,99],"84":[2,99],"89":[2,99],"98":[2,99],"100":[2,99],"101":[2,99],"102":[2,99],"109":[2,99],"113":[2,99],"114":[2,99],"125":[2,99],"126":[2,99],"128":[2,99],"129":[2,99],"132":[2,99],"133":[2,99],"134":[2,99],"135":[2,99],"136":[2,99],"137":[2,99]},{"1":[2,153],"4":[2,153],"27":[2,153],"28":[2,153],"49":[2,153],"54":[2,153],"57":[2,153],"69":[2,153],"74":[2,153],"84":[2,153],"89":[2,153],"98":[2,153],"99":88,"100":[1,64],"101":[2,153],"102":[1,65],"105":89,"109":[2,153],"113":[2,153],"114":[1,67],"125":[2,153],"126":[2,153],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,154],"4":[2,154],"27":[2,154],"28":[2,154],"49":[2,154],"54":[2,154],"57":[2,154],"69":[2,154],"74":[2,154],"84":[2,154],"89":[2,154],"98":[2,154],"99":88,"100":[1,64],"101":[1,335],"102":[1,65],"105":89,"109":[2,154],"113":[2,154],"114":[1,67],"125":[2,154],"126":[2,154],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,158],"4":[2,158],"27":[2,158],"28":[2,158],"49":[2,158],"54":[2,158],"57":[2,158],"69":[2,158],"74":[2,158],"84":[2,158],"89":[2,158],"98":[2,158],"99":88,"100":[1,64],"101":[1,336],"102":[1,65],"105":89,"109":[1,337],"113":[2,158],"114":[1,67],"125":[2,158],"126":[2,158],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,157],"4":[2,157],"27":[2,157],"28":[2,157],"49":[2,157],"54":[2,157],"57":[2,157],"69":[2,157],"74":[2,157],"84":[2,157],"89":[2,157],"98":[2,157],"99":88,"100":[1,64],"101":[2,157],"102":[1,65],"105":89,"109":[2,157],"113":[2,157],"114":[1,67],"125":[2,157],"126":[2,157],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,167],"4":[2,167],"27":[2,167],"28":[2,167],"49":[2,167],"54":[2,167],"57":[2,167],"69":[2,167],"74":[2,167],"84":[2,167],"89":[2,167],"98":[2,167],"100":[2,167],"101":[2,167],"102":[2,167],"109":[2,167],"113":[2,167],"114":[2,167],"125":[2,167],"126":[2,167],"128":[2,167],"129":[2,167],"132":[2,167],"133":[2,167],"134":[2,167],"135":[2,167],"136":[2,167],"137":[2,167]},{"4":[1,273],"27":[1,274],"28":[1,338]},{"4":[1,278],"27":[1,279],"28":[1,339]},{"4":[2,41],"27":[2,41],"28":[2,41],"54":[2,41],"74":[2,41]},{"1":[2,170],"4":[2,170],"27":[2,170],"28":[2,170],"49":[2,170],"54":[2,170],"57":[2,170],"69":[2,170],"74":[2,170],"84":[2,170],"89":[2,170],"98":[2,170],"100":[2,170],"101":[2,170],"102":[2,170],"109":[2,170],"113":[2,170],"114":[2,170],"125":[2,170],"126":[2,170],"128":[2,170],"129":[2,170],"132":[2,170],"133":[2,170],"134":[2,170],"135":[2,170],"136":[2,170],"137":[2,170]},{"1":[2,95],"4":[2,95],"27":[2,95],"28":[2,95],"49":[2,95],"54":[2,95],"57":[2,95],"69":[2,95],"74":[2,95],"84":[2,95],"89":[2,95],"98":[2,95],"100":[2,95],"101":[2,95],"102":[2,95],"109":[2,95],"113":[2,95],"114":[2,95],"125":[2,95],"126":[2,95],"128":[2,95],"129":[2,95],"132":[2,95],"133":[2,95],"134":[2,95],"135":[2,95],"136":[2,95],"137":[2,95]},{"4":[2,102],"28":[2,102],"74":[2,102]},{"8":340,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":341,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"8":342,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"4":[2,124],"27":[2,124],"28":[2,124],"54":[2,124],"84":[2,124],"89":[2,124]},{"4":[2,91],"27":[2,91],"28":[2,91],"54":[2,91],"74":[2,91]},{"1":[2,155],"4":[2,155],"27":[2,155],"28":[2,155],"49":[2,155],"54":[2,155],"57":[2,155],"69":[2,155],"74":[2,155],"84":[2,155],"89":[2,155],"98":[2,155],"99":88,"100":[1,64],"101":[2,155],"102":[1,65],"105":89,"109":[2,155],"113":[2,155],"114":[1,67],"125":[2,155],"126":[2,155],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,159],"4":[2,159],"27":[2,159],"28":[2,159],"49":[2,159],"54":[2,159],"57":[2,159],"69":[2,159],"74":[2,159],"84":[2,159],"89":[2,159],"98":[2,159],"99":88,"100":[1,64],"101":[2,159],"102":[1,65],"105":89,"109":[2,159],"113":[2,159],"114":[1,67],"125":[2,159],"126":[2,159],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"1":[2,160],"4":[2,160],"27":[2,160],"28":[2,160],"49":[2,160],"54":[2,160],"57":[2,160],"69":[2,160],"74":[2,160],"84":[2,160],"89":[2,160],"98":[2,160],"99":88,"100":[1,64],"101":[1,343],"102":[1,65],"105":89,"109":[2,160],"113":[2,160],"114":[1,67],"125":[2,160],"126":[2,160],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]},{"8":344,"9":120,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"81":[1,30],"86":[1,56],"87":[1,57],"88":[1,68],"92":[1,40],"96":[1,47],"97":[1,55],"99":41,"100":[1,64],"102":[1,65],"103":42,"104":[1,66],"105":43,"114":[1,67],"117":[1,44],"122":39,"123":[1,62],"124":[1,63],"127":[1,33],"128":[1,34],"129":[1,35],"130":[1,36],"131":[1,37]},{"1":[2,161],"4":[2,161],"27":[2,161],"28":[2,161],"49":[2,161],"54":[2,161],"57":[2,161],"69":[2,161],"74":[2,161],"84":[2,161],"89":[2,161],"98":[2,161],"99":88,"100":[1,64],"101":[2,161],"102":[1,65],"105":89,"109":[2,161],"113":[2,161],"114":[1,67],"125":[2,161],"126":[2,161],"128":[1,80],"129":[1,79],"132":[1,78],"133":[1,81],"134":[1,82],"135":[1,83],"136":[1,84],"137":[1,85]}], -defaultActions: {"75":[2,4],"96":[2,112],"310":[2,149]}, +table: [{"1":[2,1],"3":1,"4":[1,2],"5":3,"6":4,"7":5,"8":7,"9":8,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,6],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[3]},{"1":[2,2]},{"1":[2,3],"4":[1,73]},{"4":[1,74]},{"1":[2,5],"4":[2,5],"28":[2,5]},{"5":75,"7":5,"8":7,"9":8,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"28":[1,76],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,8],"4":[2,8],"28":[2,8],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,9],"4":[2,9],"28":[2,9],"97":91,"98":[1,64],"100":[1,65],"103":92,"112":[1,67],"123":[1,89],"124":[1,90]},{"1":[2,16],"4":[2,16],"27":[2,16],"28":[2,16],"49":[2,16],"54":[2,16],"57":[2,16],"62":94,"64":[1,96],"65":[1,97],"66":[1,98],"67":99,"68":[1,100],"69":[2,16],"70":[1,101],"71":[1,102],"74":[2,16],"77":93,"80":[1,95],"81":[2,103],"82":[2,16],"87":[2,16],"96":[2,16],"98":[2,16],"99":[2,16],"100":[2,16],"107":[2,16],"111":[2,16],"112":[2,16],"123":[2,16],"124":[2,16],"126":[2,16],"127":[2,16],"130":[2,16],"131":[2,16],"132":[2,16],"133":[2,16],"134":[2,16],"135":[2,16]},{"1":[2,17],"4":[2,17],"27":[2,17],"28":[2,17],"49":[2,17],"54":[2,17],"57":[2,17],"62":104,"64":[1,96],"65":[1,97],"66":[1,98],"67":99,"68":[1,100],"69":[2,17],"70":[1,101],"71":[1,102],"74":[2,17],"77":103,"80":[1,95],"81":[2,103],"82":[2,17],"87":[2,17],"96":[2,17],"98":[2,17],"99":[2,17],"100":[2,17],"107":[2,17],"111":[2,17],"112":[2,17],"123":[2,17],"124":[2,17],"126":[2,17],"127":[2,17],"130":[2,17],"131":[2,17],"132":[2,17],"133":[2,17],"134":[2,17],"135":[2,17]},{"1":[2,18],"4":[2,18],"27":[2,18],"28":[2,18],"49":[2,18],"54":[2,18],"57":[2,18],"69":[2,18],"74":[2,18],"82":[2,18],"87":[2,18],"96":[2,18],"98":[2,18],"99":[2,18],"100":[2,18],"107":[2,18],"111":[2,18],"112":[2,18],"123":[2,18],"124":[2,18],"126":[2,18],"127":[2,18],"130":[2,18],"131":[2,18],"132":[2,18],"133":[2,18],"134":[2,18],"135":[2,18]},{"1":[2,19],"4":[2,19],"27":[2,19],"28":[2,19],"49":[2,19],"54":[2,19],"57":[2,19],"69":[2,19],"74":[2,19],"82":[2,19],"87":[2,19],"96":[2,19],"98":[2,19],"99":[2,19],"100":[2,19],"107":[2,19],"111":[2,19],"112":[2,19],"123":[2,19],"124":[2,19],"126":[2,19],"127":[2,19],"130":[2,19],"131":[2,19],"132":[2,19],"133":[2,19],"134":[2,19],"135":[2,19]},{"1":[2,20],"4":[2,20],"27":[2,20],"28":[2,20],"49":[2,20],"54":[2,20],"57":[2,20],"69":[2,20],"74":[2,20],"82":[2,20],"87":[2,20],"96":[2,20],"98":[2,20],"99":[2,20],"100":[2,20],"107":[2,20],"111":[2,20],"112":[2,20],"123":[2,20],"124":[2,20],"126":[2,20],"127":[2,20],"130":[2,20],"131":[2,20],"132":[2,20],"133":[2,20],"134":[2,20],"135":[2,20]},{"1":[2,21],"4":[2,21],"27":[2,21],"28":[2,21],"49":[2,21],"54":[2,21],"57":[2,21],"69":[2,21],"74":[2,21],"82":[2,21],"87":[2,21],"96":[2,21],"98":[2,21],"99":[2,21],"100":[2,21],"107":[2,21],"111":[2,21],"112":[2,21],"123":[2,21],"124":[2,21],"126":[2,21],"127":[2,21],"130":[2,21],"131":[2,21],"132":[2,21],"133":[2,21],"134":[2,21],"135":[2,21]},{"1":[2,22],"4":[2,22],"27":[2,22],"28":[2,22],"49":[2,22],"54":[2,22],"57":[2,22],"69":[2,22],"74":[2,22],"82":[2,22],"87":[2,22],"96":[2,22],"98":[2,22],"99":[2,22],"100":[2,22],"107":[2,22],"111":[2,22],"112":[2,22],"123":[2,22],"124":[2,22],"126":[2,22],"127":[2,22],"130":[2,22],"131":[2,22],"132":[2,22],"133":[2,22],"134":[2,22],"135":[2,22]},{"1":[2,23],"4":[2,23],"27":[2,23],"28":[2,23],"49":[2,23],"54":[2,23],"57":[2,23],"69":[2,23],"74":[2,23],"82":[2,23],"87":[2,23],"96":[2,23],"98":[2,23],"99":[2,23],"100":[2,23],"107":[2,23],"111":[2,23],"112":[2,23],"123":[2,23],"124":[2,23],"126":[2,23],"127":[2,23],"130":[2,23],"131":[2,23],"132":[2,23],"133":[2,23],"134":[2,23],"135":[2,23]},{"1":[2,24],"4":[2,24],"27":[2,24],"28":[2,24],"49":[2,24],"54":[2,24],"57":[2,24],"69":[2,24],"74":[2,24],"82":[2,24],"87":[2,24],"96":[2,24],"98":[2,24],"99":[2,24],"100":[2,24],"107":[2,24],"111":[2,24],"112":[2,24],"123":[2,24],"124":[2,24],"126":[2,24],"127":[2,24],"130":[2,24],"131":[2,24],"132":[2,24],"133":[2,24],"134":[2,24],"135":[2,24]},{"1":[2,25],"4":[2,25],"27":[2,25],"28":[2,25],"49":[2,25],"54":[2,25],"57":[2,25],"69":[2,25],"74":[2,25],"82":[2,25],"87":[2,25],"96":[2,25],"98":[2,25],"99":[2,25],"100":[2,25],"107":[2,25],"111":[2,25],"112":[2,25],"123":[2,25],"124":[2,25],"126":[2,25],"127":[2,25],"130":[2,25],"131":[2,25],"132":[2,25],"133":[2,25],"134":[2,25],"135":[2,25]},{"1":[2,26],"4":[2,26],"27":[2,26],"28":[2,26],"49":[2,26],"54":[2,26],"57":[2,26],"69":[2,26],"74":[2,26],"82":[2,26],"87":[2,26],"96":[2,26],"98":[2,26],"99":[2,26],"100":[2,26],"107":[2,26],"111":[2,26],"112":[2,26],"123":[2,26],"124":[2,26],"126":[2,26],"127":[2,26],"130":[2,26],"131":[2,26],"132":[2,26],"133":[2,26],"134":[2,26],"135":[2,26]},{"1":[2,10],"4":[2,10],"28":[2,10],"98":[2,10],"100":[2,10],"112":[2,10],"123":[2,10],"124":[2,10]},{"1":[2,11],"4":[2,11],"28":[2,11],"98":[2,11],"100":[2,11],"112":[2,11],"123":[2,11],"124":[2,11]},{"1":[2,12],"4":[2,12],"28":[2,12],"98":[2,12],"100":[2,12],"112":[2,12],"123":[2,12],"124":[2,12]},{"1":[2,13],"4":[2,13],"28":[2,13],"98":[2,13],"100":[2,13],"112":[2,13],"123":[2,13],"124":[2,13]},{"1":[2,14],"4":[2,14],"28":[2,14],"98":[2,14],"100":[2,14],"112":[2,14],"123":[2,14],"124":[2,14]},{"1":[2,15],"4":[2,15],"28":[2,15],"98":[2,15],"100":[2,15],"112":[2,15],"123":[2,15],"124":[2,15]},{"1":[2,73],"4":[2,73],"27":[2,73],"28":[2,73],"39":[1,105],"49":[2,73],"54":[2,73],"57":[2,73],"64":[2,73],"65":[2,73],"66":[2,73],"68":[2,73],"69":[2,73],"70":[2,73],"71":[2,73],"74":[2,73],"80":[2,73],"81":[2,73],"82":[2,73],"87":[2,73],"96":[2,73],"98":[2,73],"99":[2,73],"100":[2,73],"107":[2,73],"111":[2,73],"112":[2,73],"123":[2,73],"124":[2,73],"126":[2,73],"127":[2,73],"130":[2,73],"131":[2,73],"132":[2,73],"133":[2,73],"134":[2,73],"135":[2,73]},{"1":[2,74],"4":[2,74],"27":[2,74],"28":[2,74],"49":[2,74],"54":[2,74],"57":[2,74],"64":[2,74],"65":[2,74],"66":[2,74],"68":[2,74],"69":[2,74],"70":[2,74],"71":[2,74],"74":[2,74],"80":[2,74],"81":[2,74],"82":[2,74],"87":[2,74],"96":[2,74],"98":[2,74],"99":[2,74],"100":[2,74],"107":[2,74],"111":[2,74],"112":[2,74],"123":[2,74],"124":[2,74],"126":[2,74],"127":[2,74],"130":[2,74],"131":[2,74],"132":[2,74],"133":[2,74],"134":[2,74],"135":[2,74]},{"1":[2,75],"4":[2,75],"27":[2,75],"28":[2,75],"49":[2,75],"54":[2,75],"57":[2,75],"64":[2,75],"65":[2,75],"66":[2,75],"68":[2,75],"69":[2,75],"70":[2,75],"71":[2,75],"74":[2,75],"80":[2,75],"81":[2,75],"82":[2,75],"87":[2,75],"96":[2,75],"98":[2,75],"99":[2,75],"100":[2,75],"107":[2,75],"111":[2,75],"112":[2,75],"123":[2,75],"124":[2,75],"126":[2,75],"127":[2,75],"130":[2,75],"131":[2,75],"132":[2,75],"133":[2,75],"134":[2,75],"135":[2,75]},{"1":[2,76],"4":[2,76],"27":[2,76],"28":[2,76],"49":[2,76],"54":[2,76],"57":[2,76],"64":[2,76],"65":[2,76],"66":[2,76],"68":[2,76],"69":[2,76],"70":[2,76],"71":[2,76],"74":[2,76],"80":[2,76],"81":[2,76],"82":[2,76],"87":[2,76],"96":[2,76],"98":[2,76],"99":[2,76],"100":[2,76],"107":[2,76],"111":[2,76],"112":[2,76],"123":[2,76],"124":[2,76],"126":[2,76],"127":[2,76],"130":[2,76],"131":[2,76],"132":[2,76],"133":[2,76],"134":[2,76],"135":[2,76]},{"1":[2,101],"4":[2,101],"27":[2,101],"28":[2,101],"49":[2,101],"54":[2,101],"57":[2,101],"64":[2,101],"65":[2,101],"66":[2,101],"68":[2,101],"69":[2,101],"70":[2,101],"71":[2,101],"74":[2,101],"78":106,"80":[2,101],"81":[1,107],"82":[2,101],"87":[2,101],"96":[2,101],"98":[2,101],"99":[2,101],"100":[2,101],"107":[2,101],"111":[2,101],"112":[2,101],"123":[2,101],"124":[2,101],"126":[2,101],"127":[2,101],"130":[2,101],"131":[2,101],"132":[2,101],"133":[2,101],"134":[2,101],"135":[2,101]},{"29":111,"30":[1,72],"43":112,"48":108,"49":[2,55],"54":[2,55],"55":109,"56":110,"58":113,"59":114,"72":[1,69],"85":[1,115],"86":[1,68]},{"6":116,"27":[1,6]},{"8":117,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":119,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":120,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"16":122,"17":123,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":124,"43":61,"44":28,"58":49,"59":50,"61":121,"63":29,"72":[1,69],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"95":[1,55]},{"16":122,"17":123,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":124,"43":61,"44":28,"58":49,"59":50,"61":125,"63":29,"72":[1,69],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"95":[1,55]},{"1":[2,70],"4":[2,70],"27":[2,70],"28":[2,70],"39":[2,70],"49":[2,70],"54":[2,70],"57":[2,70],"64":[2,70],"65":[2,70],"66":[2,70],"68":[2,70],"69":[2,70],"70":[2,70],"71":[2,70],"74":[2,70],"76":[1,129],"80":[2,70],"81":[2,70],"82":[2,70],"87":[2,70],"96":[2,70],"98":[2,70],"99":[2,70],"100":[2,70],"107":[2,70],"111":[2,70],"112":[2,70],"123":[2,70],"124":[2,70],"126":[2,70],"127":[2,70],"128":[1,126],"129":[1,127],"130":[2,70],"131":[2,70],"132":[2,70],"133":[2,70],"134":[2,70],"135":[2,70],"136":[1,128]},{"1":[2,173],"4":[2,173],"27":[2,173],"28":[2,173],"49":[2,173],"54":[2,173],"57":[2,173],"69":[2,173],"74":[2,173],"82":[2,173],"87":[2,173],"96":[2,173],"98":[2,173],"99":[2,173],"100":[2,173],"107":[2,173],"111":[2,173],"112":[2,173],"117":[1,130],"123":[2,173],"124":[2,173],"126":[2,173],"127":[2,173],"130":[2,173],"131":[2,173],"132":[2,173],"133":[2,173],"134":[2,173],"135":[2,173]},{"6":131,"27":[1,6]},{"6":132,"27":[1,6]},{"1":[2,135],"4":[2,135],"27":[2,135],"28":[2,135],"49":[2,135],"54":[2,135],"57":[2,135],"69":[2,135],"74":[2,135],"82":[2,135],"87":[2,135],"96":[2,135],"98":[2,135],"99":[2,135],"100":[2,135],"107":[2,135],"111":[2,135],"112":[2,135],"123":[2,135],"124":[2,135],"126":[2,135],"127":[2,135],"130":[2,135],"131":[2,135],"132":[2,135],"133":[2,135],"134":[2,135],"135":[2,135]},{"6":133,"27":[1,6]},{"8":134,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,135],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,91],"4":[2,91],"6":136,"16":122,"17":123,"27":[1,6],"28":[2,91],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":124,"43":61,"44":28,"49":[2,91],"54":[2,91],"57":[2,91],"58":49,"59":50,"61":138,"63":29,"69":[2,91],"72":[1,69],"74":[2,91],"76":[1,137],"79":[1,30],"82":[2,91],"84":[1,56],"85":[1,57],"86":[1,68],"87":[2,91],"95":[1,55],"96":[2,91],"98":[2,91],"99":[2,91],"100":[2,91],"107":[2,91],"111":[2,91],"112":[2,91],"123":[2,91],"124":[2,91],"126":[2,91],"127":[2,91],"130":[2,91],"131":[2,91],"132":[2,91],"133":[2,91],"134":[2,91],"135":[2,91]},{"1":[2,47],"4":[2,47],"8":139,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"28":[2,47],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[2,47],"100":[2,47],"101":42,"102":[1,66],"103":43,"112":[2,47],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"123":[2,47],"124":[2,47],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":140,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,48],"4":[2,48],"27":[2,48],"28":[2,48],"54":[2,48],"74":[2,48],"98":[2,48],"100":[2,48],"112":[2,48],"123":[2,48],"124":[2,48]},{"1":[2,71],"4":[2,71],"27":[2,71],"28":[2,71],"39":[2,71],"49":[2,71],"54":[2,71],"57":[2,71],"64":[2,71],"65":[2,71],"66":[2,71],"68":[2,71],"69":[2,71],"70":[2,71],"71":[2,71],"74":[2,71],"80":[2,71],"81":[2,71],"82":[2,71],"87":[2,71],"96":[2,71],"98":[2,71],"99":[2,71],"100":[2,71],"107":[2,71],"111":[2,71],"112":[2,71],"123":[2,71],"124":[2,71],"126":[2,71],"127":[2,71],"130":[2,71],"131":[2,71],"132":[2,71],"133":[2,71],"134":[2,71],"135":[2,71]},{"1":[2,72],"4":[2,72],"27":[2,72],"28":[2,72],"39":[2,72],"49":[2,72],"54":[2,72],"57":[2,72],"64":[2,72],"65":[2,72],"66":[2,72],"68":[2,72],"69":[2,72],"70":[2,72],"71":[2,72],"74":[2,72],"80":[2,72],"81":[2,72],"82":[2,72],"87":[2,72],"96":[2,72],"98":[2,72],"99":[2,72],"100":[2,72],"107":[2,72],"111":[2,72],"112":[2,72],"123":[2,72],"124":[2,72],"126":[2,72],"127":[2,72],"130":[2,72],"131":[2,72],"132":[2,72],"133":[2,72],"134":[2,72],"135":[2,72]},{"1":[2,32],"4":[2,32],"27":[2,32],"28":[2,32],"49":[2,32],"54":[2,32],"57":[2,32],"64":[2,32],"65":[2,32],"66":[2,32],"68":[2,32],"69":[2,32],"70":[2,32],"71":[2,32],"74":[2,32],"80":[2,32],"81":[2,32],"82":[2,32],"87":[2,32],"96":[2,32],"98":[2,32],"99":[2,32],"100":[2,32],"107":[2,32],"111":[2,32],"112":[2,32],"123":[2,32],"124":[2,32],"126":[2,32],"127":[2,32],"130":[2,32],"131":[2,32],"132":[2,32],"133":[2,32],"134":[2,32],"135":[2,32]},{"1":[2,33],"4":[2,33],"27":[2,33],"28":[2,33],"49":[2,33],"54":[2,33],"57":[2,33],"64":[2,33],"65":[2,33],"66":[2,33],"68":[2,33],"69":[2,33],"70":[2,33],"71":[2,33],"74":[2,33],"80":[2,33],"81":[2,33],"82":[2,33],"87":[2,33],"96":[2,33],"98":[2,33],"99":[2,33],"100":[2,33],"107":[2,33],"111":[2,33],"112":[2,33],"123":[2,33],"124":[2,33],"126":[2,33],"127":[2,33],"130":[2,33],"131":[2,33],"132":[2,33],"133":[2,33],"134":[2,33],"135":[2,33]},{"1":[2,34],"4":[2,34],"27":[2,34],"28":[2,34],"49":[2,34],"54":[2,34],"57":[2,34],"64":[2,34],"65":[2,34],"66":[2,34],"68":[2,34],"69":[2,34],"70":[2,34],"71":[2,34],"74":[2,34],"80":[2,34],"81":[2,34],"82":[2,34],"87":[2,34],"96":[2,34],"98":[2,34],"99":[2,34],"100":[2,34],"107":[2,34],"111":[2,34],"112":[2,34],"123":[2,34],"124":[2,34],"126":[2,34],"127":[2,34],"130":[2,34],"131":[2,34],"132":[2,34],"133":[2,34],"134":[2,34],"135":[2,34]},{"1":[2,35],"4":[2,35],"27":[2,35],"28":[2,35],"49":[2,35],"54":[2,35],"57":[2,35],"64":[2,35],"65":[2,35],"66":[2,35],"68":[2,35],"69":[2,35],"70":[2,35],"71":[2,35],"74":[2,35],"80":[2,35],"81":[2,35],"82":[2,35],"87":[2,35],"96":[2,35],"98":[2,35],"99":[2,35],"100":[2,35],"107":[2,35],"111":[2,35],"112":[2,35],"123":[2,35],"124":[2,35],"126":[2,35],"127":[2,35],"130":[2,35],"131":[2,35],"132":[2,35],"133":[2,35],"134":[2,35],"135":[2,35]},{"8":141,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,107],"4":[2,107],"27":[2,107],"28":[2,107],"49":[2,107],"54":[2,107],"57":[2,107],"64":[2,107],"65":[2,107],"66":[2,107],"68":[2,107],"69":[2,107],"70":[2,107],"71":[2,107],"74":[2,107],"80":[2,107],"81":[2,107],"82":[2,107],"87":[2,107],"96":[2,107],"98":[2,107],"99":[2,107],"100":[2,107],"107":[2,107],"111":[2,107],"112":[2,107],"123":[2,107],"124":[2,107],"126":[2,107],"127":[2,107],"130":[2,107],"131":[2,107],"132":[2,107],"133":[2,107],"134":[2,107],"135":[2,107]},{"1":[2,108],"4":[2,108],"27":[2,108],"28":[2,108],"29":142,"30":[1,72],"49":[2,108],"54":[2,108],"57":[2,108],"64":[2,108],"65":[2,108],"66":[2,108],"68":[2,108],"69":[2,108],"70":[2,108],"71":[2,108],"74":[2,108],"80":[2,108],"81":[2,108],"82":[2,108],"87":[2,108],"96":[2,108],"98":[2,108],"99":[2,108],"100":[2,108],"107":[2,108],"111":[2,108],"112":[2,108],"123":[2,108],"124":[2,108],"126":[2,108],"127":[2,108],"130":[2,108],"131":[2,108],"132":[2,108],"133":[2,108],"134":[2,108],"135":[2,108]},{"27":[2,51]},{"27":[2,52]},{"1":[2,66],"4":[2,66],"27":[2,66],"28":[2,66],"39":[2,66],"49":[2,66],"54":[2,66],"57":[2,66],"64":[2,66],"65":[2,66],"66":[2,66],"68":[2,66],"69":[2,66],"70":[2,66],"71":[2,66],"74":[2,66],"76":[2,66],"80":[2,66],"81":[2,66],"82":[2,66],"87":[2,66],"96":[2,66],"98":[2,66],"99":[2,66],"100":[2,66],"107":[2,66],"111":[2,66],"112":[2,66],"123":[2,66],"124":[2,66],"126":[2,66],"127":[2,66],"128":[2,66],"129":[2,66],"130":[2,66],"131":[2,66],"132":[2,66],"133":[2,66],"134":[2,66],"135":[2,66],"136":[2,66]},{"1":[2,69],"4":[2,69],"27":[2,69],"28":[2,69],"39":[2,69],"49":[2,69],"54":[2,69],"57":[2,69],"64":[2,69],"65":[2,69],"66":[2,69],"68":[2,69],"69":[2,69],"70":[2,69],"71":[2,69],"74":[2,69],"76":[2,69],"80":[2,69],"81":[2,69],"82":[2,69],"87":[2,69],"96":[2,69],"98":[2,69],"99":[2,69],"100":[2,69],"107":[2,69],"111":[2,69],"112":[2,69],"123":[2,69],"124":[2,69],"126":[2,69],"127":[2,69],"128":[2,69],"129":[2,69],"130":[2,69],"131":[2,69],"132":[2,69],"133":[2,69],"134":[2,69],"135":[2,69],"136":[2,69]},{"8":143,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":144,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":145,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":146,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"6":147,"8":148,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,6],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"29":150,"30":[1,72],"58":152,"59":153,"72":[1,69],"86":[1,68],"104":149,"113":[1,151]},{"8":158,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,157],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":159,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"83":155,"84":[1,56],"85":[1,57],"86":[1,68],"87":[1,154],"88":156,"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"4":[2,86],"15":164,"27":[2,86],"29":165,"30":[1,72],"31":166,"32":[1,70],"33":[1,71],"40":161,"41":162,"43":163,"44":167,"46":[1,48],"54":[2,86],"73":160,"74":[2,86],"85":[1,115],"95":[1,55]},{"1":[2,30],"4":[2,30],"27":[2,30],"28":[2,30],"42":[2,30],"49":[2,30],"54":[2,30],"57":[2,30],"64":[2,30],"65":[2,30],"66":[2,30],"68":[2,30],"69":[2,30],"70":[2,30],"71":[2,30],"74":[2,30],"80":[2,30],"81":[2,30],"82":[2,30],"87":[2,30],"96":[2,30],"98":[2,30],"99":[2,30],"100":[2,30],"107":[2,30],"111":[2,30],"112":[2,30],"123":[2,30],"124":[2,30],"126":[2,30],"127":[2,30],"130":[2,30],"131":[2,30],"132":[2,30],"133":[2,30],"134":[2,30],"135":[2,30]},{"1":[2,31],"4":[2,31],"27":[2,31],"28":[2,31],"42":[2,31],"49":[2,31],"54":[2,31],"57":[2,31],"64":[2,31],"65":[2,31],"66":[2,31],"68":[2,31],"69":[2,31],"70":[2,31],"71":[2,31],"74":[2,31],"80":[2,31],"81":[2,31],"82":[2,31],"87":[2,31],"96":[2,31],"98":[2,31],"99":[2,31],"100":[2,31],"107":[2,31],"111":[2,31],"112":[2,31],"123":[2,31],"124":[2,31],"126":[2,31],"127":[2,31],"130":[2,31],"131":[2,31],"132":[2,31],"133":[2,31],"134":[2,31],"135":[2,31]},{"1":[2,29],"4":[2,29],"27":[2,29],"28":[2,29],"39":[2,29],"42":[2,29],"49":[2,29],"54":[2,29],"57":[2,29],"64":[2,29],"65":[2,29],"66":[2,29],"68":[2,29],"69":[2,29],"70":[2,29],"71":[2,29],"74":[2,29],"76":[2,29],"80":[2,29],"81":[2,29],"82":[2,29],"87":[2,29],"96":[2,29],"98":[2,29],"99":[2,29],"100":[2,29],"106":[2,29],"107":[2,29],"109":[2,29],"111":[2,29],"112":[2,29],"114":[2,29],"123":[2,29],"124":[2,29],"126":[2,29],"127":[2,29],"128":[2,29],"129":[2,29],"130":[2,29],"131":[2,29],"132":[2,29],"133":[2,29],"134":[2,29],"135":[2,29],"136":[2,29]},{"1":[2,7],"4":[2,7],"7":168,"8":7,"9":8,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"28":[2,7],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,4]},{"4":[1,73],"28":[1,169]},{"1":[2,28],"4":[2,28],"27":[2,28],"28":[2,28],"49":[2,28],"54":[2,28],"57":[2,28],"69":[2,28],"74":[2,28],"82":[2,28],"87":[2,28],"92":[2,28],"93":[2,28],"96":[2,28],"98":[2,28],"99":[2,28],"100":[2,28],"107":[2,28],"111":[2,28],"112":[2,28],"117":[2,28],"119":[2,28],"123":[2,28],"124":[2,28],"126":[2,28],"127":[2,28],"130":[2,28],"131":[2,28],"132":[2,28],"133":[2,28],"134":[2,28],"135":[2,28]},{"1":[2,185],"4":[2,185],"27":[2,185],"28":[2,185],"49":[2,185],"54":[2,185],"57":[2,185],"69":[2,185],"74":[2,185],"82":[2,185],"87":[2,185],"96":[2,185],"98":[2,185],"99":[2,185],"100":[2,185],"107":[2,185],"111":[2,185],"112":[2,185],"123":[2,185],"124":[2,185],"126":[2,185],"127":[2,185],"130":[2,185],"131":[2,185],"132":[2,185],"133":[2,185],"134":[2,185],"135":[2,185]},{"8":170,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":171,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":172,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":173,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":174,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":175,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":176,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":177,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":178,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,134],"4":[2,134],"27":[2,134],"28":[2,134],"49":[2,134],"54":[2,134],"57":[2,134],"69":[2,134],"74":[2,134],"82":[2,134],"87":[2,134],"96":[2,134],"98":[2,134],"99":[2,134],"100":[2,134],"107":[2,134],"111":[2,134],"112":[2,134],"123":[2,134],"124":[2,134],"126":[2,134],"127":[2,134],"130":[2,134],"131":[2,134],"132":[2,134],"133":[2,134],"134":[2,134],"135":[2,134]},{"1":[2,139],"4":[2,139],"27":[2,139],"28":[2,139],"49":[2,139],"54":[2,139],"57":[2,139],"69":[2,139],"74":[2,139],"82":[2,139],"87":[2,139],"96":[2,139],"98":[2,139],"99":[2,139],"100":[2,139],"107":[2,139],"111":[2,139],"112":[2,139],"123":[2,139],"124":[2,139],"126":[2,139],"127":[2,139],"130":[2,139],"131":[2,139],"132":[2,139],"133":[2,139],"134":[2,139],"135":[2,139]},{"8":179,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":180,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,133],"4":[2,133],"27":[2,133],"28":[2,133],"49":[2,133],"54":[2,133],"57":[2,133],"69":[2,133],"74":[2,133],"82":[2,133],"87":[2,133],"96":[2,133],"98":[2,133],"99":[2,133],"100":[2,133],"107":[2,133],"111":[2,133],"112":[2,133],"123":[2,133],"124":[2,133],"126":[2,133],"127":[2,133],"130":[2,133],"131":[2,133],"132":[2,133],"133":[2,133],"134":[2,133],"135":[2,133]},{"1":[2,138],"4":[2,138],"27":[2,138],"28":[2,138],"49":[2,138],"54":[2,138],"57":[2,138],"69":[2,138],"74":[2,138],"82":[2,138],"87":[2,138],"96":[2,138],"98":[2,138],"99":[2,138],"100":[2,138],"107":[2,138],"111":[2,138],"112":[2,138],"123":[2,138],"124":[2,138],"126":[2,138],"127":[2,138],"130":[2,138],"131":[2,138],"132":[2,138],"133":[2,138],"134":[2,138],"135":[2,138]},{"78":181,"81":[1,107]},{"1":[2,67],"4":[2,67],"27":[2,67],"28":[2,67],"39":[2,67],"49":[2,67],"54":[2,67],"57":[2,67],"64":[2,67],"65":[2,67],"66":[2,67],"68":[2,67],"69":[2,67],"70":[2,67],"71":[2,67],"74":[2,67],"76":[2,67],"80":[2,67],"81":[2,67],"82":[2,67],"87":[2,67],"96":[2,67],"98":[2,67],"99":[2,67],"100":[2,67],"107":[2,67],"111":[2,67],"112":[2,67],"123":[2,67],"124":[2,67],"126":[2,67],"127":[2,67],"128":[2,67],"129":[2,67],"130":[2,67],"131":[2,67],"132":[2,67],"133":[2,67],"134":[2,67],"135":[2,67],"136":[2,67]},{"81":[2,104]},{"29":182,"30":[1,72]},{"29":183,"30":[1,72]},{"1":[2,80],"4":[2,80],"27":[2,80],"28":[2,80],"29":184,"30":[1,72],"39":[2,80],"49":[2,80],"54":[2,80],"57":[2,80],"64":[2,80],"65":[2,80],"66":[2,80],"68":[2,80],"69":[2,80],"70":[2,80],"71":[2,80],"74":[2,80],"76":[2,80],"80":[2,80],"81":[2,80],"82":[2,80],"87":[2,80],"96":[2,80],"98":[2,80],"99":[2,80],"100":[2,80],"107":[2,80],"111":[2,80],"112":[2,80],"123":[2,80],"124":[2,80],"126":[2,80],"127":[2,80],"128":[2,80],"129":[2,80],"130":[2,80],"131":[2,80],"132":[2,80],"133":[2,80],"134":[2,80],"135":[2,80],"136":[2,80]},{"1":[2,81],"4":[2,81],"27":[2,81],"28":[2,81],"39":[2,81],"49":[2,81],"54":[2,81],"57":[2,81],"64":[2,81],"65":[2,81],"66":[2,81],"68":[2,81],"69":[2,81],"70":[2,81],"71":[2,81],"74":[2,81],"76":[2,81],"80":[2,81],"81":[2,81],"82":[2,81],"87":[2,81],"96":[2,81],"98":[2,81],"99":[2,81],"100":[2,81],"107":[2,81],"111":[2,81],"112":[2,81],"123":[2,81],"124":[2,81],"126":[2,81],"127":[2,81],"128":[2,81],"129":[2,81],"130":[2,81],"131":[2,81],"132":[2,81],"133":[2,81],"134":[2,81],"135":[2,81],"136":[2,81]},{"8":185,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"67":186,"68":[1,100],"70":[1,101],"71":[1,102]},{"67":187,"68":[1,100],"70":[1,101],"71":[1,102]},{"78":188,"81":[1,107]},{"1":[2,68],"4":[2,68],"27":[2,68],"28":[2,68],"39":[2,68],"49":[2,68],"54":[2,68],"57":[2,68],"64":[2,68],"65":[2,68],"66":[2,68],"68":[2,68],"69":[2,68],"70":[2,68],"71":[2,68],"74":[2,68],"76":[2,68],"80":[2,68],"81":[2,68],"82":[2,68],"87":[2,68],"96":[2,68],"98":[2,68],"99":[2,68],"100":[2,68],"107":[2,68],"111":[2,68],"112":[2,68],"123":[2,68],"124":[2,68],"126":[2,68],"127":[2,68],"128":[2,68],"129":[2,68],"130":[2,68],"131":[2,68],"132":[2,68],"133":[2,68],"134":[2,68],"135":[2,68],"136":[2,68]},{"8":189,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,190],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,102],"4":[2,102],"27":[2,102],"28":[2,102],"49":[2,102],"54":[2,102],"57":[2,102],"64":[2,102],"65":[2,102],"66":[2,102],"68":[2,102],"69":[2,102],"70":[2,102],"71":[2,102],"74":[2,102],"80":[2,102],"81":[2,102],"82":[2,102],"87":[2,102],"96":[2,102],"98":[2,102],"99":[2,102],"100":[2,102],"107":[2,102],"111":[2,102],"112":[2,102],"123":[2,102],"124":[2,102],"126":[2,102],"127":[2,102],"130":[2,102],"131":[2,102],"132":[2,102],"133":[2,102],"134":[2,102],"135":[2,102]},{"8":158,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,157],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":159,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"82":[1,191],"83":192,"84":[1,56],"85":[1,57],"86":[1,68],"88":156,"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"49":[1,193],"54":[1,194]},{"49":[2,56],"54":[2,56]},{"39":[1,196],"49":[2,58],"54":[2,58],"57":[1,195]},{"39":[2,61],"49":[2,61],"54":[2,61],"57":[2,61]},{"39":[2,62],"49":[2,62],"54":[2,62],"57":[2,62]},{"39":[2,63],"49":[2,63],"54":[2,63],"57":[2,63]},{"39":[2,64],"49":[2,64],"54":[2,64],"57":[2,64]},{"29":142,"30":[1,72]},{"1":[2,50],"4":[2,50],"27":[2,50],"28":[2,50],"49":[2,50],"54":[2,50],"57":[2,50],"69":[2,50],"74":[2,50],"82":[2,50],"87":[2,50],"96":[2,50],"98":[2,50],"99":[2,50],"100":[2,50],"107":[2,50],"111":[2,50],"112":[2,50],"123":[2,50],"124":[2,50],"126":[2,50],"127":[2,50],"130":[2,50],"131":[2,50],"132":[2,50],"133":[2,50],"134":[2,50],"135":[2,50]},{"1":[2,178],"4":[2,178],"27":[2,178],"28":[2,178],"49":[2,178],"54":[2,178],"57":[2,178],"69":[2,178],"74":[2,178],"82":[2,178],"87":[2,178],"96":[2,178],"97":87,"98":[2,178],"99":[2,178],"100":[2,178],"103":88,"107":[2,178],"111":[2,178],"112":[2,178],"123":[2,178],"124":[2,178],"126":[2,178],"127":[2,178],"130":[1,77],"131":[2,178],"132":[2,178],"133":[2,178],"134":[2,178],"135":[2,178]},{"97":91,"98":[1,64],"100":[1,65],"103":92,"112":[1,67],"123":[1,89],"124":[1,90]},{"1":[2,179],"4":[2,179],"27":[2,179],"28":[2,179],"49":[2,179],"54":[2,179],"57":[2,179],"69":[2,179],"74":[2,179],"82":[2,179],"87":[2,179],"96":[2,179],"97":87,"98":[2,179],"99":[2,179],"100":[2,179],"103":88,"107":[2,179],"111":[2,179],"112":[2,179],"123":[2,179],"124":[2,179],"126":[2,179],"127":[2,179],"130":[1,77],"131":[2,179],"132":[2,179],"133":[2,179],"134":[2,179],"135":[2,179]},{"1":[2,180],"4":[2,180],"27":[2,180],"28":[2,180],"49":[2,180],"54":[2,180],"57":[2,180],"69":[2,180],"74":[2,180],"82":[2,180],"87":[2,180],"96":[2,180],"97":87,"98":[2,180],"99":[2,180],"100":[2,180],"103":88,"107":[2,180],"111":[2,180],"112":[2,180],"123":[2,180],"124":[2,180],"126":[2,180],"127":[2,180],"130":[1,77],"131":[2,180],"132":[2,180],"133":[2,180],"134":[2,180],"135":[2,180]},{"1":[2,181],"4":[2,181],"27":[2,181],"28":[2,181],"49":[2,181],"54":[2,181],"57":[2,181],"64":[2,70],"65":[2,70],"66":[2,70],"68":[2,70],"69":[2,181],"70":[2,70],"71":[2,70],"74":[2,181],"80":[2,70],"81":[2,70],"82":[2,181],"87":[2,181],"96":[2,181],"98":[2,181],"99":[2,181],"100":[2,181],"107":[2,181],"111":[2,181],"112":[2,181],"123":[2,181],"124":[2,181],"126":[2,181],"127":[2,181],"130":[2,181],"131":[2,181],"132":[2,181],"133":[2,181],"134":[2,181],"135":[2,181]},{"62":94,"64":[1,96],"65":[1,97],"66":[1,98],"67":99,"68":[1,100],"70":[1,101],"71":[1,102],"77":93,"80":[1,95],"81":[2,103]},{"62":104,"64":[1,96],"65":[1,97],"66":[1,98],"67":99,"68":[1,100],"70":[1,101],"71":[1,102],"77":103,"80":[1,95],"81":[2,103]},{"1":[2,73],"4":[2,73],"27":[2,73],"28":[2,73],"49":[2,73],"54":[2,73],"57":[2,73],"64":[2,73],"65":[2,73],"66":[2,73],"68":[2,73],"69":[2,73],"70":[2,73],"71":[2,73],"74":[2,73],"80":[2,73],"81":[2,73],"82":[2,73],"87":[2,73],"96":[2,73],"98":[2,73],"99":[2,73],"100":[2,73],"107":[2,73],"111":[2,73],"112":[2,73],"123":[2,73],"124":[2,73],"126":[2,73],"127":[2,73],"130":[2,73],"131":[2,73],"132":[2,73],"133":[2,73],"134":[2,73],"135":[2,73]},{"1":[2,182],"4":[2,182],"27":[2,182],"28":[2,182],"49":[2,182],"54":[2,182],"57":[2,182],"64":[2,70],"65":[2,70],"66":[2,70],"68":[2,70],"69":[2,182],"70":[2,70],"71":[2,70],"74":[2,182],"80":[2,70],"81":[2,70],"82":[2,182],"87":[2,182],"96":[2,182],"98":[2,182],"99":[2,182],"100":[2,182],"107":[2,182],"111":[2,182],"112":[2,182],"123":[2,182],"124":[2,182],"126":[2,182],"127":[2,182],"130":[2,182],"131":[2,182],"132":[2,182],"133":[2,182],"134":[2,182],"135":[2,182]},{"1":[2,183],"4":[2,183],"27":[2,183],"28":[2,183],"49":[2,183],"54":[2,183],"57":[2,183],"69":[2,183],"74":[2,183],"82":[2,183],"87":[2,183],"96":[2,183],"98":[2,183],"99":[2,183],"100":[2,183],"107":[2,183],"111":[2,183],"112":[2,183],"123":[2,183],"124":[2,183],"126":[2,183],"127":[2,183],"130":[2,183],"131":[2,183],"132":[2,183],"133":[2,183],"134":[2,183],"135":[2,183]},{"1":[2,184],"4":[2,184],"27":[2,184],"28":[2,184],"49":[2,184],"54":[2,184],"57":[2,184],"69":[2,184],"74":[2,184],"82":[2,184],"87":[2,184],"96":[2,184],"98":[2,184],"99":[2,184],"100":[2,184],"107":[2,184],"111":[2,184],"112":[2,184],"123":[2,184],"124":[2,184],"126":[2,184],"127":[2,184],"130":[2,184],"131":[2,184],"132":[2,184],"133":[2,184],"134":[2,184],"135":[2,184]},{"8":197,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,198],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":199,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"6":201,"27":[1,6],"121":[1,200]},{"1":[2,121],"4":[2,121],"27":[2,121],"28":[2,121],"49":[2,121],"54":[2,121],"57":[2,121],"69":[2,121],"74":[2,121],"82":[2,121],"87":[2,121],"91":202,"92":[1,203],"93":[1,204],"96":[2,121],"98":[2,121],"99":[2,121],"100":[2,121],"107":[2,121],"111":[2,121],"112":[2,121],"123":[2,121],"124":[2,121],"126":[2,121],"127":[2,121],"130":[2,121],"131":[2,121],"132":[2,121],"133":[2,121],"134":[2,121],"135":[2,121]},{"1":[2,132],"4":[2,132],"27":[2,132],"28":[2,132],"49":[2,132],"54":[2,132],"57":[2,132],"69":[2,132],"74":[2,132],"82":[2,132],"87":[2,132],"96":[2,132],"98":[2,132],"99":[2,132],"100":[2,132],"107":[2,132],"111":[2,132],"112":[2,132],"123":[2,132],"124":[2,132],"126":[2,132],"127":[2,132],"130":[2,132],"131":[2,132],"132":[2,132],"133":[2,132],"134":[2,132],"135":[2,132]},{"1":[2,140],"4":[2,140],"27":[2,140],"28":[2,140],"49":[2,140],"54":[2,140],"57":[2,140],"69":[2,140],"74":[2,140],"82":[2,140],"87":[2,140],"96":[2,140],"98":[2,140],"99":[2,140],"100":[2,140],"107":[2,140],"111":[2,140],"112":[2,140],"123":[2,140],"124":[2,140],"126":[2,140],"127":[2,140],"130":[2,140],"131":[2,140],"132":[2,140],"133":[2,140],"134":[2,140],"135":[2,140]},{"27":[1,205],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"116":206,"118":207,"119":[1,208]},{"1":[2,92],"4":[2,92],"27":[2,92],"28":[2,92],"49":[2,92],"54":[2,92],"57":[2,92],"69":[2,92],"74":[2,92],"82":[2,92],"87":[2,92],"96":[2,92],"98":[2,92],"99":[2,92],"100":[2,92],"107":[2,92],"111":[2,92],"112":[2,92],"123":[2,92],"124":[2,92],"126":[2,92],"127":[2,92],"130":[2,92],"131":[2,92],"132":[2,92],"133":[2,92],"134":[2,92],"135":[2,92]},{"16":209,"17":123,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":124,"43":61,"44":28,"58":49,"59":50,"61":210,"63":29,"72":[1,69],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"95":[1,55]},{"1":[2,95],"4":[2,95],"6":211,"27":[1,6],"28":[2,95],"49":[2,95],"54":[2,95],"57":[2,95],"64":[2,70],"65":[2,70],"66":[2,70],"68":[2,70],"69":[2,95],"70":[2,70],"71":[2,70],"74":[2,95],"76":[1,212],"80":[2,70],"81":[2,70],"82":[2,95],"87":[2,95],"96":[2,95],"98":[2,95],"99":[2,95],"100":[2,95],"107":[2,95],"111":[2,95],"112":[2,95],"123":[2,95],"124":[2,95],"126":[2,95],"127":[2,95],"130":[2,95],"131":[2,95],"132":[2,95],"133":[2,95],"134":[2,95],"135":[2,95]},{"1":[2,46],"4":[2,46],"28":[2,46],"97":87,"98":[2,46],"100":[2,46],"103":88,"112":[2,46],"123":[2,46],"124":[2,46],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,126],"4":[2,126],"28":[2,126],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[2,126],"124":[2,126],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"96":[1,213],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,109],"4":[2,109],"27":[2,109],"28":[2,109],"39":[2,109],"49":[2,109],"54":[2,109],"57":[2,109],"64":[2,109],"65":[2,109],"66":[2,109],"68":[2,109],"69":[2,109],"70":[2,109],"71":[2,109],"74":[2,109],"76":[2,109],"80":[2,109],"81":[2,109],"82":[2,109],"87":[2,109],"96":[2,109],"98":[2,109],"99":[2,109],"100":[2,109],"107":[2,109],"111":[2,109],"112":[2,109],"123":[2,109],"124":[2,109],"126":[2,109],"127":[2,109],"128":[2,109],"129":[2,109],"130":[2,109],"131":[2,109],"132":[2,109],"133":[2,109],"134":[2,109],"135":[2,109],"136":[2,109]},{"6":214,"27":[1,6],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"6":215,"27":[1,6],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,128],"4":[2,128],"27":[2,128],"28":[2,128],"49":[2,128],"54":[2,128],"57":[2,128],"69":[2,128],"74":[2,128],"82":[2,128],"87":[2,128],"96":[2,128],"97":87,"98":[1,64],"99":[1,216],"100":[1,65],"103":88,"107":[2,128],"111":[2,128],"112":[1,67],"123":[2,128],"124":[2,128],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,130],"4":[2,130],"27":[2,130],"28":[2,130],"49":[2,130],"54":[2,130],"57":[2,130],"69":[2,130],"74":[2,130],"82":[2,130],"87":[2,130],"96":[2,130],"97":87,"98":[1,64],"99":[1,217],"100":[1,65],"103":88,"107":[2,130],"111":[2,130],"112":[1,67],"123":[2,130],"124":[2,130],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,136],"4":[2,136],"27":[2,136],"28":[2,136],"49":[2,136],"54":[2,136],"57":[2,136],"69":[2,136],"74":[2,136],"82":[2,136],"87":[2,136],"96":[2,136],"98":[2,136],"99":[2,136],"100":[2,136],"107":[2,136],"111":[2,136],"112":[2,136],"123":[2,136],"124":[2,136],"126":[2,136],"127":[2,136],"130":[2,136],"131":[2,136],"132":[2,136],"133":[2,136],"134":[2,136],"135":[2,136]},{"1":[2,137],"4":[2,137],"27":[2,137],"28":[2,137],"49":[2,137],"54":[2,137],"57":[2,137],"69":[2,137],"74":[2,137],"82":[2,137],"87":[2,137],"96":[2,137],"97":87,"98":[1,64],"99":[2,137],"100":[1,65],"103":88,"107":[2,137],"111":[2,137],"112":[1,67],"123":[2,137],"124":[2,137],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"54":[1,219],"105":218,"106":[1,220]},{"54":[2,141],"106":[2,141],"108":221,"109":[1,223],"114":[1,222]},{"29":224,"30":[1,72]},{"54":[2,142],"106":[2,142],"109":[2,142]},{"54":[2,143],"106":[2,143],"109":[2,143]},{"1":[2,110],"4":[2,110],"27":[2,110],"28":[2,110],"39":[2,110],"49":[2,110],"54":[2,110],"57":[2,110],"64":[2,110],"65":[2,110],"66":[2,110],"68":[2,110],"69":[2,110],"70":[2,110],"71":[2,110],"74":[2,110],"80":[2,110],"81":[2,110],"82":[2,110],"87":[2,110],"96":[2,110],"98":[2,110],"99":[2,110],"100":[2,110],"106":[2,110],"107":[2,110],"109":[2,110],"111":[2,110],"112":[2,110],"123":[2,110],"124":[2,110],"126":[2,110],"127":[2,110],"130":[2,110],"131":[2,110],"132":[2,110],"133":[2,110],"134":[2,110],"135":[2,110]},{"4":[2,53],"27":[2,53],"53":225,"54":[1,226],"87":[2,53]},{"4":[2,112],"27":[2,112],"28":[2,112],"54":[2,112],"82":[2,112],"87":[2,112]},{"8":158,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,157],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":159,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"83":227,"84":[1,56],"85":[1,57],"86":[1,68],"88":156,"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"4":[2,117],"27":[2,117],"28":[2,117],"54":[2,117],"57":[1,228],"82":[2,117],"87":[2,117],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"4":[2,118],"27":[2,118],"28":[2,118],"54":[2,118],"82":[2,118],"87":[2,118]},{"4":[2,53],"27":[2,53],"53":229,"54":[1,230],"74":[2,53]},{"4":[2,87],"27":[2,87],"28":[2,87],"54":[2,87],"74":[2,87]},{"4":[2,38],"27":[2,38],"28":[2,38],"42":[1,231],"54":[2,38],"74":[2,38]},{"4":[2,41],"27":[2,41],"28":[2,41],"54":[2,41],"74":[2,41]},{"4":[2,42],"27":[2,42],"28":[2,42],"54":[2,42],"74":[2,42]},{"4":[2,43],"27":[2,43],"28":[2,43],"42":[2,43],"54":[2,43],"74":[2,43]},{"4":[2,44],"27":[2,44],"28":[2,44],"42":[2,44],"54":[2,44],"74":[2,44]},{"4":[2,45],"27":[2,45],"28":[2,45],"42":[2,45],"54":[2,45],"74":[2,45]},{"1":[2,6],"4":[2,6],"28":[2,6]},{"1":[2,27],"4":[2,27],"27":[2,27],"28":[2,27],"49":[2,27],"54":[2,27],"57":[2,27],"69":[2,27],"74":[2,27],"82":[2,27],"87":[2,27],"92":[2,27],"93":[2,27],"96":[2,27],"98":[2,27],"99":[2,27],"100":[2,27],"107":[2,27],"111":[2,27],"112":[2,27],"117":[2,27],"119":[2,27],"123":[2,27],"124":[2,27],"126":[2,27],"127":[2,27],"130":[2,27],"131":[2,27],"132":[2,27],"133":[2,27],"134":[2,27],"135":[2,27]},{"1":[2,186],"4":[2,186],"27":[2,186],"28":[2,186],"49":[2,186],"54":[2,186],"57":[2,186],"69":[2,186],"74":[2,186],"82":[2,186],"87":[2,186],"96":[2,186],"97":87,"98":[2,186],"99":[2,186],"100":[2,186],"103":88,"107":[2,186],"111":[2,186],"112":[2,186],"123":[2,186],"124":[2,186],"126":[2,186],"127":[2,186],"130":[1,77],"131":[1,80],"132":[2,186],"133":[2,186],"134":[2,186],"135":[2,186]},{"1":[2,187],"4":[2,187],"27":[2,187],"28":[2,187],"49":[2,187],"54":[2,187],"57":[2,187],"69":[2,187],"74":[2,187],"82":[2,187],"87":[2,187],"96":[2,187],"97":87,"98":[2,187],"99":[2,187],"100":[2,187],"103":88,"107":[2,187],"111":[2,187],"112":[2,187],"123":[2,187],"124":[2,187],"126":[2,187],"127":[2,187],"130":[1,77],"131":[1,80],"132":[2,187],"133":[2,187],"134":[2,187],"135":[2,187]},{"1":[2,188],"4":[2,188],"27":[2,188],"28":[2,188],"49":[2,188],"54":[2,188],"57":[2,188],"69":[2,188],"74":[2,188],"82":[2,188],"87":[2,188],"96":[2,188],"97":87,"98":[2,188],"99":[2,188],"100":[2,188],"103":88,"107":[2,188],"111":[2,188],"112":[2,188],"123":[2,188],"124":[2,188],"126":[2,188],"127":[2,188],"130":[1,77],"131":[2,188],"132":[2,188],"133":[2,188],"134":[2,188],"135":[2,188]},{"1":[2,189],"4":[2,189],"27":[2,189],"28":[2,189],"49":[2,189],"54":[2,189],"57":[2,189],"69":[2,189],"74":[2,189],"82":[2,189],"87":[2,189],"96":[2,189],"97":87,"98":[2,189],"99":[2,189],"100":[2,189],"103":88,"107":[2,189],"111":[2,189],"112":[2,189],"123":[2,189],"124":[2,189],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[2,189],"133":[2,189],"134":[2,189],"135":[2,189]},{"1":[2,190],"4":[2,190],"27":[2,190],"28":[2,190],"49":[2,190],"54":[2,190],"57":[2,190],"69":[2,190],"74":[2,190],"82":[2,190],"87":[2,190],"96":[2,190],"97":87,"98":[2,190],"99":[2,190],"100":[2,190],"103":88,"107":[2,190],"111":[2,190],"112":[2,190],"123":[2,190],"124":[2,190],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[2,190],"134":[2,190],"135":[1,84]},{"1":[2,191],"4":[2,191],"27":[2,191],"28":[2,191],"49":[2,191],"54":[2,191],"57":[2,191],"69":[2,191],"74":[2,191],"82":[2,191],"87":[2,191],"96":[2,191],"97":87,"98":[2,191],"99":[2,191],"100":[2,191],"103":88,"107":[2,191],"111":[2,191],"112":[2,191],"123":[2,191],"124":[2,191],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[2,191],"135":[1,84]},{"1":[2,192],"4":[2,192],"27":[2,192],"28":[2,192],"49":[2,192],"54":[2,192],"57":[2,192],"69":[2,192],"74":[2,192],"82":[2,192],"87":[2,192],"96":[2,192],"97":87,"98":[2,192],"99":[2,192],"100":[2,192],"103":88,"107":[2,192],"111":[2,192],"112":[2,192],"123":[2,192],"124":[2,192],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[2,192],"134":[2,192],"135":[2,192]},{"1":[2,175],"4":[2,175],"27":[2,175],"28":[2,175],"49":[2,175],"54":[2,175],"57":[2,175],"69":[2,175],"74":[2,175],"82":[2,175],"87":[2,175],"96":[2,175],"97":87,"98":[1,64],"99":[2,175],"100":[1,65],"103":88,"107":[2,175],"111":[2,175],"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,177],"4":[2,177],"27":[2,177],"28":[2,177],"49":[2,177],"54":[2,177],"57":[2,177],"69":[2,177],"74":[2,177],"82":[2,177],"87":[2,177],"96":[2,177],"97":87,"98":[1,64],"99":[2,177],"100":[1,65],"103":88,"107":[2,177],"111":[2,177],"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,174],"4":[2,174],"27":[2,174],"28":[2,174],"49":[2,174],"54":[2,174],"57":[2,174],"69":[2,174],"74":[2,174],"82":[2,174],"87":[2,174],"96":[2,174],"97":87,"98":[1,64],"99":[2,174],"100":[1,65],"103":88,"107":[2,174],"111":[2,174],"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,176],"4":[2,176],"27":[2,176],"28":[2,176],"49":[2,176],"54":[2,176],"57":[2,176],"69":[2,176],"74":[2,176],"82":[2,176],"87":[2,176],"96":[2,176],"97":87,"98":[1,64],"99":[2,176],"100":[1,65],"103":88,"107":[2,176],"111":[2,176],"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,99],"4":[2,99],"27":[2,99],"28":[2,99],"49":[2,99],"54":[2,99],"57":[2,99],"64":[2,99],"65":[2,99],"66":[2,99],"68":[2,99],"69":[2,99],"70":[2,99],"71":[2,99],"74":[2,99],"80":[2,99],"81":[2,99],"82":[2,99],"87":[2,99],"96":[2,99],"98":[2,99],"99":[2,99],"100":[2,99],"107":[2,99],"111":[2,99],"112":[2,99],"123":[2,99],"124":[2,99],"126":[2,99],"127":[2,99],"130":[2,99],"131":[2,99],"132":[2,99],"133":[2,99],"134":[2,99],"135":[2,99]},{"1":[2,77],"4":[2,77],"27":[2,77],"28":[2,77],"39":[2,77],"49":[2,77],"54":[2,77],"57":[2,77],"64":[2,77],"65":[2,77],"66":[2,77],"68":[2,77],"69":[2,77],"70":[2,77],"71":[2,77],"74":[2,77],"76":[2,77],"80":[2,77],"81":[2,77],"82":[2,77],"87":[2,77],"96":[2,77],"98":[2,77],"99":[2,77],"100":[2,77],"107":[2,77],"111":[2,77],"112":[2,77],"123":[2,77],"124":[2,77],"126":[2,77],"127":[2,77],"128":[2,77],"129":[2,77],"130":[2,77],"131":[2,77],"132":[2,77],"133":[2,77],"134":[2,77],"135":[2,77],"136":[2,77]},{"1":[2,78],"4":[2,78],"27":[2,78],"28":[2,78],"39":[2,78],"49":[2,78],"54":[2,78],"57":[2,78],"64":[2,78],"65":[2,78],"66":[2,78],"68":[2,78],"69":[2,78],"70":[2,78],"71":[2,78],"74":[2,78],"76":[2,78],"80":[2,78],"81":[2,78],"82":[2,78],"87":[2,78],"96":[2,78],"98":[2,78],"99":[2,78],"100":[2,78],"107":[2,78],"111":[2,78],"112":[2,78],"123":[2,78],"124":[2,78],"126":[2,78],"127":[2,78],"128":[2,78],"129":[2,78],"130":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"134":[2,78],"135":[2,78],"136":[2,78]},{"1":[2,79],"4":[2,79],"27":[2,79],"28":[2,79],"39":[2,79],"49":[2,79],"54":[2,79],"57":[2,79],"64":[2,79],"65":[2,79],"66":[2,79],"68":[2,79],"69":[2,79],"70":[2,79],"71":[2,79],"74":[2,79],"76":[2,79],"80":[2,79],"81":[2,79],"82":[2,79],"87":[2,79],"96":[2,79],"98":[2,79],"99":[2,79],"100":[2,79],"107":[2,79],"111":[2,79],"112":[2,79],"123":[2,79],"124":[2,79],"126":[2,79],"127":[2,79],"128":[2,79],"129":[2,79],"130":[2,79],"131":[2,79],"132":[2,79],"133":[2,79],"134":[2,79],"135":[2,79],"136":[2,79]},{"69":[1,232],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,83],"4":[2,83],"27":[2,83],"28":[2,83],"39":[2,83],"49":[2,83],"54":[2,83],"57":[2,83],"64":[2,83],"65":[2,83],"66":[2,83],"68":[2,83],"69":[2,83],"70":[2,83],"71":[2,83],"74":[2,83],"76":[2,83],"80":[2,83],"81":[2,83],"82":[2,83],"87":[2,83],"96":[2,83],"98":[2,83],"99":[2,83],"100":[2,83],"107":[2,83],"111":[2,83],"112":[2,83],"123":[2,83],"124":[2,83],"126":[2,83],"127":[2,83],"128":[2,83],"129":[2,83],"130":[2,83],"131":[2,83],"132":[2,83],"133":[2,83],"134":[2,83],"135":[2,83],"136":[2,83]},{"1":[2,84],"4":[2,84],"27":[2,84],"28":[2,84],"39":[2,84],"49":[2,84],"54":[2,84],"57":[2,84],"64":[2,84],"65":[2,84],"66":[2,84],"68":[2,84],"69":[2,84],"70":[2,84],"71":[2,84],"74":[2,84],"76":[2,84],"80":[2,84],"81":[2,84],"82":[2,84],"87":[2,84],"96":[2,84],"98":[2,84],"99":[2,84],"100":[2,84],"107":[2,84],"111":[2,84],"112":[2,84],"123":[2,84],"124":[2,84],"126":[2,84],"127":[2,84],"128":[2,84],"129":[2,84],"130":[2,84],"131":[2,84],"132":[2,84],"133":[2,84],"134":[2,84],"135":[2,84],"136":[2,84]},{"1":[2,100],"4":[2,100],"27":[2,100],"28":[2,100],"49":[2,100],"54":[2,100],"57":[2,100],"64":[2,100],"65":[2,100],"66":[2,100],"68":[2,100],"69":[2,100],"70":[2,100],"71":[2,100],"74":[2,100],"80":[2,100],"81":[2,100],"82":[2,100],"87":[2,100],"96":[2,100],"98":[2,100],"99":[2,100],"100":[2,100],"107":[2,100],"111":[2,100],"112":[2,100],"123":[2,100],"124":[2,100],"126":[2,100],"127":[2,100],"130":[2,100],"131":[2,100],"132":[2,100],"133":[2,100],"134":[2,100],"135":[2,100]},{"1":[2,36],"4":[2,36],"27":[2,36],"28":[2,36],"49":[2,36],"54":[2,36],"57":[2,36],"69":[2,36],"74":[2,36],"82":[2,36],"87":[2,36],"96":[2,36],"97":87,"98":[2,36],"99":[2,36],"100":[2,36],"103":88,"107":[2,36],"111":[2,36],"112":[2,36],"123":[2,36],"124":[2,36],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"8":233,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,105],"4":[2,105],"27":[2,105],"28":[2,105],"49":[2,105],"54":[2,105],"57":[2,105],"64":[2,105],"65":[2,105],"66":[2,105],"68":[2,105],"69":[2,105],"70":[2,105],"71":[2,105],"74":[2,105],"80":[2,105],"81":[2,105],"82":[2,105],"87":[2,105],"96":[2,105],"98":[2,105],"99":[2,105],"100":[2,105],"107":[2,105],"111":[2,105],"112":[2,105],"123":[2,105],"124":[2,105],"126":[2,105],"127":[2,105],"130":[2,105],"131":[2,105],"132":[2,105],"133":[2,105],"134":[2,105],"135":[2,105]},{"4":[2,53],"27":[2,53],"53":234,"54":[1,226],"82":[2,53]},{"50":235,"51":[1,58],"52":[1,59]},{"29":111,"30":[1,72],"43":112,"55":236,"56":110,"58":113,"59":114,"72":[1,69],"85":[1,115],"86":[1,68]},{"49":[2,59],"54":[2,59]},{"8":237,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,193],"4":[2,193],"27":[2,193],"28":[2,193],"49":[2,193],"54":[2,193],"57":[2,193],"69":[2,193],"74":[2,193],"82":[2,193],"87":[2,193],"96":[2,193],"97":87,"98":[2,193],"99":[2,193],"100":[2,193],"103":88,"107":[2,193],"111":[2,193],"112":[2,193],"123":[2,193],"124":[2,193],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"8":238,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,195],"4":[2,195],"27":[2,195],"28":[2,195],"49":[2,195],"54":[2,195],"57":[2,195],"69":[2,195],"74":[2,195],"82":[2,195],"87":[2,195],"96":[2,195],"97":87,"98":[2,195],"99":[2,195],"100":[2,195],"103":88,"107":[2,195],"111":[2,195],"112":[2,195],"123":[2,195],"124":[2,195],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"8":239,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,172],"4":[2,172],"27":[2,172],"28":[2,172],"49":[2,172],"54":[2,172],"57":[2,172],"69":[2,172],"74":[2,172],"82":[2,172],"87":[2,172],"96":[2,172],"98":[2,172],"99":[2,172],"100":[2,172],"107":[2,172],"111":[2,172],"112":[2,172],"117":[2,172],"123":[2,172],"124":[2,172],"126":[2,172],"127":[2,172],"130":[2,172],"131":[2,172],"132":[2,172],"133":[2,172],"134":[2,172],"135":[2,172]},{"1":[2,122],"4":[2,122],"27":[2,122],"28":[2,122],"49":[2,122],"54":[2,122],"57":[2,122],"69":[2,122],"74":[2,122],"82":[2,122],"87":[2,122],"92":[1,240],"96":[2,122],"98":[2,122],"99":[2,122],"100":[2,122],"107":[2,122],"111":[2,122],"112":[2,122],"123":[2,122],"124":[2,122],"126":[2,122],"127":[2,122],"130":[2,122],"131":[2,122],"132":[2,122],"133":[2,122],"134":[2,122],"135":[2,122]},{"6":241,"27":[1,6]},{"29":242,"30":[1,72]},{"116":243,"118":207,"119":[1,208]},{"28":[1,244],"117":[1,245],"118":246,"119":[1,208]},{"28":[2,165],"117":[2,165],"119":[2,165]},{"8":248,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"89":247,"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,93],"4":[2,93],"6":249,"27":[1,6],"28":[2,93],"49":[2,93],"54":[2,93],"57":[2,93],"62":94,"64":[1,96],"65":[1,97],"66":[1,98],"67":99,"68":[1,100],"69":[2,93],"70":[1,101],"71":[1,102],"74":[2,93],"77":93,"80":[1,95],"81":[2,103],"82":[2,93],"87":[2,93],"96":[2,93],"98":[2,93],"99":[2,93],"100":[2,93],"107":[2,93],"111":[2,93],"112":[2,93],"123":[2,93],"124":[2,93],"126":[2,93],"127":[2,93],"130":[2,93],"131":[2,93],"132":[2,93],"133":[2,93],"134":[2,93],"135":[2,93]},{"1":[2,70],"4":[2,70],"27":[2,70],"28":[2,70],"49":[2,70],"54":[2,70],"57":[2,70],"64":[2,70],"65":[2,70],"66":[2,70],"68":[2,70],"69":[2,70],"70":[2,70],"71":[2,70],"74":[2,70],"80":[2,70],"81":[2,70],"82":[2,70],"87":[2,70],"96":[2,70],"98":[2,70],"99":[2,70],"100":[2,70],"107":[2,70],"111":[2,70],"112":[2,70],"123":[2,70],"124":[2,70],"126":[2,70],"127":[2,70],"130":[2,70],"131":[2,70],"132":[2,70],"133":[2,70],"134":[2,70],"135":[2,70]},{"1":[2,96],"4":[2,96],"27":[2,96],"28":[2,96],"49":[2,96],"54":[2,96],"57":[2,96],"69":[2,96],"74":[2,96],"82":[2,96],"87":[2,96],"96":[2,96],"98":[2,96],"99":[2,96],"100":[2,96],"107":[2,96],"111":[2,96],"112":[2,96],"123":[2,96],"124":[2,96],"126":[2,96],"127":[2,96],"130":[2,96],"131":[2,96],"132":[2,96],"133":[2,96],"134":[2,96],"135":[2,96]},{"16":250,"17":123,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":124,"43":61,"44":28,"58":49,"59":50,"61":210,"63":29,"72":[1,69],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"95":[1,55]},{"1":[2,127],"4":[2,127],"27":[2,127],"28":[2,127],"42":[2,127],"49":[2,127],"54":[2,127],"57":[2,127],"64":[2,127],"65":[2,127],"66":[2,127],"68":[2,127],"69":[2,127],"70":[2,127],"71":[2,127],"74":[2,127],"80":[2,127],"81":[2,127],"82":[2,127],"87":[2,127],"96":[2,127],"98":[2,127],"99":[2,127],"100":[2,127],"107":[2,127],"111":[2,127],"112":[2,127],"123":[2,127],"124":[2,127],"126":[2,127],"127":[2,127],"130":[2,127],"131":[2,127],"132":[2,127],"133":[2,127],"134":[2,127],"135":[2,127]},{"1":[2,169],"4":[2,169],"27":[2,169],"28":[2,169],"49":[2,169],"54":[2,169],"57":[2,169],"69":[2,169],"74":[2,169],"82":[2,169],"87":[2,169],"96":[2,169],"98":[2,169],"99":[2,169],"100":[2,169],"107":[2,169],"111":[2,169],"112":[2,169],"117":[2,169],"123":[2,169],"124":[2,169],"126":[2,169],"127":[2,169],"130":[2,169],"131":[2,169],"132":[2,169],"133":[2,169],"134":[2,169],"135":[2,169]},{"1":[2,170],"4":[2,170],"27":[2,170],"28":[2,170],"49":[2,170],"54":[2,170],"57":[2,170],"69":[2,170],"74":[2,170],"82":[2,170],"87":[2,170],"96":[2,170],"98":[2,170],"99":[2,170],"100":[2,170],"107":[2,170],"111":[2,170],"112":[2,170],"117":[2,170],"123":[2,170],"124":[2,170],"126":[2,170],"127":[2,170],"130":[2,170],"131":[2,170],"132":[2,170],"133":[2,170],"134":[2,170],"135":[2,170]},{"8":251,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":252,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,154],"4":[2,154],"27":[2,154],"28":[2,154],"49":[2,154],"54":[2,154],"57":[2,154],"69":[2,154],"74":[2,154],"82":[2,154],"87":[2,154],"96":[2,154],"98":[2,154],"99":[2,154],"100":[2,154],"107":[2,154],"111":[2,154],"112":[2,154],"123":[2,154],"124":[2,154],"126":[2,154],"127":[2,154],"130":[2,154],"131":[2,154],"132":[2,154],"133":[2,154],"134":[2,154],"135":[2,154]},{"29":253,"30":[1,72],"58":152,"59":153,"72":[1,69],"86":[1,68],"104":254},{"8":255,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,156],"4":[2,156],"27":[2,156],"28":[2,156],"49":[2,156],"54":[2,156],"57":[2,156],"69":[2,156],"74":[2,156],"82":[2,156],"87":[2,156],"96":[2,156],"98":[2,156],"99":[2,156],"100":[2,156],"107":[2,156],"111":[2,156],"112":[2,156],"123":[2,156],"124":[2,156],"126":[2,156],"127":[2,156],"130":[2,156],"131":[2,156],"132":[2,156],"133":[2,156],"134":[2,156],"135":[2,156]},{"8":256,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":257,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"54":[1,259],"108":258,"109":[1,223]},{"4":[1,261],"27":[1,262],"87":[1,260]},{"4":[2,54],"8":158,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[2,54],"28":[2,54],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":159,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"82":[2,54],"84":[1,56],"85":[1,57],"86":[1,68],"87":[2,54],"88":263,"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"4":[2,53],"27":[2,53],"28":[2,53],"53":264,"54":[1,226]},{"4":[2,65],"27":[2,65],"28":[2,65],"54":[2,65],"82":[2,65],"87":[2,65]},{"4":[1,266],"27":[1,267],"74":[1,265]},{"4":[2,54],"15":164,"27":[2,54],"28":[2,54],"29":165,"30":[1,72],"31":166,"32":[1,70],"33":[1,71],"40":268,"41":162,"43":163,"44":167,"46":[1,48],"74":[2,54],"85":[1,115],"95":[1,55]},{"8":269,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,270],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,82],"4":[2,82],"27":[2,82],"28":[2,82],"39":[2,82],"49":[2,82],"54":[2,82],"57":[2,82],"64":[2,82],"65":[2,82],"66":[2,82],"68":[2,82],"69":[2,82],"70":[2,82],"71":[2,82],"74":[2,82],"76":[2,82],"80":[2,82],"81":[2,82],"82":[2,82],"87":[2,82],"96":[2,82],"98":[2,82],"99":[2,82],"100":[2,82],"107":[2,82],"111":[2,82],"112":[2,82],"123":[2,82],"124":[2,82],"126":[2,82],"127":[2,82],"128":[2,82],"129":[2,82],"130":[2,82],"131":[2,82],"132":[2,82],"133":[2,82],"134":[2,82],"135":[2,82],"136":[2,82]},{"28":[1,271],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"4":[1,261],"27":[1,262],"82":[1,272]},{"6":273,"27":[1,6]},{"49":[2,57],"54":[2,57]},{"49":[2,60],"54":[2,60],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"28":[1,274],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"6":275,"27":[1,6],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"6":276,"27":[1,6]},{"1":[2,123],"4":[2,123],"27":[2,123],"28":[2,123],"49":[2,123],"54":[2,123],"57":[2,123],"69":[2,123],"74":[2,123],"82":[2,123],"87":[2,123],"96":[2,123],"98":[2,123],"99":[2,123],"100":[2,123],"107":[2,123],"111":[2,123],"112":[2,123],"123":[2,123],"124":[2,123],"126":[2,123],"127":[2,123],"130":[2,123],"131":[2,123],"132":[2,123],"133":[2,123],"134":[2,123],"135":[2,123]},{"6":277,"27":[1,6]},{"28":[1,278],"117":[1,279],"118":246,"119":[1,208]},{"1":[2,163],"4":[2,163],"27":[2,163],"28":[2,163],"49":[2,163],"54":[2,163],"57":[2,163],"69":[2,163],"74":[2,163],"82":[2,163],"87":[2,163],"96":[2,163],"98":[2,163],"99":[2,163],"100":[2,163],"107":[2,163],"111":[2,163],"112":[2,163],"123":[2,163],"124":[2,163],"126":[2,163],"127":[2,163],"130":[2,163],"131":[2,163],"132":[2,163],"133":[2,163],"134":[2,163],"135":[2,163]},{"6":280,"27":[1,6]},{"28":[2,166],"117":[2,166],"119":[2,166]},{"6":281,"27":[1,6],"54":[1,282]},{"27":[2,119],"54":[2,119],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,94],"4":[2,94],"27":[2,94],"28":[2,94],"49":[2,94],"54":[2,94],"57":[2,94],"69":[2,94],"74":[2,94],"82":[2,94],"87":[2,94],"96":[2,94],"98":[2,94],"99":[2,94],"100":[2,94],"107":[2,94],"111":[2,94],"112":[2,94],"123":[2,94],"124":[2,94],"126":[2,94],"127":[2,94],"130":[2,94],"131":[2,94],"132":[2,94],"133":[2,94],"134":[2,94],"135":[2,94]},{"1":[2,97],"4":[2,97],"6":283,"27":[1,6],"28":[2,97],"49":[2,97],"54":[2,97],"57":[2,97],"62":94,"64":[1,96],"65":[1,97],"66":[1,98],"67":99,"68":[1,100],"69":[2,97],"70":[1,101],"71":[1,102],"74":[2,97],"77":93,"80":[1,95],"81":[2,103],"82":[2,97],"87":[2,97],"96":[2,97],"98":[2,97],"99":[2,97],"100":[2,97],"107":[2,97],"111":[2,97],"112":[2,97],"123":[2,97],"124":[2,97],"126":[2,97],"127":[2,97],"130":[2,97],"131":[2,97],"132":[2,97],"133":[2,97],"134":[2,97],"135":[2,97]},{"1":[2,129],"4":[2,129],"27":[2,129],"28":[2,129],"49":[2,129],"54":[2,129],"57":[2,129],"69":[2,129],"74":[2,129],"82":[2,129],"87":[2,129],"96":[2,129],"97":87,"98":[1,64],"99":[2,129],"100":[1,65],"103":88,"107":[2,129],"111":[2,129],"112":[1,67],"123":[2,129],"124":[2,129],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,131],"4":[2,131],"27":[2,131],"28":[2,131],"49":[2,131],"54":[2,131],"57":[2,131],"69":[2,131],"74":[2,131],"82":[2,131],"87":[2,131],"96":[2,131],"97":87,"98":[1,64],"99":[2,131],"100":[1,65],"103":88,"107":[2,131],"111":[2,131],"112":[1,67],"123":[2,131],"124":[2,131],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"105":284,"106":[1,220],"109":[2,141]},{"108":285,"109":[1,223]},{"1":[2,144],"4":[2,144],"27":[2,144],"28":[2,144],"49":[2,144],"54":[2,144],"57":[2,144],"69":[2,144],"74":[2,144],"82":[2,144],"87":[2,144],"96":[2,144],"97":87,"98":[1,64],"99":[1,286],"100":[1,65],"103":88,"107":[1,287],"111":[2,144],"112":[1,67],"123":[2,144],"124":[2,144],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"97":87,"98":[1,64],"100":[1,65],"103":88,"110":288,"111":[1,289],"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,148],"4":[2,148],"27":[2,148],"28":[2,148],"49":[2,148],"54":[2,148],"57":[2,148],"69":[2,148],"74":[2,148],"82":[2,148],"87":[2,148],"96":[2,148],"97":87,"98":[1,64],"99":[1,290],"100":[1,65],"103":88,"107":[2,148],"111":[2,148],"112":[1,67],"123":[2,148],"124":[2,148],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,158],"4":[2,158],"27":[2,158],"28":[2,158],"49":[2,158],"54":[2,158],"57":[2,158],"69":[2,158],"74":[2,158],"82":[2,158],"87":[2,158],"96":[2,158],"98":[2,158],"99":[2,158],"100":[2,158],"107":[2,158],"111":[2,158],"112":[2,158],"123":[2,158],"124":[2,158],"126":[2,158],"127":[2,158],"130":[2,158],"131":[2,158],"132":[2,158],"133":[2,158],"134":[2,158],"135":[2,158]},{"29":292,"30":[1,72],"58":152,"59":153,"72":[1,69],"86":[1,68],"104":291},{"1":[2,111],"4":[2,111],"27":[2,111],"28":[2,111],"39":[2,111],"49":[2,111],"54":[2,111],"57":[2,111],"64":[2,111],"65":[2,111],"66":[2,111],"68":[2,111],"69":[2,111],"70":[2,111],"71":[2,111],"74":[2,111],"80":[2,111],"81":[2,111],"82":[2,111],"87":[2,111],"96":[2,111],"98":[2,111],"99":[2,111],"100":[2,111],"106":[2,111],"107":[2,111],"109":[2,111],"111":[2,111],"112":[2,111],"123":[2,111],"124":[2,111],"126":[2,111],"127":[2,111],"130":[2,111],"131":[2,111],"132":[2,111],"133":[2,111],"134":[2,111],"135":[2,111]},{"8":158,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":159,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"88":293,"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":158,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"27":[1,157],"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"60":159,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"83":294,"84":[1,56],"85":[1,57],"86":[1,68],"88":156,"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"4":[2,113],"27":[2,113],"28":[2,113],"54":[2,113],"82":[2,113],"87":[2,113]},{"4":[1,261],"27":[1,262],"28":[1,295]},{"1":[2,85],"4":[2,85],"27":[2,85],"28":[2,85],"39":[2,85],"49":[2,85],"54":[2,85],"57":[2,85],"64":[2,85],"65":[2,85],"66":[2,85],"68":[2,85],"69":[2,85],"70":[2,85],"71":[2,85],"74":[2,85],"80":[2,85],"81":[2,85],"82":[2,85],"87":[2,85],"96":[2,85],"98":[2,85],"99":[2,85],"100":[2,85],"106":[2,85],"107":[2,85],"109":[2,85],"111":[2,85],"112":[2,85],"123":[2,85],"124":[2,85],"126":[2,85],"127":[2,85],"130":[2,85],"131":[2,85],"132":[2,85],"133":[2,85],"134":[2,85],"135":[2,85]},{"15":164,"29":165,"30":[1,72],"31":166,"32":[1,70],"33":[1,71],"40":296,"41":162,"43":163,"44":167,"46":[1,48],"85":[1,115],"95":[1,55]},{"4":[2,86],"15":164,"27":[2,86],"28":[2,86],"29":165,"30":[1,72],"31":166,"32":[1,70],"33":[1,71],"40":161,"41":162,"43":163,"44":167,"46":[1,48],"54":[2,86],"73":297,"85":[1,115],"95":[1,55]},{"4":[2,88],"27":[2,88],"28":[2,88],"54":[2,88],"74":[2,88]},{"4":[2,39],"27":[2,39],"28":[2,39],"54":[2,39],"74":[2,39],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"8":298,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,37],"4":[2,37],"27":[2,37],"28":[2,37],"49":[2,37],"54":[2,37],"57":[2,37],"69":[2,37],"74":[2,37],"82":[2,37],"87":[2,37],"96":[2,37],"98":[2,37],"99":[2,37],"100":[2,37],"107":[2,37],"111":[2,37],"112":[2,37],"123":[2,37],"124":[2,37],"126":[2,37],"127":[2,37],"130":[2,37],"131":[2,37],"132":[2,37],"133":[2,37],"134":[2,37],"135":[2,37]},{"1":[2,106],"4":[2,106],"27":[2,106],"28":[2,106],"49":[2,106],"54":[2,106],"57":[2,106],"64":[2,106],"65":[2,106],"66":[2,106],"68":[2,106],"69":[2,106],"70":[2,106],"71":[2,106],"74":[2,106],"80":[2,106],"81":[2,106],"82":[2,106],"87":[2,106],"96":[2,106],"98":[2,106],"99":[2,106],"100":[2,106],"107":[2,106],"111":[2,106],"112":[2,106],"123":[2,106],"124":[2,106],"126":[2,106],"127":[2,106],"130":[2,106],"131":[2,106],"132":[2,106],"133":[2,106],"134":[2,106],"135":[2,106]},{"1":[2,49],"4":[2,49],"27":[2,49],"28":[2,49],"49":[2,49],"54":[2,49],"57":[2,49],"69":[2,49],"74":[2,49],"82":[2,49],"87":[2,49],"96":[2,49],"98":[2,49],"99":[2,49],"100":[2,49],"107":[2,49],"111":[2,49],"112":[2,49],"123":[2,49],"124":[2,49],"126":[2,49],"127":[2,49],"130":[2,49],"131":[2,49],"132":[2,49],"133":[2,49],"134":[2,49],"135":[2,49]},{"1":[2,194],"4":[2,194],"27":[2,194],"28":[2,194],"49":[2,194],"54":[2,194],"57":[2,194],"69":[2,194],"74":[2,194],"82":[2,194],"87":[2,194],"96":[2,194],"98":[2,194],"99":[2,194],"100":[2,194],"107":[2,194],"111":[2,194],"112":[2,194],"123":[2,194],"124":[2,194],"126":[2,194],"127":[2,194],"130":[2,194],"131":[2,194],"132":[2,194],"133":[2,194],"134":[2,194],"135":[2,194]},{"1":[2,171],"4":[2,171],"27":[2,171],"28":[2,171],"49":[2,171],"54":[2,171],"57":[2,171],"69":[2,171],"74":[2,171],"82":[2,171],"87":[2,171],"96":[2,171],"98":[2,171],"99":[2,171],"100":[2,171],"107":[2,171],"111":[2,171],"112":[2,171],"117":[2,171],"123":[2,171],"124":[2,171],"126":[2,171],"127":[2,171],"130":[2,171],"131":[2,171],"132":[2,171],"133":[2,171],"134":[2,171],"135":[2,171]},{"1":[2,124],"4":[2,124],"27":[2,124],"28":[2,124],"49":[2,124],"54":[2,124],"57":[2,124],"69":[2,124],"74":[2,124],"82":[2,124],"87":[2,124],"96":[2,124],"98":[2,124],"99":[2,124],"100":[2,124],"107":[2,124],"111":[2,124],"112":[2,124],"123":[2,124],"124":[2,124],"126":[2,124],"127":[2,124],"130":[2,124],"131":[2,124],"132":[2,124],"133":[2,124],"134":[2,124],"135":[2,124]},{"1":[2,125],"4":[2,125],"27":[2,125],"28":[2,125],"49":[2,125],"54":[2,125],"57":[2,125],"69":[2,125],"74":[2,125],"82":[2,125],"87":[2,125],"92":[2,125],"96":[2,125],"98":[2,125],"99":[2,125],"100":[2,125],"107":[2,125],"111":[2,125],"112":[2,125],"123":[2,125],"124":[2,125],"126":[2,125],"127":[2,125],"130":[2,125],"131":[2,125],"132":[2,125],"133":[2,125],"134":[2,125],"135":[2,125]},{"1":[2,161],"4":[2,161],"27":[2,161],"28":[2,161],"49":[2,161],"54":[2,161],"57":[2,161],"69":[2,161],"74":[2,161],"82":[2,161],"87":[2,161],"96":[2,161],"98":[2,161],"99":[2,161],"100":[2,161],"107":[2,161],"111":[2,161],"112":[2,161],"123":[2,161],"124":[2,161],"126":[2,161],"127":[2,161],"130":[2,161],"131":[2,161],"132":[2,161],"133":[2,161],"134":[2,161],"135":[2,161]},{"6":299,"27":[1,6]},{"28":[1,300]},{"4":[1,301],"28":[2,167],"117":[2,167],"119":[2,167]},{"8":302,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,98],"4":[2,98],"27":[2,98],"28":[2,98],"49":[2,98],"54":[2,98],"57":[2,98],"69":[2,98],"74":[2,98],"82":[2,98],"87":[2,98],"96":[2,98],"98":[2,98],"99":[2,98],"100":[2,98],"107":[2,98],"111":[2,98],"112":[2,98],"123":[2,98],"124":[2,98],"126":[2,98],"127":[2,98],"130":[2,98],"131":[2,98],"132":[2,98],"133":[2,98],"134":[2,98],"135":[2,98]},{"1":[2,155],"4":[2,155],"27":[2,155],"28":[2,155],"49":[2,155],"54":[2,155],"57":[2,155],"69":[2,155],"74":[2,155],"82":[2,155],"87":[2,155],"96":[2,155],"98":[2,155],"99":[2,155],"100":[2,155],"107":[2,155],"111":[2,155],"112":[2,155],"123":[2,155],"124":[2,155],"126":[2,155],"127":[2,155],"130":[2,155],"131":[2,155],"132":[2,155],"133":[2,155],"134":[2,155],"135":[2,155]},{"1":[2,157],"4":[2,157],"27":[2,157],"28":[2,157],"49":[2,157],"54":[2,157],"57":[2,157],"69":[2,157],"74":[2,157],"82":[2,157],"87":[2,157],"96":[2,157],"98":[2,157],"99":[2,157],"100":[2,157],"107":[2,157],"111":[2,157],"112":[2,157],"123":[2,157],"124":[2,157],"126":[2,157],"127":[2,157],"130":[2,157],"131":[2,157],"132":[2,157],"133":[2,157],"134":[2,157],"135":[2,157]},{"8":303,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":304,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,160],"4":[2,160],"27":[2,160],"28":[2,160],"49":[2,160],"54":[2,160],"57":[2,160],"69":[2,160],"74":[2,160],"82":[2,160],"87":[2,160],"96":[2,160],"98":[2,160],"99":[2,160],"100":[2,160],"107":[2,160],"111":[2,160],"112":[2,160],"123":[2,160],"124":[2,160],"126":[2,160],"127":[2,160],"130":[2,160],"131":[2,160],"132":[2,160],"133":[2,160],"134":[2,160],"135":[2,160]},{"8":305,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":306,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"108":307,"109":[1,223]},{"109":[2,141]},{"4":[2,114],"27":[2,114],"28":[2,114],"54":[2,114],"82":[2,114],"87":[2,114]},{"4":[2,53],"27":[2,53],"28":[2,53],"53":308,"54":[1,226]},{"4":[2,115],"27":[2,115],"28":[2,115],"54":[2,115],"82":[2,115],"87":[2,115]},{"4":[2,89],"27":[2,89],"28":[2,89],"54":[2,89],"74":[2,89]},{"4":[2,53],"27":[2,53],"28":[2,53],"53":309,"54":[1,230]},{"28":[1,310],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"28":[1,311]},{"1":[2,164],"4":[2,164],"27":[2,164],"28":[2,164],"49":[2,164],"54":[2,164],"57":[2,164],"69":[2,164],"74":[2,164],"82":[2,164],"87":[2,164],"96":[2,164],"98":[2,164],"99":[2,164],"100":[2,164],"107":[2,164],"111":[2,164],"112":[2,164],"123":[2,164],"124":[2,164],"126":[2,164],"127":[2,164],"130":[2,164],"131":[2,164],"132":[2,164],"133":[2,164],"134":[2,164],"135":[2,164]},{"28":[2,168],"117":[2,168],"119":[2,168]},{"27":[2,120],"54":[2,120],"97":87,"98":[1,64],"100":[1,65],"103":88,"112":[1,67],"123":[1,85],"124":[1,86],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,145],"4":[2,145],"27":[2,145],"28":[2,145],"49":[2,145],"54":[2,145],"57":[2,145],"69":[2,145],"74":[2,145],"82":[2,145],"87":[2,145],"96":[2,145],"97":87,"98":[1,64],"99":[2,145],"100":[1,65],"103":88,"107":[2,145],"111":[2,145],"112":[1,67],"123":[2,145],"124":[2,145],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,146],"4":[2,146],"27":[2,146],"28":[2,146],"49":[2,146],"54":[2,146],"57":[2,146],"69":[2,146],"74":[2,146],"82":[2,146],"87":[2,146],"96":[2,146],"97":87,"98":[1,64],"99":[1,312],"100":[1,65],"103":88,"107":[2,146],"111":[2,146],"112":[1,67],"123":[2,146],"124":[2,146],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,150],"4":[2,150],"27":[2,150],"28":[2,150],"49":[2,150],"54":[2,150],"57":[2,150],"69":[2,150],"74":[2,150],"82":[2,150],"87":[2,150],"96":[2,150],"97":87,"98":[1,64],"99":[1,313],"100":[1,65],"103":88,"107":[1,314],"111":[2,150],"112":[1,67],"123":[2,150],"124":[2,150],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,149],"4":[2,149],"27":[2,149],"28":[2,149],"49":[2,149],"54":[2,149],"57":[2,149],"69":[2,149],"74":[2,149],"82":[2,149],"87":[2,149],"96":[2,149],"97":87,"98":[1,64],"99":[2,149],"100":[1,65],"103":88,"107":[2,149],"111":[2,149],"112":[1,67],"123":[2,149],"124":[2,149],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,159],"4":[2,159],"27":[2,159],"28":[2,159],"49":[2,159],"54":[2,159],"57":[2,159],"69":[2,159],"74":[2,159],"82":[2,159],"87":[2,159],"96":[2,159],"98":[2,159],"99":[2,159],"100":[2,159],"107":[2,159],"111":[2,159],"112":[2,159],"123":[2,159],"124":[2,159],"126":[2,159],"127":[2,159],"130":[2,159],"131":[2,159],"132":[2,159],"133":[2,159],"134":[2,159],"135":[2,159]},{"4":[1,261],"27":[1,262],"28":[1,315]},{"4":[1,266],"27":[1,267],"28":[1,316]},{"4":[2,40],"27":[2,40],"28":[2,40],"54":[2,40],"74":[2,40]},{"1":[2,162],"4":[2,162],"27":[2,162],"28":[2,162],"49":[2,162],"54":[2,162],"57":[2,162],"69":[2,162],"74":[2,162],"82":[2,162],"87":[2,162],"96":[2,162],"98":[2,162],"99":[2,162],"100":[2,162],"107":[2,162],"111":[2,162],"112":[2,162],"123":[2,162],"124":[2,162],"126":[2,162],"127":[2,162],"130":[2,162],"131":[2,162],"132":[2,162],"133":[2,162],"134":[2,162],"135":[2,162]},{"8":317,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":318,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"8":319,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"4":[2,116],"27":[2,116],"28":[2,116],"54":[2,116],"82":[2,116],"87":[2,116]},{"4":[2,90],"27":[2,90],"28":[2,90],"54":[2,90],"74":[2,90]},{"1":[2,147],"4":[2,147],"27":[2,147],"28":[2,147],"49":[2,147],"54":[2,147],"57":[2,147],"69":[2,147],"74":[2,147],"82":[2,147],"87":[2,147],"96":[2,147],"97":87,"98":[1,64],"99":[2,147],"100":[1,65],"103":88,"107":[2,147],"111":[2,147],"112":[1,67],"123":[2,147],"124":[2,147],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,151],"4":[2,151],"27":[2,151],"28":[2,151],"49":[2,151],"54":[2,151],"57":[2,151],"69":[2,151],"74":[2,151],"82":[2,151],"87":[2,151],"96":[2,151],"97":87,"98":[1,64],"99":[2,151],"100":[1,65],"103":88,"107":[2,151],"111":[2,151],"112":[1,67],"123":[2,151],"124":[2,151],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"1":[2,152],"4":[2,152],"27":[2,152],"28":[2,152],"49":[2,152],"54":[2,152],"57":[2,152],"69":[2,152],"74":[2,152],"82":[2,152],"87":[2,152],"96":[2,152],"97":87,"98":[1,64],"99":[1,320],"100":[1,65],"103":88,"107":[2,152],"111":[2,152],"112":[1,67],"123":[2,152],"124":[2,152],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]},{"8":321,"9":118,"10":20,"11":21,"12":[1,22],"13":[1,23],"14":[1,24],"15":25,"16":9,"17":10,"18":11,"19":12,"20":13,"21":14,"22":15,"23":16,"24":17,"25":18,"26":19,"29":60,"30":[1,72],"31":51,"32":[1,70],"33":[1,71],"34":27,"35":[1,52],"36":[1,53],"37":[1,54],"38":26,"43":61,"44":28,"45":[1,46],"46":[1,48],"47":[1,31],"50":32,"51":[1,58],"52":[1,59],"58":49,"59":50,"61":38,"63":29,"72":[1,69],"75":[1,45],"79":[1,30],"84":[1,56],"85":[1,57],"86":[1,68],"90":[1,40],"94":[1,47],"95":[1,55],"97":41,"98":[1,64],"100":[1,65],"101":42,"102":[1,66],"103":43,"112":[1,67],"115":[1,44],"120":39,"121":[1,62],"122":[1,63],"125":[1,33],"126":[1,34],"127":[1,35],"128":[1,36],"129":[1,37]},{"1":[2,153],"4":[2,153],"27":[2,153],"28":[2,153],"49":[2,153],"54":[2,153],"57":[2,153],"69":[2,153],"74":[2,153],"82":[2,153],"87":[2,153],"96":[2,153],"97":87,"98":[1,64],"99":[2,153],"100":[1,65],"103":88,"107":[2,153],"111":[2,153],"112":[1,67],"123":[2,153],"124":[2,153],"126":[1,79],"127":[1,78],"130":[1,77],"131":[1,80],"132":[1,81],"133":[1,82],"134":[1,83],"135":[1,84]}], +defaultActions: {"2":[2,2],"58":[2,51],"59":[2,52],"74":[2,4],"95":[2,104],"292":[2,141]}, parseError: function parseError(str, hash) { throw new Error(str); }, diff --git a/lib/rewriter.js b/lib/rewriter.js index 6c34a76d..4c5d3eb4 100644 --- a/lib/rewriter.js +++ b/lib/rewriter.js @@ -1,335 +1,333 @@ (function() { - var BALANCED_PAIRS, EXPRESSION_CLOSE, EXPRESSION_END, EXPRESSION_START, IMPLICIT_BLOCK, IMPLICIT_CALL, IMPLICIT_END, IMPLICIT_FUNC, IMPLICIT_UNSPACED_CALL, INVERSES, LINEBREAKS, SINGLE_CLOSERS, SINGLE_LINERS, left, rite, _i, _len, _ref; + var BALANCED_PAIRS, EXPRESSION_CLOSE, EXPRESSION_END, EXPRESSION_START, IMPLICIT_BLOCK, IMPLICIT_CALL, IMPLICIT_END, IMPLICIT_FUNC, IMPLICIT_UNSPACED_CALL, INVERSES, LINEBREAKS, Rewriter, SINGLE_CLOSERS, SINGLE_LINERS, left, rite, _i, _len, _ref; var __indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (this[i] === item) return i; } return -1; }, __slice = Array.prototype.slice; - exports.Rewriter = (function() { - function Rewriter() { - return this; - } - return Rewriter; - })(); - exports.Rewriter.prototype.rewrite = function(_arg) { - this.tokens = _arg; - this.removeLeadingNewlines(); - this.removeMidExpressionNewlines(); - this.closeOpenCalls(); - this.closeOpenIndexes(); - this.addImplicitIndentation(); - this.tagPostfixConditionals(); - this.addImplicitBraces(); - this.addImplicitParentheses(); - this.ensureBalance(BALANCED_PAIRS); - this.rewriteClosingParens(); - return this.tokens; - }; - exports.Rewriter.prototype.scanTokens = function(block) { - var i, token, tokens; - tokens = this.tokens; - i = 0; - while (token = tokens[i]) { - i += block.call(this, token, i, tokens); - } - return true; - }; - exports.Rewriter.prototype.detectEnd = function(i, condition, action) { - var levels, token, tokens, _ref, _ref2; - tokens = this.tokens; - levels = 0; - while (token = tokens[i]) { - if (levels === 0 && condition.call(this, token, i)) { - return action.call(this, token, i); - } - if (!token || levels < 0) { - return action.call(this, token, i - 1); - } - if (_ref = token[0], __indexOf.call(EXPRESSION_START, _ref) >= 0) { - levels += 1; - } else if (_ref2 = token[0], __indexOf.call(EXPRESSION_END, _ref2) >= 0) { - levels -= 1; - } - i += 1; - } - return i - 1; - }; - exports.Rewriter.prototype.removeLeadingNewlines = function() { - var i, tag, _len; - for (i = 0, _len = this.tokens.length; i < _len; i++) { - tag = this.tokens[i][0]; - if (tag !== 'TERMINATOR') { - break; - } - } - if (i) { - return this.tokens.splice(0, i); - } - }; - exports.Rewriter.prototype.removeMidExpressionNewlines = function() { - return this.scanTokens(function(token, i, tokens) { - var _ref; - if (!(token[0] === 'TERMINATOR' && (_ref = this.tag(i + 1), __indexOf.call(EXPRESSION_CLOSE, _ref) >= 0))) { - return 1; - } - tokens.splice(i, 1); - return 0; - }); - }; - exports.Rewriter.prototype.closeOpenCalls = function() { - var action, condition; - condition = function(token, i) { - var _ref; - return ((_ref = token[0]) === ')' || _ref === 'CALL_END') || token[0] === 'OUTDENT' && this.tag(i - 1) === ')'; + exports.Rewriter = Rewriter = function() { + function Rewriter() {} + Rewriter.prototype.rewrite = function(_arg) { + this.tokens = _arg; + this.removeLeadingNewlines(); + this.removeMidExpressionNewlines(); + this.closeOpenCalls(); + this.closeOpenIndexes(); + this.addImplicitIndentation(); + this.tagPostfixConditionals(); + this.addImplicitBraces(); + this.addImplicitParentheses(); + this.ensureBalance(BALANCED_PAIRS); + this.rewriteClosingParens(); + return this.tokens; }; - action = function(token, i) { - return this.tokens[token[0] === 'OUTDENT' ? i - 1 : i][0] = 'CALL_END'; + Rewriter.prototype.scanTokens = function(block) { + var i, token, tokens; + tokens = this.tokens; + i = 0; + while (token = tokens[i]) { + i += block.call(this, token, i, tokens); + } + return true; }; - return this.scanTokens(function(token, i) { - if (token[0] === 'CALL_START') { - this.detectEnd(i + 1, condition, action); - } - return 1; - }); - }; - exports.Rewriter.prototype.closeOpenIndexes = function() { - var action, condition; - condition = function(token, i) { - var _ref; - return (_ref = token[0]) === ']' || _ref === 'INDEX_END'; - }; - action = function(token, i) { - return token[0] = 'INDEX_END'; - }; - return this.scanTokens(function(token, i) { - if (token[0] === 'INDEX_START') { - this.detectEnd(i + 1, condition, action); - } - return 1; - }); - }; - exports.Rewriter.prototype.addImplicitBraces = function() { - var action, condition, stack, start; - stack = []; - start = null; - condition = function(token, i) { - var one, tag, three, two, _ref, _ref2; - if ('HERECOMMENT' === this.tag(i + 1) || 'HERECOMMENT' === this.tag(i - 1)) { - return false; - } - _ref = this.tokens, one = _ref[i + 1], two = _ref[i + 2], three = _ref[i + 3]; - tag = token[0]; - return (tag === 'TERMINATOR' || tag === 'OUTDENT') && !((two != null ? two[0] : void 0) === ':' || (one != null ? one[0] : void 0) === '@' && (three != null ? three[0] : void 0) === ':') || tag === ',' && one && ((_ref2 = one[0]) !== 'IDENTIFIER' && _ref2 !== 'NUMBER' && _ref2 !== 'STRING' && _ref2 !== '@' && _ref2 !== 'TERMINATOR' && _ref2 !== 'OUTDENT' && _ref2 !== '('); - }; - action = function(token, i) { - return this.tokens.splice(i, 0, ['}', '}', token[2]]); - }; - return this.scanTokens(function(token, i, tokens) { - var ago1, ago2, idx, tag, tok, _ref, _ref2; - if (_ref = (tag = token[0]), __indexOf.call(EXPRESSION_START, _ref) >= 0) { - stack.push([(tag === 'INDENT' && this.tag(i - 1) === '{' ? '{' : tag), i]); - return 1; - } - if (__indexOf.call(EXPRESSION_END, tag) >= 0) { - start = stack.pop(); - return 1; - } - if (!(tag === ':' && ((ago2 = this.tag(i - 2)) === ':' || (ago1 = this.tag(i - 1)) === ')' && this.tag(start[1] - 1) === ':' || ((_ref2 = stack[stack.length - 1]) != null ? _ref2[0] : void 0) !== '{'))) { - return 1; - } - stack.push(['{']); - idx = ago1 === ')' ? start[1] : ago2 === '@' ? i - 2 : i - 1; - if (this.tag(idx - 2) === 'HERECOMMENT') { - idx -= 2; - } - tok = ['{', '{', token[2]]; - tok.generated = true; - tokens.splice(idx, 0, tok); - this.detectEnd(i + 2, condition, action); - return 2; - }); - }; - exports.Rewriter.prototype.addImplicitParentheses = function() { - var action, classLine; - classLine = false; - action = function(token, i) { - var idx; - idx = token[0] === 'OUTDENT' ? i + 1 : i; - return this.tokens.splice(idx, 0, ['CALL_END', ')', token[2]]); - }; - return this.scanTokens(function(token, i, tokens) { - var callObject, next, prev, seenSingle, tag, _ref, _ref2; - tag = token[0]; - if (tag === 'CLASS') { - classLine = true; - } - prev = tokens[i - 1], next = tokens[i + 1]; - callObject = !classLine && tag === 'INDENT' && next && next.generated && next[0] === '{' && prev && (_ref = prev[0], __indexOf.call(IMPLICIT_FUNC, _ref) >= 0); - seenSingle = false; - if (__indexOf.call(LINEBREAKS, tag) >= 0) { - classLine = false; - } - if (prev && !prev.spaced && tag === '?') { - token.call = true; - } - if (!(callObject || (prev != null ? prev.spaced : void 0) && (prev.call || (_ref2 = prev[0], __indexOf.call(IMPLICIT_FUNC, _ref2) >= 0)) && (__indexOf.call(IMPLICIT_CALL, tag) >= 0 || !(token.spaced || token.newLine) && __indexOf.call(IMPLICIT_UNSPACED_CALL, tag) >= 0))) { - return 1; - } - tokens.splice(i, 0, ['CALL_START', '(', token[2]]); - this.detectEnd(i + (callObject ? 2 : 1), function(token, i) { - var post, _ref; - if (!seenSingle && token.fromThen) { - return true; + Rewriter.prototype.detectEnd = function(i, condition, action) { + var levels, token, tokens, _ref, _ref2; + tokens = this.tokens; + levels = 0; + while (token = tokens[i]) { + if (levels === 0 && condition.call(this, token, i)) { + return action.call(this, token, i); } - tag = token[0]; - if (tag === 'IF' || tag === 'ELSE' || tag === 'UNLESS' || tag === '->' || tag === '=>') { - seenSingle = true; + if (!token || levels < 0) { + return action.call(this, token, i - 1); } - if ((tag === '.' || tag === '?.' || tag === '::') && this.tag(i - 1) === 'OUTDENT') { - return true; + if (_ref = token[0], __indexOf.call(EXPRESSION_START, _ref) >= 0) { + levels += 1; + } else if (_ref2 = token[0], __indexOf.call(EXPRESSION_END, _ref2) >= 0) { + levels -= 1; } - return !token.generated && this.tag(i - 1) !== ',' && __indexOf.call(IMPLICIT_END, tag) >= 0 && (tag !== 'INDENT' || (this.tag(i - 2) !== 'CLASS' && (_ref = this.tag(i - 1), __indexOf.call(IMPLICIT_BLOCK, _ref) < 0) && !((post = this.tokens[i + 1]) && post.generated && post[0] === '{'))); - }, action); - if (prev[0] === '?') { - prev[0] = 'FUNC_EXIST'; + i += 1; } - return 2; - }); - }; - exports.Rewriter.prototype.addImplicitIndentation = function() { - return this.scanTokens(function(token, i, tokens) { - var action, condition, indent, outdent, starter, tag, _ref, _ref2; - tag = token[0]; - if (tag === 'TERMINATOR' && this.tag(i + 1) === 'THEN') { + return i - 1; + }; + Rewriter.prototype.removeLeadingNewlines = function() { + var i, tag, _len; + for (i = 0, _len = this.tokens.length; i < _len; i++) { + tag = this.tokens[i][0]; + if (tag !== 'TERMINATOR') { + break; + } + } + if (i) { + return this.tokens.splice(0, i); + } + }; + Rewriter.prototype.removeMidExpressionNewlines = function() { + return this.scanTokens(function(token, i, tokens) { + var _ref; + if (!(token[0] === 'TERMINATOR' && (_ref = this.tag(i + 1), __indexOf.call(EXPRESSION_CLOSE, _ref) >= 0))) { + return 1; + } tokens.splice(i, 1); return 0; - } - if (tag === 'ELSE' && this.tag(i - 1) !== 'OUTDENT') { - tokens.splice.apply(tokens, [i, 0].concat(__slice.call(this.indentation(token)))); - return 2; - } - if (tag === 'CATCH' && ((_ref = this.tag(i + 2)) === 'OUTDENT' || _ref === 'TERMINATOR' || _ref === 'FINALLY')) { - tokens.splice.apply(tokens, [i + 2, 0].concat(__slice.call(this.indentation(token)))); - return 4; - } - if (__indexOf.call(SINGLE_LINERS, tag) >= 0 && this.tag(i + 1) !== 'INDENT' && !(tag === 'ELSE' && this.tag(i + 1) === 'IF')) { - starter = tag; - _ref2 = this.indentation(token), indent = _ref2[0], outdent = _ref2[1]; - if (starter === 'THEN') { - indent.fromThen = true; - } - indent.generated = outdent.generated = true; - tokens.splice(i + 1, 0, indent); - condition = function(token, i) { - var _ref; - return token[1] !== ';' && (_ref = token[0], __indexOf.call(SINGLE_CLOSERS, _ref) >= 0) && !(token[0] === 'ELSE' && (starter !== 'IF' && starter !== 'THEN')); - }; - action = function(token, i) { - return this.tokens.splice((this.tag(i - 1) === ',' ? i - 1 : i), 0, outdent); - }; - this.detectEnd(i + 2, condition, action); - if (tag === 'THEN') { - tokens.splice(i, 1); - } - return 1; - } - return 1; - }); - }; - exports.Rewriter.prototype.tagPostfixConditionals = function() { - var condition; - condition = function(token, i) { - var _ref; - return (_ref = token[0]) === 'TERMINATOR' || _ref === 'INDENT'; - }; - return this.scanTokens(function(token, i) { - var original, _ref; - if ((_ref = token[0]) !== 'IF' && _ref !== 'UNLESS') { - return 1; - } - original = token; - this.detectEnd(i + 1, condition, function(token, i) { - if (token[0] !== 'INDENT') { - return original[0] = 'POST_' + original[0]; - } }); - return 1; - }); - }; - exports.Rewriter.prototype.ensureBalance = function(pairs) { - var close, level, levels, open, openLine, tag, token, _i, _j, _len, _len2, _ref, _ref2; - levels = {}; - openLine = {}; - _ref = this.tokens; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - token = _ref[_i]; - tag = token[0]; - for (_j = 0, _len2 = pairs.length; _j < _len2; _j++) { - _ref2 = pairs[_j], open = _ref2[0], close = _ref2[1]; - levels[open] |= 0; - if (tag === open) { - if (levels[open]++ === 0) { - openLine[open] = token[2]; + }; + Rewriter.prototype.closeOpenCalls = function() { + var action, condition; + condition = function(token, i) { + var _ref; + return ((_ref = token[0]) === ')' || _ref === 'CALL_END') || token[0] === 'OUTDENT' && this.tag(i - 1) === ')'; + }; + action = function(token, i) { + return this.tokens[token[0] === 'OUTDENT' ? i - 1 : i][0] = 'CALL_END'; + }; + return this.scanTokens(function(token, i) { + if (token[0] === 'CALL_START') { + this.detectEnd(i + 1, condition, action); + } + return 1; + }); + }; + Rewriter.prototype.closeOpenIndexes = function() { + var action, condition; + condition = function(token, i) { + var _ref; + return (_ref = token[0]) === ']' || _ref === 'INDEX_END'; + }; + action = function(token, i) { + return token[0] = 'INDEX_END'; + }; + return this.scanTokens(function(token, i) { + if (token[0] === 'INDEX_START') { + this.detectEnd(i + 1, condition, action); + } + return 1; + }); + }; + Rewriter.prototype.addImplicitBraces = function() { + var action, condition, stack, start; + stack = []; + start = null; + condition = function(token, i) { + var one, tag, three, two, _ref, _ref2; + if ('HERECOMMENT' === this.tag(i + 1) || 'HERECOMMENT' === this.tag(i - 1)) { + return false; + } + _ref = this.tokens, one = _ref[i + 1], two = _ref[i + 2], three = _ref[i + 3]; + tag = token[0]; + return (tag === 'TERMINATOR' || tag === 'OUTDENT') && !((two != null ? two[0] : void 0) === ':' || (one != null ? one[0] : void 0) === '@' && (three != null ? three[0] : void 0) === ':') || tag === ',' && one && ((_ref2 = one[0]) !== 'IDENTIFIER' && _ref2 !== 'NUMBER' && _ref2 !== 'STRING' && _ref2 !== '@' && _ref2 !== 'TERMINATOR' && _ref2 !== 'OUTDENT' && _ref2 !== '('); + }; + action = function(token, i) { + return this.tokens.splice(i, 0, ['}', '}', token[2]]); + }; + return this.scanTokens(function(token, i, tokens) { + var ago1, ago2, idx, tag, tok, _ref, _ref2; + if (_ref = (tag = token[0]), __indexOf.call(EXPRESSION_START, _ref) >= 0) { + stack.push([(tag === 'INDENT' && this.tag(i - 1) === '{' ? '{' : tag), i]); + return 1; + } + if (__indexOf.call(EXPRESSION_END, tag) >= 0) { + start = stack.pop(); + return 1; + } + if (!(tag === ':' && ((ago2 = this.tag(i - 2)) === ':' || (ago1 = this.tag(i - 1)) === ')' && this.tag(start[1] - 1) === ':' || ((_ref2 = stack[stack.length - 1]) != null ? _ref2[0] : void 0) !== '{'))) { + return 1; + } + stack.push(['{']); + idx = ago1 === ')' ? start[1] : ago2 === '@' ? i - 2 : i - 1; + if (this.tag(idx - 2) === 'HERECOMMENT') { + idx -= 2; + } + tok = ['{', '{', token[2]]; + tok.generated = true; + tokens.splice(idx, 0, tok); + this.detectEnd(i + 2, condition, action); + return 2; + }); + }; + Rewriter.prototype.addImplicitParentheses = function() { + var action, classLine; + classLine = false; + action = function(token, i) { + var idx; + idx = token[0] === 'OUTDENT' ? i + 1 : i; + return this.tokens.splice(idx, 0, ['CALL_END', ')', token[2]]); + }; + return this.scanTokens(function(token, i, tokens) { + var callObject, next, prev, seenSingle, tag, _ref, _ref2; + tag = token[0]; + if (tag === 'CLASS') { + classLine = true; + } + prev = tokens[i - 1], next = tokens[i + 1]; + callObject = !classLine && tag === 'INDENT' && next && next.generated && next[0] === '{' && prev && (_ref = prev[0], __indexOf.call(IMPLICIT_FUNC, _ref) >= 0); + seenSingle = false; + if (__indexOf.call(LINEBREAKS, tag) >= 0) { + classLine = false; + } + if (prev && !prev.spaced && tag === '?') { + token.call = true; + } + if (!(callObject || (prev != null ? prev.spaced : void 0) && (prev.call || (_ref2 = prev[0], __indexOf.call(IMPLICIT_FUNC, _ref2) >= 0)) && (__indexOf.call(IMPLICIT_CALL, tag) >= 0 || !(token.spaced || token.newLine) && __indexOf.call(IMPLICIT_UNSPACED_CALL, tag) >= 0))) { + return 1; + } + tokens.splice(i, 0, ['CALL_START', '(', token[2]]); + this.detectEnd(i + (callObject ? 2 : 1), function(token, i) { + var post, _ref; + if (!seenSingle && token.fromThen) { + return true; + } + tag = token[0]; + if (tag === 'IF' || tag === 'ELSE' || tag === 'UNLESS' || tag === '->' || tag === '=>') { + seenSingle = true; + } + if ((tag === '.' || tag === '?.' || tag === '::') && this.tag(i - 1) === 'OUTDENT') { + return true; + } + return !token.generated && this.tag(i - 1) !== ',' && __indexOf.call(IMPLICIT_END, tag) >= 0 && (tag !== 'INDENT' || (this.tag(i - 2) !== 'CLASS' && (_ref = this.tag(i - 1), __indexOf.call(IMPLICIT_BLOCK, _ref) < 0) && !((post = this.tokens[i + 1]) && post.generated && post[0] === '{'))); + }, action); + if (prev[0] === '?') { + prev[0] = 'FUNC_EXIST'; + } + return 2; + }); + }; + Rewriter.prototype.addImplicitIndentation = function() { + return this.scanTokens(function(token, i, tokens) { + var action, condition, indent, outdent, starter, tag, _ref, _ref2; + tag = token[0]; + if (tag === 'TERMINATOR' && this.tag(i + 1) === 'THEN') { + tokens.splice(i, 1); + return 0; + } + if (tag === 'ELSE' && this.tag(i - 1) !== 'OUTDENT') { + tokens.splice.apply(tokens, [i, 0].concat(__slice.call(this.indentation(token)))); + return 2; + } + if (tag === 'CATCH' && ((_ref = this.tag(i + 2)) === 'OUTDENT' || _ref === 'TERMINATOR' || _ref === 'FINALLY')) { + tokens.splice.apply(tokens, [i + 2, 0].concat(__slice.call(this.indentation(token)))); + return 4; + } + if (__indexOf.call(SINGLE_LINERS, tag) >= 0 && this.tag(i + 1) !== 'INDENT' && !(tag === 'ELSE' && this.tag(i + 1) === 'IF')) { + starter = tag; + _ref2 = this.indentation(token), indent = _ref2[0], outdent = _ref2[1]; + if (starter === 'THEN') { + indent.fromThen = true; + } + indent.generated = outdent.generated = true; + tokens.splice(i + 1, 0, indent); + condition = function(token, i) { + var _ref; + return token[1] !== ';' && (_ref = token[0], __indexOf.call(SINGLE_CLOSERS, _ref) >= 0) && !(token[0] === 'ELSE' && (starter !== 'IF' && starter !== 'THEN')); + }; + action = function(token, i) { + return this.tokens.splice((this.tag(i - 1) === ',' ? i - 1 : i), 0, outdent); + }; + this.detectEnd(i + 2, condition, action); + if (tag === 'THEN') { + tokens.splice(i, 1); + } + return 1; + } + return 1; + }); + }; + Rewriter.prototype.tagPostfixConditionals = function() { + var condition; + condition = function(token, i) { + var _ref; + return (_ref = token[0]) === 'TERMINATOR' || _ref === 'INDENT'; + }; + return this.scanTokens(function(token, i) { + var original, _ref; + if ((_ref = token[0]) !== 'IF' && _ref !== 'UNLESS') { + return 1; + } + original = token; + this.detectEnd(i + 1, condition, function(token, i) { + if (token[0] !== 'INDENT') { + return original[0] = 'POST_' + original[0]; + } + }); + return 1; + }); + }; + Rewriter.prototype.ensureBalance = function(pairs) { + var close, level, levels, open, openLine, tag, token, _i, _j, _len, _len2, _ref, _ref2; + levels = {}; + openLine = {}; + _ref = this.tokens; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + token = _ref[_i]; + tag = token[0]; + for (_j = 0, _len2 = pairs.length; _j < _len2; _j++) { + _ref2 = pairs[_j], open = _ref2[0], close = _ref2[1]; + levels[open] |= 0; + if (tag === open) { + if (levels[open]++ === 0) { + openLine[open] = token[2]; + } + } else if (tag === close && --levels[open] < 0) { + throw Error("too many " + token[1] + " on line " + (token[2] + 1)); } - } else if (tag === close && --levels[open] < 0) { - throw Error("too many " + token[1] + " on line " + (token[2] + 1)); } } - } - for (open in levels) { - level = levels[open]; - if (level > 0) { - throw Error("unclosed " + open + " on line " + (openLine[open] + 1)); + for (open in levels) { + level = levels[open]; + if (level > 0) { + throw Error("unclosed " + open + " on line " + (openLine[open] + 1)); + } } - } - return this; - }; - exports.Rewriter.prototype.rewriteClosingParens = function() { - var debt, key, stack; - stack = []; - debt = {}; - for (key in INVERSES) { - debt[key] = 0; - } - return this.scanTokens(function(token, i, tokens) { - var inv, match, mtag, oppos, tag, val, _ref; - if (_ref = (tag = token[0]), __indexOf.call(EXPRESSION_START, _ref) >= 0) { - stack.push(token); + return this; + }; + Rewriter.prototype.rewriteClosingParens = function() { + var debt, key, stack; + stack = []; + debt = {}; + for (key in INVERSES) { + debt[key] = 0; + } + return this.scanTokens(function(token, i, tokens) { + var inv, match, mtag, oppos, tag, val, _ref; + if (_ref = (tag = token[0]), __indexOf.call(EXPRESSION_START, _ref) >= 0) { + stack.push(token); + return 1; + } + if (__indexOf.call(EXPRESSION_END, tag) < 0) { + return 1; + } + if (debt[inv = INVERSES[tag]] > 0) { + debt[inv] -= 1; + tokens.splice(i, 1); + return 0; + } + match = stack.pop(); + mtag = match[0]; + oppos = INVERSES[mtag]; + if (tag === oppos) { + return 1; + } + debt[mtag] += 1; + val = [oppos, mtag === 'INDENT' ? match[1] : oppos]; + if (this.tag(i + 2) === mtag) { + tokens.splice(i + 3, 0, val); + stack.push(match); + } else { + tokens.splice(i, 0, val); + } return 1; - } - if (__indexOf.call(EXPRESSION_END, tag) < 0) { - return 1; - } - if (debt[inv = INVERSES[tag]] > 0) { - debt[inv] -= 1; - tokens.splice(i, 1); - return 0; - } - match = stack.pop(); - mtag = match[0]; - oppos = INVERSES[mtag]; - if (tag === oppos) { - return 1; - } - debt[mtag] += 1; - val = [oppos, mtag === 'INDENT' ? match[1] : oppos]; - if (this.tag(i + 2) === mtag) { - tokens.splice(i + 3, 0, val); - stack.push(match); - } else { - tokens.splice(i, 0, val); - } - return 1; - }); - }; - exports.Rewriter.prototype.indentation = function(token) { - return [['INDENT', 2, token[2]], ['OUTDENT', 2, token[2]]]; - }; - exports.Rewriter.prototype.tag = function(i) { - var _ref; - return (_ref = this.tokens[i]) != null ? _ref[0] : void 0; - }; + }); + }; + Rewriter.prototype.indentation = function(token) { + return [['INDENT', 2, token[2]], ['OUTDENT', 2, token[2]]]; + }; + Rewriter.prototype.tag = function(i) { + var _ref; + return (_ref = this.tokens[i]) != null ? _ref[0] : void 0; + }; + return Rewriter; + }(); BALANCED_PAIRS = [['(', ')'], ['[', ']'], ['{', '}'], ['INDENT', 'OUTDENT'], ['CALL_START', 'CALL_END'], ['PARAM_START', 'PARAM_END'], ['INDEX_START', 'INDEX_END']]; INVERSES = {}; EXPRESSION_START = []; diff --git a/lib/scope.js b/lib/scope.js index bd6dac62..c07b8670 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -1,29 +1,25 @@ (function() { var Scope, extend, last, _ref; _ref = require('./helpers'), extend = _ref.extend, last = _ref.last; - exports.Scope = (function() { - Scope = (function() { - function Scope(_arg, _arg2, _arg3) { - this.parent = _arg; - this.expressions = _arg2; - this.method = _arg3; - this.variables = [ - { - name: 'arguments', - type: 'arguments' - } - ]; - this.positions = {}; - if (this.parent) { - this.garbage = this.parent.garbage; - } else { - this.garbage = []; - Scope.root = this; + exports.Scope = Scope = function() { + function Scope(_arg, _arg2, _arg3) { + this.parent = _arg; + this.expressions = _arg2; + this.method = _arg3; + this.variables = [ + { + name: 'arguments', + type: 'arguments' } - return this; + ]; + this.positions = {}; + if (this.parent) { + this.garbage = this.parent.garbage; + } else { + this.garbage = []; + Scope.root = this; } - return Scope; - })(); + } Scope.root = null; Scope.prototype.add = function(name, type) { var pos; @@ -159,5 +155,5 @@ return this.assignedVariables().join(', '); }; return Scope; - }).call(this); + }(); }).call(this); diff --git a/src/grammar.coffee b/src/grammar.coffee index 759daa29..6a021a63 100644 --- a/src/grammar.coffee +++ b/src/grammar.coffee @@ -109,7 +109,6 @@ grammar = Block: [ o 'INDENT Body OUTDENT', -> $2 o 'INDENT OUTDENT', -> new Expressions - o 'TERMINATOR Comment', -> Expressions.wrap [$2] ] # A literal identifier, a variable name or property. @@ -275,32 +274,14 @@ grammar = # Class definitions have optional bodies of prototype property assignments, # and optional references to the superclass. Class: [ - o 'CLASS SimpleAssignable', -> new Class $2 - o 'CLASS SimpleAssignable EXTENDS Value', -> new Class $2, $4 - o 'CLASS SimpleAssignable - INDENT ClassBody OUTDENT', -> new Class $2, null, $4 - o 'CLASS SimpleAssignable EXTENDS Value - INDENT ClassBody OUTDENT', -> new Class $2, $4, $6 - o 'CLASS INDENT ClassBody OUTDENT', -> new Class null, null, $3 - o 'CLASS', -> new Class null, null, new Expressions - o 'CLASS EXTENDS Value', -> new Class null, $3 , new Expressions - o 'CLASS EXTENDS Value - INDENT ClassBody OUTDENT', -> new Class null, $3, $5 - ] - - # Assignments that can happen directly inside a class declaration. - ClassAssign: [ - o 'AssignObj', -> $1 - o 'ThisProperty : Expression', -> new Assign new Value($1), $3, 'this' - o 'ThisProperty : INDENT Expression OUTDENT', -> new Assign new Value($1), $4, 'this' - ] - - # A list of assignments to a class. - ClassBody: [ - o '', -> [] - o 'ClassAssign', -> [$1] - o 'ClassBody TERMINATOR ClassAssign', -> $1.concat $3 - o '{ ClassBody }', -> $2 + o 'CLASS', -> new Class + o 'CLASS Block', -> new Class null, null, $2 + o 'CLASS EXTENDS Value', -> new Class null, $3 + o 'CLASS EXTENDS Value Block', -> new Class null, $3, $4 + o 'CLASS SimpleAssignable', -> new Class $2 + o 'CLASS SimpleAssignable Block', -> new Class $2, null, $3 + o 'CLASS SimpleAssignable EXTENDS Value', -> new Class $2, $4 + o 'CLASS SimpleAssignable EXTENDS Value Block', -> new Class $2, $4, $5 ] # Ordinary function invocation, or a chained series of calls. diff --git a/src/nodes.coffee b/src/nodes.coffee index ed2cae7a..acbe0781 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -11,13 +11,10 @@ exports.extend = extend # for parser # Constant functions for nodes that don't need customization. -YES = -> yes -NO = -> no -THIS = -> this - -# Default implementations of common functions. -RETURN = -> @returns = yes; this -NEGATE = -> @negated = not @negated; this +YES = -> yes +NO = -> no +THIS = -> this +NEGATE = -> @negated = not @negated; this #### Base @@ -160,7 +157,7 @@ exports.Expressions = class Expressions extends Base children: ['expressions'] - constructor: (nodes) -> + (nodes) -> @expressions = compact flatten nodes or [] # Tack an expression on to the end of this expression list. @@ -249,7 +246,7 @@ exports.Expressions = class Expressions extends Base # Wrap up the given nodes as an **Expressions**, unless it already happens # to be one. - @wrap: (nodes) -> + @wrap = (nodes) -> return nodes[0] if nodes.length is 1 and nodes[0] instanceof Expressions new Expressions nodes @@ -260,7 +257,7 @@ exports.Expressions = class Expressions extends Base # `true`, `false`, `null`... exports.Literal = class Literal extends Base - constructor: (@value) -> + (@value) -> makeReturn: -> if @isPureStatement() then this else new Return this @@ -295,7 +292,7 @@ exports.Return = class Return extends Base isStatement : YES isPureStatement: YES - constructor: (@expression) -> + (@expression) -> makeReturn: THIS @@ -316,7 +313,7 @@ exports.Value = class Value extends Base children: ['base', 'properties'] # A **Value** has a base and a list of property accesses. - constructor: (base, props, tag) -> + (base, props, tag) -> return base if not props and base instanceof Value @base = base @properties = props or [] @@ -404,7 +401,7 @@ exports.Value = class Value extends Base # at the same position. exports.Comment = class Comment extends Base - constructor: (@comment) -> + (@comment) -> isPureStatement: YES isStatement: YES @@ -423,7 +420,7 @@ exports.Call = class Call extends Base children: ['variable', 'args'] - constructor: (variable, @args = [], @soak) -> + (variable, @args = [], @soak) -> @isNew = false @isSuper = variable is 'super' @variable = if @isSuper then null else variable @@ -448,7 +445,7 @@ exports.Call = class Call extends Base unfoldSoak: (o) -> if @soak if @variable - return ifn if ifn = If.unfoldSoak o, this, 'variable' + return ifn if ifn = unfoldSoak o, this, 'variable' [left, rite] = new Value(@variable).cacheReference o else left = new Literal @superReference o @@ -473,7 +470,7 @@ exports.Call = class Call extends Base call.variable = ifn else call.variable.base = ifn - ifn = If.unfoldSoak o, call, 'variable' + ifn = unfoldSoak o, call, 'variable' ifn # Compile a vanilla function call. @@ -525,7 +522,7 @@ exports.Extends = class Extends extends Base children: ['child', 'parent'] - constructor: (@child, @parent) -> + (@child, @parent) -> # Hooks one constructor into another's prototype chain. compile: (o) -> @@ -539,7 +536,7 @@ exports.Accessor = class Accessor extends Base children: ['name'] - constructor: (@name, tag) -> + (@name, tag) -> @proto = if tag is 'proto' then '.prototype' else '' @soak = tag is 'soak' @@ -556,7 +553,7 @@ exports.Index = class Index extends Base children: ['index'] - constructor: (@index) -> + (@index) -> compile: (o) -> (if @proto then '.prototype' else '') + "[#{ @index.compile o, LEVEL_PAREN }]" @@ -571,7 +568,7 @@ exports.Obj = class Obj extends Base children: ['properties'] - constructor: (props) -> + (props) -> @objects = @properties = props or [] compileNode: (o) -> @@ -635,7 +632,7 @@ exports.Arr = class Arr extends Base children: ['objects'] - constructor: (objs) -> + (objs) -> @objects = objs or [] compileNode: (o) -> @@ -657,78 +654,62 @@ exports.Arr = class Arr extends Base # The CoffeeScript class definition. exports.Class = class Class extends Base - children: ['variable', 'parent', 'properties'] - - isStatement: YES - makeReturn: RETURN + children: ['variable', 'parent', 'body'] # Initialize a **Class** with its name, an optional superclass, and a # list of prototype property assignments. - constructor: (@variable, @parent, @properties = []) -> + (@variable, @parent, @body = new Expressions) -> # Instead of generating the JavaScript string directly, we build up the # equivalent syntax tree and compile that, in pieces. You can see the # constructor, property assignments, and inheritance getting built out below. compileNode: (o) -> - variable = @variable or new Literal o.scope.freeVariable 'ctor' - extension = @parent and new Extends variable, @parent - props = new Expressions - me = null - className = variable.compile o - constScope = null + if @variable + decl = if tail = last @variable.properties + tail instanceof Accessor and tail.name.value + else + @variable.base.value + decl and= IDENTIFIER.test(decl) and decl - if @parent - applied = new Value @parent, [new Accessor new Literal 'apply'] - ctor = new Code [], new Expressions [ - new Call applied, [new Literal('this'), new Literal('arguments')] - ] - else - ctor = new Code [], new Expressions [new Return new Literal 'this'] + name = decl or @name or '_Class' + lname = new Literal name + @body.traverseChildren false, (node) -> + if node instanceof Literal and node.value is 'this' + node.value = name + else if node instanceof Code + node.klass = name + node.context = name if node.bound - for prop in @properties - {variable: pvar, value: func} = prop - if pvar and pvar.base.value is 'constructor' - if func not instanceof Code - [func, ref] = func.cache o - props.push func if func isnt ref - apply = new Call new Value(ref, [new Accessor new Literal 'apply']), - [new Literal('this'), new Literal('arguments')] - func = new Code [], new Expressions([apply]) - throw SyntaxError 'cannot define a constructor as a bound function.' if func.bound - func.name = className - func.body.push new Return new Literal 'this' - variable = new Value variable - variable.namespaced = 0 < className.indexOf '.' - ctor = func - ctor.comment = props.expressions.pop() if last(props.expressions) instanceof Comment - continue - if func instanceof Code and func.bound - if prop.context is 'this' - func.context = className - else - func.bound = false - constScope or= new Scope o.scope, ctor.body, ctor - me or= constScope.freeVariable 'this' - pname = pvar.compile o - ctor.body.push new Return new Literal 'this' if ctor.body.isEmpty() - ret = "return #{className}.prototype.#{pname}.apply(#{me}, arguments);" - ctor.body.unshift new Literal "this.#{pname} = function() { #{ret} }" - if pvar - access = if prop.context is 'this' - then pvar.properties[0] - else new Accessor pvar, 'proto' - val = new Value variable, [access] - prop = new Assign val, func - props.push prop + for node, i in exps = @body.expressions + if node instanceof Value and node.isObject() + assigns = for assign in node.base.properties + assign.variable = new Value(lname, [new Accessor(assign.variable.base, 'proto')]) + delete assign.context + assign + exps[i] = assigns + else if node instanceof Code + if ctor + throw new Error 'cannot define more than one constructor in a class' + if node.bound + throw new Error 'cannot define a constructor as a bound function' + ctor = node + exps.splice(i, 1) + exps.unshift ctor - ctor.className = className.match /[$\w]+$/ - ctor.body.unshift new Literal "#{me} = this" if me - o.sharedScope = constScope - code = @tab + new Assign(variable, ctor).compile(o) + ';' - code += '\n' + @tab + extension.compile(o) + ';' if extension - code += '\n' + props.compile o if !props.isEmpty() - code += '\n' + new Return(variable).compile o if @returns - code + @body.expressions = exps = flatten exps + unless ctor + exps.unshift ctor = new Code + if @parent + ctor.body.push new Call 'super', [new Splat new Literal 'arguments'] + ctor.ctor = ctor.name = name + ctor.klass = null + ctor.noReturn = yes + exps.splice 1, 0, new Extends lname, @parent if @parent + exps.push lname + klass = new Parens new Call(new Code [], @body), true + klass = new Assign new Value(lname), klass if decl and @variable?.isComplex() + klass = new Assign @variable, klass if @variable + klass.compile o #### Assign @@ -737,17 +718,17 @@ exports.Class = class Class extends Base exports.Assign = class Assign extends Base # Matchers for detecting class/method names - METHOD_DEF: /^(?:(\S+)\.prototype\.)?([$A-Za-z_][$\w]*)$/ + METHOD_DEF: /^(?:(\S+)\.prototype\.|\S+?)?\b([$A-Za-z_][$\w]*)$/ children: ['variable', 'value'] - constructor: (@variable, @value, @context) -> + (@variable, @value, @context) -> assigns: (name) -> @[if @context is 'object' then 'value' else 'variable'].assigns name unfoldSoak: (o) -> - If.unfoldSoak o, this, 'variable' + unfoldSoak o, this, 'variable' # Compile an assignment, delegating to `compilePatternMatch` or # `compileSplice` if appropriate. Keep track of the name of the base object @@ -760,7 +741,7 @@ exports.Assign = class Assign extends Base name = @variable.compile o, LEVEL_LIST if @value instanceof Code and match = @METHOD_DEF.exec name @value.name = match[2] - @value.klass = match[1] + @value.klass = match[1] if match[1] val = @value.compile o, LEVEL_LIST return "#{name}: #{val}" if @context is 'object' unless @variable.isAssignable() @@ -856,10 +837,14 @@ exports.Code = class Code extends Base children: ['params', 'body'] - constructor: (@params = [], @body = new Expressions, tag) -> + (params, body, tag) -> + @params = params or [] + @body = body or new Expressions @bound = tag is 'boundfunc' @context = 'this' if @bound + isStatement: -> !!@ctor + # Compilation creates a new scope unless explicitly asked to share with the # outer scope. Handles splat parameters in the parameter list by peeking at # the JavaScript `arguments` objects. If the function is bound with the `=>` @@ -892,23 +877,18 @@ exports.Code = class Code extends Base scope.startLevel() wasEmpty = @body.isEmpty() exprs.unshift splats if splats - @body.expressions.splice 0, 0, exprs... if exprs.length - @body.makeReturn() unless wasEmpty or @noReturn + @body.expressions.unshift exprs... if exprs.length scope.parameter vars[i] = v.compile o for v, i in vars unless splats - comm = if @comment then @comment.compile(o) + '\n' else '' - idt = o.indent - o.indent += TAB if @className - code = if @body.isEmpty() then '' else "\n#{ @body.compileWithDeclarations o }\n" - if @className - open = "(function() {\n#{comm}#{idt}function #{@className}(" - close = "#{ code and idt }}\n#{idt}return #{@className};\n#{@tab}})()" - else - open = 'function(' - close = "#{ code and @tab }}" - func = "#{open}#{ vars.join ', ' }) {#{code}#{close}" - scope.endLevel() - return "#{ utility 'bind' }(#{func}, #{@context})" if @bound - if @front then "(#{func})" else func + @body.makeReturn() unless wasEmpty or @noReturn + idt = o.indent + code = 'function' + code += ' ' + @name if @ctor + code += '(' + vars.join(', ') + ') {' + code += "\n#{ @body.compileWithDeclarations o }\n#{@tab}" unless @body.isEmpty() + code += '}' + return @tab + code if @ctor + return utility('bind') + "(#{code}, #{@context})" if @bound + if @front then "(#{code})" else code # Short-circuit `traverseChildren` method to prevent it from crossing scope boundaries # unless `crossScope` is `true`. @@ -924,7 +904,7 @@ exports.Param = class Param extends Base children: ['name', 'value'] - constructor: (@name, @value, @splat) -> + (@name, @value, @splat) -> compile: (o) -> @name.compile o, LEVEL_LIST @@ -949,7 +929,7 @@ exports.Splat = class Splat extends Base isAssignable: YES - constructor: (name) -> + (name) -> @name = if name.compile then name else new Literal name assigns: (name) -> @@ -960,7 +940,7 @@ exports.Splat = class Splat extends Base # Utility function that converts arbitrary number of elements, mixed with # splats, to a proper array. - @compileSplattedArray: (o, list, apply) -> + @compileSplattedArray = (o, list, apply) -> index = -1 continue while (node = list[++index]) and node not instanceof Splat return '' if index >= list.length @@ -988,12 +968,15 @@ exports.While = class While extends Base children: ['condition', 'guard', 'body'] isStatement: YES - makeReturn: RETURN - constructor: (condition, options) -> + (condition, options) -> @condition = if options?.invert then condition.invert() else condition @guard = options?.guard + makeReturn: -> + @returns = yes + this + addBody: (@body) -> this @@ -1050,7 +1033,7 @@ exports.Op = class Op extends Base children: ['first', 'second'] - constructor: (op, first, second, flip) -> + (op, first, second, flip) -> return new In first, second if op is 'in' if op is 'new' return first.newInstance() if first instanceof Call @@ -1078,7 +1061,7 @@ exports.Op = class Op extends Base new Op '!', this unfoldSoak: (o) -> - @operator in ['++', '--', 'delete'] and If.unfoldSoak o, this, 'first' + @operator in ['++', '--', 'delete'] and unfoldSoak o, this, 'first' compileNode: (o) -> return @compileUnary o if @isUnary() @@ -1127,7 +1110,7 @@ exports.In = class In extends Base invert: NEGATE - constructor: (@object, @array) -> + (@object, @array) -> compileNode: (o) -> if @array instanceof Value and @array.isArray() @@ -1163,7 +1146,7 @@ exports.Try = class Try extends Base isStatement: YES - constructor: (@attempt, @error, @recovery, @ensure) -> + (@attempt, @error, @recovery, @ensure) -> makeReturn: -> @attempt = @attempt .makeReturn() if @attempt @@ -1194,7 +1177,7 @@ exports.Throw = class Throw extends Base isStatement: YES - constructor: (@expression) -> + (@expression) -> # A **Throw** is already a return, of sorts... makeReturn: THIS @@ -1213,7 +1196,7 @@ exports.Existence = class Existence extends Base invert: NEGATE - constructor: (@expression) -> + (@expression) -> compileNode: (o) -> code = @expression.compile o, LEVEL_OP @@ -1238,7 +1221,7 @@ exports.Parens = class Parens extends Base children: ['expression'] - constructor: (@expression) -> + (@expression) -> unwrap : -> @expression isComplex : -> @expression.isComplex() @@ -1267,9 +1250,8 @@ exports.For = class For extends Base children: ['body', 'source', 'guard', 'step', 'from', 'to'] isStatement: YES - makeReturn: RETURN - constructor: (body, head) -> + (body, head) -> if head.index instanceof Value throw SyntaxError 'index cannot be a pattern matching expression' extend this, head @@ -1277,6 +1259,10 @@ exports.For = class For extends Base @pattern = @name instanceof Value @returns = false + makeReturn: -> + @returns = yes + this + containsPureStatement: While::containsPureStatement compileReturnValue: (val, o) -> @@ -1399,7 +1385,7 @@ exports.Switch = class Switch extends Base isStatement: YES - constructor: (@subject, @cases, @otherwise) -> + (@subject, @cases, @otherwise) -> makeReturn: -> pair[1].makeReturn() for pair in @cases @@ -1433,7 +1419,7 @@ exports.If = class If extends Base children: ['condition', 'body', 'elseBody'] - constructor: (condition, @body, options = {}) -> + (condition, @body, options = {}) -> @condition = if options.invert then condition.invert() else condition @elseBody = null @isChain = false @@ -1497,13 +1483,6 @@ exports.If = class If extends Base unfoldSoak: -> @soak and this - # Unfold a node's child if soak, then tuck the node under created `If` - @unfoldSoak: (o, parent, name) -> - return unless ifn = parent[name].unfoldSoak o - parent[name] = ifn.body - ifn.body = new Value parent - ifn - # Faux-Nodes # ---------- # Faux-nodes are never created by the grammar, but are used during code @@ -1545,6 +1524,13 @@ Closure = literalThis: (node) -> node instanceof Literal and node.value is 'this' or node instanceof Code and node.bound +# Unfold a node's child if soak, then tuck the node under created `If` +unfoldSoak = (o, parent, name) -> + return unless ifn = parent[name].unfoldSoak o + parent[name] = ifn.body + ifn.body = new Value parent + ifn + # Constants # --------- diff --git a/src/optparse.coffee b/src/optparse.coffee index a760936e..a549da65 100644 --- a/src/optparse.coffee +++ b/src/optparse.coffee @@ -13,7 +13,7 @@ exports.OptionParser = class OptionParser # [short-flag, long-flag, description] # # Along with an an optional banner for the usage help. - constructor: (rules, @banner) -> + (rules, @banner) -> @rules = buildRules rules # Parse the list of arguments, populating an `options` object with all of the diff --git a/src/scope.coffee b/src/scope.coffee index 60132322..60987260 100644 --- a/src/scope.coffee +++ b/src/scope.coffee @@ -11,13 +11,13 @@ exports.Scope = class Scope # The top-level **Scope** object. - @root: null + @root = null # Initialize a scope with its parent, for lookups up the chain, # as well as a reference to the **Expressions** node is belongs to, which is # where it should declare its variables, and a reference to the function that # it wraps. - constructor: (@parent, @expressions, @method) -> + (@parent, @expressions, @method) -> @variables = [{name: 'arguments', type: 'arguments'}] @positions = {} if @parent