diff --git a/documentation/coffee/aliases.coffee b/documentation/coffee/aliases.coffee index 4c274ef9..9301fe81 100644 --- a/documentation/coffee/aliases.coffee +++ b/documentation/coffee/aliases.coffee @@ -8,4 +8,4 @@ if car.speed < limit then accelerate() winner = yes if pick in [47, 92, 13] -print "My name is " + @name +print inspect "My name is " + @name diff --git a/documentation/coffee/interpolation_expression.coffee b/documentation/coffee/interpolation_expression.coffee index 1e5e357f..1baa482a 100644 --- a/documentation/coffee/interpolation_expression.coffee +++ b/documentation/coffee/interpolation_expression.coffee @@ -1,6 +1,6 @@ sentence = "#{ 22 / 7 } is a decent approximation of π" sep = "[.\\/\\- ]" -dates = /\d+$sep\d+$sep\d+/g +dates = /\d+#sep\d+#sep\d+/g diff --git a/documentation/coffee/objects_and_arrays.coffee b/documentation/coffee/objects_and_arrays.coffee index 737bf5f8..d98be8b5 100644 --- a/documentation/coffee/objects_and_arrays.coffee +++ b/documentation/coffee/objects_and_arrays.coffee @@ -1,6 +1,6 @@ song = ["do", "re", "mi", "fa", "so"] -singers = {Jagger: 'Rock', Elvis: 'Roll'} +singers = {Jagger: "Rock", Elvis: "Roll"} matrix = [ 1, 0, 1 @@ -10,8 +10,8 @@ matrix = [ kids = brother: - name: 'Max' + name: "Max" age: 11 sister: - name: 'Ida' + name: "Ida" age: 9 \ No newline at end of file diff --git a/documentation/css/docs.css b/documentation/css/docs.css index dc90ed8c..f6969965 100644 --- a/documentation/css/docs.css +++ b/documentation/css/docs.css @@ -112,8 +112,9 @@ div.code { background: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#d0d0d0)); background: -moz-linear-gradient(top, #f5f5f5, #d0d0d0); filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#F5F5F5', EndColorStr='#D0D0D0'); + border: 1px solid #aaa; -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; - -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777; + -webkit-box-shadow: 0 0 7px #aaa; -moz-box-shadow: 0 0 7px #aaa; } #logo { display: block; @@ -161,16 +162,19 @@ div.code { background: -moz-linear-gradient(top, #f0f0f0, #c0c0c0); filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#F0F0F0', EndColorStr='#C0C0C0'); } + .navigation .button { + font-weight: bold; + } .navigation .contents { display: none; position: absolute; background: #fff; - top: 50px; left: 0; + top: 51px; left: 0; padding: 5px 0; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -webkit-border-top-left-radius: 0; -moz-border-radius-topleft: 0; -webkit-border-top-right-radius: 0; -moz-border-radius-topright: 0; - -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777; + -webkit-box-shadow: 0 5px 10px #999; -moz-box-shadow: 0 5px 10px #999; } .navigation.active .contents { display: block; diff --git a/documentation/docs/cake.html b/documentation/docs/cake.html index 6ae44bcd..1ed917b5 100644 --- a/documentation/docs/cake.html +++ b/documentation/docs/cake.html @@ -4,39 +4,39 @@ for CoffeeScript. You define tasks with names and descriptions in a Cakefile, and can call them from the command line, or invoke them from other tasks.

Running cake with no arguments will print out a list of all the tasks in the -current directory's Cakefile.

#

External dependencies.

fs           = require 'fs'
-path         = require 'path'
-helpers      = require('./helpers').helpers
-optparse     = require './optparse'
-CoffeeScript = require './coffee-script'
#

Keep track of the list of defined tasks, the accepted options, and so on.

tasks     = {}
-options   = {}
-switches  = []
-oparse    = null
#

Mixin the top-level Cake functions for Cakefiles to use directly.

helpers.extend global,
#

Define a Cake task with a short name, an optional sentence description, -and the function to run as the action itself.

  task: (name, description, action) ->
+current directory's Cakefile.

#

External dependencies.

fs           = require 'fs'
+path         = require 'path'
+helpers      = require('./helpers').helpers
+optparse     = require './optparse'
+CoffeeScript = require './coffee-script'
#

Keep track of the list of defined tasks, the accepted options, and so on.

tasks     = {}
+options   = {}
+switches  = []
+oparse    = null
#

Mixin the top-level Cake functions for Cakefiles to use directly.

helpers.extend global,
#

Define a Cake task with a short name, an optional sentence description, +and the function to run as the action itself.

  task: (name, description, action) ->
     [action, description] = [description, action] unless action
     tasks[name] = {name, description, action}
#

Define an option that the Cakefile accepts. The parsed options hash, containing all of the command-line options passed, will be made available -as the first argument to the action.

  option: (letter, flag, description) ->
-    switches.push [letter, flag, description]
#

Invoke another task in the current Cakefile.

  invoke: (name) ->
+as the first argument to the action.

  option: (letter, flag, description) ->
+    switches.push [letter, flag, description]
#

Invoke another task in the current Cakefile.

  invoke: (name) ->
     missingTask name unless tasks[name]
     tasks[name].action options
#

Run cake. Executes all of the tasks you pass, in order. Note that Node's asynchrony may cause tasks to execute in a different order than you'd expect. -If no tasks are passed, print the help screen.

exports.run = ->
+If no tasks are passed, print the help screen.

exports.run = ->
   path.exists 'Cakefile', (exists) ->
     throw new Error("Cakefile not found in #{process.cwd()}") unless exists
-    args = process.argv[2...process.argv.length]
-    CoffeeScript.run fs.readFileSync('Cakefile').toString(), fileName: 'Cakefile'
-    oparse = new optparse.OptionParser switches
+    args = process.argv[2...process.argv.length]
+    CoffeeScript.run fs.readFileSync('Cakefile').toString(), fileName: 'Cakefile'
+    oparse = new optparse.OptionParser switches
     return printTasks() unless args.length
-    options = oparse.parse(args)
-    invoke arg for arg in options.arguments
#

Display the list of Cake tasks in a format similar to rake -T

printTasks = ->
+    options = oparse.parse(args)
+    invoke arg for arg in options.arguments
#

Display the list of Cake tasks in a format similar to rake -T

printTasks = ->
   puts ''
   for all name, task of tasks
-    spaces = 20 - name.length
-    spaces = if spaces > 0 then (' ' for i in [0..spaces]).join('') else ''
-    desc   = if task.description then "# #task.description" else ''
+    spaces = 20 - name.length
+    spaces = if spaces > 0 then (' ' for i in [0..spaces]).join('') else ''
+    desc   = if task.description then "# #task.description" else ''
     puts "cake #name#spaces #desc"
-  puts oparse.help() if switches.length
#

Print an error and exit when attempting to all an undefined task.

missingTask = (task) ->
+  puts oparse.help() if switches.length
#

Print an error and exit when attempting to all an undefined task.

missingTask = (task) ->
   puts "No such task: \"#task\""
   process.exit 1
 
diff --git a/documentation/docs/coffee-script.html b/documentation/docs/coffee-script.html
index 03a9738e..b3b932c5 100644
--- a/documentation/docs/coffee-script.html
+++ b/documentation/docs/coffee-script.html
@@ -5,50 +5,50 @@ CoffeeScript into JavaScript.

If included on a webpage, it will automatically sniff out, compile, and execute all scripts present in text/coffeescript tags.

#

Set up dependencies correctly for both the server and the browser.

if process?
-  path    = require 'path'
-  Lexer   = require('./lexer').Lexer
-  parser  = require('./parser').parser
-  helpers = require('./helpers').helpers
+  path    = require 'path'
+  Lexer   = require('./lexer').Lexer
+  parser  = require('./parser').parser
+  helpers = require('./helpers').helpers
   helpers.extend global, require './nodes'
   if require.registerExtension
     require.registerExtension '.coffee', (content) -> compile content
 else
-  this.exports = this.CoffeeScript = {}
-  Lexer        = this.Lexer
-  parser       = this.parser
-  helpers      = this.helpers
#

The current CoffeeScript version number.

exports.VERSION = '0.9.0'
#

Instantiate a Lexer for our use here.

lexer = new Lexer
#

Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison -compiler.

exports.compile = compile = (code, options) ->
+  this.exports = this.CoffeeScript = {}
+  Lexer        = this.Lexer
+  parser       = this.parser
+  helpers      = this.helpers
#

The current CoffeeScript version number.

exports.VERSION = '0.9.0'
#

Instantiate a Lexer for our use here.

lexer = new Lexer
#

Compile a string of CoffeeScript code to JavaScript, using the Coffee/Jison +compiler.

exports.compile = compile = (code, options) ->
   options or= {}
   try
     (parser.parse lexer.tokenize code).compile options
   catch err
-    err.message = "In #options.fileName, #err.message" if options.fileName
-    throw err
#

Tokenize a string of CoffeeScript code, and return the array of tokens.

exports.tokens = (code) ->
+    err.message = "In #options.fileName, #err.message" if options.fileName
+    throw err
#

Tokenize a string of CoffeeScript code, and return the array of tokens.

exports.tokens = (code) ->
   lexer.tokenize code
#

Tokenize and parse a string of CoffeeScript code, and return the AST. You can then compile it by calling .compile() on the root, or traverse it by using -.traverse() with a callback.

exports.nodes = (code) ->
+.traverse() with a callback.

exports.nodes = (code) ->
   parser.parse lexer.tokenize code
#

Compile and execute a string of CoffeeScript (on the server), correctly -setting __filename, __dirname, and relative require().

exports.run = ((code, options) ->
-  module.filename = __filename = options.fileName
-  __dirname = path.dirname __filename
+setting __filename, __dirname, and relative require().

exports.run = ((code, options) ->
+  module.filename = __filename = options.fileName
+  __dirname = path.dirname __filename
   eval exports.compile code, options
 )
#

The real Lexer produces a generic stream of tokens. This object provides a thin wrapper around it, compatible with the Jison API. We can then pass it -directly as a "Jison lexer".

parser.lexer =
-  lex: ->
-    token = @tokens[@pos] or [""]
+directly as a "Jison lexer".

parser.lexer =
+  lex: ->
+    token = @tokens[@pos] or [""]
     @pos += 1
-    this.yylineno = token[2]
-    this.yytext   = token[1]
+    this.yylineno = token[2]
+    this.yytext   = token[1]
     token[0]
-  setInput: (tokens) ->
-    @tokens = tokens
-    @pos    = 0
-  upcomingInput: -> ""
#

Activate CoffeeScript in the browser by having it compile and evaluate + setInput: (tokens) -> + @tokens = tokens + @pos = 0 + upcomingInput: -> ""

#

Activate CoffeeScript in the browser by having it compile and evaluate all script tags with a content-type of text/coffeescript. This happens on page load. Unfortunately, the text contents of remote scripts cannot be accessed from the browser, so only inline script tags will work.

if document? and document.getElementsByTagName
-  processScripts = ->
+  processScripts = ->
     for tag in document.getElementsByTagName('script') when tag.type is 'text/coffeescript'
       eval exports.compile tag.innerHTML
   if window.addEventListener
diff --git a/documentation/docs/command.html b/documentation/docs/command.html
index 38792892..2765dfe9 100644
--- a/documentation/docs/command.html
+++ b/documentation/docs/command.html
@@ -2,16 +2,16 @@
 into various forms: saved into .js files or printed to stdout, piped to
 JSLint or recompiled every time the source is
 saved, printed as a token stream or as the syntax tree, or launch an
-interactive REPL.

#

External dependencies.

fs            = require 'fs'
-path          = require 'path'
-optparse      = require './optparse'
-CoffeeScript  = require './coffee-script'
-{spawn, exec} = require 'child_process'
#

The help banner that is printed when coffee is called without arguments.

BANNER = '''
+interactive REPL.

#

External dependencies.

fs            = require 'fs'
+path          = require 'path'
+optparse      = require './optparse'
+CoffeeScript  = require './coffee-script'
+{spawn, exec} = require 'child_process'
#

The help banner that is printed when coffee is called without arguments.

BANNER = '''
   coffee compiles CoffeeScript source files into JavaScript.
 
   Usage:
     coffee path/to/script.coffee
-         '''
#

The list of all the valid option flags that coffee knows how to handle.

SWITCHES = [
+         '''
#

The list of all the valid option flags that coffee knows how to handle.

SWITCHES = [
   ['-c', '--compile',       'compile to JavaScript and save as .js files']
   ['-i', '--interactive',   'run an interactive CoffeeScript REPL']
   ['-o', '--output [DIR]',  'set the directory for compiled JavaScript']
@@ -25,11 +25,11 @@ interactive REPL.

['-n', '--nodes', 'print the parse tree that Jison produces'] ['-v', '--version', 'display CoffeeScript version'] ['-h', '--help', 'display this help message'] -]
#

Top-level objects shared by all the functions.

options      = {}
-sources      = []
-optionParser = null
#

Run coffee by parsing passed options and determining what action to take. +]

#

Top-level objects shared by all the functions.

options      = {}
+sources      = []
+optionParser = null
#

Run coffee by parsing passed options and determining what action to take. Many flags cause us to divert before compiling anything. Flags passed after --- will be passed verbatim to your script as arguments in process.argv

exports.run = ->
+-- will be passed verbatim to your script as arguments in process.argv

exports.run = ->
   parseOptions()
   return usage()                              if options.help
   return version()                            if options.version
@@ -37,21 +37,21 @@ Many flags cause us to divert before compiling anything. Flags passed after
   return compileStdio()                       if options.stdio
   return compileScript 'console', sources[0]  if options.eval
   return require './repl'                     unless sources.length
-  separator = sources.indexOf '--'
-  flags = []
+  separator = sources.indexOf '--'
+  flags = []
   if separator >= 0
-    flags   = sources[(separator + 1)...sources.length]
-    sources = sources[0...separator]
+    flags   = sources[(separator + 1)...sources.length]
+    sources = sources[0...separator]
   if options.run
-    flags   = sources[1..sources.length].concat flags
-    sources = [sources[0]]
-  process.ARGV = process.argv = flags
+    flags   = sources[1..sources.length].concat flags
+    sources = [sources[0]]
+  process.ARGV = process.argv = flags
   compileScripts()
#

Asynchronously read in each CoffeeScript in a list of source files and compile them. If a directory is passed, recursively compile all -'.coffee' extension source files in it and all subdirectories.

compileScripts = ->
+'.coffee' extension source files in it and all subdirectories.

compileScripts = ->
   for source in sources
-    base = source
-    compile = (source, topLevel) ->
+    base = source
+    compile = (source, topLevel) ->
       path.exists source, (exists) ->
         throw new Error "File not found: #source" unless exists
         fs.stat source, (err, stats) ->
@@ -64,68 +64,69 @@ compile them. If a directory is passed, recursively compile all
             watch source, base if options.watch
     compile source, true
#

Compile a single source script, containing the given code, according to the requested options. If evaluating the script directly sets __filename, -__dirname and module.filename to be correct relative to the script's path.

compileScript = (source, code, base) ->
-  o = options
-  codeOpts = compileOptions source
+__dirname and module.filename to be correct relative to the script's path.

compileScript = (source, code, base) ->
+  o = options
+  codeOpts = compileOptions source
   try
     if      o.tokens      then printTokens CoffeeScript.tokens code
     else if o.nodes       then puts CoffeeScript.nodes(code).toString()
     else if o.run         then CoffeeScript.run code, codeOpts
     else
-      js = CoffeeScript.compile code, codeOpts
+      js = CoffeeScript.compile code, codeOpts
       if o.print          then print js
       else if o.compile   then writeJs source, js, base
       else if o.lint      then lint js
   catch err
     error(err.stack) and process.exit 1 unless o.watch
     puts err.message
#

Attach the appropriate listeners to compile scripts incoming over stdin, -and write them back to stdout.

compileStdio = ->
-  code = ''
-  stdin = process.openStdin()
+and write them back to stdout.

compileStdio = ->
+  code = ''
+  stdin = process.openStdin()
   stdin.on 'data', (buffer) ->
     code += buffer.toString() if buffer
   stdin.on 'end', ->
     compileScript 'stdio', code
#

Watch a source CoffeeScript file using fs.watchFile, recompiling it every time the file is updated. May be used in combination with other options, -such as --lint or --print.

watch = (source, base) ->
-  fs.watchFile source, {persistent: true, interval: 500}, (curr, prev) ->
+such as --lint or --print.

watch = (source, base) ->
+  fs.watchFile source, {persistent: true, interval: 500}, (curr, prev) ->
     return if curr.mtime.getTime() is prev.mtime.getTime()
     fs.readFile source, (err, code) -> compileScript(source, code.toString(), base)
#

Write out a JavaScript source file with the compiled code. By default, files are written out in cwd as .js files with the same name, but the output -directory can be customized with --output.

writeJs = (source, js, base) ->
-  filename  = path.basename(source, path.extname(source)) + '.js'
-  srcDir    = path.dirname source
-  baseDir   = srcDir.substring base.length
-  dir       = if options.output then path.join options.output, baseDir else srcDir
-  jsPath    = path.join dir, filename
-  compile   = ->
+directory can be customized with --output.

writeJs = (source, js, base) ->
+  filename  = path.basename(source, path.extname(source)) + '.js'
+  srcDir    = path.dirname source
+  baseDir   = srcDir.substring base.length
+  dir       = if options.output then path.join options.output, baseDir else srcDir
+  jsPath    = path.join dir, filename
+  compile   = ->
+    return unless js.length
     fs.writeFile jsPath, js, (err) ->
       puts "Compiled #source" if options.compile and options.watch
   path.exists dir, (exists) ->
     if exists then compile() else exec "mkdir -p #dir", compile
#

Pipe compiled JS through JSLint (requires a working jsl command), printing -any errors or warnings that arise.

lint = (js) ->
-  printIt = (buffer) -> print buffer.toString()
-  jsl = spawn 'jsl', ['-nologo', '-stdin']
+any errors or warnings that arise.

lint = (js) ->
+  printIt = (buffer) -> print buffer.toString()
+  jsl = spawn 'jsl', ['-nologo', '-stdin']
   jsl.stdout.on 'data', printIt
   jsl.stderr.on 'data', printIt
   jsl.stdin.write js
-  jsl.stdin.end()
#

Pretty-print a stream of tokens.

printTokens = (tokens) ->
-  strings = for token in tokens
+  jsl.stdin.end()
#

Pretty-print a stream of tokens.

printTokens = (tokens) ->
+  strings = for token in tokens
     [tag, value] = [token[0], token[1].toString().replace(/\n/, '\\n')]
     "[#tag #value]"
   puts strings.join(' ')
#

Use the OptionParser module to extract all options from -process.argv that are specified in SWITCHES.

parseOptions = ->
-  optionParser    = new optparse.OptionParser SWITCHES, BANNER
-  o = options     = optionParser.parse(process.argv[2...process.argv.length])
+process.argv that are specified in SWITCHES.

parseOptions = ->
+  optionParser    = new optparse.OptionParser SWITCHES, BANNER
+  o = options     = optionParser.parse(process.argv[2...process.argv.length])
   options.compile or=  !!o.output
-  options.run     = not (o.compile or o.print or o.lint)
-  options.print   = !!  (o.print or (o.eval or o.stdio and o.compile))
-  sources         = options.arguments
#

The compile-time options to pass to the CoffeeScript compiler.

compileOptions = (fileName) ->
-  o = {fileName}
-  o.noWrap = options['no-wrap']
-  o
#

Print the --help usage message and exit.

usage = ->
+  options.run     = not (o.compile or o.print or o.lint)
+  options.print   = !!  (o.print or (o.eval or o.stdio and o.compile))
+  sources         = options.arguments
#

The compile-time options to pass to the CoffeeScript compiler.

compileOptions = (fileName) ->
+  o = {fileName}
+  o.noWrap = options['no-wrap']
+  o
#

Print the --help usage message and exit.

usage = ->
   puts optionParser.help()
-  process.exit 0
#

Print the --version message and exit.

version = ->
+  process.exit 0
#

Print the --version message and exit.

version = ->
   puts "CoffeeScript version #CoffeeScript.VERSION"
   process.exit 0
 
diff --git a/documentation/docs/grammar.html b/documentation/docs/grammar.html
index ec8143e4..d0283656 100644
--- a/documentation/docs/grammar.html
+++ b/documentation/docs/grammar.html
@@ -12,15 +12,15 @@ reduces into the                

The only dependency is on the Jison.Parser.

Parser = require('jison').Parser
#

Jison DSL

#

Since we're going to be wrapped in a function by Jison in any case, if our +from our rules and saves it into lib/parser.js.

#

The only dependency is on the Jison.Parser.

Parser = require('jison').Parser
#

Jison DSL

#

Since we're going to be wrapped in a function by Jison in any case, if our action immediately returns a value, we can optimize by removing the function -wrapper and just returning the value directly.

unwrap = /function\s*\(\)\s*\{\s*return\s*([\s\S]*);\s*\}/
#

Our handy DSL for Jison grammar generation, thanks to +wrapper and just returning the value directly.

unwrap = /function\s*\(\)\s*\{\s*return\s*([\s\S]*);\s*\}/
#

Our handy DSL for Jison grammar generation, thanks to Tim Caswell. For every rule in the grammar, we pass the pattern-defining string, the action to run, and extra options, optionally. If no action is specified, we simply pass the value of the -previous nonterminal.

o = (patternString, action, options) ->
+previous nonterminal.

o = (patternString, action, options) ->
   return [patternString, '$$ = $1;', options] unless action
-  action = if match = (action + '').match(unwrap) then match[1] else "(#action())"
+  action = if match = (action + '').match(unwrap) then match[1] else "(#action())"
   [patternString, "$$ = #action;", options]
#

Grammatical Rules

#

In all of the rules that follow, you'll see the name of the nonterminal as the key to a list of alternative matches. With each match's action, the dollar-sign variables are provided by Jison as references to the value of @@ -31,20 +31,20 @@ their numeric position, so in this rule:

$1 would be the value of the first Expression, $2 would be the token for the UNLESS terminal, and $3 would be the value of the second -Expression.

grammar =
#

The Root is the top-level node in the syntax tree. Since we parse bottom-up, -all parsing must end here.

  Root: [
+Expression.

grammar =
#

The Root is the top-level node in the syntax tree. Since we parse bottom-up, +all parsing must end here.

  Root: [
     o "",                                       -> new Expressions
     o "TERMINATOR",                             -> new Expressions
     o "Body"
     o "Block TERMINATOR"
-  ]
#

Any list of statements and expressions, seperated by line breaks or semicolons.

  Body: [
+  ]
#

Any list of statements and expressions, seperated by line breaks or semicolons.

  Body: [
     o "Line",                                   -> Expressions.wrap [$1]
     o "Body TERMINATOR Line",                   -> $1.push $3
     o "Body TERMINATOR"
-  ]
#

Expressions and statements, which make up a line in a body.

  Line: [
+  ]
#

Expressions and statements, which make up a line in a body.

  Line: [
     o "Expression"
     o "Statement"
-  ]
#

Pure statements which cannot be expressions.

  Statement: [
+  ]
#

Pure statements which cannot be expressions.

  Statement: [
     o "Return"
     o "Throw"
     o "BREAK",                                  -> new LiteralNode $1
@@ -52,7 +52,7 @@ all parsing must end here.

]
#

All the different types of expressions in our language. The basic unit of CoffeeScript is the Expression -- everything that can be an expression is one. Expressions serve as the building blocks of many other rules, making -them somewhat circular.

  Expression: [
+them somewhat circular.

  Expression: [
     o "Value"
     o "Call"
     o "Code"
@@ -70,18 +70,18 @@ them somewhat circular.

o "Comment" ]
#

A an indented block of expressions. Note that the Rewriter will convert some postfix forms into blocks for us, by adjusting the -token stream.

  Block: [
+token stream.

  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.

  Identifier: [
+  ]
#

A literal identifier, a variable name or property.

  Identifier: [
     o "IDENTIFIER",                             -> new LiteralNode $1
   ]
#

Alphanumerics are separated from the other Literal matchers because -they can also serve as keys in object literals.

  AlphaNumeric: [
+they can also serve as keys in object literals.

  AlphaNumeric: [
     o "NUMBER",                                 -> new LiteralNode $1
     o "STRING",                                 -> new LiteralNode $1
   ]
#

All of our immediate values. These can (in general), be passed straight -through and printed to JavaScript.

  Literal: [
+through and printed to JavaScript.

  Literal: [
     o "AlphaNumeric"
     o "JS",                                     -> new LiteralNode $1
     o "REGEX",                                  -> new LiteralNode $1
@@ -91,11 +91,11 @@ through and printed to JavaScript.

o "NO", -> new LiteralNode false o "ON", -> new LiteralNode true o "OFF", -> new LiteralNode false - ]
#

Assignment of a variable, property, or index to a value.

  Assign: [
+  ]
#

Assignment of a variable, property, or index to a value.

  Assign: [
     o "Assignable = Expression",                -> new AssignNode $1, $3
     o "Assignable = INDENT Expression OUTDENT", -> new AssignNode $1, $4
   ]
#

Assignment when it happens within an object literal. The difference from -the ordinary Assign is that these allow numbers and strings as keys.

  AssignObj: [
+the ordinary Assign is that these allow numbers and strings as keys.

  AssignObj: [
     o "Identifier",                             -> new ValueNode $1
     o "AlphaNumeric"
     o "Identifier : Expression",                -> new AssignNode new ValueNode($1), $3, 'object'
@@ -103,48 +103,48 @@ the ordinary Assign is that these allow numbers and strings as
     o "Identifier : INDENT Expression OUTDENT", -> new AssignNode new ValueNode($1), $4, 'object'
     o "AlphaNumeric : INDENT Expression OUTDENT", -> new AssignNode new ValueNode($1), $4, 'object'
     o "Comment"
-  ]
#

A return statement from a function body.

  Return: [
+  ]
#

A return statement from a function body.

  Return: [
     o "RETURN Expression",                      -> new ReturnNode $2
     o "RETURN",                                 -> new ReturnNode new ValueNode new LiteralNode 'null'
-  ]
#

A block comment.

  Comment: [
+  ]
#

A block comment.

  Comment: [
     o "HERECOMMENT",                            -> new CommentNode $1
-  ]
#

The existential operator.

  Existence: [
+  ]
#

The existential operator.

  Existence: [
     o "Expression ?",                           -> new ExistenceNode $1
   ]
#

The Code node is the function literal. It's defined by an indented block of Expressions preceded by a function arrow, with an optional parameter -list.

  Code: [
+list.

  Code: [
     o "PARAM_START ParamList PARAM_END FuncGlyph Block", -> new CodeNode $2, $5, $4
     o "FuncGlyph Block",                        -> new CodeNode [], $2, $1
   ]
#

CoffeeScript has two different symbols for functions. -> is for ordinary -functions, and => is for functions bound to the current value of this.

  FuncGlyph: [
+functions, and => is for functions bound to the current value of this.

  FuncGlyph: [
     o "->",                                     -> 'func'
     o "=>",                                     -> 'boundfunc'
-  ]
#

An optional, trailing comma.

  OptComma: [
+  ]
#

An optional, trailing comma.

  OptComma: [
     o ''
     o ','
-  ]
#

The list of parameters that a function accepts can be of any length.

  ParamList: [
+  ]
#

The list of parameters that a function accepts can be of any length.

  ParamList: [
     o "",                                       -> []
     o "Param",                                  -> [$1]
     o "ParamList , Param",                      -> $1.concat [$3]
   ]
#

A single parameter in a function definition can be ordinary, or a splat -that hoovers up the remaining arguments.

  Param: [
+that hoovers up the remaining arguments.

  Param: [
     o "PARAM",                                  -> new LiteralNode $1
     o "@ PARAM",                                -> new ParamNode $2, true
     o "PARAM . . .",                            -> new ParamNode $1, false, true
     o "@ PARAM . . .",                          -> new ParamNode $2, true, true
-  ]
#

A splat that occurs outside of a parameter list.

  Splat: [
+  ]
#

A splat that occurs outside of a parameter list.

  Splat: [
     o "Expression . . .",                       -> new SplatNode $1
-  ]
#

Variables and properties that can be assigned to.

  SimpleAssignable: [
+  ]
#

Variables and properties that can be assigned to.

  SimpleAssignable: [
     o "Identifier",                             -> new ValueNode $1
     o "Value Accessor",                         -> $1.push $2
     o "Invocation Accessor",                    -> new ValueNode $1, [$2]
     o "ThisProperty"
-  ]
#

Everything that can be assigned to.

  Assignable: [
+  ]
#

Everything that can be assigned to.

  Assignable: [
     o "SimpleAssignable"
     o "Array",                                  -> new ValueNode $1
     o "Object",                                 -> new ValueNode $1
   ]
#

The types of things that can be treated as values -- assigned to, invoked -as functions, indexed into, named as a class, etc.

  Value: [
+as functions, indexed into, named as a class, etc.

  Value: [
     o "Assignable"
     o "Literal",                                -> new ValueNode $1
     o "Parenthetical",                          -> new ValueNode $1
@@ -152,74 +152,74 @@ as functions, indexed into, named as a class, etc.

o "This" o "NULL", -> new ValueNode new LiteralNode 'null' ]
#

The general group of accessors into an object, by property, by prototype -or by array index or slice.

  Accessor: [
+or by array index or slice.

  Accessor: [
     o "PROPERTY_ACCESS Identifier",             -> new AccessorNode $2
     o "PROTOTYPE_ACCESS Identifier",            -> new AccessorNode $2, 'prototype'
     o "::",                                     -> new AccessorNode(new LiteralNode('prototype'))
     o "SOAK_ACCESS Identifier",                 -> new AccessorNode $2, 'soak'
     o "Index"
     o "Slice",                                  -> new SliceNode $1
-  ]
#

Indexing into an object or array using bracket notation.

  Index: [
+  ]
#

Indexing into an object or array using bracket notation.

  Index: [
     o "INDEX_START Expression INDEX_END",       -> new IndexNode $2
-    o "INDEX_SOAK Index",                       -> $2.soakNode = yes; $2
-    o "INDEX_PROTO Index",                      -> $2.proto = yes; $2
+    o "INDEX_SOAK Index",                       -> $2.soakNode = yes; $2
+    o "INDEX_PROTO Index",                      -> $2.proto = yes; $2
   ]
#

In CoffeeScript, an object literal is simply a list of assignments.

  Object: [
     o "{ AssignList OptComma }",                -> new ObjectNode $2
   ]
#

Assignment of properties within an object literal can be separated by -comma, as in JavaScript, or simply by newline.

  AssignList: [
+comma, as in JavaScript, or simply by newline.

  AssignList: [
     o "",                                       -> []
     o "AssignObj",                              -> [$1]
     o "AssignList , AssignObj",                 -> $1.concat [$3]
     o "AssignList OptComma TERMINATOR AssignObj", -> $1.concat [$4]
     o "AssignList OptComma INDENT AssignList OptComma OUTDENT", -> $1.concat $4
   ]
#

Class definitions have optional bodies of prototype property assignments, -and optional references to the superclass.

  Class: [
+and optional references to the superclass.

  Class: [
     o "CLASS SimpleAssignable",                 -> new ClassNode $2
     o "CLASS SimpleAssignable EXTENDS Value",   -> new ClassNode $2, $4
     o "CLASS SimpleAssignable INDENT ClassBody OUTDENT", -> new ClassNode $2, null, $4
     o "CLASS SimpleAssignable EXTENDS Value INDENT ClassBody OUTDENT", -> new ClassNode $2, $4, $6
     o "CLASS INDENT ClassBody OUTDENT",         -> new ClassNode '__temp__', null, $3
-  ]
#

Assignments that can happen directly inside a class declaration.

  ClassAssign: [
+  ]
#

Assignments that can happen directly inside a class declaration.

  ClassAssign: [
     o "AssignObj",                              -> $1
     o "ThisProperty : Expression",              -> new AssignNode new ValueNode($1), $3, 'this'
-  ]
#

A list of assignments to a class.

  ClassBody: [
+  ]
#

A list of assignments to a class.

  ClassBody: [
     o "",                                       -> []
     o "ClassAssign",                            -> [$1]
     o "ClassBody TERMINATOR ClassAssign",       -> $1.concat $3
     o "{ ClassBody }",                          -> $2
   ]
#

The three flavors of function call: normal, object instantiation with new, -and calling super()

  Call: [
+and calling super()

  Call: [
     o "Invocation"
     o "Super"
     o "NEW Invocation",                         -> $2.newInstance()
     o "NEW Value",                              -> (new CallNode($2, [])).newInstance()
   ]
#

Extending an object by setting its prototype chain to reference a parent -object.

  Extends: [
+object.

  Extends: [
     o "SimpleAssignable EXTENDS Value",         -> new ExtendsNode $1, $3
-  ]
#

Ordinary function invocation, or a chained series of calls.

  Invocation: [
+  ]
#

Ordinary function invocation, or a chained series of calls.

  Invocation: [
     o "Value Arguments",                        -> new CallNode $1, $2
     o "Invocation Arguments",                   -> new CallNode $1, $2
-  ]
#

The list of arguments to a function call.

  Arguments: [
+  ]
#

The list of arguments to a function call.

  Arguments: [
     o "CALL_START ArgList OptComma CALL_END",   -> $2
-  ]
#

Calling super.

  Super: [
+  ]
#

Calling super.

  Super: [
     o "SUPER",                                  -> new CallNode 'super', [new SplatNode(new LiteralNode('arguments'))]
     o "SUPER Arguments",                        -> new CallNode 'super', $2
-  ]
#

A reference to the this current object.

  This: [
+  ]
#

A reference to the this current object.

  This: [
     o "THIS",                                   -> new ValueNode new LiteralNode 'this'
     o "@",                                      -> new ValueNode new LiteralNode 'this'
-  ]
#

A reference to a property on this.

  ThisProperty: [
+  ]
#

A reference to a property on this.

  ThisProperty: [
     o "@ Identifier",                           -> new ValueNode new LiteralNode('this'), [new AccessorNode($2)]
-  ]
#

The CoffeeScript range literal.

  Range: [
+  ]
#

The CoffeeScript range literal.

  Range: [
     o "[ Expression . . Expression ]",          -> new RangeNode $2, $5
     o "[ Expression . . . Expression ]",        -> new RangeNode $2, $6, true
-  ]
#

The slice literal.

  Slice: [
+  ]
#

The slice literal.

  Slice: [
     o "INDEX_START Expression . . Expression INDEX_END", -> new RangeNode $2, $5
     o "INDEX_START Expression . . . Expression INDEX_END", -> new RangeNode $2, $6, true
   ]
#

The array literal.

  Array: [
     o "[ ArgList OptComma ]",                   -> new ArrayNode $2
   ]
#

The ArgList is both the list of objects passed into a function call, as well as the contents of an array literal -(i.e. comma-separated expressions). Newlines work as well.

  ArgList: [
+(i.e. comma-separated expressions). Newlines work as well.

  ArgList: [
     o "",                                       -> []
     o "Expression",                             -> [$1]
     o "ArgList , Expression",                   -> $1.concat [$3]
@@ -227,112 +227,112 @@ as well as the contents of an array literal
     o "ArgList OptComma INDENT ArgList OptComma OUTDENT", -> $1.concat $4
   ]
#

Just simple, comma-separated, required arguments (no fancy syntax). We need this to be separate from the ArgList for use in Switch blocks, where -having the newlines wouldn't make sense.

  SimpleArgs: [
+having the newlines wouldn't make sense.

  SimpleArgs: [
     o "Expression"
     o "SimpleArgs , Expression",                ->
       if $1 instanceof Array then $1.concat([$3]) else [$1].concat([$3])
-  ]
#

The variants of try/catch/finally exception handling blocks.

  Try: [
+  ]
#

The variants of try/catch/finally exception handling blocks.

  Try: [
     o "TRY Block Catch",                        -> new TryNode $2, $3[0], $3[1]
     o "TRY Block FINALLY Block",                -> new TryNode $2, null, null, $4
     o "TRY Block Catch FINALLY Block",          -> new TryNode $2, $3[0], $3[1], $5
-  ]
#

A catch clause names its error and runs a block of code.

  Catch: [
+  ]
#

A catch clause names its error and runs a block of code.

  Catch: [
     o "CATCH Identifier Block",                 -> [$2, $3]
-  ]
#

Throw an exception object.

  Throw: [
+  ]
#

Throw an exception object.

  Throw: [
     o "THROW Expression",                       -> new ThrowNode $2
   ]
#

Parenthetical expressions. Note that the Parenthetical is a Value, not an Expression, so if you need to use an expression in a place where only values are accepted, wrapping it in parentheses will always do -the trick.

  Parenthetical: [
+the trick.

  Parenthetical: [
     o "( Line )",                               -> new ParentheticalNode $2
-  ]
#

The condition portion of a while loop.

  WhileSource: [
+  ]
#

The condition portion of a while loop.

  WhileSource: [
     o "WHILE Expression",                       -> new WhileNode $2
-    o "WHILE Expression WHEN Expression",       -> new WhileNode $2, guard: $4
-    o "UNTIL Expression",                       -> new WhileNode $2, invert: true
-    o "UNTIL Expression WHEN Expression",       -> new WhileNode $2, invert: true, guard: $4
+    o "WHILE Expression WHEN Expression",       -> new WhileNode $2, guard: $4
+    o "UNTIL Expression",                       -> new WhileNode $2, invert: true
+    o "UNTIL Expression WHEN Expression",       -> new WhileNode $2, invert: true, guard: $4
   ]
#

The while loop can either be normal, with a block of expressions to execute, -or postfix, with a single expression. There is no do..while.

  While: [
+or postfix, with a single expression. There is no do..while.

  While: [
     o "WhileSource Block",                      -> $1.addBody $2
     o "Statement WhileSource",                  -> $2.addBody Expressions.wrap [$1]
     o "Expression WhileSource",                 -> $2.addBody Expressions.wrap [$1]
     o "Loop",                                   -> $1
   ]
 
-  Loop: [
+  Loop: [
     o "LOOP Block",                             -> new WhileNode(new LiteralNode 'true').addBody $2
     o "LOOP Expression",                        -> new WhileNode(new LiteralNode 'true').addBody Expressions.wrap [$2]
   ]
#

Array, object, and range comprehensions, at the most generic level. Comprehensions can either be normal, with a block of expressions to execute, -or postfix, with a single expression.

  For: [
+or postfix, with a single expression.

  For: [
     o "Statement ForBody",                      -> new ForNode $1, $2, $2.vars[0], $2.vars[1]
     o "Expression ForBody",                     -> new ForNode $1, $2, $2.vars[0], $2.vars[1]
     o "ForBody Block",                          -> new ForNode $2, $1, $1.vars[0], $1.vars[1]
   ]
 
-  ForBody: [
-    o "FOR Range",                              -> source: new ValueNode($2), vars: []
-    o "ForStart ForSource",                     -> $2.raw = $1.raw; $2.vars = $1; $2
+  ForBody: [
+    o "FOR Range",                              -> source: new ValueNode($2), vars: []
+    o "ForStart ForSource",                     -> $2.raw = $1.raw; $2.vars = $1; $2
   ]
 
-  ForStart: [
+  ForStart: [
     o "FOR ForVariables",                       -> $2
-    o "FOR ALL ForVariables",                   -> $3.raw = true; $3
+    o "FOR ALL ForVariables",                   -> $3.raw = true; $3
   ]
#

An array of all accepted values for a variable inside the loop. This -enables support for pattern matching.

  ForValue: [
+enables support for pattern matching.

  ForValue: [
     o "Identifier"
     o "Array",                                  -> new ValueNode $1
     o "Object",                                 -> new ValueNode $1
   ]
#

An array or range comprehension has variables for the current element and (optional) reference to the current index. Or, key, value, in the case -of object comprehensions.

  ForVariables: [
+of object comprehensions.

  ForVariables: [
     o "ForValue",                               -> [$1]
     o "ForValue , ForValue",                    -> [$1, $3]
   ]
#

The source of a comprehension is an array or object with an optional guard clause. If it's an array comprehension, you can also choose to step through -in fixed-size increments.

  ForSource: [
-    o "IN Expression",                               -> source: $2
-    o "OF Expression",                               -> source: $2, object: true
-    o "IN Expression WHEN Expression",               -> source: $2, guard: $4
-    o "OF Expression WHEN Expression",               -> source: $2, guard: $4, object: true
-    o "IN Expression BY Expression",                 -> source: $2, step:  $4
-    o "IN Expression WHEN Expression BY Expression", -> source: $2, guard: $4, step:   $6
-    o "IN Expression BY Expression WHEN Expression", -> source: $2, step:  $4, guard: $6
+in fixed-size increments.

  ForSource: [
+    o "IN Expression",                               -> source: $2
+    o "OF Expression",                               -> source: $2, object: true
+    o "IN Expression WHEN Expression",               -> source: $2, guard: $4
+    o "OF Expression WHEN Expression",               -> source: $2, guard: $4, object: true
+    o "IN Expression BY Expression",                 -> source: $2, step:  $4
+    o "IN Expression WHEN Expression BY Expression", -> source: $2, guard: $4, step:   $6
+    o "IN Expression BY Expression WHEN Expression", -> source: $2, step:  $4, guard: $6
   ]
#

The CoffeeScript switch/when/else block replaces the JavaScript -switch/case/default by compiling into an if-else chain.

  Switch: [
+switch/case/default by compiling into an if-else chain.

  Switch: [
     o "SWITCH Expression INDENT Whens OUTDENT", -> $4.switchesOver $2
     o "SWITCH Expression INDENT Whens ELSE Block OUTDENT", -> $4.switchesOver($2).addElse $6, true
     o "SWITCH INDENT Whens OUTDENT",            -> $3
     o "SWITCH INDENT Whens ELSE Block OUTDENT", -> $3.addElse $5, true
   ]
#

The inner list of whens is left recursive. At code-generation time, the -IfNode will rewrite them into a proper chain.

  Whens: [
+IfNode will rewrite them into a proper chain.

  Whens: [
     o "When"
     o "Whens When",                             -> $1.addElse $2
-  ]
#

An individual When clause, with action.

  When: [
-    o "LEADING_WHEN SimpleArgs Block",            -> new IfNode $2, $3, statement: true
-    o "LEADING_WHEN SimpleArgs Block TERMINATOR", -> new IfNode $2, $3, statement: true
+  ]
#

An individual When clause, with action.

  When: [
+    o "LEADING_WHEN SimpleArgs Block",            -> new IfNode $2, $3, statement: true
+    o "LEADING_WHEN SimpleArgs Block TERMINATOR", -> new IfNode $2, $3, statement: true
   ]
#

The most basic form of if is a condition and an action. The following if-related rules are broken up along these lines in order to avoid -ambiguity.

  IfBlock: [
+ambiguity.

  IfBlock: [
     o "IF Expression Block",                    -> new IfNode $2, $3
-    o "UNLESS Expression Block",                -> new IfNode $2, $3, invert: true
+    o "UNLESS Expression Block",                -> new IfNode $2, $3, invert: true
     o "IfBlock ELSE IF Expression Block",       -> $1.addElse (new IfNode($4, $5)).forceStatement()
     o "IfBlock ELSE Block",                     -> $1.addElse $3
   ]
#

The full complement of if expressions, including postfix one-liner -if and unless.

  If: [
+if and unless.

  If: [
     o "IfBlock"
-    o "Statement IF Expression",                -> new IfNode $3, Expressions.wrap([$1]), statement: true
-    o "Expression IF Expression",               -> new IfNode $3, Expressions.wrap([$1]), statement: true
-    o "Statement UNLESS Expression",            -> new IfNode $3, Expressions.wrap([$1]), statement: true, invert: true
-    o "Expression UNLESS Expression",           -> new IfNode $3, Expressions.wrap([$1]), statement: true, invert: true
+    o "Statement IF Expression",                -> new IfNode $3, Expressions.wrap([$1]), statement: true
+    o "Expression IF Expression",               -> new IfNode $3, Expressions.wrap([$1]), statement: true
+    o "Statement UNLESS Expression",            -> new IfNode $3, Expressions.wrap([$1]), statement: true, invert: true
+    o "Expression UNLESS Expression",           -> new IfNode $3, Expressions.wrap([$1]), statement: true, invert: true
   ]
#

Arithmetic and logical operators, working on one or more operands. Here they are grouped by order of precedence. The actual precedence rules are defined at the bottom of the page. It would be shorter if we could combine most of these rules into a single generic Operand OpSymbol Operand -type rule, but in order to make the precedence binding possible, separate -rules are necessary.

  Operation: [
+rules are necessary.

  Operation: [
     o "! Expression",                           -> new OpNode '!', $2
     o "!! Expression",                          -> new OpNode '!!', $2
-    o("- Expression",                           (-> new OpNode('-', $2)), {prec: 'UMINUS'})
-    o("+ Expression",                           (-> new OpNode('+', $2)), {prec: 'UPLUS'})
+    o("- Expression",                           (-> new OpNode('-', $2)), {prec: 'UMINUS'})
+    o("+ Expression",                           (-> new OpNode('+', $2)), {prec: 'UPLUS'})
     o "~ Expression",                           -> new OpNode '~', $2
     o "-- Expression",                          -> new OpNode '--', $2
     o "++ Expression",                          -> new OpNode '++', $2
@@ -390,7 +390,7 @@ down. Following these rules is what makes 2 + 3 * 4 parse as:

And not:

(2 + 3) * 4
-
operators = [
+
operators = [
   ["left",      '?']
   ["nonassoc",  'UMINUS', 'UPLUS', '!', '!!', '~', '++', '--']
   ["left",      '*', '/', '%']
@@ -413,7 +413,7 @@ down. Following these rules is what makes 2 + 3 * 4 parse as:

]
#

Wrapping Up

#

Finally, now what we have our grammar and our operators, we can create our Jison.Parser. We do this by processing all of our rules, recording all terminals (every symbol which does not appear as the name of a rule above) -as "tokens".

tokens = []
+as "tokens".

tokens = []
 for name, alternatives of grammar
   grammar[name] = for alt in alternatives
     for token in alt[0].split ' '
@@ -422,11 +422,11 @@ as "tokens".

< alt
#

Initialize the Parser with our list of terminal tokens, our grammar rules, and the name of the root. Reverse the operators because Jison orders precedence from low to high, and we have it high to low -(as in Yacc).

exports.parser = new Parser {
-  tokens:       tokens.join ' '
-  bnf:          grammar
-  operators:    operators.reverse()
-  startSymbol:  'Root'
+(as in Yacc).

exports.parser = new Parser {
+  tokens:       tokens.join ' '
+  bnf:          grammar
+  operators:    operators.reverse()
+  startSymbol:  'Root'
 }
 
 
\ No newline at end of file diff --git a/documentation/docs/helpers.html b/documentation/docs/helpers.html index 46df9235..04d1e6b5 100644 --- a/documentation/docs/helpers.html +++ b/documentation/docs/helpers.html @@ -1,37 +1,37 @@ helpers.coffee
"switch","super","extends","class","this","null"]"#{@prefix()}#{meth}.apply(#obj, #{ @compileSplatArguments(o) })"[param,param.splat]=[literal(o.scope.freeVariable()),param.splat]@body.unshiftnewAssignNodenewValueNode(literal('this'),[newAccessorNodevalue]),paramifparam.splat - splat=newSplatNodeparam.value - splat.index=i - splat.trailings=[] - splat.arglength=@params.length + splat = newSplatNodeparam.value + splat.index = i + splat.trailings = [] + splat.arglength = @params.length@body.unshift(splat)elseparams.pushparam - params=(param.compile(o)forparaminparams) + params = (param.compile(o)forparaminparams)@body.makeReturn()unlessempty(o.scope.parameter(param))forparaminparams - code=if@body.expressions.lengththen"\n#{ @body.compileWithDeclarations(o) }\n"else'' - func="function(#{ params.join(', ') }) {#code#{ code and @tab }}" + code = if@body.expressions.lengththen"\n#{ @body.compileWithDeclarations(o) }\n"else'' + func = "function(#{ params.join(', ') }) {#code#{ code and @tab }}"return"#{utility('bind')}(#func, this)"if@boundiftopthen"(#func)"elsefunc - topSensitive: -> + topSensitive:->trueargs[last]="#{prev.substr(0, prev.length - 2)}, #code])"continueelse - code="[#code]" + code = "[#code]"args.push(ifiis0thencodeelse".concat(#code)")args.join('')}@tokens.splicei,0,['TERMINATOR',"\n",prev[2]]return2return1

helpers.coffee

#

This file contains the common helper functions that we'd like to share among the Lexer, Rewriter, and the Nodes. Merge objects, flatten -arrays, count characters, that sort of thing.

#

Set up exported variables for both Node.js and the browser.

this.exports = this unless process?
-helpers = exports.helpers = {}
#

Cross-browser indexOf, so that IE can join the party.

helpers.indexOf = indexOf = (array, item, from) ->
+arrays, count characters, that sort of thing.

#

Set up exported variables for both Node.js and the browser.

this.exports = this unless process?
+helpers = exports.helpers = {}
#

Cross-browser indexOf, so that IE can join the party.

helpers.indexOf = indexOf = (array, item, from) ->
   return array.indexOf item, from if array.indexOf
   for other, index in array
     if other is item and (not from or (from <= index))
       return index
-  -1
#

Does a list include a value?

helpers.include = include = (list, value) ->
-  indexOf(list, value) >= 0
#

Peek at the beginning of a given string to see if it matches a sequence.

helpers.starts = starts = (string, literal, start) ->
-  string.substring(start, (start or 0) + literal.length) is literal
#

Peek at the end of a given string to see if it matches a sequence.

helpers.ends = ends = (string, literal, back) ->
-  start = string.length - literal.length - (back ? 0)
-  string.substring(start, start + literal.length) is literal
#

Trim out all falsy values from an array.

helpers.compact = compact = (array) -> item for item in array when item
#

Count the number of occurences of a character in a string.

helpers.count = count = (string, letter) ->
-  num = 0
-  pos = indexOf string, letter
+  -1
#

Does a list include a value?

helpers.include = include = (list, value) ->
+  indexOf(list, value) >= 0
#

Peek at the beginning of a given string to see if it matches a sequence.

helpers.starts = starts = (string, literal, start) ->
+  string.substring(start, (start or 0) + literal.length) is literal
#

Peek at the end of a given string to see if it matches a sequence.

helpers.ends = ends = (string, literal, back) ->
+  start = string.length - literal.length - (back ? 0)
+  string.substring(start, start + literal.length) is literal
#

Trim out all falsy values from an array.

helpers.compact = compact = (array) -> item for item in array when item
#

Count the number of occurences of a character in a string.

helpers.count = count = (string, letter) ->
+  num = 0
+  pos = indexOf string, letter
   while pos isnt -1
     num += 1
-    pos = indexOf string, letter, pos + 1
+    pos = indexOf string, letter, pos + 1
   num
#

Merge objects, returning a fresh copy with attributes from both sides. Used every time BaseNode#compile is called, to allow properties in the -options hash to propagate down the tree without polluting other branches.

helpers.merge = merge = (options, overrides) ->
-  fresh = {}
+options hash to propagate down the tree without polluting other branches.

helpers.merge = merge = (options, overrides) ->
+  fresh = {}
   (fresh[key] = val) for all key, val of options
   (fresh[key] = val) for all key, val of overrides if overrides
   fresh
#

Extend a source object with the properties of another object (shallow copy). -We use this to simulate Node's deprecated process.mixin

helpers.extend = extend = (object, properties) ->
+We use this to simulate Node's deprecated process.mixin

helpers.extend = extend = (object, properties) ->
   (object[key] = val) for all key, val of properties
#

Return a completely flattened version of an array. Handy for getting a -list of children from the nodes.

helpers.flatten = flatten = (array) ->
-  memo = []
+list of children from the nodes.

helpers.flatten = flatten = (array) ->
+  memo = []
   for item in array
-    if item instanceof Array then memo = memo.concat(item) else memo.push(item)
+    if item instanceof Array then memo = memo.concat(item) else memo.push(item)
   memo
#

Delete a key from an object, returning the value. Useful when a node is -looking for a particular method in an options hash.

helpers.del = del = (obj, key) ->
-  val = obj[key]
+looking for a particular method in an options hash.

helpers.del = del = (obj, key) ->
+  val = obj[key]
   delete obj[key]
   val
 
diff --git a/documentation/docs/lexer.html b/documentation/docs/lexer.html
index 38189afc..9ef50a52 100644
--- a/documentation/docs/lexer.html
+++ b/documentation/docs/lexer.html
@@ -10,11 +10,11 @@ form:

{Rewriter} = require('./rewriter') {helpers} = require('./helpers') else - this.exports = this - Rewriter = this.Rewriter - helpers = this.helpers
#

Import the helpers we need.

{include, count, starts, compact} = helpers
#

The Lexer Class

#

The Lexer class reads a stream of CoffeeScript and divvys it up into tagged + this.exports = this + Rewriter = this.Rewriter + helpers = this.helpers

#

Import the helpers we need.

{include, count, starts, compact} = helpers
#

The Lexer Class

#

The Lexer class reads a stream of CoffeeScript and divvys it up into tagged tokens. Some potential ambiguity in the grammar has been avoided by -pushing some extra smarts into the Lexer.

exports.Lexer = class Lexer
#

tokenize is the Lexer's main method. Scan by attempting to match tokens +pushing some extra smarts into the Lexer.

exports.Lexer = class Lexer
#

tokenize is the Lexer's main method. Scan by attempting to match tokens one at a time, using a regular expression anchored at the start of the remaining code, or a custom recursive token-matching method (for interpolations). When the next token has been recorded, we move forward @@ -25,24 +25,24 @@ characters it has consumed. @i can be thought of as our finger on t of source.

Before returning the token stream, run it through the Rewriter -unless explicitly asked not to.

  tokenize: (code, options) ->
-    code     = code.replace /(\r|\s+$)/g, ''
-    o        = options or {}
-    @code    = code         # The remainder of the source code.
-    @i       = 0            # Current character position we're parsing.
-    @line    = o.line or 0  # The current line.
-    @indent  = 0            # The current indentation level.
-    @outdebt = 0            # The under-outdentation of the last outdent.
-    @indents = []           # The stack of all current indentation levels.
-    @tokens  = []           # Stream of parsed tokens in the form ['TYPE', value, line]
+unless explicitly asked not to.

  tokenize: (code, options) ->
+    code     = code.replace /(\r|\s+$)/g, ''
+    o        = options or {}
+    @code    = code         # The remainder of the source code.
+    @i       = 0            # Current character position we're parsing.
+    @line    = o.line or 0  # The current line.
+    @indent  = 0            # The current indentation level.
+    @outdebt = 0            # The under-outdentation of the last outdent.
+    @indents = []           # The stack of all current indentation levels.
+    @tokens  = []           # Stream of parsed tokens in the form ['TYPE', value, line]
     while @i < @code.length
-      @chunk = @code.slice @i
+      @chunk = @code.slice @i
       @extractNextToken()
     @closeIndentation()
     return @tokens if o.rewrite is off
     (new Rewriter).rewrite @tokens
#

At every position, run through this list of attempted matches, short-circuiting if any of them succeed. Their order determines precedence: -@literalToken is the fallback catch-all.

  extractNextToken: ->
+@literalToken is the fallback catch-all.

  extractNextToken: ->
     return if @identifierToken()
     return if @commentToken()
     return if @whitespaceToken()
@@ -57,85 +57,85 @@ Check to ensure that JavaScript reserved words aren't being used as
 identifiers. Because CoffeeScript reserves a handful of keywords that are
 allowed in JavaScript, we're careful not to tag them as keywords when
 referenced as property names here, so you can still do jQuery.is() even
-though is means === otherwise.

  identifierToken: ->
-    return false unless id = @match IDENTIFIER, 1
+though is means === otherwise.

  identifierToken: ->
+    return false unless id = @match IDENTIFIER, 1
     @i += id.length
-    forcedIdentifier = @tagAccessor() or @match ASSIGNED, 1
-    tag = 'IDENTIFIER'
-    tag = id.toUpperCase() if include(JS_KEYWORDS, id) or (not forcedIdentifier and include(COFFEE_KEYWORDS, id))
-    tag = 'LEADING_WHEN'   if tag is 'WHEN' and include LINE_BREAK, @tag()
-    tag = 'ALL'            if id is 'all' and @tag() is 'FOR'
+    forcedIdentifier = @tagAccessor() or @match ASSIGNED, 1
+    tag = 'IDENTIFIER'
+    tag = id.toUpperCase() if include(JS_KEYWORDS, id) or (not forcedIdentifier and include(COFFEE_KEYWORDS, id))
+    tag = 'LEADING_WHEN'   if tag is 'WHEN' and include LINE_BREAK, @tag()
+    tag = 'ALL'            if id is 'all' and @tag() is 'FOR'
     if include(JS_FORBIDDEN, id)
       if forcedIdentifier
-        tag = 'STRING'
-        id  = "\"#id\""
+        tag = 'STRING'
+        id  = "\"#id\""
         if forcedIdentifier is 'accessor'
-          close_index = true
+          close_index = true
           @tokens.pop() if @tag() isnt '@'
           @token 'INDEX_START', '['
       else if include(RESERVED, id)
         @identifierError id
     unless forcedIdentifier
-      tag = id = CONVERSIONS[id] if include COFFEE_ALIASES, id
+      tag = id = CONVERSIONS[id] if include COFFEE_ALIASES, id
     @token tag, id
     @token ']', ']' if close_index
     true
#

Matches numbers, including decimals, hex, and exponential notation. -Be careful not to interfere with ranges-in-progress.

  numberToken: ->
-    return false unless number = @match NUMBER, 1
+Be careful not to interfere with ranges-in-progress.

  numberToken: ->
+    return false unless number = @match NUMBER, 1
     return false if @tag() is '.' and starts number, '.'
     @i += number.length
     @token 'NUMBER', number
     true
#

Matches strings, including multi-line strings. Ensures that quotation marks -are balanced within the string's contents, and within nested interpolations.

  stringToken: ->
+are balanced within the string's contents, and within nested interpolations.

  stringToken: ->
     return false unless starts(@chunk, '"') or starts(@chunk, "'")
-    return false unless string =
+    return false unless string =
       @balancedToken(['"', '"'], ['#{', '}']) or
       @balancedToken ["'", "'"]
     @interpolateString string.replace STRING_NEWLINES, " \\\n"
     @line += count string, "\n"
     @i += string.length
     true
#

Matches heredocs, adjusting indentation to the correct level, as heredocs -preserve whitespace, but ignore indentation to the left.

  heredocToken: ->
-    return false unless match = @chunk.match(HEREDOC)
-    quote = match[1].substr 0, 1
-    doc = @sanitizeHeredoc match[2] or match[4], {quote}
-    @interpolateString "#quote#doc#quote", heredoc: yes
+preserve whitespace, but ignore indentation to the left.

  heredocToken: ->
+    return false unless match = @chunk.match(HEREDOC)
+    quote = match[1].substr 0, 1
+    doc = @sanitizeHeredoc match[2] or match[4], {quote}
+    @interpolateString "#quote#doc#quote", heredoc: yes
     @line += count match[1], "\n"
     @i += match[1].length
-    true
#

Matches and conumes comments.

  commentToken: ->
-    return false unless match = @chunk.match(COMMENT)
+    true
#

Matches and conumes comments.

  commentToken: ->
+    return false unless match = @chunk.match(COMMENT)
     @line += count match[1], "\n"
     @i += match[1].length
     if match[2]
-      comment = @sanitizeHeredoc match[2], herecomment: true
+      comment = @sanitizeHeredoc match[2], herecomment: true
       @token 'HERECOMMENT', comment.split MULTILINER
       @token 'TERMINATOR', '\n'
-    true
#

Matches JavaScript interpolated directly into the source via backticks.

  jsToken: ->
+    true
#

Matches JavaScript interpolated directly into the source via backticks.

  jsToken: ->
     return false unless starts @chunk, '`'
-    return false unless script = @balancedToken ['`', '`']
+    return false unless script = @balancedToken ['`', '`']
     @token 'JS', script.replace JS_CLEANER, ''
     @i += script.length
     true
#

Matches regular expression literals. Lexing regular expressions is difficult to distinguish from division, so we borrow some basic heuristics from JavaScript and Ruby, borrow slash balancing from @balancedToken, and -borrow interpolation from @interpolateString.

  regexToken: ->
+borrow interpolation from @interpolateString.

  regexToken: ->
     return false unless @chunk.match REGEX_START
     return false if     include NOT_REGEX, @tag()
-    return false unless regex = @balancedToken ['/', '/']
-    return false unless end = @chunk.substr(regex.length).match REGEX_END
-    regex += flags = end[2] if end[2]
+    return false unless regex = @balancedToken ['/', '/']
+    return false unless end = @chunk.substr(regex.length).match REGEX_END
+    regex += flags = end[2] if end[2]
     if regex.match REGEX_INTERPOLATION
-      str = regex.substring(1).split('/')[0]
-      str = str.replace REGEX_ESCAPE, (escaped) -> '\\' + escaped
-      @tokens = @tokens.concat [['(', '('], ['NEW', 'new'], ['IDENTIFIER', 'RegExp'], ['CALL_START', '(']]
-      @interpolateString "\"#str\"", escapeQuotes: yes
+      str = regex.substring(1).split('/')[0]
+      str = str.replace REGEX_ESCAPE, (escaped) -> '\\' + escaped
+      @tokens = @tokens.concat [['(', '('], ['NEW', 'new'], ['IDENTIFIER', 'RegExp'], ['CALL_START', '(']]
+      @interpolateString "\"#str\"", escapeQuotes: yes
       @tokens.splice @tokens.length, 0, [',', ','], ['STRING', "\"#flags\""] if flags
       @tokens.splice @tokens.length, 0, [')', ')'], [')', ')']
     else
       @token 'REGEX', regex
     @i += regex.length
     true
#

Matches a token in which which the passed delimiter pairs must be correctly -balanced (ie. strings, JS literals).

  balancedToken: (delimited...) ->
+balanced (ie. strings, JS literals).

  balancedToken: (delimited...) ->
     @balancedString @chunk, delimited
#

Matches newlines, indents, and outdents, and determines which is which. If we can detect that the current line is continued onto the the next line, then the newline is suppressed:

@@ -146,91 +146,91 @@ then the newline is suppressed:

Keeps track of the level of indentation, because a single outdent token -can close multiple indents, so we need to know how far in we happen to be.

  lineToken: ->
-    return false unless indent = @match MULTI_DENT, 1
+can close multiple indents, so we need to know how far in we happen to be.

  lineToken: ->
+    return false unless indent = @match MULTI_DENT, 1
     @line += count indent, "\n"
     @i    += indent.length
-    prev = @prev(2)
-    size = indent.match(LAST_DENTS).reverse()[0].match(LAST_DENT)[1].length
-    nextCharacter = @match NEXT_CHARACTER, 1
-    noNewlines = nextCharacter is '.' or nextCharacter is ',' or @unfinished()
+    prev = @prev(2)
+    size = indent.match(LAST_DENTS).reverse()[0].match(LAST_DENT)[1].length
+    nextCharacter = @match NEXT_CHARACTER, 1
+    noNewlines = nextCharacter is '.' or nextCharacter is ',' or @unfinished()
     if size is @indent
       return @suppressNewlines() if noNewlines
       return @newlineToken indent
     else if size > @indent
       return @suppressNewlines() if noNewlines
-      @outdebt = 0
-      diff = size - @indent
+      @outdebt = 0
+      diff = size - @indent
       @token 'INDENT', diff
       @indents.push diff
     else
       @outdentToken @indent - size, noNewlines
-    @indent = size
+    @indent = size
     true
#

Record an outdent token or multiple tokens, if we happen to be moving back -inwards past several recorded indents.

  outdentToken: (moveOut, noNewlines, close) ->
+inwards past several recorded indents.

  outdentToken: (moveOut, noNewlines, close) ->
     while moveOut > 0
-      len = @indents.length - 1
+      len = @indents.length - 1
       if @indents[len] is undefined
-        moveOut = 0
+        moveOut = 0
       else if @indents[len] is @outdebt
         moveOut -= @outdebt
-        @outdebt = 0
+        @outdebt = 0
       else if @indents[len] < @outdebt
         @outdebt -= @indents[len]
         moveOut -= @indents[len]
       else
-        dent = @indents.pop()
+        dent = @indents.pop()
         dent -= @outdebt
         moveOut -= dent
-        @outdebt = 0
+        @outdebt = 0
         @token 'OUTDENT', dent
     @outdebt -= moveOut if dent
     @token 'TERMINATOR', "\n" unless @tag() is 'TERMINATOR' or noNewlines
     true
#

Matches and consumes non-meaningful whitespace. Tag the previous token -as being "spaced", because there are some cases where it makes a difference.

  whitespaceToken: ->
-    return false unless space = @match WHITESPACE, 1
-    prev = @prev()
-    prev.spaced = true if prev
+as being "spaced", because there are some cases where it makes a difference.

  whitespaceToken: ->
+    return false unless space = @match WHITESPACE, 1
+    prev = @prev()
+    prev.spaced = true if prev
     @i += space.length
-    true
#

Generate a newline token. Consecutive newlines get merged together.

  newlineToken: (newlines) ->
+    true
#

Generate a newline token. Consecutive newlines get merged together.

  newlineToken: (newlines) ->
     @token 'TERMINATOR', "\n" unless @tag() is 'TERMINATOR'
     true
#

Use a \ at a line-ending to suppress the newline. -The slash is removed here once its job is done.

  suppressNewlines: ->
+The slash is removed here once its job is done.

  suppressNewlines: ->
     @tokens.pop() if @value() is "\\"
     true
#

We treat all other single characters as a token. Eg.: ( ) , . ! Multi-character operators are also literal tokens, so that Jison can assign the proper order of operations. There are some symbols that we tag specially here. ; and newlines are both treated as a TERMINATOR, we distinguish -parentheses that indicate a method call from regular parentheses, and so on.

  literalToken: ->
-    match = @chunk.match OPERATOR
-    value = match and match[1]
-    space = match and match[2]
+parentheses that indicate a method call from regular parentheses, and so on.

  literalToken: ->
+    match = @chunk.match OPERATOR
+    value = match and match[1]
+    space = match and match[2]
     @tagParameters() if value and value.match CODE
     value or= @chunk.substr 0, 1
     @i += value.length
-    prevSpaced = @prev() and @prev().spaced
-    tag = value
+    prevSpaced = @prev() and @prev().spaced
+    tag = value
     if value is '='
       @assignmentError() if include JS_FORBIDDEN, @value()
       if @value() in ['or', 'and']
         return @tag 1, CONVERSIONS[@value()] + '='
     if value is ';'
-      tag = 'TERMINATOR'
+      tag = 'TERMINATOR'
     else if value is '?' and prevSpaced
-      tag = 'OP?'
+      tag = 'OP?'
     else if include(CALLABLE, @tag()) and not prevSpaced
       if value is '('
-        tag = 'CALL_START'
+        tag = 'CALL_START'
       else if value is '['
-        tag = 'INDEX_START'
+        tag = 'INDEX_START'
         @tag 1, 'INDEX_SOAK'  if @tag() is '?'
         @tag 1, 'INDEX_PROTO' if @tag() is '::'
     @token tag, value
     true
#

Token Manipulators

#

As we consume a new IDENTIFIER, look at the previous token to determine if it's a special kind of accessor. Return true if any type of accessor -is the previous token.

  tagAccessor: ->
-    return false if (not prev = @prev()) or (prev and prev.spaced)
-    accessor = if prev[1] is '::'
+is the previous token.

  tagAccessor: ->
+    return false if (not prev = @prev()) or (prev and prev.spaced)
+    accessor = if prev[1] is '::'
       @tag 1, 'PROTOTYPE_ACCESS'
     else if prev[1] is '.' and not (@value(2) is '.')
       if @tag(2) is '?'
@@ -241,39 +241,39 @@ is the previous token.

else prev[0] is '@' if accessor then 'accessor' else false
#

Sanitize a heredoc or herecomment by escaping internal double quotes and -erasing all external indentation on the left-hand side.

  sanitizeHeredoc: (doc, options) ->
-    while (match = HEREDOC_INDENT.exec(doc))
-      attempt = if match[2]? then match[2] else match[3]
-      indent = attempt if not indent or attempt.length < indent.length
-    doc = doc.replace(new RegExp("^" +indent, 'gm'), '')
+erasing all external indentation on the left-hand side.

  sanitizeHeredoc: (doc, options) ->
+    while (match = HEREDOC_INDENT.exec(doc))
+      attempt = if match[2]? then match[2] else match[3]
+      indent = attempt if not indent or attempt.length < indent.length
+    doc = doc.replace(new RegExp("^" +indent, 'gm'), '')
     return doc if options.herecomment
     doc.replace(MULTILINER, "\\n")
        .replace(new RegExp(options.quote, 'g'), "\\#options.quote")
#

A source of ambiguity in our grammar used to be parameter lists in function definitions versus argument lists in function calls. Walk backwards, tagging -parameters specially in order to make things easier for the parser.

  tagParameters: ->
+parameters specially in order to make things easier for the parser.

  tagParameters: ->
     return if @tag() isnt ')'
-    i = 0
+    i = 0
     loop
       i += 1
-      tok = @prev i
+      tok = @prev i
       return if not tok
       switch tok[0]
         when 'IDENTIFIER'       then tok[0] = 'PARAM'
         when ')'                then tok[0] = 'PARAM_END'
         when '(', 'CALL_START'  then return tok[0] = 'PARAM_START'
-    true
#

Close up all remaining open blocks at the end of the file.

  closeIndentation: ->
+    true
#

Close up all remaining open blocks at the end of the file.

  closeIndentation: ->
     @outdentToken @indent
#

The error for when you try to use a forbidden word in JavaScript as -an identifier.

  identifierError: (word) ->
+an identifier.

  identifierError: (word) ->
     throw new Error "SyntaxError: Reserved word \"#word\" on line #{@line + 1}"
#

The error for when you try to assign to a reserved word in JavaScript, -like "function" or "default".

  assignmentError: ->
+like "function" or "default".

  assignmentError: ->
     throw new Error "SyntaxError: Reserved word \"#{@value()}\" on line #{@line + 1} can't be assigned"
#

Matches a balanced group such as a single or double-quoted string. Pass in a series of delimiters, all of which must be nested correctly within the contents of the string. This method allows us to have strings within -interpolations within strings, ad infinitum.

  balancedString: (str, delimited, options) ->
+interpolations within strings, ad infinitum.

  balancedString: (str, delimited, options) ->
     options or= {}
-    slash = delimited[0][0] is '/'
-    levels = []
-    i = 0
+    slash = delimited[0][0] is '/'
+    levels = []
+    i = 0
     while i < str.length
       if levels.length and starts str, '\\', i
         i += 1
@@ -304,70 +304,70 @@ for substitution of bare variables as well as arbitrary expressions.

If it encounters an interpolation, this method will recursively create a new Lexer, tokenize the interpolated contents, and merge them into the -token stream.

  interpolateString: (str, options) ->
+token stream.

  interpolateString: (str, options) ->
     options or= {}
     if str.length < 3 or not starts str, '"'
       @token 'STRING', str
     else
-      lexer =    new Lexer
-      tokens =   []
-      quote =    str.substring 0, 1
+      lexer =    new Lexer
+      tokens =   []
+      quote =    str.substring 0, 1
       [i, pi] =  [1, 1]
       while i < str.length - 1
         if starts str, '\\', i
           i += 1
-        else if match = str.substring(i).match INTERPOLATION
+        else if match = str.substring(i).match INTERPOLATION
           [group, interp] = match
-          interp = "this.#{ interp.substring(1) }" if starts interp, '@'
+          interp = "this.#{ interp.substring(1) }" if starts interp, '@'
           tokens.push ['STRING', "#quote#{ str.substring(pi, i) }#quote"] if pi < i
           tokens.push ['IDENTIFIER', interp]
           i += group.length - 1
-          pi = i + 1
-        else if (expr = @balancedString str.substring(i), [['#{', '}']])
+          pi = i + 1
+        else if (expr = @balancedString str.substring(i), [['#{', '}']])
           tokens.push ['STRING', "#quote#{ str.substring(pi, i) }#quote"] if pi < i
-          inner = expr.substring(2, expr.length - 1)
+          inner = expr.substring(2, expr.length - 1)
           if inner.length
-            inner = inner.replace new RegExp('\\\\' + quote, 'g'), quote if options.heredoc
-            nested = lexer.tokenize "(#inner)", line: @line
+            inner = inner.replace new RegExp('\\\\' + quote, 'g'), quote if options.heredoc
+            nested = lexer.tokenize "(#inner)", line: @line
             (tok[0] = ')') for tok, idx in nested when tok[0] is 'CALL_END'
             nested.pop()
             tokens.push ['TOKENS', nested]
           else
             tokens.push ['STRING', "#quote#quote"]
           i += expr.length - 1
-          pi = i + 1
+          pi = i + 1
         i += 1
       tokens.push ['STRING', "#quote#{ str.substring(pi, i) }#quote"] if pi < i and pi < str.length - 1
       tokens.unshift ['STRING', '""'] unless tokens[0][0] is 'STRING'
-      interpolated = tokens.length > 1
+      interpolated = tokens.length > 1
       @token '(', '(' if interpolated
       for token, i in tokens
         [tag, value] = token
         if tag is 'TOKENS'
-          @tokens = @tokens.concat value
+          @tokens = @tokens.concat value
         else if tag is 'STRING' and options.escapeQuotes
-          escaped = value.substring(1, value.length - 1).replace(/"/g, '\\"')
+          escaped = value.substring(1, value.length - 1).replace(/"/g, '\\"')
           @token tag, "\"#escaped\""
         else
           @token tag, value
         @token '+', '+' if i < tokens.length - 1
       @token ')', ')' if interpolated
-      tokens
#

Helpers

#

Add a token to the results, taking note of the line number.

  token: (tag, value) ->
-    @tokens.push [tag, value, @line]
#

Peek at a tag in the current token stream.

  tag: (index, newTag) ->
-    return unless tok = @prev index
+      tokens
#

Helpers

#

Add a token to the results, taking note of the line number.

  token: (tag, value) ->
+    @tokens.push [tag, value, @line]
#

Peek at a tag in the current token stream.

  tag: (index, newTag) ->
+    return unless tok = @prev index
     return tok[0] = newTag if newTag?
-    tok[0]
#

Peek at a value in the current token stream.

  value: (index, val) ->
-    return unless tok = @prev index
+    tok[0]
#

Peek at a value in the current token stream.

  value: (index, val) ->
+    return unless tok = @prev index
     return tok[1] = val if val?
-    tok[1]
#

Peek at a previous token, entire.

  prev: (index) ->
+    tok[1]
#

Peek at a previous token, entire.

  prev: (index) ->
     @tokens[@tokens.length - (index or 1)]
#

Attempt to match a string against the current chunk, returning the indexed -match if successful, and false otherwise.

  match: (regex, index) ->
-    return false unless m = @chunk.match regex
-    if m then m[index] else false
#

Are we in the midst of an unfinished expression?

  unfinished: ->
-    prev = @prev(2)
+match if successful, and false otherwise.

  match: (regex, index) ->
+    return false unless m = @chunk.match regex
+    if m then m[index] else false
#

Are we in the midst of an unfinished expression?

  unfinished: ->
+    prev = @prev(2)
     @value() and @value().match and @value().match(NO_NEWLINE) and
       prev and (prev[0] isnt '.') and not @value().match(CODE) and
-      not @chunk.match ASSIGNED
#

Constants

#

Keywords that CoffeeScript shares in common with JavaScript.

JS_KEYWORDS = [
+      not @chunk.match ASSIGNED
#

Constants

#

Keywords that CoffeeScript shares in common with JavaScript.

JS_KEYWORDS = [
   "if", "else",
   "true", "false",
   "new", "return",
@@ -378,47 +378,47 @@ match if successful, and false otherwise.

#

CoffeeScript-only keywords, which we're more relaxed about allowing. They can't -be used standalone, but you can reference them as an attached property.

COFFEE_ALIASES =  ["and", "or", "is", "isnt", "not"]
-COFFEE_KEYWORDS = COFFEE_ALIASES.concat [
+be used standalone, but you can reference them as an attached property.

COFFEE_ALIASES =  ["and", "or", "is", "isnt", "not"]
+COFFEE_KEYWORDS = COFFEE_ALIASES.concat [
   "then", "unless", "until", "loop",
   "yes", "no", "on", "off",
   "of", "by", "where", "when"
 ]
#

The list of keywords that are reserved by JavaScript, but not used, or are used by CoffeeScript internally. We throw an error when these are encountered, -to avoid having a JavaScript error at runtime.

RESERVED = [
+to avoid having a JavaScript error at runtime.

RESERVED = [
   "case", "default", "do", "function", "var", "void", "with",
   "const", "let", "enum", "export", "import", "native",
   "__hasProp", "__extends", "__slice"
 ]
#

The superset of both JavaScript keywords and reserved words, none of which may -be used as identifiers or properties.

JS_FORBIDDEN = JS_KEYWORDS.concat RESERVED
#

Token matching regexes.

IDENTIFIER    = /^([a-zA-Z\$_](\w|\$)*)/
-NUMBER        = /^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b/i
-HEREDOC       = /^("{6}|'{6}|"{3}\n?([\s\S]*?)\n?([ \t]*)"{3}|'{3}\n?([\s\S]*?)\n?([ \t]*)'{3})/
-INTERPOLATION = /^#([a-zA-Z_@]\w*(\.\w+)*)/
-OPERATOR      = /^(-[\-=>]?|\+[+=]?|[*&|\/%=<>:!?]+)([ \t]*)/
-WHITESPACE    = /^([ \t]+)/
-COMMENT       = /^(\s*\#{3}(?!#)[ \t]*\n+([\s\S]*?)[ \t]*\n+[ \t]*\#{3}|(\s*#(?!##[^#])[^\n]*)+)/
-CODE          = /^((-|=)>)/
-MULTI_DENT    = /^((\n([ \t]*))+)(\.)?/
-LAST_DENTS    = /\n([ \t]*)/g
-LAST_DENT     = /\n([ \t]*)/
#

Regex-matching-regexes.

REGEX_START        = /^\/[^\/ ]/
-REGEX_INTERPOLATION= /([^\\]#[a-zA-Z_@]|[^\\]#\{.*[^\\]\})/
-REGEX_END          = /^(([imgy]{1,4})\b|\W|$)/
-REGEX_ESCAPE       = /\\[^\$]/g
#

Token cleaning regexes.

JS_CLEANER      = /(^`|`$)/g
-MULTILINER      = /\n/g
-STRING_NEWLINES = /\n[ \t]*/g
-NO_NEWLINE      = /^([+\*&|\/\-%=<>!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/
-HEREDOC_INDENT  = /(\n+([ \t]*)|^([ \t]+))/g
-ASSIGNED        = /^\s*([a-zA-Z\$_@]\w*[ \t]*?[:=][^=])/
-NEXT_CHARACTER  = /^\s*(\S)/
#

Tokens which a regular expression will never immediately follow, but which +be used as identifiers or properties.

JS_FORBIDDEN = JS_KEYWORDS.concat RESERVED
#

Token matching regexes.

IDENTIFIER    = /^([a-zA-Z\$_](\w|\$)*)/
+NUMBER        = /^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b/i
+HEREDOC       = /^("{6}|'{6}|"{3}\n?([\s\S]*?)\n?([ \t]*)"{3}|'{3}\n?([\s\S]*?)\n?([ \t]*)'{3})/
+INTERPOLATION = /^#([a-zA-Z_@]\w*(\.\w+)*)/
+OPERATOR      = /^(-[\-=>]?|\+[+=]?|[*&|\/%=<>:!?]+)([ \t]*)/
+WHITESPACE    = /^([ \t]+)/
+COMMENT       = /^(\s*\#{3}(?!#)[ \t]*\n+([\s\S]*?)[ \t]*\n+[ \t]*\#{3}|(\s*#(?!##[^#])[^\n]*)+)/
+CODE          = /^((-|=)>)/
+MULTI_DENT    = /^((\n([ \t]*))+)(\.)?/
+LAST_DENTS    = /\n([ \t]*)/g
+LAST_DENT     = /\n([ \t]*)/
#

Regex-matching-regexes.

REGEX_START        = /^\/[^\/ ]/
+REGEX_INTERPOLATION= /([^\\]#[a-zA-Z_@]|[^\\]#\{.*[^\\]\})/
+REGEX_END          = /^(([imgy]{1,4})\b|\W|$)/
+REGEX_ESCAPE       = /\\[^\$]/g
#

Token cleaning regexes.

JS_CLEANER      = /(^`|`$)/g
+MULTILINER      = /\n/g
+STRING_NEWLINES = /\n[ \t]*/g
+NO_NEWLINE      = /^([+\*&|\/\-%=<>!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/
+HEREDOC_INDENT  = /(\n+([ \t]*)|^([ \t]+))/g
+ASSIGNED        = /^\s*([a-zA-Z\$_@]\w*[ \t]*?[:=][^=])/
+NEXT_CHARACTER  = /^\s*(\S)/
#

Tokens which a regular expression will never immediately follow, but which a division operator might.

See: http://www.mozilla.org/js/language/js20-2002-04/rationale/syntax.html#regular-expressions

-

Our list is shorter, due to sans-parentheses method calls.

NOT_REGEX = ['NUMBER', 'REGEX', '++', '--', 'FALSE', 'NULL', 'TRUE', ']']
#

Tokens which could legitimately be invoked or indexed. A opening +

Our list is shorter, due to sans-parentheses method calls.

NOT_REGEX = ['NUMBER', 'REGEX', '++', '--', 'FALSE', 'NULL', 'TRUE', ']']
#

Tokens which could legitimately be invoked or indexed. A opening parentheses or bracket following these tokens will be recorded as the start -of a function invocation or indexing operation.

CALLABLE = ['IDENTIFIER', 'SUPER', ')', ']', '}', 'STRING', '@', 'THIS', '?', '::']
#

Tokens that, when immediately preceding a WHEN, indicate that the WHEN +of a function invocation or indexing operation.

CALLABLE = ['IDENTIFIER', 'SUPER', ')', ']', '}', 'STRING', '@', 'THIS', '?', '::']
#

Tokens that, when immediately preceding a WHEN, indicate that the WHEN occurs at the start of a line. We disambiguate these from trailing whens to -avoid an ambiguity in the grammar.

LINE_BREAK = ['INDENT', 'OUTDENT', 'TERMINATOR']
#

Conversions from CoffeeScript operators into JavaScript ones.

CONVERSIONS = {
+avoid an ambiguity in the grammar.

LINE_BREAK = ['INDENT', 'OUTDENT', 'TERMINATOR']
#

Conversions from CoffeeScript operators into JavaScript ones.

CONVERSIONS = {
   'and':  '&&'
   'or':   '||'
   'is':   '=='
diff --git a/documentation/docs/nodes.html b/documentation/docs/nodes.html
index b3299710..b76f0a80 100644
--- a/documentation/docs/nodes.html
+++ b/documentation/docs/nodes.html
@@ -3,12 +3,12 @@ nodes are created as the result of actions in the grammar
 but some are created by other nodes as a method of code generation. To convert
 the syntax tree into a string of JavaScript code, call compile() on the root.

#

Set up for both Node.js and the browser, by including the Scope class and the helper functions.

if process?
-  Scope =   require('./scope').Scope
-  helpers = require('./helpers').helpers
+  Scope =   require('./scope').Scope
+  helpers = require('./helpers').helpers
 else
-  this.exports = this
-  helpers =      this.helpers
-  Scope =        this.Scope
#

Import the helpers we plan to use.

{compact, flatten, merge, del, include, indexOf, starts, ends} = helpers
#

BaseNode

#

The BaseNode is the abstract base class for all nodes in the syntax tree. + this.exports = this + helpers = this.helpers + Scope = this.Scope

#

Import the helpers we plan to use.

{compact, flatten, merge, del, include, indexOf, starts, ends} = helpers
#

BaseNode

#

The BaseNode is the abstract base class for all nodes in the syntax tree. Each subclass implements the compileNode method, which performs the code generation for that node. To compile a node to JavaScript, call compile on it, which wraps compileNode in some generic extra smarts, @@ -16,7 +16,7 @@ to know when the generated code needs to be wrapped up in a closure. An options hash is passed and cloned throughout, containing information about the environment from higher in the tree (such as if a returned value is being requested by the surrounding function), information about the current -scope, and indentation level.

exports.BaseNode = class BaseNode
#

Common logic for determining whether to wrap this node in a closure before +scope, and indentation level.

exports.BaseNode = class BaseNode
#

Common logic for determining whether to wrap this node in a closure before compiling it, or to compile directly. We need to wrap if this node is a statement, and it's not a pureStatement, and we're not at the top level of a block (which would be unnecessary), and we haven't @@ -25,294 +25,294 @@ return results).

If a Node is topSensitive, that means that it needs to compile differently depending on whether it's being used as part of a larger expression, or is a -top-level statement within the function body.

  compile: (o) ->
-    @options = merge o or {}
-    @tab     = o.indent
+top-level statement within the function body.

  compile: (o) ->
+    @options = merge o or {}
+    @tab     = o.indent
     unless this instanceof ValueNode or this instanceof CallNode
       del @options, 'operation'
       del @options, 'chainRoot' unless this instanceof AccessorNode or this instanceof IndexNode
-    top     = if @topSensitive() then @options.top else del @options, 'top'
-    closure = @isStatement() and not @isPureStatement() and not top and
+    top     = if @topSensitive() then @options.top else del @options, 'top'
+    closure = @isStatement() and not @isPureStatement() and not top and
               not @options.asStatement and not (this instanceof CommentNode) and
               not @containsPureStatement()
     if closure then @compileClosure(@options) else @compileNode(@options)
#

Statements converted into expressions via closure-wrapping share a scope -object with their parent closure, to preserve the expected lexical scope.

  compileClosure: (o) ->
-    @tab = o.indent
-    o.sharedScope = o.scope
+object with their parent closure, to preserve the expected lexical scope.

  compileClosure: (o) ->
+    @tab = o.indent
+    o.sharedScope = o.scope
     ClosureNode.wrap(this).compile o
#

If the code generation wishes to use the result of a complex expression in multiple places, ensure that the expression is only ever evaluated once, -by assigning it to a temporary variable.

  compileReference: (o, options) ->
+by assigning it to a temporary variable.

  compileReference: (o, options) ->
     options or= {}
-    pair = if not ((this instanceof CallNode or @contains((n) -> n instanceof CallNode)) or
+    pair = if not ((this instanceof CallNode or @contains((n) -> n instanceof CallNode)) or
                   (this instanceof ValueNode and (not (@base instanceof LiteralNode) or @hasProperties())))
       [this, this]
     else if this instanceof ValueNode and options.assignment
       this.cacheIndexes(o)
     else
-      reference = literal o.scope.freeVariable()
-      compiled  = new AssignNode reference, this
+      reference = literal o.scope.freeVariable()
+      compiled  = new AssignNode reference, this
       [compiled, reference]
     return [pair[0].compile(o), pair[1].compile(o)] if options.precompile
-    pair
#

Convenience method to grab the current indentation level, plus tabbing in.

  idt: (tabs) ->
-    idt = @tab or ''
-    num = (tabs or 0) + 1
+    pair
#

Convenience method to grab the current indentation level, plus tabbing in.

  idt: (tabs) ->
+    idt = @tab or ''
+    num = (tabs or 0) + 1
     idt += TAB while num -= 1
     idt
#

Construct a node that returns the current node's result. Note that this is overridden for smarter behavior for -many statement nodes (eg IfNode, ForNode)...

  makeReturn: ->
+many statement nodes (eg IfNode, ForNode)...

  makeReturn: ->
     new ReturnNode this
#

Does this node, or any of its children, contain a node of a certain kind? Recursively traverses down the children of the nodes, yielding to a block and returning true when the block finds a match. contains does not cross -scope boundaries.

  contains: (block) ->
-    contains = false
+scope boundaries.

  contains: (block) ->
+    contains = false
     @traverseChildren false, (node) ->
       if block(node)
-        contains = true
+        contains = true
         return false
-    contains
#

Is this node of a certain type, or does it contain the type?

  containsType: (type) ->
+    contains
#

Is this node of a certain type, or does it contain the type?

  containsType: (type) ->
     this instanceof type or @contains (n) -> n instanceof type
#

Convenience for the most common use of contains. Does the node contain -a pure statement?

  containsPureStatement: ->
-    @isPureStatement() or @contains (n) -> n.isPureStatement and n.isPureStatement()
#

Perform an in-order traversal of the AST. Crosses scope boundaries.

  traverse: (block) -> @traverseChildren true, block
#

toString representation of the node, for inspecting the parse tree. -This is what coffee --nodes prints out.

  toString: (idt, override) ->
+a pure statement?

  containsPureStatement: ->
+    @isPureStatement() or @contains (n) -> n.isPureStatement and n.isPureStatement()
#

Perform an in-order traversal of the AST. Crosses scope boundaries.

  traverse: (block) -> @traverseChildren true, block
#

toString representation of the node, for inspecting the parse tree. +This is what coffee --nodes prints out.

  toString: (idt, override) ->
     idt or= ''
-    children = (child.toString idt + TAB for child in @collectChildren()).join('')
+    children = (child.toString idt + TAB for child in @collectChildren()).join('')
     '\n' + idt + (override or @class) + children
 
-  eachChild: (func) ->
+  eachChild: (func) ->
     return unless @children
     for attr in @children when this[attr]
       for child in flatten [this[attr]]
         return if func(child) is false
 
-  collectChildren: ->
-    nodes = []
+  collectChildren: ->
+    nodes = []
     @eachChild (node) -> nodes.push node
     nodes
 
-  traverseChildren: (crossScope, func) ->
+  traverseChildren: (crossScope, func) ->
     @eachChild (child) ->
       func.apply(this, arguments)
       child.traverseChildren(crossScope, func) if child instanceof BaseNode
#

Default implementations of the common node properties and methods. Nodes -will override these with custom logic, if needed.

  class:    'BaseNode'
-  children: []
+will override these with custom logic, if needed.

  class:    'BaseNode'
+  children: []
 
-  unwrap          : -> this
-  isStatement     : -> no
-  isPureStatement : -> no
-  topSensitive    : -> no
#

Expressions

#

The expressions body is the list of expressions that forms the body of an + unwrap : -> this + isStatement : -> no + isPureStatement : -> no + topSensitive : -> no

#

Expressions

#

The expressions body is the list of expressions that forms the body of an indented block of code -- the implementation of a function, a clause in an -if, switch, or try, and so on...

exports.Expressions = class Expressions extends BaseNode
+if, switch, or try, and so on...

exports.Expressions = class Expressions extends BaseNode
 
-  class:        'Expressions'
-  children:     ['expressions']
-  isStatement:  -> yes
+  class:        'Expressions'
+  children:     ['expressions']
+  isStatement:  -> yes
 
-  constructor: (nodes) ->
-    @expressions = compact flatten nodes or []
#

Tack an expression on to the end of this expression list.

  push: (node) ->
+  constructor: (nodes) ->
+    @expressions = compact flatten nodes or []
#

Tack an expression on to the end of this expression list.

  push: (node) ->
     @expressions.push(node)
-    this
#

Add an expression at the beginning of this expression list.

  unshift: (node) ->
+    this
#

Add an expression at the beginning of this expression list.

  unshift: (node) ->
     @expressions.unshift(node)
     this
#

If this Expressions consists of just a single node, unwrap it by pulling -it back out.

  unwrap: ->
-    if @expressions.length is 1 then @expressions[0] else this
#

Is this an empty block of code?

  empty: ->
+it back out.

  unwrap: ->
+    if @expressions.length is 1 then @expressions[0] else this
#

Is this an empty block of code?

  empty: ->
     @expressions.length is 0
#

An Expressions node does not return its entire body, rather it -ensures that the final expression is returned.

  makeReturn: ->
-    idx  = @expressions.length - 1
-    last = @expressions[idx]
-    last = @expressions[idx -= 1] if last instanceof CommentNode
+ensures that the final expression is returned.

  makeReturn: ->
+    idx  = @expressions.length - 1
+    last = @expressions[idx]
+    last = @expressions[idx -= 1] if last instanceof CommentNode
     return this if not last or last instanceof ReturnNode
     @expressions[idx] = last.makeReturn()
-    this
#

An Expressions is the only node that can serve as the root.

  compile: (o) ->
+    this
#

An Expressions is the only node that can serve as the root.

  compile: (o) ->
     o or= {}
     if o.scope then super(o) else @compileRoot(o)
 
-  compileNode: (o) ->
+  compileNode: (o) ->
     (@compileExpression(node, merge(o)) for node in @expressions).join("\n")
#

If we happen to be the top-level Expressions, wrap everything in a safety closure, unless requested not to. It would be better not to generate them in the first place, but for now, -clean up obvious double-parentheses.

  compileRoot: (o) ->
-    o.indent  = @tab = if o.noWrap then '' else TAB
-    o.scope   = new Scope(null, this, null)
-    code      = @compileWithDeclarations(o)
-    code      = code.replace(TRAILING_WHITESPACE, '')
-    code      = code.replace(DOUBLE_PARENS, '($1)')
+clean up obvious double-parentheses.

  compileRoot: (o) ->
+    o.indent  = @tab = if o.noWrap then '' else TAB
+    o.scope   = new Scope(null, this, null)
+    code      = @compileWithDeclarations(o)
+    code      = code.replace(TRAILING_WHITESPACE, '')
+    code      = code.replace(DOUBLE_PARENS, '($1)')
     if o.noWrap then code else "(function() {\n#code\n})();\n"
#

Compile the expressions body for the contents of a function, with -declarations of all inner variables pushed up to the top.

  compileWithDeclarations: (o) ->
-    code = @compileNode(o)
-    code = "#{@tab}var #{o.scope.compiledAssignments()};\n#code"  if o.scope.hasAssignments(this)
-    code = "#{@tab}var #{o.scope.compiledDeclarations()};\n#code" if not o.globals and o.scope.hasDeclarations(this)
+declarations of all inner variables pushed up to the top.

  compileWithDeclarations: (o) ->
+    code = @compileNode(o)
+    code = "#{@tab}var #{o.scope.compiledAssignments()};\n#code"  if o.scope.hasAssignments(this)
+    code = "#{@tab}var #{o.scope.compiledDeclarations()};\n#code" if not o.globals and o.scope.hasDeclarations(this)
     code
#

Compiles a single expression within the expressions body. If we need to return the result, and it's an expression, simply return it. If it's a -statement, ask the statement to do so.

  compileExpression: (node, o) ->
-    @tab = o.indent
-    compiledNode = node.compile merge o, top: true
+statement, ask the statement to do so.

  compileExpression: (node, o) ->
+    @tab = o.indent
+    compiledNode = node.compile merge o, top: true
     if node.isStatement() then compiledNode else "#{@idt()}#compiledNode;"
#

Wrap up the given nodes as an Expressions, unless it already happens -to be one.

Expressions.wrap = (nodes) ->
+to be one.

Expressions.wrap = (nodes) ->
   return nodes[0] if nodes.length is 1 and nodes[0] instanceof Expressions
   new Expressions(nodes)
#

LiteralNode

#

Literals are static values that can be passed through directly into JavaScript without translation, such as: strings, numbers, -true, false, null...

exports.LiteralNode = class LiteralNode extends BaseNode
+true, false, null...

exports.LiteralNode = class LiteralNode extends BaseNode
 
-  class: 'LiteralNode'
+  class: 'LiteralNode'
 
-  constructor: (@value) ->
+  constructor: (@value) ->
 
-  makeReturn: ->
+  makeReturn: ->
     if @isStatement() then this else super()
#

Break and continue must be treated as pure statements -- they lose their -meaning when wrapped in a closure.

  isStatement: ->
+meaning when wrapped in a closure.

  isStatement: ->
     @value is 'break' or @value is 'continue'
-  isPureStatement: LiteralNode::isStatement
+  isPureStatement: LiteralNode::isStatement
 
-  compileNode: (o) ->
-    idt = if @isStatement() then @idt() else ''
-    end = if @isStatement() then ';' else ''
+  compileNode: (o) ->
+    idt = if @isStatement() then @idt() else ''
+    end = if @isStatement() then ';' else ''
     "#idt#@value#end"
 
-  toString: (idt) ->
+  toString: (idt) ->
     " \"#@value\""
#

ReturnNode

#

A return is a pureStatement -- wrapping it in a closure wouldn't -make sense.

exports.ReturnNode = class ReturnNode extends BaseNode
+make sense.

exports.ReturnNode = class ReturnNode extends BaseNode
 
-  class:            'ReturnNode'
-  isStatement:      -> yes
-  isPureStatement:  -> yes
-  children:         ['expression']
+  class:            'ReturnNode'
+  isStatement:      -> yes
+  isPureStatement:  -> yes
+  children:         ['expression']
 
-  constructor: (@expression) ->
+  constructor: (@expression) ->
 
-  makeReturn: ->
+  makeReturn: ->
     this
 
-  compile: (o) ->
-    expr = @expression.makeReturn()
+  compile: (o) ->
+    expr = @expression.makeReturn()
     return expr.compile o unless expr instanceof ReturnNode
     super o
 
-  compileNode: (o) ->
-    o.asStatement = true if @expression.isStatement()
+  compileNode: (o) ->
+    o.asStatement = true if @expression.isStatement()
     "#{@tab}return #{@expression.compile(o)};"
#

ValueNode

#

A value, variable or literal or parenthesized, indexed or dotted into, -or vanilla.

exports.ValueNode = class ValueNode extends BaseNode
+or vanilla.

exports.ValueNode = class ValueNode extends BaseNode
 
-  SOAK:     " == undefined ? undefined : "
+  SOAK:     " == undefined ? undefined : "
 
-  class:     'ValueNode'
-  children: ['base', 'properties']
#

A ValueNode has a base and a list of property accesses.

  constructor: (@base, @properties) ->
-    @properties or= []
#

Add a property access to the list.

  push: (prop) ->
+  class:     'ValueNode'
+  children: ['base', 'properties']
#

A ValueNode has a base and a list of property accesses.

  constructor: (@base, @properties) ->
+    @properties or= []
#

Add a property access to the list.

  push: (prop) ->
     @properties.push(prop)
     this
 
-  hasProperties: ->
-    !!@properties.length
#

Some boolean checks for the benefit of other nodes.

  isArray: ->
+  hasProperties: ->
+    !!@properties.length
#

Some boolean checks for the benefit of other nodes.

  isArray: ->
     @base instanceof ArrayNode and not @hasProperties()
 
-  isObject: ->
+  isObject: ->
     @base instanceof ObjectNode and not @hasProperties()
 
-  isSplice: ->
+  isSplice: ->
     @hasProperties() and @properties[@properties.length - 1] instanceof SliceNode
 
-  makeReturn: ->
+  makeReturn: ->
     if @hasProperties() then super() else @base.makeReturn()
#

The value can be unwrapped as its inner node, if there are no attached -properties.

  unwrap: ->
-    if @properties.length then this else @base
#

Values are considered to be statements if their base is a statement.

  isStatement: ->
+properties.

  unwrap: ->
+    if @properties.length then this else @base
#

Values are considered to be statements if their base is a statement.

  isStatement: ->
     @base.isStatement and @base.isStatement() and not @hasProperties()
 
-  isNumber: ->
-    @base instanceof LiteralNode and @base.value.match NUMBER
#

Works out if the value is the start of a chain.

  isStart: (o) ->
+  isNumber: ->
+    @base instanceof LiteralNode and @base.value.match NUMBER
#

Works out if the value is the start of a chain.

  isStart: (o) ->
     return true if this is o.chainRoot and @properties[0] instanceof AccessorNode
-    node = o.chainRoot.base or o.chainRoot.variable
-    while node instanceof CallNode then node = node.variable
+    node = o.chainRoot.base or o.chainRoot.variable
+    while node instanceof CallNode then node = node.variable
     node is this
#

If the value node has indexes containing function calls, and the value node needs to be used twice, in compound assignment ... then we need to cache -the value of the indexes.

  cacheIndexes: (o) ->
-    copy = new ValueNode @base, @properties.slice 0
+the value of the indexes.

  cacheIndexes: (o) ->
+    copy = new ValueNode @base, @properties.slice 0
     for prop, i in copy.properties
       if prop instanceof IndexNode and prop.contains((n) -> n instanceof CallNode)
         [index, indexVar] = prop.index.compileReference o
         this.properties[i] = new IndexNode index
         copy.properties[i] = new IndexNode indexVar
-    [this, copy]
#

Override compile to unwrap the value when possible.

  compile: (o) ->
+    [this, copy]
#

Override compile to unwrap the value when possible.

  compile: (o) ->
     if not o.top or @properties.length then super(o) else @base.compile(o)
#

We compile a value to JavaScript by compiling and joining each property. Things get much more insteresting if the chain of properties has soak operators ?. interspersed. Then we have to take care not to accidentally -evaluate a anything twice when building the soak chain.

  compileNode: (o) ->
-    only        = del o, 'onlyFirst'
-    op          = del o, 'operation'
-    props       = if only then @properties[0...@properties.length - 1] else @properties
+evaluate a anything twice when building the soak chain.

  compileNode: (o) ->
+    only        = del o, 'onlyFirst'
+    op          = del o, 'operation'
+    props       = if only then @properties[0...@properties.length - 1] else @properties
     o.chainRoot or= this
-    baseline    = @base.compile o
-    baseline    = "(#baseline)" if @hasProperties() and (@base instanceof ObjectNode or @isNumber())
-    complete    = @last = baseline
+    baseline    = @base.compile o
+    baseline    = "(#baseline)" if @hasProperties() and (@base instanceof ObjectNode or @isNumber())
+    complete    = @last = baseline
 
     for prop, i in props
-      @source = baseline
+      @source = baseline
       if prop.soakNode
         if @base instanceof CallNode or @base.contains((n) -> n instanceof CallNode) and i is 0
-          temp = o.scope.freeVariable()
-          complete = "(#{ baseline = temp } = (#complete))"
-        complete = "typeof #complete === \"undefined\" || #baseline" if i is 0 and @isStart(o)
+          temp = o.scope.freeVariable()
+          complete = "(#{ baseline = temp } = (#complete))"
+        complete = "typeof #complete === \"undefined\" || #baseline" if i is 0 and @isStart(o)
         complete += @SOAK + (baseline += prop.compile(o))
       else
-        part = prop.compile(o)
+        part = prop.compile(o)
         baseline += part
         complete += part
-        @last = part
+        @last = part
 
     if op and @wrapped then "(#complete)" else complete
#

CommentNode

#

CoffeeScript passes through block comments as JavaScript block comments -at the same position.

exports.CommentNode = class CommentNode extends BaseNode
+at the same position.

exports.CommentNode = class CommentNode extends BaseNode
 
-  class: 'CommentNode'
-  isStatement: -> yes
+  class: 'CommentNode'
+  isStatement: -> yes
 
-  constructor: (@lines) ->
+  constructor: (@lines) ->
 
-  makeReturn: ->
+  makeReturn: ->
     this
 
-  compileNode: (o) ->
-    sep = "\n#@tab"
+  compileNode: (o) ->
+    sep = "\n#@tab"
     "#@tab/*#sep#{ @lines.join(sep) }\n#@tab*/"
#

CallNode

#

Node for a function invocation. Takes care of converting super() calls into -calls against the prototype's function of the same name.

exports.CallNode = class CallNode extends BaseNode
+calls against the prototype's function of the same name.

exports.CallNode = class CallNode extends BaseNode
 
-  class:     'CallNode'
-  children: ['variable', 'args']
+  class:     'CallNode'
+  children: ['variable', 'args']
 
-  constructor: (variable, @args) ->
-    @isNew    = false
-    @isSuper  = variable is 'super'
-    @variable = if @isSuper then null else variable
+  constructor: (variable, @args) ->
+    @isNew    = false
+    @isSuper  = variable is 'super'
+    @variable = if @isSuper then null else variable
     @args     or= []
-    @compileSplatArguments = (o) ->
-      SplatNode.compileSplattedArray.call(this, @args, o)
#

Tag this invocation as creating a new instance.

  newInstance: ->
-    @isNew = true
+    @compileSplatArguments = (o) ->
+      SplatNode.compileSplattedArray.call(this, @args, o)
#

Tag this invocation as creating a new instance.

  newInstance: ->
+    @isNew = true
     this
 
-  prefix: ->
-    if @isNew then 'new ' else ''
#

Grab the reference to the superclass' implementation of the current method.

  superReference: (o) ->
-    methname = o.scope.method.name
-    meth = if o.scope.method.proto
+  prefix: ->
+    if @isNew then 'new ' else ''
#

Grab the reference to the superclass' implementation of the current method.

  superReference: (o) ->
+    methname = o.scope.method.name
+    meth = if o.scope.method.proto
       "#{o.scope.method.proto}.__superClass__.#methname"
     else if methname
       "#{methname}.__superClass__.constructor"
-    else throw new Error "cannot call super on an anonymous function."
#

Compile a vanilla function call.

  compileNode: (o) ->
-    o.chainRoot = this unless o.chainRoot
+    else throw new Error "cannot call super on an anonymous function."
#

Compile a vanilla function call.

  compileNode: (o) ->
+    o.chainRoot = this unless o.chainRoot
     for arg in @args when arg instanceof SplatNode
-      compilation = @compileSplat(o)
+      compilation = @compileSplat(o)
     unless compilation
-      args = (arg.compile(o) for arg in @args).join(', ')
-      compilation = if @isSuper then @compileSuper(args, o)
+      args = (arg.compile(o) for arg in @args).join(', ')
+      compilation = if @isSuper then @compileSuper(args, o)
       else "#{@prefix()}#{@variable.compile(o)}(#args)"
     if o.operation and @wrapped then "(#compilation)" else compilation
#

super() is converted into a call against the superclass's implementation -of the current function.

  compileSuper: (args, o) ->
+of the current function.

  compileSuper: (args, o) ->
     "#{@superReference(o)}.call(this#{ if args.length then ', ' else '' }#args)"
#

If you call a function with a splat, it's converted into a JavaScript .apply() call to allow an array of arguments to be passed. If it's a constructor, then things get real tricky. We have to inject an -inner constructor in order to be able to pass the varargs.

  compileSplat: (o) ->
-    meth = if @variable then @variable.compile(o) else @superReference(o)
-    obj =  @variable and @variable.source or 'this'
+inner constructor in order to be able to pass the varargs.

  compileSplat: (o) ->
+    meth = if @variable then @variable.compile(o) else @superReference(o)
+    obj =  @variable and @variable.source or 'this'
     if obj.match(/\(/)
-      temp = o.scope.freeVariable()
-      obj =  temp
-      meth = "(#temp = #{ @variable.source })#{ @variable.last }"
+      temp = o.scope.freeVariable()
+      obj =  temp
+      meth = "(#temp = #{ @variable.source })#{ @variable.last }"
     if @isNew
       utility 'extends'
       """
@@ -324,143 +324,143 @@ inner constructor in order to be able to pass the varargs.

#

{@idt(1)}var ctor = function(){}; {@idt(1)}__extends(ctor, #meth); {@idt(1)}return #{meth}.apply(new ctor, #{ @compileSplatArguments(o) }); -@tab}).call(this)

#

ExtendsNode

exports.ExtendsNode = class ExtendsNode extends BaseNode
+@tab}).call(this)

#

ExtendsNode

exports.ExtendsNode = class ExtendsNode extends BaseNode
 
-  class:     'ExtendsNode'
-  children: ['child', 'parent']
+  class:     'ExtendsNode'
+  children: ['child', 'parent']
 
-  constructor: (@child, @parent) ->
#

Node to extend an object's prototype with an ancestor object. + constructor: (@child, @parent) ->

#

Node to extend an object's prototype with an ancestor object. After goog.inherits from the -Closure Library.

  compileNode: (o) ->
-    ref =  new ValueNode literal utility 'extends'
-    (new CallNode ref, [@child, @parent]).compile o
#

Hooks one constructor into another's prototype chain.

#

AccessorNode

exports.AccessorNode = class AccessorNode extends BaseNode
+Closure Library.

  compileNode: (o) ->
+    ref =  new ValueNode literal utility 'extends'
+    (new CallNode ref, [@child, @parent]).compile o
#

Hooks one constructor into another's prototype chain.

#

AccessorNode

exports.AccessorNode = class AccessorNode extends BaseNode
 
-  class:     'AccessorNode'
-  children: ['name']
+  class:     'AccessorNode'
+  children: ['name']
 
-  constructor: (@name, tag) ->
-    @prototype = if tag is 'prototype' then '.prototype' else ''
-    @soakNode = tag is 'soak'
+  constructor: (@name, tag) ->
+    @prototype = if tag is 'prototype' then '.prototype' else ''
+    @soakNode = tag is 'soak'
 
-  compileNode: (o) ->
-    name = @name.compile o
+  compileNode: (o) ->
+    name = @name.compile o
     o.chainRoot.wrapped or= @soakNode
-    namePart = if name.match(IS_STRING) then "[#name]" else ".#name"
+    namePart = if name.match(IS_STRING) then "[#name]" else ".#name"
     @prototype + namePart
#

A . accessor into a property of a value, or the :: shorthand for -an accessor into the object's prototype.

#

IndexNode

exports.IndexNode = class IndexNode extends BaseNode
+an accessor into the object's prototype.

#

IndexNode

exports.IndexNode = class IndexNode extends BaseNode
 
-  class:     'IndexNode'
-  children: ['index']
+  class:     'IndexNode'
+  children: ['index']
 
-  constructor: (@index) ->
+  constructor: (@index) ->
 
-  compileNode: (o) ->
+  compileNode: (o) ->
     o.chainRoot.wrapped or= @soakNode
-    idx = @index.compile o
-    prefix = if @proto then '.prototype' else ''
-    "#prefix[#idx]"
#

A [ ... ] indexed accessor into an array or object.

#

RangeNode

exports.RangeNode = class RangeNode extends BaseNode
+    idx = @index.compile o
+    prefix = if @proto then '.prototype' else ''
+    "#prefix[#idx]"
#

A [ ... ] indexed accessor into an array or object.

#

RangeNode

exports.RangeNode = class RangeNode extends BaseNode
 
-  class:     'RangeNode'
-  children: ['from', 'to']
+  class:     'RangeNode'
+  children: ['from', 'to']
 
-  constructor: (@from, @to, exclusive) ->
-    @exclusive = !!exclusive
-    @equals = if @exclusive then '' else '='
#

A range literal. Ranges can be used to extract portions (slices) of arrays, + constructor: (@from, @to, exclusive) -> + @exclusive = !!exclusive + @equals = if @exclusive then '' else '='

#

A range literal. Ranges can be used to extract portions (slices) of arrays, to specify a range for comprehensions, or as a value, to be expanded into the -corresponding array of integers at runtime.

  compileVariables: (o) ->
-    o = merge(o, top: true)
-    [@from, @fromVar] =  @from.compileReference o, precompile: yes
-    [@to, @toVar] =      @to.compileReference o, precompile: yes
+corresponding array of integers at runtime.

  compileVariables: (o) ->
+    o = merge(o, top: true)
+    [@from, @fromVar] =  @from.compileReference o, precompile: yes
+    [@to, @toVar] =      @to.compileReference o, precompile: yes
     [@fromNum, @toNum] = [@fromVar.match(SIMPLENUM), @toVar.match(SIMPLENUM)]
-    parts = []
+    parts = []
     parts.push @from if @from isnt @fromVar
     parts.push @to if @to isnt @toVar
     if parts.length then "#{parts.join('; ')}; " else ''
#

Compiles the range's source variables -- where it starts and where it ends. -But only if they need to be cached to avoid double evaluation.

  compileNode: (o) ->
+But only if they need to be cached to avoid double evaluation.

  compileNode: (o) ->
     return    @compileArray(o)  unless o.index
     return    @compileSimple(o) if @fromNum and @toNum
-    idx      = del o, 'index'
-    step     = del o, 'step'
-    vars     = "#idx = #@fromVar"
-    intro    = "(#@fromVar <= #@toVar ? #idx"
-    compare  = "#intro <#@equals #@toVar : #idx >#@equals #@toVar)"
-    stepPart = if step then step.compile(o) else '1'
-    incr     = if step then "#idx += #stepPart" else "#intro += #stepPart : #idx -= #stepPart)"
+    idx      = del o, 'index'
+    step     = del o, 'step'
+    vars     = "#idx = #@fromVar"
+    intro    = "(#@fromVar <= #@toVar ? #idx"
+    compare  = "#intro <#@equals #@toVar : #idx >#@equals #@toVar)"
+    stepPart = if step then step.compile(o) else '1'
+    incr     = if step then "#idx += #stepPart" else "#intro += #stepPart : #idx -= #stepPart)"
     "#vars; #compare; #incr"
#

When compiled normally, the range returns the contents of the for loop -needed to iterate over the values in the range. Used by comprehensions.

  compileSimple: (o) ->
+needed to iterate over the values in the range. Used by comprehensions.

  compileSimple: (o) ->
     [from, to] = [parseInt(@fromNum, 10), parseInt(@toNum, 10)]
-    idx        = del o, 'index'
-    step       = del o, 'step'
+    idx        = del o, 'index'
+    step       = del o, 'step'
     step       and= "#idx += #{step.compile(o)}"
     if from <= to
       "#idx = #from; #idx <#@equals #to; #{step or "#idx++"}"
     else
-      "#idx = #from; #idx >#@equals #to; #{step or "#idx--"}"
#

Compile a simple range comprehension, with integers.

  compileArray: (o) ->
-    idt    = @idt 1
-    vars   = @compileVariables merge o, indent: idt
+      "#idx = #from; #idx >#@equals #to; #{step or "#idx--"}"
#

Compile a simple range comprehension, with integers.

  compileArray: (o) ->
+    idt    = @idt 1
+    vars   = @compileVariables merge o, indent: idt
     if @fromNum and @toNum and Math.abs(+@fromNum - +@toNum) <= 20
-      range = [+@fromNum..+@toNum]
+      range = [+@fromNum..+@toNum]
       range.pop() if @exclusive
       return "[#{ range.join(', ') }]"
-    i = o.scope.freeVariable()
-    result = o.scope.freeVariable()
-    pre    = "\n#{idt}#{result} = []; #{vars}"
+    i = o.scope.freeVariable()
+    result = o.scope.freeVariable()
+    pre    = "\n#{idt}#{result} = []; #{vars}"
     if @fromNum and @toNum
-      o.index = i
-      body = @compileSimple o
+      o.index = i
+      body = @compileSimple o
     else
-      clause = "#@fromVar <= #@toVar ?"
-      body   = "var #i = #@fromVar; #clause #i <#@equals #@toVar : #i >#@equals #@toVar; #clause #i += 1 : #i -= 1"
-    post   = "{ #{result}.push(#i); }\n#{idt}return #result;\n#o.indent"
-    "(function() {#{pre}\n#{idt}for (#body)#post}).call(this)"
#

When used as a value, expand the range into the equivalent array.

#

SliceNode

exports.SliceNode = class SliceNode extends BaseNode
+      clause = "#@fromVar <= #@toVar ?"
+      body   = "var #i = #@fromVar; #clause #i <#@equals #@toVar : #i >#@equals #@toVar; #clause #i += 1 : #i -= 1"
+    post   = "{ #{result}.push(#i); }\n#{idt}return #result;\n#o.indent"
+    "(function() {#{pre}\n#{idt}for (#body)#post}).call(this)"
#

When used as a value, expand the range into the equivalent array.

#

SliceNode

exports.SliceNode = class SliceNode extends BaseNode
 
-  class:     'SliceNode'
-  children: ['range']
+  class:     'SliceNode'
+  children: ['range']
 
-  constructor: (@range) ->
+  constructor: (@range) ->
 
-  compileNode: (o) ->
-    from     = @range.from.compile(o)
-    to       = @range.to.compile(o)
-    plusPart = if @range.exclusive then '' else ' + 1'
+  compileNode: (o) ->
+    from     = @range.from.compile(o)
+    to       = @range.to.compile(o)
+    plusPart = if @range.exclusive then '' else ' + 1'
     ".slice(#from, #to#plusPart)"
#

An array slice literal. Unlike JavaScript's Array#slice, the second parameter specifies the index of the end of the slice, just as the first parameter -is the index of the beginning.

#

ObjectNode

exports.ObjectNode = class ObjectNode extends BaseNode
+is the index of the beginning.

#

ObjectNode

exports.ObjectNode = class ObjectNode extends BaseNode
 
-  class:     'ObjectNode'
-  children: ['properties']
+  class:     'ObjectNode'
+  children: ['properties']
 
-  constructor: (props) ->
-    @objects = @properties = props or []
+  constructor: (props) ->
+    @objects = @properties = props or []
 
-  compileNode: (o) ->
-    o.indent = @idt 1
-    nonComments = prop for prop in @properties when not (prop instanceof CommentNode)
-    lastNoncom =  nonComments[nonComments.length - 1]
-    props = for prop, i in @properties
-      join   = ",\n"
-      join   = "\n" if (prop is lastNoncom) or (prop instanceof CommentNode)
-      join   = '' if i is @properties.length - 1
-      indent = if prop instanceof CommentNode then '' else @idt 1
-      prop   = new AssignNode prop, prop, 'object' unless prop instanceof AssignNode or prop instanceof CommentNode
+  compileNode: (o) ->
+    o.indent = @idt 1
+    nonComments = prop for prop in @properties when not (prop instanceof CommentNode)
+    lastNoncom =  nonComments[nonComments.length - 1]
+    props = for prop, i in @properties
+      join   = ",\n"
+      join   = "\n" if (prop is lastNoncom) or (prop instanceof CommentNode)
+      join   = '' if i is @properties.length - 1
+      indent = if prop instanceof CommentNode then '' else @idt 1
+      prop   = new AssignNode prop, prop, 'object' unless prop instanceof AssignNode or prop instanceof CommentNode
       indent + prop.compile(o) + join
-    props = props.join('')
-    inner = if props then '\n' + props + '\n' + @idt() else ''
-    "{#inner}"
#

An object literal, nothing fancy.

#

ArrayNode

exports.ArrayNode = class ArrayNode extends BaseNode
+    props = props.join('')
+    inner = if props then '\n' + props + '\n' + @idt() else ''
+    "{#inner}"
#

An object literal, nothing fancy.

#

ArrayNode

exports.ArrayNode = class ArrayNode extends BaseNode
 
-  class:     'ArrayNode'
-  children: ['objects']
+  class:     'ArrayNode'
+  children: ['objects']
 
-  constructor: (@objects) ->
+  constructor: (@objects) ->
     @objects or= []
-    @compileSplatLiteral = (o) ->
+    @compileSplatLiteral = (o) ->
       SplatNode.compileSplattedArray.call(this, @objects, o)
 
-  compileNode: (o) ->
-    o.indent = @idt 1
-    objects = []
+  compileNode: (o) ->
+    o.indent = @idt 1
+    objects = []
     for obj, i in @objects
-      code = obj.compile(o)
+      code = obj.compile(o)
       if obj instanceof SplatNode
         return @compileSplatLiteral o
       else if obj instanceof CommentNode
@@ -469,172 +469,172 @@ is the index of the beginning.

objects.push code else objects.push "#code, " - objects = objects.join('') + objects = objects.join('') if indexOf(objects, '\n') >= 0 "[\n#{@idt(1)}#objects\n#@tab]" else - "[#objects]"
#

An array literal.

#

ClassNode

exports.ClassNode = class ClassNode extends BaseNode
+      "[#objects]"
#

An array literal.

#

ClassNode

exports.ClassNode = class ClassNode extends BaseNode
 
-  class:        'ClassNode'
-  children:     ['variable', 'parent', 'properties']
-  isStatement:  -> yes
#

The CoffeeScript class definition.

  constructor: (@variable, @parent, @properties) ->
+  class:        'ClassNode'
+  children:     ['variable', 'parent', 'properties']
+  isStatement:  -> yes
#

The CoffeeScript class definition.

  constructor: (@variable, @parent, @properties) ->
     @properties or= []
-    @returns    = false
+    @returns    = false
 
-  makeReturn: ->
-    @returns = true
+  makeReturn: ->
+    @returns = true
     this
#

Initialize a ClassNode with its name, an optional superclass, and a -list of prototype property assignments.

  compileNode: (o) ->
-    @variable  = literal o.scope.freeVariable() if @variable is '__temp__'
-    extension  = @parent and new ExtendsNode(@variable, @parent)
-    props      = new Expressions
-    o.top      = true
-    me         = null
-    className  = @variable.compile o
-    constScope = null
+list of prototype property assignments.

  compileNode: (o) ->
+    @variable  = literal o.scope.freeVariable() if @variable is '__temp__'
+    extension  = @parent and new ExtendsNode(@variable, @parent)
+    props      = new Expressions
+    o.top      = true
+    me         = null
+    className  = @variable.compile o
+    constScope = null
 
     if @parent
-      applied = new ValueNode(@parent, [new AccessorNode(literal('apply'))])
-      constructor = new CodeNode([], new Expressions([
+      applied = new ValueNode(@parent, [new AccessorNode(literal('apply'))])
+      constructor = new CodeNode([], new Expressions([
         new CallNode(applied, [literal('this'), literal('arguments')])
       ]))
     else
-      constructor = new CodeNode
+      constructor = new CodeNode
 
     for prop in @properties
       [pvar, func] = [prop.variable, prop.value]
       if pvar and pvar.base.value is 'constructor' and func instanceof CodeNode
         throw new Error "cannot define a constructor as a bound function." if func.bound
-        func.name = className
+        func.name = className
         func.body.push new ReturnNode literal 'this'
-        @variable = new ValueNode @variable
-        @variable.namespaced = include func.name, '.'
-        constructor = func
+        @variable = new ValueNode @variable
+        @variable.namespaced = include func.name, '.'
+        constructor = func
         continue
       if func instanceof CodeNode and func.bound
-        func.bound = false
+        func.bound = false
         constScope or= new Scope(o.scope, constructor.body, constructor)
         me or= constScope.freeVariable()
-        pname = pvar.compile(o)
+        pname = pvar.compile(o)
         constructor.body.push    new ReturnNode literal 'this' if constructor.body.empty()
         constructor.body.unshift literal "this.#{pname} = function(){ return #{className}.prototype.#{pname}.apply(#me, arguments); }"
       if pvar
-        access = if prop.context is 'this' then pvar.base.properties[0] else new AccessorNode(pvar, 'prototype')
-        val    = new ValueNode(@variable, [access])
-        prop   = new AssignNode(val, func)
+        access = if prop.context is 'this' then pvar.base.properties[0] else new AccessorNode(pvar, 'prototype')
+        val    = new ValueNode(@variable, [access])
+        prop   = new AssignNode(val, func)
       props.push prop
 
     constructor.body.unshift literal "#me = this" if me
-    construct = @idt() + (new AssignNode(@variable, constructor)).compile(merge o, {sharedScope: constScope}) + ';'
-    props     = if !props.empty() then '\n' + props.compile(o)                     else ''
-    extension = if extension      then '\n' + @idt() + extension.compile(o) + ';'  else ''
-    returns   = if @returns       then '\n' + new ReturnNode(@variable).compile(o) else ''
+    construct = @idt() + (new AssignNode(@variable, constructor)).compile(merge o, {sharedScope: constScope}) + ';'
+    props     = if !props.empty() then '\n' + props.compile(o)                     else ''
+    extension = if extension      then '\n' + @idt() + extension.compile(o) + ';'  else ''
+    returns   = if @returns       then '\n' + new ReturnNode(@variable).compile(o) else ''
     "#construct#extension#props#returns"
#

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.

#

AssignNode

exports.AssignNode = class AssignNode extends BaseNode
#

The AssignNode is used to assign a local variable to value, or to set the -property of an object -- including within object literals.

  PROTO_ASSIGN: /^(\S+)\.prototype/
-  LEADING_DOT:  /^\.(prototype\.)?/
+constructor, property assignments, and inheritance getting built out below.

#

AssignNode

exports.AssignNode = class AssignNode extends BaseNode
#

The AssignNode is used to assign a local variable to value, or to set the +property of an object -- including within object literals.

  PROTO_ASSIGN: /^(\S+)\.prototype/
+  LEADING_DOT:  /^\.(prototype\.)?/
 
-  class:     'AssignNode'
-  children: ['variable', 'value']
+  class:     'AssignNode'
+  children: ['variable', 'value']
 
-  constructor: (@variable, @value, @context) ->
+  constructor: (@variable, @value, @context) ->
 
-  topSensitive: ->
+  topSensitive: ->
     true
 
-  isValue: ->
+  isValue: ->
     @variable instanceof ValueNode
 
-  makeReturn: ->
+  makeReturn: ->
     if @isStatement()
       return new Expressions [this, new ReturnNode(@variable)]
     else
       super()
 
-  isStatement: ->
-    @isValue() and (@variable.isArray() or @variable.isObject())
#

Matchers for detecting prototype assignments.

  compileNode: (o) ->
-    top    = del o, 'top'
+  isStatement: ->
+    @isValue() and (@variable.isArray() or @variable.isObject())
#

Matchers for detecting prototype assignments.

  compileNode: (o) ->
+    top    = del o, 'top'
     return   @compilePatternMatch(o) if @isStatement()
     return   @compileSplice(o) if @isValue() and @variable.isSplice()
-    stmt   = del o, 'asStatement'
-    name   = @variable.compile(o)
-    last   = if @isValue() then @variable.last.replace(@LEADING_DOT, '') else name
-    match  = name.match(@PROTO_ASSIGN)
-    proto  = match and match[1]
+    stmt   = del o, 'asStatement'
+    name   = @variable.compile(o)
+    last   = if @isValue() then @variable.last.replace(@LEADING_DOT, '') else name
+    match  = name.match(@PROTO_ASSIGN)
+    proto  = match and match[1]
     if @value instanceof CodeNode
-      @value.name =  last  if last.match(IDENTIFIER)
-      @value.proto = proto if proto
-    val = @value.compile o
+      @value.name =  last  if last.match(IDENTIFIER)
+      @value.proto = proto if proto
+    val = @value.compile o
     return "#name: #val" if @context is 'object'
     o.scope.find name unless @isValue() and (@variable.hasProperties() or @variable.namespaced)
-    val = "#name = #val"
+    val = "#name = #val"
     return "#@tab#val;" if stmt
     if top then val else "(#val)"
#

Compile an assignment, delegating to compilePatternMatch or compileSplice if appropriate. Keep track of the name of the base object we've been assigned to, for correct internal references. If the variable -has not been seen yet within the current scope, declare it.

  compilePatternMatch: (o) ->
-    valVar        = o.scope.freeVariable()
-    value         = if @value.isStatement() then ClosureNode.wrap(@value) else @value
-    assigns       = ["#@tab#valVar = #{ value.compile(o) };"]
-    o.top         = true
-    o.asStatement = true
-    splat         = false
+has not been seen yet within the current scope, declare it.

  compilePatternMatch: (o) ->
+    valVar        = o.scope.freeVariable()
+    value         = if @value.isStatement() then ClosureNode.wrap(@value) else @value
+    assigns       = ["#@tab#valVar = #{ value.compile(o) };"]
+    o.top         = true
+    o.asStatement = true
+    splat         = false
     for obj, i in @variable.base.objects
#

Brief implementation of recursive pattern matching, when assigning array or object literals to a value. Peeks at their properties to assign inner names. See the ECMAScript Harmony Wiki -for details.

      idx = i
+for details.

      idx = i
       if @variable.isObject()
         if obj instanceof AssignNode
#

A regular array pattern-match.

          [obj, idx] = [obj.value, obj.variable.base]
-        else
#

A regular object pattern-match.

          idx = obj
+        else
#

A regular object pattern-match.

          idx = obj
       if not (obj instanceof ValueNode or obj instanceof SplatNode)
         throw new Error 'pattern matching must use only identifiers on the left-hand side.'
-      isString = idx.value and idx.value.match IS_STRING
-      accessClass = if isString or @variable.isArray() then IndexNode else AccessorNode
+      isString = idx.value and idx.value.match IS_STRING
+      accessClass = if isString or @variable.isArray() then IndexNode else AccessorNode
       if obj instanceof SplatNode and not splat
-        val = literal(obj.compileValue(o, valVar,
-          (oindex = indexOf(@variable.base.objects, obj)),
-          (olength = @variable.base.objects.length) - oindex - 1))
-        splat = true
+        val = literal(obj.compileValue(o, valVar,
+          (oindex = indexOf(@variable.base.objects, obj)),
+          (olength = @variable.base.objects.length) - oindex - 1))
+        splat = true
       else
-        idx = literal(if splat then "#{valVar}.length - #{olength - idx}" else idx) if typeof idx isnt 'object'
-        val = new ValueNode(literal(valVar), [new accessClass(idx)])
+        idx = literal(if splat then "#{valVar}.length - #{olength - idx}" else idx) if typeof idx isnt 'object'
+        val = new ValueNode(literal(valVar), [new accessClass(idx)])
       assigns.push(new AssignNode(obj, val).compile(o))
-    code = assigns.join("\n")
-    code
#

A shorthand {a, b, c} = val pattern-match.

  compileSplice: (o) ->
-    name  = @variable.compile merge o, onlyFirst: true
-    l     = @variable.properties.length
-    range = @variable.properties[l - 1].range
-    plus  = if range.exclusive then '' else ' + 1'
-    from  = range.from.compile(o)
-    to    = range.to.compile(o) + ' - ' + from + plus
-    val   = @value.compile(o)
+    code = assigns.join("\n")
+    code
#

A shorthand {a, b, c} = val pattern-match.

  compileSplice: (o) ->
+    name  = @variable.compile merge o, onlyFirst: true
+    l     = @variable.properties.length
+    range = @variable.properties[l - 1].range
+    plus  = if range.exclusive then '' else ' + 1'
+    from  = range.from.compile(o)
+    to    = range.to.compile(o) + ' - ' + from + plus
+    val   = @value.compile(o)
     "#{name}.splice.apply(#name, [#from, #to].concat(#val))"
#

Compile the assignment from an array splice literal, using JavaScript's -Array#splice method.

#

CodeNode

exports.CodeNode = class CodeNode extends BaseNode
+Array#splice method.

#

CodeNode

exports.CodeNode = class CodeNode extends BaseNode
 
-  class:     'CodeNode'
-  children: ['params', 'body']
+  class:     'CodeNode'
+  children: ['params', 'body']
 
-  constructor: (@params, @body, tag) ->
+  constructor: (@params, @body, tag) ->
     @params or= []
     @body   or= new Expressions
-    @bound  = tag is 'boundfunc'
#

A function definition. This is the only node that creates a new Scope. + @bound = tag is 'boundfunc'

#

A function definition. This is the only node that creates a new Scope. When for the purposes of walking the contents of a function body, the CodeNode -has no children -- they're within the inner scope.

  compileNode: (o) ->
-    sharedScope = del o, 'sharedScope'
-    top         = del o, 'top'
-    o.scope     = sharedScope or new Scope(o.scope, @body, this)
-    o.top       = true
-    o.indent    = @idt(1)
-    empty       = @body.expressions.length is 0
+has no children -- they're within the inner scope.

  compileNode: (o) ->
+    sharedScope = del o, 'sharedScope'
+    top         = del o, 'top'
+    o.scope     = sharedScope or new Scope(o.scope, @body, this)
+    o.top       = true
+    o.indent    = @idt(1)
+    empty       = @body.expressions.length is 0
     del o, 'noWrap'
     del o, 'globals'
-    splat = undefined
-    params = []
+    splat = undefined
+    params = []
     for param, i in @params
       if splat
         if param.attach
-          param.assign = new AssignNode new ValueNode literal('this'), [new AccessorNode param.value]
+          param.assign = new AssignNode new ValueNode literal('this'), [new AccessorNode param.value]
           @body.expressions.splice splat.index + 1, 0, param.assign
         splat.trailings.push param
       else
@@ -643,83 +643,83 @@ has no children -- they're within the inner scope.

#

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 => arrow, generates a wrapper that saves the current value of this through -a closure.

  traverseChildren: (crossScope, func) -> super(crossScope, func) if crossScope
+a closure.

  traverseChildren: (crossScope, func) -> super(crossScope, func) if crossScope
 
-  toString: (idt) ->
+  toString: (idt) ->
     idt or= ''
-    children = (child.toString(idt + TAB) for child in @collectChildren()).join('')
+    children = (child.toString(idt + TAB) for child in @collectChildren()).join('')
     "\n#idt#children"
#

Short-circuit traverseChildren method to prevent it from crossing scope boundaries -unless crossScope is true

#

ParamNode

exports.ParamNode = class ParamNode extends BaseNode
+unless crossScope is true

#

ParamNode

exports.ParamNode = class ParamNode extends BaseNode
 
-  class:    'ParamNode'
-  children: ['name']
+  class:    'ParamNode'
+  children: ['name']
 
-  constructor: (@name, @attach, @splat) ->
-    @value = literal @name
+  constructor: (@name, @attach, @splat) ->
+    @value = literal @name
 
-  compileNode: (o) ->
+  compileNode: (o) ->
     @value.compile o
 
-  toString: (idt) ->
+  toString: (idt) ->
     if @attach then (literal "@#@name").toString idt else @value.toString idt
#

A parameter in a function definition. Beyond a typical Javascript parameter, these parameters can also attach themselves to the context of the function, -as well as be a splat, gathering up a group of parameters into an array.

#

SplatNode

exports.SplatNode = class SplatNode extends BaseNode
+as well as be a splat, gathering up a group of parameters into an array.

#

SplatNode

exports.SplatNode = class SplatNode extends BaseNode
 
-  class:     'SplatNode'
-  children: ['name']
+  class:     'SplatNode'
+  children: ['name']
 
-  constructor: (name) ->
-    name = literal(name) unless name.compile
-    @name = name
+  constructor: (name) ->
+    name = literal(name) unless name.compile
+    @name = name
 
-  compileNode: (o) ->
+  compileNode: (o) ->
     if @index? then @compileParam(o) else @name.compile(o)
#

A splat, either as a parameter to a function, an argument to a call, -or as part of a destructuring assignment.

  compileParam: (o) ->
-    name = @name.compile(o)
+or as part of a destructuring assignment.

  compileParam: (o) ->
+    name = @name.compile(o)
     o.scope.find name
-    end = ''
+    end = ''
     if @trailings.length
-      len = o.scope.freeVariable()
+      len = o.scope.freeVariable()
       o.scope.assign len, "arguments.length"
-      variadic = o.scope.freeVariable()
+      variadic = o.scope.freeVariable()
       o.scope.assign variadic, "#len >= #@arglength"
-      end = if @trailings.length then ", #len - #{@trailings.length}"
+      end = if @trailings.length then ", #len - #{@trailings.length}"
       for trailing, idx in @trailings
         if trailing.attach
-          assign        = trailing.assign
-          trailing      = literal o.scope.freeVariable()
-          assign.value  = trailing
-        pos = @trailings.length - idx
+          assign        = trailing.assign
+          trailing      = literal o.scope.freeVariable()
+          assign.value  = trailing
+        pos = @trailings.length - idx
         o.scope.assign(trailing.compile(o), "arguments[#variadic ? #len - #pos : #{@index + idx}]")
     "#name = #{utility('slice')}.call(arguments, #@index#end)"
#

Compiling a parameter splat means recovering the parameters that succeed -the splat in the parameter list, by slicing the arguments object.

  compileValue: (o, name, index, trailings) ->
-    trail = if trailings then ", #{name}.length - #trailings" else ''
+the splat in the parameter list, by slicing the arguments object.

  compileValue: (o, name, index, trailings) ->
+    trail = if trailings then ", #{name}.length - #trailings" else ''
     "#{utility 'slice'}.call(#name, #index#trail)"
#

A compiling a splat as a destructuring assignment means slicing arguments -from the right-hand-side's corresponding array.

  @compileSplattedArray: (list, o) ->
-    args = []
+from the right-hand-side's corresponding array.

  @compileSplattedArray: (list, o) ->
+    args = []
     for arg, i in list
-      code = arg.compile o
-      prev = args[last = args.length - 1]
+      code = arg.compile o
+      prev = args[last = args.length - 1]
       if not (arg instanceof SplatNode)
         if prev and starts(prev, '[') and ends(prev, ']')
           args[last] = "#{prev.substr(0, prev.length - 1)}, #code]"
@@ -728,84 +728,84 @@ from the right-hand-side's corresponding array.

#

Utility function that converts arbitrary number of elements, mixed with -splats, to a proper array

#

WhileNode

exports.WhileNode = class WhileNode extends BaseNode
+splats, to a proper array

#

WhileNode

exports.WhileNode = class WhileNode extends BaseNode
 
-  class:         'WhileNode'
-  children:     ['condition', 'guard', 'body']
-  isStatement: -> yes
+  class:         'WhileNode'
+  children:     ['condition', 'guard', 'body']
+  isStatement: -> yes
 
-  constructor: (condition, opts) ->
+  constructor: (condition, opts) ->
     if opts and opts.invert
-      condition = new ParentheticalNode condition if condition instanceof OpNode
-      condition = new OpNode('!', condition)
-    @condition  = condition
-    @guard = opts and opts.guard
+      condition = new ParentheticalNode condition if condition instanceof OpNode
+      condition = new OpNode('!', condition)
+    @condition  = condition
+    @guard = opts and opts.guard
 
-  addBody: (body) ->
-    @body = body
+  addBody: (body) ->
+    @body = body
     this
 
-  makeReturn: ->
-    @returns = true
+  makeReturn: ->
+    @returns = true
     this
 
-  topSensitive: ->
+  topSensitive: ->
     true
#

A while loop, the only sort of low-level loop exposed by CoffeeScript. From it, all other loops can be manufactured. Useful in cases where you need more -flexibility or more speed than a comprehension can provide.

  compileNode: (o) ->
-    top      =  del(o, 'top') and not @returns
-    o.indent =  @idt 1
-    o.top    =  true
-    cond     =  @condition.compile(o)
-    set      =  ''
+flexibility or more speed than a comprehension can provide.

  compileNode: (o) ->
+    top      =  del(o, 'top') and not @returns
+    o.indent =  @idt 1
+    o.top    =  true
+    cond     =  @condition.compile(o)
+    set      =  ''
     unless top
-      rvar  = o.scope.freeVariable()
-      set   = "#@tab#rvar = [];\n"
-      @body = PushNode.wrap(rvar, @body) if @body
-    pre     = "#set#{@tab}while (#cond)"
-    @body   = Expressions.wrap([new IfNode(@guard, @body)]) if @guard
+      rvar  = o.scope.freeVariable()
+      set   = "#@tab#rvar = [];\n"
+      @body = PushNode.wrap(rvar, @body) if @body
+    pre     = "#set#{@tab}while (#cond)"
+    @body   = Expressions.wrap([new IfNode(@guard, @body)]) if @guard
     if @returns
-      post = '\n' + new ReturnNode(literal(rvar)).compile(merge(o, indent: @idt()))
+      post = '\n' + new ReturnNode(literal(rvar)).compile(merge(o, indent: @idt()))
     else
-      post = ''
+      post = ''
     "#pre {\n#{ @body.compile(o) }\n#@tab}#post"
#

The main difference from a JavaScript while is that the CoffeeScript while can be used as a part of a larger expression -- while loops may -return an array containing the computed result of each iteration.

#

OpNode

exports.OpNode = class OpNode extends BaseNode
#

Simple Arithmetic and logical operations. Performs some conversion from -CoffeeScript operations into their JavaScript equivalents.

  CONVERSIONS: {
+return an array containing the computed result of each iteration.

#

OpNode

exports.OpNode = class OpNode extends BaseNode
#

Simple Arithmetic and logical operations. Performs some conversion from +CoffeeScript operations into their JavaScript equivalents.

  CONVERSIONS: {
     '==': '==='
     '!=': '!=='
-  }
#

The map of conversions from CoffeeScript to JavaScript symbols.

  CHAINABLE:        ['<', '>', '>=', '<=', '===', '!==']
#

The list of operators for which we perform -Python-style comparison chaining.

  ASSIGNMENT:       ['||=', '&&=', '?=']
#

Our assignment operators that have no JavaScript equivalent.

  PREFIX_OPERATORS: ['typeof', 'delete']
+  }
#

The map of conversions from CoffeeScript to JavaScript symbols.

  CHAINABLE:        ['<', '>', '>=', '<=', '===', '!==']
#

The list of operators for which we perform +Python-style comparison chaining.

  ASSIGNMENT:       ['||=', '&&=', '?=']
#

Our assignment operators that have no JavaScript equivalent.

  PREFIX_OPERATORS: ['typeof', 'delete']
 
-  class:     'OpNode'
-  children: ['first', 'second']
+  class:     'OpNode'
+  children: ['first', 'second']
 
-  constructor: (@operator, @first, @second, flip) ->
-    @operator = @CONVERSIONS[@operator] or @operator
-    @flip     = !!flip
+  constructor: (@operator, @first, @second, flip) ->
+    @operator = @CONVERSIONS[@operator] or @operator
+    @flip     = !!flip
     if @first instanceof ValueNode and @first.base instanceof ObjectNode
-      @first = new ParentheticalNode @first
+      @first = new ParentheticalNode @first
 
-  isUnary: ->
+  isUnary: ->
     not @second
 
-  isChainable: ->
+  isChainable: ->
     indexOf(@CHAINABLE, @operator) >= 0
 
-  toString: (idt) ->
+  toString: (idt) ->
     super(idt, @class + ' ' + @operator)
 
-  compileNode: (o) ->
-    o.operation = true
+  compileNode: (o) ->
+    o.operation = true
     return @compileChain(o)      if @isChainable() and @first.unwrap() instanceof OpNode and @first.unwrap().isChainable()
     return @compileAssignment(o) if indexOf(@ASSIGNMENT, @operator) >= 0
     return @compileUnary(o)      if @isUnary()
     return @compileExistence(o)  if @operator is '?'
-    [@first.compile(o), @operator, @second.compile(o)].join ' '
#

Operators must come before their operands with a space.

  compileChain: (o) ->
-    shared = @first.unwrap().second
+    [@first.compile(o), @operator, @second.compile(o)].join ' '
#

Operators must come before their operands with a space.

  compileChain: (o) ->
+    shared = @first.unwrap().second
     [@first.second, shared] = shared.compileReference(o) if shared.containsType CallNode
     [first, second, shared] = [@first.compile(o), @second.compile(o), shared.compile(o)]
     "(#first) && (#shared #@operator #second)"
#

Mimic Python's chained comparisons when multiple comparison operators are @@ -813,140 +813,140 @@ used sequentially. For example:

bin/coffee -e "puts 50 < 65 > 10"
 true
-
  compileAssignment: (o) ->
-    [first, firstVar] = @first.compileReference o, precompile: yes, assignment: yes
-    second = @second.compile o
+
  compileAssignment: (o) ->
+    [first, firstVar] = @first.compileReference o, precompile: yes, assignment: yes
+    second = @second.compile o
     o.scope.find(first) if first.match(IDENTIFIER)
     return "#first = #{ ExistenceNode.compileTest(o, literal(firstVar)) } ? #firstVar : #second" if @operator is '?='
     "#first = #firstVar #{ @operator.substr(0, 2) } #second"
#

When compiling a conditional assignment, take care to ensure that the operands are only evaluated once, even though we have to reference them -more than once.

  compileExistence: (o) ->
+more than once.

  compileExistence: (o) ->
     [first, second] = [@first.compile(o), @second.compile(o)]
-    test = ExistenceNode.compileTest(o, @first)
+    test = ExistenceNode.compileTest(o, @first)
     "#test ? #first : #second"
#

If this is an existence operator, we delegate to ExistenceNode.compileTest -to give us the safe references for the variables.

  compileUnary: (o) ->
-    space = if indexOf(@PREFIX_OPERATORS, @operator) >= 0 then ' ' else ''
-    parts = [@operator, space, @first.compile(o)]
-    parts = parts.reverse() if @flip
-    parts.join('')
#

Compile a unary OpNode.

exports.InNode = class InNode extends BaseNode
+to give us the safe references for the variables.

  compileUnary: (o) ->
+    space = if indexOf(@PREFIX_OPERATORS, @operator) >= 0 then ' ' else ''
+    parts = [@operator, space, @first.compile(o)]
+    parts = parts.reverse() if @flip
+    parts.join('')
#

Compile a unary OpNode.

exports.InNode = class InNode extends BaseNode
 
-  class:    'InNode'
-  children: ['object', 'array']
+  class:    'InNode'
+  children: ['object', 'array']
 
-  constructor: (@object, @array) ->
+  constructor: (@object, @array) ->
 
-  isArray: ->
+  isArray: ->
     @array instanceof ValueNode and @array.isArray()
 
-  compileNode: (o) ->
-    [@obj1, @obj2] = @object.compileReference o, precompile: yes
+  compileNode: (o) ->
+    [@obj1, @obj2] = @object.compileReference o, precompile: yes
     if @isArray() then @compileOrTest(o) else @compileLoopTest(o)
 
-  compileOrTest: (o) ->
-    tests = for item, i in @array.base.objects
+  compileOrTest: (o) ->
+    tests = for item, i in @array.base.objects
       "#{item.compile(o)} === #{if i then @obj2 else @obj1}"
     "(#{tests.join(' || ')})"
 
-  compileLoopTest: (o) ->
-    [@arr1, @arr2] = @array.compileReference o, precompile: yes
+  compileLoopTest: (o) ->
+    [@arr1, @arr2] = @array.compileReference o, precompile: yes
     [i, l] = [o.scope.freeVariable(), o.scope.freeVariable()]
-    prefix = if @obj1 isnt @obj2 then @obj1 + '; ' else ''
-    "!!(function(){ #{prefix}for (var #i=0, #l=#{@arr1}.length; #i<#l; #i++) if (#{@arr2}[#i] === #@obj2) return true; }).call(this)"
#

InNode

#

TryNode

exports.TryNode = class TryNode extends BaseNode
+    prefix = if @obj1 isnt @obj2 then @obj1 + '; ' else ''
+    "(function(){ #{prefix}for (var #i=0, #l=#{@arr1}.length; #i<#l; #i++) { if (#{@arr2}[#i] === #@obj2) return true; } return false; }).call(this)"
#

InNode

#

TryNode

exports.TryNode = class TryNode extends BaseNode
 
-  class:        'TryNode'
-  children:     ['attempt', 'recovery', 'ensure']
-  isStatement:  -> yes
+  class:        'TryNode'
+  children:     ['attempt', 'recovery', 'ensure']
+  isStatement:  -> yes
 
-  constructor: (@attempt, @error, @recovery, @ensure) ->
+  constructor: (@attempt, @error, @recovery, @ensure) ->
 
-  makeReturn: ->
-    @attempt  = @attempt.makeReturn() if @attempt
-    @recovery = @recovery.makeReturn() if @recovery
-    this
#

A classic try/catch/finally block.

  compileNode: (o) ->
-    o.indent    = @idt 1
-    o.top       = true
-    attemptPart = @attempt.compile(o)
-    errorPart   = if @error then " (#{ @error.compile(o) }) " else ' '
-    catchPart   = if @recovery then " catch#errorPart{\n#{ @recovery.compile(o) }\n#@tab}" else ''
-    finallyPart = (@ensure or '') and ' finally {\n' + @ensure.compile(merge(o)) + "\n#@tab}"
+  makeReturn: ->
+    @attempt  = @attempt.makeReturn() if @attempt
+    @recovery = @recovery.makeReturn() if @recovery
+    this
#

A classic try/catch/finally block.

  compileNode: (o) ->
+    o.indent    = @idt 1
+    o.top       = true
+    attemptPart = @attempt.compile(o)
+    errorPart   = if @error then " (#{ @error.compile(o) }) " else ' '
+    catchPart   = if @recovery then " catch#errorPart{\n#{ @recovery.compile(o) }\n#@tab}" else ''
+    finallyPart = (@ensure or '') and ' finally {\n' + @ensure.compile(merge(o)) + "\n#@tab}"
     "#{@tab}try {\n#attemptPart\n#@tab}#catchPart#finallyPart"
#

Compilation is more or less as you would expect -- the finally clause -is optional, the catch is not.

#

ThrowNode

exports.ThrowNode = class ThrowNode extends BaseNode
+is optional, the catch is not.

#

ThrowNode

exports.ThrowNode = class ThrowNode extends BaseNode
 
-  class:         'ThrowNode'
-  children:     ['expression']
-  isStatement: -> yes
+  class:         'ThrowNode'
+  children:     ['expression']
+  isStatement: -> yes
 
-  constructor: (@expression) ->
#

Simple node to throw an exception.

  makeReturn: ->
+  constructor: (@expression) ->
#

Simple node to throw an exception.

  makeReturn: ->
     return this
 
-  compileNode: (o) ->
-    "#{@tab}throw #{@expression.compile(o)};"
#

A ThrowNode is already a return, of sorts...

#

ExistenceNode

exports.ExistenceNode = class ExistenceNode extends BaseNode
+  compileNode: (o) ->
+    "#{@tab}throw #{@expression.compile(o)};"
#

A ThrowNode is already a return, of sorts...

#

ExistenceNode

exports.ExistenceNode = class ExistenceNode extends BaseNode
 
-  class:     'ExistenceNode'
-  children: ['expression']
+  class:     'ExistenceNode'
+  children: ['expression']
 
-  constructor: (@expression) ->
+  constructor: (@expression) ->
 
-  compileNode: (o) ->
+  compileNode: (o) ->
     ExistenceNode.compileTest(o, @expression)
#

Checks a variable for existence -- not null and not undefined. This is similar to .nil? in Ruby, and avoids having to consult a JavaScript truth -table.

  @compileTest: (o, variable) ->
+table.

  @compileTest: (o, variable) ->
     [first, second] = variable.compileReference o
     "(typeof #{first.compile(o)} !== \"undefined\" && #{second.compile(o)} !== null)"
#

The meat of the ExistenceNode is in this static compileTest method because other nodes like to check the existence of their variables as well. -Be careful not to double-evaluate anything.

#

ParentheticalNode

exports.ParentheticalNode = class ParentheticalNode extends BaseNode
+Be careful not to double-evaluate anything.

#

ParentheticalNode

exports.ParentheticalNode = class ParentheticalNode extends BaseNode
 
-  class:     'ParentheticalNode'
-  children: ['expression']
+  class:     'ParentheticalNode'
+  children: ['expression']
 
-  constructor: (@expression) ->
+  constructor: (@expression) ->
 
-  isStatement: ->
+  isStatement: ->
     @expression.isStatement()
 
-  makeReturn: ->
+  makeReturn: ->
     @expression.makeReturn()
 
-  topSensitive: ->
+  topSensitive: ->
     yes
 
-  compileNode: (o) ->
-    top  = del o, 'top'
-    code = @expression.compile(o)
+  compileNode: (o) ->
+    top  = del o, 'top'
+    code = @expression.compile(o)
     if @isStatement()
       return (if top then "#@tab#code;" else code)
-    l    = code.length
-    code = code.substr(o, l-1) if code.substr(l-1, 1) is ';'
+    l    = code.length
+    code = code.substr(o, l-1) if code.substr(l-1, 1) is ';'
     if @expression instanceof AssignNode then code else "(#code)"
#

An extra set of parentheses, specified explicitly in the source. At one time we tried to clean up the results by detecting and removing redundant parentheses, but no longer -- you can put in as many as you please.

-

Parentheses are a good way to force any statement to become an expression.

#

ForNode

exports.ForNode = class ForNode extends BaseNode
+

Parentheses are a good way to force any statement to become an expression.

#

ForNode

exports.ForNode = class ForNode extends BaseNode
 
-  class:         'ForNode'
-  children:     ['body', 'source', 'guard']
-  isStatement: -> yes
+  class:         'ForNode'
+  children:     ['body', 'source', 'guard']
+  isStatement: -> yes
 
-  constructor: (@body, source, @name, @index) ->
+  constructor: (@body, source, @name, @index) ->
     @index  or= null
-    @source = source.source
-    @guard  = source.guard
-    @step   = source.step
-    @raw    = !!source.raw
-    @object = !!source.object
+    @source = source.source
+    @guard  = source.guard
+    @step   = source.step
+    @raw    = !!source.raw
+    @object = !!source.object
     [@name, @index] = [@index, @name] if @object
-    @pattern = @name instanceof ValueNode
+    @pattern = @name instanceof ValueNode
     throw new Error('index cannot be a pattern matching expression') if @index instanceof ValueNode
-    @returns = false
+    @returns = false
 
-  topSensitive: ->
+  topSensitive: ->
     true
 
-  makeReturn: ->
-    @returns = true
+  makeReturn: ->
+    @returns = true
     this
 
-  compileReturnValue: (val, o) ->
+  compileReturnValue: (val, o) ->
     return '\n' + new ReturnNode(literal(val)).compile(o) if @returns
     return '\n' + val if val
     ''
#

CoffeeScript's replacement for the for loop is our array and object @@ -955,106 +955,106 @@ expression, able to return the result of each filtered iteration.

Unlike Python array comprehensions, they can be multi-line, and you can pass the current index of the loop as a second parameter. Unlike Ruby blocks, -you can map and filter in a single pass.

  compileNode: (o) ->
-    topLevel      = del(o, 'top') and not @returns
-    range         = @source instanceof ValueNode and @source.base instanceof RangeNode and not @source.properties.length
-    source        = if range then @source.base else @source
-    codeInBody    = @body.contains (n) -> n instanceof CodeNode
-    scope         = o.scope
-    name          = (@name and @name.compile(o)) or scope.freeVariable()
-    index         = @index and @index.compile o
+you can map and filter in a single pass.

  compileNode: (o) ->
+    topLevel      = del(o, 'top') and not @returns
+    range         = @source instanceof ValueNode and @source.base instanceof RangeNode and not @source.properties.length
+    source        = if range then @source.base else @source
+    codeInBody    = @body.contains (n) -> n instanceof CodeNode
+    scope         = o.scope
+    name          = (@name and @name.compile(o)) or scope.freeVariable()
+    index         = @index and @index.compile o
     scope.find name  if name and not @pattern and not codeInBody
     scope.find index if index
-    rvar          = scope.freeVariable() unless topLevel
-    ivar          = if range then name else if codeInBody then scope.freeVariable() else index or scope.freeVariable()
-    varPart       = ''
-    guardPart     = ''
-    body          = Expressions.wrap([@body])
+    rvar          = scope.freeVariable() unless topLevel
+    ivar          = if range then name else if codeInBody then scope.freeVariable() else index or scope.freeVariable()
+    varPart       = ''
+    guardPart     = ''
+    body          = Expressions.wrap([@body])
     if range
-      sourcePart  = source.compileVariables(o)
-      forPart     = source.compile merge o, index: ivar, step: @step
+      sourcePart  = source.compileVariables(o)
+      forPart     = source.compile merge o, index: ivar, step: @step
     else
-      svar        = scope.freeVariable()
-      sourcePart  = "#svar = #{ @source.compile(o) };"
+      svar        = scope.freeVariable()
+      sourcePart  = "#svar = #{ @source.compile(o) };"
       if @pattern
-        namePart  = new AssignNode(@name, literal("#svar[#ivar]")).compile(merge o, {indent: @idt(1), top: true}) + '\n'
+        namePart  = new AssignNode(@name, literal("#svar[#ivar]")).compile(merge o, {indent: @idt(1), top: true}) + '\n'
       else
-        namePart  = "#name = #svar[#ivar]" if name
+        namePart  = "#name = #svar[#ivar]" if name
       unless @object
-        lvar      = scope.freeVariable()
-        stepPart  = if @step then "#ivar += #{ @step.compile(o) }" else "#ivar++"
-        forPart   = "#ivar = 0, #lvar = #{svar}.length; #ivar < #lvar; #stepPart"
-    sourcePart    = (if rvar then "#rvar = []; " else '') + sourcePart
-    sourcePart    = if sourcePart then "#@tab#sourcePart\n#@tab" else @tab
-    returnResult  = @compileReturnValue(rvar, o)
+        lvar      = scope.freeVariable()
+        stepPart  = if @step then "#ivar += #{ @step.compile(o) }" else "#ivar++"
+        forPart   = "#ivar = 0, #lvar = #{svar}.length; #ivar < #lvar; #stepPart"
+    sourcePart    = (if rvar then "#rvar = []; " else '') + sourcePart
+    sourcePart    = if sourcePart then "#@tab#sourcePart\n#@tab" else @tab
+    returnResult  = @compileReturnValue(rvar, o)
 
-    body          = PushNode.wrap(rvar, body) unless topLevel
+    body          = PushNode.wrap(rvar, body) unless topLevel
     if @guard
-      body        = Expressions.wrap([new IfNode(@guard, body)])
+      body        = Expressions.wrap([new IfNode(@guard, body)])
     if codeInBody
       body.unshift  literal "var #namePart" if namePart
       body.unshift  literal "var #index = #ivar" if index
-      body        = ClosureNode.wrap(body, true)
+      body        = ClosureNode.wrap(body, true)
     else
-      varPart     = (namePart or '') and (if @pattern then namePart else "#{@idt(1)}#namePart;\n")
+      varPart     = (namePart or '') and (if @pattern then namePart else "#{@idt(1)}#namePart;\n")
     if @object
-      forPart     = "#ivar in #svar"
-      guardPart   = "\n#{@idt(1)}if (!#{utility('hasProp')}.call(#svar, #ivar)) continue;" unless @raw
-    body          = body.compile(merge(o, {indent: @idt(1), top: true}))
-    vars          = if range then name else "#name, #ivar"
+      forPart     = "#ivar in #svar"
+      guardPart   = "\n#{@idt(1)}if (!#{utility('hasProp')}.call(#svar, #ivar)) continue;" unless @raw
+    body          = body.compile(merge(o, {indent: @idt(1), top: true}))
+    vars          = if range then name else "#name, #ivar"
     "#{sourcePart}for (#forPart) {#guardPart\n#varPart#body\n#@tab}#returnResult"
#

Welcome to the hairiest method in all of CoffeeScript. Handles the inner loop, filtering, stepping, and result saving for array, object, and range comprehensions. Some of the generated code can be shared in common, and -some cannot.

#

IfNode

exports.IfNode = class IfNode extends BaseNode
+some cannot.

#

IfNode

exports.IfNode = class IfNode extends BaseNode
 
-  class:     'IfNode'
-  children: ['condition', 'switchSubject', 'body', 'elseBody', 'assigner']
+  class:     'IfNode'
+  children: ['condition', 'switchSubject', 'body', 'elseBody', 'assigner']
 
-  constructor: (@condition, @body, @tags) ->
+  constructor: (@condition, @body, @tags) ->
     @tags      or= {}
-    @condition = new OpNode('!', new ParentheticalNode(@condition)) if @tags.invert
-    @elseBody = null
-    @isChain  = false
+    @condition = new OpNode('!', new ParentheticalNode(@condition)) if @tags.invert
+    @elseBody = null
+    @isChain  = false
 
-  bodyNode: -> @body?.unwrap()
-  elseBodyNode: -> @elseBody?.unwrap()
+  bodyNode: -> @body?.unwrap()
+  elseBodyNode: -> @elseBody?.unwrap()
 
-  forceStatement: ->
-    @tags.statement = true
+  forceStatement: ->
+    @tags.statement = true
     this
#

If/else statements. Our switch/when will be compiled into this. Acts as an expression by pushing down requested returns to the last line of each clause.

Single-expression IfNodes are compiled into ternary operators if possible, -because ternaries are already proper expressions, and don't need conversion.

  switchesOver: (expression) ->
-    @switchSubject = expression
+because ternaries are already proper expressions, and don't need conversion.

  switchesOver: (expression) ->
+    @switchSubject = expression
     this
#

Tag a chain of IfNodes with their object(s) to switch on for equality -tests. rewriteSwitch will perform the actual change at compile time.

  rewriteSwitch: (o) ->
-    @assigner = @switchSubject
+tests. rewriteSwitch will perform the actual change at compile time.

  rewriteSwitch: (o) ->
+    @assigner = @switchSubject
     unless (@switchSubject.unwrap() instanceof LiteralNode)
-      variable = literal(o.scope.freeVariable())
-      @assigner = new AssignNode(variable, @switchSubject)
-      @switchSubject = variable
-    @condition = for cond, i in flatten [@condition]
-      cond = new ParentheticalNode(cond) if cond instanceof OpNode
+      variable = literal(o.scope.freeVariable())
+      @assigner = new AssignNode(variable, @switchSubject)
+      @switchSubject = variable
+    @condition = for cond, i in flatten [@condition]
+      cond = new ParentheticalNode(cond) if cond instanceof OpNode
       new OpNode('==', (if i is 0 then @assigner else @switchSubject), cond)
     @elseBodyNode().switchesOver(@switchSubject) if @isChain
#

Rewrite a chain of IfNodes with their switch condition for equality. -Ensure that the switch expression isn't evaluated more than once.

    @switchSubject = undefined
-    this
#

prevent this rewrite from happening again

  addElse: (elseBody, statement) ->
+Ensure that the switch expression isn't evaluated more than once.

    @switchSubject = undefined
+    this
#

prevent this rewrite from happening again

  addElse: (elseBody, statement) ->
     if @isChain
       @elseBodyNode().addElse elseBody, statement
     else
-      @isChain = elseBody instanceof IfNode
-      @elseBody = @ensureExpressions elseBody
-    this
#

Rewrite a chain of IfNodes to add a default case as the final else.

  isStatement: ->
+      @isChain = elseBody instanceof IfNode
+      @elseBody = @ensureExpressions elseBody
+    this
#

Rewrite a chain of IfNodes to add a default case as the final else.

  isStatement: ->
     @statement or= !!(@tags.statement or @bodyNode().isStatement() or (@elseBody and @elseBodyNode().isStatement()))
 
-  compileCondition: (o) ->
+  compileCondition: (o) ->
     (cond.compile(o) for cond in flatten([@condition])).join(' || ')
 
-  compileNode: (o) ->
+  compileNode: (o) ->
     if @isStatement() then @compileStatement(o) else @compileTernary(o)
 
-  makeReturn: ->
+  makeReturn: ->
     if @isStatement()
       @body     and= @ensureExpressions(@body.makeReturn())
       @elseBody and= @ensureExpressions(@elseBody.makeReturn())
@@ -1062,32 +1062,32 @@ Ensure that the switch expression isn't evaluated more than once.

else new ReturnNode this - ensureExpressions: (node) -> + ensureExpressions: (node) -> if node instanceof Expressions then node else new Expressions [node]
#

The IfNode only compiles into a statement if either of its bodies needs -to be a statement. Otherwise a ternary is safe.

  compileStatement: (o) ->
+to be a statement. Otherwise a ternary is safe.

  compileStatement: (o) ->
     @rewriteSwitch(o) if @switchSubject
-    child    = del o, 'chainChild'
-    condO    = merge o
-    o.indent = @idt 1
-    o.top    = true
-    ifDent   = if child then '' else @idt()
-    comDent  = if child then @idt() else ''
-    body     = @body.compile(o)
-    ifPart   = "#{ifDent}if (#{ @compileCondition(condO) }) {\n#body\n#@tab}"
+    child    = del o, 'chainChild'
+    condO    = merge o
+    o.indent = @idt 1
+    o.top    = true
+    ifDent   = if child then '' else @idt()
+    comDent  = if child then @idt() else ''
+    body     = @body.compile(o)
+    ifPart   = "#{ifDent}if (#{ @compileCondition(condO) }) {\n#body\n#@tab}"
     return ifPart unless @elseBody
-    elsePart = if @isChain
-      ' else ' + @elseBodyNode().compile(merge(o, {indent: @idt(), chainChild: true}))
+    elsePart = if @isChain
+      ' else ' + @elseBodyNode().compile(merge(o, {indent: @idt(), chainChild: true}))
     else
       " else {\n#{ @elseBody.compile(o) }\n#@tab}"
     "#ifPart#elsePart"
#

Compile the IfNode as a regular if-else statement. Flattened chains -force inner else bodies into statement form.

  compileTernary: (o) ->
-    o.operation = true
-    ifPart      = @condition.compile(o) + ' ? ' + @bodyNode().compile(o)
-    elsePart    = if @elseBody then @elseBodyNode().compile(o) else 'null'
-    "#ifPart : #elsePart"
#

Compile the IfNode as a ternary operator.

#

Faux-Nodes

#

PushNode

PushNode = exports.PushNode = {
+force inner else bodies into statement form.

  compileTernary: (o) ->
+    o.operation = true
+    ifPart      = @condition.compile(o) + ' ? ' + @bodyNode().compile(o)
+    elsePart    = if @elseBody then @elseBodyNode().compile(o) else 'null'
+    "#ifPart : #elsePart"
#

Compile the IfNode as a ternary operator.

#

Faux-Nodes

#

PushNode

PushNode = exports.PushNode = {
 
-  wrap: (array, expressions) ->
-    expr = expressions.unwrap()
+  wrap: (array, expressions) ->
+    expr = expressions.unwrap()
     return expressions if expr.isPureStatement() or expr.containsPureStatement()
     Expressions.wrap([new CallNode(
       new ValueNode(literal(array), [new AccessorNode(literal('push'))]), [expr]
@@ -1096,26 +1096,26 @@ force inner else bodies into statement form.

#

Faux-nodes are never created by the grammar, but are used during code generation to generate other combinations of nodes. The PushNode creates the tree for array.push(value), which is helpful for recording the result -arrays from comprehensions.

#

ClosureNode

ClosureNode = exports.ClosureNode = {
#

A faux-node used to wrap an expressions body in a closure.

  wrap: (expressions, statement) ->
+arrays from comprehensions.

#

ClosureNode

ClosureNode = exports.ClosureNode = {
#

A faux-node used to wrap an expressions body in a closure.

  wrap: (expressions, statement) ->
     return expressions if expressions.containsPureStatement()
-    func = new ParentheticalNode(new CodeNode([], Expressions.wrap([expressions])))
-    args = []
-    mentionsArgs = expressions.contains (n) ->
+    func = new ParentheticalNode(new CodeNode([], Expressions.wrap([expressions])))
+    args = []
+    mentionsArgs = expressions.contains (n) ->
       n instanceof LiteralNode and (n.value is 'arguments')
-    mentionsThis = expressions.contains (n) ->
+    mentionsThis = expressions.contains (n) ->
       (n instanceof LiteralNode and (n.value is 'this')) or
       (n instanceof CodeNode and n.bound)
     if mentionsArgs or mentionsThis
-      meth = literal(if mentionsArgs then 'apply' else 'call')
-      args = [literal('this')]
+      meth = literal(if mentionsArgs then 'apply' else 'call')
+      args = [literal('this')]
       args.push literal 'arguments' if mentionsArgs
-      func = new ValueNode func, [new AccessorNode(meth)]
-    call = new CallNode(func, args)
+      func = new ValueNode func, [new AccessorNode(meth)]
+    call = new CallNode(func, args)
     if statement then Expressions.wrap([call]) else call
 
 }
#

Wrap the expressions body, unless it contains a pure statement, in which case, no dice. If the body mentions this or arguments, -then make sure that the closure wrapper preserves the original values.

UTILITIES = {
#

Utility Functions

  extends:  """
+then make sure that the closure wrapper preserves the original values.

UTILITIES = {
#

Utility Functions

  extends:  """
             function(child, parent) {
                 var ctor = function(){};
                 ctor.prototype = parent.prototype;
@@ -1126,19 +1126,19 @@ then make sure that the closure wrapper preserves the original values.

} """
#

Correctly set up a prototype chain for inheritance, including a reference to the superclass for super() calls. See: -goog.inherits.

  bind: """
+goog.inherits.

  bind: """
         function(func, context) {
             return function(){ return func.apply(context, arguments); };
           }
-        """
#

Create a function bound to the current value of "this".

  hasProp: 'Object.prototype.hasOwnProperty'
-  slice:   'Array.prototype.slice'
+        """
#

Create a function bound to the current value of "this".

  hasProp: 'Object.prototype.hasOwnProperty'
+  slice:   'Array.prototype.slice'
 
-}
#

Shortcuts to speed up the lookup time for native functions.

#

Constants

TAB = '  '
#

Tabs are two spaces for pretty printing.

TRAILING_WHITESPACE = /[ \t]+$/gm
#

Trim out all trailing whitespace, so that the generated code plays nice -with Git.

DOUBLE_PARENS = /\(\(([^\(\)\n]*)\)\)/g
#

Obvious redundant parentheses should be removed.

IDENTIFIER = /^[a-zA-Z\$_](\w|\$)*$/
-NUMBER     = /^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b$/i
-SIMPLENUM  = /^-?\d+/
#

Keep these identifier regexes in sync with the Lexer.

IS_STRING = /^['"]/
#

Is a literal value a string?

#

Utility Functions

literal = (name) ->
-  new LiteralNode(name)
#

Handy helper for a generating LiteralNode.

utility = (name) ->
-  ref = "__#name"
+}
#

Shortcuts to speed up the lookup time for native functions.

#

Constants

TAB = '  '
#

Tabs are two spaces for pretty printing.

TRAILING_WHITESPACE = /[ \t]+$/gm
#

Trim out all trailing whitespace, so that the generated code plays nice +with Git.

DOUBLE_PARENS = /\(\(([^\(\)\n]*)\)\)/g
#

Obvious redundant parentheses should be removed.

IDENTIFIER = /^[a-zA-Z\$_](\w|\$)*$/
+NUMBER     = /^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b$/i
+SIMPLENUM  = /^-?\d+/
#

Keep these identifier regexes in sync with the Lexer.

IS_STRING = /^['"]/
#

Is a literal value a string?

#

Utility Functions

literal = (name) ->
+  new LiteralNode(name)
#

Handy helper for a generating LiteralNode.

utility = (name) ->
+  ref = "__#name"
   Scope.root.assign ref, UTILITIES[name]
   ref
 
diff --git a/documentation/docs/optparse.html b/documentation/docs/optparse.html
index 4c6d02b7..cde23558 100644
--- a/documentation/docs/optparse.html
+++ b/documentation/docs/optparse.html
@@ -6,64 +6,64 @@ options = parser.parse process.argv
 

The first non-option is considered to be the start of the file (and file -option) list, and all subsequent arguments are left unparsed.

exports.OptionParser = class OptionParser
#

Initialize with a list of valid options, in the form:

+option) list, and all subsequent arguments are left unparsed.

exports.OptionParser = class OptionParser
#

Initialize with a list of valid options, in the form:

[short-flag, long-flag, description]
 
-

Along with an an optional banner for the usage help.

  constructor: (rules, banner) ->
-    @banner = banner
-    @rules  = buildRules rules
#

Parse the list of arguments, populating an options object with all of the +

Along with an an optional banner for the usage help.

  constructor: (rules, banner) ->
+    @banner = banner
+    @rules  = buildRules rules
#

Parse the list of arguments, populating an options object with all of the specified options, and returning it. options.arguments will be an array containing the remaning non-option arguments. This is a simpler API than many option parsers that allow you to attach callback actions for every -flag. Instead, you're responsible for interpreting the options object.

  parse: (args) ->
-    options = arguments: []
-    args    = normalizeArguments args
+flag. Instead, you're responsible for interpreting the options object.

  parse: (args) ->
+    options = arguments: []
+    args    = normalizeArguments args
     for arg, i in args
-      isOption = !!(arg.match(LONG_FLAG) or arg.match(SHORT_FLAG))
-      matchedRule = no
+      isOption = !!(arg.match(LONG_FLAG) or arg.match(SHORT_FLAG))
+      matchedRule = no
       for rule in @rules
         if rule.shortFlag is arg or rule.longFlag is arg
           options[rule.name] = if rule.hasArgument then args[i += 1] else true
-          matchedRule = yes
+          matchedRule = yes
           break
       throw new Error "unrecognized option: #arg" if isOption and not matchedRule
       if not isOption
-        options.arguments = args[i...args.length]
+        options.arguments = args[i...args.length]
         break
     options
#

Return the help text for this OptionParser, listing and describing all -of the valid options, for --help and such.

  help: ->
-    lines = ['Available options:']
+of the valid options, for --help and such.

  help: ->
+    lines = ['Available options:']
     lines.unshift "#@banner\n" if @banner
     for rule in @rules
-      spaces  = 15 - rule.longFlag.length
-      spaces  = if spaces > 0 then (' ' for i in [0..spaces]).join('') else ''
-      letPart = if rule.shortFlag then rule.shortFlag + ', ' else '    '
+      spaces  = 15 - rule.longFlag.length
+      spaces  = if spaces > 0 then (' ' for i in [0..spaces]).join('') else ''
+      letPart = if rule.shortFlag then rule.shortFlag + ', ' else '    '
       lines.push "  #letPart#rule.longFlag#spaces#rule.description"
-    "\n#{ lines.join('\n') }\n"
#

Helpers

#

Regex matchers for option flags.

LONG_FLAG  = /^(--\w[\w\-]+)/
-SHORT_FLAG = /^(-\w)/
-MULTI_FLAG = /^-(\w{2,})/
-OPTIONAL   = /\[(.+)\]/
#

Build and return the list of option rules. If the optional short-flag is -unspecified, leave it out by padding with null.

buildRules = (rules) ->
+    "\n#{ lines.join('\n') }\n"
#

Helpers

#

Regex matchers for option flags.

LONG_FLAG  = /^(--\w[\w\-]+)/
+SHORT_FLAG = /^(-\w)/
+MULTI_FLAG = /^-(\w{2,})/
+OPTIONAL   = /\[(.+)\]/
#

Build and return the list of option rules. If the optional short-flag is +unspecified, leave it out by padding with null.

buildRules = (rules) ->
   for tuple in rules
     tuple.unshift null if tuple.length < 3
     buildRule tuple...
#

Build a rule from a -o short flag, a --output [DIR] long flag, and the -description of what the option does.

buildRule = (shortFlag, longFlag, description) ->
-  match    = longFlag.match(OPTIONAL)
-  longFlag = longFlag.match(LONG_FLAG)[1]
+description of what the option does.

buildRule = (shortFlag, longFlag, description) ->
+  match    = longFlag.match(OPTIONAL)
+  longFlag = longFlag.match(LONG_FLAG)[1]
   {
-    name:         longFlag.substr 2
-    shortFlag:    shortFlag
-    longFlag:     longFlag
-    description:  description
-    hasArgument:  !!(match and match[1])
+    name:         longFlag.substr 2
+    shortFlag:    shortFlag
+    longFlag:     longFlag
+    description:  description
+    hasArgument:  !!(match and match[1])
   }
#

Normalize arguments by expanding merged flags into multiple flags. This allows -you to have -wl be the same as --watch --lint.

normalizeArguments = (args) ->
-  args = args.slice 0
-  result = []
+you to have -wl be the same as --watch --lint.

normalizeArguments = (args) ->
+  args = args.slice 0
+  result = []
   for arg in args
-    if match = arg.match MULTI_FLAG
+    if match = arg.match MULTI_FLAG
       result.push '-' + l for l in match[1].split ''
     else
       result.push arg
diff --git a/documentation/docs/repl.html b/documentation/docs/repl.html
index c240f64f..10901926 100644
--- a/documentation/docs/repl.html
+++ b/documentation/docs/repl.html
@@ -3,17 +3,17 @@ and evaluates it. Good for simple tests, or poking around the Node.js
 
 
coffee> puts "#num bottles of beer" for num in [99..1]
-
#

Require the coffee-script module to get access to the compiler.

CoffeeScript = require './coffee-script'
-helpers      = require('./helpers').helpers
-readline     = require 'readline'
#

Start by opening up stdio.

stdio = process.openStdin()
#

Quick alias for quitting the REPL.

helpers.extend global, quit: -> process.exit(0)
#

The main REPL function. run is called every time a line of code is entered. +

#

Require the coffee-script module to get access to the compiler.

CoffeeScript = require './coffee-script'
+helpers      = require('./helpers').helpers
+readline     = require 'readline'
#

Start by opening up stdio.

stdio = process.openStdin()
#

Quick alias for quitting the REPL.

helpers.extend global, quit: -> process.exit(0)
#

The main REPL function. run is called every time a line of code is entered. Attempt to evaluate the command. If there's an exception, print it out instead -of exiting.

run = (buffer) ->
+of exiting.

run = (buffer) ->
   try
-    val = CoffeeScript.run buffer.toString(), noWrap: true, globals: true, fileName: 'repl'
+    val = CoffeeScript.run buffer.toString(), noWrap: true, globals: true, fileName: 'repl'
     puts inspect val if val isnt undefined
   catch err
     puts err.stack or err.toString()
-  repl.prompt()
#

Create the REPL by listening to stdin.

repl = readline.createInterface stdio
+  repl.prompt()
#

Create the REPL by listening to stdin.

repl = readline.createInterface stdio
 repl.setPrompt 'coffee> '
 stdio.on 'data',   (buffer) -> repl.write buffer
 repl.on  'close',  -> stdio.destroy()
diff --git a/documentation/docs/rewriter.html b/documentation/docs/rewriter.html
index ea7cf43c..8acd4d8b 100644
--- a/documentation/docs/rewriter.html
+++ b/documentation/docs/rewriter.html
@@ -6,15 +6,15 @@ shorthand into the unambiguous long form, add implicit indentation and
 parentheses, balance incorrect nestings, and generally clean things up.

#

Set up exported variables for both Node.js and the browser.

if process?
   {helpers} = require('./helpers')
 else
-  this.exports = this
-  helpers      = this.helpers
#

Import the helpers we need.

{include} = helpers
#

The Rewriter class is used by the Lexer, directly against -its internal array of tokens.

exports.Rewriter = class Rewriter
#

Helpful snippet for debugging: + this.exports = this + helpers = this.helpers

#

Import the helpers we need.

{include} = helpers
#

The Rewriter class is used by the Lexer, directly against +its internal array of tokens.

exports.Rewriter = class Rewriter
#

Helpful snippet for debugging: puts (t[0] + '/' + t[1] for t in @tokens).join ' '

#

Rewrite the token stream in multiple passes, one logical filter at a time. This could certainly be changed into a single pass through the stream, with a big ol' efficient switch, but it's much nicer to work with like this. The order of these passes matters -- indentation must be -corrected before implicit parentheses can be wrapped around blocks of code.

  rewrite: (tokens) ->
-    @tokens = tokens
+corrected before implicit parentheses can be wrapped around blocks of code.

  rewrite: (tokens) ->
+    @tokens = tokens
     @adjustComments()
     @removeLeadingNewlines()
     @removeMidExpressionNewlines()
@@ -28,14 +28,14 @@ corrected before implicit parentheses can be wrapped around blocks of code.

Allow the return value of the block to tell us how many tokens to move forwards (or backwards) in the stream, to make sure we don't miss anything as tokens are inserted and removed, and the stream changes length under -our feet.

  scanTokens: (block) ->
-    i = 0
+our feet.

  scanTokens: (block) ->
+    i = 0
     loop
       break unless @tokens[i]
-      move = block @tokens[i - 1], @tokens[i], @tokens[i + 1], i
+      move = block @tokens[i - 1], @tokens[i], @tokens[i + 1], i
       i += move
     true
#

Massage newlines and indentations so that comments don't have to be -correctly indented, or appear on a line of their own.

  adjustComments: ->
+correctly indented, or appear on a line of their own.

  adjustComments: ->
     @scanTokens (prev, token, post, i) =>
       return 1 unless token[0] is 'HERECOMMENT'
       [before, after] = [@tokens[i - 2], @tokens[i + 2]]
@@ -54,17 +54,17 @@ correctly indented, or appear on a line of their own.

#

Leading newlines would introduce an ambiguity in the grammar, so we -dispatch them here.

  removeLeadingNewlines: ->
+dispatch them here.

  removeLeadingNewlines: ->
     @tokens.shift() while @tokens[0] and @tokens[0][0] is 'TERMINATOR'
#

Some blocks occur in the middle of expressions -- when we're expecting -this, remove their trailing newlines.

  removeMidExpressionNewlines: ->
+this, remove their trailing newlines.

  removeMidExpressionNewlines: ->
     @scanTokens (prev, token, post, i) =>
       return 1 unless post and include(EXPRESSION_CLOSE, post[0]) and token[0] is 'TERMINATOR'
       @tokens.splice i, 1
       return 0
#

The lexer has tagged the opening parenthesis of a method call, and the opening bracket of an indexing operation. Match them with their paired -close.

  closeOpenCallsAndIndexes: ->
-    parens   = [0]
-    brackets = [0]
+close.

  closeOpenCallsAndIndexes: ->
+    parens   = [0]
+    brackets = [0]
     @scanTokens (prev, token, post, i) =>
       switch token[0]
         when 'CALL_START'  then parens.push 0
@@ -84,56 +84,56 @@ close.

else brackets[brackets.length - 1] -= 1 return 1
#

Object literals may be written with implicit braces, for simple cases. -Insert the missing braces here, so that the parser doesn't have to.

  addImplicitBraces: ->
-    stack   = [0]
-    running = no
-    closeBrackets = (i) =>
-      len = stack.length - 1
+Insert the missing braces here, so that the parser doesn't have to.

  addImplicitBraces: ->
+    stack   = [0]
+    running = no
+    closeBrackets = (i) =>
+      len = stack.length - 1
       for tmp in [0...stack[len]]
         @tokens.splice(i, 0, ['}', '}', @tokens[i][2]])
-      size = stack[len] + 1
+      size = stack[len] + 1
       stack[len] = 0
       size
     @scanTokens (prev, token, post, i) =>
-      tag    = token[0]
-      len    = stack.length - 1
-      before = @tokens[i - 2]
-      after  = @tokens[i + 2]
-      open   = stack[len] > 0
+      tag    = token[0]
+      len    = stack.length - 1
+      before = @tokens[i - 2]
+      after  = @tokens[i + 2]
+      open   = stack[len] > 0
       if (tag is 'TERMINATOR' and not ((after and after[0] is ':') or (post and post[0] is '@' and @tokens[i + 3] and @tokens[i + 3][0] is ':'))) or
           (running and tag is ',' and post and (post[0] not in ['IDENTIFIER', 'STRING', '@']))
-        running = no
+        running = no
         return closeBrackets(i)
       else if include EXPRESSION_START, tag
         stack.push(if tag is '{' then 1 else 0)
         return 2 if tag is '{' and post and post[0] is 'INDENT'
       else if include EXPRESSION_END, tag
         return 1 if tag is 'OUTDENT' and post and post[0] is '}'
-        size = closeBrackets(i) if tag is 'OUTDENT'
+        size = closeBrackets(i) if tag is 'OUTDENT'
         stack[len - 1] += stack.pop()
         stack[len - 1] -= 1 if tag is '}'
         return size if tag is 'OUTDENT'
       else if tag is ':' and not open
-        idx = if before and before[0] is '@' then i - 2 else i - 1
+        idx = if before and before[0] is '@' then i - 2 else i - 1
         @tokens.splice idx, 0, ['{', '{', token[2]]
         stack[stack.length - 1] += 1
-        running = yes
+        running = yes
         return 2
       return 1
#

Methods may be optionally called without parentheses, for simple cases. Insert the implicit parentheses here, so that the parser doesn't have to -deal with them.

  addImplicitParentheses: ->
-    stack = [0]
-    closeCalls = (i) =>
+deal with them.

  addImplicitParentheses: ->
+    stack = [0]
+    closeCalls = (i) =>
       for tmp in [0...stack[stack.length - 1]]
         @tokens.splice(i, 0, ['CALL_END', ')', @tokens[i][2]])
-      size = stack[stack.length - 1] + 1
+      size = stack[stack.length - 1] + 1
       stack[stack.length - 1] = 0
       size
     @scanTokens (prev, token, post, i) =>
-      tag = token[0]
-      before = @tokens[i - 2] and @tokens[i - 2][0]
+      tag = token[0]
+      before = @tokens[i - 2] and @tokens[i - 2][0]
       stack[stack.length - 2] += stack.pop() if tag is 'OUTDENT'
-      open = stack[stack.length - 1] > 0
+      open = stack[stack.length - 1] > 0
       if prev and prev.spaced and include(IMPLICIT_FUNC, prev[0]) and include(IMPLICIT_CALL, tag) and
           not (tag is '!' and (post[0] in ['IN', 'OF']))
         @tokens.splice i, 0, ['CALL_START', '(', token[2]]
@@ -143,17 +143,17 @@ deal with them.

if include(EXPRESSION_START, tag) if tag is 'INDENT' and !token.generated and open and not ((prev and include(IMPLICIT_BLOCK, prev[0])) or before and before is 'CLASS') - size = closeCalls(i) + size = closeCalls(i) stack.push 0 return size stack.push 0 return 1 if open and !token.generated and prev[0] isnt ',' and (!post or include(IMPLICIT_END, tag)) - j = 1; j++ while (nx = @tokens[i + j])? and include(IMPLICIT_END, nx[0]) + j = 1; j++ while (nx = @tokens[i + j])? and include(IMPLICIT_END, nx[0]) if nx? and nx[0] is ',' and @tokens[i + j - 1][0] is 'OUTDENT' @tokens.splice(i, 1) if tag is 'TERMINATOR' else - size = closeCalls(i) + size = closeCalls(i) stack.pop() if tag isnt 'OUTDENT' and include EXPRESSION_END, tag return size if tag isnt 'OUTDENT' and include EXPRESSION_END, tag @@ -162,7 +162,7 @@ deal with them.

return 1
#

Because our grammar is LALR(1), it can't handle some single-line expressions that lack ending delimiters. The Rewriter adds the implicit blocks, so it doesn't need to. ')' can close a single-line block, -but we need to make sure it's balanced.

  addImplicitIndentation: ->
+but we need to make sure it's balanced.

  addImplicitIndentation: ->
     @scanTokens (prev, token, post, i) =>
       if token[0] is 'ELSE' and prev[0] isnt 'OUTDENT'
         @tokens.splice i, 0, @indentation(token)...
@@ -174,21 +174,21 @@ but we need to make sure it's balanced.

return 1 unless include(SINGLE_LINERS, token[0]) and post[0] isnt 'INDENT' and not (token[0] is 'ELSE' and post[0] is 'IF') - starter = token[0] + starter = token[0] [indent, outdent] = @indentation token - indent.generated = outdent.generated = true + indent.generated = outdent.generated = true @tokens.splice i + 1, 0, indent - idx = i + 1 - parens = 0 + idx = i + 1 + parens = 0 loop idx += 1 - tok = @tokens[idx] - pre = @tokens[idx - 1] + tok = @tokens[idx] + pre = @tokens[idx - 1] if (not tok or (include(SINGLE_CLOSERS, tok[0]) and tok[1] isnt ';' and parens is 0) or (tok[0] is ')' and parens is 0)) and not (tok[0] is 'ELSE' and starter not in ['IF', 'THEN']) - insertion = if pre[0] is "," then idx - 1 else idx + insertion = if pre[0] is "," then idx - 1 else idx @tokens.splice insertion, 0, outdent break parens += 1 if tok[0] is '(' @@ -196,9 +196,9 @@ but we need to make sure it's balanced.

return 1 unless token[0] is 'THEN' @tokens.splice i, 1 return 0
#

Ensure that all listed pairs of tokens are correctly balanced throughout -the course of the token stream.

  ensureBalance: (pairs) ->
-    levels   = {}
-    openLine = {}
+the course of the token stream.

  ensureBalance: (pairs) ->
+    levels   = {}
+    openLine = {}
     @scanTokens (prev, token, post, i) =>
       for pair in pairs
         [open, close] = pair
@@ -209,10 +209,10 @@ the course of the token stream.

levels[open] -= 1 if token[0] is close throw new Error("too many #{token[1]} on line #{token[2] + 1}") if levels[open] < 0 return 1 - unclosed = key for key, value of levels when value > 0 + unclosed = key for key, value of levels when value > 0 if unclosed.length - open = unclosed[0] - line = openLine[open] + 1 + open = unclosed[0] + line = openLine[open] + 1 throw new Error "unclosed #open on line #line"
#

We'd like to support syntax like this:

el.click((event) ->
@@ -231,13 +231,13 @@ it with the inverse of what we've just popped.
 up balanced in the end.
 
  • Be careful not to alter array or parentheses delimiters with overzealous rewriting.
  • -
      rewriteClosingParens: ->
    -    stack = []
    -    debt  = {}
    +             
      rewriteClosingParens: ->
    +    stack = []
    +    debt  = {}
         (debt[key] = 0) for key, val of INVERSES
         @scanTokens (prev, token, post, i) =>
    -      tag = token[0]
    -      inv = INVERSES[token[0]]
    +      tag = token[0]
    +      inv = INVERSES[token[0]]
           if include EXPRESSION_START, tag
             stack.push token
             return 1
    @@ -247,12 +247,12 @@ rewriting.
               @tokens.splice i, 1
               return 0
             else
    -          match = stack.pop()
    -          mtag  = match[0]
    -          oppos = INVERSES[mtag]
    +          match = stack.pop()
    +          mtag  = match[0]
    +          oppos = INVERSES[mtag]
               return 1 if tag is oppos
               debt[mtag] += 1
    -          val = [oppos, if mtag is 'INDENT' then match[1] else oppos]
    +          val = [oppos, if mtag is 'INDENT' then match[1] else oppos]
               if @tokens[i + 2]?[0] is mtag
                 @tokens.splice i + 3, 0, val
                 stack.push(match)
    @@ -260,19 +260,19 @@ rewriting.
                 @tokens.splice i, 0, val
               return 1
           else
    -        return 1
    #

    Generate the indentation tokens, based on another token on the same line.

      indentation: (token) ->
    -    [['INDENT', 2, token[2]], ['OUTDENT', 2, token[2]]]
    #

    Constants

    #

    List of the token pairs that must be balanced.

    BALANCED_PAIRS = [['(', ')'], ['[', ']'], ['{', '}'], ['INDENT', 'OUTDENT'],
    +        return 1
    #

    Generate the indentation tokens, based on another token on the same line.

      indentation: (token) ->
    +    [['INDENT', 2, token[2]], ['OUTDENT', 2, token[2]]]
    #

    Constants

    #

    List of the token pairs that must be balanced.

    BALANCED_PAIRS = [['(', ')'], ['[', ']'], ['{', '}'], ['INDENT', 'OUTDENT'],
       ['PARAM_START', 'PARAM_END'], ['CALL_START', 'CALL_END'], ['INDEX_START', 'INDEX_END']]
    #

    The inverse mappings of BALANCED_PAIRS we're trying to fix up, so we can -look things up from either end.

    INVERSES = {}
    +look things up from either end.

    INVERSES = {}
     for pair in BALANCED_PAIRS
       INVERSES[pair[0]] = pair[1]
    -  INVERSES[pair[1]] = pair[0]
    #

    The tokens that signal the start of a balanced pair.

    EXPRESSION_START = pair[0] for pair in BALANCED_PAIRS
    #

    The tokens that signal the end of a balanced pair.

    EXPRESSION_END   = pair[1] for pair in BALANCED_PAIRS
    #

    Tokens that indicate the close of a clause of an expression.

    EXPRESSION_CLOSE = ['CATCH', 'WHEN', 'ELSE', 'FINALLY'].concat EXPRESSION_END
    #

    Tokens that, if followed by an IMPLICIT_CALL, indicate a function invocation.

    IMPLICIT_FUNC    = ['IDENTIFIER', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END', '@']
    #

    If preceded by an IMPLICIT_FUNC, indicates a function invocation.

    IMPLICIT_CALL    = [
    +  INVERSES[pair[1]] = pair[0]
    #

    The tokens that signal the start of a balanced pair.

    EXPRESSION_START = pair[0] for pair in BALANCED_PAIRS
    #

    The tokens that signal the end of a balanced pair.

    EXPRESSION_END   = pair[1] for pair in BALANCED_PAIRS
    #

    Tokens that indicate the close of a clause of an expression.

    EXPRESSION_CLOSE = ['CATCH', 'WHEN', 'ELSE', 'FINALLY'].concat EXPRESSION_END
    #

    Tokens that, if followed by an IMPLICIT_CALL, indicate a function invocation.

    IMPLICIT_FUNC    = ['IDENTIFIER', 'SUPER', ')', 'CALL_END', ']', 'INDEX_END', '@']
    #

    If preceded by an IMPLICIT_FUNC, indicates a function invocation.

    IMPLICIT_CALL    = [
       'IDENTIFIER', 'NUMBER', 'STRING', 'JS', 'REGEX', 'NEW', 'PARAM_START', 'CLASS',
       'TRY', 'DELETE', 'TYPEOF', 'SWITCH', 'THIS', 'NULL',
       'TRUE', 'FALSE', 'YES', 'NO', 'ON', 'OFF',
       '!', '!!', '@', '->', '=>', '[', '(', '{'
    -]
    #

    Tokens indicating that the implicit call must enclose a block of expressions.

    IMPLICIT_BLOCK   = ['->', '=>', '{', '[', ',']
    #

    Tokens that always mark the end of an implicit call for single-liners.

    IMPLICIT_END     = ['IF', 'UNLESS', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'TERMINATOR', 'INDENT'].concat EXPRESSION_END
    #

    Single-line flavors of block expressions that have unclosed endings. -The grammar can't disambiguate them, so we insert the implicit indentation.

    SINGLE_LINERS    = ['ELSE', "->", "=>", 'TRY', 'FINALLY', 'THEN']
    -SINGLE_CLOSERS   = ['TERMINATOR', 'CATCH', 'FINALLY', 'ELSE', 'OUTDENT', 'LEADING_WHEN']
    +]
    #

    Tokens indicating that the implicit call must enclose a block of expressions.

    IMPLICIT_BLOCK   = ['->', '=>', '{', '[', ',']
    #

    Tokens that always mark the end of an implicit call for single-liners.

    IMPLICIT_END     = ['IF', 'UNLESS', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'TERMINATOR', 'INDENT'].concat EXPRESSION_END
    #

    Single-line flavors of block expressions that have unclosed endings. +The grammar can't disambiguate them, so we insert the implicit indentation.

    SINGLE_LINERS    = ['ELSE', "->", "=>", 'TRY', 'FINALLY', 'THEN']
    +SINGLE_CLOSERS   = ['TERMINATOR', 'CATCH', 'FINALLY', 'ELSE', 'OUTDENT', 'LEADING_WHEN']
     
     
    \ No newline at end of file diff --git a/documentation/docs/scope.html b/documentation/docs/scope.html index ac719264..e020be70 100644 --- a/documentation/docs/scope.html +++ b/documentation/docs/scope.html @@ -3,46 +3,46 @@ generate code, you create a tree of scopes in the same shape as the nested function bodies. Each scope knows about the variables declared within it, and has a reference to its parent enclosing scope. In this way, we know which variables are new and need to be declared with var, and which are shared -with the outside.

    #

    Set up exported variables for both Node.js and the browser.

    this.exports = this unless process?
    +with the outside.

    #

    Set up exported variables for both Node.js and the browser.

    this.exports = this unless process?
     
    -exports.Scope = class Scope
    #

    The top-level Scope object.

      @root: null
    #

    Initialize a scope with its parent, for lookups up the chain, +exports.Scope = class Scope

    #

    The top-level Scope object.

      @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) ->
    +it wraps.

      constructor: (parent, expressions, method) ->
         [@parent, @expressions, @method] = [parent, expressions, method]
    -    @variables = {}
    +    @variables = {}
         if @parent
    -      @tempVar = @parent.tempVar
    +      @tempVar = @parent.tempVar
         else
    -      Scope.root = this
    -      @tempVar = '_a'
    #

    Look up a variable name in lexical scope, and declare it if it does not -already exist.

      find: (name) ->
    +      Scope.root = this
    +      @tempVar = '_a'
    #

    Look up a variable name in lexical scope, and declare it if it does not +already exist.

      find: (name) ->
         return true if @check name
         @variables[name] = 'var'
    -    false
    #

    Test variables and return true the first time fn(v, k) returns true

      any: (fn) ->
    +    false
    #

    Test variables and return true the first time fn(v, k) returns true

      any: (fn) ->
         for v, k of @variables when fn(v, k)
           return true
         return false
    #

    Reserve a variable name as originating from a function parameter for this -scope. No var required for internal references.

      parameter: (name) ->
    -    @variables[name] = 'param'
    #

    Just check to see if a variable has already been declared, without reserving.

      check: (name) ->
    +scope. No var required for internal references.

      parameter: (name) ->
    +    @variables[name] = 'param'
    #

    Just check to see if a variable has already been declared, without reserving.

      check: (name) ->
         return true if @variables.hasOwnProperty name
         !!(@parent and @parent.check(name))
    #

    If we need to store an intermediate result, find an available name for a -compiler-generated variable. _a, _b, and so on...

      freeVariable: ->
    +compiler-generated variable. _a, _b, and so on...

      freeVariable: ->
         while @check @tempVar
    -      ordinal = 1 + parseInt @tempVar.substr(1), 36
    -      @tempVar = '_' + ordinal.toString(36).replace(/\d/g, 'a')
    +      ordinal = 1 + parseInt @tempVar.substr(1), 36
    +      @tempVar = '_' + ordinal.toString(36).replace(/\d/g, 'a')
         @variables[@tempVar] = 'var'
         @tempVar
    #

    Ensure that an assignment is made at the top of this scope -(or at the top-level scope, if requested).

      assign: (name, value) ->
    -    @variables[name] = value: value, assigned: true
    #

    Does this scope reference any variables that need to be declared in the -given function body?

      hasDeclarations: (body) ->
    +(or at the top-level scope, if requested).

      assign: (name, value) ->
    +    @variables[name] = value: value, assigned: true
    #

    Does this scope reference any variables that need to be declared in the +given function body?

      hasDeclarations: (body) ->
         body is @expressions and @any (k, val) -> val is 'var'
    #

    Does this scope reference any assignments that need to be declared at the -top of the given function body?

      hasAssignments: (body) ->
    -    body is @expressions and @any (k, val) -> val.assigned
    #

    Return the list of variables first declared in this scope.

      declaredVariables: ->
    +top of the given function body?

      hasAssignments: (body) ->
    +    body is @expressions and @any (k, val) -> val.assigned
    #

    Return the list of variables first declared in this scope.

      declaredVariables: ->
         (key for key, val of @variables when val is 'var').sort()
    #

    Return the list of assignments that are supposed to be made at the top -of this scope.

      assignedVariables: ->
    -    "#key = #val.value" for key, val of @variables when val.assigned
    #

    Compile the JavaScript for all of the variable declarations in this scope.

      compiledDeclarations: ->
    -    @declaredVariables().join ', '
    #

    Compile the JavaScript for all of the variable assignments in this scope.

      compiledAssignments: ->
    +of this scope.

      assignedVariables: ->
    +    "#key = #val.value" for key, val of @variables when val.assigned
    #

    Compile the JavaScript for all of the variable declarations in this scope.

      compiledDeclarations: ->
    +    @declaredVariables().join ', '
    #

    Compile the JavaScript for all of the variable assignments in this scope.

      compiledAssignments: ->
         @assignedVariables().join ', '
     
     
    \ No newline at end of file diff --git a/documentation/index.html.erb b/documentation/index.html.erb index 9e5d5791..b5efb379 100644 --- a/documentation/index.html.erb +++ b/documentation/index.html.erb @@ -271,7 +271,7 @@ sudo npm install coffee-script
    -t, --tokens Instead of parsing the CoffeeScript, just lex it, and print out the - token stream: [IDENTIFIER square] [ASSIGN :] [PARAM_START (] ... + token stream: [IDENTIFIER square] [ASSIGN =] [PARAM_START (] ... @@ -344,7 +344,8 @@ coffee --print app/scripts/*.coffee > concatenation.js

    You can use newlines to break up your expression into smaller pieces, as long as CoffeeScript can determine that the line hasn't finished yet, - because it ends with an operator or a dot. + because it ends with an operator or a dot ... seen most commonly + in jQuery-chaining style JavaScript.

    @@ -360,7 +361,7 @@ coffee --print app/scripts/*.coffee > concatenation.js

    Objects and Arrays Object and Array literals look very similar to their JavaScript cousins. When you spread out each property on a separate line, the commas are - optional. Implicit objects may be created with indentation instead of + optional. Implicit objects may be created with indentation instead of brackets, winding up looking quite similar to YAML.

    <%= code_for('objects_and_arrays', 'song.join(",")') %> @@ -406,7 +407,7 @@ coffee --print app/scripts/*.coffee > concatenation.js
    attach them as properties on window, or on the exports object in CommonJS. The existential operator (covered below), gives you a reliable way to figure out where to add them, if you're targeting both - CommonJS and the browser: root: exports ? this + CommonJS and the browser: root = exports ? this

    @@ -514,6 +515,13 @@ coffee --print app/scripts/*.coffee > concatenation.js

    an object instead of the values in an array.

    <%= code_for('object_comprehensions', 'ages.join(", ")') %> +

    + By default, object comprehensions are safe, and use a hasOwnProperty + check to make sure that you're dealing with properties on the current + object. If you'd like the regular JavaScript
    for (key in obj) ... + loop, for speed or for another reason, you can use
    + for all key, value of object in CoffeeScript. +

    @@ -634,7 +642,7 @@ coffee --print app/scripts/*.coffee > concatenation.js

    <%= code_for('prototypes', '"one_two".dasherize()') %>

    Finally, you may assign Class-level (static) properties within a class - definition by using
    @property: value + definition by using
    @property = value

    @@ -738,12 +746,12 @@ coffee --print app/scripts/*.coffee > concatenation.js

    String and RegExp Interpolation A version of ECMAScript Harmony's proposed string interpolation - is included in CoffeeScript. Simple variables can be included by marking - them with a dollar sign. + is included in CoffeeScript. Simple variables can be included by prefixing + them with a hash mark.

    <%= code_for('interpolation', 'quote') %>

    - And arbitrary expressions can be interpolated by using brackets ${ ... }
    + And arbitrary expressions can be interpolated by using brackets #{ ... }
    Interpolation works the same way within regular expressions.

    <%= code_for('interpolation_expression', 'sentence') %> @@ -940,6 +948,8 @@ coffee --print app/scripts/*.coffee > concatenation.js
    literals use :, as in JavaScript. This allows us to have implicit object literals, and YAML-style object definitions. Half assignments are removed, in favor of +=, or=, and friends. + Interpolation now uses a hash mark # instead of the dollar sign + $ — because dollar signs may be part of a valid JS identifier. Downwards range comprehensions are now safe again, and are optimized to straight for loops when created with integer endpoints. A fast, unguarded form of object comprehension was added: diff --git a/documentation/js/aliases.js b/documentation/js/aliases.js index 6f8a0800..a10df961 100644 --- a/documentation/js/aliases.js +++ b/documentation/js/aliases.js @@ -12,4 +12,4 @@ car.speed < limit ? accelerate() : null; if (47 === pick || 92 === pick || 13 === pick) { winner = true; } -print("My name is " + this.name); \ No newline at end of file +print(inspect("My name is " + this.name)); \ No newline at end of file diff --git a/documentation/js/interpolation_expression.js b/documentation/js/interpolation_expression.js index 9651e488..a6f4b0da 100644 --- a/documentation/js/interpolation_expression.js +++ b/documentation/js/interpolation_expression.js @@ -1,4 +1,4 @@ var dates, sentence, sep; sentence = ("" + (22 / 7) + " is a decent approximation of π"); sep = "[.\\/\\- ]"; -dates = /\d+$sep\d+$sep\d+/g; \ No newline at end of file +dates = (new RegExp(("\\d+" + sep + "\\d+" + sep + "\\d+"), "g")); \ No newline at end of file diff --git a/documentation/js/objects_and_arrays.js b/documentation/js/objects_and_arrays.js index 1254cc7e..57b544df 100644 --- a/documentation/js/objects_and_arrays.js +++ b/documentation/js/objects_and_arrays.js @@ -1,17 +1,17 @@ var kids, matrix, singers, song; song = ["do", "re", "mi", "fa", "so"]; singers = { - Jagger: 'Rock', - Elvis: 'Roll' + Jagger: "Rock", + Elvis: "Roll" }; matrix = [1, 0, 1, 0, 0, 1, 1, 1, 0]; kids = { brother: { - name: 'Max', + name: "Max", age: 11 }, sister: { - name: 'Ida', + name: "Ida", age: 9 } }; \ No newline at end of file diff --git a/extras/coffee-script.js b/extras/coffee-script.js index 4c557e87..679282c8 100644 --- a/extras/coffee-script.js +++ b/extras/coffee-script.js @@ -5,4 +5,4 @@ * Copyright 2010, Jeremy Ashkenas * Released under the MIT License */ -(function(){var compact,count,del,ends,extend,flatten,helpers,include,indexOf,merge,starts;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}helpers=(exports.helpers={});helpers.indexOf=(indexOf=function(array,item,from){var _a,_b,index,other;if(array.indexOf){return array.indexOf(item,from)}_a=array;for(index=0,_b=_a.length;index<_b;index++){other=_a[index];if(other===item&&(!from||(from<=index))){return index}}return -1});helpers.include=(include=function(list,value){return indexOf(list,value)>=0});helpers.starts=(starts=function(string,literal,start){return string.substring(start,(start||0)+literal.length)===literal});helpers.ends=(ends=function(string,literal,back){var start;start=string.length-literal.length-((typeof back!=="undefined"&&back!==null)?back:0);return string.substring(start,start+literal.length)===literal});helpers.compact=(compact=function(array){var _a,_b,_c,_d,item;_a=[];_c=array;for(_b=0,_d=_c.length;_b<_d;_b++){item=_c[_b];item?_a.push(item):null}return _a});helpers.count=(count=function(string,letter){var num,pos;num=0;pos=indexOf(string,letter);while(pos!==-1){num+=1;pos=indexOf(string,letter,pos+1)}return num});helpers.merge=(merge=function(options,overrides){var _a,_b,fresh,key,val;fresh={};_a=options;for(key in _a){val=_a[key];(fresh[key]=val)}if(overrides){_b=overrides;for(key in _b){val=_b[key];(fresh[key]=val)}}return fresh});helpers.extend=(extend=function(object,properties){var _a,_b,key,val;_a=[];_b=properties;for(key in _b){val=_b[key];_a.push(object[key]=val)}return _a});helpers.flatten=(flatten=function(array){var _a,_b,_c,item,memo;memo=[];_b=array;for(_a=0,_c=_b.length;_a<_c;_a++){item=_b[_a];item instanceof Array?(memo=memo.concat(item)):memo.push(item)}return memo});helpers.del=(del=function(obj,key){var val;val=obj[key];delete obj[key];return val})})();(function(){var BALANCED_PAIRS,EXPRESSION_CLOSE,EXPRESSION_END,EXPRESSION_START,IMPLICIT_BLOCK,IMPLICIT_CALL,IMPLICIT_END,IMPLICIT_FUNC,INVERSES,Rewriter,SINGLE_CLOSERS,SINGLE_LINERS,_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,helpers,include,pair;var __bind=function(func,context){return function(){return func.apply(context,arguments)}},__hasProp=Object.prototype.hasOwnProperty;if(typeof process!=="undefined"&&process!==null){_a=require("./helpers");helpers=_a.helpers}else{this.exports=this;helpers=this.helpers}_b=helpers;include=_b.include;exports.Rewriter=(function(){Rewriter=function(){};Rewriter.prototype.rewrite=function(tokens){this.tokens=tokens;this.adjustComments();this.removeLeadingNewlines();this.removeMidExpressionNewlines();this.closeOpenCallsAndIndexes();this.addImplicitIndentation();this.addImplicitBraces();this.addImplicitParentheses();this.ensureBalance(BALANCED_PAIRS);this.rewriteClosingParens();return this.tokens};Rewriter.prototype.scanTokens=function(block){var i,move;i=0;while(true){if(!(this.tokens[i])){break}move=block(this.tokens[i-1],this.tokens[i],this.tokens[i+1],i);i+=move}return true};Rewriter.prototype.adjustComments=function(){return this.scanTokens(__bind(function(prev,token,post,i){var _c,_d,after,before;if(!(token[0]==="HERECOMMENT")){return 1}_c=[this.tokens[i-2],this.tokens[i+2]];before=_c[0];after=_c[1];if(after&&after[0]==="INDENT"){this.tokens.splice(i+2,1);before&&before[0]==="OUTDENT"&&post&&(prev[0]===post[0])&&(post[0]==="TERMINATOR")?this.tokens.splice(i-2,1):this.tokens.splice(i,0,after)}else{if(prev&&!("TERMINATOR"===(_d=prev[0])||"INDENT"===_d||"OUTDENT"===_d)){if(post&&post[0]==="TERMINATOR"&&after&&after[0]==="OUTDENT"){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.tokens.splice(i,2)));this.tokens[i+2][0]!=="TERMINATOR"?this.tokens.splice(i+2,0,["TERMINATOR","\n",prev[2]]):null}else{this.tokens.splice(i,0,["TERMINATOR","\n",prev[2]])}return 2}}return 1},this))};Rewriter.prototype.removeLeadingNewlines=function(){var _c;_c=[];while(this.tokens[0]&&this.tokens[0][0]==="TERMINATOR"){_c.push(this.tokens.shift())}return _c};Rewriter.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(__bind(function(prev,token,post,i){if(!(post&&include(EXPRESSION_CLOSE,post[0])&&token[0]==="TERMINATOR")){return 1}this.tokens.splice(i,1);return 0},this))};Rewriter.prototype.closeOpenCallsAndIndexes=function(){var brackets,parens;parens=[0];brackets=[0];return this.scanTokens(__bind(function(prev,token,post,i){var _c;if((_c=token[0])==="CALL_START"){parens.push(0)}else{if(_c==="INDEX_START"){brackets.push(0)}else{if(_c==="("){parens[parens.length-1]+=1}else{if(_c==="["){brackets[brackets.length-1]+=1}else{if(_c===")"){if(parens[parens.length-1]===0){parens.pop();token[0]="CALL_END"}else{parens[parens.length-1]-=1}}else{if(_c==="]"){if(brackets[brackets.length-1]===0){brackets.pop();token[0]="INDEX_END"}else{brackets[brackets.length-1]-=1}}}}}}}return 1},this))};Rewriter.prototype.addImplicitBraces=function(){var closeBrackets,running,stack;stack=[0];running=false;closeBrackets=__bind(function(i){var _c,len,size,tmp;len=stack.length-1;_c=stack[len];for(tmp=0;(0<=_c?tmp<_c:tmp>_c);(0<=_c?tmp+=1:tmp-=1)){this.tokens.splice(i,0,["}","}",this.tokens[i][2]])}size=stack[len]+1;stack[len]=0;return size},this);return this.scanTokens(__bind(function(prev,token,post,i){var _c,after,before,idx,len,open,size,tag;tag=token[0];len=stack.length-1;before=this.tokens[i-2];after=this.tokens[i+2];open=stack[len]>0;if((tag==="TERMINATOR"&&!((after&&after[0]===":")||(post&&post[0]==="@"&&this.tokens[i+3]&&this.tokens[i+3][0]===":")))||(running&&tag===","&&post&&(!("IDENTIFIER"===(_c=post[0])||"STRING"===_c||"@"===_c)))){running=false;return closeBrackets(i)}else{if(include(EXPRESSION_START,tag)){stack.push(tag==="{"?1:0);if(tag==="{"&&post&&post[0]==="INDENT"){return 2}}else{if(include(EXPRESSION_END,tag)){if(tag==="OUTDENT"&&post&&post[0]==="}"){return 1}if(tag==="OUTDENT"){size=closeBrackets(i)}stack[len-1]+=stack.pop();if(tag==="}"){stack[len-1]-=1}if(tag==="OUTDENT"){return size}}else{if(tag===":"&&!open){idx=before&&before[0]==="@"?i-2:i-1;this.tokens.splice(idx,0,["{","{",token[2]]);stack[stack.length-1]+=1;running=true;return 2}}}}return 1},this))};Rewriter.prototype.addImplicitParentheses=function(){var closeCalls,stack;stack=[0];closeCalls=__bind(function(i){var _c,size,tmp;_c=stack[stack.length-1];for(tmp=0;(0<=_c?tmp<_c:tmp>_c);(0<=_c?tmp+=1:tmp-=1)){this.tokens.splice(i,0,["CALL_END",")",this.tokens[i][2]])}size=stack[stack.length-1]+1;stack[stack.length-1]=0;return size},this);return this.scanTokens(__bind(function(prev,token,post,i){var _c,_d,before,j,nx,open,size,tag;tag=token[0];before=this.tokens[i-2]&&this.tokens[i-2][0];if(tag==="OUTDENT"){stack[stack.length-2]+=stack.pop()}open=stack[stack.length-1]>0;if(prev&&prev.spaced&&include(IMPLICIT_FUNC,prev[0])&&include(IMPLICIT_CALL,tag)&&!(tag==="!"&&(("IN"===(_c=post[0])||"OF"===_c)))){this.tokens.splice(i,0,["CALL_START","(",token[2]]);stack[stack.length-1]+=1;if(include(EXPRESSION_START,tag)){stack.push(0)}return 2}if(include(EXPRESSION_START,tag)){if(tag==="INDENT"&&!token.generated&&open&&!((prev&&include(IMPLICIT_BLOCK,prev[0]))||before&&before==="CLASS")){size=closeCalls(i);stack.push(0);return size}stack.push(0);return 1}if(open&&!token.generated&&prev[0]!==","&&(!post||include(IMPLICIT_END,tag))){j=1;while((typeof(_d=(nx=this.tokens[i+j]))!=="undefined"&&_d!==null)&&include(IMPLICIT_END,nx[0])){j++}if((typeof nx!=="undefined"&&nx!==null)&&nx[0]===","&&this.tokens[i+j-1][0]==="OUTDENT"){if(tag==="TERMINATOR"){this.tokens.splice(i,1)}}else{size=closeCalls(i);if(tag!=="OUTDENT"&&include(EXPRESSION_END,tag)){stack.pop()}return size}}if(tag!=="OUTDENT"&&include(EXPRESSION_END,tag)){stack[stack.length-2]+=stack.pop();return 1}return 1},this))};Rewriter.prototype.addImplicitIndentation=function(){return this.scanTokens(__bind(function(prev,token,post,i){var _c,idx,indent,insertion,outdent,parens,pre,starter,tok;if(token[0]==="ELSE"&&prev[0]!=="OUTDENT"){this.tokens.splice.apply(this.tokens,[i,0].concat(this.indentation(token)));return 2}if(token[0]==="CATCH"&&(this.tokens[i+2][0]==="TERMINATOR"||this.tokens[i+2][0]==="FINALLY")){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.indentation(token)));return 4}if(!(include(SINGLE_LINERS,token[0])&&post[0]!=="INDENT"&&!(token[0]==="ELSE"&&post[0]==="IF"))){return 1}starter=token[0];_c=this.indentation(token);indent=_c[0];outdent=_c[1];indent.generated=(outdent.generated=true);this.tokens.splice(i+1,0,indent);idx=i+1;parens=0;while(true){idx+=1;tok=this.tokens[idx];pre=this.tokens[idx-1];if((!tok||(include(SINGLE_CLOSERS,tok[0])&&tok[1]!==";"&&parens===0)||(tok[0]===")"&&parens===0))&&!(tok[0]==="ELSE"&&!("IF"===starter||"THEN"===starter))){insertion=pre[0]===","?idx-1:idx;this.tokens.splice(insertion,0,outdent);break}if(tok[0]==="("){parens+=1}if(tok[0]===")"){parens-=1}}if(!(token[0]==="THEN")){return 1}this.tokens.splice(i,1);return 0},this))};Rewriter.prototype.ensureBalance=function(pairs){var _c,_d,key,levels,line,open,openLine,unclosed,value;levels={};openLine={};this.scanTokens(__bind(function(prev,token,post,i){var _c,_d,_e,_f,close,open,pair;_d=pairs;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];_f=pair;open=_f[0];close=_f[1];levels[open]=levels[open]||0;if(token[0]===open){if(levels[open]===0){openLine[open]=token[2]}levels[open]+=1}if(token[0]===close){levels[open]-=1}if(levels[open]<0){throw new Error(("too many "+(token[1])+" on line "+(token[2]+1)))}}return 1},this));unclosed=(function(){_c=[];_d=levels;for(key in _d){if(!__hasProp.call(_d,key)){continue}value=_d[key];value>0?_c.push(key):null}return _c})();if(unclosed.length){open=unclosed[0];line=openLine[open]+1;throw new Error("unclosed "+open+" on line "+line)}};Rewriter.prototype.rewriteClosingParens=function(){var _c,debt,key,stack,val;stack=[];debt={};_c=INVERSES;for(key in _c){if(!__hasProp.call(_c,key)){continue}val=_c[key];(debt[key]=0)}return this.scanTokens(__bind(function(prev,token,post,i){var inv,match,mtag,oppos,tag;tag=token[0];inv=INVERSES[token[0]];if(include(EXPRESSION_START,tag)){stack.push(token);return 1}else{if(include(EXPRESSION_END,tag)){if(debt[inv]>0){debt[inv]-=1;this.tokens.splice(i,1);return 0}else{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.tokens[i+2]==undefined?undefined:this.tokens[i+2][0])===mtag){this.tokens.splice(i+3,0,val);stack.push(match)}else{this.tokens.splice(i,0,val)}return 1}}else{return 1}}},this))};Rewriter.prototype.indentation=function(token){return[["INDENT",2,token[2]],["OUTDENT",2,token[2]]]};return Rewriter})();BALANCED_PAIRS=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["PARAM_START","PARAM_END"],["CALL_START","CALL_END"],["INDEX_START","INDEX_END"]];INVERSES={};_d=BALANCED_PAIRS;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];INVERSES[pair[0]]=pair[1];INVERSES[pair[1]]=pair[0]}EXPRESSION_START=(function(){_f=[];_h=BALANCED_PAIRS;for(_g=0,_i=_h.length;_g<_i;_g++){pair=_h[_g];_f.push(pair[0])}return _f})();EXPRESSION_END=(function(){_j=[];_l=BALANCED_PAIRS;for(_k=0,_m=_l.length;_k<_m;_k++){pair=_l[_k];_j.push(pair[1])}return _j})();EXPRESSION_CLOSE=["CATCH","WHEN","ELSE","FINALLY"].concat(EXPRESSION_END);IMPLICIT_FUNC=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@"];IMPLICIT_CALL=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","TRY","DELETE","TYPEOF","SWITCH","THIS","NULL","TRUE","FALSE","YES","NO","ON","OFF","!","!!","@","->","=>","[","(","{"];IMPLICIT_BLOCK=["->","=>","{","[",","];IMPLICIT_END=["IF","UNLESS","FOR","WHILE","UNTIL","LOOP","TERMINATOR","INDENT"].concat(EXPRESSION_END);SINGLE_LINERS=["ELSE","->","=>","TRY","FINALLY","THEN"];SINGLE_CLOSERS=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]})();(function(){var ASSIGNED,CALLABLE,CODE,COFFEE_ALIASES,COFFEE_KEYWORDS,COMMENT,CONVERSIONS,HEREDOC,HEREDOC_INDENT,IDENTIFIER,INTERPOLATION,JS_CLEANER,JS_FORBIDDEN,JS_KEYWORDS,LAST_DENT,LAST_DENTS,LINE_BREAK,Lexer,MULTILINER,MULTI_DENT,NEXT_CHARACTER,NOT_REGEX,NO_NEWLINE,NUMBER,OPERATOR,REGEX_END,REGEX_ESCAPE,REGEX_INTERPOLATION,REGEX_START,RESERVED,Rewriter,STRING_NEWLINES,WHITESPACE,_a,_b,_c,compact,count,helpers,include,starts;var __slice=Array.prototype.slice;if(typeof process!=="undefined"&&process!==null){_a=require("./rewriter");Rewriter=_a.Rewriter;_b=require("./helpers");helpers=_b.helpers}else{this.exports=this;Rewriter=this.Rewriter;helpers=this.helpers}_c=helpers;include=_c.include;count=_c.count;starts=_c.starts;compact=_c.compact;exports.Lexer=(function(){Lexer=function(){};Lexer.prototype.tokenize=function(code,options){var o;code=code.replace(/(\r|\s+$)/g,"");o=options||{};this.code=code;this.i=0;this.line=o.line||0;this.indent=0;this.outdebt=0;this.indents=[];this.tokens=[];while(this.ithis.indent){if(noNewlines){return this.suppressNewlines()}this.outdebt=0;diff=size-this.indent;this.token("INDENT",diff);this.indents.push(diff)}else{this.outdentToken(this.indent-size,noNewlines)}}this.indent=size;return true};Lexer.prototype.outdentToken=function(moveOut,noNewlines,close){var dent,len;while(moveOut>0){len=this.indents.length-1;if(this.indents[len]===undefined){moveOut=0}else{if(this.indents[len]===this.outdebt){moveOut-=this.outdebt;this.outdebt=0}else{if(this.indents[len]1;if(interpolated){this.token("(","(")}_h=tokens;for(i=0,_i=_h.length;i<_i;i++){token=_h[i];_j=token;tag=_j[0];value=_j[1];if(tag==="TOKENS"){this.tokens=this.tokens.concat(value)}else{if(tag==="STRING"&&options.escapeQuotes){escaped=value.substring(1,value.length-1).replace(/"/g,'\\"');this.token(tag,('"'+escaped+'"'))}else{this.token(tag,value)}}if(i]?|\+[+=]?|[*&|\/%=<>:!?]+)([ \t]*)/;WHITESPACE=/^([ \t]+)/;COMMENT=/^(\s*\#{3}(?!#)[ \t]*\n+([\s\S]*?)[ \t]*\n+[ \t]*\#{3}|(\s*#(?!##[^#])[^\n]*)+)/;CODE=/^((-|=)>)/;MULTI_DENT=/^((\n([ \t]*))+)(\.)?/;LAST_DENTS=/\n([ \t]*)/g;LAST_DENT=/\n([ \t]*)/;REGEX_START=/^\/[^\/ ]/;REGEX_INTERPOLATION=/([^\\]#[a-zA-Z_@]|[^\\]#\{.*[^\\]\})/;REGEX_END=/^(([imgy]{1,4})\b|\W|$)/;REGEX_ESCAPE=/\\[^\$]/g;JS_CLEANER=/(^`|`$)/g;MULTILINER=/\n/g;STRING_NEWLINES=/\n[ \t]*/g;NO_NEWLINE=/^([+\*&|\/\-%=<>!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/;HEREDOC_INDENT=/(\n+([ \t]*)|^([ \t]+))/g;ASSIGNED=/^\s*([a-zA-Z\$_@]\w*[ \t]*?[:=][^=])/;NEXT_CHARACTER=/^\s*(\S)/;NOT_REGEX=["NUMBER","REGEX","++","--","FALSE","NULL","TRUE","]"];CALLABLE=["IDENTIFIER","SUPER",")","]","}","STRING","@","THIS","?","::"];LINE_BREAK=["INDENT","OUTDENT","TERMINATOR"];CONVERSIONS={and:"&&",or:"||",is:"==",isnt:"!=",not:"!","===":"=="}})();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,Value:14,Call:15,Code:16,Operation:17,Assign:18,If:19,Try:20,While:21,For:22,Switch:23,Extends:24,Class:25,Splat:26,Existence:27,Comment:28,INDENT:29,OUTDENT:30,Identifier:31,IDENTIFIER:32,AlphaNumeric:33,NUMBER:34,STRING:35,Literal:36,JS:37,REGEX:38,TRUE:39,FALSE:40,YES:41,NO:42,ON:43,OFF:44,Assignable:45,"=":46,AssignObj:47,":":48,RETURN:49,HERECOMMENT:50,"?":51,PARAM_START:52,ParamList:53,PARAM_END:54,FuncGlyph:55,"->":56,"=>":57,OptComma:58,",":59,Param:60,PARAM:61,"@":62,".":63,SimpleAssignable:64,Accessor:65,Invocation:66,ThisProperty:67,Array:68,Object:69,Parenthetical:70,Range:71,This:72,NULL:73,PROPERTY_ACCESS:74,PROTOTYPE_ACCESS:75,"::":76,SOAK_ACCESS:77,Index:78,Slice:79,INDEX_START:80,INDEX_END:81,INDEX_SOAK:82,INDEX_PROTO:83,"{":84,AssignList:85,"}":86,CLASS:87,EXTENDS:88,ClassBody:89,ClassAssign:90,Super:91,NEW:92,Arguments:93,CALL_START:94,ArgList:95,CALL_END:96,SUPER:97,THIS:98,"[":99,"]":100,SimpleArgs:101,TRY:102,Catch:103,FINALLY:104,CATCH:105,THROW:106,"(":107,")":108,WhileSource:109,WHILE:110,WHEN:111,UNTIL:112,Loop:113,LOOP:114,ForBody:115,FOR:116,ForStart:117,ForSource:118,ForVariables:119,ALL:120,ForValue:121,IN:122,OF:123,BY:124,SWITCH:125,Whens:126,ELSE:127,When:128,LEADING_WHEN:129,IfBlock:130,IF:131,UNLESS:132,"!":133,"!!":134,"-":135,"+":136,"~":137,"--":138,"++":139,DELETE:140,TYPEOF:141,"*":142,"/":143,"%":144,"<<":145,">>":146,">>>":147,"&":148,"|":149,"^":150,"<=":151,"<":152,">":153,">=":154,"==":155,"!=":156,"&&":157,"||":158,"OP?":159,"-=":160,"+=":161,"/=":162,"*=":163,"%=":164,"||=":165,"&&=":166,"?=":167,INSTANCEOF:168,"$accept":0,"$end":1},terminals_:{"2":"error","4":"TERMINATOR","12":"BREAK","13":"CONTINUE","29":"INDENT","30":"OUTDENT","32":"IDENTIFIER","34":"NUMBER","35":"STRING","37":"JS","38":"REGEX","39":"TRUE","40":"FALSE","41":"YES","42":"NO","43":"ON","44":"OFF","46":"=","48":":","49":"RETURN","50":"HERECOMMENT","51":"?","52":"PARAM_START","54":"PARAM_END","56":"->","57":"=>","59":",","61":"PARAM","62":"@","63":".","73":"NULL","74":"PROPERTY_ACCESS","75":"PROTOTYPE_ACCESS","76":"::","77":"SOAK_ACCESS","80":"INDEX_START","81":"INDEX_END","82":"INDEX_SOAK","83":"INDEX_PROTO","84":"{","86":"}","87":"CLASS","88":"EXTENDS","92":"NEW","94":"CALL_START","96":"CALL_END","97":"SUPER","98":"THIS","99":"[","100":"]","102":"TRY","104":"FINALLY","105":"CATCH","106":"THROW","107":"(","108":")","110":"WHILE","111":"WHEN","112":"UNTIL","114":"LOOP","116":"FOR","120":"ALL","122":"IN","123":"OF","124":"BY","125":"SWITCH","127":"ELSE","129":"LEADING_WHEN","131":"IF","132":"UNLESS","133":"!","134":"!!","135":"-","136":"+","137":"~","138":"--","139":"++","140":"DELETE","141":"TYPEOF","142":"*","143":"/","144":"%","145":"<<","146":">>","147":">>>","148":"&","149":"|","150":"^","151":"<=","152":"<","153":">","154":">=","155":"==","156":"!=","157":"&&","158":"||","159":"OP?","160":"-=","161":"+=","162":"/=","163":"*=","164":"%=","165":"||=","166":"&&=","167":"?=","168":"INSTANCEOF"},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],[8,1],[8,1],[8,1],[8,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],[31,1],[33,1],[33,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[18,3],[18,5],[47,1],[47,1],[47,3],[47,3],[47,5],[47,5],[47,1],[10,2],[10,1],[28,1],[27,2],[16,5],[16,2],[55,1],[55,1],[58,0],[58,1],[53,0],[53,1],[53,3],[60,1],[60,2],[60,4],[60,5],[26,4],[64,1],[64,2],[64,2],[64,1],[45,1],[45,1],[45,1],[14,1],[14,1],[14,1],[14,1],[14,1],[14,1],[65,2],[65,2],[65,1],[65,2],[65,1],[65,1],[78,3],[78,2],[78,2],[69,4],[85,0],[85,1],[85,3],[85,4],[85,6],[25,2],[25,4],[25,5],[25,7],[25,4],[90,1],[90,3],[89,0],[89,1],[89,3],[89,3],[15,1],[15,1],[15,2],[15,2],[24,3],[66,2],[66,2],[93,4],[91,1],[91,2],[72,1],[72,1],[67,2],[71,6],[71,7],[79,6],[79,7],[68,4],[95,0],[95,1],[95,3],[95,4],[95,6],[101,1],[101,3],[20,3],[20,4],[20,5],[103,3],[11,2],[70,3],[109,2],[109,4],[109,2],[109,4],[21,2],[21,2],[21,2],[21,1],[113,2],[113,2],[22,2],[22,2],[22,2],[115,2],[115,2],[117,2],[117,3],[121,1],[121,1],[121,1],[119,1],[119,3],[118,2],[118,2],[118,4],[118,4],[118,4],[118,6],[118,6],[23,5],[23,7],[23,4],[23,6],[126,1],[126,2],[128,3],[128,4],[130,3],[130,3],[130,5],[130,3],[19,1],[19,3],[19,3],[19,3],[19,3],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,4],[17,4]],performAction:function anonymous(yytext,yyleng,yylineno,yy){var $$=arguments[5],$0=arguments[5].length;switch(arguments[4]){case 1:return this.$=new Expressions();break;case 2:return this.$=new Expressions();break;case 3:return this.$=$$[$0-1+1-1];break;case 4:return this.$=$$[$0-2+1-1];break;case 5:this.$=Expressions.wrap([$$[$0-1+1-1]]);break;case 6:this.$=$$[$0-3+1-1].push($$[$0-3+3-1]);break;case 7:this.$=$$[$0-2+1-1];break;case 8:this.$=$$[$0-1+1-1];break;case 9:this.$=$$[$0-1+1-1];break;case 10:this.$=$$[$0-1+1-1];break;case 11:this.$=$$[$0-1+1-1];break;case 12:this.$=new LiteralNode($$[$0-1+1-1]);break;case 13:this.$=new LiteralNode($$[$0-1+1-1]);break;case 14:this.$=$$[$0-1+1-1];break;case 15:this.$=$$[$0-1+1-1];break;case 16:this.$=$$[$0-1+1-1];break;case 17:this.$=$$[$0-1+1-1];break;case 18:this.$=$$[$0-1+1-1];break;case 19:this.$=$$[$0-1+1-1];break;case 20:this.$=$$[$0-1+1-1];break;case 21:this.$=$$[$0-1+1-1];break;case 22:this.$=$$[$0-1+1-1];break;case 23:this.$=$$[$0-1+1-1];break;case 24:this.$=$$[$0-1+1-1];break;case 25:this.$=$$[$0-1+1-1];break;case 26:this.$=$$[$0-1+1-1];break;case 27:this.$=$$[$0-1+1-1];break;case 28:this.$=$$[$0-1+1-1];break;case 29:this.$=$$[$0-3+2-1];break;case 30:this.$=new Expressions();break;case 31:this.$=Expressions.wrap([$$[$0-2+2-1]]);break;case 32:this.$=new LiteralNode($$[$0-1+1-1]);break;case 33:this.$=new LiteralNode($$[$0-1+1-1]);break;case 34:this.$=new LiteralNode($$[$0-1+1-1]);break;case 35:this.$=$$[$0-1+1-1];break;case 36:this.$=new LiteralNode($$[$0-1+1-1]);break;case 37:this.$=new LiteralNode($$[$0-1+1-1]);break;case 38:this.$=new LiteralNode(true);break;case 39:this.$=new LiteralNode(false);break;case 40:this.$=new LiteralNode(true);break;case 41:this.$=new LiteralNode(false);break;case 42:this.$=new LiteralNode(true);break;case 43:this.$=new LiteralNode(false);break;case 44:this.$=new AssignNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 45:this.$=new AssignNode($$[$0-5+1-1],$$[$0-5+4-1]);break;case 46:this.$=new ValueNode($$[$0-1+1-1]);break;case 47:this.$=$$[$0-1+1-1];break;case 48:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 49:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 50:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 51:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 52:this.$=$$[$0-1+1-1];break;case 53:this.$=new ReturnNode($$[$0-2+2-1]);break;case 54:this.$=new ReturnNode(new ValueNode(new LiteralNode("null")));break;case 55:this.$=new CommentNode($$[$0-1+1-1]);break;case 56:this.$=new ExistenceNode($$[$0-2+1-1]);break;case 57:this.$=new CodeNode($$[$0-5+2-1],$$[$0-5+5-1],$$[$0-5+4-1]);break;case 58:this.$=new CodeNode([],$$[$0-2+2-1],$$[$0-2+1-1]);break;case 59:this.$="func";break;case 60:this.$="boundfunc";break;case 61:this.$=$$[$0-1+1-1];break;case 62:this.$=$$[$0-1+1-1];break;case 63:this.$=[];break;case 64:this.$=[$$[$0-1+1-1]];break;case 65:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 66:this.$=new LiteralNode($$[$0-1+1-1]);break;case 67:this.$=new ParamNode($$[$0-2+2-1],true);break;case 68:this.$=new ParamNode($$[$0-4+1-1],false,true);break;case 69:this.$=new ParamNode($$[$0-5+2-1],true,true);break;case 70:this.$=new SplatNode($$[$0-4+1-1]);break;case 71:this.$=new ValueNode($$[$0-1+1-1]);break;case 72:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 73:this.$=new ValueNode($$[$0-2+1-1],[$$[$0-2+2-1]]);break;case 74:this.$=$$[$0-1+1-1];break;case 75:this.$=$$[$0-1+1-1];break;case 76:this.$=new ValueNode($$[$0-1+1-1]);break;case 77:this.$=new ValueNode($$[$0-1+1-1]);break;case 78:this.$=$$[$0-1+1-1];break;case 79:this.$=new ValueNode($$[$0-1+1-1]);break;case 80:this.$=new ValueNode($$[$0-1+1-1]);break;case 81:this.$=new ValueNode($$[$0-1+1-1]);break;case 82:this.$=$$[$0-1+1-1];break;case 83:this.$=new ValueNode(new LiteralNode("null"));break;case 84:this.$=new AccessorNode($$[$0-2+2-1]);break;case 85:this.$=new AccessorNode($$[$0-2+2-1],"prototype");break;case 86:this.$=new AccessorNode(new LiteralNode("prototype"));break;case 87:this.$=new AccessorNode($$[$0-2+2-1],"soak");break;case 88:this.$=$$[$0-1+1-1];break;case 89:this.$=new SliceNode($$[$0-1+1-1]);break;case 90:this.$=new IndexNode($$[$0-3+2-1]);break;case 91:this.$=(function(){$$[$0-2+2-1].soakNode=true;return $$[$0-2+2-1]}());break;case 92:this.$=(function(){$$[$0-2+2-1].proto=true;return $$[$0-2+2-1]}());break;case 93:this.$=new ObjectNode($$[$0-4+2-1]);break;case 94:this.$=[];break;case 95:this.$=[$$[$0-1+1-1]];break;case 96:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 97:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 98:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 99:this.$=new ClassNode($$[$0-2+2-1]);break;case 100:this.$=new ClassNode($$[$0-4+2-1],$$[$0-4+4-1]);break;case 101:this.$=new ClassNode($$[$0-5+2-1],null,$$[$0-5+4-1]);break;case 102:this.$=new ClassNode($$[$0-7+2-1],$$[$0-7+4-1],$$[$0-7+6-1]);break;case 103:this.$=new ClassNode("__temp__",null,$$[$0-4+3-1]);break;case 104:this.$=$$[$0-1+1-1];break;case 105:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"this");break;case 106:this.$=[];break;case 107:this.$=[$$[$0-1+1-1]];break;case 108:this.$=$$[$0-3+1-1].concat($$[$0-3+3-1]);break;case 109:this.$=$$[$0-3+2-1];break;case 110:this.$=$$[$0-1+1-1];break;case 111:this.$=$$[$0-1+1-1];break;case 112:this.$=$$[$0-2+2-1].newInstance();break;case 113:this.$=(new CallNode($$[$0-2+2-1],[])).newInstance();break;case 114:this.$=new ExtendsNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 115:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 116:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 117:this.$=$$[$0-4+2-1];break;case 118:this.$=new CallNode("super",[new SplatNode(new LiteralNode("arguments"))]);break;case 119:this.$=new CallNode("super",$$[$0-2+2-1]);break;case 120:this.$=new ValueNode(new LiteralNode("this"));break;case 121:this.$=new ValueNode(new LiteralNode("this"));break;case 122:this.$=new ValueNode(new LiteralNode("this"),[new AccessorNode($$[$0-2+2-1])]);break;case 123:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 124:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 125:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 126:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 127:this.$=new ArrayNode($$[$0-4+2-1]);break;case 128:this.$=[];break;case 129:this.$=[$$[$0-1+1-1]];break;case 130:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 131:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 132:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 133:this.$=$$[$0-1+1-1];break;case 134:this.$=$$[$0-3+1-1] instanceof Array?$$[$0-3+1-1].concat([$$[$0-3+3-1]]):[$$[$0-3+1-1]].concat([$$[$0-3+3-1]]);break;case 135:this.$=new TryNode($$[$0-3+2-1],$$[$0-3+3-1][0],$$[$0-3+3-1][1]);break;case 136:this.$=new TryNode($$[$0-4+2-1],null,null,$$[$0-4+4-1]);break;case 137:this.$=new TryNode($$[$0-5+2-1],$$[$0-5+3-1][0],$$[$0-5+3-1][1],$$[$0-5+5-1]);break;case 138:this.$=[$$[$0-3+2-1],$$[$0-3+3-1]];break;case 139:this.$=new ThrowNode($$[$0-2+2-1]);break;case 140:this.$=new ParentheticalNode($$[$0-3+2-1]);break;case 141:this.$=new WhileNode($$[$0-2+2-1]);break;case 142:this.$=new WhileNode($$[$0-4+2-1],{guard:$$[$0-4+4-1]});break;case 143:this.$=new WhileNode($$[$0-2+2-1],{invert:true});break;case 144:this.$=new WhileNode($$[$0-4+2-1],{invert:true,guard:$$[$0-4+4-1]});break;case 145:this.$=$$[$0-2+1-1].addBody($$[$0-2+2-1]);break;case 146:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 147:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 148:this.$=$$[$0-1+1-1];break;case 149:this.$=new WhileNode(new LiteralNode("true")).addBody($$[$0-2+2-1]);break;case 150:this.$=new WhileNode(new LiteralNode("true")).addBody(Expressions.wrap([$$[$0-2+2-1]]));break;case 151:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 152:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 153:this.$=new ForNode($$[$0-2+2-1],$$[$0-2+1-1],$$[$0-2+1-1].vars[0],$$[$0-2+1-1].vars[1]);break;case 154:this.$={source:new ValueNode($$[$0-2+2-1]),vars:[]};break;case 155:this.$=(function(){$$[$0-2+2-1].raw=$$[$0-2+1-1].raw;$$[$0-2+2-1].vars=$$[$0-2+1-1];return $$[$0-2+2-1]}());break;case 156:this.$=$$[$0-2+2-1];break;case 157:this.$=(function(){$$[$0-3+3-1].raw=true;return $$[$0-3+3-1]}());break;case 158:this.$=$$[$0-1+1-1];break;case 159:this.$=new ValueNode($$[$0-1+1-1]);break;case 160:this.$=new ValueNode($$[$0-1+1-1]);break;case 161:this.$=[$$[$0-1+1-1]];break;case 162:this.$=[$$[$0-3+1-1],$$[$0-3+3-1]];break;case 163:this.$={source:$$[$0-2+2-1]};break;case 164:this.$={source:$$[$0-2+2-1],object:true};break;case 165:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1]};break;case 166:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1],object:true};break;case 167:this.$={source:$$[$0-4+2-1],step:$$[$0-4+4-1]};break;case 168:this.$={source:$$[$0-6+2-1],guard:$$[$0-6+4-1],step:$$[$0-6+6-1]};break;case 169:this.$={source:$$[$0-6+2-1],step:$$[$0-6+4-1],guard:$$[$0-6+6-1]};break;case 170:this.$=$$[$0-5+4-1].switchesOver($$[$0-5+2-1]);break;case 171:this.$=$$[$0-7+4-1].switchesOver($$[$0-7+2-1]).addElse($$[$0-7+6-1],true);break;case 172:this.$=$$[$0-4+3-1];break;case 173:this.$=$$[$0-6+3-1].addElse($$[$0-6+5-1],true);break;case 174:this.$=$$[$0-1+1-1];break;case 175:this.$=$$[$0-2+1-1].addElse($$[$0-2+2-1]);break;case 176:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],{statement:true});break;case 177:this.$=new IfNode($$[$0-4+2-1],$$[$0-4+3-1],{statement:true});break;case 178:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1]);break;case 179:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],{invert:true});break;case 180:this.$=$$[$0-5+1-1].addElse((new IfNode($$[$0-5+4-1],$$[$0-5+5-1])).forceStatement());break;case 181:this.$=$$[$0-3+1-1].addElse($$[$0-3+3-1]);break;case 182:this.$=$$[$0-1+1-1];break;case 183:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 184:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 185:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 186:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 187:this.$=new OpNode("!",$$[$0-2+2-1]);break;case 188:this.$=new OpNode("!!",$$[$0-2+2-1]);break;case 189:this.$=new OpNode("-",$$[$0-2+2-1]);break;case 190:this.$=new OpNode("+",$$[$0-2+2-1]);break;case 191:this.$=new OpNode("~",$$[$0-2+2-1]);break;case 192:this.$=new OpNode("--",$$[$0-2+2-1]);break;case 193:this.$=new OpNode("++",$$[$0-2+2-1]);break;case 194:this.$=new OpNode("delete",$$[$0-2+2-1]);break;case 195:this.$=new OpNode("typeof",$$[$0-2+2-1]);break;case 196:this.$=new OpNode("--",$$[$0-2+1-1],null,true);break;case 197:this.$=new OpNode("++",$$[$0-2+1-1],null,true);break;case 198:this.$=new OpNode("*",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 199:this.$=new OpNode("/",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 200:this.$=new OpNode("%",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 201:this.$=new OpNode("+",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 202:this.$=new OpNode("-",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 203:this.$=new OpNode("<<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 204:this.$=new OpNode(">>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 205:this.$=new OpNode(">>>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 206:this.$=new OpNode("&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 207:this.$=new OpNode("|",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 208:this.$=new OpNode("^",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 209:this.$=new OpNode("<=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 210:this.$=new OpNode("<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 211:this.$=new OpNode(">",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 212:this.$=new OpNode(">=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 213:this.$=new OpNode("==",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 214:this.$=new OpNode("!=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 215:this.$=new OpNode("&&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 216:this.$=new OpNode("||",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 217:this.$=new OpNode("?",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 218:this.$=new OpNode("-=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 219:this.$=new OpNode("+=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 220:this.$=new OpNode("/=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 221:this.$=new OpNode("*=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 222:this.$=new OpNode("%=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 223:this.$=new OpNode("||=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 224:this.$=new OpNode("&&=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 225:this.$=new OpNode("?=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 226:this.$=new OpNode("instanceof",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 227:this.$=new InNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 228:this.$=new OpNode("in",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 229:this.$=new OpNode("!",new InNode($$[$0-4+1-1],$$[$0-4+4-1]));break;case 230:this.$=new OpNode("!",new ParentheticalNode(new OpNode("in",$$[$0-4+1-1],$$[$0-4+4-1])));break}},table:[{"1":[2,1],"3":1,"4":[1,2],"5":3,"6":4,"7":5,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,6],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[3]},{"1":[2,2],"28":90,"50":[1,56]},{"1":[2,3],"4":[1,91]},{"4":[1,92]},{"1":[2,5],"4":[2,5],"30":[2,5]},{"5":93,"7":5,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"30":[1,94],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,8],"4":[2,8],"30":[2,8],"51":[1,134],"63":[1,133],"108":[2,8],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,9],"4":[2,9],"30":[2,9],"108":[2,9],"109":137,"110":[1,79],"112":[1,80],"115":138,"116":[1,82],"117":83,"131":[1,135],"132":[1,136]},{"1":[2,14],"4":[2,14],"29":[2,14],"30":[2,14],"51":[2,14],"59":[2,14],"63":[2,14],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,14],"82":[1,149],"83":[1,150],"86":[2,14],"93":139,"94":[1,141],"96":[2,14],"100":[2,14],"108":[2,14],"110":[2,14],"111":[2,14],"112":[2,14],"116":[2,14],"122":[2,14],"123":[2,14],"124":[2,14],"131":[2,14],"132":[2,14],"133":[2,14],"135":[2,14],"136":[2,14],"138":[2,14],"139":[2,14],"142":[2,14],"143":[2,14],"144":[2,14],"145":[2,14],"146":[2,14],"147":[2,14],"148":[2,14],"149":[2,14],"150":[2,14],"151":[2,14],"152":[2,14],"153":[2,14],"154":[2,14],"155":[2,14],"156":[2,14],"157":[2,14],"158":[2,14],"159":[2,14],"160":[2,14],"161":[2,14],"162":[2,14],"163":[2,14],"164":[2,14],"165":[2,14],"166":[2,14],"167":[2,14],"168":[2,14]},{"1":[2,15],"4":[2,15],"29":[2,15],"30":[2,15],"51":[2,15],"59":[2,15],"63":[2,15],"81":[2,15],"86":[2,15],"96":[2,15],"100":[2,15],"108":[2,15],"110":[2,15],"111":[2,15],"112":[2,15],"116":[2,15],"122":[2,15],"123":[2,15],"124":[2,15],"131":[2,15],"132":[2,15],"133":[2,15],"135":[2,15],"136":[2,15],"138":[2,15],"139":[2,15],"142":[2,15],"143":[2,15],"144":[2,15],"145":[2,15],"146":[2,15],"147":[2,15],"148":[2,15],"149":[2,15],"150":[2,15],"151":[2,15],"152":[2,15],"153":[2,15],"154":[2,15],"155":[2,15],"156":[2,15],"157":[2,15],"158":[2,15],"159":[2,15],"160":[2,15],"161":[2,15],"162":[2,15],"163":[2,15],"164":[2,15],"165":[2,15],"166":[2,15],"167":[2,15],"168":[2,15]},{"1":[2,16],"4":[2,16],"29":[2,16],"30":[2,16],"51":[2,16],"59":[2,16],"63":[2,16],"81":[2,16],"86":[2,16],"96":[2,16],"100":[2,16],"108":[2,16],"110":[2,16],"111":[2,16],"112":[2,16],"116":[2,16],"122":[2,16],"123":[2,16],"124":[2,16],"131":[2,16],"132":[2,16],"133":[2,16],"135":[2,16],"136":[2,16],"138":[2,16],"139":[2,16],"142":[2,16],"143":[2,16],"144":[2,16],"145":[2,16],"146":[2,16],"147":[2,16],"148":[2,16],"149":[2,16],"150":[2,16],"151":[2,16],"152":[2,16],"153":[2,16],"154":[2,16],"155":[2,16],"156":[2,16],"157":[2,16],"158":[2,16],"159":[2,16],"160":[2,16],"161":[2,16],"162":[2,16],"163":[2,16],"164":[2,16],"165":[2,16],"166":[2,16],"167":[2,16],"168":[2,16]},{"1":[2,17],"4":[2,17],"29":[2,17],"30":[2,17],"51":[2,17],"59":[2,17],"63":[2,17],"81":[2,17],"86":[2,17],"96":[2,17],"100":[2,17],"108":[2,17],"110":[2,17],"111":[2,17],"112":[2,17],"116":[2,17],"122":[2,17],"123":[2,17],"124":[2,17],"131":[2,17],"132":[2,17],"133":[2,17],"135":[2,17],"136":[2,17],"138":[2,17],"139":[2,17],"142":[2,17],"143":[2,17],"144":[2,17],"145":[2,17],"146":[2,17],"147":[2,17],"148":[2,17],"149":[2,17],"150":[2,17],"151":[2,17],"152":[2,17],"153":[2,17],"154":[2,17],"155":[2,17],"156":[2,17],"157":[2,17],"158":[2,17],"159":[2,17],"160":[2,17],"161":[2,17],"162":[2,17],"163":[2,17],"164":[2,17],"165":[2,17],"166":[2,17],"167":[2,17],"168":[2,17]},{"1":[2,18],"4":[2,18],"29":[2,18],"30":[2,18],"51":[2,18],"59":[2,18],"63":[2,18],"81":[2,18],"86":[2,18],"96":[2,18],"100":[2,18],"108":[2,18],"110":[2,18],"111":[2,18],"112":[2,18],"116":[2,18],"122":[2,18],"123":[2,18],"124":[2,18],"131":[2,18],"132":[2,18],"133":[2,18],"135":[2,18],"136":[2,18],"138":[2,18],"139":[2,18],"142":[2,18],"143":[2,18],"144":[2,18],"145":[2,18],"146":[2,18],"147":[2,18],"148":[2,18],"149":[2,18],"150":[2,18],"151":[2,18],"152":[2,18],"153":[2,18],"154":[2,18],"155":[2,18],"156":[2,18],"157":[2,18],"158":[2,18],"159":[2,18],"160":[2,18],"161":[2,18],"162":[2,18],"163":[2,18],"164":[2,18],"165":[2,18],"166":[2,18],"167":[2,18],"168":[2,18]},{"1":[2,19],"4":[2,19],"29":[2,19],"30":[2,19],"51":[2,19],"59":[2,19],"63":[2,19],"81":[2,19],"86":[2,19],"96":[2,19],"100":[2,19],"108":[2,19],"110":[2,19],"111":[2,19],"112":[2,19],"116":[2,19],"122":[2,19],"123":[2,19],"124":[2,19],"131":[2,19],"132":[2,19],"133":[2,19],"135":[2,19],"136":[2,19],"138":[2,19],"139":[2,19],"142":[2,19],"143":[2,19],"144":[2,19],"145":[2,19],"146":[2,19],"147":[2,19],"148":[2,19],"149":[2,19],"150":[2,19],"151":[2,19],"152":[2,19],"153":[2,19],"154":[2,19],"155":[2,19],"156":[2,19],"157":[2,19],"158":[2,19],"159":[2,19],"160":[2,19],"161":[2,19],"162":[2,19],"163":[2,19],"164":[2,19],"165":[2,19],"166":[2,19],"167":[2,19],"168":[2,19]},{"1":[2,20],"4":[2,20],"29":[2,20],"30":[2,20],"51":[2,20],"59":[2,20],"63":[2,20],"81":[2,20],"86":[2,20],"96":[2,20],"100":[2,20],"108":[2,20],"110":[2,20],"111":[2,20],"112":[2,20],"116":[2,20],"122":[2,20],"123":[2,20],"124":[2,20],"131":[2,20],"132":[2,20],"133":[2,20],"135":[2,20],"136":[2,20],"138":[2,20],"139":[2,20],"142":[2,20],"143":[2,20],"144":[2,20],"145":[2,20],"146":[2,20],"147":[2,20],"148":[2,20],"149":[2,20],"150":[2,20],"151":[2,20],"152":[2,20],"153":[2,20],"154":[2,20],"155":[2,20],"156":[2,20],"157":[2,20],"158":[2,20],"159":[2,20],"160":[2,20],"161":[2,20],"162":[2,20],"163":[2,20],"164":[2,20],"165":[2,20],"166":[2,20],"167":[2,20],"168":[2,20]},{"1":[2,21],"4":[2,21],"29":[2,21],"30":[2,21],"51":[2,21],"59":[2,21],"63":[2,21],"81":[2,21],"86":[2,21],"96":[2,21],"100":[2,21],"108":[2,21],"110":[2,21],"111":[2,21],"112":[2,21],"116":[2,21],"122":[2,21],"123":[2,21],"124":[2,21],"131":[2,21],"132":[2,21],"133":[2,21],"135":[2,21],"136":[2,21],"138":[2,21],"139":[2,21],"142":[2,21],"143":[2,21],"144":[2,21],"145":[2,21],"146":[2,21],"147":[2,21],"148":[2,21],"149":[2,21],"150":[2,21],"151":[2,21],"152":[2,21],"153":[2,21],"154":[2,21],"155":[2,21],"156":[2,21],"157":[2,21],"158":[2,21],"159":[2,21],"160":[2,21],"161":[2,21],"162":[2,21],"163":[2,21],"164":[2,21],"165":[2,21],"166":[2,21],"167":[2,21],"168":[2,21]},{"1":[2,22],"4":[2,22],"29":[2,22],"30":[2,22],"51":[2,22],"59":[2,22],"63":[2,22],"81":[2,22],"86":[2,22],"96":[2,22],"100":[2,22],"108":[2,22],"110":[2,22],"111":[2,22],"112":[2,22],"116":[2,22],"122":[2,22],"123":[2,22],"124":[2,22],"131":[2,22],"132":[2,22],"133":[2,22],"135":[2,22],"136":[2,22],"138":[2,22],"139":[2,22],"142":[2,22],"143":[2,22],"144":[2,22],"145":[2,22],"146":[2,22],"147":[2,22],"148":[2,22],"149":[2,22],"150":[2,22],"151":[2,22],"152":[2,22],"153":[2,22],"154":[2,22],"155":[2,22],"156":[2,22],"157":[2,22],"158":[2,22],"159":[2,22],"160":[2,22],"161":[2,22],"162":[2,22],"163":[2,22],"164":[2,22],"165":[2,22],"166":[2,22],"167":[2,22],"168":[2,22]},{"1":[2,23],"4":[2,23],"29":[2,23],"30":[2,23],"51":[2,23],"59":[2,23],"63":[2,23],"81":[2,23],"86":[2,23],"96":[2,23],"100":[2,23],"108":[2,23],"110":[2,23],"111":[2,23],"112":[2,23],"116":[2,23],"122":[2,23],"123":[2,23],"124":[2,23],"131":[2,23],"132":[2,23],"133":[2,23],"135":[2,23],"136":[2,23],"138":[2,23],"139":[2,23],"142":[2,23],"143":[2,23],"144":[2,23],"145":[2,23],"146":[2,23],"147":[2,23],"148":[2,23],"149":[2,23],"150":[2,23],"151":[2,23],"152":[2,23],"153":[2,23],"154":[2,23],"155":[2,23],"156":[2,23],"157":[2,23],"158":[2,23],"159":[2,23],"160":[2,23],"161":[2,23],"162":[2,23],"163":[2,23],"164":[2,23],"165":[2,23],"166":[2,23],"167":[2,23],"168":[2,23]},{"1":[2,24],"4":[2,24],"29":[2,24],"30":[2,24],"51":[2,24],"59":[2,24],"63":[2,24],"81":[2,24],"86":[2,24],"96":[2,24],"100":[2,24],"108":[2,24],"110":[2,24],"111":[2,24],"112":[2,24],"116":[2,24],"122":[2,24],"123":[2,24],"124":[2,24],"131":[2,24],"132":[2,24],"133":[2,24],"135":[2,24],"136":[2,24],"138":[2,24],"139":[2,24],"142":[2,24],"143":[2,24],"144":[2,24],"145":[2,24],"146":[2,24],"147":[2,24],"148":[2,24],"149":[2,24],"150":[2,24],"151":[2,24],"152":[2,24],"153":[2,24],"154":[2,24],"155":[2,24],"156":[2,24],"157":[2,24],"158":[2,24],"159":[2,24],"160":[2,24],"161":[2,24],"162":[2,24],"163":[2,24],"164":[2,24],"165":[2,24],"166":[2,24],"167":[2,24],"168":[2,24]},{"1":[2,25],"4":[2,25],"29":[2,25],"30":[2,25],"51":[2,25],"59":[2,25],"63":[2,25],"81":[2,25],"86":[2,25],"96":[2,25],"100":[2,25],"108":[2,25],"110":[2,25],"111":[2,25],"112":[2,25],"116":[2,25],"122":[2,25],"123":[2,25],"124":[2,25],"131":[2,25],"132":[2,25],"133":[2,25],"135":[2,25],"136":[2,25],"138":[2,25],"139":[2,25],"142":[2,25],"143":[2,25],"144":[2,25],"145":[2,25],"146":[2,25],"147":[2,25],"148":[2,25],"149":[2,25],"150":[2,25],"151":[2,25],"152":[2,25],"153":[2,25],"154":[2,25],"155":[2,25],"156":[2,25],"157":[2,25],"158":[2,25],"159":[2,25],"160":[2,25],"161":[2,25],"162":[2,25],"163":[2,25],"164":[2,25],"165":[2,25],"166":[2,25],"167":[2,25],"168":[2,25]},{"1":[2,26],"4":[2,26],"29":[2,26],"30":[2,26],"51":[2,26],"59":[2,26],"63":[2,26],"81":[2,26],"86":[2,26],"96":[2,26],"100":[2,26],"108":[2,26],"110":[2,26],"111":[2,26],"112":[2,26],"116":[2,26],"122":[2,26],"123":[2,26],"124":[2,26],"131":[2,26],"132":[2,26],"133":[2,26],"135":[2,26],"136":[2,26],"138":[2,26],"139":[2,26],"142":[2,26],"143":[2,26],"144":[2,26],"145":[2,26],"146":[2,26],"147":[2,26],"148":[2,26],"149":[2,26],"150":[2,26],"151":[2,26],"152":[2,26],"153":[2,26],"154":[2,26],"155":[2,26],"156":[2,26],"157":[2,26],"158":[2,26],"159":[2,26],"160":[2,26],"161":[2,26],"162":[2,26],"163":[2,26],"164":[2,26],"165":[2,26],"166":[2,26],"167":[2,26],"168":[2,26]},{"1":[2,27],"4":[2,27],"29":[2,27],"30":[2,27],"51":[2,27],"59":[2,27],"63":[2,27],"81":[2,27],"86":[2,27],"96":[2,27],"100":[2,27],"108":[2,27],"110":[2,27],"111":[2,27],"112":[2,27],"116":[2,27],"122":[2,27],"123":[2,27],"124":[2,27],"131":[2,27],"132":[2,27],"133":[2,27],"135":[2,27],"136":[2,27],"138":[2,27],"139":[2,27],"142":[2,27],"143":[2,27],"144":[2,27],"145":[2,27],"146":[2,27],"147":[2,27],"148":[2,27],"149":[2,27],"150":[2,27],"151":[2,27],"152":[2,27],"153":[2,27],"154":[2,27],"155":[2,27],"156":[2,27],"157":[2,27],"158":[2,27],"159":[2,27],"160":[2,27],"161":[2,27],"162":[2,27],"163":[2,27],"164":[2,27],"165":[2,27],"166":[2,27],"167":[2,27],"168":[2,27]},{"1":[2,28],"4":[2,28],"29":[2,28],"30":[2,28],"51":[2,28],"59":[2,28],"63":[2,28],"81":[2,28],"86":[2,28],"96":[2,28],"100":[2,28],"108":[2,28],"110":[2,28],"111":[2,28],"112":[2,28],"116":[2,28],"122":[2,28],"123":[2,28],"124":[2,28],"131":[2,28],"132":[2,28],"133":[2,28],"135":[2,28],"136":[2,28],"138":[2,28],"139":[2,28],"142":[2,28],"143":[2,28],"144":[2,28],"145":[2,28],"146":[2,28],"147":[2,28],"148":[2,28],"149":[2,28],"150":[2,28],"151":[2,28],"152":[2,28],"153":[2,28],"154":[2,28],"155":[2,28],"156":[2,28],"157":[2,28],"158":[2,28],"159":[2,28],"160":[2,28],"161":[2,28],"162":[2,28],"163":[2,28],"164":[2,28],"165":[2,28],"166":[2,28],"167":[2,28],"168":[2,28]},{"1":[2,10],"4":[2,10],"30":[2,10],"108":[2,10],"110":[2,10],"112":[2,10],"116":[2,10],"131":[2,10],"132":[2,10]},{"1":[2,11],"4":[2,11],"30":[2,11],"108":[2,11],"110":[2,11],"112":[2,11],"116":[2,11],"131":[2,11],"132":[2,11]},{"1":[2,12],"4":[2,12],"30":[2,12],"108":[2,12],"110":[2,12],"112":[2,12],"116":[2,12],"131":[2,12],"132":[2,12]},{"1":[2,13],"4":[2,13],"30":[2,13],"108":[2,13],"110":[2,13],"112":[2,13],"116":[2,13],"131":[2,13],"132":[2,13]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"46":[1,151],"51":[2,78],"59":[2,78],"63":[2,78],"74":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"80":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"86":[2,78],"94":[2,78],"96":[2,78],"100":[2,78],"108":[2,78],"110":[2,78],"111":[2,78],"112":[2,78],"116":[2,78],"122":[2,78],"123":[2,78],"124":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"135":[2,78],"136":[2,78],"138":[2,78],"139":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78],"152":[2,78],"153":[2,78],"154":[2,78],"155":[2,78],"156":[2,78],"157":[2,78],"158":[2,78],"159":[2,78],"160":[2,78],"161":[2,78],"162":[2,78],"163":[2,78],"164":[2,78],"165":[2,78],"166":[2,78],"167":[2,78],"168":[2,78]},{"1":[2,79],"4":[2,79],"29":[2,79],"30":[2,79],"51":[2,79],"59":[2,79],"63":[2,79],"74":[2,79],"75":[2,79],"76":[2,79],"77":[2,79],"80":[2,79],"81":[2,79],"82":[2,79],"83":[2,79],"86":[2,79],"94":[2,79],"96":[2,79],"100":[2,79],"108":[2,79],"110":[2,79],"111":[2,79],"112":[2,79],"116":[2,79],"122":[2,79],"123":[2,79],"124":[2,79],"131":[2,79],"132":[2,79],"133":[2,79],"135":[2,79],"136":[2,79],"138":[2,79],"139":[2,79],"142":[2,79],"143":[2,79],"144":[2,79],"145":[2,79],"146":[2,79],"147":[2,79],"148":[2,79],"149":[2,79],"150":[2,79],"151":[2,79],"152":[2,79],"153":[2,79],"154":[2,79],"155":[2,79],"156":[2,79],"157":[2,79],"158":[2,79],"159":[2,79],"160":[2,79],"161":[2,79],"162":[2,79],"163":[2,79],"164":[2,79],"165":[2,79],"166":[2,79],"167":[2,79],"168":[2,79]},{"1":[2,80],"4":[2,80],"29":[2,80],"30":[2,80],"51":[2,80],"59":[2,80],"63":[2,80],"74":[2,80],"75":[2,80],"76":[2,80],"77":[2,80],"80":[2,80],"81":[2,80],"82":[2,80],"83":[2,80],"86":[2,80],"94":[2,80],"96":[2,80],"100":[2,80],"108":[2,80],"110":[2,80],"111":[2,80],"112":[2,80],"116":[2,80],"122":[2,80],"123":[2,80],"124":[2,80],"131":[2,80],"132":[2,80],"133":[2,80],"135":[2,80],"136":[2,80],"138":[2,80],"139":[2,80],"142":[2,80],"143":[2,80],"144":[2,80],"145":[2,80],"146":[2,80],"147":[2,80],"148":[2,80],"149":[2,80],"150":[2,80],"151":[2,80],"152":[2,80],"153":[2,80],"154":[2,80],"155":[2,80],"156":[2,80],"157":[2,80],"158":[2,80],"159":[2,80],"160":[2,80],"161":[2,80],"162":[2,80],"163":[2,80],"164":[2,80],"165":[2,80],"166":[2,80],"167":[2,80],"168":[2,80]},{"1":[2,81],"4":[2,81],"29":[2,81],"30":[2,81],"51":[2,81],"59":[2,81],"63":[2,81],"74":[2,81],"75":[2,81],"76":[2,81],"77":[2,81],"80":[2,81],"81":[2,81],"82":[2,81],"83":[2,81],"86":[2,81],"94":[2,81],"96":[2,81],"100":[2,81],"108":[2,81],"110":[2,81],"111":[2,81],"112":[2,81],"116":[2,81],"122":[2,81],"123":[2,81],"124":[2,81],"131":[2,81],"132":[2,81],"133":[2,81],"135":[2,81],"136":[2,81],"138":[2,81],"139":[2,81],"142":[2,81],"143":[2,81],"144":[2,81],"145":[2,81],"146":[2,81],"147":[2,81],"148":[2,81],"149":[2,81],"150":[2,81],"151":[2,81],"152":[2,81],"153":[2,81],"154":[2,81],"155":[2,81],"156":[2,81],"157":[2,81],"158":[2,81],"159":[2,81],"160":[2,81],"161":[2,81],"162":[2,81],"163":[2,81],"164":[2,81],"165":[2,81],"166":[2,81],"167":[2,81],"168":[2,81]},{"1":[2,82],"4":[2,82],"29":[2,82],"30":[2,82],"51":[2,82],"59":[2,82],"63":[2,82],"74":[2,82],"75":[2,82],"76":[2,82],"77":[2,82],"80":[2,82],"81":[2,82],"82":[2,82],"83":[2,82],"86":[2,82],"94":[2,82],"96":[2,82],"100":[2,82],"108":[2,82],"110":[2,82],"111":[2,82],"112":[2,82],"116":[2,82],"122":[2,82],"123":[2,82],"124":[2,82],"131":[2,82],"132":[2,82],"133":[2,82],"135":[2,82],"136":[2,82],"138":[2,82],"139":[2,82],"142":[2,82],"143":[2,82],"144":[2,82],"145":[2,82],"146":[2,82],"147":[2,82],"148":[2,82],"149":[2,82],"150":[2,82],"151":[2,82],"152":[2,82],"153":[2,82],"154":[2,82],"155":[2,82],"156":[2,82],"157":[2,82],"158":[2,82],"159":[2,82],"160":[2,82],"161":[2,82],"162":[2,82],"163":[2,82],"164":[2,82],"165":[2,82],"166":[2,82],"167":[2,82],"168":[2,82]},{"1":[2,83],"4":[2,83],"29":[2,83],"30":[2,83],"51":[2,83],"59":[2,83],"63":[2,83],"74":[2,83],"75":[2,83],"76":[2,83],"77":[2,83],"80":[2,83],"81":[2,83],"82":[2,83],"83":[2,83],"86":[2,83],"94":[2,83],"96":[2,83],"100":[2,83],"108":[2,83],"110":[2,83],"111":[2,83],"112":[2,83],"116":[2,83],"122":[2,83],"123":[2,83],"124":[2,83],"131":[2,83],"132":[2,83],"133":[2,83],"135":[2,83],"136":[2,83],"138":[2,83],"139":[2,83],"142":[2,83],"143":[2,83],"144":[2,83],"145":[2,83],"146":[2,83],"147":[2,83],"148":[2,83],"149":[2,83],"150":[2,83],"151":[2,83],"152":[2,83],"153":[2,83],"154":[2,83],"155":[2,83],"156":[2,83],"157":[2,83],"158":[2,83],"159":[2,83],"160":[2,83],"161":[2,83],"162":[2,83],"163":[2,83],"164":[2,83],"165":[2,83],"166":[2,83],"167":[2,83],"168":[2,83]},{"1":[2,110],"4":[2,110],"29":[2,110],"30":[2,110],"51":[2,110],"59":[2,110],"63":[2,110],"65":153,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,110],"82":[1,149],"83":[1,150],"86":[2,110],"93":152,"94":[1,141],"96":[2,110],"100":[2,110],"108":[2,110],"110":[2,110],"111":[2,110],"112":[2,110],"116":[2,110],"122":[2,110],"123":[2,110],"124":[2,110],"131":[2,110],"132":[2,110],"133":[2,110],"135":[2,110],"136":[2,110],"138":[2,110],"139":[2,110],"142":[2,110],"143":[2,110],"144":[2,110],"145":[2,110],"146":[2,110],"147":[2,110],"148":[2,110],"149":[2,110],"150":[2,110],"151":[2,110],"152":[2,110],"153":[2,110],"154":[2,110],"155":[2,110],"156":[2,110],"157":[2,110],"158":[2,110],"159":[2,110],"160":[2,110],"161":[2,110],"162":[2,110],"163":[2,110],"164":[2,110],"165":[2,110],"166":[2,110],"167":[2,110],"168":[2,110]},{"1":[2,111],"4":[2,111],"29":[2,111],"30":[2,111],"51":[2,111],"59":[2,111],"63":[2,111],"81":[2,111],"86":[2,111],"96":[2,111],"100":[2,111],"108":[2,111],"110":[2,111],"111":[2,111],"112":[2,111],"116":[2,111],"122":[2,111],"123":[2,111],"124":[2,111],"131":[2,111],"132":[2,111],"133":[2,111],"135":[2,111],"136":[2,111],"138":[2,111],"139":[2,111],"142":[2,111],"143":[2,111],"144":[2,111],"145":[2,111],"146":[2,111],"147":[2,111],"148":[2,111],"149":[2,111],"150":[2,111],"151":[2,111],"152":[2,111],"153":[2,111],"154":[2,111],"155":[2,111],"156":[2,111],"157":[2,111],"158":[2,111],"159":[2,111],"160":[2,111],"161":[2,111],"162":[2,111],"163":[2,111],"164":[2,111],"165":[2,111],"166":[2,111],"167":[2,111],"168":[2,111]},{"14":155,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":157,"66":154,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"53":158,"54":[2,63],"59":[2,63],"60":159,"61":[1,160],"62":[1,161]},{"4":[1,163],"6":162,"29":[1,6]},{"8":164,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":166,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":167,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":168,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":169,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":170,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":171,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":172,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":173,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,182],"4":[2,182],"29":[2,182],"30":[2,182],"51":[2,182],"59":[2,182],"63":[2,182],"81":[2,182],"86":[2,182],"96":[2,182],"100":[2,182],"108":[2,182],"110":[2,182],"111":[2,182],"112":[2,182],"116":[2,182],"122":[2,182],"123":[2,182],"124":[2,182],"127":[1,174],"131":[2,182],"132":[2,182],"133":[2,182],"135":[2,182],"136":[2,182],"138":[2,182],"139":[2,182],"142":[2,182],"143":[2,182],"144":[2,182],"145":[2,182],"146":[2,182],"147":[2,182],"148":[2,182],"149":[2,182],"150":[2,182],"151":[2,182],"152":[2,182],"153":[2,182],"154":[2,182],"155":[2,182],"156":[2,182],"157":[2,182],"158":[2,182],"159":[2,182],"160":[2,182],"161":[2,182],"162":[2,182],"163":[2,182],"164":[2,182],"165":[2,182],"166":[2,182],"167":[2,182],"168":[2,182]},{"4":[1,163],"6":175,"29":[1,6]},{"4":[1,163],"6":176,"29":[1,6]},{"1":[2,148],"4":[2,148],"29":[2,148],"30":[2,148],"51":[2,148],"59":[2,148],"63":[2,148],"81":[2,148],"86":[2,148],"96":[2,148],"100":[2,148],"108":[2,148],"110":[2,148],"111":[2,148],"112":[2,148],"116":[2,148],"122":[2,148],"123":[2,148],"124":[2,148],"131":[2,148],"132":[2,148],"133":[2,148],"135":[2,148],"136":[2,148],"138":[2,148],"139":[2,148],"142":[2,148],"143":[2,148],"144":[2,148],"145":[2,148],"146":[2,148],"147":[2,148],"148":[2,148],"149":[2,148],"150":[2,148],"151":[2,148],"152":[2,148],"153":[2,148],"154":[2,148],"155":[2,148],"156":[2,148],"157":[2,148],"158":[2,148],"159":[2,148],"160":[2,148],"161":[2,148],"162":[2,148],"163":[2,148],"164":[2,148],"165":[2,148],"166":[2,148],"167":[2,148],"168":[2,148]},{"4":[1,163],"6":177,"29":[1,6]},{"8":178,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,179],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"46":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"74":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"80":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"86":[2,75],"88":[1,180],"94":[2,75],"96":[2,75],"100":[2,75],"108":[2,75],"110":[2,75],"111":[2,75],"112":[2,75],"116":[2,75],"122":[2,75],"123":[2,75],"124":[2,75],"131":[2,75],"132":[2,75],"133":[2,75],"135":[2,75],"136":[2,75],"138":[2,75],"139":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75],"152":[2,75],"153":[2,75],"154":[2,75],"155":[2,75],"156":[2,75],"157":[2,75],"158":[2,75],"159":[2,75],"160":[2,75],"161":[2,75],"162":[2,75],"163":[2,75],"164":[2,75],"165":[2,75],"166":[2,75],"167":[2,75],"168":[2,75]},{"14":183,"29":[1,182],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":181,"66":184,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"1":[2,55],"4":[2,55],"29":[2,55],"30":[2,55],"51":[2,55],"59":[2,55],"63":[2,55],"81":[2,55],"86":[2,55],"96":[2,55],"100":[2,55],"104":[2,55],"105":[2,55],"108":[2,55],"110":[2,55],"111":[2,55],"112":[2,55],"116":[2,55],"122":[2,55],"123":[2,55],"124":[2,55],"127":[2,55],"129":[2,55],"131":[2,55],"132":[2,55],"133":[2,55],"135":[2,55],"136":[2,55],"138":[2,55],"139":[2,55],"142":[2,55],"143":[2,55],"144":[2,55],"145":[2,55],"146":[2,55],"147":[2,55],"148":[2,55],"149":[2,55],"150":[2,55],"151":[2,55],"152":[2,55],"153":[2,55],"154":[2,55],"155":[2,55],"156":[2,55],"157":[2,55],"158":[2,55],"159":[2,55],"160":[2,55],"161":[2,55],"162":[2,55],"163":[2,55],"164":[2,55],"165":[2,55],"166":[2,55],"167":[2,55],"168":[2,55]},{"1":[2,54],"4":[2,54],"8":185,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"30":[2,54],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"108":[2,54],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[2,54],"132":[2,54],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":186,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,76],"4":[2,76],"29":[2,76],"30":[2,76],"46":[2,76],"51":[2,76],"59":[2,76],"63":[2,76],"74":[2,76],"75":[2,76],"76":[2,76],"77":[2,76],"80":[2,76],"81":[2,76],"82":[2,76],"83":[2,76],"86":[2,76],"94":[2,76],"96":[2,76],"100":[2,76],"108":[2,76],"110":[2,76],"111":[2,76],"112":[2,76],"116":[2,76],"122":[2,76],"123":[2,76],"124":[2,76],"131":[2,76],"132":[2,76],"133":[2,76],"135":[2,76],"136":[2,76],"138":[2,76],"139":[2,76],"142":[2,76],"143":[2,76],"144":[2,76],"145":[2,76],"146":[2,76],"147":[2,76],"148":[2,76],"149":[2,76],"150":[2,76],"151":[2,76],"152":[2,76],"153":[2,76],"154":[2,76],"155":[2,76],"156":[2,76],"157":[2,76],"158":[2,76],"159":[2,76],"160":[2,76],"161":[2,76],"162":[2,76],"163":[2,76],"164":[2,76],"165":[2,76],"166":[2,76],"167":[2,76],"168":[2,76]},{"1":[2,77],"4":[2,77],"29":[2,77],"30":[2,77],"46":[2,77],"51":[2,77],"59":[2,77],"63":[2,77],"74":[2,77],"75":[2,77],"76":[2,77],"77":[2,77],"80":[2,77],"81":[2,77],"82":[2,77],"83":[2,77],"86":[2,77],"94":[2,77],"96":[2,77],"100":[2,77],"108":[2,77],"110":[2,77],"111":[2,77],"112":[2,77],"116":[2,77],"122":[2,77],"123":[2,77],"124":[2,77],"131":[2,77],"132":[2,77],"133":[2,77],"135":[2,77],"136":[2,77],"138":[2,77],"139":[2,77],"142":[2,77],"143":[2,77],"144":[2,77],"145":[2,77],"146":[2,77],"147":[2,77],"148":[2,77],"149":[2,77],"150":[2,77],"151":[2,77],"152":[2,77],"153":[2,77],"154":[2,77],"155":[2,77],"156":[2,77],"157":[2,77],"158":[2,77],"159":[2,77],"160":[2,77],"161":[2,77],"162":[2,77],"163":[2,77],"164":[2,77],"165":[2,77],"166":[2,77],"167":[2,77],"168":[2,77]},{"1":[2,35],"4":[2,35],"29":[2,35],"30":[2,35],"51":[2,35],"59":[2,35],"63":[2,35],"74":[2,35],"75":[2,35],"76":[2,35],"77":[2,35],"80":[2,35],"81":[2,35],"82":[2,35],"83":[2,35],"86":[2,35],"94":[2,35],"96":[2,35],"100":[2,35],"108":[2,35],"110":[2,35],"111":[2,35],"112":[2,35],"116":[2,35],"122":[2,35],"123":[2,35],"124":[2,35],"131":[2,35],"132":[2,35],"133":[2,35],"135":[2,35],"136":[2,35],"138":[2,35],"139":[2,35],"142":[2,35],"143":[2,35],"144":[2,35],"145":[2,35],"146":[2,35],"147":[2,35],"148":[2,35],"149":[2,35],"150":[2,35],"151":[2,35],"152":[2,35],"153":[2,35],"154":[2,35],"155":[2,35],"156":[2,35],"157":[2,35],"158":[2,35],"159":[2,35],"160":[2,35],"161":[2,35],"162":[2,35],"163":[2,35],"164":[2,35],"165":[2,35],"166":[2,35],"167":[2,35],"168":[2,35]},{"1":[2,36],"4":[2,36],"29":[2,36],"30":[2,36],"51":[2,36],"59":[2,36],"63":[2,36],"74":[2,36],"75":[2,36],"76":[2,36],"77":[2,36],"80":[2,36],"81":[2,36],"82":[2,36],"83":[2,36],"86":[2,36],"94":[2,36],"96":[2,36],"100":[2,36],"108":[2,36],"110":[2,36],"111":[2,36],"112":[2,36],"116":[2,36],"122":[2,36],"123":[2,36],"124":[2,36],"131":[2,36],"132":[2,36],"133":[2,36],"135":[2,36],"136":[2,36],"138":[2,36],"139":[2,36],"142":[2,36],"143":[2,36],"144":[2,36],"145":[2,36],"146":[2,36],"147":[2,36],"148":[2,36],"149":[2,36],"150":[2,36],"151":[2,36],"152":[2,36],"153":[2,36],"154":[2,36],"155":[2,36],"156":[2,36],"157":[2,36],"158":[2,36],"159":[2,36],"160":[2,36],"161":[2,36],"162":[2,36],"163":[2,36],"164":[2,36],"165":[2,36],"166":[2,36],"167":[2,36],"168":[2,36]},{"1":[2,37],"4":[2,37],"29":[2,37],"30":[2,37],"51":[2,37],"59":[2,37],"63":[2,37],"74":[2,37],"75":[2,37],"76":[2,37],"77":[2,37],"80":[2,37],"81":[2,37],"82":[2,37],"83":[2,37],"86":[2,37],"94":[2,37],"96":[2,37],"100":[2,37],"108":[2,37],"110":[2,37],"111":[2,37],"112":[2,37],"116":[2,37],"122":[2,37],"123":[2,37],"124":[2,37],"131":[2,37],"132":[2,37],"133":[2,37],"135":[2,37],"136":[2,37],"138":[2,37],"139":[2,37],"142":[2,37],"143":[2,37],"144":[2,37],"145":[2,37],"146":[2,37],"147":[2,37],"148":[2,37],"149":[2,37],"150":[2,37],"151":[2,37],"152":[2,37],"153":[2,37],"154":[2,37],"155":[2,37],"156":[2,37],"157":[2,37],"158":[2,37],"159":[2,37],"160":[2,37],"161":[2,37],"162":[2,37],"163":[2,37],"164":[2,37],"165":[2,37],"166":[2,37],"167":[2,37],"168":[2,37]},{"1":[2,38],"4":[2,38],"29":[2,38],"30":[2,38],"51":[2,38],"59":[2,38],"63":[2,38],"74":[2,38],"75":[2,38],"76":[2,38],"77":[2,38],"80":[2,38],"81":[2,38],"82":[2,38],"83":[2,38],"86":[2,38],"94":[2,38],"96":[2,38],"100":[2,38],"108":[2,38],"110":[2,38],"111":[2,38],"112":[2,38],"116":[2,38],"122":[2,38],"123":[2,38],"124":[2,38],"131":[2,38],"132":[2,38],"133":[2,38],"135":[2,38],"136":[2,38],"138":[2,38],"139":[2,38],"142":[2,38],"143":[2,38],"144":[2,38],"145":[2,38],"146":[2,38],"147":[2,38],"148":[2,38],"149":[2,38],"150":[2,38],"151":[2,38],"152":[2,38],"153":[2,38],"154":[2,38],"155":[2,38],"156":[2,38],"157":[2,38],"158":[2,38],"159":[2,38],"160":[2,38],"161":[2,38],"162":[2,38],"163":[2,38],"164":[2,38],"165":[2,38],"166":[2,38],"167":[2,38],"168":[2,38]},{"1":[2,39],"4":[2,39],"29":[2,39],"30":[2,39],"51":[2,39],"59":[2,39],"63":[2,39],"74":[2,39],"75":[2,39],"76":[2,39],"77":[2,39],"80":[2,39],"81":[2,39],"82":[2,39],"83":[2,39],"86":[2,39],"94":[2,39],"96":[2,39],"100":[2,39],"108":[2,39],"110":[2,39],"111":[2,39],"112":[2,39],"116":[2,39],"122":[2,39],"123":[2,39],"124":[2,39],"131":[2,39],"132":[2,39],"133":[2,39],"135":[2,39],"136":[2,39],"138":[2,39],"139":[2,39],"142":[2,39],"143":[2,39],"144":[2,39],"145":[2,39],"146":[2,39],"147":[2,39],"148":[2,39],"149":[2,39],"150":[2,39],"151":[2,39],"152":[2,39],"153":[2,39],"154":[2,39],"155":[2,39],"156":[2,39],"157":[2,39],"158":[2,39],"159":[2,39],"160":[2,39],"161":[2,39],"162":[2,39],"163":[2,39],"164":[2,39],"165":[2,39],"166":[2,39],"167":[2,39],"168":[2,39]},{"1":[2,40],"4":[2,40],"29":[2,40],"30":[2,40],"51":[2,40],"59":[2,40],"63":[2,40],"74":[2,40],"75":[2,40],"76":[2,40],"77":[2,40],"80":[2,40],"81":[2,40],"82":[2,40],"83":[2,40],"86":[2,40],"94":[2,40],"96":[2,40],"100":[2,40],"108":[2,40],"110":[2,40],"111":[2,40],"112":[2,40],"116":[2,40],"122":[2,40],"123":[2,40],"124":[2,40],"131":[2,40],"132":[2,40],"133":[2,40],"135":[2,40],"136":[2,40],"138":[2,40],"139":[2,40],"142":[2,40],"143":[2,40],"144":[2,40],"145":[2,40],"146":[2,40],"147":[2,40],"148":[2,40],"149":[2,40],"150":[2,40],"151":[2,40],"152":[2,40],"153":[2,40],"154":[2,40],"155":[2,40],"156":[2,40],"157":[2,40],"158":[2,40],"159":[2,40],"160":[2,40],"161":[2,40],"162":[2,40],"163":[2,40],"164":[2,40],"165":[2,40],"166":[2,40],"167":[2,40],"168":[2,40]},{"1":[2,41],"4":[2,41],"29":[2,41],"30":[2,41],"51":[2,41],"59":[2,41],"63":[2,41],"74":[2,41],"75":[2,41],"76":[2,41],"77":[2,41],"80":[2,41],"81":[2,41],"82":[2,41],"83":[2,41],"86":[2,41],"94":[2,41],"96":[2,41],"100":[2,41],"108":[2,41],"110":[2,41],"111":[2,41],"112":[2,41],"116":[2,41],"122":[2,41],"123":[2,41],"124":[2,41],"131":[2,41],"132":[2,41],"133":[2,41],"135":[2,41],"136":[2,41],"138":[2,41],"139":[2,41],"142":[2,41],"143":[2,41],"144":[2,41],"145":[2,41],"146":[2,41],"147":[2,41],"148":[2,41],"149":[2,41],"150":[2,41],"151":[2,41],"152":[2,41],"153":[2,41],"154":[2,41],"155":[2,41],"156":[2,41],"157":[2,41],"158":[2,41],"159":[2,41],"160":[2,41],"161":[2,41],"162":[2,41],"163":[2,41],"164":[2,41],"165":[2,41],"166":[2,41],"167":[2,41],"168":[2,41]},{"1":[2,42],"4":[2,42],"29":[2,42],"30":[2,42],"51":[2,42],"59":[2,42],"63":[2,42],"74":[2,42],"75":[2,42],"76":[2,42],"77":[2,42],"80":[2,42],"81":[2,42],"82":[2,42],"83":[2,42],"86":[2,42],"94":[2,42],"96":[2,42],"100":[2,42],"108":[2,42],"110":[2,42],"111":[2,42],"112":[2,42],"116":[2,42],"122":[2,42],"123":[2,42],"124":[2,42],"131":[2,42],"132":[2,42],"133":[2,42],"135":[2,42],"136":[2,42],"138":[2,42],"139":[2,42],"142":[2,42],"143":[2,42],"144":[2,42],"145":[2,42],"146":[2,42],"147":[2,42],"148":[2,42],"149":[2,42],"150":[2,42],"151":[2,42],"152":[2,42],"153":[2,42],"154":[2,42],"155":[2,42],"156":[2,42],"157":[2,42],"158":[2,42],"159":[2,42],"160":[2,42],"161":[2,42],"162":[2,42],"163":[2,42],"164":[2,42],"165":[2,42],"166":[2,42],"167":[2,42],"168":[2,42]},{"1":[2,43],"4":[2,43],"29":[2,43],"30":[2,43],"51":[2,43],"59":[2,43],"63":[2,43],"74":[2,43],"75":[2,43],"76":[2,43],"77":[2,43],"80":[2,43],"81":[2,43],"82":[2,43],"83":[2,43],"86":[2,43],"94":[2,43],"96":[2,43],"100":[2,43],"108":[2,43],"110":[2,43],"111":[2,43],"112":[2,43],"116":[2,43],"122":[2,43],"123":[2,43],"124":[2,43],"131":[2,43],"132":[2,43],"133":[2,43],"135":[2,43],"136":[2,43],"138":[2,43],"139":[2,43],"142":[2,43],"143":[2,43],"144":[2,43],"145":[2,43],"146":[2,43],"147":[2,43],"148":[2,43],"149":[2,43],"150":[2,43],"151":[2,43],"152":[2,43],"153":[2,43],"154":[2,43],"155":[2,43],"156":[2,43],"157":[2,43],"158":[2,43],"159":[2,43],"160":[2,43],"161":[2,43],"162":[2,43],"163":[2,43],"164":[2,43],"165":[2,43],"166":[2,43],"167":[2,43],"168":[2,43]},{"7":187,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,128],"8":188,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":189,"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,128],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,120],"4":[2,120],"29":[2,120],"30":[2,120],"51":[2,120],"59":[2,120],"63":[2,120],"74":[2,120],"75":[2,120],"76":[2,120],"77":[2,120],"80":[2,120],"81":[2,120],"82":[2,120],"83":[2,120],"86":[2,120],"94":[2,120],"96":[2,120],"100":[2,120],"108":[2,120],"110":[2,120],"111":[2,120],"112":[2,120],"116":[2,120],"122":[2,120],"123":[2,120],"124":[2,120],"131":[2,120],"132":[2,120],"133":[2,120],"135":[2,120],"136":[2,120],"138":[2,120],"139":[2,120],"142":[2,120],"143":[2,120],"144":[2,120],"145":[2,120],"146":[2,120],"147":[2,120],"148":[2,120],"149":[2,120],"150":[2,120],"151":[2,120],"152":[2,120],"153":[2,120],"154":[2,120],"155":[2,120],"156":[2,120],"157":[2,120],"158":[2,120],"159":[2,120],"160":[2,120],"161":[2,120],"162":[2,120],"163":[2,120],"164":[2,120],"165":[2,120],"166":[2,120],"167":[2,120],"168":[2,120]},{"1":[2,121],"4":[2,121],"29":[2,121],"30":[2,121],"31":190,"32":[1,89],"51":[2,121],"59":[2,121],"63":[2,121],"74":[2,121],"75":[2,121],"76":[2,121],"77":[2,121],"80":[2,121],"81":[2,121],"82":[2,121],"83":[2,121],"86":[2,121],"94":[2,121],"96":[2,121],"100":[2,121],"108":[2,121],"110":[2,121],"111":[2,121],"112":[2,121],"116":[2,121],"122":[2,121],"123":[2,121],"124":[2,121],"131":[2,121],"132":[2,121],"133":[2,121],"135":[2,121],"136":[2,121],"138":[2,121],"139":[2,121],"142":[2,121],"143":[2,121],"144":[2,121],"145":[2,121],"146":[2,121],"147":[2,121],"148":[2,121],"149":[2,121],"150":[2,121],"151":[2,121],"152":[2,121],"153":[2,121],"154":[2,121],"155":[2,121],"156":[2,121],"157":[2,121],"158":[2,121],"159":[2,121],"160":[2,121],"161":[2,121],"162":[2,121],"163":[2,121],"164":[2,121],"165":[2,121],"166":[2,121],"167":[2,121],"168":[2,121]},{"1":[2,118],"4":[2,118],"29":[2,118],"30":[2,118],"51":[2,118],"59":[2,118],"63":[2,118],"81":[2,118],"86":[2,118],"93":191,"94":[1,141],"96":[2,118],"100":[2,118],"108":[2,118],"110":[2,118],"111":[2,118],"112":[2,118],"116":[2,118],"122":[2,118],"123":[2,118],"124":[2,118],"131":[2,118],"132":[2,118],"133":[2,118],"135":[2,118],"136":[2,118],"138":[2,118],"139":[2,118],"142":[2,118],"143":[2,118],"144":[2,118],"145":[2,118],"146":[2,118],"147":[2,118],"148":[2,118],"149":[2,118],"150":[2,118],"151":[2,118],"152":[2,118],"153":[2,118],"154":[2,118],"155":[2,118],"156":[2,118],"157":[2,118],"158":[2,118],"159":[2,118],"160":[2,118],"161":[2,118],"162":[2,118],"163":[2,118],"164":[2,118],"165":[2,118],"166":[2,118],"167":[2,118],"168":[2,118]},{"4":[2,59],"29":[2,59]},{"4":[2,60],"29":[2,60]},{"8":192,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":193,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":194,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":195,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[1,163],"6":196,"8":197,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,6],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"31":202,"32":[1,89],"68":203,"69":204,"71":198,"84":[1,86],"99":[1,71],"119":199,"120":[1,200],"121":201},{"118":205,"122":[1,206],"123":[1,207]},{"1":[2,71],"4":[2,71],"29":[2,71],"30":[2,71],"46":[2,71],"51":[2,71],"59":[2,71],"63":[2,71],"74":[2,71],"75":[2,71],"76":[2,71],"77":[2,71],"80":[2,71],"81":[2,71],"82":[2,71],"83":[2,71],"86":[2,71],"88":[2,71],"94":[2,71],"96":[2,71],"100":[2,71],"108":[2,71],"110":[2,71],"111":[2,71],"112":[2,71],"116":[2,71],"122":[2,71],"123":[2,71],"124":[2,71],"131":[2,71],"132":[2,71],"133":[2,71],"135":[2,71],"136":[2,71],"138":[2,71],"139":[2,71],"142":[2,71],"143":[2,71],"144":[2,71],"145":[2,71],"146":[2,71],"147":[2,71],"148":[2,71],"149":[2,71],"150":[2,71],"151":[2,71],"152":[2,71],"153":[2,71],"154":[2,71],"155":[2,71],"156":[2,71],"157":[2,71],"158":[2,71],"159":[2,71],"160":[2,71],"161":[2,71],"162":[2,71],"163":[2,71],"164":[2,71],"165":[2,71],"166":[2,71],"167":[2,71],"168":[2,71]},{"1":[2,74],"4":[2,74],"29":[2,74],"30":[2,74],"46":[2,74],"51":[2,74],"59":[2,74],"63":[2,74],"74":[2,74],"75":[2,74],"76":[2,74],"77":[2,74],"80":[2,74],"81":[2,74],"82":[2,74],"83":[2,74],"86":[2,74],"88":[2,74],"94":[2,74],"96":[2,74],"100":[2,74],"108":[2,74],"110":[2,74],"111":[2,74],"112":[2,74],"116":[2,74],"122":[2,74],"123":[2,74],"124":[2,74],"131":[2,74],"132":[2,74],"133":[2,74],"135":[2,74],"136":[2,74],"138":[2,74],"139":[2,74],"142":[2,74],"143":[2,74],"144":[2,74],"145":[2,74],"146":[2,74],"147":[2,74],"148":[2,74],"149":[2,74],"150":[2,74],"151":[2,74],"152":[2,74],"153":[2,74],"154":[2,74],"155":[2,74],"156":[2,74],"157":[2,74],"158":[2,74],"159":[2,74],"160":[2,74],"161":[2,74],"162":[2,74],"163":[2,74],"164":[2,74],"165":[2,74],"166":[2,74],"167":[2,74],"168":[2,74]},{"4":[2,94],"28":212,"29":[2,94],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":209,"50":[1,56],"59":[2,94],"85":208,"86":[2,94]},{"1":[2,33],"4":[2,33],"29":[2,33],"30":[2,33],"48":[2,33],"51":[2,33],"59":[2,33],"63":[2,33],"74":[2,33],"75":[2,33],"76":[2,33],"77":[2,33],"80":[2,33],"81":[2,33],"82":[2,33],"83":[2,33],"86":[2,33],"94":[2,33],"96":[2,33],"100":[2,33],"108":[2,33],"110":[2,33],"111":[2,33],"112":[2,33],"116":[2,33],"122":[2,33],"123":[2,33],"124":[2,33],"131":[2,33],"132":[2,33],"133":[2,33],"135":[2,33],"136":[2,33],"138":[2,33],"139":[2,33],"142":[2,33],"143":[2,33],"144":[2,33],"145":[2,33],"146":[2,33],"147":[2,33],"148":[2,33],"149":[2,33],"150":[2,33],"151":[2,33],"152":[2,33],"153":[2,33],"154":[2,33],"155":[2,33],"156":[2,33],"157":[2,33],"158":[2,33],"159":[2,33],"160":[2,33],"161":[2,33],"162":[2,33],"163":[2,33],"164":[2,33],"165":[2,33],"166":[2,33],"167":[2,33],"168":[2,33]},{"1":[2,34],"4":[2,34],"29":[2,34],"30":[2,34],"48":[2,34],"51":[2,34],"59":[2,34],"63":[2,34],"74":[2,34],"75":[2,34],"76":[2,34],"77":[2,34],"80":[2,34],"81":[2,34],"82":[2,34],"83":[2,34],"86":[2,34],"94":[2,34],"96":[2,34],"100":[2,34],"108":[2,34],"110":[2,34],"111":[2,34],"112":[2,34],"116":[2,34],"122":[2,34],"123":[2,34],"124":[2,34],"131":[2,34],"132":[2,34],"133":[2,34],"135":[2,34],"136":[2,34],"138":[2,34],"139":[2,34],"142":[2,34],"143":[2,34],"144":[2,34],"145":[2,34],"146":[2,34],"147":[2,34],"148":[2,34],"149":[2,34],"150":[2,34],"151":[2,34],"152":[2,34],"153":[2,34],"154":[2,34],"155":[2,34],"156":[2,34],"157":[2,34],"158":[2,34],"159":[2,34],"160":[2,34],"161":[2,34],"162":[2,34],"163":[2,34],"164":[2,34],"165":[2,34],"166":[2,34],"167":[2,34],"168":[2,34]},{"1":[2,32],"4":[2,32],"29":[2,32],"30":[2,32],"46":[2,32],"48":[2,32],"51":[2,32],"59":[2,32],"63":[2,32],"74":[2,32],"75":[2,32],"76":[2,32],"77":[2,32],"80":[2,32],"81":[2,32],"82":[2,32],"83":[2,32],"86":[2,32],"88":[2,32],"94":[2,32],"96":[2,32],"100":[2,32],"108":[2,32],"110":[2,32],"111":[2,32],"112":[2,32],"116":[2,32],"122":[2,32],"123":[2,32],"124":[2,32],"131":[2,32],"132":[2,32],"133":[2,32],"135":[2,32],"136":[2,32],"138":[2,32],"139":[2,32],"142":[2,32],"143":[2,32],"144":[2,32],"145":[2,32],"146":[2,32],"147":[2,32],"148":[2,32],"149":[2,32],"150":[2,32],"151":[2,32],"152":[2,32],"153":[2,32],"154":[2,32],"155":[2,32],"156":[2,32],"157":[2,32],"158":[2,32],"159":[2,32],"160":[2,32],"161":[2,32],"162":[2,32],"163":[2,32],"164":[2,32],"165":[2,32],"166":[2,32],"167":[2,32],"168":[2,32]},{"1":[2,31],"4":[2,31],"29":[2,31],"30":[2,31],"51":[2,31],"59":[2,31],"63":[2,31],"81":[2,31],"86":[2,31],"96":[2,31],"100":[2,31],"104":[2,31],"105":[2,31],"108":[2,31],"110":[2,31],"111":[2,31],"112":[2,31],"116":[2,31],"122":[2,31],"123":[2,31],"124":[2,31],"127":[2,31],"129":[2,31],"131":[2,31],"132":[2,31],"133":[2,31],"135":[2,31],"136":[2,31],"138":[2,31],"139":[2,31],"142":[2,31],"143":[2,31],"144":[2,31],"145":[2,31],"146":[2,31],"147":[2,31],"148":[2,31],"149":[2,31],"150":[2,31],"151":[2,31],"152":[2,31],"153":[2,31],"154":[2,31],"155":[2,31],"156":[2,31],"157":[2,31],"158":[2,31],"159":[2,31],"160":[2,31],"161":[2,31],"162":[2,31],"163":[2,31],"164":[2,31],"165":[2,31],"166":[2,31],"167":[2,31],"168":[2,31]},{"1":[2,7],"4":[2,7],"7":213,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"30":[2,7],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,4]},{"4":[1,91],"30":[1,214]},{"1":[2,30],"4":[2,30],"29":[2,30],"30":[2,30],"51":[2,30],"59":[2,30],"63":[2,30],"81":[2,30],"86":[2,30],"96":[2,30],"100":[2,30],"104":[2,30],"105":[2,30],"108":[2,30],"110":[2,30],"111":[2,30],"112":[2,30],"116":[2,30],"122":[2,30],"123":[2,30],"124":[2,30],"127":[2,30],"129":[2,30],"131":[2,30],"132":[2,30],"133":[2,30],"135":[2,30],"136":[2,30],"138":[2,30],"139":[2,30],"142":[2,30],"143":[2,30],"144":[2,30],"145":[2,30],"146":[2,30],"147":[2,30],"148":[2,30],"149":[2,30],"150":[2,30],"151":[2,30],"152":[2,30],"153":[2,30],"154":[2,30],"155":[2,30],"156":[2,30],"157":[2,30],"158":[2,30],"159":[2,30],"160":[2,30],"161":[2,30],"162":[2,30],"163":[2,30],"164":[2,30],"165":[2,30],"166":[2,30],"167":[2,30],"168":[2,30]},{"1":[2,196],"4":[2,196],"29":[2,196],"30":[2,196],"51":[2,196],"59":[2,196],"63":[2,196],"81":[2,196],"86":[2,196],"96":[2,196],"100":[2,196],"108":[2,196],"110":[2,196],"111":[2,196],"112":[2,196],"116":[2,196],"122":[2,196],"123":[2,196],"124":[2,196],"131":[2,196],"132":[2,196],"133":[2,196],"135":[2,196],"136":[2,196],"138":[2,196],"139":[2,196],"142":[2,196],"143":[2,196],"144":[2,196],"145":[2,196],"146":[2,196],"147":[2,196],"148":[2,196],"149":[2,196],"150":[2,196],"151":[2,196],"152":[2,196],"153":[2,196],"154":[2,196],"155":[2,196],"156":[2,196],"157":[2,196],"158":[2,196],"159":[2,196],"160":[2,196],"161":[2,196],"162":[2,196],"163":[2,196],"164":[2,196],"165":[2,196],"166":[2,196],"167":[2,196],"168":[2,196]},{"1":[2,197],"4":[2,197],"29":[2,197],"30":[2,197],"51":[2,197],"59":[2,197],"63":[2,197],"81":[2,197],"86":[2,197],"96":[2,197],"100":[2,197],"108":[2,197],"110":[2,197],"111":[2,197],"112":[2,197],"116":[2,197],"122":[2,197],"123":[2,197],"124":[2,197],"131":[2,197],"132":[2,197],"133":[2,197],"135":[2,197],"136":[2,197],"138":[2,197],"139":[2,197],"142":[2,197],"143":[2,197],"144":[2,197],"145":[2,197],"146":[2,197],"147":[2,197],"148":[2,197],"149":[2,197],"150":[2,197],"151":[2,197],"152":[2,197],"153":[2,197],"154":[2,197],"155":[2,197],"156":[2,197],"157":[2,197],"158":[2,197],"159":[2,197],"160":[2,197],"161":[2,197],"162":[2,197],"163":[2,197],"164":[2,197],"165":[2,197],"166":[2,197],"167":[2,197],"168":[2,197]},{"8":215,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":216,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":217,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":218,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":219,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":220,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":221,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":222,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":223,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":224,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":225,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":226,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":227,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":228,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":229,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":230,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":231,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":232,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":233,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":234,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":235,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":236,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":237,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":238,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":239,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":240,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":241,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":242,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":243,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":244,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":245,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"122":[1,246],"123":[1,247]},{"8":248,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":249,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,147],"4":[2,147],"29":[2,147],"30":[2,147],"51":[2,147],"59":[2,147],"63":[2,147],"81":[2,147],"86":[2,147],"96":[2,147],"100":[2,147],"108":[2,147],"110":[2,147],"111":[2,147],"112":[2,147],"116":[2,147],"122":[2,147],"123":[2,147],"124":[2,147],"131":[2,147],"132":[2,147],"133":[2,147],"135":[2,147],"136":[2,147],"138":[2,147],"139":[2,147],"142":[2,147],"143":[2,147],"144":[2,147],"145":[2,147],"146":[2,147],"147":[2,147],"148":[2,147],"149":[2,147],"150":[2,147],"151":[2,147],"152":[2,147],"153":[2,147],"154":[2,147],"155":[2,147],"156":[2,147],"157":[2,147],"158":[2,147],"159":[2,147],"160":[2,147],"161":[2,147],"162":[2,147],"163":[2,147],"164":[2,147],"165":[2,147],"166":[2,147],"167":[2,147],"168":[2,147]},{"1":[2,152],"4":[2,152],"29":[2,152],"30":[2,152],"51":[2,152],"59":[2,152],"63":[2,152],"81":[2,152],"86":[2,152],"96":[2,152],"100":[2,152],"108":[2,152],"110":[2,152],"111":[2,152],"112":[2,152],"116":[2,152],"122":[2,152],"123":[2,152],"124":[2,152],"131":[2,152],"132":[2,152],"133":[2,152],"135":[2,152],"136":[2,152],"138":[2,152],"139":[2,152],"142":[2,152],"143":[2,152],"144":[2,152],"145":[2,152],"146":[2,152],"147":[2,152],"148":[2,152],"149":[2,152],"150":[2,152],"151":[2,152],"152":[2,152],"153":[2,152],"154":[2,152],"155":[2,152],"156":[2,152],"157":[2,152],"158":[2,152],"159":[2,152],"160":[2,152],"161":[2,152],"162":[2,152],"163":[2,152],"164":[2,152],"165":[2,152],"166":[2,152],"167":[2,152],"168":[2,152]},{"63":[1,250]},{"1":[2,56],"4":[2,56],"29":[2,56],"30":[2,56],"51":[2,56],"59":[2,56],"63":[2,56],"81":[2,56],"86":[2,56],"96":[2,56],"100":[2,56],"108":[2,56],"110":[2,56],"111":[2,56],"112":[2,56],"116":[2,56],"122":[2,56],"123":[2,56],"124":[2,56],"131":[2,56],"132":[2,56],"133":[2,56],"135":[2,56],"136":[2,56],"138":[2,56],"139":[2,56],"142":[2,56],"143":[2,56],"144":[2,56],"145":[2,56],"146":[2,56],"147":[2,56],"148":[2,56],"149":[2,56],"150":[2,56],"151":[2,56],"152":[2,56],"153":[2,56],"154":[2,56],"155":[2,56],"156":[2,56],"157":[2,56],"158":[2,56],"159":[2,56],"160":[2,56],"161":[2,56],"162":[2,56],"163":[2,56],"164":[2,56],"165":[2,56],"166":[2,56],"167":[2,56],"168":[2,56]},{"8":251,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":252,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,146],"4":[2,146],"29":[2,146],"30":[2,146],"51":[2,146],"59":[2,146],"63":[2,146],"81":[2,146],"86":[2,146],"96":[2,146],"100":[2,146],"108":[2,146],"110":[2,146],"111":[2,146],"112":[2,146],"116":[2,146],"122":[2,146],"123":[2,146],"124":[2,146],"131":[2,146],"132":[2,146],"133":[2,146],"135":[2,146],"136":[2,146],"138":[2,146],"139":[2,146],"142":[2,146],"143":[2,146],"144":[2,146],"145":[2,146],"146":[2,146],"147":[2,146],"148":[2,146],"149":[2,146],"150":[2,146],"151":[2,146],"152":[2,146],"153":[2,146],"154":[2,146],"155":[2,146],"156":[2,146],"157":[2,146],"158":[2,146],"159":[2,146],"160":[2,146],"161":[2,146],"162":[2,146],"163":[2,146],"164":[2,146],"165":[2,146],"166":[2,146],"167":[2,146],"168":[2,146]},{"1":[2,151],"4":[2,151],"29":[2,151],"30":[2,151],"51":[2,151],"59":[2,151],"63":[2,151],"81":[2,151],"86":[2,151],"96":[2,151],"100":[2,151],"108":[2,151],"110":[2,151],"111":[2,151],"112":[2,151],"116":[2,151],"122":[2,151],"123":[2,151],"124":[2,151],"131":[2,151],"132":[2,151],"133":[2,151],"135":[2,151],"136":[2,151],"138":[2,151],"139":[2,151],"142":[2,151],"143":[2,151],"144":[2,151],"145":[2,151],"146":[2,151],"147":[2,151],"148":[2,151],"149":[2,151],"150":[2,151],"151":[2,151],"152":[2,151],"153":[2,151],"154":[2,151],"155":[2,151],"156":[2,151],"157":[2,151],"158":[2,151],"159":[2,151],"160":[2,151],"161":[2,151],"162":[2,151],"163":[2,151],"164":[2,151],"165":[2,151],"166":[2,151],"167":[2,151],"168":[2,151]},{"1":[2,115],"4":[2,115],"29":[2,115],"30":[2,115],"51":[2,115],"59":[2,115],"63":[2,115],"74":[2,115],"75":[2,115],"76":[2,115],"77":[2,115],"80":[2,115],"81":[2,115],"82":[2,115],"83":[2,115],"86":[2,115],"94":[2,115],"96":[2,115],"100":[2,115],"108":[2,115],"110":[2,115],"111":[2,115],"112":[2,115],"116":[2,115],"122":[2,115],"123":[2,115],"124":[2,115],"131":[2,115],"132":[2,115],"133":[2,115],"135":[2,115],"136":[2,115],"138":[2,115],"139":[2,115],"142":[2,115],"143":[2,115],"144":[2,115],"145":[2,115],"146":[2,115],"147":[2,115],"148":[2,115],"149":[2,115],"150":[2,115],"151":[2,115],"152":[2,115],"153":[2,115],"154":[2,115],"155":[2,115],"156":[2,115],"157":[2,115],"158":[2,115],"159":[2,115],"160":[2,115],"161":[2,115],"162":[2,115],"163":[2,115],"164":[2,115],"165":[2,115],"166":[2,115],"167":[2,115],"168":[2,115]},{"1":[2,72],"4":[2,72],"29":[2,72],"30":[2,72],"46":[2,72],"51":[2,72],"59":[2,72],"63":[2,72],"74":[2,72],"75":[2,72],"76":[2,72],"77":[2,72],"80":[2,72],"81":[2,72],"82":[2,72],"83":[2,72],"86":[2,72],"88":[2,72],"94":[2,72],"96":[2,72],"100":[2,72],"108":[2,72],"110":[2,72],"111":[2,72],"112":[2,72],"116":[2,72],"122":[2,72],"123":[2,72],"124":[2,72],"131":[2,72],"132":[2,72],"133":[2,72],"135":[2,72],"136":[2,72],"138":[2,72],"139":[2,72],"142":[2,72],"143":[2,72],"144":[2,72],"145":[2,72],"146":[2,72],"147":[2,72],"148":[2,72],"149":[2,72],"150":[2,72],"151":[2,72],"152":[2,72],"153":[2,72],"154":[2,72],"155":[2,72],"156":[2,72],"157":[2,72],"158":[2,72],"159":[2,72],"160":[2,72],"161":[2,72],"162":[2,72],"163":[2,72],"164":[2,72],"165":[2,72],"166":[2,72],"167":[2,72],"168":[2,72]},{"4":[2,128],"8":254,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":253,"96":[2,128],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"31":255,"32":[1,89]},{"31":256,"32":[1,89]},{"1":[2,86],"4":[2,86],"29":[2,86],"30":[2,86],"46":[2,86],"51":[2,86],"59":[2,86],"63":[2,86],"74":[2,86],"75":[2,86],"76":[2,86],"77":[2,86],"80":[2,86],"81":[2,86],"82":[2,86],"83":[2,86],"86":[2,86],"88":[2,86],"94":[2,86],"96":[2,86],"100":[2,86],"108":[2,86],"110":[2,86],"111":[2,86],"112":[2,86],"116":[2,86],"122":[2,86],"123":[2,86],"124":[2,86],"131":[2,86],"132":[2,86],"133":[2,86],"135":[2,86],"136":[2,86],"138":[2,86],"139":[2,86],"142":[2,86],"143":[2,86],"144":[2,86],"145":[2,86],"146":[2,86],"147":[2,86],"148":[2,86],"149":[2,86],"150":[2,86],"151":[2,86],"152":[2,86],"153":[2,86],"154":[2,86],"155":[2,86],"156":[2,86],"157":[2,86],"158":[2,86],"159":[2,86],"160":[2,86],"161":[2,86],"162":[2,86],"163":[2,86],"164":[2,86],"165":[2,86],"166":[2,86],"167":[2,86],"168":[2,86]},{"31":257,"32":[1,89]},{"1":[2,88],"4":[2,88],"29":[2,88],"30":[2,88],"46":[2,88],"51":[2,88],"59":[2,88],"63":[2,88],"74":[2,88],"75":[2,88],"76":[2,88],"77":[2,88],"80":[2,88],"81":[2,88],"82":[2,88],"83":[2,88],"86":[2,88],"88":[2,88],"94":[2,88],"96":[2,88],"100":[2,88],"108":[2,88],"110":[2,88],"111":[2,88],"112":[2,88],"116":[2,88],"122":[2,88],"123":[2,88],"124":[2,88],"131":[2,88],"132":[2,88],"133":[2,88],"135":[2,88],"136":[2,88],"138":[2,88],"139":[2,88],"142":[2,88],"143":[2,88],"144":[2,88],"145":[2,88],"146":[2,88],"147":[2,88],"148":[2,88],"149":[2,88],"150":[2,88],"151":[2,88],"152":[2,88],"153":[2,88],"154":[2,88],"155":[2,88],"156":[2,88],"157":[2,88],"158":[2,88],"159":[2,88],"160":[2,88],"161":[2,88],"162":[2,88],"163":[2,88],"164":[2,88],"165":[2,88],"166":[2,88],"167":[2,88],"168":[2,88]},{"1":[2,89],"4":[2,89],"29":[2,89],"30":[2,89],"46":[2,89],"51":[2,89],"59":[2,89],"63":[2,89],"74":[2,89],"75":[2,89],"76":[2,89],"77":[2,89],"80":[2,89],"81":[2,89],"82":[2,89],"83":[2,89],"86":[2,89],"88":[2,89],"94":[2,89],"96":[2,89],"100":[2,89],"108":[2,89],"110":[2,89],"111":[2,89],"112":[2,89],"116":[2,89],"122":[2,89],"123":[2,89],"124":[2,89],"131":[2,89],"132":[2,89],"133":[2,89],"135":[2,89],"136":[2,89],"138":[2,89],"139":[2,89],"142":[2,89],"143":[2,89],"144":[2,89],"145":[2,89],"146":[2,89],"147":[2,89],"148":[2,89],"149":[2,89],"150":[2,89],"151":[2,89],"152":[2,89],"153":[2,89],"154":[2,89],"155":[2,89],"156":[2,89],"157":[2,89],"158":[2,89],"159":[2,89],"160":[2,89],"161":[2,89],"162":[2,89],"163":[2,89],"164":[2,89],"165":[2,89],"166":[2,89],"167":[2,89],"168":[2,89]},{"8":258,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"78":259,"80":[1,260],"82":[1,149],"83":[1,150]},{"78":261,"80":[1,260],"82":[1,149],"83":[1,150]},{"8":262,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,263],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,116],"4":[2,116],"29":[2,116],"30":[2,116],"51":[2,116],"59":[2,116],"63":[2,116],"74":[2,116],"75":[2,116],"76":[2,116],"77":[2,116],"80":[2,116],"81":[2,116],"82":[2,116],"83":[2,116],"86":[2,116],"94":[2,116],"96":[2,116],"100":[2,116],"108":[2,116],"110":[2,116],"111":[2,116],"112":[2,116],"116":[2,116],"122":[2,116],"123":[2,116],"124":[2,116],"131":[2,116],"132":[2,116],"133":[2,116],"135":[2,116],"136":[2,116],"138":[2,116],"139":[2,116],"142":[2,116],"143":[2,116],"144":[2,116],"145":[2,116],"146":[2,116],"147":[2,116],"148":[2,116],"149":[2,116],"150":[2,116],"151":[2,116],"152":[2,116],"153":[2,116],"154":[2,116],"155":[2,116],"156":[2,116],"157":[2,116],"158":[2,116],"159":[2,116],"160":[2,116],"161":[2,116],"162":[2,116],"163":[2,116],"164":[2,116],"165":[2,116],"166":[2,116],"167":[2,116],"168":[2,116]},{"1":[2,73],"4":[2,73],"29":[2,73],"30":[2,73],"46":[2,73],"51":[2,73],"59":[2,73],"63":[2,73],"74":[2,73],"75":[2,73],"76":[2,73],"77":[2,73],"80":[2,73],"81":[2,73],"82":[2,73],"83":[2,73],"86":[2,73],"88":[2,73],"94":[2,73],"96":[2,73],"100":[2,73],"108":[2,73],"110":[2,73],"111":[2,73],"112":[2,73],"116":[2,73],"122":[2,73],"123":[2,73],"124":[2,73],"131":[2,73],"132":[2,73],"133":[2,73],"135":[2,73],"136":[2,73],"138":[2,73],"139":[2,73],"142":[2,73],"143":[2,73],"144":[2,73],"145":[2,73],"146":[2,73],"147":[2,73],"148":[2,73],"149":[2,73],"150":[2,73],"151":[2,73],"152":[2,73],"153":[2,73],"154":[2,73],"155":[2,73],"156":[2,73],"157":[2,73],"158":[2,73],"159":[2,73],"160":[2,73],"161":[2,73],"162":[2,73],"163":[2,73],"164":[2,73],"165":[2,73],"166":[2,73],"167":[2,73],"168":[2,73]},{"1":[2,112],"4":[2,112],"29":[2,112],"30":[2,112],"51":[2,112],"59":[2,112],"63":[2,112],"65":153,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,112],"82":[1,149],"83":[1,150],"86":[2,112],"93":152,"94":[1,141],"96":[2,112],"100":[2,112],"108":[2,112],"110":[2,112],"111":[2,112],"112":[2,112],"116":[2,112],"122":[2,112],"123":[2,112],"124":[2,112],"131":[2,112],"132":[2,112],"133":[2,112],"135":[2,112],"136":[2,112],"138":[2,112],"139":[2,112],"142":[2,112],"143":[2,112],"144":[2,112],"145":[2,112],"146":[2,112],"147":[2,112],"148":[2,112],"149":[2,112],"150":[2,112],"151":[2,112],"152":[2,112],"153":[2,112],"154":[2,112],"155":[2,112],"156":[2,112],"157":[2,112],"158":[2,112],"159":[2,112],"160":[2,112],"161":[2,112],"162":[2,112],"163":[2,112],"164":[2,112],"165":[2,112],"166":[2,112],"167":[2,112],"168":[2,112]},{"1":[2,113],"4":[2,113],"29":[2,113],"30":[2,113],"51":[2,113],"59":[2,113],"63":[2,113],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,113],"82":[1,149],"83":[1,150],"86":[2,113],"93":139,"94":[1,141],"96":[2,113],"100":[2,113],"108":[2,113],"110":[2,113],"111":[2,113],"112":[2,113],"116":[2,113],"122":[2,113],"123":[2,113],"124":[2,113],"131":[2,113],"132":[2,113],"133":[2,113],"135":[2,113],"136":[2,113],"138":[2,113],"139":[2,113],"142":[2,113],"143":[2,113],"144":[2,113],"145":[2,113],"146":[2,113],"147":[2,113],"148":[2,113],"149":[2,113],"150":[2,113],"151":[2,113],"152":[2,113],"153":[2,113],"154":[2,113],"155":[2,113],"156":[2,113],"157":[2,113],"158":[2,113],"159":[2,113],"160":[2,113],"161":[2,113],"162":[2,113],"163":[2,113],"164":[2,113],"165":[2,113],"166":[2,113],"167":[2,113],"168":[2,113]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"51":[2,78],"59":[2,78],"63":[2,78],"74":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"80":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"86":[2,78],"94":[2,78],"96":[2,78],"100":[2,78],"108":[2,78],"110":[2,78],"111":[2,78],"112":[2,78],"116":[2,78],"122":[2,78],"123":[2,78],"124":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"135":[2,78],"136":[2,78],"138":[2,78],"139":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78],"152":[2,78],"153":[2,78],"154":[2,78],"155":[2,78],"156":[2,78],"157":[2,78],"158":[2,78],"159":[2,78],"160":[2,78],"161":[2,78],"162":[2,78],"163":[2,78],"164":[2,78],"165":[2,78],"166":[2,78],"167":[2,78],"168":[2,78]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"74":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"80":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"86":[2,75],"94":[2,75],"96":[2,75],"100":[2,75],"108":[2,75],"110":[2,75],"111":[2,75],"112":[2,75],"116":[2,75],"122":[2,75],"123":[2,75],"124":[2,75],"131":[2,75],"132":[2,75],"133":[2,75],"135":[2,75],"136":[2,75],"138":[2,75],"139":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75],"152":[2,75],"153":[2,75],"154":[2,75],"155":[2,75],"156":[2,75],"157":[2,75],"158":[2,75],"159":[2,75],"160":[2,75],"161":[2,75],"162":[2,75],"163":[2,75],"164":[2,75],"165":[2,75],"166":[2,75],"167":[2,75],"168":[2,75]},{"54":[1,264],"59":[1,265]},{"54":[2,64],"59":[2,64]},{"54":[2,66],"59":[2,66],"63":[1,266]},{"61":[1,267]},{"1":[2,58],"4":[2,58],"29":[2,58],"30":[2,58],"51":[2,58],"59":[2,58],"63":[2,58],"81":[2,58],"86":[2,58],"96":[2,58],"100":[2,58],"108":[2,58],"110":[2,58],"111":[2,58],"112":[2,58],"116":[2,58],"122":[2,58],"123":[2,58],"124":[2,58],"131":[2,58],"132":[2,58],"133":[2,58],"135":[2,58],"136":[2,58],"138":[2,58],"139":[2,58],"142":[2,58],"143":[2,58],"144":[2,58],"145":[2,58],"146":[2,58],"147":[2,58],"148":[2,58],"149":[2,58],"150":[2,58],"151":[2,58],"152":[2,58],"153":[2,58],"154":[2,58],"155":[2,58],"156":[2,58],"157":[2,58],"158":[2,58],"159":[2,58],"160":[2,58],"161":[2,58],"162":[2,58],"163":[2,58],"164":[2,58],"165":[2,58],"166":[2,58],"167":[2,58],"168":[2,58]},{"28":90,"50":[1,56]},{"1":[2,187],"4":[2,187],"29":[2,187],"30":[2,187],"51":[1,134],"59":[2,187],"63":[2,187],"81":[2,187],"86":[2,187],"96":[2,187],"100":[2,187],"108":[2,187],"109":131,"110":[2,187],"111":[2,187],"112":[2,187],"115":132,"116":[2,187],"117":83,"122":[2,187],"123":[2,187],"124":[2,187],"131":[2,187],"132":[2,187],"135":[2,187],"136":[2,187],"142":[2,187],"143":[2,187],"144":[2,187],"145":[2,187],"146":[2,187],"147":[2,187],"148":[2,187],"149":[2,187],"150":[2,187],"151":[2,187],"152":[2,187],"153":[2,187],"154":[2,187],"155":[2,187],"156":[2,187],"157":[2,187],"158":[2,187],"159":[2,187],"160":[2,187],"161":[2,187],"162":[2,187],"163":[2,187],"164":[2,187],"165":[2,187],"166":[2,187],"167":[2,187],"168":[2,187]},{"109":137,"110":[1,79],"112":[1,80],"115":138,"116":[1,82],"117":83,"131":[1,135],"132":[1,136]},{"1":[2,188],"4":[2,188],"29":[2,188],"30":[2,188],"51":[1,134],"59":[2,188],"63":[2,188],"81":[2,188],"86":[2,188],"96":[2,188],"100":[2,188],"108":[2,188],"109":131,"110":[2,188],"111":[2,188],"112":[2,188],"115":132,"116":[2,188],"117":83,"122":[2,188],"123":[2,188],"124":[2,188],"131":[2,188],"132":[2,188],"135":[2,188],"136":[2,188],"142":[2,188],"143":[2,188],"144":[2,188],"145":[2,188],"146":[2,188],"147":[2,188],"148":[2,188],"149":[2,188],"150":[2,188],"151":[2,188],"152":[2,188],"153":[2,188],"154":[2,188],"155":[2,188],"156":[2,188],"157":[2,188],"158":[2,188],"159":[2,188],"160":[2,188],"161":[2,188],"162":[2,188],"163":[2,188],"164":[2,188],"165":[2,188],"166":[2,188],"167":[2,188],"168":[2,188]},{"1":[2,189],"4":[2,189],"29":[2,189],"30":[2,189],"51":[1,134],"59":[2,189],"63":[2,189],"81":[2,189],"86":[2,189],"96":[2,189],"100":[2,189],"108":[2,189],"109":131,"110":[2,189],"111":[2,189],"112":[2,189],"115":132,"116":[2,189],"117":83,"122":[2,189],"123":[2,189],"124":[2,189],"131":[2,189],"132":[2,189],"135":[2,189],"136":[2,189],"142":[2,189],"143":[2,189],"144":[2,189],"145":[2,189],"146":[2,189],"147":[2,189],"148":[2,189],"149":[2,189],"150":[2,189],"151":[2,189],"152":[2,189],"153":[2,189],"154":[2,189],"155":[2,189],"156":[2,189],"157":[2,189],"158":[2,189],"159":[2,189],"160":[2,189],"161":[2,189],"162":[2,189],"163":[2,189],"164":[2,189],"165":[2,189],"166":[2,189],"167":[2,189],"168":[2,189]},{"1":[2,190],"4":[2,190],"29":[2,190],"30":[2,190],"51":[1,134],"59":[2,190],"63":[2,190],"81":[2,190],"86":[2,190],"96":[2,190],"100":[2,190],"108":[2,190],"109":131,"110":[2,190],"111":[2,190],"112":[2,190],"115":132,"116":[2,190],"117":83,"122":[2,190],"123":[2,190],"124":[2,190],"131":[2,190],"132":[2,190],"135":[2,190],"136":[2,190],"142":[2,190],"143":[2,190],"144":[2,190],"145":[2,190],"146":[2,190],"147":[2,190],"148":[2,190],"149":[2,190],"150":[2,190],"151":[2,190],"152":[2,190],"153":[2,190],"154":[2,190],"155":[2,190],"156":[2,190],"157":[2,190],"158":[2,190],"159":[2,190],"160":[2,190],"161":[2,190],"162":[2,190],"163":[2,190],"164":[2,190],"165":[2,190],"166":[2,190],"167":[2,190],"168":[2,190]},{"1":[2,191],"4":[2,191],"29":[2,191],"30":[2,191],"51":[1,134],"59":[2,191],"63":[2,191],"81":[2,191],"86":[2,191],"96":[2,191],"100":[2,191],"108":[2,191],"109":131,"110":[2,191],"111":[2,191],"112":[2,191],"115":132,"116":[2,191],"117":83,"122":[2,191],"123":[2,191],"124":[2,191],"131":[2,191],"132":[2,191],"135":[2,191],"136":[2,191],"142":[2,191],"143":[2,191],"144":[2,191],"145":[2,191],"146":[2,191],"147":[2,191],"148":[2,191],"149":[2,191],"150":[2,191],"151":[2,191],"152":[2,191],"153":[2,191],"154":[2,191],"155":[2,191],"156":[2,191],"157":[2,191],"158":[2,191],"159":[2,191],"160":[2,191],"161":[2,191],"162":[2,191],"163":[2,191],"164":[2,191],"165":[2,191],"166":[2,191],"167":[2,191],"168":[2,191]},{"1":[2,192],"4":[2,192],"29":[2,192],"30":[2,192],"51":[1,134],"59":[2,192],"63":[2,192],"81":[2,192],"86":[2,192],"96":[2,192],"100":[2,192],"108":[2,192],"109":131,"110":[2,192],"111":[2,192],"112":[2,192],"115":132,"116":[2,192],"117":83,"122":[2,192],"123":[2,192],"124":[2,192],"131":[2,192],"132":[2,192],"135":[2,192],"136":[2,192],"142":[2,192],"143":[2,192],"144":[2,192],"145":[2,192],"146":[2,192],"147":[2,192],"148":[2,192],"149":[2,192],"150":[2,192],"151":[2,192],"152":[2,192],"153":[2,192],"154":[2,192],"155":[2,192],"156":[2,192],"157":[2,192],"158":[2,192],"159":[2,192],"160":[2,192],"161":[2,192],"162":[2,192],"163":[2,192],"164":[2,192],"165":[2,192],"166":[2,192],"167":[2,192],"168":[2,192]},{"1":[2,193],"4":[2,193],"29":[2,193],"30":[2,193],"51":[1,134],"59":[2,193],"63":[2,193],"81":[2,193],"86":[2,193],"96":[2,193],"100":[2,193],"108":[2,193],"109":131,"110":[2,193],"111":[2,193],"112":[2,193],"115":132,"116":[2,193],"117":83,"122":[2,193],"123":[2,193],"124":[2,193],"131":[2,193],"132":[2,193],"135":[2,193],"136":[2,193],"142":[2,193],"143":[2,193],"144":[2,193],"145":[2,193],"146":[2,193],"147":[2,193],"148":[2,193],"149":[2,193],"150":[2,193],"151":[2,193],"152":[2,193],"153":[2,193],"154":[2,193],"155":[2,193],"156":[2,193],"157":[2,193],"158":[2,193],"159":[2,193],"160":[2,193],"161":[2,193],"162":[2,193],"163":[2,193],"164":[2,193],"165":[2,193],"166":[2,193],"167":[2,193],"168":[2,193]},{"1":[2,194],"4":[2,194],"29":[2,194],"30":[2,194],"51":[1,134],"59":[2,194],"63":[2,194],"81":[2,194],"86":[2,194],"96":[2,194],"100":[2,194],"108":[2,194],"109":131,"110":[2,194],"111":[2,194],"112":[2,194],"115":132,"116":[2,194],"117":83,"122":[2,194],"123":[2,194],"124":[2,194],"131":[2,194],"132":[2,194],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,194],"156":[2,194],"157":[2,194],"158":[2,194],"159":[2,194],"160":[2,194],"161":[2,194],"162":[2,194],"163":[2,194],"164":[2,194],"165":[2,194],"166":[2,194],"167":[2,194],"168":[1,125]},{"1":[2,195],"4":[2,195],"29":[2,195],"30":[2,195],"51":[1,134],"59":[2,195],"63":[2,195],"81":[2,195],"86":[2,195],"96":[2,195],"100":[2,195],"108":[2,195],"109":131,"110":[2,195],"111":[2,195],"112":[2,195],"115":132,"116":[2,195],"117":83,"122":[2,195],"123":[2,195],"124":[2,195],"131":[2,195],"132":[2,195],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,195],"156":[2,195],"157":[2,195],"158":[2,195],"159":[2,195],"160":[2,195],"161":[2,195],"162":[2,195],"163":[2,195],"164":[2,195],"165":[2,195],"166":[2,195],"167":[2,195],"168":[1,125]},{"4":[1,163],"6":269,"29":[1,6],"131":[1,268]},{"103":270,"104":[1,271],"105":[1,272]},{"1":[2,145],"4":[2,145],"29":[2,145],"30":[2,145],"51":[2,145],"59":[2,145],"63":[2,145],"81":[2,145],"86":[2,145],"96":[2,145],"100":[2,145],"108":[2,145],"110":[2,145],"111":[2,145],"112":[2,145],"116":[2,145],"122":[2,145],"123":[2,145],"124":[2,145],"131":[2,145],"132":[2,145],"133":[2,145],"135":[2,145],"136":[2,145],"138":[2,145],"139":[2,145],"142":[2,145],"143":[2,145],"144":[2,145],"145":[2,145],"146":[2,145],"147":[2,145],"148":[2,145],"149":[2,145],"150":[2,145],"151":[2,145],"152":[2,145],"153":[2,145],"154":[2,145],"155":[2,145],"156":[2,145],"157":[2,145],"158":[2,145],"159":[2,145],"160":[2,145],"161":[2,145],"162":[2,145],"163":[2,145],"164":[2,145],"165":[2,145],"166":[2,145],"167":[2,145],"168":[2,145]},{"1":[2,153],"4":[2,153],"29":[2,153],"30":[2,153],"51":[2,153],"59":[2,153],"63":[2,153],"81":[2,153],"86":[2,153],"96":[2,153],"100":[2,153],"108":[2,153],"110":[2,153],"111":[2,153],"112":[2,153],"116":[2,153],"122":[2,153],"123":[2,153],"124":[2,153],"131":[2,153],"132":[2,153],"133":[2,153],"135":[2,153],"136":[2,153],"138":[2,153],"139":[2,153],"142":[2,153],"143":[2,153],"144":[2,153],"145":[2,153],"146":[2,153],"147":[2,153],"148":[2,153],"149":[2,153],"150":[2,153],"151":[2,153],"152":[2,153],"153":[2,153],"154":[2,153],"155":[2,153],"156":[2,153],"157":[2,153],"158":[2,153],"159":[2,153],"160":[2,153],"161":[2,153],"162":[2,153],"163":[2,153],"164":[2,153],"165":[2,153],"166":[2,153],"167":[2,153],"168":[2,153]},{"29":[1,273],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"126":274,"128":275,"129":[1,276]},{"14":277,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":157,"66":184,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"1":[2,99],"4":[2,99],"29":[1,279],"30":[2,99],"51":[2,99],"59":[2,99],"63":[2,99],"74":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"80":[2,75],"81":[2,99],"82":[2,75],"83":[2,75],"86":[2,99],"88":[1,278],"94":[2,75],"96":[2,99],"100":[2,99],"108":[2,99],"110":[2,99],"111":[2,99],"112":[2,99],"116":[2,99],"122":[2,99],"123":[2,99],"124":[2,99],"131":[2,99],"132":[2,99],"133":[2,99],"135":[2,99],"136":[2,99],"138":[2,99],"139":[2,99],"142":[2,99],"143":[2,99],"144":[2,99],"145":[2,99],"146":[2,99],"147":[2,99],"148":[2,99],"149":[2,99],"150":[2,99],"151":[2,99],"152":[2,99],"153":[2,99],"154":[2,99],"155":[2,99],"156":[2,99],"157":[2,99],"158":[2,99],"159":[2,99],"160":[2,99],"161":[2,99],"162":[2,99],"163":[2,99],"164":[2,99],"165":[2,99],"166":[2,99],"167":[2,99],"168":[2,99]},{"4":[2,106],"28":212,"30":[2,106],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"89":280,"90":281},{"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"82":[1,149],"83":[1,150],"93":139,"94":[1,141]},{"65":153,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"82":[1,149],"83":[1,150],"93":152,"94":[1,141]},{"1":[2,53],"4":[2,53],"30":[2,53],"51":[1,134],"63":[1,133],"108":[2,53],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[2,53],"132":[2,53],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,139],"4":[2,139],"30":[2,139],"51":[1,134],"63":[1,133],"108":[2,139],"109":131,"110":[2,139],"112":[2,139],"115":132,"116":[2,139],"117":83,"122":[1,126],"123":[1,127],"131":[2,139],"132":[2,139],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"108":[1,286]},{"4":[2,129],"29":[2,129],"51":[1,134],"59":[2,129],"63":[1,287],"100":[2,129],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,61],"29":[2,61],"58":288,"59":[1,289],"100":[2,61]},{"1":[2,122],"4":[2,122],"29":[2,122],"30":[2,122],"46":[2,122],"48":[2,122],"51":[2,122],"59":[2,122],"63":[2,122],"74":[2,122],"75":[2,122],"76":[2,122],"77":[2,122],"80":[2,122],"81":[2,122],"82":[2,122],"83":[2,122],"86":[2,122],"88":[2,122],"94":[2,122],"96":[2,122],"100":[2,122],"108":[2,122],"110":[2,122],"111":[2,122],"112":[2,122],"116":[2,122],"122":[2,122],"123":[2,122],"124":[2,122],"131":[2,122],"132":[2,122],"133":[2,122],"135":[2,122],"136":[2,122],"138":[2,122],"139":[2,122],"142":[2,122],"143":[2,122],"144":[2,122],"145":[2,122],"146":[2,122],"147":[2,122],"148":[2,122],"149":[2,122],"150":[2,122],"151":[2,122],"152":[2,122],"153":[2,122],"154":[2,122],"155":[2,122],"156":[2,122],"157":[2,122],"158":[2,122],"159":[2,122],"160":[2,122],"161":[2,122],"162":[2,122],"163":[2,122],"164":[2,122],"165":[2,122],"166":[2,122],"167":[2,122],"168":[2,122]},{"1":[2,119],"4":[2,119],"29":[2,119],"30":[2,119],"51":[2,119],"59":[2,119],"63":[2,119],"81":[2,119],"86":[2,119],"96":[2,119],"100":[2,119],"108":[2,119],"110":[2,119],"111":[2,119],"112":[2,119],"116":[2,119],"122":[2,119],"123":[2,119],"124":[2,119],"131":[2,119],"132":[2,119],"133":[2,119],"135":[2,119],"136":[2,119],"138":[2,119],"139":[2,119],"142":[2,119],"143":[2,119],"144":[2,119],"145":[2,119],"146":[2,119],"147":[2,119],"148":[2,119],"149":[2,119],"150":[2,119],"151":[2,119],"152":[2,119],"153":[2,119],"154":[2,119],"155":[2,119],"156":[2,119],"157":[2,119],"158":[2,119],"159":[2,119],"160":[2,119],"161":[2,119],"162":[2,119],"163":[2,119],"164":[2,119],"165":[2,119],"166":[2,119],"167":[2,119],"168":[2,119]},{"4":[1,163],"6":290,"29":[1,6],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,163],"6":291,"29":[1,6],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,141],"4":[2,141],"29":[2,141],"30":[2,141],"51":[1,134],"59":[2,141],"63":[1,133],"81":[2,141],"86":[2,141],"96":[2,141],"100":[2,141],"108":[2,141],"109":131,"110":[1,79],"111":[1,292],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,141],"131":[2,141],"132":[2,141],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,143],"4":[2,143],"29":[2,143],"30":[2,143],"51":[1,134],"59":[2,143],"63":[1,133],"81":[2,143],"86":[2,143],"96":[2,143],"100":[2,143],"108":[2,143],"109":131,"110":[1,79],"111":[1,293],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,143],"131":[2,143],"132":[2,143],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,149],"4":[2,149],"29":[2,149],"30":[2,149],"51":[2,149],"59":[2,149],"63":[2,149],"81":[2,149],"86":[2,149],"96":[2,149],"100":[2,149],"108":[2,149],"110":[2,149],"111":[2,149],"112":[2,149],"116":[2,149],"122":[2,149],"123":[2,149],"124":[2,149],"131":[2,149],"132":[2,149],"133":[2,149],"135":[2,149],"136":[2,149],"138":[2,149],"139":[2,149],"142":[2,149],"143":[2,149],"144":[2,149],"145":[2,149],"146":[2,149],"147":[2,149],"148":[2,149],"149":[2,149],"150":[2,149],"151":[2,149],"152":[2,149],"153":[2,149],"154":[2,149],"155":[2,149],"156":[2,149],"157":[2,149],"158":[2,149],"159":[2,149],"160":[2,149],"161":[2,149],"162":[2,149],"163":[2,149],"164":[2,149],"165":[2,149],"166":[2,149],"167":[2,149],"168":[2,149]},{"1":[2,150],"4":[2,150],"29":[2,150],"30":[2,150],"51":[1,134],"59":[2,150],"63":[1,133],"81":[2,150],"86":[2,150],"96":[2,150],"100":[2,150],"108":[2,150],"109":131,"110":[1,79],"111":[2,150],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,150],"131":[2,150],"132":[2,150],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,154],"4":[2,154],"29":[2,154],"30":[2,154],"51":[2,154],"59":[2,154],"63":[2,154],"81":[2,154],"86":[2,154],"96":[2,154],"100":[2,154],"108":[2,154],"110":[2,154],"111":[2,154],"112":[2,154],"116":[2,154],"122":[2,154],"123":[2,154],"124":[2,154],"131":[2,154],"132":[2,154],"133":[2,154],"135":[2,154],"136":[2,154],"138":[2,154],"139":[2,154],"142":[2,154],"143":[2,154],"144":[2,154],"145":[2,154],"146":[2,154],"147":[2,154],"148":[2,154],"149":[2,154],"150":[2,154],"151":[2,154],"152":[2,154],"153":[2,154],"154":[2,154],"155":[2,154],"156":[2,154],"157":[2,154],"158":[2,154],"159":[2,154],"160":[2,154],"161":[2,154],"162":[2,154],"163":[2,154],"164":[2,154],"165":[2,154],"166":[2,154],"167":[2,154],"168":[2,154]},{"122":[2,156],"123":[2,156]},{"31":202,"32":[1,89],"68":203,"69":204,"84":[1,86],"99":[1,295],"119":294,"121":201},{"59":[1,296],"122":[2,161],"123":[2,161]},{"59":[2,158],"122":[2,158],"123":[2,158]},{"59":[2,159],"122":[2,159],"123":[2,159]},{"59":[2,160],"122":[2,160],"123":[2,160]},{"1":[2,155],"4":[2,155],"29":[2,155],"30":[2,155],"51":[2,155],"59":[2,155],"63":[2,155],"81":[2,155],"86":[2,155],"96":[2,155],"100":[2,155],"108":[2,155],"110":[2,155],"111":[2,155],"112":[2,155],"116":[2,155],"122":[2,155],"123":[2,155],"124":[2,155],"131":[2,155],"132":[2,155],"133":[2,155],"135":[2,155],"136":[2,155],"138":[2,155],"139":[2,155],"142":[2,155],"143":[2,155],"144":[2,155],"145":[2,155],"146":[2,155],"147":[2,155],"148":[2,155],"149":[2,155],"150":[2,155],"151":[2,155],"152":[2,155],"153":[2,155],"154":[2,155],"155":[2,155],"156":[2,155],"157":[2,155],"158":[2,155],"159":[2,155],"160":[2,155],"161":[2,155],"162":[2,155],"163":[2,155],"164":[2,155],"165":[2,155],"166":[2,155],"167":[2,155],"168":[2,155]},{"8":297,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":298,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,61],"29":[2,61],"58":299,"59":[1,300],"86":[2,61]},{"4":[2,95],"29":[2,95],"30":[2,95],"59":[2,95],"86":[2,95]},{"4":[2,46],"29":[2,46],"30":[2,46],"48":[1,301],"59":[2,46],"86":[2,46]},{"4":[2,47],"29":[2,47],"30":[2,47],"48":[1,302],"59":[2,47],"86":[2,47]},{"4":[2,52],"29":[2,52],"30":[2,52],"59":[2,52],"86":[2,52]},{"1":[2,6],"4":[2,6],"30":[2,6]},{"1":[2,29],"4":[2,29],"29":[2,29],"30":[2,29],"51":[2,29],"59":[2,29],"63":[2,29],"81":[2,29],"86":[2,29],"96":[2,29],"100":[2,29],"104":[2,29],"105":[2,29],"108":[2,29],"110":[2,29],"111":[2,29],"112":[2,29],"116":[2,29],"122":[2,29],"123":[2,29],"124":[2,29],"127":[2,29],"129":[2,29],"131":[2,29],"132":[2,29],"133":[2,29],"135":[2,29],"136":[2,29],"138":[2,29],"139":[2,29],"142":[2,29],"143":[2,29],"144":[2,29],"145":[2,29],"146":[2,29],"147":[2,29],"148":[2,29],"149":[2,29],"150":[2,29],"151":[2,29],"152":[2,29],"153":[2,29],"154":[2,29],"155":[2,29],"156":[2,29],"157":[2,29],"158":[2,29],"159":[2,29],"160":[2,29],"161":[2,29],"162":[2,29],"163":[2,29],"164":[2,29],"165":[2,29],"166":[2,29],"167":[2,29],"168":[2,29]},{"1":[2,198],"4":[2,198],"29":[2,198],"30":[2,198],"51":[1,134],"59":[2,198],"63":[2,198],"81":[2,198],"86":[2,198],"96":[2,198],"100":[2,198],"108":[2,198],"109":131,"110":[2,198],"111":[2,198],"112":[2,198],"115":132,"116":[2,198],"117":83,"122":[2,198],"123":[2,198],"124":[2,198],"131":[2,198],"132":[2,198],"133":[1,128],"135":[2,198],"136":[2,198],"138":[1,95],"139":[1,96],"142":[2,198],"143":[2,198],"144":[2,198],"145":[2,198],"146":[2,198],"147":[2,198],"148":[2,198],"149":[2,198],"150":[2,198],"151":[2,198],"152":[2,198],"153":[2,198],"154":[2,198],"155":[2,198],"156":[2,198],"157":[2,198],"158":[2,198],"159":[2,198],"160":[2,198],"161":[2,198],"162":[2,198],"163":[2,198],"164":[2,198],"165":[2,198],"166":[2,198],"167":[2,198],"168":[2,198]},{"1":[2,199],"4":[2,199],"29":[2,199],"30":[2,199],"51":[1,134],"59":[2,199],"63":[2,199],"81":[2,199],"86":[2,199],"96":[2,199],"100":[2,199],"108":[2,199],"109":131,"110":[2,199],"111":[2,199],"112":[2,199],"115":132,"116":[2,199],"117":83,"122":[2,199],"123":[2,199],"124":[2,199],"131":[2,199],"132":[2,199],"133":[1,128],"135":[2,199],"136":[2,199],"138":[1,95],"139":[1,96],"142":[2,199],"143":[2,199],"144":[2,199],"145":[2,199],"146":[2,199],"147":[2,199],"148":[2,199],"149":[2,199],"150":[2,199],"151":[2,199],"152":[2,199],"153":[2,199],"154":[2,199],"155":[2,199],"156":[2,199],"157":[2,199],"158":[2,199],"159":[2,199],"160":[2,199],"161":[2,199],"162":[2,199],"163":[2,199],"164":[2,199],"165":[2,199],"166":[2,199],"167":[2,199],"168":[2,199]},{"1":[2,200],"4":[2,200],"29":[2,200],"30":[2,200],"51":[1,134],"59":[2,200],"63":[2,200],"81":[2,200],"86":[2,200],"96":[2,200],"100":[2,200],"108":[2,200],"109":131,"110":[2,200],"111":[2,200],"112":[2,200],"115":132,"116":[2,200],"117":83,"122":[2,200],"123":[2,200],"124":[2,200],"131":[2,200],"132":[2,200],"133":[1,128],"135":[2,200],"136":[2,200],"138":[1,95],"139":[1,96],"142":[2,200],"143":[2,200],"144":[2,200],"145":[2,200],"146":[2,200],"147":[2,200],"148":[2,200],"149":[2,200],"150":[2,200],"151":[2,200],"152":[2,200],"153":[2,200],"154":[2,200],"155":[2,200],"156":[2,200],"157":[2,200],"158":[2,200],"159":[2,200],"160":[2,200],"161":[2,200],"162":[2,200],"163":[2,200],"164":[2,200],"165":[2,200],"166":[2,200],"167":[2,200],"168":[2,200]},{"1":[2,201],"4":[2,201],"29":[2,201],"30":[2,201],"51":[1,134],"59":[2,201],"63":[2,201],"81":[2,201],"86":[2,201],"96":[2,201],"100":[2,201],"108":[2,201],"109":131,"110":[2,201],"111":[2,201],"112":[2,201],"115":132,"116":[2,201],"117":83,"122":[2,201],"123":[2,201],"124":[2,201],"131":[2,201],"132":[2,201],"133":[1,128],"135":[2,201],"136":[2,201],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,201],"146":[2,201],"147":[2,201],"148":[2,201],"149":[2,201],"150":[2,201],"151":[2,201],"152":[2,201],"153":[2,201],"154":[2,201],"155":[2,201],"156":[2,201],"157":[2,201],"158":[2,201],"159":[2,201],"160":[2,201],"161":[2,201],"162":[2,201],"163":[2,201],"164":[2,201],"165":[2,201],"166":[2,201],"167":[2,201],"168":[2,201]},{"1":[2,202],"4":[2,202],"29":[2,202],"30":[2,202],"51":[1,134],"59":[2,202],"63":[2,202],"81":[2,202],"86":[2,202],"96":[2,202],"100":[2,202],"108":[2,202],"109":131,"110":[2,202],"111":[2,202],"112":[2,202],"115":132,"116":[2,202],"117":83,"122":[2,202],"123":[2,202],"124":[2,202],"131":[2,202],"132":[2,202],"133":[1,128],"135":[2,202],"136":[2,202],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,202],"146":[2,202],"147":[2,202],"148":[2,202],"149":[2,202],"150":[2,202],"151":[2,202],"152":[2,202],"153":[2,202],"154":[2,202],"155":[2,202],"156":[2,202],"157":[2,202],"158":[2,202],"159":[2,202],"160":[2,202],"161":[2,202],"162":[2,202],"163":[2,202],"164":[2,202],"165":[2,202],"166":[2,202],"167":[2,202],"168":[2,202]},{"1":[2,203],"4":[2,203],"29":[2,203],"30":[2,203],"51":[1,134],"59":[2,203],"63":[2,203],"81":[2,203],"86":[2,203],"96":[2,203],"100":[2,203],"108":[2,203],"109":131,"110":[2,203],"111":[2,203],"112":[2,203],"115":132,"116":[2,203],"117":83,"122":[2,203],"123":[2,203],"124":[2,203],"131":[2,203],"132":[2,203],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,203],"146":[2,203],"147":[2,203],"148":[2,203],"149":[2,203],"150":[2,203],"151":[2,203],"152":[2,203],"153":[2,203],"154":[2,203],"155":[2,203],"156":[2,203],"157":[2,203],"158":[2,203],"159":[2,203],"160":[2,203],"161":[2,203],"162":[2,203],"163":[2,203],"164":[2,203],"165":[2,203],"166":[2,203],"167":[2,203],"168":[2,203]},{"1":[2,204],"4":[2,204],"29":[2,204],"30":[2,204],"51":[1,134],"59":[2,204],"63":[2,204],"81":[2,204],"86":[2,204],"96":[2,204],"100":[2,204],"108":[2,204],"109":131,"110":[2,204],"111":[2,204],"112":[2,204],"115":132,"116":[2,204],"117":83,"122":[2,204],"123":[2,204],"124":[2,204],"131":[2,204],"132":[2,204],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,204],"146":[2,204],"147":[2,204],"148":[2,204],"149":[2,204],"150":[2,204],"151":[2,204],"152":[2,204],"153":[2,204],"154":[2,204],"155":[2,204],"156":[2,204],"157":[2,204],"158":[2,204],"159":[2,204],"160":[2,204],"161":[2,204],"162":[2,204],"163":[2,204],"164":[2,204],"165":[2,204],"166":[2,204],"167":[2,204],"168":[2,204]},{"1":[2,205],"4":[2,205],"29":[2,205],"30":[2,205],"51":[1,134],"59":[2,205],"63":[2,205],"81":[2,205],"86":[2,205],"96":[2,205],"100":[2,205],"108":[2,205],"109":131,"110":[2,205],"111":[2,205],"112":[2,205],"115":132,"116":[2,205],"117":83,"122":[2,205],"123":[2,205],"124":[2,205],"131":[2,205],"132":[2,205],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,205],"146":[2,205],"147":[2,205],"148":[2,205],"149":[2,205],"150":[2,205],"151":[2,205],"152":[2,205],"153":[2,205],"154":[2,205],"155":[2,205],"156":[2,205],"157":[2,205],"158":[2,205],"159":[2,205],"160":[2,205],"161":[2,205],"162":[2,205],"163":[2,205],"164":[2,205],"165":[2,205],"166":[2,205],"167":[2,205],"168":[2,205]},{"1":[2,206],"4":[2,206],"29":[2,206],"30":[2,206],"51":[1,134],"59":[2,206],"63":[2,206],"81":[2,206],"86":[2,206],"96":[2,206],"100":[2,206],"108":[2,206],"109":131,"110":[2,206],"111":[2,206],"112":[2,206],"115":132,"116":[2,206],"117":83,"122":[2,206],"123":[2,206],"124":[2,206],"131":[2,206],"132":[2,206],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[2,206],"149":[2,206],"150":[2,206],"151":[2,206],"152":[2,206],"153":[2,206],"154":[2,206],"155":[2,206],"156":[2,206],"157":[2,206],"158":[2,206],"159":[2,206],"160":[2,206],"161":[2,206],"162":[2,206],"163":[2,206],"164":[2,206],"165":[2,206],"166":[2,206],"167":[2,206],"168":[2,206]},{"1":[2,207],"4":[2,207],"29":[2,207],"30":[2,207],"51":[1,134],"59":[2,207],"63":[2,207],"81":[2,207],"86":[2,207],"96":[2,207],"100":[2,207],"108":[2,207],"109":131,"110":[2,207],"111":[2,207],"112":[2,207],"115":132,"116":[2,207],"117":83,"122":[2,207],"123":[2,207],"124":[2,207],"131":[2,207],"132":[2,207],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[2,207],"149":[2,207],"150":[2,207],"151":[2,207],"152":[2,207],"153":[2,207],"154":[2,207],"155":[2,207],"156":[2,207],"157":[2,207],"158":[2,207],"159":[2,207],"160":[2,207],"161":[2,207],"162":[2,207],"163":[2,207],"164":[2,207],"165":[2,207],"166":[2,207],"167":[2,207],"168":[2,207]},{"1":[2,208],"4":[2,208],"29":[2,208],"30":[2,208],"51":[1,134],"59":[2,208],"63":[2,208],"81":[2,208],"86":[2,208],"96":[2,208],"100":[2,208],"108":[2,208],"109":131,"110":[2,208],"111":[2,208],"112":[2,208],"115":132,"116":[2,208],"117":83,"122":[2,208],"123":[2,208],"124":[2,208],"131":[2,208],"132":[2,208],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[2,208],"149":[2,208],"150":[2,208],"151":[2,208],"152":[2,208],"153":[2,208],"154":[2,208],"155":[2,208],"156":[2,208],"157":[2,208],"158":[2,208],"159":[2,208],"160":[2,208],"161":[2,208],"162":[2,208],"163":[2,208],"164":[2,208],"165":[2,208],"166":[2,208],"167":[2,208],"168":[2,208]},{"1":[2,209],"4":[2,209],"29":[2,209],"30":[2,209],"51":[1,134],"59":[2,209],"63":[2,209],"81":[2,209],"86":[2,209],"96":[2,209],"100":[2,209],"108":[2,209],"109":131,"110":[2,209],"111":[2,209],"112":[2,209],"115":132,"116":[2,209],"117":83,"122":[2,209],"123":[2,209],"124":[2,209],"131":[2,209],"132":[2,209],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,209],"152":[2,209],"153":[2,209],"154":[2,209],"155":[2,209],"156":[2,209],"157":[2,209],"158":[2,209],"159":[2,209],"160":[2,209],"161":[2,209],"162":[2,209],"163":[2,209],"164":[2,209],"165":[2,209],"166":[2,209],"167":[2,209],"168":[2,209]},{"1":[2,210],"4":[2,210],"29":[2,210],"30":[2,210],"51":[1,134],"59":[2,210],"63":[2,210],"81":[2,210],"86":[2,210],"96":[2,210],"100":[2,210],"108":[2,210],"109":131,"110":[2,210],"111":[2,210],"112":[2,210],"115":132,"116":[2,210],"117":83,"122":[2,210],"123":[2,210],"124":[2,210],"131":[2,210],"132":[2,210],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,210],"152":[2,210],"153":[2,210],"154":[2,210],"155":[2,210],"156":[2,210],"157":[2,210],"158":[2,210],"159":[2,210],"160":[2,210],"161":[2,210],"162":[2,210],"163":[2,210],"164":[2,210],"165":[2,210],"166":[2,210],"167":[2,210],"168":[2,210]},{"1":[2,211],"4":[2,211],"29":[2,211],"30":[2,211],"51":[1,134],"59":[2,211],"63":[2,211],"81":[2,211],"86":[2,211],"96":[2,211],"100":[2,211],"108":[2,211],"109":131,"110":[2,211],"111":[2,211],"112":[2,211],"115":132,"116":[2,211],"117":83,"122":[2,211],"123":[2,211],"124":[2,211],"131":[2,211],"132":[2,211],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,211],"152":[2,211],"153":[2,211],"154":[2,211],"155":[2,211],"156":[2,211],"157":[2,211],"158":[2,211],"159":[2,211],"160":[2,211],"161":[2,211],"162":[2,211],"163":[2,211],"164":[2,211],"165":[2,211],"166":[2,211],"167":[2,211],"168":[2,211]},{"1":[2,212],"4":[2,212],"29":[2,212],"30":[2,212],"51":[1,134],"59":[2,212],"63":[2,212],"81":[2,212],"86":[2,212],"96":[2,212],"100":[2,212],"108":[2,212],"109":131,"110":[2,212],"111":[2,212],"112":[2,212],"115":132,"116":[2,212],"117":83,"122":[2,212],"123":[2,212],"124":[2,212],"131":[2,212],"132":[2,212],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,212],"152":[2,212],"153":[2,212],"154":[2,212],"155":[2,212],"156":[2,212],"157":[2,212],"158":[2,212],"159":[2,212],"160":[2,212],"161":[2,212],"162":[2,212],"163":[2,212],"164":[2,212],"165":[2,212],"166":[2,212],"167":[2,212],"168":[2,212]},{"1":[2,213],"4":[2,213],"29":[2,213],"30":[2,213],"51":[1,134],"59":[2,213],"63":[2,213],"81":[2,213],"86":[2,213],"96":[2,213],"100":[2,213],"108":[2,213],"109":131,"110":[2,213],"111":[2,213],"112":[2,213],"115":132,"116":[2,213],"117":83,"122":[2,213],"123":[2,213],"124":[2,213],"131":[2,213],"132":[2,213],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,213],"156":[2,213],"157":[2,213],"158":[2,213],"159":[2,213],"160":[2,213],"161":[2,213],"162":[2,213],"163":[2,213],"164":[2,213],"165":[2,213],"166":[2,213],"167":[2,213],"168":[1,125]},{"1":[2,214],"4":[2,214],"29":[2,214],"30":[2,214],"51":[1,134],"59":[2,214],"63":[2,214],"81":[2,214],"86":[2,214],"96":[2,214],"100":[2,214],"108":[2,214],"109":131,"110":[2,214],"111":[2,214],"112":[2,214],"115":132,"116":[2,214],"117":83,"122":[2,214],"123":[2,214],"124":[2,214],"131":[2,214],"132":[2,214],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,214],"156":[2,214],"157":[2,214],"158":[2,214],"159":[2,214],"160":[2,214],"161":[2,214],"162":[2,214],"163":[2,214],"164":[2,214],"165":[2,214],"166":[2,214],"167":[2,214],"168":[1,125]},{"1":[2,215],"4":[2,215],"29":[2,215],"30":[2,215],"51":[1,134],"59":[2,215],"63":[2,215],"81":[2,215],"86":[2,215],"96":[2,215],"100":[2,215],"108":[2,215],"109":131,"110":[2,215],"111":[2,215],"112":[2,215],"115":132,"116":[2,215],"117":83,"122":[2,215],"123":[2,215],"124":[2,215],"131":[2,215],"132":[2,215],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[2,215],"158":[2,215],"159":[2,215],"160":[2,215],"161":[2,215],"162":[2,215],"163":[2,215],"164":[2,215],"165":[2,215],"166":[2,215],"167":[2,215],"168":[1,125]},{"1":[2,216],"4":[2,216],"29":[2,216],"30":[2,216],"51":[1,134],"59":[2,216],"63":[2,216],"81":[2,216],"86":[2,216],"96":[2,216],"100":[2,216],"108":[2,216],"109":131,"110":[2,216],"111":[2,216],"112":[2,216],"115":132,"116":[2,216],"117":83,"122":[2,216],"123":[2,216],"124":[2,216],"131":[2,216],"132":[2,216],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[2,216],"158":[2,216],"159":[2,216],"160":[2,216],"161":[2,216],"162":[2,216],"163":[2,216],"164":[2,216],"165":[2,216],"166":[2,216],"167":[2,216],"168":[1,125]},{"1":[2,217],"4":[2,217],"29":[2,217],"30":[2,217],"51":[1,134],"59":[2,217],"63":[2,217],"81":[2,217],"86":[2,217],"96":[2,217],"100":[2,217],"108":[2,217],"109":131,"110":[2,217],"111":[2,217],"112":[2,217],"115":132,"116":[2,217],"117":83,"122":[2,217],"123":[2,217],"124":[2,217],"131":[2,217],"132":[2,217],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[2,217],"158":[2,217],"159":[2,217],"160":[2,217],"161":[2,217],"162":[2,217],"163":[2,217],"164":[2,217],"165":[2,217],"166":[2,217],"167":[2,217],"168":[1,125]},{"1":[2,218],"4":[2,218],"29":[2,218],"30":[2,218],"51":[1,134],"59":[2,218],"63":[2,218],"81":[2,218],"86":[2,218],"96":[2,218],"100":[2,218],"108":[2,218],"109":131,"110":[2,218],"111":[2,218],"112":[2,218],"115":132,"116":[2,218],"117":83,"122":[2,218],"123":[2,218],"124":[2,218],"131":[2,218],"132":[2,218],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,219],"4":[2,219],"29":[2,219],"30":[2,219],"51":[1,134],"59":[2,219],"63":[2,219],"81":[2,219],"86":[2,219],"96":[2,219],"100":[2,219],"108":[2,219],"109":131,"110":[2,219],"111":[2,219],"112":[2,219],"115":132,"116":[2,219],"117":83,"122":[2,219],"123":[2,219],"124":[2,219],"131":[2,219],"132":[2,219],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,220],"4":[2,220],"29":[2,220],"30":[2,220],"51":[1,134],"59":[2,220],"63":[2,220],"81":[2,220],"86":[2,220],"96":[2,220],"100":[2,220],"108":[2,220],"109":131,"110":[2,220],"111":[2,220],"112":[2,220],"115":132,"116":[2,220],"117":83,"122":[2,220],"123":[2,220],"124":[2,220],"131":[2,220],"132":[2,220],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,221],"4":[2,221],"29":[2,221],"30":[2,221],"51":[1,134],"59":[2,221],"63":[2,221],"81":[2,221],"86":[2,221],"96":[2,221],"100":[2,221],"108":[2,221],"109":131,"110":[2,221],"111":[2,221],"112":[2,221],"115":132,"116":[2,221],"117":83,"122":[2,221],"123":[2,221],"124":[2,221],"131":[2,221],"132":[2,221],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,222],"4":[2,222],"29":[2,222],"30":[2,222],"51":[1,134],"59":[2,222],"63":[2,222],"81":[2,222],"86":[2,222],"96":[2,222],"100":[2,222],"108":[2,222],"109":131,"110":[2,222],"111":[2,222],"112":[2,222],"115":132,"116":[2,222],"117":83,"122":[2,222],"123":[2,222],"124":[2,222],"131":[2,222],"132":[2,222],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,223],"4":[2,223],"29":[2,223],"30":[2,223],"51":[1,134],"59":[2,223],"63":[2,223],"81":[2,223],"86":[2,223],"96":[2,223],"100":[2,223],"108":[2,223],"109":131,"110":[2,223],"111":[2,223],"112":[2,223],"115":132,"116":[2,223],"117":83,"122":[2,223],"123":[2,223],"124":[2,223],"131":[2,223],"132":[2,223],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,224],"4":[2,224],"29":[2,224],"30":[2,224],"51":[1,134],"59":[2,224],"63":[2,224],"81":[2,224],"86":[2,224],"96":[2,224],"100":[2,224],"108":[2,224],"109":131,"110":[2,224],"111":[2,224],"112":[2,224],"115":132,"116":[2,224],"117":83,"122":[2,224],"123":[2,224],"124":[2,224],"131":[2,224],"132":[2,224],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,225],"4":[2,225],"29":[2,225],"30":[2,225],"51":[1,134],"59":[2,225],"63":[2,225],"81":[2,225],"86":[2,225],"96":[2,225],"100":[2,225],"108":[2,225],"109":131,"110":[2,225],"111":[2,225],"112":[2,225],"115":132,"116":[2,225],"117":83,"122":[2,225],"123":[2,225],"124":[2,225],"131":[2,225],"132":[2,225],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,226],"4":[2,226],"29":[2,226],"30":[2,226],"51":[1,134],"59":[2,226],"63":[2,226],"81":[2,226],"86":[2,226],"96":[2,226],"100":[2,226],"108":[2,226],"109":131,"110":[2,226],"111":[2,226],"112":[2,226],"115":132,"116":[2,226],"117":83,"122":[2,226],"123":[2,226],"124":[2,226],"131":[2,226],"132":[2,226],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,226],"156":[2,226],"157":[2,226],"158":[2,226],"159":[2,226],"160":[2,226],"161":[2,226],"162":[2,226],"163":[2,226],"164":[2,226],"165":[2,226],"166":[2,226],"167":[2,226],"168":[1,125]},{"1":[2,227],"4":[2,227],"29":[2,227],"30":[2,227],"51":[1,134],"59":[2,227],"63":[1,133],"81":[2,227],"86":[2,227],"96":[2,227],"100":[2,227],"108":[2,227],"109":131,"110":[2,227],"111":[2,227],"112":[2,227],"115":132,"116":[2,227],"117":83,"122":[1,126],"123":[1,127],"124":[2,227],"131":[2,227],"132":[2,227],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,228],"4":[2,228],"29":[2,228],"30":[2,228],"51":[1,134],"59":[2,228],"63":[1,133],"81":[2,228],"86":[2,228],"96":[2,228],"100":[2,228],"108":[2,228],"109":131,"110":[2,228],"111":[2,228],"112":[2,228],"115":132,"116":[2,228],"117":83,"122":[1,126],"123":[1,127],"124":[2,228],"131":[2,228],"132":[2,228],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":303,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":304,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,184],"4":[2,184],"29":[2,184],"30":[2,184],"51":[1,134],"59":[2,184],"63":[1,133],"81":[2,184],"86":[2,184],"96":[2,184],"100":[2,184],"108":[2,184],"109":131,"110":[1,79],"111":[2,184],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,184],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,186],"4":[2,186],"29":[2,186],"30":[2,186],"51":[1,134],"59":[2,186],"63":[1,133],"81":[2,186],"86":[2,186],"96":[2,186],"100":[2,186],"108":[2,186],"109":131,"110":[1,79],"111":[2,186],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,186],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"63":[1,305]},{"1":[2,183],"4":[2,183],"29":[2,183],"30":[2,183],"51":[1,134],"59":[2,183],"63":[1,133],"81":[2,183],"86":[2,183],"96":[2,183],"100":[2,183],"108":[2,183],"109":131,"110":[1,79],"111":[2,183],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,183],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,185],"4":[2,185],"29":[2,185],"30":[2,185],"51":[1,134],"59":[2,185],"63":[1,133],"81":[2,185],"86":[2,185],"96":[2,185],"100":[2,185],"108":[2,185],"109":131,"110":[1,79],"111":[2,185],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,185],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,61],"29":[2,61],"58":306,"59":[1,289],"96":[2,61]},{"4":[2,129],"29":[2,129],"30":[2,129],"51":[1,134],"59":[2,129],"63":[1,133],"96":[2,129],"100":[2,129],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,84],"4":[2,84],"29":[2,84],"30":[2,84],"46":[2,84],"51":[2,84],"59":[2,84],"63":[2,84],"74":[2,84],"75":[2,84],"76":[2,84],"77":[2,84],"80":[2,84],"81":[2,84],"82":[2,84],"83":[2,84],"86":[2,84],"88":[2,84],"94":[2,84],"96":[2,84],"100":[2,84],"108":[2,84],"110":[2,84],"111":[2,84],"112":[2,84],"116":[2,84],"122":[2,84],"123":[2,84],"124":[2,84],"131":[2,84],"132":[2,84],"133":[2,84],"135":[2,84],"136":[2,84],"138":[2,84],"139":[2,84],"142":[2,84],"143":[2,84],"144":[2,84],"145":[2,84],"146":[2,84],"147":[2,84],"148":[2,84],"149":[2,84],"150":[2,84],"151":[2,84],"152":[2,84],"153":[2,84],"154":[2,84],"155":[2,84],"156":[2,84],"157":[2,84],"158":[2,84],"159":[2,84],"160":[2,84],"161":[2,84],"162":[2,84],"163":[2,84],"164":[2,84],"165":[2,84],"166":[2,84],"167":[2,84],"168":[2,84]},{"1":[2,85],"4":[2,85],"29":[2,85],"30":[2,85],"46":[2,85],"51":[2,85],"59":[2,85],"63":[2,85],"74":[2,85],"75":[2,85],"76":[2,85],"77":[2,85],"80":[2,85],"81":[2,85],"82":[2,85],"83":[2,85],"86":[2,85],"88":[2,85],"94":[2,85],"96":[2,85],"100":[2,85],"108":[2,85],"110":[2,85],"111":[2,85],"112":[2,85],"116":[2,85],"122":[2,85],"123":[2,85],"124":[2,85],"131":[2,85],"132":[2,85],"133":[2,85],"135":[2,85],"136":[2,85],"138":[2,85],"139":[2,85],"142":[2,85],"143":[2,85],"144":[2,85],"145":[2,85],"146":[2,85],"147":[2,85],"148":[2,85],"149":[2,85],"150":[2,85],"151":[2,85],"152":[2,85],"153":[2,85],"154":[2,85],"155":[2,85],"156":[2,85],"157":[2,85],"158":[2,85],"159":[2,85],"160":[2,85],"161":[2,85],"162":[2,85],"163":[2,85],"164":[2,85],"165":[2,85],"166":[2,85],"167":[2,85],"168":[2,85]},{"1":[2,87],"4":[2,87],"29":[2,87],"30":[2,87],"46":[2,87],"51":[2,87],"59":[2,87],"63":[2,87],"74":[2,87],"75":[2,87],"76":[2,87],"77":[2,87],"80":[2,87],"81":[2,87],"82":[2,87],"83":[2,87],"86":[2,87],"88":[2,87],"94":[2,87],"96":[2,87],"100":[2,87],"108":[2,87],"110":[2,87],"111":[2,87],"112":[2,87],"116":[2,87],"122":[2,87],"123":[2,87],"124":[2,87],"131":[2,87],"132":[2,87],"133":[2,87],"135":[2,87],"136":[2,87],"138":[2,87],"139":[2,87],"142":[2,87],"143":[2,87],"144":[2,87],"145":[2,87],"146":[2,87],"147":[2,87],"148":[2,87],"149":[2,87],"150":[2,87],"151":[2,87],"152":[2,87],"153":[2,87],"154":[2,87],"155":[2,87],"156":[2,87],"157":[2,87],"158":[2,87],"159":[2,87],"160":[2,87],"161":[2,87],"162":[2,87],"163":[2,87],"164":[2,87],"165":[2,87],"166":[2,87],"167":[2,87],"168":[2,87]},{"51":[1,134],"63":[1,308],"81":[1,307],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,91],"4":[2,91],"29":[2,91],"30":[2,91],"46":[2,91],"51":[2,91],"59":[2,91],"63":[2,91],"74":[2,91],"75":[2,91],"76":[2,91],"77":[2,91],"80":[2,91],"81":[2,91],"82":[2,91],"83":[2,91],"86":[2,91],"88":[2,91],"94":[2,91],"96":[2,91],"100":[2,91],"108":[2,91],"110":[2,91],"111":[2,91],"112":[2,91],"116":[2,91],"122":[2,91],"123":[2,91],"124":[2,91],"131":[2,91],"132":[2,91],"133":[2,91],"135":[2,91],"136":[2,91],"138":[2,91],"139":[2,91],"142":[2,91],"143":[2,91],"144":[2,91],"145":[2,91],"146":[2,91],"147":[2,91],"148":[2,91],"149":[2,91],"150":[2,91],"151":[2,91],"152":[2,91],"153":[2,91],"154":[2,91],"155":[2,91],"156":[2,91],"157":[2,91],"158":[2,91],"159":[2,91],"160":[2,91],"161":[2,91],"162":[2,91],"163":[2,91],"164":[2,91],"165":[2,91],"166":[2,91],"167":[2,91],"168":[2,91]},{"8":309,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,92],"4":[2,92],"29":[2,92],"30":[2,92],"46":[2,92],"51":[2,92],"59":[2,92],"63":[2,92],"74":[2,92],"75":[2,92],"76":[2,92],"77":[2,92],"80":[2,92],"81":[2,92],"82":[2,92],"83":[2,92],"86":[2,92],"88":[2,92],"94":[2,92],"96":[2,92],"100":[2,92],"108":[2,92],"110":[2,92],"111":[2,92],"112":[2,92],"116":[2,92],"122":[2,92],"123":[2,92],"124":[2,92],"131":[2,92],"132":[2,92],"133":[2,92],"135":[2,92],"136":[2,92],"138":[2,92],"139":[2,92],"142":[2,92],"143":[2,92],"144":[2,92],"145":[2,92],"146":[2,92],"147":[2,92],"148":[2,92],"149":[2,92],"150":[2,92],"151":[2,92],"152":[2,92],"153":[2,92],"154":[2,92],"155":[2,92],"156":[2,92],"157":[2,92],"158":[2,92],"159":[2,92],"160":[2,92],"161":[2,92],"162":[2,92],"163":[2,92],"164":[2,92],"165":[2,92],"166":[2,92],"167":[2,92],"168":[2,92]},{"1":[2,44],"4":[2,44],"29":[2,44],"30":[2,44],"51":[1,134],"59":[2,44],"63":[1,133],"81":[2,44],"86":[2,44],"96":[2,44],"100":[2,44],"108":[2,44],"109":131,"110":[1,79],"111":[2,44],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,44],"131":[2,44],"132":[2,44],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":310,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"55":311,"56":[1,75],"57":[1,76]},{"60":312,"61":[1,160],"62":[1,161]},{"63":[1,313]},{"54":[2,67],"59":[2,67],"63":[1,314]},{"8":315,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,181],"4":[2,181],"29":[2,181],"30":[2,181],"51":[2,181],"59":[2,181],"63":[2,181],"81":[2,181],"86":[2,181],"96":[2,181],"100":[2,181],"108":[2,181],"110":[2,181],"111":[2,181],"112":[2,181],"116":[2,181],"122":[2,181],"123":[2,181],"124":[2,181],"127":[2,181],"131":[2,181],"132":[2,181],"133":[2,181],"135":[2,181],"136":[2,181],"138":[2,181],"139":[2,181],"142":[2,181],"143":[2,181],"144":[2,181],"145":[2,181],"146":[2,181],"147":[2,181],"148":[2,181],"149":[2,181],"150":[2,181],"151":[2,181],"152":[2,181],"153":[2,181],"154":[2,181],"155":[2,181],"156":[2,181],"157":[2,181],"158":[2,181],"159":[2,181],"160":[2,181],"161":[2,181],"162":[2,181],"163":[2,181],"164":[2,181],"165":[2,181],"166":[2,181],"167":[2,181],"168":[2,181]},{"1":[2,135],"4":[2,135],"29":[2,135],"30":[2,135],"51":[2,135],"59":[2,135],"63":[2,135],"81":[2,135],"86":[2,135],"96":[2,135],"100":[2,135],"104":[1,316],"108":[2,135],"110":[2,135],"111":[2,135],"112":[2,135],"116":[2,135],"122":[2,135],"123":[2,135],"124":[2,135],"131":[2,135],"132":[2,135],"133":[2,135],"135":[2,135],"136":[2,135],"138":[2,135],"139":[2,135],"142":[2,135],"143":[2,135],"144":[2,135],"145":[2,135],"146":[2,135],"147":[2,135],"148":[2,135],"149":[2,135],"150":[2,135],"151":[2,135],"152":[2,135],"153":[2,135],"154":[2,135],"155":[2,135],"156":[2,135],"157":[2,135],"158":[2,135],"159":[2,135],"160":[2,135],"161":[2,135],"162":[2,135],"163":[2,135],"164":[2,135],"165":[2,135],"166":[2,135],"167":[2,135],"168":[2,135]},{"4":[1,163],"6":317,"29":[1,6]},{"31":318,"32":[1,89]},{"126":319,"128":275,"129":[1,276]},{"30":[1,320],"127":[1,321],"128":322,"129":[1,276]},{"30":[2,174],"127":[2,174],"129":[2,174]},{"8":324,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"101":323,"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,114],"4":[2,114],"29":[2,114],"30":[2,114],"51":[2,114],"59":[2,114],"63":[2,114],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,114],"82":[1,149],"83":[1,150],"86":[2,114],"93":139,"94":[1,141],"96":[2,114],"100":[2,114],"108":[2,114],"110":[2,114],"111":[2,114],"112":[2,114],"116":[2,114],"122":[2,114],"123":[2,114],"124":[2,114],"131":[2,114],"132":[2,114],"133":[2,114],"135":[2,114],"136":[2,114],"138":[2,114],"139":[2,114],"142":[2,114],"143":[2,114],"144":[2,114],"145":[2,114],"146":[2,114],"147":[2,114],"148":[2,114],"149":[2,114],"150":[2,114],"151":[2,114],"152":[2,114],"153":[2,114],"154":[2,114],"155":[2,114],"156":[2,114],"157":[2,114],"158":[2,114],"159":[2,114],"160":[2,114],"161":[2,114],"162":[2,114],"163":[2,114],"164":[2,114],"165":[2,114],"166":[2,114],"167":[2,114],"168":[2,114]},{"14":325,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":157,"66":184,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"4":[2,106],"28":212,"30":[2,106],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"89":326,"90":281},{"4":[1,328],"30":[1,327]},{"4":[2,107],"30":[2,107],"86":[2,107]},{"4":[2,106],"28":212,"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"86":[2,106],"89":329,"90":281},{"4":[2,104],"30":[2,104],"86":[2,104]},{"48":[1,330]},{"31":190,"32":[1,89]},{"1":[2,140],"4":[2,140],"29":[2,140],"30":[2,140],"51":[2,140],"59":[2,140],"63":[2,140],"74":[2,140],"75":[2,140],"76":[2,140],"77":[2,140],"80":[2,140],"81":[2,140],"82":[2,140],"83":[2,140],"86":[2,140],"94":[2,140],"96":[2,140],"100":[2,140],"108":[2,140],"110":[2,140],"111":[2,140],"112":[2,140],"116":[2,140],"122":[2,140],"123":[2,140],"124":[2,140],"131":[2,140],"132":[2,140],"133":[2,140],"135":[2,140],"136":[2,140],"138":[2,140],"139":[2,140],"142":[2,140],"143":[2,140],"144":[2,140],"145":[2,140],"146":[2,140],"147":[2,140],"148":[2,140],"149":[2,140],"150":[2,140],"151":[2,140],"152":[2,140],"153":[2,140],"154":[2,140],"155":[2,140],"156":[2,140],"157":[2,140],"158":[2,140],"159":[2,140],"160":[2,140],"161":[2,140],"162":[2,140],"163":[2,140],"164":[2,140],"165":[2,140],"166":[2,140],"167":[2,140],"168":[2,140]},{"63":[1,331]},{"4":[1,333],"29":[1,334],"100":[1,332]},{"4":[2,62],"8":335,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,62],"30":[2,62],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"96":[2,62],"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,62],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,178],"4":[2,178],"29":[2,178],"30":[2,178],"51":[2,178],"59":[2,178],"63":[2,178],"81":[2,178],"86":[2,178],"96":[2,178],"100":[2,178],"108":[2,178],"110":[2,178],"111":[2,178],"112":[2,178],"116":[2,178],"122":[2,178],"123":[2,178],"124":[2,178],"127":[2,178],"131":[2,178],"132":[2,178],"133":[2,178],"135":[2,178],"136":[2,178],"138":[2,178],"139":[2,178],"142":[2,178],"143":[2,178],"144":[2,178],"145":[2,178],"146":[2,178],"147":[2,178],"148":[2,178],"149":[2,178],"150":[2,178],"151":[2,178],"152":[2,178],"153":[2,178],"154":[2,178],"155":[2,178],"156":[2,178],"157":[2,178],"158":[2,178],"159":[2,178],"160":[2,178],"161":[2,178],"162":[2,178],"163":[2,178],"164":[2,178],"165":[2,178],"166":[2,178],"167":[2,178],"168":[2,178]},{"1":[2,179],"4":[2,179],"29":[2,179],"30":[2,179],"51":[2,179],"59":[2,179],"63":[2,179],"81":[2,179],"86":[2,179],"96":[2,179],"100":[2,179],"108":[2,179],"110":[2,179],"111":[2,179],"112":[2,179],"116":[2,179],"122":[2,179],"123":[2,179],"124":[2,179],"127":[2,179],"131":[2,179],"132":[2,179],"133":[2,179],"135":[2,179],"136":[2,179],"138":[2,179],"139":[2,179],"142":[2,179],"143":[2,179],"144":[2,179],"145":[2,179],"146":[2,179],"147":[2,179],"148":[2,179],"149":[2,179],"150":[2,179],"151":[2,179],"152":[2,179],"153":[2,179],"154":[2,179],"155":[2,179],"156":[2,179],"157":[2,179],"158":[2,179],"159":[2,179],"160":[2,179],"161":[2,179],"162":[2,179],"163":[2,179],"164":[2,179],"165":[2,179],"166":[2,179],"167":[2,179],"168":[2,179]},{"8":336,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":337,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"122":[2,157],"123":[2,157]},{"4":[2,128],"8":254,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":189,"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,128],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"31":202,"32":[1,89],"68":203,"69":204,"84":[1,86],"99":[1,295],"121":338},{"1":[2,163],"4":[2,163],"29":[2,163],"30":[2,163],"51":[1,134],"59":[2,163],"63":[1,133],"81":[2,163],"86":[2,163],"96":[2,163],"100":[2,163],"108":[2,163],"109":131,"110":[2,163],"111":[1,339],"112":[2,163],"115":132,"116":[2,163],"117":83,"122":[1,126],"123":[1,127],"124":[1,340],"131":[2,163],"132":[2,163],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,164],"4":[2,164],"29":[2,164],"30":[2,164],"51":[1,134],"59":[2,164],"63":[1,133],"81":[2,164],"86":[2,164],"96":[2,164],"100":[2,164],"108":[2,164],"109":131,"110":[2,164],"111":[1,341],"112":[2,164],"115":132,"116":[2,164],"117":83,"122":[1,126],"123":[1,127],"124":[2,164],"131":[2,164],"132":[2,164],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,343],"29":[1,344],"86":[1,342]},{"4":[2,62],"28":212,"29":[2,62],"30":[2,62],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":345,"50":[1,56],"86":[2,62]},{"8":346,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,347],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":348,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,349],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,229],"4":[2,229],"29":[2,229],"30":[2,229],"51":[1,134],"59":[2,229],"63":[2,229],"81":[2,229],"86":[2,229],"96":[2,229],"100":[2,229],"108":[2,229],"109":131,"110":[2,229],"111":[2,229],"112":[2,229],"115":132,"116":[2,229],"117":83,"122":[2,229],"123":[2,229],"124":[2,229],"131":[2,229],"132":[2,229],"135":[2,229],"136":[2,229],"142":[2,229],"143":[2,229],"144":[2,229],"145":[2,229],"146":[2,229],"147":[2,229],"148":[2,229],"149":[2,229],"150":[2,229],"151":[2,229],"152":[2,229],"153":[2,229],"154":[2,229],"155":[2,229],"156":[2,229],"157":[2,229],"158":[2,229],"159":[2,229],"160":[2,229],"161":[2,229],"162":[2,229],"163":[2,229],"164":[2,229],"165":[2,229],"166":[2,229],"167":[2,229],"168":[2,229]},{"1":[2,230],"4":[2,230],"29":[2,230],"30":[2,230],"51":[1,134],"59":[2,230],"63":[2,230],"81":[2,230],"86":[2,230],"96":[2,230],"100":[2,230],"108":[2,230],"109":131,"110":[2,230],"111":[2,230],"112":[2,230],"115":132,"116":[2,230],"117":83,"122":[2,230],"123":[2,230],"124":[2,230],"131":[2,230],"132":[2,230],"135":[2,230],"136":[2,230],"142":[2,230],"143":[2,230],"144":[2,230],"145":[2,230],"146":[2,230],"147":[2,230],"148":[2,230],"149":[2,230],"150":[2,230],"151":[2,230],"152":[2,230],"153":[2,230],"154":[2,230],"155":[2,230],"156":[2,230],"157":[2,230],"158":[2,230],"159":[2,230],"160":[2,230],"161":[2,230],"162":[2,230],"163":[2,230],"164":[2,230],"165":[2,230],"166":[2,230],"167":[2,230],"168":[2,230]},{"1":[2,70],"4":[2,70],"29":[2,70],"30":[2,70],"51":[2,70],"59":[2,70],"63":[2,70],"81":[2,70],"86":[2,70],"96":[2,70],"100":[2,70],"108":[2,70],"110":[2,70],"111":[2,70],"112":[2,70],"116":[2,70],"122":[2,70],"123":[2,70],"124":[2,70],"131":[2,70],"132":[2,70],"133":[2,70],"135":[2,70],"136":[2,70],"138":[2,70],"139":[2,70],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70],"156":[2,70],"157":[2,70],"158":[2,70],"159":[2,70],"160":[2,70],"161":[2,70],"162":[2,70],"163":[2,70],"164":[2,70],"165":[2,70],"166":[2,70],"167":[2,70],"168":[2,70]},{"4":[1,333],"29":[1,334],"96":[1,350]},{"1":[2,90],"4":[2,90],"29":[2,90],"30":[2,90],"46":[2,90],"51":[2,90],"59":[2,90],"63":[2,90],"74":[2,90],"75":[2,90],"76":[2,90],"77":[2,90],"80":[2,90],"81":[2,90],"82":[2,90],"83":[2,90],"86":[2,90],"88":[2,90],"94":[2,90],"96":[2,90],"100":[2,90],"108":[2,90],"110":[2,90],"111":[2,90],"112":[2,90],"116":[2,90],"122":[2,90],"123":[2,90],"124":[2,90],"131":[2,90],"132":[2,90],"133":[2,90],"135":[2,90],"136":[2,90],"138":[2,90],"139":[2,90],"142":[2,90],"143":[2,90],"144":[2,90],"145":[2,90],"146":[2,90],"147":[2,90],"148":[2,90],"149":[2,90],"150":[2,90],"151":[2,90],"152":[2,90],"153":[2,90],"154":[2,90],"155":[2,90],"156":[2,90],"157":[2,90],"158":[2,90],"159":[2,90],"160":[2,90],"161":[2,90],"162":[2,90],"163":[2,90],"164":[2,90],"165":[2,90],"166":[2,90],"167":[2,90],"168":[2,90]},{"63":[1,351]},{"51":[1,134],"63":[1,133],"81":[1,307],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"30":[1,352],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,163],"6":353,"29":[1,6]},{"54":[2,65],"59":[2,65]},{"63":[1,354]},{"63":[1,355]},{"4":[1,163],"6":356,"29":[1,6],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,163],"6":357,"29":[1,6]},{"1":[2,136],"4":[2,136],"29":[2,136],"30":[2,136],"51":[2,136],"59":[2,136],"63":[2,136],"81":[2,136],"86":[2,136],"96":[2,136],"100":[2,136],"108":[2,136],"110":[2,136],"111":[2,136],"112":[2,136],"116":[2,136],"122":[2,136],"123":[2,136],"124":[2,136],"131":[2,136],"132":[2,136],"133":[2,136],"135":[2,136],"136":[2,136],"138":[2,136],"139":[2,136],"142":[2,136],"143":[2,136],"144":[2,136],"145":[2,136],"146":[2,136],"147":[2,136],"148":[2,136],"149":[2,136],"150":[2,136],"151":[2,136],"152":[2,136],"153":[2,136],"154":[2,136],"155":[2,136],"156":[2,136],"157":[2,136],"158":[2,136],"159":[2,136],"160":[2,136],"161":[2,136],"162":[2,136],"163":[2,136],"164":[2,136],"165":[2,136],"166":[2,136],"167":[2,136],"168":[2,136]},{"4":[1,163],"6":358,"29":[1,6]},{"30":[1,359],"127":[1,360],"128":322,"129":[1,276]},{"1":[2,172],"4":[2,172],"29":[2,172],"30":[2,172],"51":[2,172],"59":[2,172],"63":[2,172],"81":[2,172],"86":[2,172],"96":[2,172],"100":[2,172],"108":[2,172],"110":[2,172],"111":[2,172],"112":[2,172],"116":[2,172],"122":[2,172],"123":[2,172],"124":[2,172],"131":[2,172],"132":[2,172],"133":[2,172],"135":[2,172],"136":[2,172],"138":[2,172],"139":[2,172],"142":[2,172],"143":[2,172],"144":[2,172],"145":[2,172],"146":[2,172],"147":[2,172],"148":[2,172],"149":[2,172],"150":[2,172],"151":[2,172],"152":[2,172],"153":[2,172],"154":[2,172],"155":[2,172],"156":[2,172],"157":[2,172],"158":[2,172],"159":[2,172],"160":[2,172],"161":[2,172],"162":[2,172],"163":[2,172],"164":[2,172],"165":[2,172],"166":[2,172],"167":[2,172],"168":[2,172]},{"4":[1,163],"6":361,"29":[1,6]},{"30":[2,175],"127":[2,175],"129":[2,175]},{"4":[1,163],"6":362,"29":[1,6],"59":[1,363]},{"4":[2,133],"29":[2,133],"51":[1,134],"59":[2,133],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,100],"4":[2,100],"29":[1,364],"30":[2,100],"51":[2,100],"59":[2,100],"63":[2,100],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,100],"82":[1,149],"83":[1,150],"86":[2,100],"93":139,"94":[1,141],"96":[2,100],"100":[2,100],"108":[2,100],"110":[2,100],"111":[2,100],"112":[2,100],"116":[2,100],"122":[2,100],"123":[2,100],"124":[2,100],"131":[2,100],"132":[2,100],"133":[2,100],"135":[2,100],"136":[2,100],"138":[2,100],"139":[2,100],"142":[2,100],"143":[2,100],"144":[2,100],"145":[2,100],"146":[2,100],"147":[2,100],"148":[2,100],"149":[2,100],"150":[2,100],"151":[2,100],"152":[2,100],"153":[2,100],"154":[2,100],"155":[2,100],"156":[2,100],"157":[2,100],"158":[2,100],"159":[2,100],"160":[2,100],"161":[2,100],"162":[2,100],"163":[2,100],"164":[2,100],"165":[2,100],"166":[2,100],"167":[2,100],"168":[2,100]},{"4":[1,328],"30":[1,365]},{"1":[2,103],"4":[2,103],"29":[2,103],"30":[2,103],"51":[2,103],"59":[2,103],"63":[2,103],"81":[2,103],"86":[2,103],"96":[2,103],"100":[2,103],"108":[2,103],"110":[2,103],"111":[2,103],"112":[2,103],"116":[2,103],"122":[2,103],"123":[2,103],"124":[2,103],"131":[2,103],"132":[2,103],"133":[2,103],"135":[2,103],"136":[2,103],"138":[2,103],"139":[2,103],"142":[2,103],"143":[2,103],"144":[2,103],"145":[2,103],"146":[2,103],"147":[2,103],"148":[2,103],"149":[2,103],"150":[2,103],"151":[2,103],"152":[2,103],"153":[2,103],"154":[2,103],"155":[2,103],"156":[2,103],"157":[2,103],"158":[2,103],"159":[2,103],"160":[2,103],"161":[2,103],"162":[2,103],"163":[2,103],"164":[2,103],"165":[2,103],"166":[2,103],"167":[2,103],"168":[2,103]},{"28":212,"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"90":366},{"4":[1,328],"86":[1,367]},{"8":368,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":369,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"63":[1,370],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,127],"4":[2,127],"29":[2,127],"30":[2,127],"46":[2,127],"51":[2,127],"59":[2,127],"63":[2,127],"74":[2,127],"75":[2,127],"76":[2,127],"77":[2,127],"80":[2,127],"81":[2,127],"82":[2,127],"83":[2,127],"86":[2,127],"94":[2,127],"96":[2,127],"100":[2,127],"108":[2,127],"110":[2,127],"111":[2,127],"112":[2,127],"116":[2,127],"122":[2,127],"123":[2,127],"124":[2,127],"131":[2,127],"132":[2,127],"133":[2,127],"135":[2,127],"136":[2,127],"138":[2,127],"139":[2,127],"142":[2,127],"143":[2,127],"144":[2,127],"145":[2,127],"146":[2,127],"147":[2,127],"148":[2,127],"149":[2,127],"150":[2,127],"151":[2,127],"152":[2,127],"153":[2,127],"154":[2,127],"155":[2,127],"156":[2,127],"157":[2,127],"158":[2,127],"159":[2,127],"160":[2,127],"161":[2,127],"162":[2,127],"163":[2,127],"164":[2,127],"165":[2,127],"166":[2,127],"167":[2,127],"168":[2,127]},{"8":371,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,128],"8":254,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"30":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":372,"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,130],"29":[2,130],"30":[2,130],"51":[1,134],"59":[2,130],"63":[1,133],"96":[2,130],"100":[2,130],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,142],"4":[2,142],"29":[2,142],"30":[2,142],"51":[1,134],"59":[2,142],"63":[1,133],"81":[2,142],"86":[2,142],"96":[2,142],"100":[2,142],"108":[2,142],"109":131,"110":[1,79],"111":[2,142],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,142],"131":[2,142],"132":[2,142],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,144],"4":[2,144],"29":[2,144],"30":[2,144],"51":[1,134],"59":[2,144],"63":[1,133],"81":[2,144],"86":[2,144],"96":[2,144],"100":[2,144],"108":[2,144],"109":131,"110":[1,79],"111":[2,144],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,144],"131":[2,144],"132":[2,144],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"122":[2,162],"123":[2,162]},{"8":373,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":374,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":375,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,93],"4":[2,93],"29":[2,93],"30":[2,93],"46":[2,93],"51":[2,93],"59":[2,93],"63":[2,93],"74":[2,93],"75":[2,93],"76":[2,93],"77":[2,93],"80":[2,93],"81":[2,93],"82":[2,93],"83":[2,93],"86":[2,93],"94":[2,93],"96":[2,93],"100":[2,93],"108":[2,93],"110":[2,93],"111":[2,93],"112":[2,93],"116":[2,93],"122":[2,93],"123":[2,93],"124":[2,93],"131":[2,93],"132":[2,93],"133":[2,93],"135":[2,93],"136":[2,93],"138":[2,93],"139":[2,93],"142":[2,93],"143":[2,93],"144":[2,93],"145":[2,93],"146":[2,93],"147":[2,93],"148":[2,93],"149":[2,93],"150":[2,93],"151":[2,93],"152":[2,93],"153":[2,93],"154":[2,93],"155":[2,93],"156":[2,93],"157":[2,93],"158":[2,93],"159":[2,93],"160":[2,93],"161":[2,93],"162":[2,93],"163":[2,93],"164":[2,93],"165":[2,93],"166":[2,93],"167":[2,93],"168":[2,93]},{"28":212,"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":376,"50":[1,56]},{"4":[2,94],"28":212,"29":[2,94],"30":[2,94],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":209,"50":[1,56],"59":[2,94],"85":377},{"4":[2,96],"29":[2,96],"30":[2,96],"59":[2,96],"86":[2,96]},{"4":[2,48],"29":[2,48],"30":[2,48],"51":[1,134],"59":[2,48],"63":[1,133],"86":[2,48],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":378,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,49],"29":[2,49],"30":[2,49],"51":[1,134],"59":[2,49],"63":[1,133],"86":[2,49],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":379,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,117],"4":[2,117],"29":[2,117],"30":[2,117],"51":[2,117],"59":[2,117],"63":[2,117],"74":[2,117],"75":[2,117],"76":[2,117],"77":[2,117],"80":[2,117],"81":[2,117],"82":[2,117],"83":[2,117],"86":[2,117],"94":[2,117],"96":[2,117],"100":[2,117],"108":[2,117],"110":[2,117],"111":[2,117],"112":[2,117],"116":[2,117],"122":[2,117],"123":[2,117],"124":[2,117],"131":[2,117],"132":[2,117],"133":[2,117],"135":[2,117],"136":[2,117],"138":[2,117],"139":[2,117],"142":[2,117],"143":[2,117],"144":[2,117],"145":[2,117],"146":[2,117],"147":[2,117],"148":[2,117],"149":[2,117],"150":[2,117],"151":[2,117],"152":[2,117],"153":[2,117],"154":[2,117],"155":[2,117],"156":[2,117],"157":[2,117],"158":[2,117],"159":[2,117],"160":[2,117],"161":[2,117],"162":[2,117],"163":[2,117],"164":[2,117],"165":[2,117],"166":[2,117],"167":[2,117],"168":[2,117]},{"8":380,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"63":[1,381],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,45],"4":[2,45],"29":[2,45],"30":[2,45],"51":[2,45],"59":[2,45],"63":[2,45],"81":[2,45],"86":[2,45],"96":[2,45],"100":[2,45],"108":[2,45],"110":[2,45],"111":[2,45],"112":[2,45],"116":[2,45],"122":[2,45],"123":[2,45],"124":[2,45],"131":[2,45],"132":[2,45],"133":[2,45],"135":[2,45],"136":[2,45],"138":[2,45],"139":[2,45],"142":[2,45],"143":[2,45],"144":[2,45],"145":[2,45],"146":[2,45],"147":[2,45],"148":[2,45],"149":[2,45],"150":[2,45],"151":[2,45],"152":[2,45],"153":[2,45],"154":[2,45],"155":[2,45],"156":[2,45],"157":[2,45],"158":[2,45],"159":[2,45],"160":[2,45],"161":[2,45],"162":[2,45],"163":[2,45],"164":[2,45],"165":[2,45],"166":[2,45],"167":[2,45],"168":[2,45]},{"1":[2,57],"4":[2,57],"29":[2,57],"30":[2,57],"51":[2,57],"59":[2,57],"63":[2,57],"81":[2,57],"86":[2,57],"96":[2,57],"100":[2,57],"108":[2,57],"110":[2,57],"111":[2,57],"112":[2,57],"116":[2,57],"122":[2,57],"123":[2,57],"124":[2,57],"131":[2,57],"132":[2,57],"133":[2,57],"135":[2,57],"136":[2,57],"138":[2,57],"139":[2,57],"142":[2,57],"143":[2,57],"144":[2,57],"145":[2,57],"146":[2,57],"147":[2,57],"148":[2,57],"149":[2,57],"150":[2,57],"151":[2,57],"152":[2,57],"153":[2,57],"154":[2,57],"155":[2,57],"156":[2,57],"157":[2,57],"158":[2,57],"159":[2,57],"160":[2,57],"161":[2,57],"162":[2,57],"163":[2,57],"164":[2,57],"165":[2,57],"166":[2,57],"167":[2,57],"168":[2,57]},{"54":[2,68],"59":[2,68]},{"63":[1,382]},{"1":[2,180],"4":[2,180],"29":[2,180],"30":[2,180],"51":[2,180],"59":[2,180],"63":[2,180],"81":[2,180],"86":[2,180],"96":[2,180],"100":[2,180],"108":[2,180],"110":[2,180],"111":[2,180],"112":[2,180],"116":[2,180],"122":[2,180],"123":[2,180],"124":[2,180],"127":[2,180],"131":[2,180],"132":[2,180],"133":[2,180],"135":[2,180],"136":[2,180],"138":[2,180],"139":[2,180],"142":[2,180],"143":[2,180],"144":[2,180],"145":[2,180],"146":[2,180],"147":[2,180],"148":[2,180],"149":[2,180],"150":[2,180],"151":[2,180],"152":[2,180],"153":[2,180],"154":[2,180],"155":[2,180],"156":[2,180],"157":[2,180],"158":[2,180],"159":[2,180],"160":[2,180],"161":[2,180],"162":[2,180],"163":[2,180],"164":[2,180],"165":[2,180],"166":[2,180],"167":[2,180],"168":[2,180]},{"1":[2,137],"4":[2,137],"29":[2,137],"30":[2,137],"51":[2,137],"59":[2,137],"63":[2,137],"81":[2,137],"86":[2,137],"96":[2,137],"100":[2,137],"108":[2,137],"110":[2,137],"111":[2,137],"112":[2,137],"116":[2,137],"122":[2,137],"123":[2,137],"124":[2,137],"131":[2,137],"132":[2,137],"133":[2,137],"135":[2,137],"136":[2,137],"138":[2,137],"139":[2,137],"142":[2,137],"143":[2,137],"144":[2,137],"145":[2,137],"146":[2,137],"147":[2,137],"148":[2,137],"149":[2,137],"150":[2,137],"151":[2,137],"152":[2,137],"153":[2,137],"154":[2,137],"155":[2,137],"156":[2,137],"157":[2,137],"158":[2,137],"159":[2,137],"160":[2,137],"161":[2,137],"162":[2,137],"163":[2,137],"164":[2,137],"165":[2,137],"166":[2,137],"167":[2,137],"168":[2,137]},{"1":[2,138],"4":[2,138],"29":[2,138],"30":[2,138],"51":[2,138],"59":[2,138],"63":[2,138],"81":[2,138],"86":[2,138],"96":[2,138],"100":[2,138],"104":[2,138],"108":[2,138],"110":[2,138],"111":[2,138],"112":[2,138],"116":[2,138],"122":[2,138],"123":[2,138],"124":[2,138],"131":[2,138],"132":[2,138],"133":[2,138],"135":[2,138],"136":[2,138],"138":[2,138],"139":[2,138],"142":[2,138],"143":[2,138],"144":[2,138],"145":[2,138],"146":[2,138],"147":[2,138],"148":[2,138],"149":[2,138],"150":[2,138],"151":[2,138],"152":[2,138],"153":[2,138],"154":[2,138],"155":[2,138],"156":[2,138],"157":[2,138],"158":[2,138],"159":[2,138],"160":[2,138],"161":[2,138],"162":[2,138],"163":[2,138],"164":[2,138],"165":[2,138],"166":[2,138],"167":[2,138],"168":[2,138]},{"1":[2,170],"4":[2,170],"29":[2,170],"30":[2,170],"51":[2,170],"59":[2,170],"63":[2,170],"81":[2,170],"86":[2,170],"96":[2,170],"100":[2,170],"108":[2,170],"110":[2,170],"111":[2,170],"112":[2,170],"116":[2,170],"122":[2,170],"123":[2,170],"124":[2,170],"131":[2,170],"132":[2,170],"133":[2,170],"135":[2,170],"136":[2,170],"138":[2,170],"139":[2,170],"142":[2,170],"143":[2,170],"144":[2,170],"145":[2,170],"146":[2,170],"147":[2,170],"148":[2,170],"149":[2,170],"150":[2,170],"151":[2,170],"152":[2,170],"153":[2,170],"154":[2,170],"155":[2,170],"156":[2,170],"157":[2,170],"158":[2,170],"159":[2,170],"160":[2,170],"161":[2,170],"162":[2,170],"163":[2,170],"164":[2,170],"165":[2,170],"166":[2,170],"167":[2,170],"168":[2,170]},{"4":[1,163],"6":383,"29":[1,6]},{"30":[1,384]},{"4":[1,385],"30":[2,176],"127":[2,176],"129":[2,176]},{"8":386,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,106],"28":212,"30":[2,106],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"89":387,"90":281},{"1":[2,101],"4":[2,101],"29":[2,101],"30":[2,101],"51":[2,101],"59":[2,101],"63":[2,101],"81":[2,101],"86":[2,101],"96":[2,101],"100":[2,101],"108":[2,101],"110":[2,101],"111":[2,101],"112":[2,101],"116":[2,101],"122":[2,101],"123":[2,101],"124":[2,101],"131":[2,101],"132":[2,101],"133":[2,101],"135":[2,101],"136":[2,101],"138":[2,101],"139":[2,101],"142":[2,101],"143":[2,101],"144":[2,101],"145":[2,101],"146":[2,101],"147":[2,101],"148":[2,101],"149":[2,101],"150":[2,101],"151":[2,101],"152":[2,101],"153":[2,101],"154":[2,101],"155":[2,101],"156":[2,101],"157":[2,101],"158":[2,101],"159":[2,101],"160":[2,101],"161":[2,101],"162":[2,101],"163":[2,101],"164":[2,101],"165":[2,101],"166":[2,101],"167":[2,101],"168":[2,101]},{"4":[2,108],"30":[2,108],"86":[2,108]},{"4":[2,109],"30":[2,109],"86":[2,109]},{"4":[2,105],"30":[2,105],"51":[1,134],"63":[1,133],"86":[2,105],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"51":[1,134],"63":[1,133],"100":[1,388],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,70],"8":389,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,70],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"51":[2,70],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,70],"62":[1,73],"63":[2,70],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,70],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[2,70],"112":[2,70],"113":51,"114":[1,81],"115":52,"116":[2,70],"117":83,"122":[2,70],"123":[2,70],"125":[1,53],"130":48,"131":[2,70],"132":[2,70],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70],"156":[2,70],"157":[2,70],"158":[2,70],"159":[2,70],"160":[2,70],"161":[2,70],"162":[2,70],"163":[2,70],"164":[2,70],"165":[2,70],"166":[2,70],"167":[2,70],"168":[2,70]},{"4":[2,131],"29":[2,131],"30":[2,131],"51":[1,134],"59":[2,131],"63":[1,133],"96":[2,131],"100":[2,131],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":390,"59":[1,289]},{"1":[2,165],"4":[2,165],"29":[2,165],"30":[2,165],"51":[1,134],"59":[2,165],"63":[1,133],"81":[2,165],"86":[2,165],"96":[2,165],"100":[2,165],"108":[2,165],"109":131,"110":[2,165],"111":[2,165],"112":[2,165],"115":132,"116":[2,165],"117":83,"122":[1,126],"123":[1,127],"124":[1,391],"131":[2,165],"132":[2,165],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,167],"4":[2,167],"29":[2,167],"30":[2,167],"51":[1,134],"59":[2,167],"63":[1,133],"81":[2,167],"86":[2,167],"96":[2,167],"100":[2,167],"108":[2,167],"109":131,"110":[2,167],"111":[1,392],"112":[2,167],"115":132,"116":[2,167],"117":83,"122":[1,126],"123":[1,127],"124":[2,167],"131":[2,167],"132":[2,167],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,166],"4":[2,166],"29":[2,166],"30":[2,166],"51":[1,134],"59":[2,166],"63":[1,133],"81":[2,166],"86":[2,166],"96":[2,166],"100":[2,166],"108":[2,166],"109":131,"110":[2,166],"111":[2,166],"112":[2,166],"115":132,"116":[2,166],"117":83,"122":[1,126],"123":[1,127],"124":[2,166],"131":[2,166],"132":[2,166],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,97],"29":[2,97],"30":[2,97],"59":[2,97],"86":[2,97]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":393,"59":[1,300]},{"30":[1,394],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"30":[1,395],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"51":[1,134],"63":[1,133],"81":[1,396],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":397,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"51":[2,70],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"63":[2,70],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"81":[2,70],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[2,70],"112":[2,70],"113":51,"114":[1,81],"115":52,"116":[2,70],"117":83,"122":[2,70],"123":[2,70],"125":[1,53],"130":48,"131":[2,70],"132":[2,70],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70],"156":[2,70],"157":[2,70],"158":[2,70],"159":[2,70],"160":[2,70],"161":[2,70],"162":[2,70],"163":[2,70],"164":[2,70],"165":[2,70],"166":[2,70],"167":[2,70],"168":[2,70]},{"54":[2,69],"59":[2,69]},{"30":[1,398]},{"1":[2,173],"4":[2,173],"29":[2,173],"30":[2,173],"51":[2,173],"59":[2,173],"63":[2,173],"81":[2,173],"86":[2,173],"96":[2,173],"100":[2,173],"108":[2,173],"110":[2,173],"111":[2,173],"112":[2,173],"116":[2,173],"122":[2,173],"123":[2,173],"124":[2,173],"131":[2,173],"132":[2,173],"133":[2,173],"135":[2,173],"136":[2,173],"138":[2,173],"139":[2,173],"142":[2,173],"143":[2,173],"144":[2,173],"145":[2,173],"146":[2,173],"147":[2,173],"148":[2,173],"149":[2,173],"150":[2,173],"151":[2,173],"152":[2,173],"153":[2,173],"154":[2,173],"155":[2,173],"156":[2,173],"157":[2,173],"158":[2,173],"159":[2,173],"160":[2,173],"161":[2,173],"162":[2,173],"163":[2,173],"164":[2,173],"165":[2,173],"166":[2,173],"167":[2,173],"168":[2,173]},{"30":[2,177],"127":[2,177],"129":[2,177]},{"4":[2,134],"29":[2,134],"51":[1,134],"59":[2,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,328],"30":[1,399]},{"1":[2,123],"4":[2,123],"29":[2,123],"30":[2,123],"51":[2,123],"59":[2,123],"63":[2,123],"74":[2,123],"75":[2,123],"76":[2,123],"77":[2,123],"80":[2,123],"81":[2,123],"82":[2,123],"83":[2,123],"86":[2,123],"94":[2,123],"96":[2,123],"100":[2,123],"108":[2,123],"110":[2,123],"111":[2,123],"112":[2,123],"116":[2,123],"122":[2,123],"123":[2,123],"124":[2,123],"131":[2,123],"132":[2,123],"133":[2,123],"135":[2,123],"136":[2,123],"138":[2,123],"139":[2,123],"142":[2,123],"143":[2,123],"144":[2,123],"145":[2,123],"146":[2,123],"147":[2,123],"148":[2,123],"149":[2,123],"150":[2,123],"151":[2,123],"152":[2,123],"153":[2,123],"154":[2,123],"155":[2,123],"156":[2,123],"157":[2,123],"158":[2,123],"159":[2,123],"160":[2,123],"161":[2,123],"162":[2,123],"163":[2,123],"164":[2,123],"165":[2,123],"166":[2,123],"167":[2,123],"168":[2,123]},{"51":[1,134],"63":[1,133],"100":[1,400],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,333],"29":[1,334],"30":[1,401]},{"8":402,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":403,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[1,343],"29":[1,344],"30":[1,404]},{"4":[2,50],"29":[2,50],"30":[2,50],"59":[2,50],"86":[2,50]},{"4":[2,51],"29":[2,51],"30":[2,51],"59":[2,51],"86":[2,51]},{"1":[2,125],"4":[2,125],"29":[2,125],"30":[2,125],"46":[2,125],"51":[2,125],"59":[2,125],"63":[2,125],"74":[2,125],"75":[2,125],"76":[2,125],"77":[2,125],"80":[2,125],"81":[2,125],"82":[2,125],"83":[2,125],"86":[2,125],"88":[2,125],"94":[2,125],"96":[2,125],"100":[2,125],"108":[2,125],"110":[2,125],"111":[2,125],"112":[2,125],"116":[2,125],"122":[2,125],"123":[2,125],"124":[2,125],"131":[2,125],"132":[2,125],"133":[2,125],"135":[2,125],"136":[2,125],"138":[2,125],"139":[2,125],"142":[2,125],"143":[2,125],"144":[2,125],"145":[2,125],"146":[2,125],"147":[2,125],"148":[2,125],"149":[2,125],"150":[2,125],"151":[2,125],"152":[2,125],"153":[2,125],"154":[2,125],"155":[2,125],"156":[2,125],"157":[2,125],"158":[2,125],"159":[2,125],"160":[2,125],"161":[2,125],"162":[2,125],"163":[2,125],"164":[2,125],"165":[2,125],"166":[2,125],"167":[2,125],"168":[2,125]},{"51":[1,134],"63":[1,133],"81":[1,405],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,171],"4":[2,171],"29":[2,171],"30":[2,171],"51":[2,171],"59":[2,171],"63":[2,171],"81":[2,171],"86":[2,171],"96":[2,171],"100":[2,171],"108":[2,171],"110":[2,171],"111":[2,171],"112":[2,171],"116":[2,171],"122":[2,171],"123":[2,171],"124":[2,171],"131":[2,171],"132":[2,171],"133":[2,171],"135":[2,171],"136":[2,171],"138":[2,171],"139":[2,171],"142":[2,171],"143":[2,171],"144":[2,171],"145":[2,171],"146":[2,171],"147":[2,171],"148":[2,171],"149":[2,171],"150":[2,171],"151":[2,171],"152":[2,171],"153":[2,171],"154":[2,171],"155":[2,171],"156":[2,171],"157":[2,171],"158":[2,171],"159":[2,171],"160":[2,171],"161":[2,171],"162":[2,171],"163":[2,171],"164":[2,171],"165":[2,171],"166":[2,171],"167":[2,171],"168":[2,171]},{"1":[2,102],"4":[2,102],"29":[2,102],"30":[2,102],"51":[2,102],"59":[2,102],"63":[2,102],"81":[2,102],"86":[2,102],"96":[2,102],"100":[2,102],"108":[2,102],"110":[2,102],"111":[2,102],"112":[2,102],"116":[2,102],"122":[2,102],"123":[2,102],"124":[2,102],"131":[2,102],"132":[2,102],"133":[2,102],"135":[2,102],"136":[2,102],"138":[2,102],"139":[2,102],"142":[2,102],"143":[2,102],"144":[2,102],"145":[2,102],"146":[2,102],"147":[2,102],"148":[2,102],"149":[2,102],"150":[2,102],"151":[2,102],"152":[2,102],"153":[2,102],"154":[2,102],"155":[2,102],"156":[2,102],"157":[2,102],"158":[2,102],"159":[2,102],"160":[2,102],"161":[2,102],"162":[2,102],"163":[2,102],"164":[2,102],"165":[2,102],"166":[2,102],"167":[2,102],"168":[2,102]},{"1":[2,124],"4":[2,124],"29":[2,124],"30":[2,124],"51":[2,124],"59":[2,124],"63":[2,124],"74":[2,124],"75":[2,124],"76":[2,124],"77":[2,124],"80":[2,124],"81":[2,124],"82":[2,124],"83":[2,124],"86":[2,124],"94":[2,124],"96":[2,124],"100":[2,124],"108":[2,124],"110":[2,124],"111":[2,124],"112":[2,124],"116":[2,124],"122":[2,124],"123":[2,124],"124":[2,124],"131":[2,124],"132":[2,124],"133":[2,124],"135":[2,124],"136":[2,124],"138":[2,124],"139":[2,124],"142":[2,124],"143":[2,124],"144":[2,124],"145":[2,124],"146":[2,124],"147":[2,124],"148":[2,124],"149":[2,124],"150":[2,124],"151":[2,124],"152":[2,124],"153":[2,124],"154":[2,124],"155":[2,124],"156":[2,124],"157":[2,124],"158":[2,124],"159":[2,124],"160":[2,124],"161":[2,124],"162":[2,124],"163":[2,124],"164":[2,124],"165":[2,124],"166":[2,124],"167":[2,124],"168":[2,124]},{"4":[2,132],"29":[2,132],"30":[2,132],"59":[2,132],"96":[2,132],"100":[2,132]},{"1":[2,168],"4":[2,168],"29":[2,168],"30":[2,168],"51":[1,134],"59":[2,168],"63":[1,133],"81":[2,168],"86":[2,168],"96":[2,168],"100":[2,168],"108":[2,168],"109":131,"110":[2,168],"111":[2,168],"112":[2,168],"115":132,"116":[2,168],"117":83,"122":[1,126],"123":[1,127],"124":[2,168],"131":[2,168],"132":[2,168],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,169],"4":[2,169],"29":[2,169],"30":[2,169],"51":[1,134],"59":[2,169],"63":[1,133],"81":[2,169],"86":[2,169],"96":[2,169],"100":[2,169],"108":[2,169],"109":131,"110":[2,169],"111":[2,169],"112":[2,169],"115":132,"116":[2,169],"117":83,"122":[1,126],"123":[1,127],"124":[2,169],"131":[2,169],"132":[2,169],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,98],"29":[2,98],"30":[2,98],"59":[2,98],"86":[2,98]},{"1":[2,126],"4":[2,126],"29":[2,126],"30":[2,126],"46":[2,126],"51":[2,126],"59":[2,126],"63":[2,126],"74":[2,126],"75":[2,126],"76":[2,126],"77":[2,126],"80":[2,126],"81":[2,126],"82":[2,126],"83":[2,126],"86":[2,126],"88":[2,126],"94":[2,126],"96":[2,126],"100":[2,126],"108":[2,126],"110":[2,126],"111":[2,126],"112":[2,126],"116":[2,126],"122":[2,126],"123":[2,126],"124":[2,126],"131":[2,126],"132":[2,126],"133":[2,126],"135":[2,126],"136":[2,126],"138":[2,126],"139":[2,126],"142":[2,126],"143":[2,126],"144":[2,126],"145":[2,126],"146":[2,126],"147":[2,126],"148":[2,126],"149":[2,126],"150":[2,126],"151":[2,126],"152":[2,126],"153":[2,126],"154":[2,126],"155":[2,126],"156":[2,126],"157":[2,126],"158":[2,126],"159":[2,126],"160":[2,126],"161":[2,126],"162":[2,126],"163":[2,126],"164":[2,126],"165":[2,126],"166":[2,126],"167":[2,126],"168":[2,126]}],defaultActions:{"92":[2,4]},parseError:function parseError(str,hash){throw new Error(str)},parse:function parse(input){var self=this,stack=[0],vstack=[null],table=this.table,yytext="",yylineno=0,yyleng=0,shifts=0,reductions=0,recovering=0,TERROR=2,EOF=1;this.lexer.setInput(input);this.lexer.yy=this.yy;this.yy.lexer=this.lexer;var parseError=this.yy.parseError=typeof this.yy.parseError=="function"?this.yy.parseError:this.parseError;function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n}function checkRecover(st){for(var p in table[st]){if(p==TERROR){return true}}return false}function lex(){var token;token=self.lexer.lex()||1;if(typeof token!=="number"){token=self.symbols_[token]||token}return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected,recovered=false;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol==null){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){if(!recovering){expected=[];for(p in table[state]){if(this.terminals_[p]&&p>2){expected.push("'"+this.terminals_[p]+"'")}}if(this.lexer.showPosition){parseError.call(this,"Parse error on line "+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(", "),{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}else{parseError.call(this,"Parse error on line "+(yylineno+1)+": Unexpected '"+(this.terminals_[symbol]||symbol)+"'",{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}}if(recovering==3){if(symbol==EOF){throw"Parsing halted."}yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;symbol=lex()}while(1){if(checkRecover(state)){break}if(state==0){throw"Parsing halted."}popStack(1);state=stack[stack.length-1]}preErrorSymbol=symbol;symbol=TERROR;state=stack[stack.length-1];action=table[state]&&table[state][TERROR];recovering=3}if(action[0] instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}a=action;switch(a[0]){case 1:shifts++;stack.push(symbol);vstack.push(this.lexer.yytext);stack.push(a[1]);symbol=null;if(!preErrorSymbol){yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;if(recovering>0){recovering--}}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:reductions++;len=this.productions_[a[1]][1];yyval.$=vstack[vstack.length-len];r=this.performAction.call(yyval,yytext,yyleng,yylineno,this.yy,a[1],vstack);if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len)}stack.push(this.productions_[a[1]][0]);vstack.push(yyval.$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:this.reductionCount=reductions;this.shiftCount=shifts;return true}}return true}};return parser})();if(typeof require!=="undefined"){exports.parser=parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){if(!args[1]){throw new Error("Usage: "+args[0]+" FILE")}if(typeof process!=="undefined"){var source=require("fs").readFileSync(require("path").join(process.cwd(),args[1]),"utf8")}else{var cwd=require("file").path(require("file").cwd());var source=cwd.join(args[1]).read({charset:"utf-8"})}return exports.parser.parse(source)};if(require.main===module){exports.main(typeof process!=="undefined"?process.argv.slice(1):require("system").args)}}(function(){var Scope;var __hasProp=Object.prototype.hasOwnProperty;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}exports.Scope=(function(){Scope=function(parent,expressions,method){var _a;_a=[parent,expressions,method];this.parent=_a[0];this.expressions=_a[1];this.method=_a[2];this.variables={};if(this.parent){this.tempVar=this.parent.tempVar}else{Scope.root=this;this.tempVar="_a"}return this};Scope.root=null;Scope.prototype.find=function(name){if(this.check(name)){return true}this.variables[name]="var";return false};Scope.prototype.any=function(fn){var _a,k,v;_a=this.variables;for(v in _a){if(!__hasProp.call(_a,v)){continue}k=_a[v];if(fn(v,k)){return true}}return false};Scope.prototype.parameter=function(name){return(this.variables[name]="param")};Scope.prototype.check=function(name){if(this.variables.hasOwnProperty(name)){return true}return !!(this.parent&&this.parent.check(name))};Scope.prototype.freeVariable=function(){var ordinal;while(this.check(this.tempVar)){ordinal=1+parseInt(this.tempVar.substr(1),36);this.tempVar="_"+ordinal.toString(36).replace(/\d/g,"a")}this.variables[this.tempVar]="var";return this.tempVar};Scope.prototype.assign=function(name,value){return(this.variables[name]={value:value,assigned:true})};Scope.prototype.hasDeclarations=function(body){return body===this.expressions&&this.any(function(k,val){return val==="var"})};Scope.prototype.hasAssignments=function(body){return body===this.expressions&&this.any(function(k,val){return val.assigned})};Scope.prototype.declaredVariables=function(){var _a,_b,key,val;return(function(){_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];val==="var"?_a.push(key):null}return _a}).call(this).sort()};Scope.prototype.assignedVariables=function(){var _a,_b,key,val;_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];val.assigned?_a.push(""+key+" = "+val.value):null}return _a};Scope.prototype.compiledDeclarations=function(){return this.declaredVariables().join(", ")};Scope.prototype.compiledAssignments=function(){return this.assignedVariables().join(", ")};return Scope}).call(this)})();(function(){var AccessorNode,ArrayNode,AssignNode,BaseNode,CallNode,ClassNode,ClosureNode,CodeNode,CommentNode,DOUBLE_PARENS,ExistenceNode,Expressions,ExtendsNode,ForNode,IDENTIFIER,IS_STRING,IfNode,InNode,IndexNode,LiteralNode,NUMBER,ObjectNode,OpNode,ParamNode,ParentheticalNode,PushNode,RangeNode,ReturnNode,SIMPLENUM,Scope,SliceNode,SplatNode,TAB,TRAILING_WHITESPACE,ThrowNode,TryNode,UTILITIES,ValueNode,WhileNode,_a,compact,del,ends,flatten,helpers,include,indexOf,literal,merge,starts,utility;var __extends=function(child,parent){var ctor=function(){};ctor.prototype=parent.prototype;child.prototype=new ctor();child.prototype.constructor=child;if(typeof parent.extended==="function"){parent.extended(child)}child.__superClass__=parent.prototype};if(typeof process!=="undefined"&&process!==null){Scope=require("./scope").Scope;helpers=require("./helpers").helpers}else{this.exports=this;helpers=this.helpers;Scope=this.Scope}_a=helpers;compact=_a.compact;flatten=_a.flatten;merge=_a.merge;del=_a.del;include=_a.include;indexOf=_a.indexOf;starts=_a.starts;ends=_a.ends;exports.BaseNode=(function(){BaseNode=function(){};BaseNode.prototype.compile=function(o){var closure,top;this.options=merge(o||{});this.tab=o.indent;if(!(this instanceof ValueNode||this instanceof CallNode)){del(this.options,"operation");if(!(this instanceof AccessorNode||this instanceof IndexNode)){del(this.options,"chainRoot")}}top=this.topSensitive()?this.options.top:del(this.options,"top");closure=this.isStatement()&&!this.isPureStatement()&&!top&&!this.options.asStatement&&!(this instanceof CommentNode)&&!this.containsPureStatement();return closure?this.compileClosure(this.options):this.compileNode(this.options)};BaseNode.prototype.compileClosure=function(o){this.tab=o.indent;o.sharedScope=o.scope;return ClosureNode.wrap(this).compile(o)};BaseNode.prototype.compileReference=function(o,options){var compiled,pair,reference;options=options||{};pair=(function(){if(!((this instanceof CallNode||this.contains(function(n){return n instanceof CallNode}))||(this instanceof ValueNode&&(!(this.base instanceof LiteralNode)||this.hasProperties())))){return[this,this]}else{if(this instanceof ValueNode&&options.assignment){return this.cacheIndexes(o)}else{reference=literal(o.scope.freeVariable());compiled=new AssignNode(reference,this);return[compiled,reference]}}}).call(this);if(options.precompile){return[pair[0].compile(o),pair[1].compile(o)]}return pair};BaseNode.prototype.idt=function(tabs){var idt,num;idt=this.tab||"";num=(tabs||0)+1;while(num-=1){idt+=TAB}return idt};BaseNode.prototype.makeReturn=function(){return new ReturnNode(this)};BaseNode.prototype.contains=function(block){var contains;contains=false;this.traverseChildren(false,function(node){if(block(node)){contains=true;return false}});return contains};BaseNode.prototype.containsType=function(type){return this instanceof type||this.contains(function(n){return n instanceof type})};BaseNode.prototype.containsPureStatement=function(){return this.isPureStatement()||this.contains(function(n){return n.isPureStatement&&n.isPureStatement()})};BaseNode.prototype.traverse=function(block){return this.traverseChildren(true,block)};BaseNode.prototype.toString=function(idt,override){var _b,_c,_d,_e,child,children;idt=idt||"";children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+(override||this["class"])+children};BaseNode.prototype.eachChild=function(func){var _b,_c,_d,_e,_f,_g,_h,attr,child;if(!(this.children)){return null}_b=[];_d=this.children;for(_c=0,_e=_d.length;_c<_e;_c++){attr=_d[_c];if(this[attr]){_g=flatten([this[attr]]);for(_f=0,_h=_g.length;_f<_h;_f++){child=_g[_f];if(func(child)===false){return null}}}}return _b};BaseNode.prototype.collectChildren=function(){var nodes;nodes=[];this.eachChild(function(node){return nodes.push(node)});return nodes};BaseNode.prototype.traverseChildren=function(crossScope,func){return this.eachChild(function(child){func.apply(this,arguments);if(child instanceof BaseNode){return child.traverseChildren(crossScope,func)}})};BaseNode.prototype["class"]="BaseNode";BaseNode.prototype.children=[];BaseNode.prototype.unwrap=function(){return this};BaseNode.prototype.isStatement=function(){return false};BaseNode.prototype.isPureStatement=function(){return false};BaseNode.prototype.topSensitive=function(){return false};return BaseNode})();exports.Expressions=(function(){Expressions=function(nodes){this.expressions=compact(flatten(nodes||[]));return this};__extends(Expressions,BaseNode);Expressions.prototype["class"]="Expressions";Expressions.prototype.children=["expressions"];Expressions.prototype.isStatement=function(){return true};Expressions.prototype.push=function(node){this.expressions.push(node);return this};Expressions.prototype.unshift=function(node){this.expressions.unshift(node);return this};Expressions.prototype.unwrap=function(){return this.expressions.length===1?this.expressions[0]:this};Expressions.prototype.empty=function(){return this.expressions.length===0};Expressions.prototype.makeReturn=function(){var idx,last;idx=this.expressions.length-1;last=this.expressions[idx];if(last instanceof CommentNode){last=this.expressions[idx-=1]}if(!last||last instanceof ReturnNode){return this}this.expressions[idx]=last.makeReturn();return this};Expressions.prototype.compile=function(o){o=o||{};return o.scope?Expressions.__superClass__.compile.call(this,o):this.compileRoot(o)};Expressions.prototype.compileNode=function(o){var _b,_c,_d,_e,node;return(function(){_b=[];_d=this.expressions;for(_c=0,_e=_d.length;_c<_e;_c++){node=_d[_c];_b.push(this.compileExpression(node,merge(o)))}return _b}).call(this).join("\n")};Expressions.prototype.compileRoot=function(o){var code;o.indent=(this.tab=o.noWrap?"":TAB);o.scope=new Scope(null,this,null);code=this.compileWithDeclarations(o);code=code.replace(TRAILING_WHITESPACE,"");code=code.replace(DOUBLE_PARENS,"($1)");return o.noWrap?code:("(function() {\n"+code+"\n})();\n")};Expressions.prototype.compileWithDeclarations=function(o){var code;code=this.compileNode(o);if(o.scope.hasAssignments(this)){code=(""+(this.tab)+"var "+(o.scope.compiledAssignments())+";\n"+code)}if(!o.globals&&o.scope.hasDeclarations(this)){code=(""+(this.tab)+"var "+(o.scope.compiledDeclarations())+";\n"+code)}return code};Expressions.prototype.compileExpression=function(node,o){var compiledNode;this.tab=o.indent;compiledNode=node.compile(merge(o,{top:true}));return node.isStatement()?compiledNode:(""+(this.idt())+compiledNode+";")};return Expressions})();Expressions.wrap=function(nodes){if(nodes.length===1&&nodes[0] instanceof Expressions){return nodes[0]}return new Expressions(nodes)};exports.LiteralNode=(function(){LiteralNode=function(_b){this.value=_b;return this};__extends(LiteralNode,BaseNode);LiteralNode.prototype["class"]="LiteralNode";LiteralNode.prototype.makeReturn=function(){return this.isStatement()?this:LiteralNode.__superClass__.makeReturn.call(this)};LiteralNode.prototype.isStatement=function(){return this.value==="break"||this.value==="continue"};LiteralNode.prototype.isPureStatement=LiteralNode.prototype.isStatement;LiteralNode.prototype.compileNode=function(o){var end,idt;idt=this.isStatement()?this.idt():"";end=this.isStatement()?";":"";return""+idt+this.value+end};LiteralNode.prototype.toString=function(idt){return' "'+this.value+'"'};return LiteralNode})();exports.ReturnNode=(function(){ReturnNode=function(_b){this.expression=_b;return this};__extends(ReturnNode,BaseNode);ReturnNode.prototype["class"]="ReturnNode";ReturnNode.prototype.isStatement=function(){return true};ReturnNode.prototype.isPureStatement=function(){return true};ReturnNode.prototype.children=["expression"];ReturnNode.prototype.makeReturn=function(){return this};ReturnNode.prototype.compile=function(o){var expr;expr=this.expression.makeReturn();if(!(expr instanceof ReturnNode)){return expr.compile(o)}return ReturnNode.__superClass__.compile.call(this,o)};ReturnNode.prototype.compileNode=function(o){if(this.expression.isStatement()){o.asStatement=true}return""+(this.tab)+"return "+(this.expression.compile(o))+";"};return ReturnNode})();exports.ValueNode=(function(){ValueNode=function(_b,_c){this.properties=_c;this.base=_b;this.properties=this.properties||[];return this};__extends(ValueNode,BaseNode);ValueNode.prototype.SOAK=" == undefined ? undefined : ";ValueNode.prototype["class"]="ValueNode";ValueNode.prototype.children=["base","properties"];ValueNode.prototype.push=function(prop){this.properties.push(prop);return this};ValueNode.prototype.hasProperties=function(){return !!this.properties.length};ValueNode.prototype.isArray=function(){return this.base instanceof ArrayNode&&!this.hasProperties()};ValueNode.prototype.isObject=function(){return this.base instanceof ObjectNode&&!this.hasProperties()};ValueNode.prototype.isSplice=function(){return this.hasProperties()&&this.properties[this.properties.length-1] instanceof SliceNode};ValueNode.prototype.makeReturn=function(){return this.hasProperties()?ValueNode.__superClass__.makeReturn.call(this):this.base.makeReturn()};ValueNode.prototype.unwrap=function(){return this.properties.length?this:this.base};ValueNode.prototype.isStatement=function(){return this.base.isStatement&&this.base.isStatement()&&!this.hasProperties()};ValueNode.prototype.isNumber=function(){return this.base instanceof LiteralNode&&this.base.value.match(NUMBER)};ValueNode.prototype.isStart=function(o){var node;if(this===o.chainRoot&&this.properties[0] instanceof AccessorNode){return true}node=o.chainRoot.base||o.chainRoot.variable;while(node instanceof CallNode){node=node.variable}return node===this};ValueNode.prototype.cacheIndexes=function(o){var _b,_c,_d,copy,i;copy=new ValueNode(this.base,this.properties.slice(0));_c=copy.properties;for(_b=0,_d=_c.length;_b<_d;_b++){(function(){var _e,index,indexVar;var i=_b;var prop=_c[_b];if(prop instanceof IndexNode&&prop.contains(function(n){return n instanceof CallNode})){_e=prop.index.compileReference(o);index=_e[0];indexVar=_e[1];this.properties[i]=new IndexNode(index);return(copy.properties[i]=new IndexNode(indexVar))}}).call(this)}return[this,copy]};ValueNode.prototype.compile=function(o){return !o.top||this.properties.length?ValueNode.__superClass__.compile.call(this,o):this.base.compile(o)};ValueNode.prototype.compileNode=function(o){var _b,_c,_d,baseline,complete,i,only,op,props;only=del(o,"onlyFirst");op=del(o,"operation");props=only?this.properties.slice(0,this.properties.length-1):this.properties;o.chainRoot=o.chainRoot||this;baseline=this.base.compile(o);if(this.hasProperties()&&(this.base instanceof ObjectNode||this.isNumber())){baseline=("("+baseline+")")}complete=(this.last=baseline);_c=props;for(_b=0,_d=_c.length;_b<_d;_b++){(function(){var part,temp;var i=_b;var prop=_c[_b];this.source=baseline;if(prop.soakNode){if(this.base instanceof CallNode||this.base.contains(function(n){return n instanceof CallNode})&&i===0){temp=o.scope.freeVariable();complete=("("+(baseline=temp)+" = ("+complete+"))")}if(i===0&&this.isStart(o)){complete=("typeof "+complete+' === "undefined" || '+baseline)}return complete+=this.SOAK+(baseline+=prop.compile(o))}else{part=prop.compile(o);baseline+=part;complete+=part;return(this.last=part)}}).call(this)}return op&&this.wrapped?("("+complete+")"):complete};return ValueNode})();exports.CommentNode=(function(){CommentNode=function(_b){this.lines=_b;return this};__extends(CommentNode,BaseNode);CommentNode.prototype["class"]="CommentNode";CommentNode.prototype.isStatement=function(){return true};CommentNode.prototype.makeReturn=function(){return this};CommentNode.prototype.compileNode=function(o){var sep;sep=("\n"+this.tab);return""+this.tab+"/*"+sep+(this.lines.join(sep))+"\n"+this.tab+"*/"};return CommentNode})();exports.CallNode=(function(){CallNode=function(variable,_b){this.args=_b;this.isNew=false;this.isSuper=variable==="super";this.variable=this.isSuper?null:variable;this.args=this.args||[];this.compileSplatArguments=function(o){return SplatNode.compileSplattedArray.call(this,this.args,o)};return this};__extends(CallNode,BaseNode);CallNode.prototype["class"]="CallNode";CallNode.prototype.children=["variable","args"];CallNode.prototype.newInstance=function(){this.isNew=true;return this};CallNode.prototype.prefix=function(){return this.isNew?"new ":""};CallNode.prototype.superReference=function(o){var meth,methname;methname=o.scope.method.name;return(meth=(function(){if(o.scope.method.proto){return""+(o.scope.method.proto)+".__superClass__."+methname}else{if(methname){return""+(methname)+".__superClass__.constructor"}else{throw new Error("cannot call super on an anonymous function.")}}})())};CallNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,arg,args,compilation;if(!(o.chainRoot)){o.chainRoot=this}_c=this.args;for(_b=0,_d=_c.length;_b<_d;_b++){arg=_c[_b];arg instanceof SplatNode?(compilation=this.compileSplat(o)):null}if(!(compilation)){args=(function(){_e=[];_g=this.args;for(_f=0,_h=_g.length;_f<_h;_f++){arg=_g[_f];_e.push(arg.compile(o))}return _e}).call(this).join(", ");compilation=this.isSuper?this.compileSuper(args,o):(""+(this.prefix())+(this.variable.compile(o))+"("+args+")")}return o.operation&&this.wrapped?("("+compilation+")"):compilation};CallNode.prototype.compileSuper=function(args,o){return""+(this.superReference(o))+".call(this"+(args.length?", ":"")+args+")"};CallNode.prototype.compileSplat=function(o){var meth,obj,temp;meth=this.variable?this.variable.compile(o):this.superReference(o);obj=this.variable&&this.variable.source||"this";if(obj.match(/\(/)){temp=o.scope.freeVariable();obj=temp;meth=("("+temp+" = "+(this.variable.source)+")"+(this.variable.last))}if(this.isNew){utility("extends");return"(function() {\n"+(this.idt(1))+"var ctor = function(){};\n"+(this.idt(1))+"__extends(ctor, "+meth+");\n"+(this.idt(1))+"return "+(meth)+".apply(new ctor, "+(this.compileSplatArguments(o))+");\n"+this.tab+"}).call(this)"}else{return""+(this.prefix())+(meth)+".apply("+obj+", "+(this.compileSplatArguments(o))+")"}};return CallNode})();exports.ExtendsNode=(function(){ExtendsNode=function(_b,_c){this.parent=_c;this.child=_b;return this};__extends(ExtendsNode,BaseNode);ExtendsNode.prototype["class"]="ExtendsNode";ExtendsNode.prototype.children=["child","parent"];ExtendsNode.prototype.compileNode=function(o){var ref;ref=new ValueNode(literal(utility("extends")));return(new CallNode(ref,[this.child,this.parent])).compile(o)};return ExtendsNode})();exports.AccessorNode=(function(){AccessorNode=function(_b,tag){this.name=_b;this.prototype=tag==="prototype"?".prototype":"";this.soakNode=tag==="soak";return this};__extends(AccessorNode,BaseNode);AccessorNode.prototype["class"]="AccessorNode";AccessorNode.prototype.children=["name"];AccessorNode.prototype.compileNode=function(o){var name,namePart;name=this.name.compile(o);o.chainRoot.wrapped=o.chainRoot.wrapped||this.soakNode;namePart=name.match(IS_STRING)?("["+name+"]"):("."+name);return this.prototype+namePart};return AccessorNode})();exports.IndexNode=(function(){IndexNode=function(_b){this.index=_b;return this};__extends(IndexNode,BaseNode);IndexNode.prototype["class"]="IndexNode";IndexNode.prototype.children=["index"];IndexNode.prototype.compileNode=function(o){var idx,prefix;o.chainRoot.wrapped=o.chainRoot.wrapped||this.soakNode;idx=this.index.compile(o);prefix=this.proto?".prototype":"";return""+prefix+"["+idx+"]"};return IndexNode})();exports.RangeNode=(function(){RangeNode=function(_b,_c,exclusive){this.to=_c;this.from=_b;this.exclusive=!!exclusive;this.equals=this.exclusive?"":"=";return this};__extends(RangeNode,BaseNode);RangeNode.prototype["class"]="RangeNode";RangeNode.prototype.children=["from","to"];RangeNode.prototype.compileVariables=function(o){var _b,_c,_d,parts;o=merge(o,{top:true});_b=this.from.compileReference(o,{precompile:true});this.from=_b[0];this.fromVar=_b[1];_c=this.to.compileReference(o,{precompile:true});this.to=_c[0];this.toVar=_c[1];_d=[this.fromVar.match(SIMPLENUM),this.toVar.match(SIMPLENUM)];this.fromNum=_d[0];this.toNum=_d[1];parts=[];if(this.from!==this.fromVar){parts.push(this.from)}if(this.to!==this.toVar){parts.push(this.to)}return parts.length?(""+(parts.join("; "))+"; "):""};RangeNode.prototype.compileNode=function(o){var compare,idx,incr,intro,step,stepPart,vars;if(!(o.index)){return this.compileArray(o)}if(this.fromNum&&this.toNum){return this.compileSimple(o)}idx=del(o,"index");step=del(o,"step");vars=(""+idx+" = "+this.fromVar);intro=("("+this.fromVar+" <= "+this.toVar+" ? "+idx);compare=(""+intro+" <"+this.equals+" "+this.toVar+" : "+idx+" >"+this.equals+" "+this.toVar+")");stepPart=step?step.compile(o):"1";incr=step?(""+idx+" += "+stepPart):(""+intro+" += "+stepPart+" : "+idx+" -= "+stepPart+")");return""+vars+"; "+compare+"; "+incr};RangeNode.prototype.compileSimple=function(o){var _b,from,idx,step,to;_b=[parseInt(this.fromNum,10),parseInt(this.toNum,10)];from=_b[0];to=_b[1];idx=del(o,"index");step=del(o,"step");step=step&&(""+idx+" += "+(step.compile(o)));return from<=to?(""+idx+" = "+from+"; "+idx+" <"+this.equals+" "+to+"; "+(step||(""+idx+"++"))):(""+idx+" = "+from+"; "+idx+" >"+this.equals+" "+to+"; "+(step||(""+idx+"--")))};RangeNode.prototype.compileArray=function(o){var _b,_c,body,clause,i,idt,post,pre,range,result,vars;idt=this.idt(1);vars=this.compileVariables(merge(o,{indent:idt}));if(this.fromNum&&this.toNum&&Math.abs(+this.fromNum-+this.toNum)<=20){range=(function(){_c=[];for(var _b=+this.fromNum;+this.fromNum<=+this.toNum?_b<=+this.toNum:_b>=+this.toNum;+this.fromNum<=+this.toNum?_b+=1:_b-=1){_c.push(_b)}return _c}).call(this);if(this.exclusive){range.pop()}return("["+(range.join(", "))+"]")}i=o.scope.freeVariable();result=o.scope.freeVariable();pre=("\n"+(idt)+(result)+" = []; "+(vars));if(this.fromNum&&this.toNum){o.index=i;body=this.compileSimple(o)}else{clause=(""+this.fromVar+" <= "+this.toVar+" ?");body=("var "+i+" = "+this.fromVar+"; "+clause+" "+i+" <"+this.equals+" "+this.toVar+" : "+i+" >"+this.equals+" "+this.toVar+"; "+clause+" "+i+" += 1 : "+i+" -= 1")}post=("{ "+(result)+".push("+i+"); }\n"+(idt)+"return "+result+";\n"+o.indent);return"(function() {"+(pre)+"\n"+(idt)+"for ("+body+")"+post+"}).call(this)"};return RangeNode})();exports.SliceNode=(function(){SliceNode=function(_b){this.range=_b;return this};__extends(SliceNode,BaseNode);SliceNode.prototype["class"]="SliceNode";SliceNode.prototype.children=["range"];SliceNode.prototype.compileNode=function(o){var from,plusPart,to;from=this.range.from.compile(o);to=this.range.to.compile(o);plusPart=this.range.exclusive?"":" + 1";return".slice("+from+", "+to+plusPart+")"};return SliceNode})();exports.ObjectNode=(function(){ObjectNode=function(props){this.objects=(this.properties=props||[]);return this};__extends(ObjectNode,BaseNode);ObjectNode.prototype["class"]="ObjectNode";ObjectNode.prototype.children=["properties"];ObjectNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,i,indent,inner,join,lastNoncom,nonComments,prop,props;o.indent=this.idt(1);nonComments=(function(){_b=[];_d=this.properties;for(_c=0,_e=_d.length;_c<_e;_c++){prop=_d[_c];!(prop instanceof CommentNode)?_b.push(prop):null}return _b}).call(this);lastNoncom=nonComments[nonComments.length-1];props=(function(){_f=[];_g=this.properties;for(i=0,_h=_g.length;i<_h;i++){prop=_g[i];_f.push((function(){join=",\n";if((prop===lastNoncom)||(prop instanceof CommentNode)){join="\n"}if(i===this.properties.length-1){join=""}indent=prop instanceof CommentNode?"":this.idt(1);if(!(prop instanceof AssignNode||prop instanceof CommentNode)){prop=new AssignNode(prop,prop,"object")}return indent+prop.compile(o)+join}).call(this))}return _f}).call(this);props=props.join("");inner=props?"\n"+props+"\n"+this.idt():"";return"{"+inner+"}"};return ObjectNode})();exports.ArrayNode=(function(){ArrayNode=function(_b){this.objects=_b;this.objects=this.objects||[];this.compileSplatLiteral=function(o){return SplatNode.compileSplattedArray.call(this,this.objects,o)};return this};__extends(ArrayNode,BaseNode);ArrayNode.prototype["class"]="ArrayNode";ArrayNode.prototype.children=["objects"];ArrayNode.prototype.compileNode=function(o){var _b,_c,code,i,obj,objects;o.indent=this.idt(1);objects=[];_b=this.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];code=obj.compile(o);if(obj instanceof SplatNode){return this.compileSplatLiteral(o)}else{if(obj instanceof CommentNode){objects.push("\n"+code+"\n"+o.indent)}else{if(i===this.objects.length-1){objects.push(code)}else{objects.push(""+code+", ")}}}}objects=objects.join("");return indexOf(objects,"\n")>=0?("[\n"+(this.idt(1))+objects+"\n"+this.tab+"]"):("["+objects+"]")};return ArrayNode})();exports.ClassNode=(function(){ClassNode=function(_b,_c,_d){this.properties=_d;this.parent=_c;this.variable=_b;this.properties=this.properties||[];this.returns=false;return this};__extends(ClassNode,BaseNode);ClassNode.prototype["class"]="ClassNode";ClassNode.prototype.children=["variable","parent","properties"];ClassNode.prototype.isStatement=function(){return true};ClassNode.prototype.makeReturn=function(){this.returns=true;return this};ClassNode.prototype.compileNode=function(o){var _b,_c,_d,_e,access,applied,className,constScope,construct,constructor,extension,func,me,pname,prop,props,pvar,returns,val;if(this.variable==="__temp__"){this.variable=literal(o.scope.freeVariable())}extension=this.parent&&new ExtendsNode(this.variable,this.parent);props=new Expressions();o.top=true;me=null;className=this.variable.compile(o);constScope=null;if(this.parent){applied=new ValueNode(this.parent,[new AccessorNode(literal("apply"))]);constructor=new CodeNode([],new Expressions([new CallNode(applied,[literal("this"),literal("arguments")])]))}else{constructor=new CodeNode()}_c=this.properties;for(_b=0,_d=_c.length;_b<_d;_b++){prop=_c[_b];_e=[prop.variable,prop.value];pvar=_e[0];func=_e[1];if(pvar&&pvar.base.value==="constructor"&&func instanceof CodeNode){if(func.bound){throw new Error("cannot define a constructor as a bound function.")}func.name=className;func.body.push(new ReturnNode(literal("this")));this.variable=new ValueNode(this.variable);this.variable.namespaced=include(func.name,".");constructor=func;continue}if(func instanceof CodeNode&&func.bound){func.bound=false;constScope=constScope||new Scope(o.scope,constructor.body,constructor);me=me||constScope.freeVariable();pname=pvar.compile(o);if(constructor.body.empty()){constructor.body.push(new ReturnNode(literal("this")))}constructor.body.unshift(literal(("this."+(pname)+" = function(){ return "+(className)+".prototype."+(pname)+".apply("+me+", arguments); }")))}if(pvar){access=prop.context==="this"?pvar.base.properties[0]:new AccessorNode(pvar,"prototype");val=new ValueNode(this.variable,[access]);prop=new AssignNode(val,func)}props.push(prop)}if(me){constructor.body.unshift(literal(""+me+" = this"))}construct=this.idt()+(new AssignNode(this.variable,constructor)).compile(merge(o,{sharedScope:constScope}))+";";props=!props.empty()?"\n"+props.compile(o):"";extension=extension?"\n"+this.idt()+extension.compile(o)+";":"";returns=this.returns?"\n"+new ReturnNode(this.variable).compile(o):"";return""+construct+extension+props+returns};return ClassNode})();exports.AssignNode=(function(){AssignNode=function(_b,_c,_d){this.context=_d;this.value=_c;this.variable=_b;return this};__extends(AssignNode,BaseNode);AssignNode.prototype.PROTO_ASSIGN=/^(\S+)\.prototype/;AssignNode.prototype.LEADING_DOT=/^\.(prototype\.)?/;AssignNode.prototype["class"]="AssignNode";AssignNode.prototype.children=["variable","value"];AssignNode.prototype.topSensitive=function(){return true};AssignNode.prototype.isValue=function(){return this.variable instanceof ValueNode};AssignNode.prototype.makeReturn=function(){if(this.isStatement()){return new Expressions([this,new ReturnNode(this.variable)])}else{return AssignNode.__superClass__.makeReturn.call(this)}};AssignNode.prototype.isStatement=function(){return this.isValue()&&(this.variable.isArray()||this.variable.isObject())};AssignNode.prototype.compileNode=function(o){var last,match,name,proto,stmt,top,val;top=del(o,"top");if(this.isStatement()){return this.compilePatternMatch(o)}if(this.isValue()&&this.variable.isSplice()){return this.compileSplice(o)}stmt=del(o,"asStatement");name=this.variable.compile(o);last=this.isValue()?this.variable.last.replace(this.LEADING_DOT,""):name;match=name.match(this.PROTO_ASSIGN);proto=match&&match[1];if(this.value instanceof CodeNode){if(last.match(IDENTIFIER)){this.value.name=last}if(proto){this.value.proto=proto}}val=this.value.compile(o);if(this.context==="object"){return(""+name+": "+val)}if(!(this.isValue()&&(this.variable.hasProperties()||this.variable.namespaced))){o.scope.find(name)}val=(""+name+" = "+val);if(stmt){return(""+this.tab+val+";")}return top?val:("("+val+")")};AssignNode.prototype.compilePatternMatch=function(o){var _b,_c,_d,accessClass,assigns,code,i,idx,isString,obj,oindex,olength,splat,val,valVar,value;valVar=o.scope.freeVariable();value=this.value.isStatement()?ClosureNode.wrap(this.value):this.value;assigns=[(""+this.tab+valVar+" = "+(value.compile(o))+";")];o.top=true;o.asStatement=true;splat=false;_b=this.variable.base.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];idx=i;if(this.variable.isObject()){if(obj instanceof AssignNode){_d=[obj.value,obj.variable.base];obj=_d[0];idx=_d[1]}else{idx=obj}}if(!(obj instanceof ValueNode||obj instanceof SplatNode)){throw new Error("pattern matching must use only identifiers on the left-hand side.")}isString=idx.value&&idx.value.match(IS_STRING);accessClass=isString||this.variable.isArray()?IndexNode:AccessorNode;if(obj instanceof SplatNode&&!splat){val=literal(obj.compileValue(o,valVar,(oindex=indexOf(this.variable.base.objects,obj)),(olength=this.variable.base.objects.length)-oindex-1));splat=true}else{if(typeof idx!=="object"){idx=literal(splat?(""+(valVar)+".length - "+(olength-idx)):idx)}val=new ValueNode(literal(valVar),[new accessClass(idx)])}assigns.push(new AssignNode(obj,val).compile(o))}code=assigns.join("\n");return code};AssignNode.prototype.compileSplice=function(o){var from,l,name,plus,range,to,val;name=this.variable.compile(merge(o,{onlyFirst:true}));l=this.variable.properties.length;range=this.variable.properties[l-1].range;plus=range.exclusive?"":" + 1";from=range.from.compile(o);to=range.to.compile(o)+" - "+from+plus;val=this.value.compile(o);return""+(name)+".splice.apply("+name+", ["+from+", "+to+"].concat("+val+"))"};return AssignNode})();exports.CodeNode=(function(){CodeNode=function(_b,_c,tag){this.body=_c;this.params=_b;this.params=this.params||[];this.body=this.body||new Expressions();this.bound=tag==="boundfunc";return this};__extends(CodeNode,BaseNode);CodeNode.prototype["class"]="CodeNode";CodeNode.prototype.children=["params","body"];CodeNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,code,empty,func,i,param,params,sharedScope,splat,top,value;sharedScope=del(o,"sharedScope");top=del(o,"top");o.scope=sharedScope||new Scope(o.scope,this.body,this);o.top=true;o.indent=this.idt(1);empty=this.body.expressions.length===0;del(o,"noWrap");del(o,"globals");splat=undefined;params=[];_b=this.params;for(i=0,_c=_b.length;i<_c;i++){param=_b[i];if(splat){if(param.attach){param.assign=new AssignNode(new ValueNode(literal("this"),[new AccessorNode(param.value)]));this.body.expressions.splice(splat.index+1,0,param.assign)}splat.trailings.push(param)}else{if(param.attach){_d=param;value=_d.value;_e=[literal(o.scope.freeVariable()),param.splat];param=_e[0];param.splat=_e[1];this.body.unshift(new AssignNode(new ValueNode(literal("this"),[new AccessorNode(value)]),param))}if(param.splat){splat=new SplatNode(param.value);splat.index=i;splat.trailings=[];splat.arglength=this.params.length;this.body.unshift(splat)}else{params.push(param)}}}params=(function(){_f=[];_h=params;for(_g=0,_i=_h.length;_g<_i;_g++){param=_h[_g];_f.push(param.compile(o))}return _f})();if(!(empty)){this.body.makeReturn()}_k=params;for(_j=0,_l=_k.length;_j<_l;_j++){param=_k[_j];(o.scope.parameter(param))}code=this.body.expressions.length?("\n"+(this.body.compileWithDeclarations(o))+"\n"):"";func=("function("+(params.join(", "))+") {"+code+(code&&this.tab)+"}");if(this.bound){return(""+(utility("bind"))+"("+func+", this)")}return top?("("+func+")"):func};CodeNode.prototype.topSensitive=function(){return true};CodeNode.prototype.traverseChildren=function(crossScope,func){if(crossScope){return CodeNode.__superClass__.traverseChildren.call(this,crossScope,func)}};CodeNode.prototype.toString=function(idt){var _b,_c,_d,_e,child,children;idt=idt||"";children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+children};return CodeNode})();exports.ParamNode=(function(){ParamNode=function(_b,_c,_d){this.splat=_d;this.attach=_c;this.name=_b;this.value=literal(this.name);return this};__extends(ParamNode,BaseNode);ParamNode.prototype["class"]="ParamNode";ParamNode.prototype.children=["name"];ParamNode.prototype.compileNode=function(o){return this.value.compile(o)};ParamNode.prototype.toString=function(idt){return this.attach?(literal("@"+this.name)).toString(idt):this.value.toString(idt)};return ParamNode})();exports.SplatNode=(function(){SplatNode=function(name){if(!(name.compile)){name=literal(name)}this.name=name;return this};__extends(SplatNode,BaseNode);SplatNode.prototype["class"]="SplatNode";SplatNode.prototype.children=["name"];SplatNode.prototype.compileNode=function(o){var _b;return(typeof(_b=this.index)!=="undefined"&&_b!==null)?this.compileParam(o):this.name.compile(o)};SplatNode.prototype.compileParam=function(o){var _b,_c,assign,end,idx,len,name,pos,trailing,variadic;name=this.name.compile(o);o.scope.find(name);end="";if(this.trailings.length){len=o.scope.freeVariable();o.scope.assign(len,"arguments.length");variadic=o.scope.freeVariable();o.scope.assign(variadic,(""+len+" >= "+this.arglength));end=this.trailings.length?(", "+len+" - "+(this.trailings.length)):null;_b=this.trailings;for(idx=0,_c=_b.length;idx<_c;idx++){trailing=_b[idx];if(trailing.attach){assign=trailing.assign;trailing=literal(o.scope.freeVariable());assign.value=trailing}pos=this.trailings.length-idx;o.scope.assign(trailing.compile(o),("arguments["+variadic+" ? "+len+" - "+pos+" : "+(this.index+idx)+"]"))}}return""+name+" = "+(utility("slice"))+".call(arguments, "+this.index+end+")"};SplatNode.prototype.compileValue=function(o,name,index,trailings){var trail;trail=trailings?(", "+(name)+".length - "+trailings):"";return""+(utility("slice"))+".call("+name+", "+index+trail+")"};SplatNode.compileSplattedArray=function(list,o){var _b,_c,arg,args,code,i,last,prev;args=[];_b=list;for(i=0,_c=_b.length;i<_c;i++){arg=_b[i];code=arg.compile(o);prev=args[(last=args.length-1)];if(!(arg instanceof SplatNode)){if(prev&&starts(prev,"[")&&ends(prev,"]")){args[last]=(""+(prev.substr(0,prev.length-1))+", "+code+"]");continue}else{if(prev&&starts(prev,".concat([")&&ends(prev,"])")){args[last]=(""+(prev.substr(0,prev.length-2))+", "+code+"])");continue}else{code=("["+code+"]")}}}args.push(i===0?code:(".concat("+code+")"))}return args.join("")};return SplatNode}).call(this);exports.WhileNode=(function(){WhileNode=function(condition,opts){if(opts&&opts.invert){if(condition instanceof OpNode){condition=new ParentheticalNode(condition)}condition=new OpNode("!",condition)}this.condition=condition;this.guard=opts&&opts.guard;return this};__extends(WhileNode,BaseNode);WhileNode.prototype["class"]="WhileNode";WhileNode.prototype.children=["condition","guard","body"];WhileNode.prototype.isStatement=function(){return true};WhileNode.prototype.addBody=function(body){this.body=body;return this};WhileNode.prototype.makeReturn=function(){this.returns=true;return this};WhileNode.prototype.topSensitive=function(){return true};WhileNode.prototype.compileNode=function(o){var cond,post,pre,rvar,set,top;top=del(o,"top")&&!this.returns;o.indent=this.idt(1);o.top=true;cond=this.condition.compile(o);set="";if(!(top)){rvar=o.scope.freeVariable();set=(""+this.tab+rvar+" = [];\n");if(this.body){this.body=PushNode.wrap(rvar,this.body)}}pre=(""+set+(this.tab)+"while ("+cond+")");if(this.guard){this.body=Expressions.wrap([new IfNode(this.guard,this.body)])}this.returns?(post="\n"+new ReturnNode(literal(rvar)).compile(merge(o,{indent:this.idt()}))):(post="");return""+pre+" {\n"+(this.body.compile(o))+"\n"+this.tab+"}"+post};return WhileNode})();exports.OpNode=(function(){OpNode=function(_b,_c,_d,flip){this.second=_d;this.first=_c;this.operator=_b;this.operator=this.CONVERSIONS[this.operator]||this.operator;this.flip=!!flip;this.first instanceof ValueNode&&this.first.base instanceof ObjectNode?(this.first=new ParentheticalNode(this.first)):null;return this};__extends(OpNode,BaseNode);OpNode.prototype.CONVERSIONS={"==":"===","!=":"!=="};OpNode.prototype.CHAINABLE=["<",">",">=","<=","===","!=="];OpNode.prototype.ASSIGNMENT=["||=","&&=","?="];OpNode.prototype.PREFIX_OPERATORS=["typeof","delete"];OpNode.prototype["class"]="OpNode";OpNode.prototype.children=["first","second"];OpNode.prototype.isUnary=function(){return !this.second};OpNode.prototype.isChainable=function(){return indexOf(this.CHAINABLE,this.operator)>=0};OpNode.prototype.toString=function(idt){return OpNode.__superClass__.toString.call(this,idt,this["class"]+" "+this.operator)};OpNode.prototype.compileNode=function(o){o.operation=true;if(this.isChainable()&&this.first.unwrap() instanceof OpNode&&this.first.unwrap().isChainable()){return this.compileChain(o)}if(indexOf(this.ASSIGNMENT,this.operator)>=0){return this.compileAssignment(o)}if(this.isUnary()){return this.compileUnary(o)}if(this.operator==="?"){return this.compileExistence(o)}return[this.first.compile(o),this.operator,this.second.compile(o)].join(" ")};OpNode.prototype.compileChain=function(o){var _b,_c,first,second,shared;shared=this.first.unwrap().second;if(shared.containsType(CallNode)){_b=shared.compileReference(o);this.first.second=_b[0];shared=_b[1]}_c=[this.first.compile(o),this.second.compile(o),shared.compile(o)];first=_c[0];second=_c[1];shared=_c[2];return"("+first+") && ("+shared+" "+this.operator+" "+second+")"};OpNode.prototype.compileAssignment=function(o){var _b,first,firstVar,second;_b=this.first.compileReference(o,{precompile:true,assignment:true});first=_b[0];firstVar=_b[1];second=this.second.compile(o);if(first.match(IDENTIFIER)){o.scope.find(first)}if(this.operator==="?="){return(""+first+" = "+(ExistenceNode.compileTest(o,literal(firstVar)))+" ? "+firstVar+" : "+second)}return""+first+" = "+firstVar+" "+(this.operator.substr(0,2))+" "+second};OpNode.prototype.compileExistence=function(o){var _b,first,second,test;_b=[this.first.compile(o),this.second.compile(o)];first=_b[0];second=_b[1];test=ExistenceNode.compileTest(o,this.first);return""+test+" ? "+first+" : "+second};OpNode.prototype.compileUnary=function(o){var parts,space;space=indexOf(this.PREFIX_OPERATORS,this.operator)>=0?" ":"";parts=[this.operator,space,this.first.compile(o)];if(this.flip){parts=parts.reverse()}return parts.join("")};return OpNode})();exports.InNode=(function(){InNode=function(_b,_c){this.array=_c;this.object=_b;return this};__extends(InNode,BaseNode);InNode.prototype["class"]="InNode";InNode.prototype.children=["object","array"];InNode.prototype.isArray=function(){return this.array instanceof ValueNode&&this.array.isArray()};InNode.prototype.compileNode=function(o){var _b;_b=this.object.compileReference(o,{precompile:true});this.obj1=_b[0];this.obj2=_b[1];return this.isArray()?this.compileOrTest(o):this.compileLoopTest(o)};InNode.prototype.compileOrTest=function(o){var _b,_c,_d,i,item,tests;tests=(function(){_b=[];_c=this.array.base.objects;for(i=0,_d=_c.length;i<_d;i++){item=_c[i];_b.push((""+(item.compile(o))+" === "+(i?this.obj2:this.obj1)))}return _b}).call(this);return"("+(tests.join(" || "))+")"};InNode.prototype.compileLoopTest=function(o){var _b,_c,i,l,prefix;_b=this.array.compileReference(o,{precompile:true});this.arr1=_b[0];this.arr2=_b[1];_c=[o.scope.freeVariable(),o.scope.freeVariable()];i=_c[0];l=_c[1];prefix=this.obj1!==this.obj2?this.obj1+"; ":"";return"!!(function(){ "+(prefix)+"for (var "+i+"=0, "+l+"="+(this.arr1)+".length; "+i+"<"+l+"; "+i+"++) if ("+(this.arr2)+"["+i+"] === "+this.obj2+") return true; }).call(this)"};return InNode})();exports.TryNode=(function(){TryNode=function(_b,_c,_d,_e){this.ensure=_e;this.recovery=_d;this.error=_c;this.attempt=_b;return this};__extends(TryNode,BaseNode);TryNode.prototype["class"]="TryNode";TryNode.prototype.children=["attempt","recovery","ensure"];TryNode.prototype.isStatement=function(){return true};TryNode.prototype.makeReturn=function(){if(this.attempt){this.attempt=this.attempt.makeReturn()}if(this.recovery){this.recovery=this.recovery.makeReturn()}return this};TryNode.prototype.compileNode=function(o){var attemptPart,catchPart,errorPart,finallyPart;o.indent=this.idt(1);o.top=true;attemptPart=this.attempt.compile(o);errorPart=this.error?(" ("+(this.error.compile(o))+") "):" ";catchPart=this.recovery?(" catch"+errorPart+"{\n"+(this.recovery.compile(o))+"\n"+this.tab+"}"):"";finallyPart=(this.ensure||"")&&" finally {\n"+this.ensure.compile(merge(o))+("\n"+this.tab+"}");return""+(this.tab)+"try {\n"+attemptPart+"\n"+this.tab+"}"+catchPart+finallyPart};return TryNode})();exports.ThrowNode=(function(){ThrowNode=function(_b){this.expression=_b;return this};__extends(ThrowNode,BaseNode);ThrowNode.prototype["class"]="ThrowNode";ThrowNode.prototype.children=["expression"];ThrowNode.prototype.isStatement=function(){return true};ThrowNode.prototype.makeReturn=function(){return this};ThrowNode.prototype.compileNode=function(o){return""+(this.tab)+"throw "+(this.expression.compile(o))+";"};return ThrowNode})();exports.ExistenceNode=(function(){ExistenceNode=function(_b){this.expression=_b;return this};__extends(ExistenceNode,BaseNode);ExistenceNode.prototype["class"]="ExistenceNode";ExistenceNode.prototype.children=["expression"];ExistenceNode.prototype.compileNode=function(o){return ExistenceNode.compileTest(o,this.expression)};ExistenceNode.compileTest=function(o,variable){var _b,first,second;_b=variable.compileReference(o);first=_b[0];second=_b[1];return"(typeof "+(first.compile(o))+' !== "undefined" && '+(second.compile(o))+" !== null)"};return ExistenceNode}).call(this);exports.ParentheticalNode=(function(){ParentheticalNode=function(_b){this.expression=_b;return this};__extends(ParentheticalNode,BaseNode);ParentheticalNode.prototype["class"]="ParentheticalNode";ParentheticalNode.prototype.children=["expression"];ParentheticalNode.prototype.isStatement=function(){return this.expression.isStatement()};ParentheticalNode.prototype.makeReturn=function(){return this.expression.makeReturn()};ParentheticalNode.prototype.topSensitive=function(){return true};ParentheticalNode.prototype.compileNode=function(o){var code,l,top;top=del(o,"top");code=this.expression.compile(o);if(this.isStatement()){return(top?(""+this.tab+code+";"):code)}l=code.length;if(code.substr(l-1,1)===";"){code=code.substr(o,l-1)}return this.expression instanceof AssignNode?code:("("+code+")")};return ParentheticalNode})();exports.ForNode=(function(){ForNode=function(_b,source,_c,_d){var _e;this.index=_d;this.name=_c;this.body=_b;this.index=this.index||null;this.source=source.source;this.guard=source.guard;this.step=source.step;this.raw=!!source.raw;this.object=!!source.object;if(this.object){_e=[this.index,this.name];this.name=_e[0];this.index=_e[1]}this.pattern=this.name instanceof ValueNode;if(this.index instanceof ValueNode){throw new Error("index cannot be a pattern matching expression")}this.returns=false;return this};__extends(ForNode,BaseNode);ForNode.prototype["class"]="ForNode";ForNode.prototype.children=["body","source","guard"];ForNode.prototype.isStatement=function(){return true};ForNode.prototype.topSensitive=function(){return true};ForNode.prototype.makeReturn=function(){this.returns=true;return this};ForNode.prototype.compileReturnValue=function(val,o){if(this.returns){return"\n"+new ReturnNode(literal(val)).compile(o)}if(val){return"\n"+val}return""};ForNode.prototype.compileNode=function(o){var body,codeInBody,forPart,guardPart,index,ivar,lvar,name,namePart,range,returnResult,rvar,scope,source,sourcePart,stepPart,svar,topLevel,varPart,vars;topLevel=del(o,"top")&&!this.returns;range=this.source instanceof ValueNode&&this.source.base instanceof RangeNode&&!this.source.properties.length;source=range?this.source.base:this.source;codeInBody=this.body.contains(function(n){return n instanceof CodeNode});scope=o.scope;name=(this.name&&this.name.compile(o))||scope.freeVariable();index=this.index&&this.index.compile(o);if(name&&!this.pattern&&!codeInBody){scope.find(name)}if(index){scope.find(index)}if(!(topLevel)){rvar=scope.freeVariable()}ivar=(function(){if(range){return name}else{if(codeInBody){return scope.freeVariable()}else{return index||scope.freeVariable()}}})();varPart="";guardPart="";body=Expressions.wrap([this.body]);if(range){sourcePart=source.compileVariables(o);forPart=source.compile(merge(o,{index:ivar,step:this.step}))}else{svar=scope.freeVariable();sourcePart=(""+svar+" = "+(this.source.compile(o))+";");if(this.pattern){namePart=new AssignNode(this.name,literal(""+svar+"["+ivar+"]")).compile(merge(o,{indent:this.idt(1),top:true}))+"\n"}else{if(name){namePart=(""+name+" = "+svar+"["+ivar+"]")}}if(!(this.object)){lvar=scope.freeVariable();stepPart=this.step?(""+ivar+" += "+(this.step.compile(o))):(""+ivar+"++");forPart=(""+ivar+" = 0, "+lvar+" = "+(svar)+".length; "+ivar+" < "+lvar+"; "+stepPart)}}sourcePart=(rvar?(""+rvar+" = []; "):"")+sourcePart;sourcePart=sourcePart?(""+this.tab+sourcePart+"\n"+this.tab):this.tab;returnResult=this.compileReturnValue(rvar,o);if(!(topLevel)){body=PushNode.wrap(rvar,body)}this.guard?(body=Expressions.wrap([new IfNode(this.guard,body)])):null;if(codeInBody){if(namePart){body.unshift(literal("var "+namePart))}if(index){body.unshift(literal("var "+index+" = "+ivar))}body=ClosureNode.wrap(body,true)}else{varPart=(namePart||"")&&(this.pattern?namePart:(""+(this.idt(1))+namePart+";\n"))}if(this.object){forPart=(""+ivar+" in "+svar);if(!(this.raw)){guardPart=("\n"+(this.idt(1))+"if (!"+(utility("hasProp"))+".call("+svar+", "+ivar+")) continue;")}}body=body.compile(merge(o,{indent:this.idt(1),top:true}));vars=range?name:(""+name+", "+ivar);return""+(sourcePart)+"for ("+forPart+") {"+guardPart+"\n"+varPart+body+"\n"+this.tab+"}"+returnResult};return ForNode})();exports.IfNode=(function(){IfNode=function(_b,_c,_d){this.tags=_d;this.body=_c;this.condition=_b;this.tags=this.tags||{};if(this.tags.invert){this.condition=new OpNode("!",new ParentheticalNode(this.condition))}this.elseBody=null;this.isChain=false;return this};__extends(IfNode,BaseNode);IfNode.prototype["class"]="IfNode";IfNode.prototype.children=["condition","switchSubject","body","elseBody","assigner"];IfNode.prototype.bodyNode=function(){return this.body==undefined?undefined:this.body.unwrap()};IfNode.prototype.elseBodyNode=function(){return this.elseBody==undefined?undefined:this.elseBody.unwrap()};IfNode.prototype.forceStatement=function(){this.tags.statement=true;return this};IfNode.prototype.switchesOver=function(expression){this.switchSubject=expression;return this};IfNode.prototype.rewriteSwitch=function(o){var _b,_c,_d,cond,i,variable;this.assigner=this.switchSubject;if(!((this.switchSubject.unwrap() instanceof LiteralNode))){variable=literal(o.scope.freeVariable());this.assigner=new AssignNode(variable,this.switchSubject);this.switchSubject=variable}this.condition=(function(){_b=[];_c=flatten([this.condition]);for(i=0,_d=_c.length;i<_d;i++){cond=_c[i];_b.push((function(){if(cond instanceof OpNode){cond=new ParentheticalNode(cond)}return new OpNode("==",(i===0?this.assigner:this.switchSubject),cond)}).call(this))}return _b}).call(this);if(this.isChain){this.elseBodyNode().switchesOver(this.switchSubject)}this.switchSubject=undefined;return this};IfNode.prototype.addElse=function(elseBody,statement){if(this.isChain){this.elseBodyNode().addElse(elseBody,statement)}else{this.isChain=elseBody instanceof IfNode;this.elseBody=this.ensureExpressions(elseBody)}return this};IfNode.prototype.isStatement=function(){return this.statement=this.statement||!!(this.tags.statement||this.bodyNode().isStatement()||(this.elseBody&&this.elseBodyNode().isStatement()))};IfNode.prototype.compileCondition=function(o){var _b,_c,_d,_e,cond;return(function(){_b=[];_d=flatten([this.condition]);for(_c=0,_e=_d.length;_c<_e;_c++){cond=_d[_c];_b.push(cond.compile(o))}return _b}).call(this).join(" || ")};IfNode.prototype.compileNode=function(o){return this.isStatement()?this.compileStatement(o):this.compileTernary(o)};IfNode.prototype.makeReturn=function(){if(this.isStatement()){this.body=this.body&&this.ensureExpressions(this.body.makeReturn());this.elseBody=this.elseBody&&this.ensureExpressions(this.elseBody.makeReturn());return this}else{return new ReturnNode(this)}};IfNode.prototype.ensureExpressions=function(node){return node instanceof Expressions?node:new Expressions([node])};IfNode.prototype.compileStatement=function(o){var body,child,comDent,condO,elsePart,ifDent,ifPart;if(this.switchSubject){this.rewriteSwitch(o)}child=del(o,"chainChild");condO=merge(o);o.indent=this.idt(1);o.top=true;ifDent=child?"":this.idt();comDent=child?this.idt():"";body=this.body.compile(o);ifPart=(""+(ifDent)+"if ("+(this.compileCondition(condO))+") {\n"+body+"\n"+this.tab+"}");if(!(this.elseBody)){return ifPart}elsePart=this.isChain?" else "+this.elseBodyNode().compile(merge(o,{indent:this.idt(),chainChild:true})):(" else {\n"+(this.elseBody.compile(o))+"\n"+this.tab+"}");return""+ifPart+elsePart};IfNode.prototype.compileTernary=function(o){var elsePart,ifPart;o.operation=true;ifPart=this.condition.compile(o)+" ? "+this.bodyNode().compile(o);elsePart=this.elseBody?this.elseBodyNode().compile(o):"null";return""+ifPart+" : "+elsePart};return IfNode})();PushNode=(exports.PushNode={wrap:function(array,expressions){var expr;expr=expressions.unwrap();if(expr.isPureStatement()||expr.containsPureStatement()){return expressions}return Expressions.wrap([new CallNode(new ValueNode(literal(array),[new AccessorNode(literal("push"))]),[expr])])}});ClosureNode=(exports.ClosureNode={wrap:function(expressions,statement){var args,call,func,mentionsArgs,mentionsThis,meth;if(expressions.containsPureStatement()){return expressions}func=new ParentheticalNode(new CodeNode([],Expressions.wrap([expressions])));args=[];mentionsArgs=expressions.contains(function(n){return n instanceof LiteralNode&&(n.value==="arguments")});mentionsThis=expressions.contains(function(n){return(n instanceof LiteralNode&&(n.value==="this"))||(n instanceof CodeNode&&n.bound)});if(mentionsArgs||mentionsThis){meth=literal(mentionsArgs?"apply":"call");args=[literal("this")];if(mentionsArgs){args.push(literal("arguments"))}func=new ValueNode(func,[new AccessorNode(meth)])}call=new CallNode(func,args);return statement?Expressions.wrap([call]):call}});UTILITIES={"extends":'function(child, parent) {\n var ctor = function(){};\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.prototype.constructor = child;\n if (typeof parent.extended === "function") parent.extended(child);\n child.__superClass__ = parent.prototype;\n }',bind:"function(func, context) {\n return function(){ return func.apply(context, arguments); };\n }",hasProp:"Object.prototype.hasOwnProperty",slice:"Array.prototype.slice"};TAB=" ";TRAILING_WHITESPACE=/[ \t]+$/gm;DOUBLE_PARENS=/\(\(([^\(\)\n]*)\)\)/g;IDENTIFIER=/^[a-zA-Z\$_](\w|\$)*$/;NUMBER=/^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b$/i;SIMPLENUM=/^-?\d+/;IS_STRING=/^['"]/;literal=function(name){return new LiteralNode(name)};utility=function(name){var ref;ref=("__"+name);Scope.root.assign(ref,UTILITIES[name]);return ref}})();(function(){var Lexer,compile,helpers,lexer,parser,path,processScripts;if(typeof process!=="undefined"&&process!==null){path=require("path");Lexer=require("./lexer").Lexer;parser=require("./parser").parser;helpers=require("./helpers").helpers;helpers.extend(global,require("./nodes"));require.registerExtension?require.registerExtension(".coffee",function(content){return compile(content)}):null}else{this.exports=(this.CoffeeScript={});Lexer=this.Lexer;parser=this.parser;helpers=this.helpers}exports.VERSION="0.7.2";lexer=new Lexer();exports.compile=(compile=function(code,options){options=options||{};try{return(parser.parse(lexer.tokenize(code))).compile(options)}catch(err){if(options.fileName){err.message=("In "+options.fileName+", "+err.message)}throw err}});exports.tokens=function(code){return lexer.tokenize(code)};exports.nodes=function(code){return parser.parse(lexer.tokenize(code))};exports.run=(function(code,options){var __dirname,__filename;module.filename=(__filename=options.fileName);__dirname=path.dirname(__filename);return eval(exports.compile(code,options))});parser.lexer={lex:function(){var token;token=this.tokens[this.pos]||[""];this.pos+=1;this.yylineno=token[2];this.yytext=token[1];return token[0]},setInput:function(tokens){this.tokens=tokens;return(this.pos=0)},upcomingInput:function(){return""}};if((typeof document!=="undefined"&&document!==null)&&document.getElementsByTagName){processScripts=function(){var _a,_b,_c,_d,tag;_a=[];_c=document.getElementsByTagName("script");for(_b=0,_d=_c.length;_b<_d;_b++){tag=_c[_b];tag.type==="text/coffeescript"?_a.push(eval(exports.compile(tag.innerHTML))):null}return _a};if(window.addEventListener){window.addEventListener("load",processScripts,false)}else{if(window.attachEvent){window.attachEvent("onload",processScripts)}}}})(); \ No newline at end of file +(function(){var compact,count,del,ends,extend,flatten,helpers,include,indexOf,merge,starts;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}helpers=(exports.helpers={});helpers.indexOf=(indexOf=function(array,item,from){var _a,_b,index,other;if(array.indexOf){return array.indexOf(item,from)}_a=array;for(index=0,_b=_a.length;index<_b;index++){other=_a[index];if(other===item&&(!from||(from<=index))){return index}}return -1});helpers.include=(include=function(list,value){return indexOf(list,value)>=0});helpers.starts=(starts=function(string,literal,start){return string.substring(start,(start||0)+literal.length)===literal});helpers.ends=(ends=function(string,literal,back){var start;start=string.length-literal.length-((typeof back!=="undefined"&&back!==null)?back:0);return string.substring(start,start+literal.length)===literal});helpers.compact=(compact=function(array){var _a,_b,_c,_d,item;_a=[];_c=array;for(_b=0,_d=_c.length;_b<_d;_b++){item=_c[_b];item?_a.push(item):null}return _a});helpers.count=(count=function(string,letter){var num,pos;num=0;pos=indexOf(string,letter);while(pos!==-1){num+=1;pos=indexOf(string,letter,pos+1)}return num});helpers.merge=(merge=function(options,overrides){var _a,_b,fresh,key,val;fresh={};_a=options;for(key in _a){val=_a[key];(fresh[key]=val)}if(overrides){_b=overrides;for(key in _b){val=_b[key];(fresh[key]=val)}}return fresh});helpers.extend=(extend=function(object,properties){var _a,_b,key,val;_a=[];_b=properties;for(key in _b){val=_b[key];_a.push(object[key]=val)}return _a});helpers.flatten=(flatten=function(array){var _a,_b,_c,item,memo;memo=[];_b=array;for(_a=0,_c=_b.length;_a<_c;_a++){item=_b[_a];item instanceof Array?(memo=memo.concat(item)):memo.push(item)}return memo});helpers.del=(del=function(obj,key){var val;val=obj[key];delete obj[key];return val})})();(function(){var BALANCED_PAIRS,EXPRESSION_CLOSE,EXPRESSION_END,EXPRESSION_START,IMPLICIT_BLOCK,IMPLICIT_CALL,IMPLICIT_END,IMPLICIT_FUNC,INVERSES,Rewriter,SINGLE_CLOSERS,SINGLE_LINERS,_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,helpers,include,pair;var __bind=function(func,context){return function(){return func.apply(context,arguments)}},__hasProp=Object.prototype.hasOwnProperty;if(typeof process!=="undefined"&&process!==null){_a=require("./helpers");helpers=_a.helpers}else{this.exports=this;helpers=this.helpers}_b=helpers;include=_b.include;exports.Rewriter=(function(){Rewriter=function(){};Rewriter.prototype.rewrite=function(tokens){this.tokens=tokens;this.adjustComments();this.removeLeadingNewlines();this.removeMidExpressionNewlines();this.closeOpenCallsAndIndexes();this.addImplicitIndentation();this.addImplicitBraces();this.addImplicitParentheses();this.ensureBalance(BALANCED_PAIRS);this.rewriteClosingParens();return this.tokens};Rewriter.prototype.scanTokens=function(block){var i,move;i=0;while(true){if(!(this.tokens[i])){break}move=block(this.tokens[i-1],this.tokens[i],this.tokens[i+1],i);i+=move}return true};Rewriter.prototype.adjustComments=function(){return this.scanTokens(__bind(function(prev,token,post,i){var _c,_d,after,before;if(!(token[0]==="HERECOMMENT")){return 1}_c=[this.tokens[i-2],this.tokens[i+2]];before=_c[0];after=_c[1];if(after&&after[0]==="INDENT"){this.tokens.splice(i+2,1);before&&before[0]==="OUTDENT"&&post&&(prev[0]===post[0])&&(post[0]==="TERMINATOR")?this.tokens.splice(i-2,1):this.tokens.splice(i,0,after)}else{if(prev&&!("TERMINATOR"===(_d=prev[0])||"INDENT"===_d||"OUTDENT"===_d)){if(post&&post[0]==="TERMINATOR"&&after&&after[0]==="OUTDENT"){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.tokens.splice(i,2)));this.tokens[i+2][0]!=="TERMINATOR"?this.tokens.splice(i+2,0,["TERMINATOR","\n",prev[2]]):null}else{this.tokens.splice(i,0,["TERMINATOR","\n",prev[2]])}return 2}}return 1},this))};Rewriter.prototype.removeLeadingNewlines=function(){var _c;_c=[];while(this.tokens[0]&&this.tokens[0][0]==="TERMINATOR"){_c.push(this.tokens.shift())}return _c};Rewriter.prototype.removeMidExpressionNewlines=function(){return this.scanTokens(__bind(function(prev,token,post,i){if(!(post&&include(EXPRESSION_CLOSE,post[0])&&token[0]==="TERMINATOR")){return 1}this.tokens.splice(i,1);return 0},this))};Rewriter.prototype.closeOpenCallsAndIndexes=function(){var brackets,parens;parens=[0];brackets=[0];return this.scanTokens(__bind(function(prev,token,post,i){var _c;if((_c=token[0])==="CALL_START"){parens.push(0)}else{if(_c==="INDEX_START"){brackets.push(0)}else{if(_c==="("){parens[parens.length-1]+=1}else{if(_c==="["){brackets[brackets.length-1]+=1}else{if(_c===")"){if(parens[parens.length-1]===0){parens.pop();token[0]="CALL_END"}else{parens[parens.length-1]-=1}}else{if(_c==="]"){if(brackets[brackets.length-1]===0){brackets.pop();token[0]="INDEX_END"}else{brackets[brackets.length-1]-=1}}}}}}}return 1},this))};Rewriter.prototype.addImplicitBraces=function(){var closeBrackets,running,stack;stack=[0];running=false;closeBrackets=__bind(function(i){var _c,len,size,tmp;len=stack.length-1;_c=stack[len];for(tmp=0;(0<=_c?tmp<_c:tmp>_c);(0<=_c?tmp+=1:tmp-=1)){this.tokens.splice(i,0,["}","}",this.tokens[i][2]])}size=stack[len]+1;stack[len]=0;return size},this);return this.scanTokens(__bind(function(prev,token,post,i){var _c,after,before,idx,len,open,size,tag;tag=token[0];len=stack.length-1;before=this.tokens[i-2];after=this.tokens[i+2];open=stack[len]>0;if((tag==="TERMINATOR"&&!((after&&after[0]===":")||(post&&post[0]==="@"&&this.tokens[i+3]&&this.tokens[i+3][0]===":")))||(running&&tag===","&&post&&(!("IDENTIFIER"===(_c=post[0])||"STRING"===_c||"@"===_c)))){running=false;return closeBrackets(i)}else{if(include(EXPRESSION_START,tag)){stack.push(tag==="{"?1:0);if(tag==="{"&&post&&post[0]==="INDENT"){return 2}}else{if(include(EXPRESSION_END,tag)){if(tag==="OUTDENT"&&post&&post[0]==="}"){return 1}if(tag==="OUTDENT"){size=closeBrackets(i)}stack[len-1]+=stack.pop();if(tag==="}"){stack[len-1]-=1}if(tag==="OUTDENT"){return size}}else{if(tag===":"&&!open){idx=before&&before[0]==="@"?i-2:i-1;this.tokens.splice(idx,0,["{","{",token[2]]);stack[stack.length-1]+=1;running=true;return 2}}}}return 1},this))};Rewriter.prototype.addImplicitParentheses=function(){var closeCalls,stack;stack=[0];closeCalls=__bind(function(i){var _c,size,tmp;_c=stack[stack.length-1];for(tmp=0;(0<=_c?tmp<_c:tmp>_c);(0<=_c?tmp+=1:tmp-=1)){this.tokens.splice(i,0,["CALL_END",")",this.tokens[i][2]])}size=stack[stack.length-1]+1;stack[stack.length-1]=0;return size},this);return this.scanTokens(__bind(function(prev,token,post,i){var _c,_d,before,j,nx,open,size,tag;tag=token[0];before=this.tokens[i-2]&&this.tokens[i-2][0];if(tag==="OUTDENT"){stack[stack.length-2]+=stack.pop()}open=stack[stack.length-1]>0;if(prev&&prev.spaced&&include(IMPLICIT_FUNC,prev[0])&&include(IMPLICIT_CALL,tag)&&!(tag==="!"&&(("IN"===(_c=post[0])||"OF"===_c)))){this.tokens.splice(i,0,["CALL_START","(",token[2]]);stack[stack.length-1]+=1;if(include(EXPRESSION_START,tag)){stack.push(0)}return 2}if(include(EXPRESSION_START,tag)){if(tag==="INDENT"&&!token.generated&&open&&!((prev&&include(IMPLICIT_BLOCK,prev[0]))||before&&before==="CLASS")){size=closeCalls(i);stack.push(0);return size}stack.push(0);return 1}if(open&&!token.generated&&prev[0]!==","&&(!post||include(IMPLICIT_END,tag))){j=1;while((typeof(_d=(nx=this.tokens[i+j]))!=="undefined"&&_d!==null)&&include(IMPLICIT_END,nx[0])){j++}if((typeof nx!=="undefined"&&nx!==null)&&nx[0]===","&&this.tokens[i+j-1][0]==="OUTDENT"){if(tag==="TERMINATOR"){this.tokens.splice(i,1)}}else{size=closeCalls(i);if(tag!=="OUTDENT"&&include(EXPRESSION_END,tag)){stack.pop()}return size}}if(tag!=="OUTDENT"&&include(EXPRESSION_END,tag)){stack[stack.length-2]+=stack.pop();return 1}return 1},this))};Rewriter.prototype.addImplicitIndentation=function(){return this.scanTokens(__bind(function(prev,token,post,i){var _c,idx,indent,insertion,outdent,parens,pre,starter,tok;if(token[0]==="ELSE"&&prev[0]!=="OUTDENT"){this.tokens.splice.apply(this.tokens,[i,0].concat(this.indentation(token)));return 2}if(token[0]==="CATCH"&&(this.tokens[i+2][0]==="TERMINATOR"||this.tokens[i+2][0]==="FINALLY")){this.tokens.splice.apply(this.tokens,[i+2,0].concat(this.indentation(token)));return 4}if(!(include(SINGLE_LINERS,token[0])&&post[0]!=="INDENT"&&!(token[0]==="ELSE"&&post[0]==="IF"))){return 1}starter=token[0];_c=this.indentation(token);indent=_c[0];outdent=_c[1];indent.generated=(outdent.generated=true);this.tokens.splice(i+1,0,indent);idx=i+1;parens=0;while(true){idx+=1;tok=this.tokens[idx];pre=this.tokens[idx-1];if((!tok||(include(SINGLE_CLOSERS,tok[0])&&tok[1]!==";"&&parens===0)||(tok[0]===")"&&parens===0))&&!(tok[0]==="ELSE"&&!("IF"===starter||"THEN"===starter))){insertion=pre[0]===","?idx-1:idx;this.tokens.splice(insertion,0,outdent);break}if(tok[0]==="("){parens+=1}if(tok[0]===")"){parens-=1}}if(!(token[0]==="THEN")){return 1}this.tokens.splice(i,1);return 0},this))};Rewriter.prototype.ensureBalance=function(pairs){var _c,_d,key,levels,line,open,openLine,unclosed,value;levels={};openLine={};this.scanTokens(__bind(function(prev,token,post,i){var _c,_d,_e,_f,close,open,pair;_d=pairs;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];_f=pair;open=_f[0];close=_f[1];levels[open]=levels[open]||0;if(token[0]===open){if(levels[open]===0){openLine[open]=token[2]}levels[open]+=1}if(token[0]===close){levels[open]-=1}if(levels[open]<0){throw new Error(("too many "+(token[1])+" on line "+(token[2]+1)))}}return 1},this));unclosed=(function(){_c=[];_d=levels;for(key in _d){if(!__hasProp.call(_d,key)){continue}value=_d[key];value>0?_c.push(key):null}return _c})();if(unclosed.length){open=unclosed[0];line=openLine[open]+1;throw new Error("unclosed "+open+" on line "+line)}};Rewriter.prototype.rewriteClosingParens=function(){var _c,debt,key,stack,val;stack=[];debt={};_c=INVERSES;for(key in _c){if(!__hasProp.call(_c,key)){continue}val=_c[key];(debt[key]=0)}return this.scanTokens(__bind(function(prev,token,post,i){var inv,match,mtag,oppos,tag;tag=token[0];inv=INVERSES[token[0]];if(include(EXPRESSION_START,tag)){stack.push(token);return 1}else{if(include(EXPRESSION_END,tag)){if(debt[inv]>0){debt[inv]-=1;this.tokens.splice(i,1);return 0}else{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.tokens[i+2]==undefined?undefined:this.tokens[i+2][0])===mtag){this.tokens.splice(i+3,0,val);stack.push(match)}else{this.tokens.splice(i,0,val)}return 1}}else{return 1}}},this))};Rewriter.prototype.indentation=function(token){return[["INDENT",2,token[2]],["OUTDENT",2,token[2]]]};return Rewriter})();BALANCED_PAIRS=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["PARAM_START","PARAM_END"],["CALL_START","CALL_END"],["INDEX_START","INDEX_END"]];INVERSES={};_d=BALANCED_PAIRS;for(_c=0,_e=_d.length;_c<_e;_c++){pair=_d[_c];INVERSES[pair[0]]=pair[1];INVERSES[pair[1]]=pair[0]}EXPRESSION_START=(function(){_f=[];_h=BALANCED_PAIRS;for(_g=0,_i=_h.length;_g<_i;_g++){pair=_h[_g];_f.push(pair[0])}return _f})();EXPRESSION_END=(function(){_j=[];_l=BALANCED_PAIRS;for(_k=0,_m=_l.length;_k<_m;_k++){pair=_l[_k];_j.push(pair[1])}return _j})();EXPRESSION_CLOSE=["CATCH","WHEN","ELSE","FINALLY"].concat(EXPRESSION_END);IMPLICIT_FUNC=["IDENTIFIER","SUPER",")","CALL_END","]","INDEX_END","@"];IMPLICIT_CALL=["IDENTIFIER","NUMBER","STRING","JS","REGEX","NEW","PARAM_START","CLASS","TRY","DELETE","TYPEOF","SWITCH","THIS","NULL","TRUE","FALSE","YES","NO","ON","OFF","!","!!","@","->","=>","[","(","{"];IMPLICIT_BLOCK=["->","=>","{","[",","];IMPLICIT_END=["IF","UNLESS","FOR","WHILE","UNTIL","LOOP","TERMINATOR","INDENT"].concat(EXPRESSION_END);SINGLE_LINERS=["ELSE","->","=>","TRY","FINALLY","THEN"];SINGLE_CLOSERS=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]})();(function(){var ASSIGNED,CALLABLE,CODE,COFFEE_ALIASES,COFFEE_KEYWORDS,COMMENT,CONVERSIONS,HEREDOC,HEREDOC_INDENT,IDENTIFIER,INTERPOLATION,JS_CLEANER,JS_FORBIDDEN,JS_KEYWORDS,LAST_DENT,LAST_DENTS,LINE_BREAK,Lexer,MULTILINER,MULTI_DENT,NEXT_CHARACTER,NOT_REGEX,NO_NEWLINE,NUMBER,OPERATOR,REGEX_END,REGEX_ESCAPE,REGEX_INTERPOLATION,REGEX_START,RESERVED,Rewriter,STRING_NEWLINES,WHITESPACE,_a,_b,_c,compact,count,helpers,include,starts;var __slice=Array.prototype.slice;if(typeof process!=="undefined"&&process!==null){_a=require("./rewriter");Rewriter=_a.Rewriter;_b=require("./helpers");helpers=_b.helpers}else{this.exports=this;Rewriter=this.Rewriter;helpers=this.helpers}_c=helpers;include=_c.include;count=_c.count;starts=_c.starts;compact=_c.compact;exports.Lexer=(function(){Lexer=function(){};Lexer.prototype.tokenize=function(code,options){var o;code=code.replace(/(\r|\s+$)/g,"");o=options||{};this.code=code;this.i=0;this.line=o.line||0;this.indent=0;this.outdebt=0;this.indents=[];this.tokens=[];while(this.ithis.indent){if(noNewlines){return this.suppressNewlines()}this.outdebt=0;diff=size-this.indent;this.token("INDENT",diff);this.indents.push(diff)}else{this.outdentToken(this.indent-size,noNewlines)}}this.indent=size;return true};Lexer.prototype.outdentToken=function(moveOut,noNewlines,close){var dent,len;while(moveOut>0){len=this.indents.length-1;if(this.indents[len]===undefined){moveOut=0}else{if(this.indents[len]===this.outdebt){moveOut-=this.outdebt;this.outdebt=0}else{if(this.indents[len]1;if(interpolated){this.token("(","(")}_h=tokens;for(i=0,_i=_h.length;i<_i;i++){token=_h[i];_j=token;tag=_j[0];value=_j[1];if(tag==="TOKENS"){this.tokens=this.tokens.concat(value)}else{if(tag==="STRING"&&options.escapeQuotes){escaped=value.substring(1,value.length-1).replace(/"/g,'\\"');this.token(tag,('"'+escaped+'"'))}else{this.token(tag,value)}}if(i]?|\+[+=]?|[*&|\/%=<>:!?]+)([ \t]*)/;WHITESPACE=/^([ \t]+)/;COMMENT=/^(\s*\#{3}(?!#)[ \t]*\n+([\s\S]*?)[ \t]*\n+[ \t]*\#{3}|(\s*#(?!##[^#])[^\n]*)+)/;CODE=/^((-|=)>)/;MULTI_DENT=/^((\n([ \t]*))+)(\.)?/;LAST_DENTS=/\n([ \t]*)/g;LAST_DENT=/\n([ \t]*)/;REGEX_START=/^\/[^\/ ]/;REGEX_INTERPOLATION=/([^\\]#[a-zA-Z_@]|[^\\]#\{.*[^\\]\})/;REGEX_END=/^(([imgy]{1,4})\b|\W|$)/;REGEX_ESCAPE=/\\[^\$]/g;JS_CLEANER=/(^`|`$)/g;MULTILINER=/\n/g;STRING_NEWLINES=/\n[ \t]*/g;NO_NEWLINE=/^([+\*&|\/\-%=<>!.\\][<>=&|]*|and|or|is|isnt|not|delete|typeof|instanceof)$/;HEREDOC_INDENT=/(\n+([ \t]*)|^([ \t]+))/g;ASSIGNED=/^\s*([a-zA-Z\$_@]\w*[ \t]*?[:=][^=])/;NEXT_CHARACTER=/^\s*(\S)/;NOT_REGEX=["NUMBER","REGEX","++","--","FALSE","NULL","TRUE","]"];CALLABLE=["IDENTIFIER","SUPER",")","]","}","STRING","@","THIS","?","::"];LINE_BREAK=["INDENT","OUTDENT","TERMINATOR"];CONVERSIONS={and:"&&",or:"||",is:"==",isnt:"!=",not:"!","===":"=="}})();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,Value:14,Call:15,Code:16,Operation:17,Assign:18,If:19,Try:20,While:21,For:22,Switch:23,Extends:24,Class:25,Splat:26,Existence:27,Comment:28,INDENT:29,OUTDENT:30,Identifier:31,IDENTIFIER:32,AlphaNumeric:33,NUMBER:34,STRING:35,Literal:36,JS:37,REGEX:38,TRUE:39,FALSE:40,YES:41,NO:42,ON:43,OFF:44,Assignable:45,"=":46,AssignObj:47,":":48,RETURN:49,HERECOMMENT:50,"?":51,PARAM_START:52,ParamList:53,PARAM_END:54,FuncGlyph:55,"->":56,"=>":57,OptComma:58,",":59,Param:60,PARAM:61,"@":62,".":63,SimpleAssignable:64,Accessor:65,Invocation:66,ThisProperty:67,Array:68,Object:69,Parenthetical:70,Range:71,This:72,NULL:73,PROPERTY_ACCESS:74,PROTOTYPE_ACCESS:75,"::":76,SOAK_ACCESS:77,Index:78,Slice:79,INDEX_START:80,INDEX_END:81,INDEX_SOAK:82,INDEX_PROTO:83,"{":84,AssignList:85,"}":86,CLASS:87,EXTENDS:88,ClassBody:89,ClassAssign:90,Super:91,NEW:92,Arguments:93,CALL_START:94,ArgList:95,CALL_END:96,SUPER:97,THIS:98,"[":99,"]":100,SimpleArgs:101,TRY:102,Catch:103,FINALLY:104,CATCH:105,THROW:106,"(":107,")":108,WhileSource:109,WHILE:110,WHEN:111,UNTIL:112,Loop:113,LOOP:114,ForBody:115,FOR:116,ForStart:117,ForSource:118,ForVariables:119,ALL:120,ForValue:121,IN:122,OF:123,BY:124,SWITCH:125,Whens:126,ELSE:127,When:128,LEADING_WHEN:129,IfBlock:130,IF:131,UNLESS:132,"!":133,"!!":134,"-":135,"+":136,"~":137,"--":138,"++":139,DELETE:140,TYPEOF:141,"*":142,"/":143,"%":144,"<<":145,">>":146,">>>":147,"&":148,"|":149,"^":150,"<=":151,"<":152,">":153,">=":154,"==":155,"!=":156,"&&":157,"||":158,"OP?":159,"-=":160,"+=":161,"/=":162,"*=":163,"%=":164,"||=":165,"&&=":166,"?=":167,INSTANCEOF:168,"$accept":0,"$end":1},terminals_:{"2":"error","4":"TERMINATOR","12":"BREAK","13":"CONTINUE","29":"INDENT","30":"OUTDENT","32":"IDENTIFIER","34":"NUMBER","35":"STRING","37":"JS","38":"REGEX","39":"TRUE","40":"FALSE","41":"YES","42":"NO","43":"ON","44":"OFF","46":"=","48":":","49":"RETURN","50":"HERECOMMENT","51":"?","52":"PARAM_START","54":"PARAM_END","56":"->","57":"=>","59":",","61":"PARAM","62":"@","63":".","73":"NULL","74":"PROPERTY_ACCESS","75":"PROTOTYPE_ACCESS","76":"::","77":"SOAK_ACCESS","80":"INDEX_START","81":"INDEX_END","82":"INDEX_SOAK","83":"INDEX_PROTO","84":"{","86":"}","87":"CLASS","88":"EXTENDS","92":"NEW","94":"CALL_START","96":"CALL_END","97":"SUPER","98":"THIS","99":"[","100":"]","102":"TRY","104":"FINALLY","105":"CATCH","106":"THROW","107":"(","108":")","110":"WHILE","111":"WHEN","112":"UNTIL","114":"LOOP","116":"FOR","120":"ALL","122":"IN","123":"OF","124":"BY","125":"SWITCH","127":"ELSE","129":"LEADING_WHEN","131":"IF","132":"UNLESS","133":"!","134":"!!","135":"-","136":"+","137":"~","138":"--","139":"++","140":"DELETE","141":"TYPEOF","142":"*","143":"/","144":"%","145":"<<","146":">>","147":">>>","148":"&","149":"|","150":"^","151":"<=","152":"<","153":">","154":">=","155":"==","156":"!=","157":"&&","158":"||","159":"OP?","160":"-=","161":"+=","162":"/=","163":"*=","164":"%=","165":"||=","166":"&&=","167":"?=","168":"INSTANCEOF"},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],[8,1],[8,1],[8,1],[8,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],[31,1],[33,1],[33,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,1],[18,3],[18,5],[47,1],[47,1],[47,3],[47,3],[47,5],[47,5],[47,1],[10,2],[10,1],[28,1],[27,2],[16,5],[16,2],[55,1],[55,1],[58,0],[58,1],[53,0],[53,1],[53,3],[60,1],[60,2],[60,4],[60,5],[26,4],[64,1],[64,2],[64,2],[64,1],[45,1],[45,1],[45,1],[14,1],[14,1],[14,1],[14,1],[14,1],[14,1],[65,2],[65,2],[65,1],[65,2],[65,1],[65,1],[78,3],[78,2],[78,2],[69,4],[85,0],[85,1],[85,3],[85,4],[85,6],[25,2],[25,4],[25,5],[25,7],[25,4],[90,1],[90,3],[89,0],[89,1],[89,3],[89,3],[15,1],[15,1],[15,2],[15,2],[24,3],[66,2],[66,2],[93,4],[91,1],[91,2],[72,1],[72,1],[67,2],[71,6],[71,7],[79,6],[79,7],[68,4],[95,0],[95,1],[95,3],[95,4],[95,6],[101,1],[101,3],[20,3],[20,4],[20,5],[103,3],[11,2],[70,3],[109,2],[109,4],[109,2],[109,4],[21,2],[21,2],[21,2],[21,1],[113,2],[113,2],[22,2],[22,2],[22,2],[115,2],[115,2],[117,2],[117,3],[121,1],[121,1],[121,1],[119,1],[119,3],[118,2],[118,2],[118,4],[118,4],[118,4],[118,6],[118,6],[23,5],[23,7],[23,4],[23,6],[126,1],[126,2],[128,3],[128,4],[130,3],[130,3],[130,5],[130,3],[19,1],[19,3],[19,3],[19,3],[19,3],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,2],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,3],[17,4],[17,4]],performAction:function anonymous(yytext,yyleng,yylineno,yy){var $$=arguments[5],$0=arguments[5].length;switch(arguments[4]){case 1:return this.$=new Expressions();break;case 2:return this.$=new Expressions();break;case 3:return this.$=$$[$0-1+1-1];break;case 4:return this.$=$$[$0-2+1-1];break;case 5:this.$=Expressions.wrap([$$[$0-1+1-1]]);break;case 6:this.$=$$[$0-3+1-1].push($$[$0-3+3-1]);break;case 7:this.$=$$[$0-2+1-1];break;case 8:this.$=$$[$0-1+1-1];break;case 9:this.$=$$[$0-1+1-1];break;case 10:this.$=$$[$0-1+1-1];break;case 11:this.$=$$[$0-1+1-1];break;case 12:this.$=new LiteralNode($$[$0-1+1-1]);break;case 13:this.$=new LiteralNode($$[$0-1+1-1]);break;case 14:this.$=$$[$0-1+1-1];break;case 15:this.$=$$[$0-1+1-1];break;case 16:this.$=$$[$0-1+1-1];break;case 17:this.$=$$[$0-1+1-1];break;case 18:this.$=$$[$0-1+1-1];break;case 19:this.$=$$[$0-1+1-1];break;case 20:this.$=$$[$0-1+1-1];break;case 21:this.$=$$[$0-1+1-1];break;case 22:this.$=$$[$0-1+1-1];break;case 23:this.$=$$[$0-1+1-1];break;case 24:this.$=$$[$0-1+1-1];break;case 25:this.$=$$[$0-1+1-1];break;case 26:this.$=$$[$0-1+1-1];break;case 27:this.$=$$[$0-1+1-1];break;case 28:this.$=$$[$0-1+1-1];break;case 29:this.$=$$[$0-3+2-1];break;case 30:this.$=new Expressions();break;case 31:this.$=Expressions.wrap([$$[$0-2+2-1]]);break;case 32:this.$=new LiteralNode($$[$0-1+1-1]);break;case 33:this.$=new LiteralNode($$[$0-1+1-1]);break;case 34:this.$=new LiteralNode($$[$0-1+1-1]);break;case 35:this.$=$$[$0-1+1-1];break;case 36:this.$=new LiteralNode($$[$0-1+1-1]);break;case 37:this.$=new LiteralNode($$[$0-1+1-1]);break;case 38:this.$=new LiteralNode(true);break;case 39:this.$=new LiteralNode(false);break;case 40:this.$=new LiteralNode(true);break;case 41:this.$=new LiteralNode(false);break;case 42:this.$=new LiteralNode(true);break;case 43:this.$=new LiteralNode(false);break;case 44:this.$=new AssignNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 45:this.$=new AssignNode($$[$0-5+1-1],$$[$0-5+4-1]);break;case 46:this.$=new ValueNode($$[$0-1+1-1]);break;case 47:this.$=$$[$0-1+1-1];break;case 48:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 49:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"object");break;case 50:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 51:this.$=new AssignNode(new ValueNode($$[$0-5+1-1]),$$[$0-5+4-1],"object");break;case 52:this.$=$$[$0-1+1-1];break;case 53:this.$=new ReturnNode($$[$0-2+2-1]);break;case 54:this.$=new ReturnNode(new ValueNode(new LiteralNode("null")));break;case 55:this.$=new CommentNode($$[$0-1+1-1]);break;case 56:this.$=new ExistenceNode($$[$0-2+1-1]);break;case 57:this.$=new CodeNode($$[$0-5+2-1],$$[$0-5+5-1],$$[$0-5+4-1]);break;case 58:this.$=new CodeNode([],$$[$0-2+2-1],$$[$0-2+1-1]);break;case 59:this.$="func";break;case 60:this.$="boundfunc";break;case 61:this.$=$$[$0-1+1-1];break;case 62:this.$=$$[$0-1+1-1];break;case 63:this.$=[];break;case 64:this.$=[$$[$0-1+1-1]];break;case 65:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 66:this.$=new LiteralNode($$[$0-1+1-1]);break;case 67:this.$=new ParamNode($$[$0-2+2-1],true);break;case 68:this.$=new ParamNode($$[$0-4+1-1],false,true);break;case 69:this.$=new ParamNode($$[$0-5+2-1],true,true);break;case 70:this.$=new SplatNode($$[$0-4+1-1]);break;case 71:this.$=new ValueNode($$[$0-1+1-1]);break;case 72:this.$=$$[$0-2+1-1].push($$[$0-2+2-1]);break;case 73:this.$=new ValueNode($$[$0-2+1-1],[$$[$0-2+2-1]]);break;case 74:this.$=$$[$0-1+1-1];break;case 75:this.$=$$[$0-1+1-1];break;case 76:this.$=new ValueNode($$[$0-1+1-1]);break;case 77:this.$=new ValueNode($$[$0-1+1-1]);break;case 78:this.$=$$[$0-1+1-1];break;case 79:this.$=new ValueNode($$[$0-1+1-1]);break;case 80:this.$=new ValueNode($$[$0-1+1-1]);break;case 81:this.$=new ValueNode($$[$0-1+1-1]);break;case 82:this.$=$$[$0-1+1-1];break;case 83:this.$=new ValueNode(new LiteralNode("null"));break;case 84:this.$=new AccessorNode($$[$0-2+2-1]);break;case 85:this.$=new AccessorNode($$[$0-2+2-1],"prototype");break;case 86:this.$=new AccessorNode(new LiteralNode("prototype"));break;case 87:this.$=new AccessorNode($$[$0-2+2-1],"soak");break;case 88:this.$=$$[$0-1+1-1];break;case 89:this.$=new SliceNode($$[$0-1+1-1]);break;case 90:this.$=new IndexNode($$[$0-3+2-1]);break;case 91:this.$=(function(){$$[$0-2+2-1].soakNode=true;return $$[$0-2+2-1]}());break;case 92:this.$=(function(){$$[$0-2+2-1].proto=true;return $$[$0-2+2-1]}());break;case 93:this.$=new ObjectNode($$[$0-4+2-1]);break;case 94:this.$=[];break;case 95:this.$=[$$[$0-1+1-1]];break;case 96:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 97:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 98:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 99:this.$=new ClassNode($$[$0-2+2-1]);break;case 100:this.$=new ClassNode($$[$0-4+2-1],$$[$0-4+4-1]);break;case 101:this.$=new ClassNode($$[$0-5+2-1],null,$$[$0-5+4-1]);break;case 102:this.$=new ClassNode($$[$0-7+2-1],$$[$0-7+4-1],$$[$0-7+6-1]);break;case 103:this.$=new ClassNode("__temp__",null,$$[$0-4+3-1]);break;case 104:this.$=$$[$0-1+1-1];break;case 105:this.$=new AssignNode(new ValueNode($$[$0-3+1-1]),$$[$0-3+3-1],"this");break;case 106:this.$=[];break;case 107:this.$=[$$[$0-1+1-1]];break;case 108:this.$=$$[$0-3+1-1].concat($$[$0-3+3-1]);break;case 109:this.$=$$[$0-3+2-1];break;case 110:this.$=$$[$0-1+1-1];break;case 111:this.$=$$[$0-1+1-1];break;case 112:this.$=$$[$0-2+2-1].newInstance();break;case 113:this.$=(new CallNode($$[$0-2+2-1],[])).newInstance();break;case 114:this.$=new ExtendsNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 115:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 116:this.$=new CallNode($$[$0-2+1-1],$$[$0-2+2-1]);break;case 117:this.$=$$[$0-4+2-1];break;case 118:this.$=new CallNode("super",[new SplatNode(new LiteralNode("arguments"))]);break;case 119:this.$=new CallNode("super",$$[$0-2+2-1]);break;case 120:this.$=new ValueNode(new LiteralNode("this"));break;case 121:this.$=new ValueNode(new LiteralNode("this"));break;case 122:this.$=new ValueNode(new LiteralNode("this"),[new AccessorNode($$[$0-2+2-1])]);break;case 123:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 124:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 125:this.$=new RangeNode($$[$0-6+2-1],$$[$0-6+5-1]);break;case 126:this.$=new RangeNode($$[$0-7+2-1],$$[$0-7+6-1],true);break;case 127:this.$=new ArrayNode($$[$0-4+2-1]);break;case 128:this.$=[];break;case 129:this.$=[$$[$0-1+1-1]];break;case 130:this.$=$$[$0-3+1-1].concat([$$[$0-3+3-1]]);break;case 131:this.$=$$[$0-4+1-1].concat([$$[$0-4+4-1]]);break;case 132:this.$=$$[$0-6+1-1].concat($$[$0-6+4-1]);break;case 133:this.$=$$[$0-1+1-1];break;case 134:this.$=$$[$0-3+1-1] instanceof Array?$$[$0-3+1-1].concat([$$[$0-3+3-1]]):[$$[$0-3+1-1]].concat([$$[$0-3+3-1]]);break;case 135:this.$=new TryNode($$[$0-3+2-1],$$[$0-3+3-1][0],$$[$0-3+3-1][1]);break;case 136:this.$=new TryNode($$[$0-4+2-1],null,null,$$[$0-4+4-1]);break;case 137:this.$=new TryNode($$[$0-5+2-1],$$[$0-5+3-1][0],$$[$0-5+3-1][1],$$[$0-5+5-1]);break;case 138:this.$=[$$[$0-3+2-1],$$[$0-3+3-1]];break;case 139:this.$=new ThrowNode($$[$0-2+2-1]);break;case 140:this.$=new ParentheticalNode($$[$0-3+2-1]);break;case 141:this.$=new WhileNode($$[$0-2+2-1]);break;case 142:this.$=new WhileNode($$[$0-4+2-1],{guard:$$[$0-4+4-1]});break;case 143:this.$=new WhileNode($$[$0-2+2-1],{invert:true});break;case 144:this.$=new WhileNode($$[$0-4+2-1],{invert:true,guard:$$[$0-4+4-1]});break;case 145:this.$=$$[$0-2+1-1].addBody($$[$0-2+2-1]);break;case 146:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 147:this.$=$$[$0-2+2-1].addBody(Expressions.wrap([$$[$0-2+1-1]]));break;case 148:this.$=$$[$0-1+1-1];break;case 149:this.$=new WhileNode(new LiteralNode("true")).addBody($$[$0-2+2-1]);break;case 150:this.$=new WhileNode(new LiteralNode("true")).addBody(Expressions.wrap([$$[$0-2+2-1]]));break;case 151:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 152:this.$=new ForNode($$[$0-2+1-1],$$[$0-2+2-1],$$[$0-2+2-1].vars[0],$$[$0-2+2-1].vars[1]);break;case 153:this.$=new ForNode($$[$0-2+2-1],$$[$0-2+1-1],$$[$0-2+1-1].vars[0],$$[$0-2+1-1].vars[1]);break;case 154:this.$={source:new ValueNode($$[$0-2+2-1]),vars:[]};break;case 155:this.$=(function(){$$[$0-2+2-1].raw=$$[$0-2+1-1].raw;$$[$0-2+2-1].vars=$$[$0-2+1-1];return $$[$0-2+2-1]}());break;case 156:this.$=$$[$0-2+2-1];break;case 157:this.$=(function(){$$[$0-3+3-1].raw=true;return $$[$0-3+3-1]}());break;case 158:this.$=$$[$0-1+1-1];break;case 159:this.$=new ValueNode($$[$0-1+1-1]);break;case 160:this.$=new ValueNode($$[$0-1+1-1]);break;case 161:this.$=[$$[$0-1+1-1]];break;case 162:this.$=[$$[$0-3+1-1],$$[$0-3+3-1]];break;case 163:this.$={source:$$[$0-2+2-1]};break;case 164:this.$={source:$$[$0-2+2-1],object:true};break;case 165:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1]};break;case 166:this.$={source:$$[$0-4+2-1],guard:$$[$0-4+4-1],object:true};break;case 167:this.$={source:$$[$0-4+2-1],step:$$[$0-4+4-1]};break;case 168:this.$={source:$$[$0-6+2-1],guard:$$[$0-6+4-1],step:$$[$0-6+6-1]};break;case 169:this.$={source:$$[$0-6+2-1],step:$$[$0-6+4-1],guard:$$[$0-6+6-1]};break;case 170:this.$=$$[$0-5+4-1].switchesOver($$[$0-5+2-1]);break;case 171:this.$=$$[$0-7+4-1].switchesOver($$[$0-7+2-1]).addElse($$[$0-7+6-1],true);break;case 172:this.$=$$[$0-4+3-1];break;case 173:this.$=$$[$0-6+3-1].addElse($$[$0-6+5-1],true);break;case 174:this.$=$$[$0-1+1-1];break;case 175:this.$=$$[$0-2+1-1].addElse($$[$0-2+2-1]);break;case 176:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],{statement:true});break;case 177:this.$=new IfNode($$[$0-4+2-1],$$[$0-4+3-1],{statement:true});break;case 178:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1]);break;case 179:this.$=new IfNode($$[$0-3+2-1],$$[$0-3+3-1],{invert:true});break;case 180:this.$=$$[$0-5+1-1].addElse((new IfNode($$[$0-5+4-1],$$[$0-5+5-1])).forceStatement());break;case 181:this.$=$$[$0-3+1-1].addElse($$[$0-3+3-1]);break;case 182:this.$=$$[$0-1+1-1];break;case 183:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 184:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true});break;case 185:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 186:this.$=new IfNode($$[$0-3+3-1],Expressions.wrap([$$[$0-3+1-1]]),{statement:true,invert:true});break;case 187:this.$=new OpNode("!",$$[$0-2+2-1]);break;case 188:this.$=new OpNode("!!",$$[$0-2+2-1]);break;case 189:this.$=new OpNode("-",$$[$0-2+2-1]);break;case 190:this.$=new OpNode("+",$$[$0-2+2-1]);break;case 191:this.$=new OpNode("~",$$[$0-2+2-1]);break;case 192:this.$=new OpNode("--",$$[$0-2+2-1]);break;case 193:this.$=new OpNode("++",$$[$0-2+2-1]);break;case 194:this.$=new OpNode("delete",$$[$0-2+2-1]);break;case 195:this.$=new OpNode("typeof",$$[$0-2+2-1]);break;case 196:this.$=new OpNode("--",$$[$0-2+1-1],null,true);break;case 197:this.$=new OpNode("++",$$[$0-2+1-1],null,true);break;case 198:this.$=new OpNode("*",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 199:this.$=new OpNode("/",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 200:this.$=new OpNode("%",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 201:this.$=new OpNode("+",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 202:this.$=new OpNode("-",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 203:this.$=new OpNode("<<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 204:this.$=new OpNode(">>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 205:this.$=new OpNode(">>>",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 206:this.$=new OpNode("&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 207:this.$=new OpNode("|",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 208:this.$=new OpNode("^",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 209:this.$=new OpNode("<=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 210:this.$=new OpNode("<",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 211:this.$=new OpNode(">",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 212:this.$=new OpNode(">=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 213:this.$=new OpNode("==",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 214:this.$=new OpNode("!=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 215:this.$=new OpNode("&&",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 216:this.$=new OpNode("||",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 217:this.$=new OpNode("?",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 218:this.$=new OpNode("-=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 219:this.$=new OpNode("+=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 220:this.$=new OpNode("/=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 221:this.$=new OpNode("*=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 222:this.$=new OpNode("%=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 223:this.$=new OpNode("||=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 224:this.$=new OpNode("&&=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 225:this.$=new OpNode("?=",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 226:this.$=new OpNode("instanceof",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 227:this.$=new InNode($$[$0-3+1-1],$$[$0-3+3-1]);break;case 228:this.$=new OpNode("in",$$[$0-3+1-1],$$[$0-3+3-1]);break;case 229:this.$=new OpNode("!",new InNode($$[$0-4+1-1],$$[$0-4+4-1]));break;case 230:this.$=new OpNode("!",new ParentheticalNode(new OpNode("in",$$[$0-4+1-1],$$[$0-4+4-1])));break}},table:[{"1":[2,1],"3":1,"4":[1,2],"5":3,"6":4,"7":5,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,6],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[3]},{"1":[2,2],"28":90,"50":[1,56]},{"1":[2,3],"4":[1,91]},{"4":[1,92]},{"1":[2,5],"4":[2,5],"30":[2,5]},{"5":93,"7":5,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"30":[1,94],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,8],"4":[2,8],"30":[2,8],"51":[1,134],"63":[1,133],"108":[2,8],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,9],"4":[2,9],"30":[2,9],"108":[2,9],"109":137,"110":[1,79],"112":[1,80],"115":138,"116":[1,82],"117":83,"131":[1,135],"132":[1,136]},{"1":[2,14],"4":[2,14],"29":[2,14],"30":[2,14],"51":[2,14],"59":[2,14],"63":[2,14],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,14],"82":[1,149],"83":[1,150],"86":[2,14],"93":139,"94":[1,141],"96":[2,14],"100":[2,14],"108":[2,14],"110":[2,14],"111":[2,14],"112":[2,14],"116":[2,14],"122":[2,14],"123":[2,14],"124":[2,14],"131":[2,14],"132":[2,14],"133":[2,14],"135":[2,14],"136":[2,14],"138":[2,14],"139":[2,14],"142":[2,14],"143":[2,14],"144":[2,14],"145":[2,14],"146":[2,14],"147":[2,14],"148":[2,14],"149":[2,14],"150":[2,14],"151":[2,14],"152":[2,14],"153":[2,14],"154":[2,14],"155":[2,14],"156":[2,14],"157":[2,14],"158":[2,14],"159":[2,14],"160":[2,14],"161":[2,14],"162":[2,14],"163":[2,14],"164":[2,14],"165":[2,14],"166":[2,14],"167":[2,14],"168":[2,14]},{"1":[2,15],"4":[2,15],"29":[2,15],"30":[2,15],"51":[2,15],"59":[2,15],"63":[2,15],"81":[2,15],"86":[2,15],"96":[2,15],"100":[2,15],"108":[2,15],"110":[2,15],"111":[2,15],"112":[2,15],"116":[2,15],"122":[2,15],"123":[2,15],"124":[2,15],"131":[2,15],"132":[2,15],"133":[2,15],"135":[2,15],"136":[2,15],"138":[2,15],"139":[2,15],"142":[2,15],"143":[2,15],"144":[2,15],"145":[2,15],"146":[2,15],"147":[2,15],"148":[2,15],"149":[2,15],"150":[2,15],"151":[2,15],"152":[2,15],"153":[2,15],"154":[2,15],"155":[2,15],"156":[2,15],"157":[2,15],"158":[2,15],"159":[2,15],"160":[2,15],"161":[2,15],"162":[2,15],"163":[2,15],"164":[2,15],"165":[2,15],"166":[2,15],"167":[2,15],"168":[2,15]},{"1":[2,16],"4":[2,16],"29":[2,16],"30":[2,16],"51":[2,16],"59":[2,16],"63":[2,16],"81":[2,16],"86":[2,16],"96":[2,16],"100":[2,16],"108":[2,16],"110":[2,16],"111":[2,16],"112":[2,16],"116":[2,16],"122":[2,16],"123":[2,16],"124":[2,16],"131":[2,16],"132":[2,16],"133":[2,16],"135":[2,16],"136":[2,16],"138":[2,16],"139":[2,16],"142":[2,16],"143":[2,16],"144":[2,16],"145":[2,16],"146":[2,16],"147":[2,16],"148":[2,16],"149":[2,16],"150":[2,16],"151":[2,16],"152":[2,16],"153":[2,16],"154":[2,16],"155":[2,16],"156":[2,16],"157":[2,16],"158":[2,16],"159":[2,16],"160":[2,16],"161":[2,16],"162":[2,16],"163":[2,16],"164":[2,16],"165":[2,16],"166":[2,16],"167":[2,16],"168":[2,16]},{"1":[2,17],"4":[2,17],"29":[2,17],"30":[2,17],"51":[2,17],"59":[2,17],"63":[2,17],"81":[2,17],"86":[2,17],"96":[2,17],"100":[2,17],"108":[2,17],"110":[2,17],"111":[2,17],"112":[2,17],"116":[2,17],"122":[2,17],"123":[2,17],"124":[2,17],"131":[2,17],"132":[2,17],"133":[2,17],"135":[2,17],"136":[2,17],"138":[2,17],"139":[2,17],"142":[2,17],"143":[2,17],"144":[2,17],"145":[2,17],"146":[2,17],"147":[2,17],"148":[2,17],"149":[2,17],"150":[2,17],"151":[2,17],"152":[2,17],"153":[2,17],"154":[2,17],"155":[2,17],"156":[2,17],"157":[2,17],"158":[2,17],"159":[2,17],"160":[2,17],"161":[2,17],"162":[2,17],"163":[2,17],"164":[2,17],"165":[2,17],"166":[2,17],"167":[2,17],"168":[2,17]},{"1":[2,18],"4":[2,18],"29":[2,18],"30":[2,18],"51":[2,18],"59":[2,18],"63":[2,18],"81":[2,18],"86":[2,18],"96":[2,18],"100":[2,18],"108":[2,18],"110":[2,18],"111":[2,18],"112":[2,18],"116":[2,18],"122":[2,18],"123":[2,18],"124":[2,18],"131":[2,18],"132":[2,18],"133":[2,18],"135":[2,18],"136":[2,18],"138":[2,18],"139":[2,18],"142":[2,18],"143":[2,18],"144":[2,18],"145":[2,18],"146":[2,18],"147":[2,18],"148":[2,18],"149":[2,18],"150":[2,18],"151":[2,18],"152":[2,18],"153":[2,18],"154":[2,18],"155":[2,18],"156":[2,18],"157":[2,18],"158":[2,18],"159":[2,18],"160":[2,18],"161":[2,18],"162":[2,18],"163":[2,18],"164":[2,18],"165":[2,18],"166":[2,18],"167":[2,18],"168":[2,18]},{"1":[2,19],"4":[2,19],"29":[2,19],"30":[2,19],"51":[2,19],"59":[2,19],"63":[2,19],"81":[2,19],"86":[2,19],"96":[2,19],"100":[2,19],"108":[2,19],"110":[2,19],"111":[2,19],"112":[2,19],"116":[2,19],"122":[2,19],"123":[2,19],"124":[2,19],"131":[2,19],"132":[2,19],"133":[2,19],"135":[2,19],"136":[2,19],"138":[2,19],"139":[2,19],"142":[2,19],"143":[2,19],"144":[2,19],"145":[2,19],"146":[2,19],"147":[2,19],"148":[2,19],"149":[2,19],"150":[2,19],"151":[2,19],"152":[2,19],"153":[2,19],"154":[2,19],"155":[2,19],"156":[2,19],"157":[2,19],"158":[2,19],"159":[2,19],"160":[2,19],"161":[2,19],"162":[2,19],"163":[2,19],"164":[2,19],"165":[2,19],"166":[2,19],"167":[2,19],"168":[2,19]},{"1":[2,20],"4":[2,20],"29":[2,20],"30":[2,20],"51":[2,20],"59":[2,20],"63":[2,20],"81":[2,20],"86":[2,20],"96":[2,20],"100":[2,20],"108":[2,20],"110":[2,20],"111":[2,20],"112":[2,20],"116":[2,20],"122":[2,20],"123":[2,20],"124":[2,20],"131":[2,20],"132":[2,20],"133":[2,20],"135":[2,20],"136":[2,20],"138":[2,20],"139":[2,20],"142":[2,20],"143":[2,20],"144":[2,20],"145":[2,20],"146":[2,20],"147":[2,20],"148":[2,20],"149":[2,20],"150":[2,20],"151":[2,20],"152":[2,20],"153":[2,20],"154":[2,20],"155":[2,20],"156":[2,20],"157":[2,20],"158":[2,20],"159":[2,20],"160":[2,20],"161":[2,20],"162":[2,20],"163":[2,20],"164":[2,20],"165":[2,20],"166":[2,20],"167":[2,20],"168":[2,20]},{"1":[2,21],"4":[2,21],"29":[2,21],"30":[2,21],"51":[2,21],"59":[2,21],"63":[2,21],"81":[2,21],"86":[2,21],"96":[2,21],"100":[2,21],"108":[2,21],"110":[2,21],"111":[2,21],"112":[2,21],"116":[2,21],"122":[2,21],"123":[2,21],"124":[2,21],"131":[2,21],"132":[2,21],"133":[2,21],"135":[2,21],"136":[2,21],"138":[2,21],"139":[2,21],"142":[2,21],"143":[2,21],"144":[2,21],"145":[2,21],"146":[2,21],"147":[2,21],"148":[2,21],"149":[2,21],"150":[2,21],"151":[2,21],"152":[2,21],"153":[2,21],"154":[2,21],"155":[2,21],"156":[2,21],"157":[2,21],"158":[2,21],"159":[2,21],"160":[2,21],"161":[2,21],"162":[2,21],"163":[2,21],"164":[2,21],"165":[2,21],"166":[2,21],"167":[2,21],"168":[2,21]},{"1":[2,22],"4":[2,22],"29":[2,22],"30":[2,22],"51":[2,22],"59":[2,22],"63":[2,22],"81":[2,22],"86":[2,22],"96":[2,22],"100":[2,22],"108":[2,22],"110":[2,22],"111":[2,22],"112":[2,22],"116":[2,22],"122":[2,22],"123":[2,22],"124":[2,22],"131":[2,22],"132":[2,22],"133":[2,22],"135":[2,22],"136":[2,22],"138":[2,22],"139":[2,22],"142":[2,22],"143":[2,22],"144":[2,22],"145":[2,22],"146":[2,22],"147":[2,22],"148":[2,22],"149":[2,22],"150":[2,22],"151":[2,22],"152":[2,22],"153":[2,22],"154":[2,22],"155":[2,22],"156":[2,22],"157":[2,22],"158":[2,22],"159":[2,22],"160":[2,22],"161":[2,22],"162":[2,22],"163":[2,22],"164":[2,22],"165":[2,22],"166":[2,22],"167":[2,22],"168":[2,22]},{"1":[2,23],"4":[2,23],"29":[2,23],"30":[2,23],"51":[2,23],"59":[2,23],"63":[2,23],"81":[2,23],"86":[2,23],"96":[2,23],"100":[2,23],"108":[2,23],"110":[2,23],"111":[2,23],"112":[2,23],"116":[2,23],"122":[2,23],"123":[2,23],"124":[2,23],"131":[2,23],"132":[2,23],"133":[2,23],"135":[2,23],"136":[2,23],"138":[2,23],"139":[2,23],"142":[2,23],"143":[2,23],"144":[2,23],"145":[2,23],"146":[2,23],"147":[2,23],"148":[2,23],"149":[2,23],"150":[2,23],"151":[2,23],"152":[2,23],"153":[2,23],"154":[2,23],"155":[2,23],"156":[2,23],"157":[2,23],"158":[2,23],"159":[2,23],"160":[2,23],"161":[2,23],"162":[2,23],"163":[2,23],"164":[2,23],"165":[2,23],"166":[2,23],"167":[2,23],"168":[2,23]},{"1":[2,24],"4":[2,24],"29":[2,24],"30":[2,24],"51":[2,24],"59":[2,24],"63":[2,24],"81":[2,24],"86":[2,24],"96":[2,24],"100":[2,24],"108":[2,24],"110":[2,24],"111":[2,24],"112":[2,24],"116":[2,24],"122":[2,24],"123":[2,24],"124":[2,24],"131":[2,24],"132":[2,24],"133":[2,24],"135":[2,24],"136":[2,24],"138":[2,24],"139":[2,24],"142":[2,24],"143":[2,24],"144":[2,24],"145":[2,24],"146":[2,24],"147":[2,24],"148":[2,24],"149":[2,24],"150":[2,24],"151":[2,24],"152":[2,24],"153":[2,24],"154":[2,24],"155":[2,24],"156":[2,24],"157":[2,24],"158":[2,24],"159":[2,24],"160":[2,24],"161":[2,24],"162":[2,24],"163":[2,24],"164":[2,24],"165":[2,24],"166":[2,24],"167":[2,24],"168":[2,24]},{"1":[2,25],"4":[2,25],"29":[2,25],"30":[2,25],"51":[2,25],"59":[2,25],"63":[2,25],"81":[2,25],"86":[2,25],"96":[2,25],"100":[2,25],"108":[2,25],"110":[2,25],"111":[2,25],"112":[2,25],"116":[2,25],"122":[2,25],"123":[2,25],"124":[2,25],"131":[2,25],"132":[2,25],"133":[2,25],"135":[2,25],"136":[2,25],"138":[2,25],"139":[2,25],"142":[2,25],"143":[2,25],"144":[2,25],"145":[2,25],"146":[2,25],"147":[2,25],"148":[2,25],"149":[2,25],"150":[2,25],"151":[2,25],"152":[2,25],"153":[2,25],"154":[2,25],"155":[2,25],"156":[2,25],"157":[2,25],"158":[2,25],"159":[2,25],"160":[2,25],"161":[2,25],"162":[2,25],"163":[2,25],"164":[2,25],"165":[2,25],"166":[2,25],"167":[2,25],"168":[2,25]},{"1":[2,26],"4":[2,26],"29":[2,26],"30":[2,26],"51":[2,26],"59":[2,26],"63":[2,26],"81":[2,26],"86":[2,26],"96":[2,26],"100":[2,26],"108":[2,26],"110":[2,26],"111":[2,26],"112":[2,26],"116":[2,26],"122":[2,26],"123":[2,26],"124":[2,26],"131":[2,26],"132":[2,26],"133":[2,26],"135":[2,26],"136":[2,26],"138":[2,26],"139":[2,26],"142":[2,26],"143":[2,26],"144":[2,26],"145":[2,26],"146":[2,26],"147":[2,26],"148":[2,26],"149":[2,26],"150":[2,26],"151":[2,26],"152":[2,26],"153":[2,26],"154":[2,26],"155":[2,26],"156":[2,26],"157":[2,26],"158":[2,26],"159":[2,26],"160":[2,26],"161":[2,26],"162":[2,26],"163":[2,26],"164":[2,26],"165":[2,26],"166":[2,26],"167":[2,26],"168":[2,26]},{"1":[2,27],"4":[2,27],"29":[2,27],"30":[2,27],"51":[2,27],"59":[2,27],"63":[2,27],"81":[2,27],"86":[2,27],"96":[2,27],"100":[2,27],"108":[2,27],"110":[2,27],"111":[2,27],"112":[2,27],"116":[2,27],"122":[2,27],"123":[2,27],"124":[2,27],"131":[2,27],"132":[2,27],"133":[2,27],"135":[2,27],"136":[2,27],"138":[2,27],"139":[2,27],"142":[2,27],"143":[2,27],"144":[2,27],"145":[2,27],"146":[2,27],"147":[2,27],"148":[2,27],"149":[2,27],"150":[2,27],"151":[2,27],"152":[2,27],"153":[2,27],"154":[2,27],"155":[2,27],"156":[2,27],"157":[2,27],"158":[2,27],"159":[2,27],"160":[2,27],"161":[2,27],"162":[2,27],"163":[2,27],"164":[2,27],"165":[2,27],"166":[2,27],"167":[2,27],"168":[2,27]},{"1":[2,28],"4":[2,28],"29":[2,28],"30":[2,28],"51":[2,28],"59":[2,28],"63":[2,28],"81":[2,28],"86":[2,28],"96":[2,28],"100":[2,28],"108":[2,28],"110":[2,28],"111":[2,28],"112":[2,28],"116":[2,28],"122":[2,28],"123":[2,28],"124":[2,28],"131":[2,28],"132":[2,28],"133":[2,28],"135":[2,28],"136":[2,28],"138":[2,28],"139":[2,28],"142":[2,28],"143":[2,28],"144":[2,28],"145":[2,28],"146":[2,28],"147":[2,28],"148":[2,28],"149":[2,28],"150":[2,28],"151":[2,28],"152":[2,28],"153":[2,28],"154":[2,28],"155":[2,28],"156":[2,28],"157":[2,28],"158":[2,28],"159":[2,28],"160":[2,28],"161":[2,28],"162":[2,28],"163":[2,28],"164":[2,28],"165":[2,28],"166":[2,28],"167":[2,28],"168":[2,28]},{"1":[2,10],"4":[2,10],"30":[2,10],"108":[2,10],"110":[2,10],"112":[2,10],"116":[2,10],"131":[2,10],"132":[2,10]},{"1":[2,11],"4":[2,11],"30":[2,11],"108":[2,11],"110":[2,11],"112":[2,11],"116":[2,11],"131":[2,11],"132":[2,11]},{"1":[2,12],"4":[2,12],"30":[2,12],"108":[2,12],"110":[2,12],"112":[2,12],"116":[2,12],"131":[2,12],"132":[2,12]},{"1":[2,13],"4":[2,13],"30":[2,13],"108":[2,13],"110":[2,13],"112":[2,13],"116":[2,13],"131":[2,13],"132":[2,13]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"46":[1,151],"51":[2,78],"59":[2,78],"63":[2,78],"74":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"80":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"86":[2,78],"94":[2,78],"96":[2,78],"100":[2,78],"108":[2,78],"110":[2,78],"111":[2,78],"112":[2,78],"116":[2,78],"122":[2,78],"123":[2,78],"124":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"135":[2,78],"136":[2,78],"138":[2,78],"139":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78],"152":[2,78],"153":[2,78],"154":[2,78],"155":[2,78],"156":[2,78],"157":[2,78],"158":[2,78],"159":[2,78],"160":[2,78],"161":[2,78],"162":[2,78],"163":[2,78],"164":[2,78],"165":[2,78],"166":[2,78],"167":[2,78],"168":[2,78]},{"1":[2,79],"4":[2,79],"29":[2,79],"30":[2,79],"51":[2,79],"59":[2,79],"63":[2,79],"74":[2,79],"75":[2,79],"76":[2,79],"77":[2,79],"80":[2,79],"81":[2,79],"82":[2,79],"83":[2,79],"86":[2,79],"94":[2,79],"96":[2,79],"100":[2,79],"108":[2,79],"110":[2,79],"111":[2,79],"112":[2,79],"116":[2,79],"122":[2,79],"123":[2,79],"124":[2,79],"131":[2,79],"132":[2,79],"133":[2,79],"135":[2,79],"136":[2,79],"138":[2,79],"139":[2,79],"142":[2,79],"143":[2,79],"144":[2,79],"145":[2,79],"146":[2,79],"147":[2,79],"148":[2,79],"149":[2,79],"150":[2,79],"151":[2,79],"152":[2,79],"153":[2,79],"154":[2,79],"155":[2,79],"156":[2,79],"157":[2,79],"158":[2,79],"159":[2,79],"160":[2,79],"161":[2,79],"162":[2,79],"163":[2,79],"164":[2,79],"165":[2,79],"166":[2,79],"167":[2,79],"168":[2,79]},{"1":[2,80],"4":[2,80],"29":[2,80],"30":[2,80],"51":[2,80],"59":[2,80],"63":[2,80],"74":[2,80],"75":[2,80],"76":[2,80],"77":[2,80],"80":[2,80],"81":[2,80],"82":[2,80],"83":[2,80],"86":[2,80],"94":[2,80],"96":[2,80],"100":[2,80],"108":[2,80],"110":[2,80],"111":[2,80],"112":[2,80],"116":[2,80],"122":[2,80],"123":[2,80],"124":[2,80],"131":[2,80],"132":[2,80],"133":[2,80],"135":[2,80],"136":[2,80],"138":[2,80],"139":[2,80],"142":[2,80],"143":[2,80],"144":[2,80],"145":[2,80],"146":[2,80],"147":[2,80],"148":[2,80],"149":[2,80],"150":[2,80],"151":[2,80],"152":[2,80],"153":[2,80],"154":[2,80],"155":[2,80],"156":[2,80],"157":[2,80],"158":[2,80],"159":[2,80],"160":[2,80],"161":[2,80],"162":[2,80],"163":[2,80],"164":[2,80],"165":[2,80],"166":[2,80],"167":[2,80],"168":[2,80]},{"1":[2,81],"4":[2,81],"29":[2,81],"30":[2,81],"51":[2,81],"59":[2,81],"63":[2,81],"74":[2,81],"75":[2,81],"76":[2,81],"77":[2,81],"80":[2,81],"81":[2,81],"82":[2,81],"83":[2,81],"86":[2,81],"94":[2,81],"96":[2,81],"100":[2,81],"108":[2,81],"110":[2,81],"111":[2,81],"112":[2,81],"116":[2,81],"122":[2,81],"123":[2,81],"124":[2,81],"131":[2,81],"132":[2,81],"133":[2,81],"135":[2,81],"136":[2,81],"138":[2,81],"139":[2,81],"142":[2,81],"143":[2,81],"144":[2,81],"145":[2,81],"146":[2,81],"147":[2,81],"148":[2,81],"149":[2,81],"150":[2,81],"151":[2,81],"152":[2,81],"153":[2,81],"154":[2,81],"155":[2,81],"156":[2,81],"157":[2,81],"158":[2,81],"159":[2,81],"160":[2,81],"161":[2,81],"162":[2,81],"163":[2,81],"164":[2,81],"165":[2,81],"166":[2,81],"167":[2,81],"168":[2,81]},{"1":[2,82],"4":[2,82],"29":[2,82],"30":[2,82],"51":[2,82],"59":[2,82],"63":[2,82],"74":[2,82],"75":[2,82],"76":[2,82],"77":[2,82],"80":[2,82],"81":[2,82],"82":[2,82],"83":[2,82],"86":[2,82],"94":[2,82],"96":[2,82],"100":[2,82],"108":[2,82],"110":[2,82],"111":[2,82],"112":[2,82],"116":[2,82],"122":[2,82],"123":[2,82],"124":[2,82],"131":[2,82],"132":[2,82],"133":[2,82],"135":[2,82],"136":[2,82],"138":[2,82],"139":[2,82],"142":[2,82],"143":[2,82],"144":[2,82],"145":[2,82],"146":[2,82],"147":[2,82],"148":[2,82],"149":[2,82],"150":[2,82],"151":[2,82],"152":[2,82],"153":[2,82],"154":[2,82],"155":[2,82],"156":[2,82],"157":[2,82],"158":[2,82],"159":[2,82],"160":[2,82],"161":[2,82],"162":[2,82],"163":[2,82],"164":[2,82],"165":[2,82],"166":[2,82],"167":[2,82],"168":[2,82]},{"1":[2,83],"4":[2,83],"29":[2,83],"30":[2,83],"51":[2,83],"59":[2,83],"63":[2,83],"74":[2,83],"75":[2,83],"76":[2,83],"77":[2,83],"80":[2,83],"81":[2,83],"82":[2,83],"83":[2,83],"86":[2,83],"94":[2,83],"96":[2,83],"100":[2,83],"108":[2,83],"110":[2,83],"111":[2,83],"112":[2,83],"116":[2,83],"122":[2,83],"123":[2,83],"124":[2,83],"131":[2,83],"132":[2,83],"133":[2,83],"135":[2,83],"136":[2,83],"138":[2,83],"139":[2,83],"142":[2,83],"143":[2,83],"144":[2,83],"145":[2,83],"146":[2,83],"147":[2,83],"148":[2,83],"149":[2,83],"150":[2,83],"151":[2,83],"152":[2,83],"153":[2,83],"154":[2,83],"155":[2,83],"156":[2,83],"157":[2,83],"158":[2,83],"159":[2,83],"160":[2,83],"161":[2,83],"162":[2,83],"163":[2,83],"164":[2,83],"165":[2,83],"166":[2,83],"167":[2,83],"168":[2,83]},{"1":[2,110],"4":[2,110],"29":[2,110],"30":[2,110],"51":[2,110],"59":[2,110],"63":[2,110],"65":153,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,110],"82":[1,149],"83":[1,150],"86":[2,110],"93":152,"94":[1,141],"96":[2,110],"100":[2,110],"108":[2,110],"110":[2,110],"111":[2,110],"112":[2,110],"116":[2,110],"122":[2,110],"123":[2,110],"124":[2,110],"131":[2,110],"132":[2,110],"133":[2,110],"135":[2,110],"136":[2,110],"138":[2,110],"139":[2,110],"142":[2,110],"143":[2,110],"144":[2,110],"145":[2,110],"146":[2,110],"147":[2,110],"148":[2,110],"149":[2,110],"150":[2,110],"151":[2,110],"152":[2,110],"153":[2,110],"154":[2,110],"155":[2,110],"156":[2,110],"157":[2,110],"158":[2,110],"159":[2,110],"160":[2,110],"161":[2,110],"162":[2,110],"163":[2,110],"164":[2,110],"165":[2,110],"166":[2,110],"167":[2,110],"168":[2,110]},{"1":[2,111],"4":[2,111],"29":[2,111],"30":[2,111],"51":[2,111],"59":[2,111],"63":[2,111],"81":[2,111],"86":[2,111],"96":[2,111],"100":[2,111],"108":[2,111],"110":[2,111],"111":[2,111],"112":[2,111],"116":[2,111],"122":[2,111],"123":[2,111],"124":[2,111],"131":[2,111],"132":[2,111],"133":[2,111],"135":[2,111],"136":[2,111],"138":[2,111],"139":[2,111],"142":[2,111],"143":[2,111],"144":[2,111],"145":[2,111],"146":[2,111],"147":[2,111],"148":[2,111],"149":[2,111],"150":[2,111],"151":[2,111],"152":[2,111],"153":[2,111],"154":[2,111],"155":[2,111],"156":[2,111],"157":[2,111],"158":[2,111],"159":[2,111],"160":[2,111],"161":[2,111],"162":[2,111],"163":[2,111],"164":[2,111],"165":[2,111],"166":[2,111],"167":[2,111],"168":[2,111]},{"14":155,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":157,"66":154,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"53":158,"54":[2,63],"59":[2,63],"60":159,"61":[1,160],"62":[1,161]},{"4":[1,163],"6":162,"29":[1,6]},{"8":164,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":166,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":167,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":168,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":169,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":170,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":171,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":172,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":173,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,182],"4":[2,182],"29":[2,182],"30":[2,182],"51":[2,182],"59":[2,182],"63":[2,182],"81":[2,182],"86":[2,182],"96":[2,182],"100":[2,182],"108":[2,182],"110":[2,182],"111":[2,182],"112":[2,182],"116":[2,182],"122":[2,182],"123":[2,182],"124":[2,182],"127":[1,174],"131":[2,182],"132":[2,182],"133":[2,182],"135":[2,182],"136":[2,182],"138":[2,182],"139":[2,182],"142":[2,182],"143":[2,182],"144":[2,182],"145":[2,182],"146":[2,182],"147":[2,182],"148":[2,182],"149":[2,182],"150":[2,182],"151":[2,182],"152":[2,182],"153":[2,182],"154":[2,182],"155":[2,182],"156":[2,182],"157":[2,182],"158":[2,182],"159":[2,182],"160":[2,182],"161":[2,182],"162":[2,182],"163":[2,182],"164":[2,182],"165":[2,182],"166":[2,182],"167":[2,182],"168":[2,182]},{"4":[1,163],"6":175,"29":[1,6]},{"4":[1,163],"6":176,"29":[1,6]},{"1":[2,148],"4":[2,148],"29":[2,148],"30":[2,148],"51":[2,148],"59":[2,148],"63":[2,148],"81":[2,148],"86":[2,148],"96":[2,148],"100":[2,148],"108":[2,148],"110":[2,148],"111":[2,148],"112":[2,148],"116":[2,148],"122":[2,148],"123":[2,148],"124":[2,148],"131":[2,148],"132":[2,148],"133":[2,148],"135":[2,148],"136":[2,148],"138":[2,148],"139":[2,148],"142":[2,148],"143":[2,148],"144":[2,148],"145":[2,148],"146":[2,148],"147":[2,148],"148":[2,148],"149":[2,148],"150":[2,148],"151":[2,148],"152":[2,148],"153":[2,148],"154":[2,148],"155":[2,148],"156":[2,148],"157":[2,148],"158":[2,148],"159":[2,148],"160":[2,148],"161":[2,148],"162":[2,148],"163":[2,148],"164":[2,148],"165":[2,148],"166":[2,148],"167":[2,148],"168":[2,148]},{"4":[1,163],"6":177,"29":[1,6]},{"8":178,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,179],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"46":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"74":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"80":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"86":[2,75],"88":[1,180],"94":[2,75],"96":[2,75],"100":[2,75],"108":[2,75],"110":[2,75],"111":[2,75],"112":[2,75],"116":[2,75],"122":[2,75],"123":[2,75],"124":[2,75],"131":[2,75],"132":[2,75],"133":[2,75],"135":[2,75],"136":[2,75],"138":[2,75],"139":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75],"152":[2,75],"153":[2,75],"154":[2,75],"155":[2,75],"156":[2,75],"157":[2,75],"158":[2,75],"159":[2,75],"160":[2,75],"161":[2,75],"162":[2,75],"163":[2,75],"164":[2,75],"165":[2,75],"166":[2,75],"167":[2,75],"168":[2,75]},{"14":183,"29":[1,182],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":181,"66":184,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"1":[2,55],"4":[2,55],"29":[2,55],"30":[2,55],"51":[2,55],"59":[2,55],"63":[2,55],"81":[2,55],"86":[2,55],"96":[2,55],"100":[2,55],"104":[2,55],"105":[2,55],"108":[2,55],"110":[2,55],"111":[2,55],"112":[2,55],"116":[2,55],"122":[2,55],"123":[2,55],"124":[2,55],"127":[2,55],"129":[2,55],"131":[2,55],"132":[2,55],"133":[2,55],"135":[2,55],"136":[2,55],"138":[2,55],"139":[2,55],"142":[2,55],"143":[2,55],"144":[2,55],"145":[2,55],"146":[2,55],"147":[2,55],"148":[2,55],"149":[2,55],"150":[2,55],"151":[2,55],"152":[2,55],"153":[2,55],"154":[2,55],"155":[2,55],"156":[2,55],"157":[2,55],"158":[2,55],"159":[2,55],"160":[2,55],"161":[2,55],"162":[2,55],"163":[2,55],"164":[2,55],"165":[2,55],"166":[2,55],"167":[2,55],"168":[2,55]},{"1":[2,54],"4":[2,54],"8":185,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"30":[2,54],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"108":[2,54],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[2,54],"132":[2,54],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":186,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,76],"4":[2,76],"29":[2,76],"30":[2,76],"46":[2,76],"51":[2,76],"59":[2,76],"63":[2,76],"74":[2,76],"75":[2,76],"76":[2,76],"77":[2,76],"80":[2,76],"81":[2,76],"82":[2,76],"83":[2,76],"86":[2,76],"94":[2,76],"96":[2,76],"100":[2,76],"108":[2,76],"110":[2,76],"111":[2,76],"112":[2,76],"116":[2,76],"122":[2,76],"123":[2,76],"124":[2,76],"131":[2,76],"132":[2,76],"133":[2,76],"135":[2,76],"136":[2,76],"138":[2,76],"139":[2,76],"142":[2,76],"143":[2,76],"144":[2,76],"145":[2,76],"146":[2,76],"147":[2,76],"148":[2,76],"149":[2,76],"150":[2,76],"151":[2,76],"152":[2,76],"153":[2,76],"154":[2,76],"155":[2,76],"156":[2,76],"157":[2,76],"158":[2,76],"159":[2,76],"160":[2,76],"161":[2,76],"162":[2,76],"163":[2,76],"164":[2,76],"165":[2,76],"166":[2,76],"167":[2,76],"168":[2,76]},{"1":[2,77],"4":[2,77],"29":[2,77],"30":[2,77],"46":[2,77],"51":[2,77],"59":[2,77],"63":[2,77],"74":[2,77],"75":[2,77],"76":[2,77],"77":[2,77],"80":[2,77],"81":[2,77],"82":[2,77],"83":[2,77],"86":[2,77],"94":[2,77],"96":[2,77],"100":[2,77],"108":[2,77],"110":[2,77],"111":[2,77],"112":[2,77],"116":[2,77],"122":[2,77],"123":[2,77],"124":[2,77],"131":[2,77],"132":[2,77],"133":[2,77],"135":[2,77],"136":[2,77],"138":[2,77],"139":[2,77],"142":[2,77],"143":[2,77],"144":[2,77],"145":[2,77],"146":[2,77],"147":[2,77],"148":[2,77],"149":[2,77],"150":[2,77],"151":[2,77],"152":[2,77],"153":[2,77],"154":[2,77],"155":[2,77],"156":[2,77],"157":[2,77],"158":[2,77],"159":[2,77],"160":[2,77],"161":[2,77],"162":[2,77],"163":[2,77],"164":[2,77],"165":[2,77],"166":[2,77],"167":[2,77],"168":[2,77]},{"1":[2,35],"4":[2,35],"29":[2,35],"30":[2,35],"51":[2,35],"59":[2,35],"63":[2,35],"74":[2,35],"75":[2,35],"76":[2,35],"77":[2,35],"80":[2,35],"81":[2,35],"82":[2,35],"83":[2,35],"86":[2,35],"94":[2,35],"96":[2,35],"100":[2,35],"108":[2,35],"110":[2,35],"111":[2,35],"112":[2,35],"116":[2,35],"122":[2,35],"123":[2,35],"124":[2,35],"131":[2,35],"132":[2,35],"133":[2,35],"135":[2,35],"136":[2,35],"138":[2,35],"139":[2,35],"142":[2,35],"143":[2,35],"144":[2,35],"145":[2,35],"146":[2,35],"147":[2,35],"148":[2,35],"149":[2,35],"150":[2,35],"151":[2,35],"152":[2,35],"153":[2,35],"154":[2,35],"155":[2,35],"156":[2,35],"157":[2,35],"158":[2,35],"159":[2,35],"160":[2,35],"161":[2,35],"162":[2,35],"163":[2,35],"164":[2,35],"165":[2,35],"166":[2,35],"167":[2,35],"168":[2,35]},{"1":[2,36],"4":[2,36],"29":[2,36],"30":[2,36],"51":[2,36],"59":[2,36],"63":[2,36],"74":[2,36],"75":[2,36],"76":[2,36],"77":[2,36],"80":[2,36],"81":[2,36],"82":[2,36],"83":[2,36],"86":[2,36],"94":[2,36],"96":[2,36],"100":[2,36],"108":[2,36],"110":[2,36],"111":[2,36],"112":[2,36],"116":[2,36],"122":[2,36],"123":[2,36],"124":[2,36],"131":[2,36],"132":[2,36],"133":[2,36],"135":[2,36],"136":[2,36],"138":[2,36],"139":[2,36],"142":[2,36],"143":[2,36],"144":[2,36],"145":[2,36],"146":[2,36],"147":[2,36],"148":[2,36],"149":[2,36],"150":[2,36],"151":[2,36],"152":[2,36],"153":[2,36],"154":[2,36],"155":[2,36],"156":[2,36],"157":[2,36],"158":[2,36],"159":[2,36],"160":[2,36],"161":[2,36],"162":[2,36],"163":[2,36],"164":[2,36],"165":[2,36],"166":[2,36],"167":[2,36],"168":[2,36]},{"1":[2,37],"4":[2,37],"29":[2,37],"30":[2,37],"51":[2,37],"59":[2,37],"63":[2,37],"74":[2,37],"75":[2,37],"76":[2,37],"77":[2,37],"80":[2,37],"81":[2,37],"82":[2,37],"83":[2,37],"86":[2,37],"94":[2,37],"96":[2,37],"100":[2,37],"108":[2,37],"110":[2,37],"111":[2,37],"112":[2,37],"116":[2,37],"122":[2,37],"123":[2,37],"124":[2,37],"131":[2,37],"132":[2,37],"133":[2,37],"135":[2,37],"136":[2,37],"138":[2,37],"139":[2,37],"142":[2,37],"143":[2,37],"144":[2,37],"145":[2,37],"146":[2,37],"147":[2,37],"148":[2,37],"149":[2,37],"150":[2,37],"151":[2,37],"152":[2,37],"153":[2,37],"154":[2,37],"155":[2,37],"156":[2,37],"157":[2,37],"158":[2,37],"159":[2,37],"160":[2,37],"161":[2,37],"162":[2,37],"163":[2,37],"164":[2,37],"165":[2,37],"166":[2,37],"167":[2,37],"168":[2,37]},{"1":[2,38],"4":[2,38],"29":[2,38],"30":[2,38],"51":[2,38],"59":[2,38],"63":[2,38],"74":[2,38],"75":[2,38],"76":[2,38],"77":[2,38],"80":[2,38],"81":[2,38],"82":[2,38],"83":[2,38],"86":[2,38],"94":[2,38],"96":[2,38],"100":[2,38],"108":[2,38],"110":[2,38],"111":[2,38],"112":[2,38],"116":[2,38],"122":[2,38],"123":[2,38],"124":[2,38],"131":[2,38],"132":[2,38],"133":[2,38],"135":[2,38],"136":[2,38],"138":[2,38],"139":[2,38],"142":[2,38],"143":[2,38],"144":[2,38],"145":[2,38],"146":[2,38],"147":[2,38],"148":[2,38],"149":[2,38],"150":[2,38],"151":[2,38],"152":[2,38],"153":[2,38],"154":[2,38],"155":[2,38],"156":[2,38],"157":[2,38],"158":[2,38],"159":[2,38],"160":[2,38],"161":[2,38],"162":[2,38],"163":[2,38],"164":[2,38],"165":[2,38],"166":[2,38],"167":[2,38],"168":[2,38]},{"1":[2,39],"4":[2,39],"29":[2,39],"30":[2,39],"51":[2,39],"59":[2,39],"63":[2,39],"74":[2,39],"75":[2,39],"76":[2,39],"77":[2,39],"80":[2,39],"81":[2,39],"82":[2,39],"83":[2,39],"86":[2,39],"94":[2,39],"96":[2,39],"100":[2,39],"108":[2,39],"110":[2,39],"111":[2,39],"112":[2,39],"116":[2,39],"122":[2,39],"123":[2,39],"124":[2,39],"131":[2,39],"132":[2,39],"133":[2,39],"135":[2,39],"136":[2,39],"138":[2,39],"139":[2,39],"142":[2,39],"143":[2,39],"144":[2,39],"145":[2,39],"146":[2,39],"147":[2,39],"148":[2,39],"149":[2,39],"150":[2,39],"151":[2,39],"152":[2,39],"153":[2,39],"154":[2,39],"155":[2,39],"156":[2,39],"157":[2,39],"158":[2,39],"159":[2,39],"160":[2,39],"161":[2,39],"162":[2,39],"163":[2,39],"164":[2,39],"165":[2,39],"166":[2,39],"167":[2,39],"168":[2,39]},{"1":[2,40],"4":[2,40],"29":[2,40],"30":[2,40],"51":[2,40],"59":[2,40],"63":[2,40],"74":[2,40],"75":[2,40],"76":[2,40],"77":[2,40],"80":[2,40],"81":[2,40],"82":[2,40],"83":[2,40],"86":[2,40],"94":[2,40],"96":[2,40],"100":[2,40],"108":[2,40],"110":[2,40],"111":[2,40],"112":[2,40],"116":[2,40],"122":[2,40],"123":[2,40],"124":[2,40],"131":[2,40],"132":[2,40],"133":[2,40],"135":[2,40],"136":[2,40],"138":[2,40],"139":[2,40],"142":[2,40],"143":[2,40],"144":[2,40],"145":[2,40],"146":[2,40],"147":[2,40],"148":[2,40],"149":[2,40],"150":[2,40],"151":[2,40],"152":[2,40],"153":[2,40],"154":[2,40],"155":[2,40],"156":[2,40],"157":[2,40],"158":[2,40],"159":[2,40],"160":[2,40],"161":[2,40],"162":[2,40],"163":[2,40],"164":[2,40],"165":[2,40],"166":[2,40],"167":[2,40],"168":[2,40]},{"1":[2,41],"4":[2,41],"29":[2,41],"30":[2,41],"51":[2,41],"59":[2,41],"63":[2,41],"74":[2,41],"75":[2,41],"76":[2,41],"77":[2,41],"80":[2,41],"81":[2,41],"82":[2,41],"83":[2,41],"86":[2,41],"94":[2,41],"96":[2,41],"100":[2,41],"108":[2,41],"110":[2,41],"111":[2,41],"112":[2,41],"116":[2,41],"122":[2,41],"123":[2,41],"124":[2,41],"131":[2,41],"132":[2,41],"133":[2,41],"135":[2,41],"136":[2,41],"138":[2,41],"139":[2,41],"142":[2,41],"143":[2,41],"144":[2,41],"145":[2,41],"146":[2,41],"147":[2,41],"148":[2,41],"149":[2,41],"150":[2,41],"151":[2,41],"152":[2,41],"153":[2,41],"154":[2,41],"155":[2,41],"156":[2,41],"157":[2,41],"158":[2,41],"159":[2,41],"160":[2,41],"161":[2,41],"162":[2,41],"163":[2,41],"164":[2,41],"165":[2,41],"166":[2,41],"167":[2,41],"168":[2,41]},{"1":[2,42],"4":[2,42],"29":[2,42],"30":[2,42],"51":[2,42],"59":[2,42],"63":[2,42],"74":[2,42],"75":[2,42],"76":[2,42],"77":[2,42],"80":[2,42],"81":[2,42],"82":[2,42],"83":[2,42],"86":[2,42],"94":[2,42],"96":[2,42],"100":[2,42],"108":[2,42],"110":[2,42],"111":[2,42],"112":[2,42],"116":[2,42],"122":[2,42],"123":[2,42],"124":[2,42],"131":[2,42],"132":[2,42],"133":[2,42],"135":[2,42],"136":[2,42],"138":[2,42],"139":[2,42],"142":[2,42],"143":[2,42],"144":[2,42],"145":[2,42],"146":[2,42],"147":[2,42],"148":[2,42],"149":[2,42],"150":[2,42],"151":[2,42],"152":[2,42],"153":[2,42],"154":[2,42],"155":[2,42],"156":[2,42],"157":[2,42],"158":[2,42],"159":[2,42],"160":[2,42],"161":[2,42],"162":[2,42],"163":[2,42],"164":[2,42],"165":[2,42],"166":[2,42],"167":[2,42],"168":[2,42]},{"1":[2,43],"4":[2,43],"29":[2,43],"30":[2,43],"51":[2,43],"59":[2,43],"63":[2,43],"74":[2,43],"75":[2,43],"76":[2,43],"77":[2,43],"80":[2,43],"81":[2,43],"82":[2,43],"83":[2,43],"86":[2,43],"94":[2,43],"96":[2,43],"100":[2,43],"108":[2,43],"110":[2,43],"111":[2,43],"112":[2,43],"116":[2,43],"122":[2,43],"123":[2,43],"124":[2,43],"131":[2,43],"132":[2,43],"133":[2,43],"135":[2,43],"136":[2,43],"138":[2,43],"139":[2,43],"142":[2,43],"143":[2,43],"144":[2,43],"145":[2,43],"146":[2,43],"147":[2,43],"148":[2,43],"149":[2,43],"150":[2,43],"151":[2,43],"152":[2,43],"153":[2,43],"154":[2,43],"155":[2,43],"156":[2,43],"157":[2,43],"158":[2,43],"159":[2,43],"160":[2,43],"161":[2,43],"162":[2,43],"163":[2,43],"164":[2,43],"165":[2,43],"166":[2,43],"167":[2,43],"168":[2,43]},{"7":187,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,128],"8":188,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":189,"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,128],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,120],"4":[2,120],"29":[2,120],"30":[2,120],"51":[2,120],"59":[2,120],"63":[2,120],"74":[2,120],"75":[2,120],"76":[2,120],"77":[2,120],"80":[2,120],"81":[2,120],"82":[2,120],"83":[2,120],"86":[2,120],"94":[2,120],"96":[2,120],"100":[2,120],"108":[2,120],"110":[2,120],"111":[2,120],"112":[2,120],"116":[2,120],"122":[2,120],"123":[2,120],"124":[2,120],"131":[2,120],"132":[2,120],"133":[2,120],"135":[2,120],"136":[2,120],"138":[2,120],"139":[2,120],"142":[2,120],"143":[2,120],"144":[2,120],"145":[2,120],"146":[2,120],"147":[2,120],"148":[2,120],"149":[2,120],"150":[2,120],"151":[2,120],"152":[2,120],"153":[2,120],"154":[2,120],"155":[2,120],"156":[2,120],"157":[2,120],"158":[2,120],"159":[2,120],"160":[2,120],"161":[2,120],"162":[2,120],"163":[2,120],"164":[2,120],"165":[2,120],"166":[2,120],"167":[2,120],"168":[2,120]},{"1":[2,121],"4":[2,121],"29":[2,121],"30":[2,121],"31":190,"32":[1,89],"51":[2,121],"59":[2,121],"63":[2,121],"74":[2,121],"75":[2,121],"76":[2,121],"77":[2,121],"80":[2,121],"81":[2,121],"82":[2,121],"83":[2,121],"86":[2,121],"94":[2,121],"96":[2,121],"100":[2,121],"108":[2,121],"110":[2,121],"111":[2,121],"112":[2,121],"116":[2,121],"122":[2,121],"123":[2,121],"124":[2,121],"131":[2,121],"132":[2,121],"133":[2,121],"135":[2,121],"136":[2,121],"138":[2,121],"139":[2,121],"142":[2,121],"143":[2,121],"144":[2,121],"145":[2,121],"146":[2,121],"147":[2,121],"148":[2,121],"149":[2,121],"150":[2,121],"151":[2,121],"152":[2,121],"153":[2,121],"154":[2,121],"155":[2,121],"156":[2,121],"157":[2,121],"158":[2,121],"159":[2,121],"160":[2,121],"161":[2,121],"162":[2,121],"163":[2,121],"164":[2,121],"165":[2,121],"166":[2,121],"167":[2,121],"168":[2,121]},{"1":[2,118],"4":[2,118],"29":[2,118],"30":[2,118],"51":[2,118],"59":[2,118],"63":[2,118],"81":[2,118],"86":[2,118],"93":191,"94":[1,141],"96":[2,118],"100":[2,118],"108":[2,118],"110":[2,118],"111":[2,118],"112":[2,118],"116":[2,118],"122":[2,118],"123":[2,118],"124":[2,118],"131":[2,118],"132":[2,118],"133":[2,118],"135":[2,118],"136":[2,118],"138":[2,118],"139":[2,118],"142":[2,118],"143":[2,118],"144":[2,118],"145":[2,118],"146":[2,118],"147":[2,118],"148":[2,118],"149":[2,118],"150":[2,118],"151":[2,118],"152":[2,118],"153":[2,118],"154":[2,118],"155":[2,118],"156":[2,118],"157":[2,118],"158":[2,118],"159":[2,118],"160":[2,118],"161":[2,118],"162":[2,118],"163":[2,118],"164":[2,118],"165":[2,118],"166":[2,118],"167":[2,118],"168":[2,118]},{"4":[2,59],"29":[2,59]},{"4":[2,60],"29":[2,60]},{"8":192,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":193,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":194,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":195,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[1,163],"6":196,"8":197,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,6],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"31":202,"32":[1,89],"68":203,"69":204,"71":198,"84":[1,86],"99":[1,71],"119":199,"120":[1,200],"121":201},{"118":205,"122":[1,206],"123":[1,207]},{"1":[2,71],"4":[2,71],"29":[2,71],"30":[2,71],"46":[2,71],"51":[2,71],"59":[2,71],"63":[2,71],"74":[2,71],"75":[2,71],"76":[2,71],"77":[2,71],"80":[2,71],"81":[2,71],"82":[2,71],"83":[2,71],"86":[2,71],"88":[2,71],"94":[2,71],"96":[2,71],"100":[2,71],"108":[2,71],"110":[2,71],"111":[2,71],"112":[2,71],"116":[2,71],"122":[2,71],"123":[2,71],"124":[2,71],"131":[2,71],"132":[2,71],"133":[2,71],"135":[2,71],"136":[2,71],"138":[2,71],"139":[2,71],"142":[2,71],"143":[2,71],"144":[2,71],"145":[2,71],"146":[2,71],"147":[2,71],"148":[2,71],"149":[2,71],"150":[2,71],"151":[2,71],"152":[2,71],"153":[2,71],"154":[2,71],"155":[2,71],"156":[2,71],"157":[2,71],"158":[2,71],"159":[2,71],"160":[2,71],"161":[2,71],"162":[2,71],"163":[2,71],"164":[2,71],"165":[2,71],"166":[2,71],"167":[2,71],"168":[2,71]},{"1":[2,74],"4":[2,74],"29":[2,74],"30":[2,74],"46":[2,74],"51":[2,74],"59":[2,74],"63":[2,74],"74":[2,74],"75":[2,74],"76":[2,74],"77":[2,74],"80":[2,74],"81":[2,74],"82":[2,74],"83":[2,74],"86":[2,74],"88":[2,74],"94":[2,74],"96":[2,74],"100":[2,74],"108":[2,74],"110":[2,74],"111":[2,74],"112":[2,74],"116":[2,74],"122":[2,74],"123":[2,74],"124":[2,74],"131":[2,74],"132":[2,74],"133":[2,74],"135":[2,74],"136":[2,74],"138":[2,74],"139":[2,74],"142":[2,74],"143":[2,74],"144":[2,74],"145":[2,74],"146":[2,74],"147":[2,74],"148":[2,74],"149":[2,74],"150":[2,74],"151":[2,74],"152":[2,74],"153":[2,74],"154":[2,74],"155":[2,74],"156":[2,74],"157":[2,74],"158":[2,74],"159":[2,74],"160":[2,74],"161":[2,74],"162":[2,74],"163":[2,74],"164":[2,74],"165":[2,74],"166":[2,74],"167":[2,74],"168":[2,74]},{"4":[2,94],"28":212,"29":[2,94],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":209,"50":[1,56],"59":[2,94],"85":208,"86":[2,94]},{"1":[2,33],"4":[2,33],"29":[2,33],"30":[2,33],"48":[2,33],"51":[2,33],"59":[2,33],"63":[2,33],"74":[2,33],"75":[2,33],"76":[2,33],"77":[2,33],"80":[2,33],"81":[2,33],"82":[2,33],"83":[2,33],"86":[2,33],"94":[2,33],"96":[2,33],"100":[2,33],"108":[2,33],"110":[2,33],"111":[2,33],"112":[2,33],"116":[2,33],"122":[2,33],"123":[2,33],"124":[2,33],"131":[2,33],"132":[2,33],"133":[2,33],"135":[2,33],"136":[2,33],"138":[2,33],"139":[2,33],"142":[2,33],"143":[2,33],"144":[2,33],"145":[2,33],"146":[2,33],"147":[2,33],"148":[2,33],"149":[2,33],"150":[2,33],"151":[2,33],"152":[2,33],"153":[2,33],"154":[2,33],"155":[2,33],"156":[2,33],"157":[2,33],"158":[2,33],"159":[2,33],"160":[2,33],"161":[2,33],"162":[2,33],"163":[2,33],"164":[2,33],"165":[2,33],"166":[2,33],"167":[2,33],"168":[2,33]},{"1":[2,34],"4":[2,34],"29":[2,34],"30":[2,34],"48":[2,34],"51":[2,34],"59":[2,34],"63":[2,34],"74":[2,34],"75":[2,34],"76":[2,34],"77":[2,34],"80":[2,34],"81":[2,34],"82":[2,34],"83":[2,34],"86":[2,34],"94":[2,34],"96":[2,34],"100":[2,34],"108":[2,34],"110":[2,34],"111":[2,34],"112":[2,34],"116":[2,34],"122":[2,34],"123":[2,34],"124":[2,34],"131":[2,34],"132":[2,34],"133":[2,34],"135":[2,34],"136":[2,34],"138":[2,34],"139":[2,34],"142":[2,34],"143":[2,34],"144":[2,34],"145":[2,34],"146":[2,34],"147":[2,34],"148":[2,34],"149":[2,34],"150":[2,34],"151":[2,34],"152":[2,34],"153":[2,34],"154":[2,34],"155":[2,34],"156":[2,34],"157":[2,34],"158":[2,34],"159":[2,34],"160":[2,34],"161":[2,34],"162":[2,34],"163":[2,34],"164":[2,34],"165":[2,34],"166":[2,34],"167":[2,34],"168":[2,34]},{"1":[2,32],"4":[2,32],"29":[2,32],"30":[2,32],"46":[2,32],"48":[2,32],"51":[2,32],"59":[2,32],"63":[2,32],"74":[2,32],"75":[2,32],"76":[2,32],"77":[2,32],"80":[2,32],"81":[2,32],"82":[2,32],"83":[2,32],"86":[2,32],"88":[2,32],"94":[2,32],"96":[2,32],"100":[2,32],"108":[2,32],"110":[2,32],"111":[2,32],"112":[2,32],"116":[2,32],"122":[2,32],"123":[2,32],"124":[2,32],"131":[2,32],"132":[2,32],"133":[2,32],"135":[2,32],"136":[2,32],"138":[2,32],"139":[2,32],"142":[2,32],"143":[2,32],"144":[2,32],"145":[2,32],"146":[2,32],"147":[2,32],"148":[2,32],"149":[2,32],"150":[2,32],"151":[2,32],"152":[2,32],"153":[2,32],"154":[2,32],"155":[2,32],"156":[2,32],"157":[2,32],"158":[2,32],"159":[2,32],"160":[2,32],"161":[2,32],"162":[2,32],"163":[2,32],"164":[2,32],"165":[2,32],"166":[2,32],"167":[2,32],"168":[2,32]},{"1":[2,31],"4":[2,31],"29":[2,31],"30":[2,31],"51":[2,31],"59":[2,31],"63":[2,31],"81":[2,31],"86":[2,31],"96":[2,31],"100":[2,31],"104":[2,31],"105":[2,31],"108":[2,31],"110":[2,31],"111":[2,31],"112":[2,31],"116":[2,31],"122":[2,31],"123":[2,31],"124":[2,31],"127":[2,31],"129":[2,31],"131":[2,31],"132":[2,31],"133":[2,31],"135":[2,31],"136":[2,31],"138":[2,31],"139":[2,31],"142":[2,31],"143":[2,31],"144":[2,31],"145":[2,31],"146":[2,31],"147":[2,31],"148":[2,31],"149":[2,31],"150":[2,31],"151":[2,31],"152":[2,31],"153":[2,31],"154":[2,31],"155":[2,31],"156":[2,31],"157":[2,31],"158":[2,31],"159":[2,31],"160":[2,31],"161":[2,31],"162":[2,31],"163":[2,31],"164":[2,31],"165":[2,31],"166":[2,31],"167":[2,31],"168":[2,31]},{"1":[2,7],"4":[2,7],"7":213,"8":7,"9":8,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"30":[2,7],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,4]},{"4":[1,91],"30":[1,214]},{"1":[2,30],"4":[2,30],"29":[2,30],"30":[2,30],"51":[2,30],"59":[2,30],"63":[2,30],"81":[2,30],"86":[2,30],"96":[2,30],"100":[2,30],"104":[2,30],"105":[2,30],"108":[2,30],"110":[2,30],"111":[2,30],"112":[2,30],"116":[2,30],"122":[2,30],"123":[2,30],"124":[2,30],"127":[2,30],"129":[2,30],"131":[2,30],"132":[2,30],"133":[2,30],"135":[2,30],"136":[2,30],"138":[2,30],"139":[2,30],"142":[2,30],"143":[2,30],"144":[2,30],"145":[2,30],"146":[2,30],"147":[2,30],"148":[2,30],"149":[2,30],"150":[2,30],"151":[2,30],"152":[2,30],"153":[2,30],"154":[2,30],"155":[2,30],"156":[2,30],"157":[2,30],"158":[2,30],"159":[2,30],"160":[2,30],"161":[2,30],"162":[2,30],"163":[2,30],"164":[2,30],"165":[2,30],"166":[2,30],"167":[2,30],"168":[2,30]},{"1":[2,196],"4":[2,196],"29":[2,196],"30":[2,196],"51":[2,196],"59":[2,196],"63":[2,196],"81":[2,196],"86":[2,196],"96":[2,196],"100":[2,196],"108":[2,196],"110":[2,196],"111":[2,196],"112":[2,196],"116":[2,196],"122":[2,196],"123":[2,196],"124":[2,196],"131":[2,196],"132":[2,196],"133":[2,196],"135":[2,196],"136":[2,196],"138":[2,196],"139":[2,196],"142":[2,196],"143":[2,196],"144":[2,196],"145":[2,196],"146":[2,196],"147":[2,196],"148":[2,196],"149":[2,196],"150":[2,196],"151":[2,196],"152":[2,196],"153":[2,196],"154":[2,196],"155":[2,196],"156":[2,196],"157":[2,196],"158":[2,196],"159":[2,196],"160":[2,196],"161":[2,196],"162":[2,196],"163":[2,196],"164":[2,196],"165":[2,196],"166":[2,196],"167":[2,196],"168":[2,196]},{"1":[2,197],"4":[2,197],"29":[2,197],"30":[2,197],"51":[2,197],"59":[2,197],"63":[2,197],"81":[2,197],"86":[2,197],"96":[2,197],"100":[2,197],"108":[2,197],"110":[2,197],"111":[2,197],"112":[2,197],"116":[2,197],"122":[2,197],"123":[2,197],"124":[2,197],"131":[2,197],"132":[2,197],"133":[2,197],"135":[2,197],"136":[2,197],"138":[2,197],"139":[2,197],"142":[2,197],"143":[2,197],"144":[2,197],"145":[2,197],"146":[2,197],"147":[2,197],"148":[2,197],"149":[2,197],"150":[2,197],"151":[2,197],"152":[2,197],"153":[2,197],"154":[2,197],"155":[2,197],"156":[2,197],"157":[2,197],"158":[2,197],"159":[2,197],"160":[2,197],"161":[2,197],"162":[2,197],"163":[2,197],"164":[2,197],"165":[2,197],"166":[2,197],"167":[2,197],"168":[2,197]},{"8":215,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":216,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":217,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":218,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":219,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":220,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":221,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":222,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":223,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":224,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":225,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":226,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":227,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":228,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":229,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":230,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":231,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":232,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":233,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":234,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":235,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":236,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":237,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":238,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":239,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":240,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":241,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":242,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":243,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":244,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":245,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"122":[1,246],"123":[1,247]},{"8":248,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":249,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,147],"4":[2,147],"29":[2,147],"30":[2,147],"51":[2,147],"59":[2,147],"63":[2,147],"81":[2,147],"86":[2,147],"96":[2,147],"100":[2,147],"108":[2,147],"110":[2,147],"111":[2,147],"112":[2,147],"116":[2,147],"122":[2,147],"123":[2,147],"124":[2,147],"131":[2,147],"132":[2,147],"133":[2,147],"135":[2,147],"136":[2,147],"138":[2,147],"139":[2,147],"142":[2,147],"143":[2,147],"144":[2,147],"145":[2,147],"146":[2,147],"147":[2,147],"148":[2,147],"149":[2,147],"150":[2,147],"151":[2,147],"152":[2,147],"153":[2,147],"154":[2,147],"155":[2,147],"156":[2,147],"157":[2,147],"158":[2,147],"159":[2,147],"160":[2,147],"161":[2,147],"162":[2,147],"163":[2,147],"164":[2,147],"165":[2,147],"166":[2,147],"167":[2,147],"168":[2,147]},{"1":[2,152],"4":[2,152],"29":[2,152],"30":[2,152],"51":[2,152],"59":[2,152],"63":[2,152],"81":[2,152],"86":[2,152],"96":[2,152],"100":[2,152],"108":[2,152],"110":[2,152],"111":[2,152],"112":[2,152],"116":[2,152],"122":[2,152],"123":[2,152],"124":[2,152],"131":[2,152],"132":[2,152],"133":[2,152],"135":[2,152],"136":[2,152],"138":[2,152],"139":[2,152],"142":[2,152],"143":[2,152],"144":[2,152],"145":[2,152],"146":[2,152],"147":[2,152],"148":[2,152],"149":[2,152],"150":[2,152],"151":[2,152],"152":[2,152],"153":[2,152],"154":[2,152],"155":[2,152],"156":[2,152],"157":[2,152],"158":[2,152],"159":[2,152],"160":[2,152],"161":[2,152],"162":[2,152],"163":[2,152],"164":[2,152],"165":[2,152],"166":[2,152],"167":[2,152],"168":[2,152]},{"63":[1,250]},{"1":[2,56],"4":[2,56],"29":[2,56],"30":[2,56],"51":[2,56],"59":[2,56],"63":[2,56],"81":[2,56],"86":[2,56],"96":[2,56],"100":[2,56],"108":[2,56],"110":[2,56],"111":[2,56],"112":[2,56],"116":[2,56],"122":[2,56],"123":[2,56],"124":[2,56],"131":[2,56],"132":[2,56],"133":[2,56],"135":[2,56],"136":[2,56],"138":[2,56],"139":[2,56],"142":[2,56],"143":[2,56],"144":[2,56],"145":[2,56],"146":[2,56],"147":[2,56],"148":[2,56],"149":[2,56],"150":[2,56],"151":[2,56],"152":[2,56],"153":[2,56],"154":[2,56],"155":[2,56],"156":[2,56],"157":[2,56],"158":[2,56],"159":[2,56],"160":[2,56],"161":[2,56],"162":[2,56],"163":[2,56],"164":[2,56],"165":[2,56],"166":[2,56],"167":[2,56],"168":[2,56]},{"8":251,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":252,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,146],"4":[2,146],"29":[2,146],"30":[2,146],"51":[2,146],"59":[2,146],"63":[2,146],"81":[2,146],"86":[2,146],"96":[2,146],"100":[2,146],"108":[2,146],"110":[2,146],"111":[2,146],"112":[2,146],"116":[2,146],"122":[2,146],"123":[2,146],"124":[2,146],"131":[2,146],"132":[2,146],"133":[2,146],"135":[2,146],"136":[2,146],"138":[2,146],"139":[2,146],"142":[2,146],"143":[2,146],"144":[2,146],"145":[2,146],"146":[2,146],"147":[2,146],"148":[2,146],"149":[2,146],"150":[2,146],"151":[2,146],"152":[2,146],"153":[2,146],"154":[2,146],"155":[2,146],"156":[2,146],"157":[2,146],"158":[2,146],"159":[2,146],"160":[2,146],"161":[2,146],"162":[2,146],"163":[2,146],"164":[2,146],"165":[2,146],"166":[2,146],"167":[2,146],"168":[2,146]},{"1":[2,151],"4":[2,151],"29":[2,151],"30":[2,151],"51":[2,151],"59":[2,151],"63":[2,151],"81":[2,151],"86":[2,151],"96":[2,151],"100":[2,151],"108":[2,151],"110":[2,151],"111":[2,151],"112":[2,151],"116":[2,151],"122":[2,151],"123":[2,151],"124":[2,151],"131":[2,151],"132":[2,151],"133":[2,151],"135":[2,151],"136":[2,151],"138":[2,151],"139":[2,151],"142":[2,151],"143":[2,151],"144":[2,151],"145":[2,151],"146":[2,151],"147":[2,151],"148":[2,151],"149":[2,151],"150":[2,151],"151":[2,151],"152":[2,151],"153":[2,151],"154":[2,151],"155":[2,151],"156":[2,151],"157":[2,151],"158":[2,151],"159":[2,151],"160":[2,151],"161":[2,151],"162":[2,151],"163":[2,151],"164":[2,151],"165":[2,151],"166":[2,151],"167":[2,151],"168":[2,151]},{"1":[2,115],"4":[2,115],"29":[2,115],"30":[2,115],"51":[2,115],"59":[2,115],"63":[2,115],"74":[2,115],"75":[2,115],"76":[2,115],"77":[2,115],"80":[2,115],"81":[2,115],"82":[2,115],"83":[2,115],"86":[2,115],"94":[2,115],"96":[2,115],"100":[2,115],"108":[2,115],"110":[2,115],"111":[2,115],"112":[2,115],"116":[2,115],"122":[2,115],"123":[2,115],"124":[2,115],"131":[2,115],"132":[2,115],"133":[2,115],"135":[2,115],"136":[2,115],"138":[2,115],"139":[2,115],"142":[2,115],"143":[2,115],"144":[2,115],"145":[2,115],"146":[2,115],"147":[2,115],"148":[2,115],"149":[2,115],"150":[2,115],"151":[2,115],"152":[2,115],"153":[2,115],"154":[2,115],"155":[2,115],"156":[2,115],"157":[2,115],"158":[2,115],"159":[2,115],"160":[2,115],"161":[2,115],"162":[2,115],"163":[2,115],"164":[2,115],"165":[2,115],"166":[2,115],"167":[2,115],"168":[2,115]},{"1":[2,72],"4":[2,72],"29":[2,72],"30":[2,72],"46":[2,72],"51":[2,72],"59":[2,72],"63":[2,72],"74":[2,72],"75":[2,72],"76":[2,72],"77":[2,72],"80":[2,72],"81":[2,72],"82":[2,72],"83":[2,72],"86":[2,72],"88":[2,72],"94":[2,72],"96":[2,72],"100":[2,72],"108":[2,72],"110":[2,72],"111":[2,72],"112":[2,72],"116":[2,72],"122":[2,72],"123":[2,72],"124":[2,72],"131":[2,72],"132":[2,72],"133":[2,72],"135":[2,72],"136":[2,72],"138":[2,72],"139":[2,72],"142":[2,72],"143":[2,72],"144":[2,72],"145":[2,72],"146":[2,72],"147":[2,72],"148":[2,72],"149":[2,72],"150":[2,72],"151":[2,72],"152":[2,72],"153":[2,72],"154":[2,72],"155":[2,72],"156":[2,72],"157":[2,72],"158":[2,72],"159":[2,72],"160":[2,72],"161":[2,72],"162":[2,72],"163":[2,72],"164":[2,72],"165":[2,72],"166":[2,72],"167":[2,72],"168":[2,72]},{"4":[2,128],"8":254,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":253,"96":[2,128],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"31":255,"32":[1,89]},{"31":256,"32":[1,89]},{"1":[2,86],"4":[2,86],"29":[2,86],"30":[2,86],"46":[2,86],"51":[2,86],"59":[2,86],"63":[2,86],"74":[2,86],"75":[2,86],"76":[2,86],"77":[2,86],"80":[2,86],"81":[2,86],"82":[2,86],"83":[2,86],"86":[2,86],"88":[2,86],"94":[2,86],"96":[2,86],"100":[2,86],"108":[2,86],"110":[2,86],"111":[2,86],"112":[2,86],"116":[2,86],"122":[2,86],"123":[2,86],"124":[2,86],"131":[2,86],"132":[2,86],"133":[2,86],"135":[2,86],"136":[2,86],"138":[2,86],"139":[2,86],"142":[2,86],"143":[2,86],"144":[2,86],"145":[2,86],"146":[2,86],"147":[2,86],"148":[2,86],"149":[2,86],"150":[2,86],"151":[2,86],"152":[2,86],"153":[2,86],"154":[2,86],"155":[2,86],"156":[2,86],"157":[2,86],"158":[2,86],"159":[2,86],"160":[2,86],"161":[2,86],"162":[2,86],"163":[2,86],"164":[2,86],"165":[2,86],"166":[2,86],"167":[2,86],"168":[2,86]},{"31":257,"32":[1,89]},{"1":[2,88],"4":[2,88],"29":[2,88],"30":[2,88],"46":[2,88],"51":[2,88],"59":[2,88],"63":[2,88],"74":[2,88],"75":[2,88],"76":[2,88],"77":[2,88],"80":[2,88],"81":[2,88],"82":[2,88],"83":[2,88],"86":[2,88],"88":[2,88],"94":[2,88],"96":[2,88],"100":[2,88],"108":[2,88],"110":[2,88],"111":[2,88],"112":[2,88],"116":[2,88],"122":[2,88],"123":[2,88],"124":[2,88],"131":[2,88],"132":[2,88],"133":[2,88],"135":[2,88],"136":[2,88],"138":[2,88],"139":[2,88],"142":[2,88],"143":[2,88],"144":[2,88],"145":[2,88],"146":[2,88],"147":[2,88],"148":[2,88],"149":[2,88],"150":[2,88],"151":[2,88],"152":[2,88],"153":[2,88],"154":[2,88],"155":[2,88],"156":[2,88],"157":[2,88],"158":[2,88],"159":[2,88],"160":[2,88],"161":[2,88],"162":[2,88],"163":[2,88],"164":[2,88],"165":[2,88],"166":[2,88],"167":[2,88],"168":[2,88]},{"1":[2,89],"4":[2,89],"29":[2,89],"30":[2,89],"46":[2,89],"51":[2,89],"59":[2,89],"63":[2,89],"74":[2,89],"75":[2,89],"76":[2,89],"77":[2,89],"80":[2,89],"81":[2,89],"82":[2,89],"83":[2,89],"86":[2,89],"88":[2,89],"94":[2,89],"96":[2,89],"100":[2,89],"108":[2,89],"110":[2,89],"111":[2,89],"112":[2,89],"116":[2,89],"122":[2,89],"123":[2,89],"124":[2,89],"131":[2,89],"132":[2,89],"133":[2,89],"135":[2,89],"136":[2,89],"138":[2,89],"139":[2,89],"142":[2,89],"143":[2,89],"144":[2,89],"145":[2,89],"146":[2,89],"147":[2,89],"148":[2,89],"149":[2,89],"150":[2,89],"151":[2,89],"152":[2,89],"153":[2,89],"154":[2,89],"155":[2,89],"156":[2,89],"157":[2,89],"158":[2,89],"159":[2,89],"160":[2,89],"161":[2,89],"162":[2,89],"163":[2,89],"164":[2,89],"165":[2,89],"166":[2,89],"167":[2,89],"168":[2,89]},{"8":258,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"78":259,"80":[1,260],"82":[1,149],"83":[1,150]},{"78":261,"80":[1,260],"82":[1,149],"83":[1,150]},{"8":262,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,263],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,116],"4":[2,116],"29":[2,116],"30":[2,116],"51":[2,116],"59":[2,116],"63":[2,116],"74":[2,116],"75":[2,116],"76":[2,116],"77":[2,116],"80":[2,116],"81":[2,116],"82":[2,116],"83":[2,116],"86":[2,116],"94":[2,116],"96":[2,116],"100":[2,116],"108":[2,116],"110":[2,116],"111":[2,116],"112":[2,116],"116":[2,116],"122":[2,116],"123":[2,116],"124":[2,116],"131":[2,116],"132":[2,116],"133":[2,116],"135":[2,116],"136":[2,116],"138":[2,116],"139":[2,116],"142":[2,116],"143":[2,116],"144":[2,116],"145":[2,116],"146":[2,116],"147":[2,116],"148":[2,116],"149":[2,116],"150":[2,116],"151":[2,116],"152":[2,116],"153":[2,116],"154":[2,116],"155":[2,116],"156":[2,116],"157":[2,116],"158":[2,116],"159":[2,116],"160":[2,116],"161":[2,116],"162":[2,116],"163":[2,116],"164":[2,116],"165":[2,116],"166":[2,116],"167":[2,116],"168":[2,116]},{"1":[2,73],"4":[2,73],"29":[2,73],"30":[2,73],"46":[2,73],"51":[2,73],"59":[2,73],"63":[2,73],"74":[2,73],"75":[2,73],"76":[2,73],"77":[2,73],"80":[2,73],"81":[2,73],"82":[2,73],"83":[2,73],"86":[2,73],"88":[2,73],"94":[2,73],"96":[2,73],"100":[2,73],"108":[2,73],"110":[2,73],"111":[2,73],"112":[2,73],"116":[2,73],"122":[2,73],"123":[2,73],"124":[2,73],"131":[2,73],"132":[2,73],"133":[2,73],"135":[2,73],"136":[2,73],"138":[2,73],"139":[2,73],"142":[2,73],"143":[2,73],"144":[2,73],"145":[2,73],"146":[2,73],"147":[2,73],"148":[2,73],"149":[2,73],"150":[2,73],"151":[2,73],"152":[2,73],"153":[2,73],"154":[2,73],"155":[2,73],"156":[2,73],"157":[2,73],"158":[2,73],"159":[2,73],"160":[2,73],"161":[2,73],"162":[2,73],"163":[2,73],"164":[2,73],"165":[2,73],"166":[2,73],"167":[2,73],"168":[2,73]},{"1":[2,112],"4":[2,112],"29":[2,112],"30":[2,112],"51":[2,112],"59":[2,112],"63":[2,112],"65":153,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,112],"82":[1,149],"83":[1,150],"86":[2,112],"93":152,"94":[1,141],"96":[2,112],"100":[2,112],"108":[2,112],"110":[2,112],"111":[2,112],"112":[2,112],"116":[2,112],"122":[2,112],"123":[2,112],"124":[2,112],"131":[2,112],"132":[2,112],"133":[2,112],"135":[2,112],"136":[2,112],"138":[2,112],"139":[2,112],"142":[2,112],"143":[2,112],"144":[2,112],"145":[2,112],"146":[2,112],"147":[2,112],"148":[2,112],"149":[2,112],"150":[2,112],"151":[2,112],"152":[2,112],"153":[2,112],"154":[2,112],"155":[2,112],"156":[2,112],"157":[2,112],"158":[2,112],"159":[2,112],"160":[2,112],"161":[2,112],"162":[2,112],"163":[2,112],"164":[2,112],"165":[2,112],"166":[2,112],"167":[2,112],"168":[2,112]},{"1":[2,113],"4":[2,113],"29":[2,113],"30":[2,113],"51":[2,113],"59":[2,113],"63":[2,113],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,113],"82":[1,149],"83":[1,150],"86":[2,113],"93":139,"94":[1,141],"96":[2,113],"100":[2,113],"108":[2,113],"110":[2,113],"111":[2,113],"112":[2,113],"116":[2,113],"122":[2,113],"123":[2,113],"124":[2,113],"131":[2,113],"132":[2,113],"133":[2,113],"135":[2,113],"136":[2,113],"138":[2,113],"139":[2,113],"142":[2,113],"143":[2,113],"144":[2,113],"145":[2,113],"146":[2,113],"147":[2,113],"148":[2,113],"149":[2,113],"150":[2,113],"151":[2,113],"152":[2,113],"153":[2,113],"154":[2,113],"155":[2,113],"156":[2,113],"157":[2,113],"158":[2,113],"159":[2,113],"160":[2,113],"161":[2,113],"162":[2,113],"163":[2,113],"164":[2,113],"165":[2,113],"166":[2,113],"167":[2,113],"168":[2,113]},{"1":[2,78],"4":[2,78],"29":[2,78],"30":[2,78],"51":[2,78],"59":[2,78],"63":[2,78],"74":[2,78],"75":[2,78],"76":[2,78],"77":[2,78],"80":[2,78],"81":[2,78],"82":[2,78],"83":[2,78],"86":[2,78],"94":[2,78],"96":[2,78],"100":[2,78],"108":[2,78],"110":[2,78],"111":[2,78],"112":[2,78],"116":[2,78],"122":[2,78],"123":[2,78],"124":[2,78],"131":[2,78],"132":[2,78],"133":[2,78],"135":[2,78],"136":[2,78],"138":[2,78],"139":[2,78],"142":[2,78],"143":[2,78],"144":[2,78],"145":[2,78],"146":[2,78],"147":[2,78],"148":[2,78],"149":[2,78],"150":[2,78],"151":[2,78],"152":[2,78],"153":[2,78],"154":[2,78],"155":[2,78],"156":[2,78],"157":[2,78],"158":[2,78],"159":[2,78],"160":[2,78],"161":[2,78],"162":[2,78],"163":[2,78],"164":[2,78],"165":[2,78],"166":[2,78],"167":[2,78],"168":[2,78]},{"1":[2,75],"4":[2,75],"29":[2,75],"30":[2,75],"51":[2,75],"59":[2,75],"63":[2,75],"74":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"80":[2,75],"81":[2,75],"82":[2,75],"83":[2,75],"86":[2,75],"94":[2,75],"96":[2,75],"100":[2,75],"108":[2,75],"110":[2,75],"111":[2,75],"112":[2,75],"116":[2,75],"122":[2,75],"123":[2,75],"124":[2,75],"131":[2,75],"132":[2,75],"133":[2,75],"135":[2,75],"136":[2,75],"138":[2,75],"139":[2,75],"142":[2,75],"143":[2,75],"144":[2,75],"145":[2,75],"146":[2,75],"147":[2,75],"148":[2,75],"149":[2,75],"150":[2,75],"151":[2,75],"152":[2,75],"153":[2,75],"154":[2,75],"155":[2,75],"156":[2,75],"157":[2,75],"158":[2,75],"159":[2,75],"160":[2,75],"161":[2,75],"162":[2,75],"163":[2,75],"164":[2,75],"165":[2,75],"166":[2,75],"167":[2,75],"168":[2,75]},{"54":[1,264],"59":[1,265]},{"54":[2,64],"59":[2,64]},{"54":[2,66],"59":[2,66],"63":[1,266]},{"61":[1,267]},{"1":[2,58],"4":[2,58],"29":[2,58],"30":[2,58],"51":[2,58],"59":[2,58],"63":[2,58],"81":[2,58],"86":[2,58],"96":[2,58],"100":[2,58],"108":[2,58],"110":[2,58],"111":[2,58],"112":[2,58],"116":[2,58],"122":[2,58],"123":[2,58],"124":[2,58],"131":[2,58],"132":[2,58],"133":[2,58],"135":[2,58],"136":[2,58],"138":[2,58],"139":[2,58],"142":[2,58],"143":[2,58],"144":[2,58],"145":[2,58],"146":[2,58],"147":[2,58],"148":[2,58],"149":[2,58],"150":[2,58],"151":[2,58],"152":[2,58],"153":[2,58],"154":[2,58],"155":[2,58],"156":[2,58],"157":[2,58],"158":[2,58],"159":[2,58],"160":[2,58],"161":[2,58],"162":[2,58],"163":[2,58],"164":[2,58],"165":[2,58],"166":[2,58],"167":[2,58],"168":[2,58]},{"28":90,"50":[1,56]},{"1":[2,187],"4":[2,187],"29":[2,187],"30":[2,187],"51":[1,134],"59":[2,187],"63":[2,187],"81":[2,187],"86":[2,187],"96":[2,187],"100":[2,187],"108":[2,187],"109":131,"110":[2,187],"111":[2,187],"112":[2,187],"115":132,"116":[2,187],"117":83,"122":[2,187],"123":[2,187],"124":[2,187],"131":[2,187],"132":[2,187],"135":[2,187],"136":[2,187],"142":[2,187],"143":[2,187],"144":[2,187],"145":[2,187],"146":[2,187],"147":[2,187],"148":[2,187],"149":[2,187],"150":[2,187],"151":[2,187],"152":[2,187],"153":[2,187],"154":[2,187],"155":[2,187],"156":[2,187],"157":[2,187],"158":[2,187],"159":[2,187],"160":[2,187],"161":[2,187],"162":[2,187],"163":[2,187],"164":[2,187],"165":[2,187],"166":[2,187],"167":[2,187],"168":[2,187]},{"109":137,"110":[1,79],"112":[1,80],"115":138,"116":[1,82],"117":83,"131":[1,135],"132":[1,136]},{"1":[2,188],"4":[2,188],"29":[2,188],"30":[2,188],"51":[1,134],"59":[2,188],"63":[2,188],"81":[2,188],"86":[2,188],"96":[2,188],"100":[2,188],"108":[2,188],"109":131,"110":[2,188],"111":[2,188],"112":[2,188],"115":132,"116":[2,188],"117":83,"122":[2,188],"123":[2,188],"124":[2,188],"131":[2,188],"132":[2,188],"135":[2,188],"136":[2,188],"142":[2,188],"143":[2,188],"144":[2,188],"145":[2,188],"146":[2,188],"147":[2,188],"148":[2,188],"149":[2,188],"150":[2,188],"151":[2,188],"152":[2,188],"153":[2,188],"154":[2,188],"155":[2,188],"156":[2,188],"157":[2,188],"158":[2,188],"159":[2,188],"160":[2,188],"161":[2,188],"162":[2,188],"163":[2,188],"164":[2,188],"165":[2,188],"166":[2,188],"167":[2,188],"168":[2,188]},{"1":[2,189],"4":[2,189],"29":[2,189],"30":[2,189],"51":[1,134],"59":[2,189],"63":[2,189],"81":[2,189],"86":[2,189],"96":[2,189],"100":[2,189],"108":[2,189],"109":131,"110":[2,189],"111":[2,189],"112":[2,189],"115":132,"116":[2,189],"117":83,"122":[2,189],"123":[2,189],"124":[2,189],"131":[2,189],"132":[2,189],"135":[2,189],"136":[2,189],"142":[2,189],"143":[2,189],"144":[2,189],"145":[2,189],"146":[2,189],"147":[2,189],"148":[2,189],"149":[2,189],"150":[2,189],"151":[2,189],"152":[2,189],"153":[2,189],"154":[2,189],"155":[2,189],"156":[2,189],"157":[2,189],"158":[2,189],"159":[2,189],"160":[2,189],"161":[2,189],"162":[2,189],"163":[2,189],"164":[2,189],"165":[2,189],"166":[2,189],"167":[2,189],"168":[2,189]},{"1":[2,190],"4":[2,190],"29":[2,190],"30":[2,190],"51":[1,134],"59":[2,190],"63":[2,190],"81":[2,190],"86":[2,190],"96":[2,190],"100":[2,190],"108":[2,190],"109":131,"110":[2,190],"111":[2,190],"112":[2,190],"115":132,"116":[2,190],"117":83,"122":[2,190],"123":[2,190],"124":[2,190],"131":[2,190],"132":[2,190],"135":[2,190],"136":[2,190],"142":[2,190],"143":[2,190],"144":[2,190],"145":[2,190],"146":[2,190],"147":[2,190],"148":[2,190],"149":[2,190],"150":[2,190],"151":[2,190],"152":[2,190],"153":[2,190],"154":[2,190],"155":[2,190],"156":[2,190],"157":[2,190],"158":[2,190],"159":[2,190],"160":[2,190],"161":[2,190],"162":[2,190],"163":[2,190],"164":[2,190],"165":[2,190],"166":[2,190],"167":[2,190],"168":[2,190]},{"1":[2,191],"4":[2,191],"29":[2,191],"30":[2,191],"51":[1,134],"59":[2,191],"63":[2,191],"81":[2,191],"86":[2,191],"96":[2,191],"100":[2,191],"108":[2,191],"109":131,"110":[2,191],"111":[2,191],"112":[2,191],"115":132,"116":[2,191],"117":83,"122":[2,191],"123":[2,191],"124":[2,191],"131":[2,191],"132":[2,191],"135":[2,191],"136":[2,191],"142":[2,191],"143":[2,191],"144":[2,191],"145":[2,191],"146":[2,191],"147":[2,191],"148":[2,191],"149":[2,191],"150":[2,191],"151":[2,191],"152":[2,191],"153":[2,191],"154":[2,191],"155":[2,191],"156":[2,191],"157":[2,191],"158":[2,191],"159":[2,191],"160":[2,191],"161":[2,191],"162":[2,191],"163":[2,191],"164":[2,191],"165":[2,191],"166":[2,191],"167":[2,191],"168":[2,191]},{"1":[2,192],"4":[2,192],"29":[2,192],"30":[2,192],"51":[1,134],"59":[2,192],"63":[2,192],"81":[2,192],"86":[2,192],"96":[2,192],"100":[2,192],"108":[2,192],"109":131,"110":[2,192],"111":[2,192],"112":[2,192],"115":132,"116":[2,192],"117":83,"122":[2,192],"123":[2,192],"124":[2,192],"131":[2,192],"132":[2,192],"135":[2,192],"136":[2,192],"142":[2,192],"143":[2,192],"144":[2,192],"145":[2,192],"146":[2,192],"147":[2,192],"148":[2,192],"149":[2,192],"150":[2,192],"151":[2,192],"152":[2,192],"153":[2,192],"154":[2,192],"155":[2,192],"156":[2,192],"157":[2,192],"158":[2,192],"159":[2,192],"160":[2,192],"161":[2,192],"162":[2,192],"163":[2,192],"164":[2,192],"165":[2,192],"166":[2,192],"167":[2,192],"168":[2,192]},{"1":[2,193],"4":[2,193],"29":[2,193],"30":[2,193],"51":[1,134],"59":[2,193],"63":[2,193],"81":[2,193],"86":[2,193],"96":[2,193],"100":[2,193],"108":[2,193],"109":131,"110":[2,193],"111":[2,193],"112":[2,193],"115":132,"116":[2,193],"117":83,"122":[2,193],"123":[2,193],"124":[2,193],"131":[2,193],"132":[2,193],"135":[2,193],"136":[2,193],"142":[2,193],"143":[2,193],"144":[2,193],"145":[2,193],"146":[2,193],"147":[2,193],"148":[2,193],"149":[2,193],"150":[2,193],"151":[2,193],"152":[2,193],"153":[2,193],"154":[2,193],"155":[2,193],"156":[2,193],"157":[2,193],"158":[2,193],"159":[2,193],"160":[2,193],"161":[2,193],"162":[2,193],"163":[2,193],"164":[2,193],"165":[2,193],"166":[2,193],"167":[2,193],"168":[2,193]},{"1":[2,194],"4":[2,194],"29":[2,194],"30":[2,194],"51":[1,134],"59":[2,194],"63":[2,194],"81":[2,194],"86":[2,194],"96":[2,194],"100":[2,194],"108":[2,194],"109":131,"110":[2,194],"111":[2,194],"112":[2,194],"115":132,"116":[2,194],"117":83,"122":[2,194],"123":[2,194],"124":[2,194],"131":[2,194],"132":[2,194],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,194],"156":[2,194],"157":[2,194],"158":[2,194],"159":[2,194],"160":[2,194],"161":[2,194],"162":[2,194],"163":[2,194],"164":[2,194],"165":[2,194],"166":[2,194],"167":[2,194],"168":[1,125]},{"1":[2,195],"4":[2,195],"29":[2,195],"30":[2,195],"51":[1,134],"59":[2,195],"63":[2,195],"81":[2,195],"86":[2,195],"96":[2,195],"100":[2,195],"108":[2,195],"109":131,"110":[2,195],"111":[2,195],"112":[2,195],"115":132,"116":[2,195],"117":83,"122":[2,195],"123":[2,195],"124":[2,195],"131":[2,195],"132":[2,195],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,195],"156":[2,195],"157":[2,195],"158":[2,195],"159":[2,195],"160":[2,195],"161":[2,195],"162":[2,195],"163":[2,195],"164":[2,195],"165":[2,195],"166":[2,195],"167":[2,195],"168":[1,125]},{"4":[1,163],"6":269,"29":[1,6],"131":[1,268]},{"103":270,"104":[1,271],"105":[1,272]},{"1":[2,145],"4":[2,145],"29":[2,145],"30":[2,145],"51":[2,145],"59":[2,145],"63":[2,145],"81":[2,145],"86":[2,145],"96":[2,145],"100":[2,145],"108":[2,145],"110":[2,145],"111":[2,145],"112":[2,145],"116":[2,145],"122":[2,145],"123":[2,145],"124":[2,145],"131":[2,145],"132":[2,145],"133":[2,145],"135":[2,145],"136":[2,145],"138":[2,145],"139":[2,145],"142":[2,145],"143":[2,145],"144":[2,145],"145":[2,145],"146":[2,145],"147":[2,145],"148":[2,145],"149":[2,145],"150":[2,145],"151":[2,145],"152":[2,145],"153":[2,145],"154":[2,145],"155":[2,145],"156":[2,145],"157":[2,145],"158":[2,145],"159":[2,145],"160":[2,145],"161":[2,145],"162":[2,145],"163":[2,145],"164":[2,145],"165":[2,145],"166":[2,145],"167":[2,145],"168":[2,145]},{"1":[2,153],"4":[2,153],"29":[2,153],"30":[2,153],"51":[2,153],"59":[2,153],"63":[2,153],"81":[2,153],"86":[2,153],"96":[2,153],"100":[2,153],"108":[2,153],"110":[2,153],"111":[2,153],"112":[2,153],"116":[2,153],"122":[2,153],"123":[2,153],"124":[2,153],"131":[2,153],"132":[2,153],"133":[2,153],"135":[2,153],"136":[2,153],"138":[2,153],"139":[2,153],"142":[2,153],"143":[2,153],"144":[2,153],"145":[2,153],"146":[2,153],"147":[2,153],"148":[2,153],"149":[2,153],"150":[2,153],"151":[2,153],"152":[2,153],"153":[2,153],"154":[2,153],"155":[2,153],"156":[2,153],"157":[2,153],"158":[2,153],"159":[2,153],"160":[2,153],"161":[2,153],"162":[2,153],"163":[2,153],"164":[2,153],"165":[2,153],"166":[2,153],"167":[2,153],"168":[2,153]},{"29":[1,273],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"126":274,"128":275,"129":[1,276]},{"14":277,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":157,"66":184,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"1":[2,99],"4":[2,99],"29":[1,279],"30":[2,99],"51":[2,99],"59":[2,99],"63":[2,99],"74":[2,75],"75":[2,75],"76":[2,75],"77":[2,75],"80":[2,75],"81":[2,99],"82":[2,75],"83":[2,75],"86":[2,99],"88":[1,278],"94":[2,75],"96":[2,99],"100":[2,99],"108":[2,99],"110":[2,99],"111":[2,99],"112":[2,99],"116":[2,99],"122":[2,99],"123":[2,99],"124":[2,99],"131":[2,99],"132":[2,99],"133":[2,99],"135":[2,99],"136":[2,99],"138":[2,99],"139":[2,99],"142":[2,99],"143":[2,99],"144":[2,99],"145":[2,99],"146":[2,99],"147":[2,99],"148":[2,99],"149":[2,99],"150":[2,99],"151":[2,99],"152":[2,99],"153":[2,99],"154":[2,99],"155":[2,99],"156":[2,99],"157":[2,99],"158":[2,99],"159":[2,99],"160":[2,99],"161":[2,99],"162":[2,99],"163":[2,99],"164":[2,99],"165":[2,99],"166":[2,99],"167":[2,99],"168":[2,99]},{"4":[2,106],"28":212,"30":[2,106],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"89":280,"90":281},{"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"82":[1,149],"83":[1,150],"93":139,"94":[1,141]},{"65":153,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"82":[1,149],"83":[1,150],"93":152,"94":[1,141]},{"1":[2,53],"4":[2,53],"30":[2,53],"51":[1,134],"63":[1,133],"108":[2,53],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[2,53],"132":[2,53],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,139],"4":[2,139],"30":[2,139],"51":[1,134],"63":[1,133],"108":[2,139],"109":131,"110":[2,139],"112":[2,139],"115":132,"116":[2,139],"117":83,"122":[1,126],"123":[1,127],"131":[2,139],"132":[2,139],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"108":[1,286]},{"4":[2,129],"29":[2,129],"51":[1,134],"59":[2,129],"63":[1,287],"100":[2,129],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,61],"29":[2,61],"58":288,"59":[1,289],"100":[2,61]},{"1":[2,122],"4":[2,122],"29":[2,122],"30":[2,122],"46":[2,122],"48":[2,122],"51":[2,122],"59":[2,122],"63":[2,122],"74":[2,122],"75":[2,122],"76":[2,122],"77":[2,122],"80":[2,122],"81":[2,122],"82":[2,122],"83":[2,122],"86":[2,122],"88":[2,122],"94":[2,122],"96":[2,122],"100":[2,122],"108":[2,122],"110":[2,122],"111":[2,122],"112":[2,122],"116":[2,122],"122":[2,122],"123":[2,122],"124":[2,122],"131":[2,122],"132":[2,122],"133":[2,122],"135":[2,122],"136":[2,122],"138":[2,122],"139":[2,122],"142":[2,122],"143":[2,122],"144":[2,122],"145":[2,122],"146":[2,122],"147":[2,122],"148":[2,122],"149":[2,122],"150":[2,122],"151":[2,122],"152":[2,122],"153":[2,122],"154":[2,122],"155":[2,122],"156":[2,122],"157":[2,122],"158":[2,122],"159":[2,122],"160":[2,122],"161":[2,122],"162":[2,122],"163":[2,122],"164":[2,122],"165":[2,122],"166":[2,122],"167":[2,122],"168":[2,122]},{"1":[2,119],"4":[2,119],"29":[2,119],"30":[2,119],"51":[2,119],"59":[2,119],"63":[2,119],"81":[2,119],"86":[2,119],"96":[2,119],"100":[2,119],"108":[2,119],"110":[2,119],"111":[2,119],"112":[2,119],"116":[2,119],"122":[2,119],"123":[2,119],"124":[2,119],"131":[2,119],"132":[2,119],"133":[2,119],"135":[2,119],"136":[2,119],"138":[2,119],"139":[2,119],"142":[2,119],"143":[2,119],"144":[2,119],"145":[2,119],"146":[2,119],"147":[2,119],"148":[2,119],"149":[2,119],"150":[2,119],"151":[2,119],"152":[2,119],"153":[2,119],"154":[2,119],"155":[2,119],"156":[2,119],"157":[2,119],"158":[2,119],"159":[2,119],"160":[2,119],"161":[2,119],"162":[2,119],"163":[2,119],"164":[2,119],"165":[2,119],"166":[2,119],"167":[2,119],"168":[2,119]},{"4":[1,163],"6":290,"29":[1,6],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,163],"6":291,"29":[1,6],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,141],"4":[2,141],"29":[2,141],"30":[2,141],"51":[1,134],"59":[2,141],"63":[1,133],"81":[2,141],"86":[2,141],"96":[2,141],"100":[2,141],"108":[2,141],"109":131,"110":[1,79],"111":[1,292],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,141],"131":[2,141],"132":[2,141],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,143],"4":[2,143],"29":[2,143],"30":[2,143],"51":[1,134],"59":[2,143],"63":[1,133],"81":[2,143],"86":[2,143],"96":[2,143],"100":[2,143],"108":[2,143],"109":131,"110":[1,79],"111":[1,293],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,143],"131":[2,143],"132":[2,143],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,149],"4":[2,149],"29":[2,149],"30":[2,149],"51":[2,149],"59":[2,149],"63":[2,149],"81":[2,149],"86":[2,149],"96":[2,149],"100":[2,149],"108":[2,149],"110":[2,149],"111":[2,149],"112":[2,149],"116":[2,149],"122":[2,149],"123":[2,149],"124":[2,149],"131":[2,149],"132":[2,149],"133":[2,149],"135":[2,149],"136":[2,149],"138":[2,149],"139":[2,149],"142":[2,149],"143":[2,149],"144":[2,149],"145":[2,149],"146":[2,149],"147":[2,149],"148":[2,149],"149":[2,149],"150":[2,149],"151":[2,149],"152":[2,149],"153":[2,149],"154":[2,149],"155":[2,149],"156":[2,149],"157":[2,149],"158":[2,149],"159":[2,149],"160":[2,149],"161":[2,149],"162":[2,149],"163":[2,149],"164":[2,149],"165":[2,149],"166":[2,149],"167":[2,149],"168":[2,149]},{"1":[2,150],"4":[2,150],"29":[2,150],"30":[2,150],"51":[1,134],"59":[2,150],"63":[1,133],"81":[2,150],"86":[2,150],"96":[2,150],"100":[2,150],"108":[2,150],"109":131,"110":[1,79],"111":[2,150],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,150],"131":[2,150],"132":[2,150],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,154],"4":[2,154],"29":[2,154],"30":[2,154],"51":[2,154],"59":[2,154],"63":[2,154],"81":[2,154],"86":[2,154],"96":[2,154],"100":[2,154],"108":[2,154],"110":[2,154],"111":[2,154],"112":[2,154],"116":[2,154],"122":[2,154],"123":[2,154],"124":[2,154],"131":[2,154],"132":[2,154],"133":[2,154],"135":[2,154],"136":[2,154],"138":[2,154],"139":[2,154],"142":[2,154],"143":[2,154],"144":[2,154],"145":[2,154],"146":[2,154],"147":[2,154],"148":[2,154],"149":[2,154],"150":[2,154],"151":[2,154],"152":[2,154],"153":[2,154],"154":[2,154],"155":[2,154],"156":[2,154],"157":[2,154],"158":[2,154],"159":[2,154],"160":[2,154],"161":[2,154],"162":[2,154],"163":[2,154],"164":[2,154],"165":[2,154],"166":[2,154],"167":[2,154],"168":[2,154]},{"122":[2,156],"123":[2,156]},{"31":202,"32":[1,89],"68":203,"69":204,"84":[1,86],"99":[1,295],"119":294,"121":201},{"59":[1,296],"122":[2,161],"123":[2,161]},{"59":[2,158],"122":[2,158],"123":[2,158]},{"59":[2,159],"122":[2,159],"123":[2,159]},{"59":[2,160],"122":[2,160],"123":[2,160]},{"1":[2,155],"4":[2,155],"29":[2,155],"30":[2,155],"51":[2,155],"59":[2,155],"63":[2,155],"81":[2,155],"86":[2,155],"96":[2,155],"100":[2,155],"108":[2,155],"110":[2,155],"111":[2,155],"112":[2,155],"116":[2,155],"122":[2,155],"123":[2,155],"124":[2,155],"131":[2,155],"132":[2,155],"133":[2,155],"135":[2,155],"136":[2,155],"138":[2,155],"139":[2,155],"142":[2,155],"143":[2,155],"144":[2,155],"145":[2,155],"146":[2,155],"147":[2,155],"148":[2,155],"149":[2,155],"150":[2,155],"151":[2,155],"152":[2,155],"153":[2,155],"154":[2,155],"155":[2,155],"156":[2,155],"157":[2,155],"158":[2,155],"159":[2,155],"160":[2,155],"161":[2,155],"162":[2,155],"163":[2,155],"164":[2,155],"165":[2,155],"166":[2,155],"167":[2,155],"168":[2,155]},{"8":297,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":298,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,61],"29":[2,61],"58":299,"59":[1,300],"86":[2,61]},{"4":[2,95],"29":[2,95],"30":[2,95],"59":[2,95],"86":[2,95]},{"4":[2,46],"29":[2,46],"30":[2,46],"48":[1,301],"59":[2,46],"86":[2,46]},{"4":[2,47],"29":[2,47],"30":[2,47],"48":[1,302],"59":[2,47],"86":[2,47]},{"4":[2,52],"29":[2,52],"30":[2,52],"59":[2,52],"86":[2,52]},{"1":[2,6],"4":[2,6],"30":[2,6]},{"1":[2,29],"4":[2,29],"29":[2,29],"30":[2,29],"51":[2,29],"59":[2,29],"63":[2,29],"81":[2,29],"86":[2,29],"96":[2,29],"100":[2,29],"104":[2,29],"105":[2,29],"108":[2,29],"110":[2,29],"111":[2,29],"112":[2,29],"116":[2,29],"122":[2,29],"123":[2,29],"124":[2,29],"127":[2,29],"129":[2,29],"131":[2,29],"132":[2,29],"133":[2,29],"135":[2,29],"136":[2,29],"138":[2,29],"139":[2,29],"142":[2,29],"143":[2,29],"144":[2,29],"145":[2,29],"146":[2,29],"147":[2,29],"148":[2,29],"149":[2,29],"150":[2,29],"151":[2,29],"152":[2,29],"153":[2,29],"154":[2,29],"155":[2,29],"156":[2,29],"157":[2,29],"158":[2,29],"159":[2,29],"160":[2,29],"161":[2,29],"162":[2,29],"163":[2,29],"164":[2,29],"165":[2,29],"166":[2,29],"167":[2,29],"168":[2,29]},{"1":[2,198],"4":[2,198],"29":[2,198],"30":[2,198],"51":[1,134],"59":[2,198],"63":[2,198],"81":[2,198],"86":[2,198],"96":[2,198],"100":[2,198],"108":[2,198],"109":131,"110":[2,198],"111":[2,198],"112":[2,198],"115":132,"116":[2,198],"117":83,"122":[2,198],"123":[2,198],"124":[2,198],"131":[2,198],"132":[2,198],"133":[1,128],"135":[2,198],"136":[2,198],"138":[1,95],"139":[1,96],"142":[2,198],"143":[2,198],"144":[2,198],"145":[2,198],"146":[2,198],"147":[2,198],"148":[2,198],"149":[2,198],"150":[2,198],"151":[2,198],"152":[2,198],"153":[2,198],"154":[2,198],"155":[2,198],"156":[2,198],"157":[2,198],"158":[2,198],"159":[2,198],"160":[2,198],"161":[2,198],"162":[2,198],"163":[2,198],"164":[2,198],"165":[2,198],"166":[2,198],"167":[2,198],"168":[2,198]},{"1":[2,199],"4":[2,199],"29":[2,199],"30":[2,199],"51":[1,134],"59":[2,199],"63":[2,199],"81":[2,199],"86":[2,199],"96":[2,199],"100":[2,199],"108":[2,199],"109":131,"110":[2,199],"111":[2,199],"112":[2,199],"115":132,"116":[2,199],"117":83,"122":[2,199],"123":[2,199],"124":[2,199],"131":[2,199],"132":[2,199],"133":[1,128],"135":[2,199],"136":[2,199],"138":[1,95],"139":[1,96],"142":[2,199],"143":[2,199],"144":[2,199],"145":[2,199],"146":[2,199],"147":[2,199],"148":[2,199],"149":[2,199],"150":[2,199],"151":[2,199],"152":[2,199],"153":[2,199],"154":[2,199],"155":[2,199],"156":[2,199],"157":[2,199],"158":[2,199],"159":[2,199],"160":[2,199],"161":[2,199],"162":[2,199],"163":[2,199],"164":[2,199],"165":[2,199],"166":[2,199],"167":[2,199],"168":[2,199]},{"1":[2,200],"4":[2,200],"29":[2,200],"30":[2,200],"51":[1,134],"59":[2,200],"63":[2,200],"81":[2,200],"86":[2,200],"96":[2,200],"100":[2,200],"108":[2,200],"109":131,"110":[2,200],"111":[2,200],"112":[2,200],"115":132,"116":[2,200],"117":83,"122":[2,200],"123":[2,200],"124":[2,200],"131":[2,200],"132":[2,200],"133":[1,128],"135":[2,200],"136":[2,200],"138":[1,95],"139":[1,96],"142":[2,200],"143":[2,200],"144":[2,200],"145":[2,200],"146":[2,200],"147":[2,200],"148":[2,200],"149":[2,200],"150":[2,200],"151":[2,200],"152":[2,200],"153":[2,200],"154":[2,200],"155":[2,200],"156":[2,200],"157":[2,200],"158":[2,200],"159":[2,200],"160":[2,200],"161":[2,200],"162":[2,200],"163":[2,200],"164":[2,200],"165":[2,200],"166":[2,200],"167":[2,200],"168":[2,200]},{"1":[2,201],"4":[2,201],"29":[2,201],"30":[2,201],"51":[1,134],"59":[2,201],"63":[2,201],"81":[2,201],"86":[2,201],"96":[2,201],"100":[2,201],"108":[2,201],"109":131,"110":[2,201],"111":[2,201],"112":[2,201],"115":132,"116":[2,201],"117":83,"122":[2,201],"123":[2,201],"124":[2,201],"131":[2,201],"132":[2,201],"133":[1,128],"135":[2,201],"136":[2,201],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,201],"146":[2,201],"147":[2,201],"148":[2,201],"149":[2,201],"150":[2,201],"151":[2,201],"152":[2,201],"153":[2,201],"154":[2,201],"155":[2,201],"156":[2,201],"157":[2,201],"158":[2,201],"159":[2,201],"160":[2,201],"161":[2,201],"162":[2,201],"163":[2,201],"164":[2,201],"165":[2,201],"166":[2,201],"167":[2,201],"168":[2,201]},{"1":[2,202],"4":[2,202],"29":[2,202],"30":[2,202],"51":[1,134],"59":[2,202],"63":[2,202],"81":[2,202],"86":[2,202],"96":[2,202],"100":[2,202],"108":[2,202],"109":131,"110":[2,202],"111":[2,202],"112":[2,202],"115":132,"116":[2,202],"117":83,"122":[2,202],"123":[2,202],"124":[2,202],"131":[2,202],"132":[2,202],"133":[1,128],"135":[2,202],"136":[2,202],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,202],"146":[2,202],"147":[2,202],"148":[2,202],"149":[2,202],"150":[2,202],"151":[2,202],"152":[2,202],"153":[2,202],"154":[2,202],"155":[2,202],"156":[2,202],"157":[2,202],"158":[2,202],"159":[2,202],"160":[2,202],"161":[2,202],"162":[2,202],"163":[2,202],"164":[2,202],"165":[2,202],"166":[2,202],"167":[2,202],"168":[2,202]},{"1":[2,203],"4":[2,203],"29":[2,203],"30":[2,203],"51":[1,134],"59":[2,203],"63":[2,203],"81":[2,203],"86":[2,203],"96":[2,203],"100":[2,203],"108":[2,203],"109":131,"110":[2,203],"111":[2,203],"112":[2,203],"115":132,"116":[2,203],"117":83,"122":[2,203],"123":[2,203],"124":[2,203],"131":[2,203],"132":[2,203],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,203],"146":[2,203],"147":[2,203],"148":[2,203],"149":[2,203],"150":[2,203],"151":[2,203],"152":[2,203],"153":[2,203],"154":[2,203],"155":[2,203],"156":[2,203],"157":[2,203],"158":[2,203],"159":[2,203],"160":[2,203],"161":[2,203],"162":[2,203],"163":[2,203],"164":[2,203],"165":[2,203],"166":[2,203],"167":[2,203],"168":[2,203]},{"1":[2,204],"4":[2,204],"29":[2,204],"30":[2,204],"51":[1,134],"59":[2,204],"63":[2,204],"81":[2,204],"86":[2,204],"96":[2,204],"100":[2,204],"108":[2,204],"109":131,"110":[2,204],"111":[2,204],"112":[2,204],"115":132,"116":[2,204],"117":83,"122":[2,204],"123":[2,204],"124":[2,204],"131":[2,204],"132":[2,204],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,204],"146":[2,204],"147":[2,204],"148":[2,204],"149":[2,204],"150":[2,204],"151":[2,204],"152":[2,204],"153":[2,204],"154":[2,204],"155":[2,204],"156":[2,204],"157":[2,204],"158":[2,204],"159":[2,204],"160":[2,204],"161":[2,204],"162":[2,204],"163":[2,204],"164":[2,204],"165":[2,204],"166":[2,204],"167":[2,204],"168":[2,204]},{"1":[2,205],"4":[2,205],"29":[2,205],"30":[2,205],"51":[1,134],"59":[2,205],"63":[2,205],"81":[2,205],"86":[2,205],"96":[2,205],"100":[2,205],"108":[2,205],"109":131,"110":[2,205],"111":[2,205],"112":[2,205],"115":132,"116":[2,205],"117":83,"122":[2,205],"123":[2,205],"124":[2,205],"131":[2,205],"132":[2,205],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[2,205],"146":[2,205],"147":[2,205],"148":[2,205],"149":[2,205],"150":[2,205],"151":[2,205],"152":[2,205],"153":[2,205],"154":[2,205],"155":[2,205],"156":[2,205],"157":[2,205],"158":[2,205],"159":[2,205],"160":[2,205],"161":[2,205],"162":[2,205],"163":[2,205],"164":[2,205],"165":[2,205],"166":[2,205],"167":[2,205],"168":[2,205]},{"1":[2,206],"4":[2,206],"29":[2,206],"30":[2,206],"51":[1,134],"59":[2,206],"63":[2,206],"81":[2,206],"86":[2,206],"96":[2,206],"100":[2,206],"108":[2,206],"109":131,"110":[2,206],"111":[2,206],"112":[2,206],"115":132,"116":[2,206],"117":83,"122":[2,206],"123":[2,206],"124":[2,206],"131":[2,206],"132":[2,206],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[2,206],"149":[2,206],"150":[2,206],"151":[2,206],"152":[2,206],"153":[2,206],"154":[2,206],"155":[2,206],"156":[2,206],"157":[2,206],"158":[2,206],"159":[2,206],"160":[2,206],"161":[2,206],"162":[2,206],"163":[2,206],"164":[2,206],"165":[2,206],"166":[2,206],"167":[2,206],"168":[2,206]},{"1":[2,207],"4":[2,207],"29":[2,207],"30":[2,207],"51":[1,134],"59":[2,207],"63":[2,207],"81":[2,207],"86":[2,207],"96":[2,207],"100":[2,207],"108":[2,207],"109":131,"110":[2,207],"111":[2,207],"112":[2,207],"115":132,"116":[2,207],"117":83,"122":[2,207],"123":[2,207],"124":[2,207],"131":[2,207],"132":[2,207],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[2,207],"149":[2,207],"150":[2,207],"151":[2,207],"152":[2,207],"153":[2,207],"154":[2,207],"155":[2,207],"156":[2,207],"157":[2,207],"158":[2,207],"159":[2,207],"160":[2,207],"161":[2,207],"162":[2,207],"163":[2,207],"164":[2,207],"165":[2,207],"166":[2,207],"167":[2,207],"168":[2,207]},{"1":[2,208],"4":[2,208],"29":[2,208],"30":[2,208],"51":[1,134],"59":[2,208],"63":[2,208],"81":[2,208],"86":[2,208],"96":[2,208],"100":[2,208],"108":[2,208],"109":131,"110":[2,208],"111":[2,208],"112":[2,208],"115":132,"116":[2,208],"117":83,"122":[2,208],"123":[2,208],"124":[2,208],"131":[2,208],"132":[2,208],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[2,208],"149":[2,208],"150":[2,208],"151":[2,208],"152":[2,208],"153":[2,208],"154":[2,208],"155":[2,208],"156":[2,208],"157":[2,208],"158":[2,208],"159":[2,208],"160":[2,208],"161":[2,208],"162":[2,208],"163":[2,208],"164":[2,208],"165":[2,208],"166":[2,208],"167":[2,208],"168":[2,208]},{"1":[2,209],"4":[2,209],"29":[2,209],"30":[2,209],"51":[1,134],"59":[2,209],"63":[2,209],"81":[2,209],"86":[2,209],"96":[2,209],"100":[2,209],"108":[2,209],"109":131,"110":[2,209],"111":[2,209],"112":[2,209],"115":132,"116":[2,209],"117":83,"122":[2,209],"123":[2,209],"124":[2,209],"131":[2,209],"132":[2,209],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,209],"152":[2,209],"153":[2,209],"154":[2,209],"155":[2,209],"156":[2,209],"157":[2,209],"158":[2,209],"159":[2,209],"160":[2,209],"161":[2,209],"162":[2,209],"163":[2,209],"164":[2,209],"165":[2,209],"166":[2,209],"167":[2,209],"168":[2,209]},{"1":[2,210],"4":[2,210],"29":[2,210],"30":[2,210],"51":[1,134],"59":[2,210],"63":[2,210],"81":[2,210],"86":[2,210],"96":[2,210],"100":[2,210],"108":[2,210],"109":131,"110":[2,210],"111":[2,210],"112":[2,210],"115":132,"116":[2,210],"117":83,"122":[2,210],"123":[2,210],"124":[2,210],"131":[2,210],"132":[2,210],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,210],"152":[2,210],"153":[2,210],"154":[2,210],"155":[2,210],"156":[2,210],"157":[2,210],"158":[2,210],"159":[2,210],"160":[2,210],"161":[2,210],"162":[2,210],"163":[2,210],"164":[2,210],"165":[2,210],"166":[2,210],"167":[2,210],"168":[2,210]},{"1":[2,211],"4":[2,211],"29":[2,211],"30":[2,211],"51":[1,134],"59":[2,211],"63":[2,211],"81":[2,211],"86":[2,211],"96":[2,211],"100":[2,211],"108":[2,211],"109":131,"110":[2,211],"111":[2,211],"112":[2,211],"115":132,"116":[2,211],"117":83,"122":[2,211],"123":[2,211],"124":[2,211],"131":[2,211],"132":[2,211],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,211],"152":[2,211],"153":[2,211],"154":[2,211],"155":[2,211],"156":[2,211],"157":[2,211],"158":[2,211],"159":[2,211],"160":[2,211],"161":[2,211],"162":[2,211],"163":[2,211],"164":[2,211],"165":[2,211],"166":[2,211],"167":[2,211],"168":[2,211]},{"1":[2,212],"4":[2,212],"29":[2,212],"30":[2,212],"51":[1,134],"59":[2,212],"63":[2,212],"81":[2,212],"86":[2,212],"96":[2,212],"100":[2,212],"108":[2,212],"109":131,"110":[2,212],"111":[2,212],"112":[2,212],"115":132,"116":[2,212],"117":83,"122":[2,212],"123":[2,212],"124":[2,212],"131":[2,212],"132":[2,212],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[2,212],"152":[2,212],"153":[2,212],"154":[2,212],"155":[2,212],"156":[2,212],"157":[2,212],"158":[2,212],"159":[2,212],"160":[2,212],"161":[2,212],"162":[2,212],"163":[2,212],"164":[2,212],"165":[2,212],"166":[2,212],"167":[2,212],"168":[2,212]},{"1":[2,213],"4":[2,213],"29":[2,213],"30":[2,213],"51":[1,134],"59":[2,213],"63":[2,213],"81":[2,213],"86":[2,213],"96":[2,213],"100":[2,213],"108":[2,213],"109":131,"110":[2,213],"111":[2,213],"112":[2,213],"115":132,"116":[2,213],"117":83,"122":[2,213],"123":[2,213],"124":[2,213],"131":[2,213],"132":[2,213],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,213],"156":[2,213],"157":[2,213],"158":[2,213],"159":[2,213],"160":[2,213],"161":[2,213],"162":[2,213],"163":[2,213],"164":[2,213],"165":[2,213],"166":[2,213],"167":[2,213],"168":[1,125]},{"1":[2,214],"4":[2,214],"29":[2,214],"30":[2,214],"51":[1,134],"59":[2,214],"63":[2,214],"81":[2,214],"86":[2,214],"96":[2,214],"100":[2,214],"108":[2,214],"109":131,"110":[2,214],"111":[2,214],"112":[2,214],"115":132,"116":[2,214],"117":83,"122":[2,214],"123":[2,214],"124":[2,214],"131":[2,214],"132":[2,214],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,214],"156":[2,214],"157":[2,214],"158":[2,214],"159":[2,214],"160":[2,214],"161":[2,214],"162":[2,214],"163":[2,214],"164":[2,214],"165":[2,214],"166":[2,214],"167":[2,214],"168":[1,125]},{"1":[2,215],"4":[2,215],"29":[2,215],"30":[2,215],"51":[1,134],"59":[2,215],"63":[2,215],"81":[2,215],"86":[2,215],"96":[2,215],"100":[2,215],"108":[2,215],"109":131,"110":[2,215],"111":[2,215],"112":[2,215],"115":132,"116":[2,215],"117":83,"122":[2,215],"123":[2,215],"124":[2,215],"131":[2,215],"132":[2,215],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[2,215],"158":[2,215],"159":[2,215],"160":[2,215],"161":[2,215],"162":[2,215],"163":[2,215],"164":[2,215],"165":[2,215],"166":[2,215],"167":[2,215],"168":[1,125]},{"1":[2,216],"4":[2,216],"29":[2,216],"30":[2,216],"51":[1,134],"59":[2,216],"63":[2,216],"81":[2,216],"86":[2,216],"96":[2,216],"100":[2,216],"108":[2,216],"109":131,"110":[2,216],"111":[2,216],"112":[2,216],"115":132,"116":[2,216],"117":83,"122":[2,216],"123":[2,216],"124":[2,216],"131":[2,216],"132":[2,216],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[2,216],"158":[2,216],"159":[2,216],"160":[2,216],"161":[2,216],"162":[2,216],"163":[2,216],"164":[2,216],"165":[2,216],"166":[2,216],"167":[2,216],"168":[1,125]},{"1":[2,217],"4":[2,217],"29":[2,217],"30":[2,217],"51":[1,134],"59":[2,217],"63":[2,217],"81":[2,217],"86":[2,217],"96":[2,217],"100":[2,217],"108":[2,217],"109":131,"110":[2,217],"111":[2,217],"112":[2,217],"115":132,"116":[2,217],"117":83,"122":[2,217],"123":[2,217],"124":[2,217],"131":[2,217],"132":[2,217],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[2,217],"158":[2,217],"159":[2,217],"160":[2,217],"161":[2,217],"162":[2,217],"163":[2,217],"164":[2,217],"165":[2,217],"166":[2,217],"167":[2,217],"168":[1,125]},{"1":[2,218],"4":[2,218],"29":[2,218],"30":[2,218],"51":[1,134],"59":[2,218],"63":[2,218],"81":[2,218],"86":[2,218],"96":[2,218],"100":[2,218],"108":[2,218],"109":131,"110":[2,218],"111":[2,218],"112":[2,218],"115":132,"116":[2,218],"117":83,"122":[2,218],"123":[2,218],"124":[2,218],"131":[2,218],"132":[2,218],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,219],"4":[2,219],"29":[2,219],"30":[2,219],"51":[1,134],"59":[2,219],"63":[2,219],"81":[2,219],"86":[2,219],"96":[2,219],"100":[2,219],"108":[2,219],"109":131,"110":[2,219],"111":[2,219],"112":[2,219],"115":132,"116":[2,219],"117":83,"122":[2,219],"123":[2,219],"124":[2,219],"131":[2,219],"132":[2,219],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,220],"4":[2,220],"29":[2,220],"30":[2,220],"51":[1,134],"59":[2,220],"63":[2,220],"81":[2,220],"86":[2,220],"96":[2,220],"100":[2,220],"108":[2,220],"109":131,"110":[2,220],"111":[2,220],"112":[2,220],"115":132,"116":[2,220],"117":83,"122":[2,220],"123":[2,220],"124":[2,220],"131":[2,220],"132":[2,220],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,221],"4":[2,221],"29":[2,221],"30":[2,221],"51":[1,134],"59":[2,221],"63":[2,221],"81":[2,221],"86":[2,221],"96":[2,221],"100":[2,221],"108":[2,221],"109":131,"110":[2,221],"111":[2,221],"112":[2,221],"115":132,"116":[2,221],"117":83,"122":[2,221],"123":[2,221],"124":[2,221],"131":[2,221],"132":[2,221],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,222],"4":[2,222],"29":[2,222],"30":[2,222],"51":[1,134],"59":[2,222],"63":[2,222],"81":[2,222],"86":[2,222],"96":[2,222],"100":[2,222],"108":[2,222],"109":131,"110":[2,222],"111":[2,222],"112":[2,222],"115":132,"116":[2,222],"117":83,"122":[2,222],"123":[2,222],"124":[2,222],"131":[2,222],"132":[2,222],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,223],"4":[2,223],"29":[2,223],"30":[2,223],"51":[1,134],"59":[2,223],"63":[2,223],"81":[2,223],"86":[2,223],"96":[2,223],"100":[2,223],"108":[2,223],"109":131,"110":[2,223],"111":[2,223],"112":[2,223],"115":132,"116":[2,223],"117":83,"122":[2,223],"123":[2,223],"124":[2,223],"131":[2,223],"132":[2,223],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,224],"4":[2,224],"29":[2,224],"30":[2,224],"51":[1,134],"59":[2,224],"63":[2,224],"81":[2,224],"86":[2,224],"96":[2,224],"100":[2,224],"108":[2,224],"109":131,"110":[2,224],"111":[2,224],"112":[2,224],"115":132,"116":[2,224],"117":83,"122":[2,224],"123":[2,224],"124":[2,224],"131":[2,224],"132":[2,224],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,225],"4":[2,225],"29":[2,225],"30":[2,225],"51":[1,134],"59":[2,225],"63":[2,225],"81":[2,225],"86":[2,225],"96":[2,225],"100":[2,225],"108":[2,225],"109":131,"110":[2,225],"111":[2,225],"112":[2,225],"115":132,"116":[2,225],"117":83,"122":[2,225],"123":[2,225],"124":[2,225],"131":[2,225],"132":[2,225],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,226],"4":[2,226],"29":[2,226],"30":[2,226],"51":[1,134],"59":[2,226],"63":[2,226],"81":[2,226],"86":[2,226],"96":[2,226],"100":[2,226],"108":[2,226],"109":131,"110":[2,226],"111":[2,226],"112":[2,226],"115":132,"116":[2,226],"117":83,"122":[2,226],"123":[2,226],"124":[2,226],"131":[2,226],"132":[2,226],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[2,226],"156":[2,226],"157":[2,226],"158":[2,226],"159":[2,226],"160":[2,226],"161":[2,226],"162":[2,226],"163":[2,226],"164":[2,226],"165":[2,226],"166":[2,226],"167":[2,226],"168":[1,125]},{"1":[2,227],"4":[2,227],"29":[2,227],"30":[2,227],"51":[1,134],"59":[2,227],"63":[1,133],"81":[2,227],"86":[2,227],"96":[2,227],"100":[2,227],"108":[2,227],"109":131,"110":[2,227],"111":[2,227],"112":[2,227],"115":132,"116":[2,227],"117":83,"122":[1,126],"123":[1,127],"124":[2,227],"131":[2,227],"132":[2,227],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,228],"4":[2,228],"29":[2,228],"30":[2,228],"51":[1,134],"59":[2,228],"63":[1,133],"81":[2,228],"86":[2,228],"96":[2,228],"100":[2,228],"108":[2,228],"109":131,"110":[2,228],"111":[2,228],"112":[2,228],"115":132,"116":[2,228],"117":83,"122":[1,126],"123":[1,127],"124":[2,228],"131":[2,228],"132":[2,228],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":303,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":304,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,184],"4":[2,184],"29":[2,184],"30":[2,184],"51":[1,134],"59":[2,184],"63":[1,133],"81":[2,184],"86":[2,184],"96":[2,184],"100":[2,184],"108":[2,184],"109":131,"110":[1,79],"111":[2,184],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,184],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,186],"4":[2,186],"29":[2,186],"30":[2,186],"51":[1,134],"59":[2,186],"63":[1,133],"81":[2,186],"86":[2,186],"96":[2,186],"100":[2,186],"108":[2,186],"109":131,"110":[1,79],"111":[2,186],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,186],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"63":[1,305]},{"1":[2,183],"4":[2,183],"29":[2,183],"30":[2,183],"51":[1,134],"59":[2,183],"63":[1,133],"81":[2,183],"86":[2,183],"96":[2,183],"100":[2,183],"108":[2,183],"109":131,"110":[1,79],"111":[2,183],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,183],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,185],"4":[2,185],"29":[2,185],"30":[2,185],"51":[1,134],"59":[2,185],"63":[1,133],"81":[2,185],"86":[2,185],"96":[2,185],"100":[2,185],"108":[2,185],"109":131,"110":[1,79],"111":[2,185],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,185],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,61],"29":[2,61],"58":306,"59":[1,289],"96":[2,61]},{"4":[2,129],"29":[2,129],"30":[2,129],"51":[1,134],"59":[2,129],"63":[1,133],"96":[2,129],"100":[2,129],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,84],"4":[2,84],"29":[2,84],"30":[2,84],"46":[2,84],"51":[2,84],"59":[2,84],"63":[2,84],"74":[2,84],"75":[2,84],"76":[2,84],"77":[2,84],"80":[2,84],"81":[2,84],"82":[2,84],"83":[2,84],"86":[2,84],"88":[2,84],"94":[2,84],"96":[2,84],"100":[2,84],"108":[2,84],"110":[2,84],"111":[2,84],"112":[2,84],"116":[2,84],"122":[2,84],"123":[2,84],"124":[2,84],"131":[2,84],"132":[2,84],"133":[2,84],"135":[2,84],"136":[2,84],"138":[2,84],"139":[2,84],"142":[2,84],"143":[2,84],"144":[2,84],"145":[2,84],"146":[2,84],"147":[2,84],"148":[2,84],"149":[2,84],"150":[2,84],"151":[2,84],"152":[2,84],"153":[2,84],"154":[2,84],"155":[2,84],"156":[2,84],"157":[2,84],"158":[2,84],"159":[2,84],"160":[2,84],"161":[2,84],"162":[2,84],"163":[2,84],"164":[2,84],"165":[2,84],"166":[2,84],"167":[2,84],"168":[2,84]},{"1":[2,85],"4":[2,85],"29":[2,85],"30":[2,85],"46":[2,85],"51":[2,85],"59":[2,85],"63":[2,85],"74":[2,85],"75":[2,85],"76":[2,85],"77":[2,85],"80":[2,85],"81":[2,85],"82":[2,85],"83":[2,85],"86":[2,85],"88":[2,85],"94":[2,85],"96":[2,85],"100":[2,85],"108":[2,85],"110":[2,85],"111":[2,85],"112":[2,85],"116":[2,85],"122":[2,85],"123":[2,85],"124":[2,85],"131":[2,85],"132":[2,85],"133":[2,85],"135":[2,85],"136":[2,85],"138":[2,85],"139":[2,85],"142":[2,85],"143":[2,85],"144":[2,85],"145":[2,85],"146":[2,85],"147":[2,85],"148":[2,85],"149":[2,85],"150":[2,85],"151":[2,85],"152":[2,85],"153":[2,85],"154":[2,85],"155":[2,85],"156":[2,85],"157":[2,85],"158":[2,85],"159":[2,85],"160":[2,85],"161":[2,85],"162":[2,85],"163":[2,85],"164":[2,85],"165":[2,85],"166":[2,85],"167":[2,85],"168":[2,85]},{"1":[2,87],"4":[2,87],"29":[2,87],"30":[2,87],"46":[2,87],"51":[2,87],"59":[2,87],"63":[2,87],"74":[2,87],"75":[2,87],"76":[2,87],"77":[2,87],"80":[2,87],"81":[2,87],"82":[2,87],"83":[2,87],"86":[2,87],"88":[2,87],"94":[2,87],"96":[2,87],"100":[2,87],"108":[2,87],"110":[2,87],"111":[2,87],"112":[2,87],"116":[2,87],"122":[2,87],"123":[2,87],"124":[2,87],"131":[2,87],"132":[2,87],"133":[2,87],"135":[2,87],"136":[2,87],"138":[2,87],"139":[2,87],"142":[2,87],"143":[2,87],"144":[2,87],"145":[2,87],"146":[2,87],"147":[2,87],"148":[2,87],"149":[2,87],"150":[2,87],"151":[2,87],"152":[2,87],"153":[2,87],"154":[2,87],"155":[2,87],"156":[2,87],"157":[2,87],"158":[2,87],"159":[2,87],"160":[2,87],"161":[2,87],"162":[2,87],"163":[2,87],"164":[2,87],"165":[2,87],"166":[2,87],"167":[2,87],"168":[2,87]},{"51":[1,134],"63":[1,308],"81":[1,307],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,91],"4":[2,91],"29":[2,91],"30":[2,91],"46":[2,91],"51":[2,91],"59":[2,91],"63":[2,91],"74":[2,91],"75":[2,91],"76":[2,91],"77":[2,91],"80":[2,91],"81":[2,91],"82":[2,91],"83":[2,91],"86":[2,91],"88":[2,91],"94":[2,91],"96":[2,91],"100":[2,91],"108":[2,91],"110":[2,91],"111":[2,91],"112":[2,91],"116":[2,91],"122":[2,91],"123":[2,91],"124":[2,91],"131":[2,91],"132":[2,91],"133":[2,91],"135":[2,91],"136":[2,91],"138":[2,91],"139":[2,91],"142":[2,91],"143":[2,91],"144":[2,91],"145":[2,91],"146":[2,91],"147":[2,91],"148":[2,91],"149":[2,91],"150":[2,91],"151":[2,91],"152":[2,91],"153":[2,91],"154":[2,91],"155":[2,91],"156":[2,91],"157":[2,91],"158":[2,91],"159":[2,91],"160":[2,91],"161":[2,91],"162":[2,91],"163":[2,91],"164":[2,91],"165":[2,91],"166":[2,91],"167":[2,91],"168":[2,91]},{"8":309,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,92],"4":[2,92],"29":[2,92],"30":[2,92],"46":[2,92],"51":[2,92],"59":[2,92],"63":[2,92],"74":[2,92],"75":[2,92],"76":[2,92],"77":[2,92],"80":[2,92],"81":[2,92],"82":[2,92],"83":[2,92],"86":[2,92],"88":[2,92],"94":[2,92],"96":[2,92],"100":[2,92],"108":[2,92],"110":[2,92],"111":[2,92],"112":[2,92],"116":[2,92],"122":[2,92],"123":[2,92],"124":[2,92],"131":[2,92],"132":[2,92],"133":[2,92],"135":[2,92],"136":[2,92],"138":[2,92],"139":[2,92],"142":[2,92],"143":[2,92],"144":[2,92],"145":[2,92],"146":[2,92],"147":[2,92],"148":[2,92],"149":[2,92],"150":[2,92],"151":[2,92],"152":[2,92],"153":[2,92],"154":[2,92],"155":[2,92],"156":[2,92],"157":[2,92],"158":[2,92],"159":[2,92],"160":[2,92],"161":[2,92],"162":[2,92],"163":[2,92],"164":[2,92],"165":[2,92],"166":[2,92],"167":[2,92],"168":[2,92]},{"1":[2,44],"4":[2,44],"29":[2,44],"30":[2,44],"51":[1,134],"59":[2,44],"63":[1,133],"81":[2,44],"86":[2,44],"96":[2,44],"100":[2,44],"108":[2,44],"109":131,"110":[1,79],"111":[2,44],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,44],"131":[2,44],"132":[2,44],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":310,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"55":311,"56":[1,75],"57":[1,76]},{"60":312,"61":[1,160],"62":[1,161]},{"63":[1,313]},{"54":[2,67],"59":[2,67],"63":[1,314]},{"8":315,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,181],"4":[2,181],"29":[2,181],"30":[2,181],"51":[2,181],"59":[2,181],"63":[2,181],"81":[2,181],"86":[2,181],"96":[2,181],"100":[2,181],"108":[2,181],"110":[2,181],"111":[2,181],"112":[2,181],"116":[2,181],"122":[2,181],"123":[2,181],"124":[2,181],"127":[2,181],"131":[2,181],"132":[2,181],"133":[2,181],"135":[2,181],"136":[2,181],"138":[2,181],"139":[2,181],"142":[2,181],"143":[2,181],"144":[2,181],"145":[2,181],"146":[2,181],"147":[2,181],"148":[2,181],"149":[2,181],"150":[2,181],"151":[2,181],"152":[2,181],"153":[2,181],"154":[2,181],"155":[2,181],"156":[2,181],"157":[2,181],"158":[2,181],"159":[2,181],"160":[2,181],"161":[2,181],"162":[2,181],"163":[2,181],"164":[2,181],"165":[2,181],"166":[2,181],"167":[2,181],"168":[2,181]},{"1":[2,135],"4":[2,135],"29":[2,135],"30":[2,135],"51":[2,135],"59":[2,135],"63":[2,135],"81":[2,135],"86":[2,135],"96":[2,135],"100":[2,135],"104":[1,316],"108":[2,135],"110":[2,135],"111":[2,135],"112":[2,135],"116":[2,135],"122":[2,135],"123":[2,135],"124":[2,135],"131":[2,135],"132":[2,135],"133":[2,135],"135":[2,135],"136":[2,135],"138":[2,135],"139":[2,135],"142":[2,135],"143":[2,135],"144":[2,135],"145":[2,135],"146":[2,135],"147":[2,135],"148":[2,135],"149":[2,135],"150":[2,135],"151":[2,135],"152":[2,135],"153":[2,135],"154":[2,135],"155":[2,135],"156":[2,135],"157":[2,135],"158":[2,135],"159":[2,135],"160":[2,135],"161":[2,135],"162":[2,135],"163":[2,135],"164":[2,135],"165":[2,135],"166":[2,135],"167":[2,135],"168":[2,135]},{"4":[1,163],"6":317,"29":[1,6]},{"31":318,"32":[1,89]},{"126":319,"128":275,"129":[1,276]},{"30":[1,320],"127":[1,321],"128":322,"129":[1,276]},{"30":[2,174],"127":[2,174],"129":[2,174]},{"8":324,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"101":323,"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,114],"4":[2,114],"29":[2,114],"30":[2,114],"51":[2,114],"59":[2,114],"63":[2,114],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,114],"82":[1,149],"83":[1,150],"86":[2,114],"93":139,"94":[1,141],"96":[2,114],"100":[2,114],"108":[2,114],"110":[2,114],"111":[2,114],"112":[2,114],"116":[2,114],"122":[2,114],"123":[2,114],"124":[2,114],"131":[2,114],"132":[2,114],"133":[2,114],"135":[2,114],"136":[2,114],"138":[2,114],"139":[2,114],"142":[2,114],"143":[2,114],"144":[2,114],"145":[2,114],"146":[2,114],"147":[2,114],"148":[2,114],"149":[2,114],"150":[2,114],"151":[2,114],"152":[2,114],"153":[2,114],"154":[2,114],"155":[2,114],"156":[2,114],"157":[2,114],"158":[2,114],"159":[2,114],"160":[2,114],"161":[2,114],"162":[2,114],"163":[2,114],"164":[2,114],"165":[2,114],"166":[2,114],"167":[2,114],"168":[2,114]},{"14":325,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":156,"62":[1,73],"64":157,"66":184,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"98":[1,72],"99":[1,71],"107":[1,70]},{"4":[2,106],"28":212,"30":[2,106],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"89":326,"90":281},{"4":[1,328],"30":[1,327]},{"4":[2,107],"30":[2,107],"86":[2,107]},{"4":[2,106],"28":212,"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"86":[2,106],"89":329,"90":281},{"4":[2,104],"30":[2,104],"86":[2,104]},{"48":[1,330]},{"31":190,"32":[1,89]},{"1":[2,140],"4":[2,140],"29":[2,140],"30":[2,140],"51":[2,140],"59":[2,140],"63":[2,140],"74":[2,140],"75":[2,140],"76":[2,140],"77":[2,140],"80":[2,140],"81":[2,140],"82":[2,140],"83":[2,140],"86":[2,140],"94":[2,140],"96":[2,140],"100":[2,140],"108":[2,140],"110":[2,140],"111":[2,140],"112":[2,140],"116":[2,140],"122":[2,140],"123":[2,140],"124":[2,140],"131":[2,140],"132":[2,140],"133":[2,140],"135":[2,140],"136":[2,140],"138":[2,140],"139":[2,140],"142":[2,140],"143":[2,140],"144":[2,140],"145":[2,140],"146":[2,140],"147":[2,140],"148":[2,140],"149":[2,140],"150":[2,140],"151":[2,140],"152":[2,140],"153":[2,140],"154":[2,140],"155":[2,140],"156":[2,140],"157":[2,140],"158":[2,140],"159":[2,140],"160":[2,140],"161":[2,140],"162":[2,140],"163":[2,140],"164":[2,140],"165":[2,140],"166":[2,140],"167":[2,140],"168":[2,140]},{"63":[1,331]},{"4":[1,333],"29":[1,334],"100":[1,332]},{"4":[2,62],"8":335,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,62],"30":[2,62],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"96":[2,62],"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,62],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,178],"4":[2,178],"29":[2,178],"30":[2,178],"51":[2,178],"59":[2,178],"63":[2,178],"81":[2,178],"86":[2,178],"96":[2,178],"100":[2,178],"108":[2,178],"110":[2,178],"111":[2,178],"112":[2,178],"116":[2,178],"122":[2,178],"123":[2,178],"124":[2,178],"127":[2,178],"131":[2,178],"132":[2,178],"133":[2,178],"135":[2,178],"136":[2,178],"138":[2,178],"139":[2,178],"142":[2,178],"143":[2,178],"144":[2,178],"145":[2,178],"146":[2,178],"147":[2,178],"148":[2,178],"149":[2,178],"150":[2,178],"151":[2,178],"152":[2,178],"153":[2,178],"154":[2,178],"155":[2,178],"156":[2,178],"157":[2,178],"158":[2,178],"159":[2,178],"160":[2,178],"161":[2,178],"162":[2,178],"163":[2,178],"164":[2,178],"165":[2,178],"166":[2,178],"167":[2,178],"168":[2,178]},{"1":[2,179],"4":[2,179],"29":[2,179],"30":[2,179],"51":[2,179],"59":[2,179],"63":[2,179],"81":[2,179],"86":[2,179],"96":[2,179],"100":[2,179],"108":[2,179],"110":[2,179],"111":[2,179],"112":[2,179],"116":[2,179],"122":[2,179],"123":[2,179],"124":[2,179],"127":[2,179],"131":[2,179],"132":[2,179],"133":[2,179],"135":[2,179],"136":[2,179],"138":[2,179],"139":[2,179],"142":[2,179],"143":[2,179],"144":[2,179],"145":[2,179],"146":[2,179],"147":[2,179],"148":[2,179],"149":[2,179],"150":[2,179],"151":[2,179],"152":[2,179],"153":[2,179],"154":[2,179],"155":[2,179],"156":[2,179],"157":[2,179],"158":[2,179],"159":[2,179],"160":[2,179],"161":[2,179],"162":[2,179],"163":[2,179],"164":[2,179],"165":[2,179],"166":[2,179],"167":[2,179],"168":[2,179]},{"8":336,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":337,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"122":[2,157],"123":[2,157]},{"4":[2,128],"8":254,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":189,"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,128],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"31":202,"32":[1,89],"68":203,"69":204,"84":[1,86],"99":[1,295],"121":338},{"1":[2,163],"4":[2,163],"29":[2,163],"30":[2,163],"51":[1,134],"59":[2,163],"63":[1,133],"81":[2,163],"86":[2,163],"96":[2,163],"100":[2,163],"108":[2,163],"109":131,"110":[2,163],"111":[1,339],"112":[2,163],"115":132,"116":[2,163],"117":83,"122":[1,126],"123":[1,127],"124":[1,340],"131":[2,163],"132":[2,163],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,164],"4":[2,164],"29":[2,164],"30":[2,164],"51":[1,134],"59":[2,164],"63":[1,133],"81":[2,164],"86":[2,164],"96":[2,164],"100":[2,164],"108":[2,164],"109":131,"110":[2,164],"111":[1,341],"112":[2,164],"115":132,"116":[2,164],"117":83,"122":[1,126],"123":[1,127],"124":[2,164],"131":[2,164],"132":[2,164],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,343],"29":[1,344],"86":[1,342]},{"4":[2,62],"28":212,"29":[2,62],"30":[2,62],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":345,"50":[1,56],"86":[2,62]},{"8":346,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,347],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":348,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[1,349],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,229],"4":[2,229],"29":[2,229],"30":[2,229],"51":[1,134],"59":[2,229],"63":[2,229],"81":[2,229],"86":[2,229],"96":[2,229],"100":[2,229],"108":[2,229],"109":131,"110":[2,229],"111":[2,229],"112":[2,229],"115":132,"116":[2,229],"117":83,"122":[2,229],"123":[2,229],"124":[2,229],"131":[2,229],"132":[2,229],"135":[2,229],"136":[2,229],"142":[2,229],"143":[2,229],"144":[2,229],"145":[2,229],"146":[2,229],"147":[2,229],"148":[2,229],"149":[2,229],"150":[2,229],"151":[2,229],"152":[2,229],"153":[2,229],"154":[2,229],"155":[2,229],"156":[2,229],"157":[2,229],"158":[2,229],"159":[2,229],"160":[2,229],"161":[2,229],"162":[2,229],"163":[2,229],"164":[2,229],"165":[2,229],"166":[2,229],"167":[2,229],"168":[2,229]},{"1":[2,230],"4":[2,230],"29":[2,230],"30":[2,230],"51":[1,134],"59":[2,230],"63":[2,230],"81":[2,230],"86":[2,230],"96":[2,230],"100":[2,230],"108":[2,230],"109":131,"110":[2,230],"111":[2,230],"112":[2,230],"115":132,"116":[2,230],"117":83,"122":[2,230],"123":[2,230],"124":[2,230],"131":[2,230],"132":[2,230],"135":[2,230],"136":[2,230],"142":[2,230],"143":[2,230],"144":[2,230],"145":[2,230],"146":[2,230],"147":[2,230],"148":[2,230],"149":[2,230],"150":[2,230],"151":[2,230],"152":[2,230],"153":[2,230],"154":[2,230],"155":[2,230],"156":[2,230],"157":[2,230],"158":[2,230],"159":[2,230],"160":[2,230],"161":[2,230],"162":[2,230],"163":[2,230],"164":[2,230],"165":[2,230],"166":[2,230],"167":[2,230],"168":[2,230]},{"1":[2,70],"4":[2,70],"29":[2,70],"30":[2,70],"51":[2,70],"59":[2,70],"63":[2,70],"81":[2,70],"86":[2,70],"96":[2,70],"100":[2,70],"108":[2,70],"110":[2,70],"111":[2,70],"112":[2,70],"116":[2,70],"122":[2,70],"123":[2,70],"124":[2,70],"131":[2,70],"132":[2,70],"133":[2,70],"135":[2,70],"136":[2,70],"138":[2,70],"139":[2,70],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70],"156":[2,70],"157":[2,70],"158":[2,70],"159":[2,70],"160":[2,70],"161":[2,70],"162":[2,70],"163":[2,70],"164":[2,70],"165":[2,70],"166":[2,70],"167":[2,70],"168":[2,70]},{"4":[1,333],"29":[1,334],"96":[1,350]},{"1":[2,90],"4":[2,90],"29":[2,90],"30":[2,90],"46":[2,90],"51":[2,90],"59":[2,90],"63":[2,90],"74":[2,90],"75":[2,90],"76":[2,90],"77":[2,90],"80":[2,90],"81":[2,90],"82":[2,90],"83":[2,90],"86":[2,90],"88":[2,90],"94":[2,90],"96":[2,90],"100":[2,90],"108":[2,90],"110":[2,90],"111":[2,90],"112":[2,90],"116":[2,90],"122":[2,90],"123":[2,90],"124":[2,90],"131":[2,90],"132":[2,90],"133":[2,90],"135":[2,90],"136":[2,90],"138":[2,90],"139":[2,90],"142":[2,90],"143":[2,90],"144":[2,90],"145":[2,90],"146":[2,90],"147":[2,90],"148":[2,90],"149":[2,90],"150":[2,90],"151":[2,90],"152":[2,90],"153":[2,90],"154":[2,90],"155":[2,90],"156":[2,90],"157":[2,90],"158":[2,90],"159":[2,90],"160":[2,90],"161":[2,90],"162":[2,90],"163":[2,90],"164":[2,90],"165":[2,90],"166":[2,90],"167":[2,90],"168":[2,90]},{"63":[1,351]},{"51":[1,134],"63":[1,133],"81":[1,307],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"30":[1,352],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,163],"6":353,"29":[1,6]},{"54":[2,65],"59":[2,65]},{"63":[1,354]},{"63":[1,355]},{"4":[1,163],"6":356,"29":[1,6],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,163],"6":357,"29":[1,6]},{"1":[2,136],"4":[2,136],"29":[2,136],"30":[2,136],"51":[2,136],"59":[2,136],"63":[2,136],"81":[2,136],"86":[2,136],"96":[2,136],"100":[2,136],"108":[2,136],"110":[2,136],"111":[2,136],"112":[2,136],"116":[2,136],"122":[2,136],"123":[2,136],"124":[2,136],"131":[2,136],"132":[2,136],"133":[2,136],"135":[2,136],"136":[2,136],"138":[2,136],"139":[2,136],"142":[2,136],"143":[2,136],"144":[2,136],"145":[2,136],"146":[2,136],"147":[2,136],"148":[2,136],"149":[2,136],"150":[2,136],"151":[2,136],"152":[2,136],"153":[2,136],"154":[2,136],"155":[2,136],"156":[2,136],"157":[2,136],"158":[2,136],"159":[2,136],"160":[2,136],"161":[2,136],"162":[2,136],"163":[2,136],"164":[2,136],"165":[2,136],"166":[2,136],"167":[2,136],"168":[2,136]},{"4":[1,163],"6":358,"29":[1,6]},{"30":[1,359],"127":[1,360],"128":322,"129":[1,276]},{"1":[2,172],"4":[2,172],"29":[2,172],"30":[2,172],"51":[2,172],"59":[2,172],"63":[2,172],"81":[2,172],"86":[2,172],"96":[2,172],"100":[2,172],"108":[2,172],"110":[2,172],"111":[2,172],"112":[2,172],"116":[2,172],"122":[2,172],"123":[2,172],"124":[2,172],"131":[2,172],"132":[2,172],"133":[2,172],"135":[2,172],"136":[2,172],"138":[2,172],"139":[2,172],"142":[2,172],"143":[2,172],"144":[2,172],"145":[2,172],"146":[2,172],"147":[2,172],"148":[2,172],"149":[2,172],"150":[2,172],"151":[2,172],"152":[2,172],"153":[2,172],"154":[2,172],"155":[2,172],"156":[2,172],"157":[2,172],"158":[2,172],"159":[2,172],"160":[2,172],"161":[2,172],"162":[2,172],"163":[2,172],"164":[2,172],"165":[2,172],"166":[2,172],"167":[2,172],"168":[2,172]},{"4":[1,163],"6":361,"29":[1,6]},{"30":[2,175],"127":[2,175],"129":[2,175]},{"4":[1,163],"6":362,"29":[1,6],"59":[1,363]},{"4":[2,133],"29":[2,133],"51":[1,134],"59":[2,133],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,100],"4":[2,100],"29":[1,364],"30":[2,100],"51":[2,100],"59":[2,100],"63":[2,100],"65":140,"74":[1,142],"75":[1,143],"76":[1,144],"77":[1,145],"78":146,"79":147,"80":[1,148],"81":[2,100],"82":[1,149],"83":[1,150],"86":[2,100],"93":139,"94":[1,141],"96":[2,100],"100":[2,100],"108":[2,100],"110":[2,100],"111":[2,100],"112":[2,100],"116":[2,100],"122":[2,100],"123":[2,100],"124":[2,100],"131":[2,100],"132":[2,100],"133":[2,100],"135":[2,100],"136":[2,100],"138":[2,100],"139":[2,100],"142":[2,100],"143":[2,100],"144":[2,100],"145":[2,100],"146":[2,100],"147":[2,100],"148":[2,100],"149":[2,100],"150":[2,100],"151":[2,100],"152":[2,100],"153":[2,100],"154":[2,100],"155":[2,100],"156":[2,100],"157":[2,100],"158":[2,100],"159":[2,100],"160":[2,100],"161":[2,100],"162":[2,100],"163":[2,100],"164":[2,100],"165":[2,100],"166":[2,100],"167":[2,100],"168":[2,100]},{"4":[1,328],"30":[1,365]},{"1":[2,103],"4":[2,103],"29":[2,103],"30":[2,103],"51":[2,103],"59":[2,103],"63":[2,103],"81":[2,103],"86":[2,103],"96":[2,103],"100":[2,103],"108":[2,103],"110":[2,103],"111":[2,103],"112":[2,103],"116":[2,103],"122":[2,103],"123":[2,103],"124":[2,103],"131":[2,103],"132":[2,103],"133":[2,103],"135":[2,103],"136":[2,103],"138":[2,103],"139":[2,103],"142":[2,103],"143":[2,103],"144":[2,103],"145":[2,103],"146":[2,103],"147":[2,103],"148":[2,103],"149":[2,103],"150":[2,103],"151":[2,103],"152":[2,103],"153":[2,103],"154":[2,103],"155":[2,103],"156":[2,103],"157":[2,103],"158":[2,103],"159":[2,103],"160":[2,103],"161":[2,103],"162":[2,103],"163":[2,103],"164":[2,103],"165":[2,103],"166":[2,103],"167":[2,103],"168":[2,103]},{"28":212,"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"90":366},{"4":[1,328],"86":[1,367]},{"8":368,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":369,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"63":[1,370],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,127],"4":[2,127],"29":[2,127],"30":[2,127],"46":[2,127],"51":[2,127],"59":[2,127],"63":[2,127],"74":[2,127],"75":[2,127],"76":[2,127],"77":[2,127],"80":[2,127],"81":[2,127],"82":[2,127],"83":[2,127],"86":[2,127],"94":[2,127],"96":[2,127],"100":[2,127],"108":[2,127],"110":[2,127],"111":[2,127],"112":[2,127],"116":[2,127],"122":[2,127],"123":[2,127],"124":[2,127],"131":[2,127],"132":[2,127],"133":[2,127],"135":[2,127],"136":[2,127],"138":[2,127],"139":[2,127],"142":[2,127],"143":[2,127],"144":[2,127],"145":[2,127],"146":[2,127],"147":[2,127],"148":[2,127],"149":[2,127],"150":[2,127],"151":[2,127],"152":[2,127],"153":[2,127],"154":[2,127],"155":[2,127],"156":[2,127],"157":[2,127],"158":[2,127],"159":[2,127],"160":[2,127],"161":[2,127],"162":[2,127],"163":[2,127],"164":[2,127],"165":[2,127],"166":[2,127],"167":[2,127],"168":[2,127]},{"8":371,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,128],"8":254,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,128],"30":[2,128],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,128],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"95":372,"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,130],"29":[2,130],"30":[2,130],"51":[1,134],"59":[2,130],"63":[1,133],"96":[2,130],"100":[2,130],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,142],"4":[2,142],"29":[2,142],"30":[2,142],"51":[1,134],"59":[2,142],"63":[1,133],"81":[2,142],"86":[2,142],"96":[2,142],"100":[2,142],"108":[2,142],"109":131,"110":[1,79],"111":[2,142],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,142],"131":[2,142],"132":[2,142],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,144],"4":[2,144],"29":[2,144],"30":[2,144],"51":[1,134],"59":[2,144],"63":[1,133],"81":[2,144],"86":[2,144],"96":[2,144],"100":[2,144],"108":[2,144],"109":131,"110":[1,79],"111":[2,144],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"124":[2,144],"131":[2,144],"132":[2,144],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"122":[2,162],"123":[2,162]},{"8":373,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":374,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":375,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,93],"4":[2,93],"29":[2,93],"30":[2,93],"46":[2,93],"51":[2,93],"59":[2,93],"63":[2,93],"74":[2,93],"75":[2,93],"76":[2,93],"77":[2,93],"80":[2,93],"81":[2,93],"82":[2,93],"83":[2,93],"86":[2,93],"94":[2,93],"96":[2,93],"100":[2,93],"108":[2,93],"110":[2,93],"111":[2,93],"112":[2,93],"116":[2,93],"122":[2,93],"123":[2,93],"124":[2,93],"131":[2,93],"132":[2,93],"133":[2,93],"135":[2,93],"136":[2,93],"138":[2,93],"139":[2,93],"142":[2,93],"143":[2,93],"144":[2,93],"145":[2,93],"146":[2,93],"147":[2,93],"148":[2,93],"149":[2,93],"150":[2,93],"151":[2,93],"152":[2,93],"153":[2,93],"154":[2,93],"155":[2,93],"156":[2,93],"157":[2,93],"158":[2,93],"159":[2,93],"160":[2,93],"161":[2,93],"162":[2,93],"163":[2,93],"164":[2,93],"165":[2,93],"166":[2,93],"167":[2,93],"168":[2,93]},{"28":212,"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":376,"50":[1,56]},{"4":[2,94],"28":212,"29":[2,94],"30":[2,94],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":209,"50":[1,56],"59":[2,94],"85":377},{"4":[2,96],"29":[2,96],"30":[2,96],"59":[2,96],"86":[2,96]},{"4":[2,48],"29":[2,48],"30":[2,48],"51":[1,134],"59":[2,48],"63":[1,133],"86":[2,48],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":378,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,49],"29":[2,49],"30":[2,49],"51":[1,134],"59":[2,49],"63":[1,133],"86":[2,49],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":379,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,117],"4":[2,117],"29":[2,117],"30":[2,117],"51":[2,117],"59":[2,117],"63":[2,117],"74":[2,117],"75":[2,117],"76":[2,117],"77":[2,117],"80":[2,117],"81":[2,117],"82":[2,117],"83":[2,117],"86":[2,117],"94":[2,117],"96":[2,117],"100":[2,117],"108":[2,117],"110":[2,117],"111":[2,117],"112":[2,117],"116":[2,117],"122":[2,117],"123":[2,117],"124":[2,117],"131":[2,117],"132":[2,117],"133":[2,117],"135":[2,117],"136":[2,117],"138":[2,117],"139":[2,117],"142":[2,117],"143":[2,117],"144":[2,117],"145":[2,117],"146":[2,117],"147":[2,117],"148":[2,117],"149":[2,117],"150":[2,117],"151":[2,117],"152":[2,117],"153":[2,117],"154":[2,117],"155":[2,117],"156":[2,117],"157":[2,117],"158":[2,117],"159":[2,117],"160":[2,117],"161":[2,117],"162":[2,117],"163":[2,117],"164":[2,117],"165":[2,117],"166":[2,117],"167":[2,117],"168":[2,117]},{"8":380,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"63":[1,381],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"1":[2,45],"4":[2,45],"29":[2,45],"30":[2,45],"51":[2,45],"59":[2,45],"63":[2,45],"81":[2,45],"86":[2,45],"96":[2,45],"100":[2,45],"108":[2,45],"110":[2,45],"111":[2,45],"112":[2,45],"116":[2,45],"122":[2,45],"123":[2,45],"124":[2,45],"131":[2,45],"132":[2,45],"133":[2,45],"135":[2,45],"136":[2,45],"138":[2,45],"139":[2,45],"142":[2,45],"143":[2,45],"144":[2,45],"145":[2,45],"146":[2,45],"147":[2,45],"148":[2,45],"149":[2,45],"150":[2,45],"151":[2,45],"152":[2,45],"153":[2,45],"154":[2,45],"155":[2,45],"156":[2,45],"157":[2,45],"158":[2,45],"159":[2,45],"160":[2,45],"161":[2,45],"162":[2,45],"163":[2,45],"164":[2,45],"165":[2,45],"166":[2,45],"167":[2,45],"168":[2,45]},{"1":[2,57],"4":[2,57],"29":[2,57],"30":[2,57],"51":[2,57],"59":[2,57],"63":[2,57],"81":[2,57],"86":[2,57],"96":[2,57],"100":[2,57],"108":[2,57],"110":[2,57],"111":[2,57],"112":[2,57],"116":[2,57],"122":[2,57],"123":[2,57],"124":[2,57],"131":[2,57],"132":[2,57],"133":[2,57],"135":[2,57],"136":[2,57],"138":[2,57],"139":[2,57],"142":[2,57],"143":[2,57],"144":[2,57],"145":[2,57],"146":[2,57],"147":[2,57],"148":[2,57],"149":[2,57],"150":[2,57],"151":[2,57],"152":[2,57],"153":[2,57],"154":[2,57],"155":[2,57],"156":[2,57],"157":[2,57],"158":[2,57],"159":[2,57],"160":[2,57],"161":[2,57],"162":[2,57],"163":[2,57],"164":[2,57],"165":[2,57],"166":[2,57],"167":[2,57],"168":[2,57]},{"54":[2,68],"59":[2,68]},{"63":[1,382]},{"1":[2,180],"4":[2,180],"29":[2,180],"30":[2,180],"51":[2,180],"59":[2,180],"63":[2,180],"81":[2,180],"86":[2,180],"96":[2,180],"100":[2,180],"108":[2,180],"110":[2,180],"111":[2,180],"112":[2,180],"116":[2,180],"122":[2,180],"123":[2,180],"124":[2,180],"127":[2,180],"131":[2,180],"132":[2,180],"133":[2,180],"135":[2,180],"136":[2,180],"138":[2,180],"139":[2,180],"142":[2,180],"143":[2,180],"144":[2,180],"145":[2,180],"146":[2,180],"147":[2,180],"148":[2,180],"149":[2,180],"150":[2,180],"151":[2,180],"152":[2,180],"153":[2,180],"154":[2,180],"155":[2,180],"156":[2,180],"157":[2,180],"158":[2,180],"159":[2,180],"160":[2,180],"161":[2,180],"162":[2,180],"163":[2,180],"164":[2,180],"165":[2,180],"166":[2,180],"167":[2,180],"168":[2,180]},{"1":[2,137],"4":[2,137],"29":[2,137],"30":[2,137],"51":[2,137],"59":[2,137],"63":[2,137],"81":[2,137],"86":[2,137],"96":[2,137],"100":[2,137],"108":[2,137],"110":[2,137],"111":[2,137],"112":[2,137],"116":[2,137],"122":[2,137],"123":[2,137],"124":[2,137],"131":[2,137],"132":[2,137],"133":[2,137],"135":[2,137],"136":[2,137],"138":[2,137],"139":[2,137],"142":[2,137],"143":[2,137],"144":[2,137],"145":[2,137],"146":[2,137],"147":[2,137],"148":[2,137],"149":[2,137],"150":[2,137],"151":[2,137],"152":[2,137],"153":[2,137],"154":[2,137],"155":[2,137],"156":[2,137],"157":[2,137],"158":[2,137],"159":[2,137],"160":[2,137],"161":[2,137],"162":[2,137],"163":[2,137],"164":[2,137],"165":[2,137],"166":[2,137],"167":[2,137],"168":[2,137]},{"1":[2,138],"4":[2,138],"29":[2,138],"30":[2,138],"51":[2,138],"59":[2,138],"63":[2,138],"81":[2,138],"86":[2,138],"96":[2,138],"100":[2,138],"104":[2,138],"108":[2,138],"110":[2,138],"111":[2,138],"112":[2,138],"116":[2,138],"122":[2,138],"123":[2,138],"124":[2,138],"131":[2,138],"132":[2,138],"133":[2,138],"135":[2,138],"136":[2,138],"138":[2,138],"139":[2,138],"142":[2,138],"143":[2,138],"144":[2,138],"145":[2,138],"146":[2,138],"147":[2,138],"148":[2,138],"149":[2,138],"150":[2,138],"151":[2,138],"152":[2,138],"153":[2,138],"154":[2,138],"155":[2,138],"156":[2,138],"157":[2,138],"158":[2,138],"159":[2,138],"160":[2,138],"161":[2,138],"162":[2,138],"163":[2,138],"164":[2,138],"165":[2,138],"166":[2,138],"167":[2,138],"168":[2,138]},{"1":[2,170],"4":[2,170],"29":[2,170],"30":[2,170],"51":[2,170],"59":[2,170],"63":[2,170],"81":[2,170],"86":[2,170],"96":[2,170],"100":[2,170],"108":[2,170],"110":[2,170],"111":[2,170],"112":[2,170],"116":[2,170],"122":[2,170],"123":[2,170],"124":[2,170],"131":[2,170],"132":[2,170],"133":[2,170],"135":[2,170],"136":[2,170],"138":[2,170],"139":[2,170],"142":[2,170],"143":[2,170],"144":[2,170],"145":[2,170],"146":[2,170],"147":[2,170],"148":[2,170],"149":[2,170],"150":[2,170],"151":[2,170],"152":[2,170],"153":[2,170],"154":[2,170],"155":[2,170],"156":[2,170],"157":[2,170],"158":[2,170],"159":[2,170],"160":[2,170],"161":[2,170],"162":[2,170],"163":[2,170],"164":[2,170],"165":[2,170],"166":[2,170],"167":[2,170],"168":[2,170]},{"4":[1,163],"6":383,"29":[1,6]},{"30":[1,384]},{"4":[1,385],"30":[2,176],"127":[2,176],"129":[2,176]},{"8":386,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[2,106],"28":212,"30":[2,106],"31":210,"32":[1,89],"33":211,"34":[1,87],"35":[1,88],"47":283,"50":[1,56],"62":[1,285],"67":284,"84":[1,282],"89":387,"90":281},{"1":[2,101],"4":[2,101],"29":[2,101],"30":[2,101],"51":[2,101],"59":[2,101],"63":[2,101],"81":[2,101],"86":[2,101],"96":[2,101],"100":[2,101],"108":[2,101],"110":[2,101],"111":[2,101],"112":[2,101],"116":[2,101],"122":[2,101],"123":[2,101],"124":[2,101],"131":[2,101],"132":[2,101],"133":[2,101],"135":[2,101],"136":[2,101],"138":[2,101],"139":[2,101],"142":[2,101],"143":[2,101],"144":[2,101],"145":[2,101],"146":[2,101],"147":[2,101],"148":[2,101],"149":[2,101],"150":[2,101],"151":[2,101],"152":[2,101],"153":[2,101],"154":[2,101],"155":[2,101],"156":[2,101],"157":[2,101],"158":[2,101],"159":[2,101],"160":[2,101],"161":[2,101],"162":[2,101],"163":[2,101],"164":[2,101],"165":[2,101],"166":[2,101],"167":[2,101],"168":[2,101]},{"4":[2,108],"30":[2,108],"86":[2,108]},{"4":[2,109],"30":[2,109],"86":[2,109]},{"4":[2,105],"30":[2,105],"51":[1,134],"63":[1,133],"86":[2,105],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"51":[1,134],"63":[1,133],"100":[1,388],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,70],"8":389,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"29":[2,70],"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"51":[2,70],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"59":[2,70],"62":[1,73],"63":[2,70],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"100":[2,70],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[2,70],"112":[2,70],"113":51,"114":[1,81],"115":52,"116":[2,70],"117":83,"122":[2,70],"123":[2,70],"125":[1,53],"130":48,"131":[2,70],"132":[2,70],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70],"156":[2,70],"157":[2,70],"158":[2,70],"159":[2,70],"160":[2,70],"161":[2,70],"162":[2,70],"163":[2,70],"164":[2,70],"165":[2,70],"166":[2,70],"167":[2,70],"168":[2,70]},{"4":[2,131],"29":[2,131],"30":[2,131],"51":[1,134],"59":[2,131],"63":[1,133],"96":[2,131],"100":[2,131],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":390,"59":[1,289]},{"1":[2,165],"4":[2,165],"29":[2,165],"30":[2,165],"51":[1,134],"59":[2,165],"63":[1,133],"81":[2,165],"86":[2,165],"96":[2,165],"100":[2,165],"108":[2,165],"109":131,"110":[2,165],"111":[2,165],"112":[2,165],"115":132,"116":[2,165],"117":83,"122":[1,126],"123":[1,127],"124":[1,391],"131":[2,165],"132":[2,165],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,167],"4":[2,167],"29":[2,167],"30":[2,167],"51":[1,134],"59":[2,167],"63":[1,133],"81":[2,167],"86":[2,167],"96":[2,167],"100":[2,167],"108":[2,167],"109":131,"110":[2,167],"111":[1,392],"112":[2,167],"115":132,"116":[2,167],"117":83,"122":[1,126],"123":[1,127],"124":[2,167],"131":[2,167],"132":[2,167],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,166],"4":[2,166],"29":[2,166],"30":[2,166],"51":[1,134],"59":[2,166],"63":[1,133],"81":[2,166],"86":[2,166],"96":[2,166],"100":[2,166],"108":[2,166],"109":131,"110":[2,166],"111":[2,166],"112":[2,166],"115":132,"116":[2,166],"117":83,"122":[1,126],"123":[1,127],"124":[2,166],"131":[2,166],"132":[2,166],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,97],"29":[2,97],"30":[2,97],"59":[2,97],"86":[2,97]},{"4":[2,61],"29":[2,61],"30":[2,61],"58":393,"59":[1,300]},{"30":[1,394],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"30":[1,395],"51":[1,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"51":[1,134],"63":[1,133],"81":[1,396],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"8":397,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"51":[2,70],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"63":[2,70],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"81":[2,70],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[2,70],"112":[2,70],"113":51,"114":[1,81],"115":52,"116":[2,70],"117":83,"122":[2,70],"123":[2,70],"125":[1,53],"130":48,"131":[2,70],"132":[2,70],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47],"142":[2,70],"143":[2,70],"144":[2,70],"145":[2,70],"146":[2,70],"147":[2,70],"148":[2,70],"149":[2,70],"150":[2,70],"151":[2,70],"152":[2,70],"153":[2,70],"154":[2,70],"155":[2,70],"156":[2,70],"157":[2,70],"158":[2,70],"159":[2,70],"160":[2,70],"161":[2,70],"162":[2,70],"163":[2,70],"164":[2,70],"165":[2,70],"166":[2,70],"167":[2,70],"168":[2,70]},{"54":[2,69],"59":[2,69]},{"30":[1,398]},{"1":[2,173],"4":[2,173],"29":[2,173],"30":[2,173],"51":[2,173],"59":[2,173],"63":[2,173],"81":[2,173],"86":[2,173],"96":[2,173],"100":[2,173],"108":[2,173],"110":[2,173],"111":[2,173],"112":[2,173],"116":[2,173],"122":[2,173],"123":[2,173],"124":[2,173],"131":[2,173],"132":[2,173],"133":[2,173],"135":[2,173],"136":[2,173],"138":[2,173],"139":[2,173],"142":[2,173],"143":[2,173],"144":[2,173],"145":[2,173],"146":[2,173],"147":[2,173],"148":[2,173],"149":[2,173],"150":[2,173],"151":[2,173],"152":[2,173],"153":[2,173],"154":[2,173],"155":[2,173],"156":[2,173],"157":[2,173],"158":[2,173],"159":[2,173],"160":[2,173],"161":[2,173],"162":[2,173],"163":[2,173],"164":[2,173],"165":[2,173],"166":[2,173],"167":[2,173],"168":[2,173]},{"30":[2,177],"127":[2,177],"129":[2,177]},{"4":[2,134],"29":[2,134],"51":[1,134],"59":[2,134],"63":[1,133],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,328],"30":[1,399]},{"1":[2,123],"4":[2,123],"29":[2,123],"30":[2,123],"51":[2,123],"59":[2,123],"63":[2,123],"74":[2,123],"75":[2,123],"76":[2,123],"77":[2,123],"80":[2,123],"81":[2,123],"82":[2,123],"83":[2,123],"86":[2,123],"94":[2,123],"96":[2,123],"100":[2,123],"108":[2,123],"110":[2,123],"111":[2,123],"112":[2,123],"116":[2,123],"122":[2,123],"123":[2,123],"124":[2,123],"131":[2,123],"132":[2,123],"133":[2,123],"135":[2,123],"136":[2,123],"138":[2,123],"139":[2,123],"142":[2,123],"143":[2,123],"144":[2,123],"145":[2,123],"146":[2,123],"147":[2,123],"148":[2,123],"149":[2,123],"150":[2,123],"151":[2,123],"152":[2,123],"153":[2,123],"154":[2,123],"155":[2,123],"156":[2,123],"157":[2,123],"158":[2,123],"159":[2,123],"160":[2,123],"161":[2,123],"162":[2,123],"163":[2,123],"164":[2,123],"165":[2,123],"166":[2,123],"167":[2,123],"168":[2,123]},{"51":[1,134],"63":[1,133],"100":[1,400],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[1,333],"29":[1,334],"30":[1,401]},{"8":402,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"8":403,"9":165,"10":24,"11":25,"12":[1,26],"13":[1,27],"14":9,"15":10,"16":11,"17":12,"18":13,"19":14,"20":15,"21":16,"22":17,"23":18,"24":19,"25":20,"26":21,"27":22,"28":23,"31":84,"32":[1,89],"33":61,"34":[1,87],"35":[1,88],"36":29,"37":[1,62],"38":[1,63],"39":[1,64],"40":[1,65],"41":[1,66],"42":[1,67],"43":[1,68],"44":[1,69],"45":28,"49":[1,57],"50":[1,56],"52":[1,37],"55":38,"56":[1,75],"57":[1,76],"62":[1,73],"64":54,"66":34,"67":85,"68":59,"69":60,"70":30,"71":31,"72":32,"73":[1,33],"84":[1,86],"87":[1,55],"91":35,"92":[1,36],"97":[1,74],"98":[1,72],"99":[1,71],"102":[1,49],"106":[1,58],"107":[1,70],"109":50,"110":[1,79],"112":[1,80],"113":51,"114":[1,81],"115":52,"116":[1,82],"117":83,"125":[1,53],"130":48,"131":[1,77],"132":[1,78],"133":[1,39],"134":[1,40],"135":[1,41],"136":[1,42],"137":[1,43],"138":[1,44],"139":[1,45],"140":[1,46],"141":[1,47]},{"4":[1,343],"29":[1,344],"30":[1,404]},{"4":[2,50],"29":[2,50],"30":[2,50],"59":[2,50],"86":[2,50]},{"4":[2,51],"29":[2,51],"30":[2,51],"59":[2,51],"86":[2,51]},{"1":[2,125],"4":[2,125],"29":[2,125],"30":[2,125],"46":[2,125],"51":[2,125],"59":[2,125],"63":[2,125],"74":[2,125],"75":[2,125],"76":[2,125],"77":[2,125],"80":[2,125],"81":[2,125],"82":[2,125],"83":[2,125],"86":[2,125],"88":[2,125],"94":[2,125],"96":[2,125],"100":[2,125],"108":[2,125],"110":[2,125],"111":[2,125],"112":[2,125],"116":[2,125],"122":[2,125],"123":[2,125],"124":[2,125],"131":[2,125],"132":[2,125],"133":[2,125],"135":[2,125],"136":[2,125],"138":[2,125],"139":[2,125],"142":[2,125],"143":[2,125],"144":[2,125],"145":[2,125],"146":[2,125],"147":[2,125],"148":[2,125],"149":[2,125],"150":[2,125],"151":[2,125],"152":[2,125],"153":[2,125],"154":[2,125],"155":[2,125],"156":[2,125],"157":[2,125],"158":[2,125],"159":[2,125],"160":[2,125],"161":[2,125],"162":[2,125],"163":[2,125],"164":[2,125],"165":[2,125],"166":[2,125],"167":[2,125],"168":[2,125]},{"51":[1,134],"63":[1,133],"81":[1,405],"109":131,"110":[1,79],"112":[1,80],"115":132,"116":[1,82],"117":83,"122":[1,126],"123":[1,127],"131":[1,129],"132":[1,130],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,171],"4":[2,171],"29":[2,171],"30":[2,171],"51":[2,171],"59":[2,171],"63":[2,171],"81":[2,171],"86":[2,171],"96":[2,171],"100":[2,171],"108":[2,171],"110":[2,171],"111":[2,171],"112":[2,171],"116":[2,171],"122":[2,171],"123":[2,171],"124":[2,171],"131":[2,171],"132":[2,171],"133":[2,171],"135":[2,171],"136":[2,171],"138":[2,171],"139":[2,171],"142":[2,171],"143":[2,171],"144":[2,171],"145":[2,171],"146":[2,171],"147":[2,171],"148":[2,171],"149":[2,171],"150":[2,171],"151":[2,171],"152":[2,171],"153":[2,171],"154":[2,171],"155":[2,171],"156":[2,171],"157":[2,171],"158":[2,171],"159":[2,171],"160":[2,171],"161":[2,171],"162":[2,171],"163":[2,171],"164":[2,171],"165":[2,171],"166":[2,171],"167":[2,171],"168":[2,171]},{"1":[2,102],"4":[2,102],"29":[2,102],"30":[2,102],"51":[2,102],"59":[2,102],"63":[2,102],"81":[2,102],"86":[2,102],"96":[2,102],"100":[2,102],"108":[2,102],"110":[2,102],"111":[2,102],"112":[2,102],"116":[2,102],"122":[2,102],"123":[2,102],"124":[2,102],"131":[2,102],"132":[2,102],"133":[2,102],"135":[2,102],"136":[2,102],"138":[2,102],"139":[2,102],"142":[2,102],"143":[2,102],"144":[2,102],"145":[2,102],"146":[2,102],"147":[2,102],"148":[2,102],"149":[2,102],"150":[2,102],"151":[2,102],"152":[2,102],"153":[2,102],"154":[2,102],"155":[2,102],"156":[2,102],"157":[2,102],"158":[2,102],"159":[2,102],"160":[2,102],"161":[2,102],"162":[2,102],"163":[2,102],"164":[2,102],"165":[2,102],"166":[2,102],"167":[2,102],"168":[2,102]},{"1":[2,124],"4":[2,124],"29":[2,124],"30":[2,124],"51":[2,124],"59":[2,124],"63":[2,124],"74":[2,124],"75":[2,124],"76":[2,124],"77":[2,124],"80":[2,124],"81":[2,124],"82":[2,124],"83":[2,124],"86":[2,124],"94":[2,124],"96":[2,124],"100":[2,124],"108":[2,124],"110":[2,124],"111":[2,124],"112":[2,124],"116":[2,124],"122":[2,124],"123":[2,124],"124":[2,124],"131":[2,124],"132":[2,124],"133":[2,124],"135":[2,124],"136":[2,124],"138":[2,124],"139":[2,124],"142":[2,124],"143":[2,124],"144":[2,124],"145":[2,124],"146":[2,124],"147":[2,124],"148":[2,124],"149":[2,124],"150":[2,124],"151":[2,124],"152":[2,124],"153":[2,124],"154":[2,124],"155":[2,124],"156":[2,124],"157":[2,124],"158":[2,124],"159":[2,124],"160":[2,124],"161":[2,124],"162":[2,124],"163":[2,124],"164":[2,124],"165":[2,124],"166":[2,124],"167":[2,124],"168":[2,124]},{"4":[2,132],"29":[2,132],"30":[2,132],"59":[2,132],"96":[2,132],"100":[2,132]},{"1":[2,168],"4":[2,168],"29":[2,168],"30":[2,168],"51":[1,134],"59":[2,168],"63":[1,133],"81":[2,168],"86":[2,168],"96":[2,168],"100":[2,168],"108":[2,168],"109":131,"110":[2,168],"111":[2,168],"112":[2,168],"115":132,"116":[2,168],"117":83,"122":[1,126],"123":[1,127],"124":[2,168],"131":[2,168],"132":[2,168],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"1":[2,169],"4":[2,169],"29":[2,169],"30":[2,169],"51":[1,134],"59":[2,169],"63":[1,133],"81":[2,169],"86":[2,169],"96":[2,169],"100":[2,169],"108":[2,169],"109":131,"110":[2,169],"111":[2,169],"112":[2,169],"115":132,"116":[2,169],"117":83,"122":[1,126],"123":[1,127],"124":[2,169],"131":[2,169],"132":[2,169],"133":[1,128],"135":[1,101],"136":[1,100],"138":[1,95],"139":[1,96],"142":[1,97],"143":[1,98],"144":[1,99],"145":[1,102],"146":[1,103],"147":[1,104],"148":[1,105],"149":[1,106],"150":[1,107],"151":[1,108],"152":[1,109],"153":[1,110],"154":[1,111],"155":[1,112],"156":[1,113],"157":[1,114],"158":[1,115],"159":[1,116],"160":[1,117],"161":[1,118],"162":[1,119],"163":[1,120],"164":[1,121],"165":[1,122],"166":[1,123],"167":[1,124],"168":[1,125]},{"4":[2,98],"29":[2,98],"30":[2,98],"59":[2,98],"86":[2,98]},{"1":[2,126],"4":[2,126],"29":[2,126],"30":[2,126],"46":[2,126],"51":[2,126],"59":[2,126],"63":[2,126],"74":[2,126],"75":[2,126],"76":[2,126],"77":[2,126],"80":[2,126],"81":[2,126],"82":[2,126],"83":[2,126],"86":[2,126],"88":[2,126],"94":[2,126],"96":[2,126],"100":[2,126],"108":[2,126],"110":[2,126],"111":[2,126],"112":[2,126],"116":[2,126],"122":[2,126],"123":[2,126],"124":[2,126],"131":[2,126],"132":[2,126],"133":[2,126],"135":[2,126],"136":[2,126],"138":[2,126],"139":[2,126],"142":[2,126],"143":[2,126],"144":[2,126],"145":[2,126],"146":[2,126],"147":[2,126],"148":[2,126],"149":[2,126],"150":[2,126],"151":[2,126],"152":[2,126],"153":[2,126],"154":[2,126],"155":[2,126],"156":[2,126],"157":[2,126],"158":[2,126],"159":[2,126],"160":[2,126],"161":[2,126],"162":[2,126],"163":[2,126],"164":[2,126],"165":[2,126],"166":[2,126],"167":[2,126],"168":[2,126]}],defaultActions:{"92":[2,4]},parseError:function parseError(str,hash){throw new Error(str)},parse:function parse(input){var self=this,stack=[0],vstack=[null],table=this.table,yytext="",yylineno=0,yyleng=0,shifts=0,reductions=0,recovering=0,TERROR=2,EOF=1;this.lexer.setInput(input);this.lexer.yy=this.yy;this.yy.lexer=this.lexer;var parseError=this.yy.parseError=typeof this.yy.parseError=="function"?this.yy.parseError:this.parseError;function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n}function checkRecover(st){for(var p in table[st]){if(p==TERROR){return true}}return false}function lex(){var token;token=self.lexer.lex()||1;if(typeof token!=="number"){token=self.symbols_[token]||token}return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected,recovered=false;while(true){state=stack[stack.length-1];if(this.defaultActions[state]){action=this.defaultActions[state]}else{if(symbol==null){symbol=lex()}action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){if(!recovering){expected=[];for(p in table[state]){if(this.terminals_[p]&&p>2){expected.push("'"+this.terminals_[p]+"'")}}if(this.lexer.showPosition){parseError.call(this,"Parse error on line "+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(", "),{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}else{parseError.call(this,"Parse error on line "+(yylineno+1)+": Unexpected '"+(this.terminals_[symbol]||symbol)+"'",{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,expected:expected})}}if(recovering==3){if(symbol==EOF){throw"Parsing halted."}yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;symbol=lex()}while(1){if(checkRecover(state)){break}if(state==0){throw"Parsing halted."}popStack(1);state=stack[stack.length-1]}preErrorSymbol=symbol;symbol=TERROR;state=stack[stack.length-1];action=table[state]&&table[state][TERROR];recovering=3}if(action[0] instanceof Array&&action.length>1){throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol)}a=action;switch(a[0]){case 1:shifts++;stack.push(symbol);vstack.push(this.lexer.yytext);stack.push(a[1]);symbol=null;if(!preErrorSymbol){yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;if(recovering>0){recovering--}}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:reductions++;len=this.productions_[a[1]][1];yyval.$=vstack[vstack.length-len];r=this.performAction.call(yyval,yytext,yyleng,yylineno,this.yy,a[1],vstack);if(typeof r!=="undefined"){return r}if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,-1*len)}stack.push(this.productions_[a[1]][0]);vstack.push(yyval.$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:this.reductionCount=reductions;this.shiftCount=shifts;return true}}return true}};return parser})();if(typeof require!=="undefined"){exports.parser=parser;exports.parse=function(){return parser.parse.apply(parser,arguments)};exports.main=function commonjsMain(args){if(!args[1]){throw new Error("Usage: "+args[0]+" FILE")}if(typeof process!=="undefined"){var source=require("fs").readFileSync(require("path").join(process.cwd(),args[1]),"utf8")}else{var cwd=require("file").path(require("file").cwd());var source=cwd.join(args[1]).read({charset:"utf-8"})}return exports.parser.parse(source)};if(require.main===module){exports.main(typeof process!=="undefined"?process.argv.slice(1):require("system").args)}}(function(){var Scope;var __hasProp=Object.prototype.hasOwnProperty;if(!(typeof process!=="undefined"&&process!==null)){this.exports=this}exports.Scope=(function(){Scope=function(parent,expressions,method){var _a;_a=[parent,expressions,method];this.parent=_a[0];this.expressions=_a[1];this.method=_a[2];this.variables={};if(this.parent){this.tempVar=this.parent.tempVar}else{Scope.root=this;this.tempVar="_a"}return this};Scope.root=null;Scope.prototype.find=function(name){if(this.check(name)){return true}this.variables[name]="var";return false};Scope.prototype.any=function(fn){var _a,k,v;_a=this.variables;for(v in _a){if(!__hasProp.call(_a,v)){continue}k=_a[v];if(fn(v,k)){return true}}return false};Scope.prototype.parameter=function(name){return(this.variables[name]="param")};Scope.prototype.check=function(name){if(this.variables.hasOwnProperty(name)){return true}return !!(this.parent&&this.parent.check(name))};Scope.prototype.freeVariable=function(){var ordinal;while(this.check(this.tempVar)){ordinal=1+parseInt(this.tempVar.substr(1),36);this.tempVar="_"+ordinal.toString(36).replace(/\d/g,"a")}this.variables[this.tempVar]="var";return this.tempVar};Scope.prototype.assign=function(name,value){return(this.variables[name]={value:value,assigned:true})};Scope.prototype.hasDeclarations=function(body){return body===this.expressions&&this.any(function(k,val){return val==="var"})};Scope.prototype.hasAssignments=function(body){return body===this.expressions&&this.any(function(k,val){return val.assigned})};Scope.prototype.declaredVariables=function(){var _a,_b,key,val;return(function(){_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];val==="var"?_a.push(key):null}return _a}).call(this).sort()};Scope.prototype.assignedVariables=function(){var _a,_b,key,val;_a=[];_b=this.variables;for(key in _b){if(!__hasProp.call(_b,key)){continue}val=_b[key];val.assigned?_a.push(""+key+" = "+val.value):null}return _a};Scope.prototype.compiledDeclarations=function(){return this.declaredVariables().join(", ")};Scope.prototype.compiledAssignments=function(){return this.assignedVariables().join(", ")};return Scope}).call(this)})();(function(){var AccessorNode,ArrayNode,AssignNode,BaseNode,CallNode,ClassNode,ClosureNode,CodeNode,CommentNode,DOUBLE_PARENS,ExistenceNode,Expressions,ExtendsNode,ForNode,IDENTIFIER,IS_STRING,IfNode,InNode,IndexNode,LiteralNode,NUMBER,ObjectNode,OpNode,ParamNode,ParentheticalNode,PushNode,RangeNode,ReturnNode,SIMPLENUM,Scope,SliceNode,SplatNode,TAB,TRAILING_WHITESPACE,ThrowNode,TryNode,UTILITIES,ValueNode,WhileNode,_a,compact,del,ends,flatten,helpers,include,indexOf,literal,merge,starts,utility;var __extends=function(child,parent){var ctor=function(){};ctor.prototype=parent.prototype;child.prototype=new ctor();child.prototype.constructor=child;if(typeof parent.extended==="function"){parent.extended(child)}child.__superClass__=parent.prototype};if(typeof process!=="undefined"&&process!==null){Scope=require("./scope").Scope;helpers=require("./helpers").helpers}else{this.exports=this;helpers=this.helpers;Scope=this.Scope}_a=helpers;compact=_a.compact;flatten=_a.flatten;merge=_a.merge;del=_a.del;include=_a.include;indexOf=_a.indexOf;starts=_a.starts;ends=_a.ends;exports.BaseNode=(function(){BaseNode=function(){};BaseNode.prototype.compile=function(o){var closure,top;this.options=merge(o||{});this.tab=o.indent;if(!(this instanceof ValueNode||this instanceof CallNode)){del(this.options,"operation");if(!(this instanceof AccessorNode||this instanceof IndexNode)){del(this.options,"chainRoot")}}top=this.topSensitive()?this.options.top:del(this.options,"top");closure=this.isStatement()&&!this.isPureStatement()&&!top&&!this.options.asStatement&&!(this instanceof CommentNode)&&!this.containsPureStatement();return closure?this.compileClosure(this.options):this.compileNode(this.options)};BaseNode.prototype.compileClosure=function(o){this.tab=o.indent;o.sharedScope=o.scope;return ClosureNode.wrap(this).compile(o)};BaseNode.prototype.compileReference=function(o,options){var compiled,pair,reference;options=options||{};pair=(function(){if(!((this instanceof CallNode||this.contains(function(n){return n instanceof CallNode}))||(this instanceof ValueNode&&(!(this.base instanceof LiteralNode)||this.hasProperties())))){return[this,this]}else{if(this instanceof ValueNode&&options.assignment){return this.cacheIndexes(o)}else{reference=literal(o.scope.freeVariable());compiled=new AssignNode(reference,this);return[compiled,reference]}}}).call(this);if(options.precompile){return[pair[0].compile(o),pair[1].compile(o)]}return pair};BaseNode.prototype.idt=function(tabs){var idt,num;idt=this.tab||"";num=(tabs||0)+1;while(num-=1){idt+=TAB}return idt};BaseNode.prototype.makeReturn=function(){return new ReturnNode(this)};BaseNode.prototype.contains=function(block){var contains;contains=false;this.traverseChildren(false,function(node){if(block(node)){contains=true;return false}});return contains};BaseNode.prototype.containsType=function(type){return this instanceof type||this.contains(function(n){return n instanceof type})};BaseNode.prototype.containsPureStatement=function(){return this.isPureStatement()||this.contains(function(n){return n.isPureStatement&&n.isPureStatement()})};BaseNode.prototype.traverse=function(block){return this.traverseChildren(true,block)};BaseNode.prototype.toString=function(idt,override){var _b,_c,_d,_e,child,children;idt=idt||"";children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+(override||this["class"])+children};BaseNode.prototype.eachChild=function(func){var _b,_c,_d,_e,_f,_g,_h,attr,child;if(!(this.children)){return null}_b=[];_d=this.children;for(_c=0,_e=_d.length;_c<_e;_c++){attr=_d[_c];if(this[attr]){_g=flatten([this[attr]]);for(_f=0,_h=_g.length;_f<_h;_f++){child=_g[_f];if(func(child)===false){return null}}}}return _b};BaseNode.prototype.collectChildren=function(){var nodes;nodes=[];this.eachChild(function(node){return nodes.push(node)});return nodes};BaseNode.prototype.traverseChildren=function(crossScope,func){return this.eachChild(function(child){func.apply(this,arguments);if(child instanceof BaseNode){return child.traverseChildren(crossScope,func)}})};BaseNode.prototype["class"]="BaseNode";BaseNode.prototype.children=[];BaseNode.prototype.unwrap=function(){return this};BaseNode.prototype.isStatement=function(){return false};BaseNode.prototype.isPureStatement=function(){return false};BaseNode.prototype.topSensitive=function(){return false};return BaseNode})();exports.Expressions=(function(){Expressions=function(nodes){this.expressions=compact(flatten(nodes||[]));return this};__extends(Expressions,BaseNode);Expressions.prototype["class"]="Expressions";Expressions.prototype.children=["expressions"];Expressions.prototype.isStatement=function(){return true};Expressions.prototype.push=function(node){this.expressions.push(node);return this};Expressions.prototype.unshift=function(node){this.expressions.unshift(node);return this};Expressions.prototype.unwrap=function(){return this.expressions.length===1?this.expressions[0]:this};Expressions.prototype.empty=function(){return this.expressions.length===0};Expressions.prototype.makeReturn=function(){var idx,last;idx=this.expressions.length-1;last=this.expressions[idx];if(last instanceof CommentNode){last=this.expressions[idx-=1]}if(!last||last instanceof ReturnNode){return this}this.expressions[idx]=last.makeReturn();return this};Expressions.prototype.compile=function(o){o=o||{};return o.scope?Expressions.__superClass__.compile.call(this,o):this.compileRoot(o)};Expressions.prototype.compileNode=function(o){var _b,_c,_d,_e,node;return(function(){_b=[];_d=this.expressions;for(_c=0,_e=_d.length;_c<_e;_c++){node=_d[_c];_b.push(this.compileExpression(node,merge(o)))}return _b}).call(this).join("\n")};Expressions.prototype.compileRoot=function(o){var code;o.indent=(this.tab=o.noWrap?"":TAB);o.scope=new Scope(null,this,null);code=this.compileWithDeclarations(o);code=code.replace(TRAILING_WHITESPACE,"");code=code.replace(DOUBLE_PARENS,"($1)");return o.noWrap?code:("(function() {\n"+code+"\n})();\n")};Expressions.prototype.compileWithDeclarations=function(o){var code;code=this.compileNode(o);if(o.scope.hasAssignments(this)){code=(""+(this.tab)+"var "+(o.scope.compiledAssignments())+";\n"+code)}if(!o.globals&&o.scope.hasDeclarations(this)){code=(""+(this.tab)+"var "+(o.scope.compiledDeclarations())+";\n"+code)}return code};Expressions.prototype.compileExpression=function(node,o){var compiledNode;this.tab=o.indent;compiledNode=node.compile(merge(o,{top:true}));return node.isStatement()?compiledNode:(""+(this.idt())+compiledNode+";")};return Expressions})();Expressions.wrap=function(nodes){if(nodes.length===1&&nodes[0] instanceof Expressions){return nodes[0]}return new Expressions(nodes)};exports.LiteralNode=(function(){LiteralNode=function(_b){this.value=_b;return this};__extends(LiteralNode,BaseNode);LiteralNode.prototype["class"]="LiteralNode";LiteralNode.prototype.makeReturn=function(){return this.isStatement()?this:LiteralNode.__superClass__.makeReturn.call(this)};LiteralNode.prototype.isStatement=function(){return this.value==="break"||this.value==="continue"};LiteralNode.prototype.isPureStatement=LiteralNode.prototype.isStatement;LiteralNode.prototype.compileNode=function(o){var end,idt;idt=this.isStatement()?this.idt():"";end=this.isStatement()?";":"";return""+idt+this.value+end};LiteralNode.prototype.toString=function(idt){return' "'+this.value+'"'};return LiteralNode})();exports.ReturnNode=(function(){ReturnNode=function(_b){this.expression=_b;return this};__extends(ReturnNode,BaseNode);ReturnNode.prototype["class"]="ReturnNode";ReturnNode.prototype.isStatement=function(){return true};ReturnNode.prototype.isPureStatement=function(){return true};ReturnNode.prototype.children=["expression"];ReturnNode.prototype.makeReturn=function(){return this};ReturnNode.prototype.compile=function(o){var expr;expr=this.expression.makeReturn();if(!(expr instanceof ReturnNode)){return expr.compile(o)}return ReturnNode.__superClass__.compile.call(this,o)};ReturnNode.prototype.compileNode=function(o){if(this.expression.isStatement()){o.asStatement=true}return""+(this.tab)+"return "+(this.expression.compile(o))+";"};return ReturnNode})();exports.ValueNode=(function(){ValueNode=function(_b,_c){this.properties=_c;this.base=_b;this.properties=this.properties||[];return this};__extends(ValueNode,BaseNode);ValueNode.prototype.SOAK=" == undefined ? undefined : ";ValueNode.prototype["class"]="ValueNode";ValueNode.prototype.children=["base","properties"];ValueNode.prototype.push=function(prop){this.properties.push(prop);return this};ValueNode.prototype.hasProperties=function(){return !!this.properties.length};ValueNode.prototype.isArray=function(){return this.base instanceof ArrayNode&&!this.hasProperties()};ValueNode.prototype.isObject=function(){return this.base instanceof ObjectNode&&!this.hasProperties()};ValueNode.prototype.isSplice=function(){return this.hasProperties()&&this.properties[this.properties.length-1] instanceof SliceNode};ValueNode.prototype.makeReturn=function(){return this.hasProperties()?ValueNode.__superClass__.makeReturn.call(this):this.base.makeReturn()};ValueNode.prototype.unwrap=function(){return this.properties.length?this:this.base};ValueNode.prototype.isStatement=function(){return this.base.isStatement&&this.base.isStatement()&&!this.hasProperties()};ValueNode.prototype.isNumber=function(){return this.base instanceof LiteralNode&&this.base.value.match(NUMBER)};ValueNode.prototype.isStart=function(o){var node;if(this===o.chainRoot&&this.properties[0] instanceof AccessorNode){return true}node=o.chainRoot.base||o.chainRoot.variable;while(node instanceof CallNode){node=node.variable}return node===this};ValueNode.prototype.cacheIndexes=function(o){var _b,_c,_d,copy,i;copy=new ValueNode(this.base,this.properties.slice(0));_c=copy.properties;for(_b=0,_d=_c.length;_b<_d;_b++){(function(){var _e,index,indexVar;var i=_b;var prop=_c[_b];if(prop instanceof IndexNode&&prop.contains(function(n){return n instanceof CallNode})){_e=prop.index.compileReference(o);index=_e[0];indexVar=_e[1];this.properties[i]=new IndexNode(index);return(copy.properties[i]=new IndexNode(indexVar))}}).call(this)}return[this,copy]};ValueNode.prototype.compile=function(o){return !o.top||this.properties.length?ValueNode.__superClass__.compile.call(this,o):this.base.compile(o)};ValueNode.prototype.compileNode=function(o){var _b,_c,_d,baseline,complete,i,only,op,props;only=del(o,"onlyFirst");op=del(o,"operation");props=only?this.properties.slice(0,this.properties.length-1):this.properties;o.chainRoot=o.chainRoot||this;baseline=this.base.compile(o);if(this.hasProperties()&&(this.base instanceof ObjectNode||this.isNumber())){baseline=("("+baseline+")")}complete=(this.last=baseline);_c=props;for(_b=0,_d=_c.length;_b<_d;_b++){(function(){var part,temp;var i=_b;var prop=_c[_b];this.source=baseline;if(prop.soakNode){if(this.base instanceof CallNode||this.base.contains(function(n){return n instanceof CallNode})&&i===0){temp=o.scope.freeVariable();complete=("("+(baseline=temp)+" = ("+complete+"))")}if(i===0&&this.isStart(o)){complete=("typeof "+complete+' === "undefined" || '+baseline)}return complete+=this.SOAK+(baseline+=prop.compile(o))}else{part=prop.compile(o);baseline+=part;complete+=part;return(this.last=part)}}).call(this)}return op&&this.wrapped?("("+complete+")"):complete};return ValueNode})();exports.CommentNode=(function(){CommentNode=function(_b){this.lines=_b;return this};__extends(CommentNode,BaseNode);CommentNode.prototype["class"]="CommentNode";CommentNode.prototype.isStatement=function(){return true};CommentNode.prototype.makeReturn=function(){return this};CommentNode.prototype.compileNode=function(o){var sep;sep=("\n"+this.tab);return""+this.tab+"/*"+sep+(this.lines.join(sep))+"\n"+this.tab+"*/"};return CommentNode})();exports.CallNode=(function(){CallNode=function(variable,_b){this.args=_b;this.isNew=false;this.isSuper=variable==="super";this.variable=this.isSuper?null:variable;this.args=this.args||[];this.compileSplatArguments=function(o){return SplatNode.compileSplattedArray.call(this,this.args,o)};return this};__extends(CallNode,BaseNode);CallNode.prototype["class"]="CallNode";CallNode.prototype.children=["variable","args"];CallNode.prototype.newInstance=function(){this.isNew=true;return this};CallNode.prototype.prefix=function(){return this.isNew?"new ":""};CallNode.prototype.superReference=function(o){var meth,methname;methname=o.scope.method.name;return(meth=(function(){if(o.scope.method.proto){return""+(o.scope.method.proto)+".__superClass__."+methname}else{if(methname){return""+(methname)+".__superClass__.constructor"}else{throw new Error("cannot call super on an anonymous function.")}}})())};CallNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,arg,args,compilation;if(!(o.chainRoot)){o.chainRoot=this}_c=this.args;for(_b=0,_d=_c.length;_b<_d;_b++){arg=_c[_b];arg instanceof SplatNode?(compilation=this.compileSplat(o)):null}if(!(compilation)){args=(function(){_e=[];_g=this.args;for(_f=0,_h=_g.length;_f<_h;_f++){arg=_g[_f];_e.push(arg.compile(o))}return _e}).call(this).join(", ");compilation=this.isSuper?this.compileSuper(args,o):(""+(this.prefix())+(this.variable.compile(o))+"("+args+")")}return o.operation&&this.wrapped?("("+compilation+")"):compilation};CallNode.prototype.compileSuper=function(args,o){return""+(this.superReference(o))+".call(this"+(args.length?", ":"")+args+")"};CallNode.prototype.compileSplat=function(o){var meth,obj,temp;meth=this.variable?this.variable.compile(o):this.superReference(o);obj=this.variable&&this.variable.source||"this";if(obj.match(/\(/)){temp=o.scope.freeVariable();obj=temp;meth=("("+temp+" = "+(this.variable.source)+")"+(this.variable.last))}if(this.isNew){utility("extends");return"(function() {\n"+(this.idt(1))+"var ctor = function(){};\n"+(this.idt(1))+"__extends(ctor, "+meth+");\n"+(this.idt(1))+"return "+(meth)+".apply(new ctor, "+(this.compileSplatArguments(o))+");\n"+this.tab+"}).call(this)"}else{return""+(this.prefix())+(meth)+".apply("+obj+", "+(this.compileSplatArguments(o))+")"}};return CallNode})();exports.ExtendsNode=(function(){ExtendsNode=function(_b,_c){this.parent=_c;this.child=_b;return this};__extends(ExtendsNode,BaseNode);ExtendsNode.prototype["class"]="ExtendsNode";ExtendsNode.prototype.children=["child","parent"];ExtendsNode.prototype.compileNode=function(o){var ref;ref=new ValueNode(literal(utility("extends")));return(new CallNode(ref,[this.child,this.parent])).compile(o)};return ExtendsNode})();exports.AccessorNode=(function(){AccessorNode=function(_b,tag){this.name=_b;this.prototype=tag==="prototype"?".prototype":"";this.soakNode=tag==="soak";return this};__extends(AccessorNode,BaseNode);AccessorNode.prototype["class"]="AccessorNode";AccessorNode.prototype.children=["name"];AccessorNode.prototype.compileNode=function(o){var name,namePart;name=this.name.compile(o);o.chainRoot.wrapped=o.chainRoot.wrapped||this.soakNode;namePart=name.match(IS_STRING)?("["+name+"]"):("."+name);return this.prototype+namePart};return AccessorNode})();exports.IndexNode=(function(){IndexNode=function(_b){this.index=_b;return this};__extends(IndexNode,BaseNode);IndexNode.prototype["class"]="IndexNode";IndexNode.prototype.children=["index"];IndexNode.prototype.compileNode=function(o){var idx,prefix;o.chainRoot.wrapped=o.chainRoot.wrapped||this.soakNode;idx=this.index.compile(o);prefix=this.proto?".prototype":"";return""+prefix+"["+idx+"]"};return IndexNode})();exports.RangeNode=(function(){RangeNode=function(_b,_c,exclusive){this.to=_c;this.from=_b;this.exclusive=!!exclusive;this.equals=this.exclusive?"":"=";return this};__extends(RangeNode,BaseNode);RangeNode.prototype["class"]="RangeNode";RangeNode.prototype.children=["from","to"];RangeNode.prototype.compileVariables=function(o){var _b,_c,_d,parts;o=merge(o,{top:true});_b=this.from.compileReference(o,{precompile:true});this.from=_b[0];this.fromVar=_b[1];_c=this.to.compileReference(o,{precompile:true});this.to=_c[0];this.toVar=_c[1];_d=[this.fromVar.match(SIMPLENUM),this.toVar.match(SIMPLENUM)];this.fromNum=_d[0];this.toNum=_d[1];parts=[];if(this.from!==this.fromVar){parts.push(this.from)}if(this.to!==this.toVar){parts.push(this.to)}return parts.length?(""+(parts.join("; "))+"; "):""};RangeNode.prototype.compileNode=function(o){var compare,idx,incr,intro,step,stepPart,vars;if(!(o.index)){return this.compileArray(o)}if(this.fromNum&&this.toNum){return this.compileSimple(o)}idx=del(o,"index");step=del(o,"step");vars=(""+idx+" = "+this.fromVar);intro=("("+this.fromVar+" <= "+this.toVar+" ? "+idx);compare=(""+intro+" <"+this.equals+" "+this.toVar+" : "+idx+" >"+this.equals+" "+this.toVar+")");stepPart=step?step.compile(o):"1";incr=step?(""+idx+" += "+stepPart):(""+intro+" += "+stepPart+" : "+idx+" -= "+stepPart+")");return""+vars+"; "+compare+"; "+incr};RangeNode.prototype.compileSimple=function(o){var _b,from,idx,step,to;_b=[parseInt(this.fromNum,10),parseInt(this.toNum,10)];from=_b[0];to=_b[1];idx=del(o,"index");step=del(o,"step");step=step&&(""+idx+" += "+(step.compile(o)));return from<=to?(""+idx+" = "+from+"; "+idx+" <"+this.equals+" "+to+"; "+(step||(""+idx+"++"))):(""+idx+" = "+from+"; "+idx+" >"+this.equals+" "+to+"; "+(step||(""+idx+"--")))};RangeNode.prototype.compileArray=function(o){var _b,_c,body,clause,i,idt,post,pre,range,result,vars;idt=this.idt(1);vars=this.compileVariables(merge(o,{indent:idt}));if(this.fromNum&&this.toNum&&Math.abs(+this.fromNum-+this.toNum)<=20){range=(function(){_c=[];for(var _b=+this.fromNum;+this.fromNum<=+this.toNum?_b<=+this.toNum:_b>=+this.toNum;+this.fromNum<=+this.toNum?_b+=1:_b-=1){_c.push(_b)}return _c}).call(this);if(this.exclusive){range.pop()}return("["+(range.join(", "))+"]")}i=o.scope.freeVariable();result=o.scope.freeVariable();pre=("\n"+(idt)+(result)+" = []; "+(vars));if(this.fromNum&&this.toNum){o.index=i;body=this.compileSimple(o)}else{clause=(""+this.fromVar+" <= "+this.toVar+" ?");body=("var "+i+" = "+this.fromVar+"; "+clause+" "+i+" <"+this.equals+" "+this.toVar+" : "+i+" >"+this.equals+" "+this.toVar+"; "+clause+" "+i+" += 1 : "+i+" -= 1")}post=("{ "+(result)+".push("+i+"); }\n"+(idt)+"return "+result+";\n"+o.indent);return"(function() {"+(pre)+"\n"+(idt)+"for ("+body+")"+post+"}).call(this)"};return RangeNode})();exports.SliceNode=(function(){SliceNode=function(_b){this.range=_b;return this};__extends(SliceNode,BaseNode);SliceNode.prototype["class"]="SliceNode";SliceNode.prototype.children=["range"];SliceNode.prototype.compileNode=function(o){var from,plusPart,to;from=this.range.from.compile(o);to=this.range.to.compile(o);plusPart=this.range.exclusive?"":" + 1";return".slice("+from+", "+to+plusPart+")"};return SliceNode})();exports.ObjectNode=(function(){ObjectNode=function(props){this.objects=(this.properties=props||[]);return this};__extends(ObjectNode,BaseNode);ObjectNode.prototype["class"]="ObjectNode";ObjectNode.prototype.children=["properties"];ObjectNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,i,indent,inner,join,lastNoncom,nonComments,prop,props;o.indent=this.idt(1);nonComments=(function(){_b=[];_d=this.properties;for(_c=0,_e=_d.length;_c<_e;_c++){prop=_d[_c];!(prop instanceof CommentNode)?_b.push(prop):null}return _b}).call(this);lastNoncom=nonComments[nonComments.length-1];props=(function(){_f=[];_g=this.properties;for(i=0,_h=_g.length;i<_h;i++){prop=_g[i];_f.push((function(){join=",\n";if((prop===lastNoncom)||(prop instanceof CommentNode)){join="\n"}if(i===this.properties.length-1){join=""}indent=prop instanceof CommentNode?"":this.idt(1);if(!(prop instanceof AssignNode||prop instanceof CommentNode)){prop=new AssignNode(prop,prop,"object")}return indent+prop.compile(o)+join}).call(this))}return _f}).call(this);props=props.join("");inner=props?"\n"+props+"\n"+this.idt():"";return"{"+inner+"}"};return ObjectNode})();exports.ArrayNode=(function(){ArrayNode=function(_b){this.objects=_b;this.objects=this.objects||[];this.compileSplatLiteral=function(o){return SplatNode.compileSplattedArray.call(this,this.objects,o)};return this};__extends(ArrayNode,BaseNode);ArrayNode.prototype["class"]="ArrayNode";ArrayNode.prototype.children=["objects"];ArrayNode.prototype.compileNode=function(o){var _b,_c,code,i,obj,objects;o.indent=this.idt(1);objects=[];_b=this.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];code=obj.compile(o);if(obj instanceof SplatNode){return this.compileSplatLiteral(o)}else{if(obj instanceof CommentNode){objects.push("\n"+code+"\n"+o.indent)}else{if(i===this.objects.length-1){objects.push(code)}else{objects.push(""+code+", ")}}}}objects=objects.join("");return indexOf(objects,"\n")>=0?("[\n"+(this.idt(1))+objects+"\n"+this.tab+"]"):("["+objects+"]")};return ArrayNode})();exports.ClassNode=(function(){ClassNode=function(_b,_c,_d){this.properties=_d;this.parent=_c;this.variable=_b;this.properties=this.properties||[];this.returns=false;return this};__extends(ClassNode,BaseNode);ClassNode.prototype["class"]="ClassNode";ClassNode.prototype.children=["variable","parent","properties"];ClassNode.prototype.isStatement=function(){return true};ClassNode.prototype.makeReturn=function(){this.returns=true;return this};ClassNode.prototype.compileNode=function(o){var _b,_c,_d,_e,access,applied,className,constScope,construct,constructor,extension,func,me,pname,prop,props,pvar,returns,val;if(this.variable==="__temp__"){this.variable=literal(o.scope.freeVariable())}extension=this.parent&&new ExtendsNode(this.variable,this.parent);props=new Expressions();o.top=true;me=null;className=this.variable.compile(o);constScope=null;if(this.parent){applied=new ValueNode(this.parent,[new AccessorNode(literal("apply"))]);constructor=new CodeNode([],new Expressions([new CallNode(applied,[literal("this"),literal("arguments")])]))}else{constructor=new CodeNode()}_c=this.properties;for(_b=0,_d=_c.length;_b<_d;_b++){prop=_c[_b];_e=[prop.variable,prop.value];pvar=_e[0];func=_e[1];if(pvar&&pvar.base.value==="constructor"&&func instanceof CodeNode){if(func.bound){throw new Error("cannot define a constructor as a bound function.")}func.name=className;func.body.push(new ReturnNode(literal("this")));this.variable=new ValueNode(this.variable);this.variable.namespaced=include(func.name,".");constructor=func;continue}if(func instanceof CodeNode&&func.bound){func.bound=false;constScope=constScope||new Scope(o.scope,constructor.body,constructor);me=me||constScope.freeVariable();pname=pvar.compile(o);if(constructor.body.empty()){constructor.body.push(new ReturnNode(literal("this")))}constructor.body.unshift(literal(("this."+(pname)+" = function(){ return "+(className)+".prototype."+(pname)+".apply("+me+", arguments); }")))}if(pvar){access=prop.context==="this"?pvar.base.properties[0]:new AccessorNode(pvar,"prototype");val=new ValueNode(this.variable,[access]);prop=new AssignNode(val,func)}props.push(prop)}if(me){constructor.body.unshift(literal(""+me+" = this"))}construct=this.idt()+(new AssignNode(this.variable,constructor)).compile(merge(o,{sharedScope:constScope}))+";";props=!props.empty()?"\n"+props.compile(o):"";extension=extension?"\n"+this.idt()+extension.compile(o)+";":"";returns=this.returns?"\n"+new ReturnNode(this.variable).compile(o):"";return""+construct+extension+props+returns};return ClassNode})();exports.AssignNode=(function(){AssignNode=function(_b,_c,_d){this.context=_d;this.value=_c;this.variable=_b;return this};__extends(AssignNode,BaseNode);AssignNode.prototype.PROTO_ASSIGN=/^(\S+)\.prototype/;AssignNode.prototype.LEADING_DOT=/^\.(prototype\.)?/;AssignNode.prototype["class"]="AssignNode";AssignNode.prototype.children=["variable","value"];AssignNode.prototype.topSensitive=function(){return true};AssignNode.prototype.isValue=function(){return this.variable instanceof ValueNode};AssignNode.prototype.makeReturn=function(){if(this.isStatement()){return new Expressions([this,new ReturnNode(this.variable)])}else{return AssignNode.__superClass__.makeReturn.call(this)}};AssignNode.prototype.isStatement=function(){return this.isValue()&&(this.variable.isArray()||this.variable.isObject())};AssignNode.prototype.compileNode=function(o){var last,match,name,proto,stmt,top,val;top=del(o,"top");if(this.isStatement()){return this.compilePatternMatch(o)}if(this.isValue()&&this.variable.isSplice()){return this.compileSplice(o)}stmt=del(o,"asStatement");name=this.variable.compile(o);last=this.isValue()?this.variable.last.replace(this.LEADING_DOT,""):name;match=name.match(this.PROTO_ASSIGN);proto=match&&match[1];if(this.value instanceof CodeNode){if(last.match(IDENTIFIER)){this.value.name=last}if(proto){this.value.proto=proto}}val=this.value.compile(o);if(this.context==="object"){return(""+name+": "+val)}if(!(this.isValue()&&(this.variable.hasProperties()||this.variable.namespaced))){o.scope.find(name)}val=(""+name+" = "+val);if(stmt){return(""+this.tab+val+";")}return top?val:("("+val+")")};AssignNode.prototype.compilePatternMatch=function(o){var _b,_c,_d,accessClass,assigns,code,i,idx,isString,obj,oindex,olength,splat,val,valVar,value;valVar=o.scope.freeVariable();value=this.value.isStatement()?ClosureNode.wrap(this.value):this.value;assigns=[(""+this.tab+valVar+" = "+(value.compile(o))+";")];o.top=true;o.asStatement=true;splat=false;_b=this.variable.base.objects;for(i=0,_c=_b.length;i<_c;i++){obj=_b[i];idx=i;if(this.variable.isObject()){if(obj instanceof AssignNode){_d=[obj.value,obj.variable.base];obj=_d[0];idx=_d[1]}else{idx=obj}}if(!(obj instanceof ValueNode||obj instanceof SplatNode)){throw new Error("pattern matching must use only identifiers on the left-hand side.")}isString=idx.value&&idx.value.match(IS_STRING);accessClass=isString||this.variable.isArray()?IndexNode:AccessorNode;if(obj instanceof SplatNode&&!splat){val=literal(obj.compileValue(o,valVar,(oindex=indexOf(this.variable.base.objects,obj)),(olength=this.variable.base.objects.length)-oindex-1));splat=true}else{if(typeof idx!=="object"){idx=literal(splat?(""+(valVar)+".length - "+(olength-idx)):idx)}val=new ValueNode(literal(valVar),[new accessClass(idx)])}assigns.push(new AssignNode(obj,val).compile(o))}code=assigns.join("\n");return code};AssignNode.prototype.compileSplice=function(o){var from,l,name,plus,range,to,val;name=this.variable.compile(merge(o,{onlyFirst:true}));l=this.variable.properties.length;range=this.variable.properties[l-1].range;plus=range.exclusive?"":" + 1";from=range.from.compile(o);to=range.to.compile(o)+" - "+from+plus;val=this.value.compile(o);return""+(name)+".splice.apply("+name+", ["+from+", "+to+"].concat("+val+"))"};return AssignNode})();exports.CodeNode=(function(){CodeNode=function(_b,_c,tag){this.body=_c;this.params=_b;this.params=this.params||[];this.body=this.body||new Expressions();this.bound=tag==="boundfunc";return this};__extends(CodeNode,BaseNode);CodeNode.prototype["class"]="CodeNode";CodeNode.prototype.children=["params","body"];CodeNode.prototype.compileNode=function(o){var _b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,code,empty,func,i,param,params,sharedScope,splat,top,value;sharedScope=del(o,"sharedScope");top=del(o,"top");o.scope=sharedScope||new Scope(o.scope,this.body,this);o.top=true;o.indent=this.idt(1);empty=this.body.expressions.length===0;del(o,"noWrap");del(o,"globals");splat=undefined;params=[];_b=this.params;for(i=0,_c=_b.length;i<_c;i++){param=_b[i];if(splat){if(param.attach){param.assign=new AssignNode(new ValueNode(literal("this"),[new AccessorNode(param.value)]));this.body.expressions.splice(splat.index+1,0,param.assign)}splat.trailings.push(param)}else{if(param.attach){_d=param;value=_d.value;_e=[literal(o.scope.freeVariable()),param.splat];param=_e[0];param.splat=_e[1];this.body.unshift(new AssignNode(new ValueNode(literal("this"),[new AccessorNode(value)]),param))}if(param.splat){splat=new SplatNode(param.value);splat.index=i;splat.trailings=[];splat.arglength=this.params.length;this.body.unshift(splat)}else{params.push(param)}}}params=(function(){_f=[];_h=params;for(_g=0,_i=_h.length;_g<_i;_g++){param=_h[_g];_f.push(param.compile(o))}return _f})();if(!(empty)){this.body.makeReturn()}_k=params;for(_j=0,_l=_k.length;_j<_l;_j++){param=_k[_j];(o.scope.parameter(param))}code=this.body.expressions.length?("\n"+(this.body.compileWithDeclarations(o))+"\n"):"";func=("function("+(params.join(", "))+") {"+code+(code&&this.tab)+"}");if(this.bound){return(""+(utility("bind"))+"("+func+", this)")}return top?("("+func+")"):func};CodeNode.prototype.topSensitive=function(){return true};CodeNode.prototype.traverseChildren=function(crossScope,func){if(crossScope){return CodeNode.__superClass__.traverseChildren.call(this,crossScope,func)}};CodeNode.prototype.toString=function(idt){var _b,_c,_d,_e,child,children;idt=idt||"";children=(function(){_b=[];_d=this.collectChildren();for(_c=0,_e=_d.length;_c<_e;_c++){child=_d[_c];_b.push(child.toString(idt+TAB))}return _b}).call(this).join("");return"\n"+idt+children};return CodeNode})();exports.ParamNode=(function(){ParamNode=function(_b,_c,_d){this.splat=_d;this.attach=_c;this.name=_b;this.value=literal(this.name);return this};__extends(ParamNode,BaseNode);ParamNode.prototype["class"]="ParamNode";ParamNode.prototype.children=["name"];ParamNode.prototype.compileNode=function(o){return this.value.compile(o)};ParamNode.prototype.toString=function(idt){return this.attach?(literal("@"+this.name)).toString(idt):this.value.toString(idt)};return ParamNode})();exports.SplatNode=(function(){SplatNode=function(name){if(!(name.compile)){name=literal(name)}this.name=name;return this};__extends(SplatNode,BaseNode);SplatNode.prototype["class"]="SplatNode";SplatNode.prototype.children=["name"];SplatNode.prototype.compileNode=function(o){var _b;return(typeof(_b=this.index)!=="undefined"&&_b!==null)?this.compileParam(o):this.name.compile(o)};SplatNode.prototype.compileParam=function(o){var _b,_c,assign,end,idx,len,name,pos,trailing,variadic;name=this.name.compile(o);o.scope.find(name);end="";if(this.trailings.length){len=o.scope.freeVariable();o.scope.assign(len,"arguments.length");variadic=o.scope.freeVariable();o.scope.assign(variadic,(""+len+" >= "+this.arglength));end=this.trailings.length?(", "+len+" - "+(this.trailings.length)):null;_b=this.trailings;for(idx=0,_c=_b.length;idx<_c;idx++){trailing=_b[idx];if(trailing.attach){assign=trailing.assign;trailing=literal(o.scope.freeVariable());assign.value=trailing}pos=this.trailings.length-idx;o.scope.assign(trailing.compile(o),("arguments["+variadic+" ? "+len+" - "+pos+" : "+(this.index+idx)+"]"))}}return""+name+" = "+(utility("slice"))+".call(arguments, "+this.index+end+")"};SplatNode.prototype.compileValue=function(o,name,index,trailings){var trail;trail=trailings?(", "+(name)+".length - "+trailings):"";return""+(utility("slice"))+".call("+name+", "+index+trail+")"};SplatNode.compileSplattedArray=function(list,o){var _b,_c,arg,args,code,i,last,prev;args=[];_b=list;for(i=0,_c=_b.length;i<_c;i++){arg=_b[i];code=arg.compile(o);prev=args[(last=args.length-1)];if(!(arg instanceof SplatNode)){if(prev&&starts(prev,"[")&&ends(prev,"]")){args[last]=(""+(prev.substr(0,prev.length-1))+", "+code+"]");continue}else{if(prev&&starts(prev,".concat([")&&ends(prev,"])")){args[last]=(""+(prev.substr(0,prev.length-2))+", "+code+"])");continue}else{code=("["+code+"]")}}}args.push(i===0?code:(".concat("+code+")"))}return args.join("")};return SplatNode}).call(this);exports.WhileNode=(function(){WhileNode=function(condition,opts){if(opts&&opts.invert){if(condition instanceof OpNode){condition=new ParentheticalNode(condition)}condition=new OpNode("!",condition)}this.condition=condition;this.guard=opts&&opts.guard;return this};__extends(WhileNode,BaseNode);WhileNode.prototype["class"]="WhileNode";WhileNode.prototype.children=["condition","guard","body"];WhileNode.prototype.isStatement=function(){return true};WhileNode.prototype.addBody=function(body){this.body=body;return this};WhileNode.prototype.makeReturn=function(){this.returns=true;return this};WhileNode.prototype.topSensitive=function(){return true};WhileNode.prototype.compileNode=function(o){var cond,post,pre,rvar,set,top;top=del(o,"top")&&!this.returns;o.indent=this.idt(1);o.top=true;cond=this.condition.compile(o);set="";if(!(top)){rvar=o.scope.freeVariable();set=(""+this.tab+rvar+" = [];\n");if(this.body){this.body=PushNode.wrap(rvar,this.body)}}pre=(""+set+(this.tab)+"while ("+cond+")");if(this.guard){this.body=Expressions.wrap([new IfNode(this.guard,this.body)])}this.returns?(post="\n"+new ReturnNode(literal(rvar)).compile(merge(o,{indent:this.idt()}))):(post="");return""+pre+" {\n"+(this.body.compile(o))+"\n"+this.tab+"}"+post};return WhileNode})();exports.OpNode=(function(){OpNode=function(_b,_c,_d,flip){this.second=_d;this.first=_c;this.operator=_b;this.operator=this.CONVERSIONS[this.operator]||this.operator;this.flip=!!flip;this.first instanceof ValueNode&&this.first.base instanceof ObjectNode?(this.first=new ParentheticalNode(this.first)):null;return this};__extends(OpNode,BaseNode);OpNode.prototype.CONVERSIONS={"==":"===","!=":"!=="};OpNode.prototype.CHAINABLE=["<",">",">=","<=","===","!=="];OpNode.prototype.ASSIGNMENT=["||=","&&=","?="];OpNode.prototype.PREFIX_OPERATORS=["typeof","delete"];OpNode.prototype["class"]="OpNode";OpNode.prototype.children=["first","second"];OpNode.prototype.isUnary=function(){return !this.second};OpNode.prototype.isChainable=function(){return indexOf(this.CHAINABLE,this.operator)>=0};OpNode.prototype.toString=function(idt){return OpNode.__superClass__.toString.call(this,idt,this["class"]+" "+this.operator)};OpNode.prototype.compileNode=function(o){o.operation=true;if(this.isChainable()&&this.first.unwrap() instanceof OpNode&&this.first.unwrap().isChainable()){return this.compileChain(o)}if(indexOf(this.ASSIGNMENT,this.operator)>=0){return this.compileAssignment(o)}if(this.isUnary()){return this.compileUnary(o)}if(this.operator==="?"){return this.compileExistence(o)}return[this.first.compile(o),this.operator,this.second.compile(o)].join(" ")};OpNode.prototype.compileChain=function(o){var _b,_c,first,second,shared;shared=this.first.unwrap().second;if(shared.containsType(CallNode)){_b=shared.compileReference(o);this.first.second=_b[0];shared=_b[1]}_c=[this.first.compile(o),this.second.compile(o),shared.compile(o)];first=_c[0];second=_c[1];shared=_c[2];return"("+first+") && ("+shared+" "+this.operator+" "+second+")"};OpNode.prototype.compileAssignment=function(o){var _b,first,firstVar,second;_b=this.first.compileReference(o,{precompile:true,assignment:true});first=_b[0];firstVar=_b[1];second=this.second.compile(o);if(first.match(IDENTIFIER)){o.scope.find(first)}if(this.operator==="?="){return(""+first+" = "+(ExistenceNode.compileTest(o,literal(firstVar)))+" ? "+firstVar+" : "+second)}return""+first+" = "+firstVar+" "+(this.operator.substr(0,2))+" "+second};OpNode.prototype.compileExistence=function(o){var _b,first,second,test;_b=[this.first.compile(o),this.second.compile(o)];first=_b[0];second=_b[1];test=ExistenceNode.compileTest(o,this.first);return""+test+" ? "+first+" : "+second};OpNode.prototype.compileUnary=function(o){var parts,space;space=indexOf(this.PREFIX_OPERATORS,this.operator)>=0?" ":"";parts=[this.operator,space,this.first.compile(o)];if(this.flip){parts=parts.reverse()}return parts.join("")};return OpNode})();exports.InNode=(function(){InNode=function(_b,_c){this.array=_c;this.object=_b;return this};__extends(InNode,BaseNode);InNode.prototype["class"]="InNode";InNode.prototype.children=["object","array"];InNode.prototype.isArray=function(){return this.array instanceof ValueNode&&this.array.isArray()};InNode.prototype.compileNode=function(o){var _b;_b=this.object.compileReference(o,{precompile:true});this.obj1=_b[0];this.obj2=_b[1];return this.isArray()?this.compileOrTest(o):this.compileLoopTest(o)};InNode.prototype.compileOrTest=function(o){var _b,_c,_d,i,item,tests;tests=(function(){_b=[];_c=this.array.base.objects;for(i=0,_d=_c.length;i<_d;i++){item=_c[i];_b.push((""+(item.compile(o))+" === "+(i?this.obj2:this.obj1)))}return _b}).call(this);return"("+(tests.join(" || "))+")"};InNode.prototype.compileLoopTest=function(o){var _b,_c,i,l,prefix;_b=this.array.compileReference(o,{precompile:true});this.arr1=_b[0];this.arr2=_b[1];_c=[o.scope.freeVariable(),o.scope.freeVariable()];i=_c[0];l=_c[1];prefix=this.obj1!==this.obj2?this.obj1+"; ":"";return"(function(){ "+(prefix)+"for (var "+i+"=0, "+l+"="+(this.arr1)+".length; "+i+"<"+l+"; "+i+"++) { if ("+(this.arr2)+"["+i+"] === "+this.obj2+") return true; } return false; }).call(this)"};return InNode})();exports.TryNode=(function(){TryNode=function(_b,_c,_d,_e){this.ensure=_e;this.recovery=_d;this.error=_c;this.attempt=_b;return this};__extends(TryNode,BaseNode);TryNode.prototype["class"]="TryNode";TryNode.prototype.children=["attempt","recovery","ensure"];TryNode.prototype.isStatement=function(){return true};TryNode.prototype.makeReturn=function(){if(this.attempt){this.attempt=this.attempt.makeReturn()}if(this.recovery){this.recovery=this.recovery.makeReturn()}return this};TryNode.prototype.compileNode=function(o){var attemptPart,catchPart,errorPart,finallyPart;o.indent=this.idt(1);o.top=true;attemptPart=this.attempt.compile(o);errorPart=this.error?(" ("+(this.error.compile(o))+") "):" ";catchPart=this.recovery?(" catch"+errorPart+"{\n"+(this.recovery.compile(o))+"\n"+this.tab+"}"):"";finallyPart=(this.ensure||"")&&" finally {\n"+this.ensure.compile(merge(o))+("\n"+this.tab+"}");return""+(this.tab)+"try {\n"+attemptPart+"\n"+this.tab+"}"+catchPart+finallyPart};return TryNode})();exports.ThrowNode=(function(){ThrowNode=function(_b){this.expression=_b;return this};__extends(ThrowNode,BaseNode);ThrowNode.prototype["class"]="ThrowNode";ThrowNode.prototype.children=["expression"];ThrowNode.prototype.isStatement=function(){return true};ThrowNode.prototype.makeReturn=function(){return this};ThrowNode.prototype.compileNode=function(o){return""+(this.tab)+"throw "+(this.expression.compile(o))+";"};return ThrowNode})();exports.ExistenceNode=(function(){ExistenceNode=function(_b){this.expression=_b;return this};__extends(ExistenceNode,BaseNode);ExistenceNode.prototype["class"]="ExistenceNode";ExistenceNode.prototype.children=["expression"];ExistenceNode.prototype.compileNode=function(o){return ExistenceNode.compileTest(o,this.expression)};ExistenceNode.compileTest=function(o,variable){var _b,first,second;_b=variable.compileReference(o);first=_b[0];second=_b[1];return"(typeof "+(first.compile(o))+' !== "undefined" && '+(second.compile(o))+" !== null)"};return ExistenceNode}).call(this);exports.ParentheticalNode=(function(){ParentheticalNode=function(_b){this.expression=_b;return this};__extends(ParentheticalNode,BaseNode);ParentheticalNode.prototype["class"]="ParentheticalNode";ParentheticalNode.prototype.children=["expression"];ParentheticalNode.prototype.isStatement=function(){return this.expression.isStatement()};ParentheticalNode.prototype.makeReturn=function(){return this.expression.makeReturn()};ParentheticalNode.prototype.topSensitive=function(){return true};ParentheticalNode.prototype.compileNode=function(o){var code,l,top;top=del(o,"top");code=this.expression.compile(o);if(this.isStatement()){return(top?(""+this.tab+code+";"):code)}l=code.length;if(code.substr(l-1,1)===";"){code=code.substr(o,l-1)}return this.expression instanceof AssignNode?code:("("+code+")")};return ParentheticalNode})();exports.ForNode=(function(){ForNode=function(_b,source,_c,_d){var _e;this.index=_d;this.name=_c;this.body=_b;this.index=this.index||null;this.source=source.source;this.guard=source.guard;this.step=source.step;this.raw=!!source.raw;this.object=!!source.object;if(this.object){_e=[this.index,this.name];this.name=_e[0];this.index=_e[1]}this.pattern=this.name instanceof ValueNode;if(this.index instanceof ValueNode){throw new Error("index cannot be a pattern matching expression")}this.returns=false;return this};__extends(ForNode,BaseNode);ForNode.prototype["class"]="ForNode";ForNode.prototype.children=["body","source","guard"];ForNode.prototype.isStatement=function(){return true};ForNode.prototype.topSensitive=function(){return true};ForNode.prototype.makeReturn=function(){this.returns=true;return this};ForNode.prototype.compileReturnValue=function(val,o){if(this.returns){return"\n"+new ReturnNode(literal(val)).compile(o)}if(val){return"\n"+val}return""};ForNode.prototype.compileNode=function(o){var body,codeInBody,forPart,guardPart,index,ivar,lvar,name,namePart,range,returnResult,rvar,scope,source,sourcePart,stepPart,svar,topLevel,varPart,vars;topLevel=del(o,"top")&&!this.returns;range=this.source instanceof ValueNode&&this.source.base instanceof RangeNode&&!this.source.properties.length;source=range?this.source.base:this.source;codeInBody=this.body.contains(function(n){return n instanceof CodeNode});scope=o.scope;name=(this.name&&this.name.compile(o))||scope.freeVariable();index=this.index&&this.index.compile(o);if(name&&!this.pattern&&!codeInBody){scope.find(name)}if(index){scope.find(index)}if(!(topLevel)){rvar=scope.freeVariable()}ivar=(function(){if(range){return name}else{if(codeInBody){return scope.freeVariable()}else{return index||scope.freeVariable()}}})();varPart="";guardPart="";body=Expressions.wrap([this.body]);if(range){sourcePart=source.compileVariables(o);forPart=source.compile(merge(o,{index:ivar,step:this.step}))}else{svar=scope.freeVariable();sourcePart=(""+svar+" = "+(this.source.compile(o))+";");if(this.pattern){namePart=new AssignNode(this.name,literal(""+svar+"["+ivar+"]")).compile(merge(o,{indent:this.idt(1),top:true}))+"\n"}else{if(name){namePart=(""+name+" = "+svar+"["+ivar+"]")}}if(!(this.object)){lvar=scope.freeVariable();stepPart=this.step?(""+ivar+" += "+(this.step.compile(o))):(""+ivar+"++");forPart=(""+ivar+" = 0, "+lvar+" = "+(svar)+".length; "+ivar+" < "+lvar+"; "+stepPart)}}sourcePart=(rvar?(""+rvar+" = []; "):"")+sourcePart;sourcePart=sourcePart?(""+this.tab+sourcePart+"\n"+this.tab):this.tab;returnResult=this.compileReturnValue(rvar,o);if(!(topLevel)){body=PushNode.wrap(rvar,body)}this.guard?(body=Expressions.wrap([new IfNode(this.guard,body)])):null;if(codeInBody){if(namePart){body.unshift(literal("var "+namePart))}if(index){body.unshift(literal("var "+index+" = "+ivar))}body=ClosureNode.wrap(body,true)}else{varPart=(namePart||"")&&(this.pattern?namePart:(""+(this.idt(1))+namePart+";\n"))}if(this.object){forPart=(""+ivar+" in "+svar);if(!(this.raw)){guardPart=("\n"+(this.idt(1))+"if (!"+(utility("hasProp"))+".call("+svar+", "+ivar+")) continue;")}}body=body.compile(merge(o,{indent:this.idt(1),top:true}));vars=range?name:(""+name+", "+ivar);return""+(sourcePart)+"for ("+forPart+") {"+guardPart+"\n"+varPart+body+"\n"+this.tab+"}"+returnResult};return ForNode})();exports.IfNode=(function(){IfNode=function(_b,_c,_d){this.tags=_d;this.body=_c;this.condition=_b;this.tags=this.tags||{};if(this.tags.invert){this.condition=new OpNode("!",new ParentheticalNode(this.condition))}this.elseBody=null;this.isChain=false;return this};__extends(IfNode,BaseNode);IfNode.prototype["class"]="IfNode";IfNode.prototype.children=["condition","switchSubject","body","elseBody","assigner"];IfNode.prototype.bodyNode=function(){return this.body==undefined?undefined:this.body.unwrap()};IfNode.prototype.elseBodyNode=function(){return this.elseBody==undefined?undefined:this.elseBody.unwrap()};IfNode.prototype.forceStatement=function(){this.tags.statement=true;return this};IfNode.prototype.switchesOver=function(expression){this.switchSubject=expression;return this};IfNode.prototype.rewriteSwitch=function(o){var _b,_c,_d,cond,i,variable;this.assigner=this.switchSubject;if(!((this.switchSubject.unwrap() instanceof LiteralNode))){variable=literal(o.scope.freeVariable());this.assigner=new AssignNode(variable,this.switchSubject);this.switchSubject=variable}this.condition=(function(){_b=[];_c=flatten([this.condition]);for(i=0,_d=_c.length;i<_d;i++){cond=_c[i];_b.push((function(){if(cond instanceof OpNode){cond=new ParentheticalNode(cond)}return new OpNode("==",(i===0?this.assigner:this.switchSubject),cond)}).call(this))}return _b}).call(this);if(this.isChain){this.elseBodyNode().switchesOver(this.switchSubject)}this.switchSubject=undefined;return this};IfNode.prototype.addElse=function(elseBody,statement){if(this.isChain){this.elseBodyNode().addElse(elseBody,statement)}else{this.isChain=elseBody instanceof IfNode;this.elseBody=this.ensureExpressions(elseBody)}return this};IfNode.prototype.isStatement=function(){return this.statement=this.statement||!!(this.tags.statement||this.bodyNode().isStatement()||(this.elseBody&&this.elseBodyNode().isStatement()))};IfNode.prototype.compileCondition=function(o){var _b,_c,_d,_e,cond;return(function(){_b=[];_d=flatten([this.condition]);for(_c=0,_e=_d.length;_c<_e;_c++){cond=_d[_c];_b.push(cond.compile(o))}return _b}).call(this).join(" || ")};IfNode.prototype.compileNode=function(o){return this.isStatement()?this.compileStatement(o):this.compileTernary(o)};IfNode.prototype.makeReturn=function(){if(this.isStatement()){this.body=this.body&&this.ensureExpressions(this.body.makeReturn());this.elseBody=this.elseBody&&this.ensureExpressions(this.elseBody.makeReturn());return this}else{return new ReturnNode(this)}};IfNode.prototype.ensureExpressions=function(node){return node instanceof Expressions?node:new Expressions([node])};IfNode.prototype.compileStatement=function(o){var body,child,comDent,condO,elsePart,ifDent,ifPart;if(this.switchSubject){this.rewriteSwitch(o)}child=del(o,"chainChild");condO=merge(o);o.indent=this.idt(1);o.top=true;ifDent=child?"":this.idt();comDent=child?this.idt():"";body=this.body.compile(o);ifPart=(""+(ifDent)+"if ("+(this.compileCondition(condO))+") {\n"+body+"\n"+this.tab+"}");if(!(this.elseBody)){return ifPart}elsePart=this.isChain?" else "+this.elseBodyNode().compile(merge(o,{indent:this.idt(),chainChild:true})):(" else {\n"+(this.elseBody.compile(o))+"\n"+this.tab+"}");return""+ifPart+elsePart};IfNode.prototype.compileTernary=function(o){var elsePart,ifPart;o.operation=true;ifPart=this.condition.compile(o)+" ? "+this.bodyNode().compile(o);elsePart=this.elseBody?this.elseBodyNode().compile(o):"null";return""+ifPart+" : "+elsePart};return IfNode})();PushNode=(exports.PushNode={wrap:function(array,expressions){var expr;expr=expressions.unwrap();if(expr.isPureStatement()||expr.containsPureStatement()){return expressions}return Expressions.wrap([new CallNode(new ValueNode(literal(array),[new AccessorNode(literal("push"))]),[expr])])}});ClosureNode=(exports.ClosureNode={wrap:function(expressions,statement){var args,call,func,mentionsArgs,mentionsThis,meth;if(expressions.containsPureStatement()){return expressions}func=new ParentheticalNode(new CodeNode([],Expressions.wrap([expressions])));args=[];mentionsArgs=expressions.contains(function(n){return n instanceof LiteralNode&&(n.value==="arguments")});mentionsThis=expressions.contains(function(n){return(n instanceof LiteralNode&&(n.value==="this"))||(n instanceof CodeNode&&n.bound)});if(mentionsArgs||mentionsThis){meth=literal(mentionsArgs?"apply":"call");args=[literal("this")];if(mentionsArgs){args.push(literal("arguments"))}func=new ValueNode(func,[new AccessorNode(meth)])}call=new CallNode(func,args);return statement?Expressions.wrap([call]):call}});UTILITIES={"extends":'function(child, parent) {\n var ctor = function(){};\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.prototype.constructor = child;\n if (typeof parent.extended === "function") parent.extended(child);\n child.__superClass__ = parent.prototype;\n }',bind:"function(func, context) {\n return function(){ return func.apply(context, arguments); };\n }",hasProp:"Object.prototype.hasOwnProperty",slice:"Array.prototype.slice"};TAB=" ";TRAILING_WHITESPACE=/[ \t]+$/gm;DOUBLE_PARENS=/\(\(([^\(\)\n]*)\)\)/g;IDENTIFIER=/^[a-zA-Z\$_](\w|\$)*$/;NUMBER=/^(((\b0(x|X)[0-9a-fA-F]+)|((\b[0-9]+(\.[0-9]+)?|\.[0-9]+)(e[+\-]?[0-9]+)?)))\b$/i;SIMPLENUM=/^-?\d+/;IS_STRING=/^['"]/;literal=function(name){return new LiteralNode(name)};utility=function(name){var ref;ref=("__"+name);Scope.root.assign(ref,UTILITIES[name]);return ref}})();(function(){var Lexer,compile,helpers,lexer,parser,path,processScripts;if(typeof process!=="undefined"&&process!==null){path=require("path");Lexer=require("./lexer").Lexer;parser=require("./parser").parser;helpers=require("./helpers").helpers;helpers.extend(global,require("./nodes"));require.registerExtension?require.registerExtension(".coffee",function(content){return compile(content)}):null}else{this.exports=(this.CoffeeScript={});Lexer=this.Lexer;parser=this.parser;helpers=this.helpers}exports.VERSION="0.9.0";lexer=new Lexer();exports.compile=(compile=function(code,options){options=options||{};try{return(parser.parse(lexer.tokenize(code))).compile(options)}catch(err){if(options.fileName){err.message=("In "+options.fileName+", "+err.message)}throw err}});exports.tokens=function(code){return lexer.tokenize(code)};exports.nodes=function(code){return parser.parse(lexer.tokenize(code))};exports.run=(function(code,options){var __dirname,__filename;module.filename=(__filename=options.fileName);__dirname=path.dirname(__filename);return eval(exports.compile(code,options))});parser.lexer={lex:function(){var token;token=this.tokens[this.pos]||[""];this.pos+=1;this.yylineno=token[2];this.yytext=token[1];return token[0]},setInput:function(tokens){this.tokens=tokens;return(this.pos=0)},upcomingInput:function(){return""}};if((typeof document!=="undefined"&&document!==null)&&document.getElementsByTagName){processScripts=function(){var _a,_b,_c,_d,tag;_a=[];_c=document.getElementsByTagName("script");for(_b=0,_d=_c.length;_b<_d;_b++){tag=_c[_b];tag.type==="text/coffeescript"?_a.push(eval(exports.compile(tag.innerHTML))):null}return _a};if(window.addEventListener){window.addEventListener("load",processScripts,false)}else{if(window.attachEvent){window.attachEvent("onload",processScripts)}}}})(); \ No newline at end of file diff --git a/index.html b/index.html index c2c60ad9..d61f87f8 100644 --- a/index.html +++ b/index.html @@ -132,7 +132,7 @@ opposite = true= -42 if opposite # Functions: -square = (x) -> x * x +square = (x) -> x * x # Arrays: list = [1, 2, 3, 4, 5] @@ -144,7 +144,7 @@ math = cube: (x) -> x * square x # Splats: -race = (winner, runners...) -> +race = (winner, runners...) -> print winner, runners # Existence: @@ -353,7 +353,7 @@ sudo npm install coffee-script
    -t, --tokens Instead of parsing the CoffeeScript, just lex it, and print out the - token stream: [IDENTIFIER square] [ASSIGN :] [PARAM_START (] ... + token stream: [IDENTIFIER square] [ASSIGN =] [PARAM_START (] ... @@ -426,7 +426,8 @@ coffee --print app/scripts/*.coffee > concatenation.js

    You can use newlines to break up your expression into smaller pieces, as long as CoffeeScript can determine that the line hasn't finished yet, - because it ends with an operator or a dot. + because it ends with an operator or a dot ... seen most commonly + in jQuery-chaining style JavaScript.

    @@ -435,8 +436,8 @@ coffee --print app/scripts/*.coffee > concatenation.js

    Functions are defined by a list of parameters, an arrow, and the function body. The empty function looks like this: ->

    -
    square = (x) -> x * x
    -cube   = (x) -> square(x) * x
    +    
    square = (x) -> x * x
    +cube   = (x) -> square(x) * x
     
    var cube, square;
     square = function(x) {
       return x * x;
    @@ -457,12 +458,12 @@ cube = function(x) {
           Objects and Arrays
           Object and Array literals look very similar to their JavaScript cousins.
           When you spread out each property on a separate line, the commas are
    -      optional. Implicit objects may be created with indentation instead of 
    +      optional. Implicit objects may be created with indentation instead of
           brackets, winding up looking quite similar to YAML.
         

    song = ["do", "re", "mi", "fa", "so"]
     
    -singers = {Jagger: 'Rock', Elvis: 'Roll'}
    +singers = {Jagger: "Rock", Elvis: "Roll"}
     
     matrix = [
       1, 0, 1
    @@ -472,42 +473,42 @@ matrix = [
     
     kids =
       brother:
    -    name: 'Max'
    +    name: "Max"
         age:  11
       sister:
    -    name: 'Ida'
    +    name: "Ida"
         age:  9
     
    var kids, matrix, singers, song;
     song = ["do", "re", "mi", "fa", "so"];
     singers = {
    -  Jagger: 'Rock',
    -  Elvis: 'Roll'
    +  Jagger: "Rock",
    +  Elvis: "Roll"
     };
     matrix = [1, 0, 1, 0, 0, 1, 1, 1, 0];
     kids = {
       brother: {
    -    name: 'Max',
    +    name: "Max",
         age: 11
       },
       sister: {
    -    name: 'Ida',
    +    name: "Ida",
         age: 9
       }
     };
     

    @@ -530,7 +531,7 @@ kids = { var yourself.

    outer = 1
    -changeNumbers = ->
    +changeNumbers = ->
       inner = -1
       outer = 10
     inner = changeNumbers()
    @@ -551,7 +552,7 @@ changeNumbers = function() {
     };
     inner = changeNumbers();;alert(inner);'>run: inner

    - Notice how the all of the variable declarations have been pushed up to + Notice how all of the variable declarations have been pushed up to the top of the closest scope, the first time they appear. outer is not redeclared within the inner function, because it's already in scope; inner within the function, on the other hand, @@ -577,7 +578,7 @@ inner = changeNumbers();;alert(inner);'>run: inner
    < attach them as properties on window, or on the exports object in CommonJS. The existential operator (covered below), gives you a reliable way to figure out where to add them, if you're targeting both - CommonJS and the browser: root: exports ? this + CommonJS and the browser: root = exports ? this

    @@ -604,7 +605,7 @@ inner = changeNumbers();;alert(inner);'>run: inner
    < date = if friday then sue else jill -options or= defaults +options or= defaults

    var date, mood, options;
     if (singing) {
       mood = greatlyImproved;
    @@ -665,7 +666,7 @@ letTheWildRumpusBegin() unless answer = yes if pick in [47, 92, 13]
     
    -print "My name is " + @name
    +print inspect "My name is " + @name
     
    var volume, winner;
     if (ignition === true) {
       launch();
    @@ -680,7 +681,7 @@ car.speed < limit ? accelerate() : if (47 === pick || 92 === pick || 13 === pick) {
       winner = true;
     }
    -print("My name is " + this.name);
    +print(inspect("My name is " + this.name));
     

    @@ -693,7 +694,7 @@ car.speed < limit ? accelerate() : gold = silver = rest = "unknown" -awardMedals = (first, second, others...) -> +awardMedals = (first, second, others...) -> gold = first silver = second rest = others @@ -857,7 +858,7 @@ _f = asteroids;

    countdown = num for num in [10..1]
     
    -deliverEggs = ->
    +deliverEggs = ->
       for i in [0...eggs.length] by 12
         dozen = eggs[i...i+12]
         deliver new eggCarton dozen
    @@ -940,6 +941,13 @@ ages = (function() {
       }
       return _a;
     })();;alert(ages.join(", "));'>run: ages.join(", ")
    +

    + By default, object comprehensions are safe, and use a hasOwnProperty + check to make sure that you're dealing with properties on the current + object. If you'd like the regular JavaScript
    for (key in obj) ... + loop, for speed or for another reason, you can use
    + for all key, value of object in CoffeeScript. +

    @@ -991,7 +999,7 @@ numbers.splice.apply(numbers, [3, 6 - 3 + 1].concat([-3, -4, -5, -6]));;alert(nu pushed down into each possible branch of execution, in the function below.

    -
    grade = (student) ->
    +    
    grade = (student) ->
       if student.excellentWork
         "A+"
       else if student.okayStuff
    @@ -1169,18 +1177,18 @@ speed = (typeof speed !== "undefined" && speed !== null) ? speed : 140;;alert(sp
           set the superclass, assign prototypal properties, and define the constructor,
           in a single assignable expression.
         

    -
    class Animal
    +    
    class Animal
       constructor: (@name) ->
     
       move: (meters) ->
         alert @name + " moved " + meters + "m."
     
    -class Snake extends Animal
    +class Snake extends Animal
       move: ->
         alert "Slithering..."
         super 5
     
    -class Horse extends Animal
    +class Horse extends Animal
       move: ->
         alert "Galloping..."
         super 45
    @@ -1273,8 +1281,8 @@ tom.move();;'>run
    quick access to an object's prototype, and super() is converted into a call against the immediate ancestor's method of the same name.

    -
    String::dasherize = ->
    -  this.replace /_/g, "-"
    +    
    String::dasherize = ->
    +  this.replace /_/g, "-"
     
    String.prototype.dasherize = function() {
       return this.replace(/_/g, "-");
     };
    @@ -1283,7 +1291,7 @@ tom.move();;'>run
    };;alert("one_two".dasherize());'>run: "one_two".dasherize()

    Finally, you may assign Class-level (static) properties within a class - definition by using
    @property: value + definition by using
    @property = value

    @@ -1300,7 +1308,7 @@ tom.move();;'>run

    theBait   = 1000
     theSwitch = 0
     
    -[theBait, theSwitch] = [theSwitch, theBait]
    +[theBait, theSwitch] = [theSwitch, theBait]
     
    var _a, theBait, theSwitch;
     theBait = 1000;
     theSwitch = 0;
    @@ -1317,11 +1325,11 @@ theSwitch = _a[1];;alert(theBait);'>run: theBait
    -
    weatherReport = (location) ->
    +    
    weatherReport = (location) ->
       # Make an Ajax request to fetch the weather...
       [location, 72, "Mostly Sunny"]
     
    -[city, temp, forecast] = weatherReport "Berkeley, CA"
    +[city, temp, forecast] = weatherReport "Berkeley, CA"
     
    var _a, city, forecast, temp, weatherReport;
     weatherReport = function(location) {
       return [location, 72, "Mostly Sunny"];
    @@ -1388,7 +1396,7 @@ city = _c[1];;alert(name + " — " + street);'>run: name + " — " + street
         
    tag = "<impossible>"
     
    -[open, contents..., close] = tag.split("")
    +[open, contents..., close] = tag.split("")
     
     
     
    @@ -1426,7 +1434,7 @@ close = _a[_a.length - 1];;alert(contents.join(""));'>run: contents.join("")bind. Functions created with the fat arrow are able to access
           properties of the this where they're defined.
         

    -
    Account = (customer, cart) ->
    +    
    Account = (customer, cart) ->
       @customer = customer
       @cart = cart
     
    @@ -1562,11 +1570,11 @@ healthy = (200 > cholesterol) && (cholesterol > 60);;alert(healthy);'>run: healt
           
           String and RegExp Interpolation
           A version of ECMAScript Harmony's proposed string interpolation
    -      is included in CoffeeScript. Simple variables can be included by marking
    -      them with a dollar sign.
    +      is included in CoffeeScript. Simple variables can be included by prefixing
    +      them with a hash mark.
         

    author = "Wittgenstein"
    -quote  = "A picture is a fact. -- #author"
    +quote  = "A picture is a fact. -- #author"
     
    var author, quote;
     author = "Wittgenstein";
     quote = ("A picture is a fact. -- " + author);
    @@ -1574,23 +1582,23 @@ quote = (
     author = "Wittgenstein";
     quote = ("A picture is a fact. -- " + author);;alert(quote);'>run: quote

    - And arbitrary expressions can be interpolated by using brackets ${ ... }
    + And arbitrary expressions can be interpolated by using brackets #{ ... }
    Interpolation works the same way within regular expressions.

    -
    sentence = "#{ 22 / 7 } is a decent approximation of π"
    +    
    sentence = "#{ 22 / 7 } is a decent approximation of π"
     
     sep   = "[.\\/\\- ]"
    -dates = /\d+$sep\d+$sep\d+/g
    +dates = /\d+#sep\d+#sep\d+/g
     
     
     
    var dates, sentence, sep;
     sentence = ("" + (22 / 7) + " is a decent approximation of π");
     sep = "[.\\/\\- ]";
    -dates = /\d+$sep\d+$sep\d+/g;
    +dates = (new RegExp(("\\d+" + sep + "\\d+" + sep + "\\d+"), "g"));
     

    +dates = (new RegExp(("\\d+" + sep + "\\d+" + sep + "\\d+"), "g"));;alert(sentence);'>run: sentence

    @@ -1683,7 +1691,7 @@ task 'build:parser'jison' code = require('./lib/grammar').parser.generate() dir = options.output or 'lib' - fs.writeFile "#dir/parser.js", code + fs.writeFile "#dir/parser.js", code

    var fs;
     fs = require('fs');
     option('-o', '--output [DIR]', 'directory for compiled code');
    @@ -1839,6 +1847,8 @@ task('build:parser