diff --git a/.eslintrc.yml b/.eslintrc.yml
index 68397743e6..e0b7e03c6c 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -1,15 +1,15 @@
env:
node: true
-extends: 'eslint:recommended'
+ es6: true
rules:
accessor-pairs: error
array-bracket-newline: error
array-bracket-spacing: error
array-callback-return: error
array-element-newline: 0
- arrow-body-style: error
- arrow-parens: error
- arrow-spacing: error
+ arrow-body-style: 0
+ arrow-parens: 0
+ arrow-spacing: 0
block-scoped-var: 'off'
block-spacing: error
brace-style: 0
@@ -29,7 +29,7 @@ rules:
default-case: error
dot-location: 0
dot-notation: error
- eol-last: error
+ eol-last: 0
eqeqeq: error
for-direction: error
func-call-spacing: error
@@ -41,7 +41,7 @@ rules:
function-paren-newline: 0
generator-star-spacing: error
getter-return: error
- global-require: error
+ global-require: 0
guard-for-in: error
handle-callback-err: error
id-blacklist: error
@@ -52,11 +52,11 @@ rules:
indent-legacy: 'off'
init-declarations: 'off'
jsx-quotes: 'off'
- key-spacing: error
+ key-spacing: 0
keyword-spacing:
- - error
- - after: true
- before: true
+ - 0
+ - after: 0
+ - before: 0
line-comment-position: 'off'
linebreak-style: 'off'
lines-around-comment: 'off'
@@ -81,9 +81,9 @@ rules:
no-bitwise: 0
no-buffer-constructor: error
no-caller: error
- no-catch-shadow: error
+ no-catch-shadow: 0
no-confusing-arrow: error
- no-continue: error
+ no-continue: 0
no-div-regex: error
no-duplicate-imports: error
no-else-return: 'off'
@@ -108,9 +108,9 @@ rules:
no-labels: error
no-lone-blocks: error
no-lonely-if: 'off'
- no-loop-func: error
+ no-loop-func: 0
no-magic-numbers: 'off'
- no-mixed-operators: error
+ no-mixed-operators: 0
no-mixed-requires: error
no-multi-assign: 'off'
no-multi-spaces: error
@@ -146,7 +146,7 @@ rules:
no-shadow: 0
no-shadow-restricted-names: error
no-spaced-func: error
- no-sync: error
+ no-sync: 0
no-tabs: 'off'
no-template-curly-in-string: 'off'
no-ternary: 'off'
@@ -154,11 +154,11 @@ rules:
no-trailing-spaces: 0
no-undef-init: error
no-undefined: 'off'
- no-underscore-dangle: error
+ no-underscore-dangle: 0
no-unmodified-loop-condition: error
no-unneeded-ternary: error
no-unused-expressions: error
- no-use-before-define: error
+ no-use-before-define: 0
no-useless-call: error
no-useless-computed-key: error
no-useless-concat: 0
@@ -166,13 +166,13 @@ rules:
no-useless-rename: error
no-useless-return: error
no-var: 'off'
- no-void: error
+ no-void: 0
no-warning-comments: 0
no-whitespace-before-property: 0
no-with: error
nonblock-statement-body-position: 0
- object-curly-newline: error
- object-curly-spacing: error
+ object-curly-newline: 0
+ object-curly-spacing: 0
object-property-newline: 'off'
object-shorthand: 0
one-var: 'off'
@@ -192,7 +192,7 @@ rules:
prefer-template: 'off'
quote-props: 'off'
quotes: 'off'
- radix: error
+ radix: 0
require-await: error
require-jsdoc: 'off'
rest-spread-spacing: error
@@ -214,7 +214,7 @@ rules:
- never
switch-colon-spacing: error
symbol-description: error
- template-curly-spacing: error
+ template-curly-spacing: 0
template-tag-spacing: error
unicode-bom:
- error
@@ -230,3 +230,6 @@ rules:
globals:
- alasql: 1
- yy: 1
+parserOptions:
+ ecmaVersion: 6
+ sourceType: "module"
diff --git a/.rpt2_cache/107a9a1377508c9b64b3153f5ace926e4b133f64/code/cache/61d8a9d269a70d9959ae7e4257319275d90697d3 b/.rpt2_cache/107a9a1377508c9b64b3153f5ace926e4b133f64/code/cache/61d8a9d269a70d9959ae7e4257319275d90697d3
new file mode 100644
index 0000000000..e40de72c5c
--- /dev/null
+++ b/.rpt2_cache/107a9a1377508c9b64b3153f5ace926e4b133f64/code/cache/61d8a9d269a70d9959ae7e4257319275d90697d3
@@ -0,0 +1 @@
+{"code":"import options from './17options';\r\nvar yy = {};\r\nvar mem = {};\r\nexport default (alasql = function (sql, params, cb, scope) {\r\n params = params || [];\r\n if (typeof importScripts !== 'function' && mem.webworker) {\r\n var id = mem.lastid++;\r\n mem.buffer[id] = cb;\r\n mem.webworker.postMessage({ id: id, sql: sql, params: params });\r\n return;\r\n }\r\n if (arguments.length === 0) {\r\n // Without arguments - Fluent interface\r\n return new yy.Select({\r\n columns: [new yy.Column({ columnid: '*' })],\r\n from: [new yy.ParamValue({ param: 0 })]\r\n });\r\n }\r\n else if (arguments.length === 1) {\r\n // Access promise notation without using `.promise(...)`\r\n if (sql.constructor === Array) {\r\n return alasql.promise(sql);\r\n }\r\n }\r\n // Avoid setting params if not needed even with callback\r\n if (typeof params === 'function') {\r\n scope = cb;\r\n cb = params;\r\n params = [];\r\n }\r\n if (typeof params !== 'object') {\r\n params = [params];\r\n }\r\n // Standard interface\r\n // alasql('#sql');\r\n if (typeof sql === 'string' && sql[0] === '#' && typeof document === 'object') {\r\n sql = document.querySelector(sql).textContent;\r\n }\r\n else if (typeof sql === 'object' && sql instanceof HTMLElement) {\r\n sql = sql.textContent;\r\n }\r\n else if (typeof sql === 'function') {\r\n // to run multiline functions\r\n sql = sql.toString();\r\n sql = (/\\/\\*([\\S\\s]+)\\*\\//m.exec(sql) || [\r\n '',\r\n 'Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function.',\r\n ])[1];\r\n }\r\n // Run SQL\r\n return alasql.exec(sql, params, cb, scope);\r\n});\r\n/**\r\n Current version of alasql\r\n @constant {string}\r\n*/\r\nalasql.version = 'PACKAGE_VERSION_NUMBER';\r\n/**\r\n Debug flag\r\n @type {boolean}\r\n*/\r\nalasql.debug = undefined; // Initial debug variable\r\noptions(alasql);\r\n/*only-for-browser/*\r\nvar require = function(){return null}; // as alasqlparser.js is generated, we can not \"remove\" referenses to\r\nvar __dirname = '';\r\n//*/\r\n"}
diff --git a/.rpt2_cache/107a9a1377508c9b64b3153f5ace926e4b133f64/code/cache/9ba0babc08f61e7c2d760119b86e7f4bec3d7598 b/.rpt2_cache/107a9a1377508c9b64b3153f5ace926e4b133f64/code/cache/9ba0babc08f61e7c2d760119b86e7f4bec3d7598
new file mode 100644
index 0000000000..2f8b5f991f
--- /dev/null
+++ b/.rpt2_cache/107a9a1377508c9b64b3153f5ace926e4b133f64/code/cache/9ba0babc08f61e7c2d760119b86e7f4bec3d7598
@@ -0,0 +1 @@
+{"code":"var hash = function (x) { return x; };\r\nexport default function options(alasql) {\r\n // Initial parameters\r\n var alasqlparser = require('./alasqlparser.js');\r\n alasql.parser = alasqlparser.parser;\r\n /**\r\n Jison parser\r\n */\r\n //alasql.parser = alasqlparser;\r\n /*/* This is not working :-/ * /\r\n alasql.parser.parseError = function(str, hash) {\r\n throw new Error('Have you used a reserved keyword without `escaping` it?\\n' + str);\r\n };/*\r\n\n /**\r\n Jison parser\r\n @param {string} sql SQL statement\r\n @return {object} AST (Abstract Syntax Tree)\r\n\n @todo Create class AST\r\n @todo Add other parsers\r\n\n @example\r\n alasql.parse = function(sql) {\r\n // My own parser here\r\n }\r\n */\r\n alasql.parse = function (sql) {\r\n return alasqlparser.parse(alasql.utils.uncomment(sql));\r\n };\r\n /**\r\n List of engines of external databases\r\n @type {object}\r\n @todo Create collection type\r\n */\r\n alasql.engines = {};\r\n /**\r\n List of databases\r\n @type {object}\r\n */\r\n alasql.databases = {};\r\n /**\r\n Number of databases\r\n @type {number}\r\n*/\r\n alasql.databasenum = 0;\r\n /**\r\n Alasql options object\r\n */\r\n alasql.options = {};\r\n alasql.options.errorlog = false; // Log or throw error\r\n alasql.options.valueof = false; // Use valueof in orderfn\r\n alasql.options.dropifnotexists = false; // DROP database in any case\r\n alasql.options.datetimeformat = 'sql'; // How to handle DATE and DATETIME types\r\n // Another value is 'javascript'\r\n alasql.options.casesensitive = true; // Table and column names are case sensitive and converted to lower-case\r\n alasql.options.logtarget = 'output'; // target for log. Values: 'console', 'output', 'id' of html tag\r\n alasql.options.logprompt = true; // Print SQL at log\r\n alasql.options.progress = false; // Callback for async queries progress\r\n // Default modifier\r\n // values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX\r\n alasql.options.modifier = undefined;\r\n // How many rows to lookup to define columns\r\n alasql.options.columnlookup = 10;\r\n // Create vertex if not found\r\n alasql.options.autovertex = true;\r\n // Use dbo as current database (for partial T-SQL comaptibility)\r\n alasql.options.usedbo = true;\r\n // AUTOCOMMIT ON | OFF\r\n alasql.options.autocommit = true;\r\n // Use cache\r\n alasql.options.cache = true;\r\n // Compatibility flags\r\n alasql.options.tsql = true;\r\n alasql.options.mysql = true;\r\n alasql.options.postgres = true;\r\n alasql.options.oracle = true;\r\n alasql.options.sqlite = true;\r\n alasql.options.orientdb = true;\r\n // for SET NOCOUNT OFF\r\n alasql.options.nocount = false;\r\n // Check for NaN and convert it to undefined\r\n alasql.options.nan = false;\r\n alasql.options.joinstar = 'overwrite'; // Option for SELECT * FROM a,b\r\n //alasql.options.worker = false;\r\n // Variables\r\n alasql.vars = {};\r\n alasql.declares = {};\r\n alasql.prompthistory = [];\r\n alasql.plugins = {}; // If plugin already loaded\r\n alasql.from = {}; // FROM functions\r\n alasql.into = {}; // INTO functions\r\n alasql.fn = {};\r\n alasql.aggr = {};\r\n alasql.busy = 0;\r\n // Cache\r\n alasql.MAXSQLCACHESIZE = 10000;\r\n alasql.DEFAULTDATABASEID = 'alasql';\r\n /* WebWorker */\r\n alasql.lastid = 0;\r\n alasql.buffer = {};\r\n /**\r\n Select current database\r\n @param {string} databaseid Selected database identificator\r\n */\r\n alasql.use = function (databaseid) {\r\n if (!databaseid) {\r\n databaseid = alasql.DEFAULTDATABASEID;\r\n }\r\n if (alasql.useid === databaseid) {\r\n return;\r\n }\r\n alasql.useid = databaseid;\r\n var db = alasql.databases[alasql.useid];\r\n alasql.tables = db.tables;\r\n //\talasql.fn = db.fn;\r\n db.resetSqlCache();\r\n if (alasql.options.usedbo) {\r\n alasql.databases.dbo = db; // Operator???\r\n }\r\n };\r\n alasql.autoval = function (tablename, colname, getNext, databaseid) {\r\n var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];\r\n if (!db.tables[tablename]) {\r\n throw new Error('Tablename not found: ' + tablename);\r\n }\r\n if (!db.tables[tablename].identities[colname]) {\r\n throw new Error('Colname not found: ' + colname);\r\n }\r\n if (getNext) {\r\n return db.tables[tablename].identities[colname].value || null;\r\n }\r\n return (db.tables[tablename].identities[colname].value -\r\n db.tables[tablename].identities[colname].step || null);\r\n };\r\n /**\r\n Run single SQL statement on current database\r\n */\r\n alasql.exec = function (sql, params, cb, scope) {\r\n // Avoid setting params if not needed even with callback\r\n if (typeof params === 'function') {\r\n scope = cb;\r\n cb = params;\r\n params = {};\r\n }\r\n delete alasql.error;\r\n params = params || {};\r\n if (alasql.options.errorlog) {\r\n try {\r\n return alasql.dexec(alasql.useid, sql, params, cb, scope);\r\n }\r\n catch (err) {\r\n alasql.error = err;\r\n if (cb) {\r\n cb(null, alasql.error);\r\n }\r\n }\r\n }\r\n else {\r\n return alasql.dexec(alasql.useid, sql, params, cb, scope);\r\n }\r\n };\r\n /**\r\n Run SQL statement on specific database\r\n */\r\n alasql.dexec = function (databaseid, sql, params, cb, scope) {\r\n var db = alasql.databases[databaseid];\r\n //\tif(db.databaseid != databaseid) console.trace('got!');\r\n //\tconsole.log(3,db.databaseid,databaseid);\r\n var hh;\r\n // Create hash\r\n if (alasql.options.cache) {\r\n hh = hash(sql);\r\n var statement = db.sqlCache[hh];\r\n // If database structure was not changed since last time return cache\r\n if (statement && db.dbversion === statement.dbversion) {\r\n return statement(params, cb);\r\n }\r\n }\r\n // Create AST\r\n var ast = alasql.parse(sql);\r\n if (!ast.statements) {\r\n return;\r\n }\r\n if (0 === ast.statements.length) {\r\n return 0;\r\n }\r\n else if (1 === ast.statements.length) {\r\n if (ast.statements[0].compile) {\r\n // Compile and Execute\r\n var statement = ast.statements[0].compile(databaseid, params);\r\n if (!statement) {\r\n return;\r\n }\r\n statement.sql = sql;\r\n statement.dbversion = db.dbversion;\r\n if (alasql.options.cache) {\r\n // Secure sqlCache size\r\n if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {\r\n db.resetSqlCache();\r\n }\r\n db.sqlCacheSize++;\r\n db.sqlCache[hh] = statement;\r\n }\r\n var res = (alasql.res = statement(params, cb, scope));\r\n return res;\r\n }\r\n else {\r\n //\t\t\tconsole.log(ast.statements[0]);\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n var res = (alasql.res = ast.statements[0].execute(databaseid, params, cb, scope));\r\n return res;\r\n }\r\n }\r\n else {\r\n // Multiple statements\r\n if (cb) {\r\n alasql.adrun(databaseid, ast, params, cb, scope);\r\n }\r\n else {\r\n return alasql.drun(databaseid, ast, params, cb, scope);\r\n }\r\n }\r\n };\r\n /**\r\n Run multiple statements and return array of results sync\r\n */\r\n alasql.drun = function (databaseid, ast, params, cb, scope) {\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {\r\n if (ast.statements[i]) {\r\n if (ast.statements[i].compile) {\r\n var statement = ast.statements[i].compile(alasql.useid);\r\n res.push((alasql.res = statement(params, null, scope)));\r\n }\r\n else {\r\n alasql.precompile(ast.statements[i], alasql.useid, params);\r\n res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));\r\n }\r\n }\r\n }\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n if (cb) {\r\n cb(res);\r\n }\r\n alasql.res = res;\r\n return res;\r\n };\r\n /**\r\n Run multiple statements and return array of results async\r\n */\r\n alasql.adrun = function (databaseid, ast, params, cb, scope) {\r\n var idx = 0;\r\n var noqueries = ast.statements.length;\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n //\talasql.busy++;\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n function adrunone(data) {\r\n if (data !== undefined) {\r\n res.push(data);\r\n }\r\n var astatement = ast.statements.shift();\r\n if (!astatement) {\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n cb(res);\r\n //\t\t\talasql.busy--;\r\n //\t\t\tif(alasql.busy<0) alasql.busy = 0;\r\n }\r\n else {\r\n if (astatement.compile) {\r\n var statement = astatement.compile(alasql.useid);\r\n statement(params, adrunone, scope);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n else {\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n astatement.execute(alasql.useid, params, adrunone);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n }\r\n }\r\n adrunone(); /** @todo Check, why data is empty here */\r\n };\r\n /**\r\n Compile statement to JavaScript function\r\n @param {string} sql SQL statement\r\n @param {string} databaseid Database identificator\r\n @return {functions} Compiled statement functions\r\n*/\r\n alasql.compile = function (sql, databaseid) {\r\n databaseid = databaseid || alasql.useid;\r\n var ast = alasql.parse(sql); // Create AST\r\n if (1 === ast.statements.length) {\r\n var statement = ast.statements[0].compile(databaseid);\r\n statement.promise = function (params) {\r\n return (new Promise(function (resolve, reject) {\r\n statement(params, function (data, err) {\r\n if (err) {\r\n reject(err);\r\n }\r\n else {\r\n resolve(data);\r\n }\r\n });\r\n }));\r\n };\r\n return statement;\r\n /*/*\r\n if(kind == 'value') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n var key = Object.keys(res[0])[0];\r\n if(cb) cb(res[0][key]);\r\n return res[0][key];\r\n };\r\n } else if(kind == 'single') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n if(cb) cb(res[0]);\r\n return res[0];\r\n }\r\n } else if(kind == 'row') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var a = [];\r\n for(var key in res[0]) {\r\n a.push(res[0][key]);\r\n };\r\n if(cb) cb(a);\r\n return a;\r\n }\r\n } else if(kind == 'column') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var ar = [];\r\n var key = Object.keys(res)[0];\r\n for(var i=0, ilen=res.length; i alasql.MAXSQLCACHESIZE) {\r\n db.resetSqlCache();\r\n }\r\n db.sqlCacheSize++;\r\n db.sqlCache[hh] = statement;\r\n }\r\n var res = (alasql.res = statement(params, cb, scope));\r\n return res;\r\n }\r\n else {\r\n //\t\t\tconsole.log(ast.statements[0]);\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n var res = (alasql.res = ast.statements[0].execute(databaseid, params, cb, scope));\r\n return res;\r\n }\r\n }\r\n else {\r\n // Multiple statements\r\n if (cb) {\r\n alasql.adrun(databaseid, ast, params, cb, scope);\r\n }\r\n else {\r\n return alasql.drun(databaseid, ast, params, cb, scope);\r\n }\r\n }\r\n };\r\n /**\r\n Run multiple statements and return array of results sync\r\n */\r\n alasql.drun = function (databaseid, ast, params, cb, scope) {\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {\r\n if (ast.statements[i]) {\r\n if (ast.statements[i].compile) {\r\n var statement = ast.statements[i].compile(alasql.useid);\r\n res.push((alasql.res = statement(params, null, scope)));\r\n }\r\n else {\r\n alasql.precompile(ast.statements[i], alasql.useid, params);\r\n res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));\r\n }\r\n }\r\n }\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n if (cb) {\r\n cb(res);\r\n }\r\n alasql.res = res;\r\n return res;\r\n };\r\n /**\r\n Run multiple statements and return array of results async\r\n */\r\n alasql.adrun = function (databaseid, ast, params, cb, scope) {\r\n var idx = 0;\r\n var noqueries = ast.statements.length;\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n //\talasql.busy++;\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n var adrunone = function (data) {\r\n if (data !== undefined) {\r\n res.push(data);\r\n }\r\n var astatement = ast.statements.shift();\r\n if (!astatement) {\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n cb(res);\r\n //\t\t\talasql.busy--;\r\n //\t\t\tif(alasql.busy<0) alasql.busy = 0;\r\n }\r\n else {\r\n if (astatement.compile) {\r\n var statement = astatement.compile(alasql.useid);\r\n statement(params, adrunone, scope);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n else {\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n astatement.execute(alasql.useid, params, adrunone);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n }\r\n };\r\n adrunone(); /** @todo Check, why data is empty here */\r\n };\r\n /**\r\n Compile statement to JavaScript function\r\n @param {string} sql SQL statement\r\n @param {string} databaseid Database identificator\r\n @return {functions} Compiled statement functions\r\n*/\r\n alasql.compile = function (sql, databaseid) {\r\n databaseid = databaseid || alasql.useid;\r\n var ast = alasql.parse(sql); // Create AST\r\n if (1 === ast.statements.length) {\r\n var statement = ast.statements[0].compile(databaseid);\r\n statement.promise = function (params) {\r\n return (new Promise(function (resolve, reject) {\r\n statement(params, function (data, err) {\r\n if (err) {\r\n reject(err);\r\n }\r\n else {\r\n resolve(data);\r\n }\r\n });\r\n }));\r\n };\r\n return statement;\r\n /*/*\r\n if(kind == 'value') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n var key = Object.keys(res[0])[0];\r\n if(cb) cb(res[0][key]);\r\n return res[0][key];\r\n };\r\n } else if(kind == 'single') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n if(cb) cb(res[0]);\r\n return res[0];\r\n }\r\n } else if(kind == 'row') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var a = [];\r\n for(var key in res[0]) {\r\n a.push(res[0][key]);\r\n };\r\n if(cb) cb(a);\r\n return a;\r\n }\r\n } else if(kind == 'column') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var ar = [];\r\n var key = Object.keys(res)[0];\r\n for(var i=0, ilen=res.length; i alasql.MAXSQLCACHESIZE) {\r\n db.resetSqlCache();\r\n }\r\n db.sqlCacheSize++;\r\n db.sqlCache[hh] = statement;\r\n }\r\n var res = (alasql.res = statement(params, cb, scope));\r\n return res;\r\n }\r\n else {\r\n //\t\t\tconsole.log(ast.statements[0]);\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n var res = (alasql.res = ast.statements[0].execute(databaseid, params, cb, scope));\r\n return res;\r\n }\r\n }\r\n else {\r\n // Multiple statements\r\n if (cb) {\r\n alasql.adrun(databaseid, ast, params, cb, scope);\r\n }\r\n else {\r\n return alasql.drun(databaseid, ast, params, cb, scope);\r\n }\r\n }\r\n };\r\n /**\r\n Run multiple statements and return array of results sync\r\n */\r\n alasql.drun = function (databaseid, ast, params, cb, scope) {\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {\r\n if (ast.statements[i]) {\r\n if (ast.statements[i].compile) {\r\n var statement = ast.statements[i].compile(alasql.useid);\r\n res.push((alasql.res = statement(params, null, scope)));\r\n }\r\n else {\r\n alasql.precompile(ast.statements[i], alasql.useid, params);\r\n res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));\r\n }\r\n }\r\n }\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n if (cb) {\r\n cb(res);\r\n }\r\n alasql.res = res;\r\n return res;\r\n };\r\n /**\r\n Run multiple statements and return array of results async\r\n */\r\n alasql.adrun = function (databaseid, ast, params, cb, scope) {\r\n var idx = 0;\r\n var noqueries = ast.statements.length;\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n //\talasql.busy++;\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n function adrunone(data) {\r\n if (data !== undefined) {\r\n res.push(data);\r\n }\r\n var astatement = ast.statements.shift();\r\n if (!astatement) {\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n cb(res);\r\n //\t\t\talasql.busy--;\r\n //\t\t\tif(alasql.busy<0) alasql.busy = 0;\r\n }\r\n else {\r\n if (astatement.compile) {\r\n var statement = astatement.compile(alasql.useid);\r\n statement(params, adrunone, scope);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n else {\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n astatement.execute(alasql.useid, params, adrunone);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n }\r\n }\r\n adrunone(); /** @todo Check, why data is empty here */\r\n };\r\n /**\r\n Compile statement to JavaScript function\r\n @param {string} sql SQL statement\r\n @param {string} databaseid Database identificator\r\n @return {functions} Compiled statement functions\r\n*/\r\n alasql.compile = function (sql, databaseid) {\r\n databaseid = databaseid || alasql.useid;\r\n var ast = alasql.parse(sql); // Create AST\r\n if (1 === ast.statements.length) {\r\n var statement = ast.statements[0].compile(databaseid);\r\n statement.promise = function (params) {\r\n return (new Promise(function (resolve, reject) {\r\n statement(params, function (data, err) {\r\n if (err) {\r\n reject(err);\r\n }\r\n else {\r\n resolve(data);\r\n }\r\n });\r\n }));\r\n };\r\n return statement;\r\n /*/*\r\n if(kind == 'value') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n var key = Object.keys(res[0])[0];\r\n if(cb) cb(res[0][key]);\r\n return res[0][key];\r\n };\r\n } else if(kind == 'single') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n if(cb) cb(res[0]);\r\n return res[0];\r\n }\r\n } else if(kind == 'row') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var a = [];\r\n for(var key in res[0]) {\r\n a.push(res[0][key]);\r\n };\r\n if(cb) cb(a);\r\n return a;\r\n }\r\n } else if(kind == 'column') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var ar = [];\r\n var key = Object.keys(res)[0];\r\n for(var i=0, ilen=res.length; i alasql.MAXSQLCACHESIZE) {\r\n db.resetSqlCache();\r\n }\r\n db.sqlCacheSize++;\r\n db.sqlCache[hh] = statement;\r\n }\r\n var res = (alasql.res = statement(params, cb, scope));\r\n return res;\r\n }\r\n else {\r\n //\t\t\tconsole.log(ast.statements[0]);\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n var res = (alasql.res = ast.statements[0].execute(databaseid, params, cb, scope));\r\n return res;\r\n }\r\n }\r\n else {\r\n // Multiple statements\r\n if (cb) {\r\n alasql.adrun(databaseid, ast, params, cb, scope);\r\n }\r\n else {\r\n return alasql.drun(databaseid, ast, params, cb, scope);\r\n }\r\n }\r\n };\r\n /**\r\n Run multiple statements and return array of results sync\r\n */\r\n alasql.drun = function (databaseid, ast, params, cb, scope) {\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {\r\n if (ast.statements[i]) {\r\n if (ast.statements[i].compile) {\r\n var statement = ast.statements[i].compile(alasql.useid);\r\n res.push((alasql.res = statement(params, null, scope)));\r\n }\r\n else {\r\n alasql.precompile(ast.statements[i], alasql.useid, params);\r\n res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));\r\n }\r\n }\r\n }\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n if (cb) {\r\n cb(res);\r\n }\r\n alasql.res = res;\r\n return res;\r\n };\r\n /**\r\n Run multiple statements and return array of results async\r\n */\r\n alasql.adrun = function (databaseid, ast, params, cb, scope) {\r\n var idx = 0;\r\n var noqueries = ast.statements.length;\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n //\talasql.busy++;\r\n var useid = alasql.useid;\r\n if (useid !== databaseid) {\r\n alasql.use(databaseid);\r\n }\r\n var res = [];\r\n function adrunone(data) {\r\n if (data !== undefined) {\r\n res.push(data);\r\n }\r\n var astatement = ast.statements.shift();\r\n if (!astatement) {\r\n if (useid !== databaseid) {\r\n alasql.use(useid);\r\n }\r\n cb(res);\r\n //\t\t\talasql.busy--;\r\n //\t\t\tif(alasql.busy<0) alasql.busy = 0;\r\n }\r\n else {\r\n if (astatement.compile) {\r\n var statement = astatement.compile(alasql.useid);\r\n statement(params, adrunone, scope);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n else {\r\n alasql.precompile(ast.statements[0], alasql.useid, params);\r\n astatement.execute(alasql.useid, params, adrunone);\r\n if (alasql.options.progress !== false) {\r\n alasql.options.progress(noqueries, idx++);\r\n }\r\n }\r\n }\r\n }\r\n adrunone(); /** @todo Check, why data is empty here */\r\n };\r\n /**\r\n Compile statement to JavaScript function\r\n @param {string} sql SQL statement\r\n @param {string} databaseid Database identificator\r\n @return {functions} Compiled statement functions\r\n*/\r\n alasql.compile = function (sql, databaseid) {\r\n databaseid = databaseid || alasql.useid;\r\n var ast = alasql.parse(sql); // Create AST\r\n if (1 === ast.statements.length) {\r\n var statement = ast.statements[0].compile(databaseid);\r\n statement.promise = function (params) {\r\n return (new Promise(function (resolve, reject) {\r\n statement(params, function (data, err) {\r\n if (err) {\r\n reject(err);\r\n }\r\n else {\r\n resolve(data);\r\n }\r\n });\r\n }));\r\n };\r\n return statement;\r\n /*/*\r\n if(kind == 'value') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n var key = Object.keys(res[0])[0];\r\n if(cb) cb(res[0][key]);\r\n return res[0][key];\r\n };\r\n } else if(kind == 'single') {\r\n return function(params,cb) {\r\n var res = statementfn(params);\r\n if(cb) cb(res[0]);\r\n return res[0];\r\n }\r\n } else if(kind == 'row') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var a = [];\r\n for(var key in res[0]) {\r\n a.push(res[0][key]);\r\n };\r\n if(cb) cb(a);\r\n return a;\r\n }\r\n } else if(kind == 'column') {\r\n return function(params,cb) {\r\n var res = statementfn(params,cb);\r\n var ar = [];\r\n var key = Object.keys(res)[0];\r\n for(var i=0, ilen=res.length; i"
- ],
- "homepage": "alasql.org",
- "repository": {
- "type": "git",
- "url": "https://github.com/agershun/alasql.git"
- },
- "dependencies": {
- "js-xlsx": "~0.11.5",
- "es6-promise": "~3.0"
- },
- "devDependencies": {
- "gulp": "3.8.11",
- "gulp-changed": "1.2.1",
- "gulp-concat-sourcemap": "1.3.1",
- "gulp-shell": "0.4.1",
- "jison": "0.4.15",
- "lodash": "3.7.0"
- },
- "main": [
- "./dist/alasql.min.js"
- ],
- "ignore": [
- "src",
- "test",
- "test-sql",
- "node_modules",
- "bower.json",
- "gruntfile.js",
- "package.json",
- "README.md",
- "bin",
- "lib"
- ],
- "version": "0.4.6"
-}
diff --git a/build/ES6/alasqlObj.js b/build/ES6/alasqlObj.js
new file mode 100644
index 0000000000..6c0e68bec1
--- /dev/null
+++ b/build/ES6/alasqlObj.js
@@ -0,0 +1,80 @@
+/**
+ AlaSQL - Main Alasql class
+ @function
+ @param {string|function|object} sql - SQL-statement or data object for fuent interface
+ @param {object} params - SQL parameters
+ @param {function} cb - callback function
+ @param {object} scope - Scope for nested queries
+ @return {any} - Result data object
+
+ @example
+ Standard sync call:
+ alasql('CREATE TABLE one');
+ Query:
+ var res = alasql('SELECT * FROM one');
+ Call with parameters:
+ var res = alasql('SELECT * FROM ?',[data]);
+ Standard async call with callback function:
+ alasql('SELECT * FROM ?',[data],function(res){
+ console.log(data);
+ });
+ Call with scope for subquery (to pass common values):
+ var scope = {one:{a:2,b;20}}
+ alasql('SELECT * FROM ? two WHERE two.a = one.a',[data],null,scope);
+ Call for fluent interface with data object:
+ alasql(data).Where(function(x){return x.a == 10}).exec();
+ Call for fluent interface without data object:
+ alasql().From(data).Where(function(x){return x.a == 10}).exec();
+ */
+export default function logic(mem) {
+ let yy = mem.grammar.yy;
+ return function (sql, params, cb, scope) {
+ params = params || [];
+ if (typeof importScripts !== 'function' && mem.alasql.webworker) {
+ var id = mem.alasql.lastid++;
+ mem.alasql.buffer[id] = cb;
+ mem.alasql.webworker.postMessage({ id, sql, params });
+ return;
+ }
+ if (arguments.length === 0) {
+ // Without arguments - Fluent interface
+ return new yy.Select({
+ columns: [new yy.Column({ columnid: '*' })],
+ from: [new yy.ParamValue({ param: 0 })],
+ });
+ }
+ else if (arguments.length === 1) {
+ // Access promise notation without using `.promise(...)`
+ if (sql.constructor === Array) {
+ return mem.alasql.promise(sql);
+ }
+ }
+ // Avoid setting params if not needed even with callback
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = [];
+ }
+ if (typeof params !== 'object') {
+ params = [params];
+ }
+ // Standard interface
+ // alasql('#sql');
+ /*only-for-browser/*
+ if (typeof sql === 'string' && sql[0] === '#' && typeof document === 'object') {
+ sql = document.querySelector(sql).textContent;
+ } else if (typeof sql === 'object' && sql instanceof HTMLElement) {
+ sql = sql.textContent;
+ } else //*/
+ if (typeof sql === 'function') {
+ // to run multiline functions
+ sql = sql.toString();
+ sql = (/\/\*([\S\s]+)\*\//m.exec(sql) || [
+ '',
+ 'Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function.',
+ ])[1];
+ }
+ // Run SQL
+ return mem.alasql.exec(sql, params, cb, scope);
+ };
+}
diff --git a/build/ES6/alasqlparser.js b/build/ES6/alasqlparser.js
new file mode 100644
index 0000000000..004f81da4a
--- /dev/null
+++ b/build/ES6/alasqlparser.js
@@ -0,0 +1,3449 @@
+/* parser generated by jison 0.4.18 */
+/*
+ Returns a Parser object of the following structure:
+
+ Parser: {
+ yy: {}
+ }
+
+ Parser.prototype: {
+ yy: {},
+ trace: function(),
+ symbols_: {associative list: name ==> number},
+ terminals_: {associative list: number ==> name},
+ productions_: [...],
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
+ table: [...],
+ defaultActions: {...},
+ parseError: function(str, hash),
+ parse: function(input),
+
+ lexer: {
+ EOF: 1,
+ parseError: function(str, hash),
+ setInput: function(input),
+ input: function(),
+ unput: function(str),
+ more: function(),
+ less: function(n),
+ pastInput: function(),
+ upcomingInput: function(),
+ showPosition: function(),
+ test_match: function(regex_match_array, rule_index),
+ next: function(),
+ lex: function(),
+ begin: function(condition),
+ popState: function(),
+ _currentRules: function(),
+ topState: function(),
+ pushState: function(condition),
+
+ options: {
+ ranges: boolean (optional: true ==> token location info will include a .range[] member)
+ flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
+ backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
+ },
+
+ performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
+ rules: [...],
+ conditions: {associative list: name ==> set},
+ }
+ }
+
+
+ token location info (@$, _$, etc.): {
+ first_line: n,
+ last_line: n,
+ first_column: n,
+ last_column: n,
+ range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
+ }
+
+
+ the parseError function receives a 'hash' object with these members for lexer and parser errors: {
+ text: (matched text)
+ token: (the produced terminal token, if any)
+ line: (yylineno)
+ }
+ while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
+ loc: (yylloc)
+ expected: (string describing the set of expected tokens)
+ recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
+ }
+*/
+var alasqlparser = (function () {
+ var o = function (k, v, o, l) { for (o = o || {}, l = k.length; l--; o[k[l]] = v)
+ ; return o; }, $V0 = [2, 13], $V1 = [1, 104], $V2 = [1, 102], $V3 = [1, 103], $V4 = [1, 6], $V5 = [1, 42], $V6 = [1, 79], $V7 = [1, 76], $V8 = [1, 94], $V9 = [1, 93], $Va = [1, 69], $Vb = [1, 101], $Vc = [1, 85], $Vd = [1, 64], $Ve = [1, 71], $Vf = [1, 84], $Vg = [1, 66], $Vh = [1, 70], $Vi = [1, 68], $Vj = [1, 61], $Vk = [1, 74], $Vl = [1, 62], $Vm = [1, 67], $Vn = [1, 83], $Vo = [1, 77], $Vp = [1, 86], $Vq = [1, 87], $Vr = [1, 81], $Vs = [1, 82], $Vt = [1, 80], $Vu = [1, 88], $Vv = [1, 89], $Vw = [1, 90], $Vx = [1, 91], $Vy = [1, 92], $Vz = [1, 98], $VA = [1, 65], $VB = [1, 78], $VC = [1, 72], $VD = [1, 96], $VE = [1, 97], $VF = [1, 63], $VG = [1, 73], $VH = [1, 108], $VI = [1, 107], $VJ = [10, 306, 602, 764], $VK = [10, 306, 310, 602, 764], $VL = [1, 115], $VM = [1, 116], $VN = [1, 117], $VO = [1, 118], $VP = [1, 119], $VQ = [130, 353, 410], $VR = [1, 127], $VS = [1, 126], $VT = [1, 134], $VU = [1, 164], $VV = [1, 175], $VW = [1, 178], $VX = [1, 173], $VY = [1, 181], $VZ = [1, 185], $V_ = [1, 160], $V$ = [1, 182], $V01 = [1, 169], $V11 = [1, 171], $V21 = [1, 174], $V31 = [1, 183], $V41 = [1, 166], $V51 = [1, 193], $V61 = [1, 188], $V71 = [1, 189], $V81 = [1, 194], $V91 = [1, 195], $Va1 = [1, 196], $Vb1 = [1, 197], $Vc1 = [1, 198], $Vd1 = [1, 199], $Ve1 = [1, 200], $Vf1 = [1, 201], $Vg1 = [1, 202], $Vh1 = [1, 176], $Vi1 = [1, 177], $Vj1 = [1, 179], $Vk1 = [1, 180], $Vl1 = [1, 186], $Vm1 = [1, 192], $Vn1 = [1, 184], $Vo1 = [1, 187], $Vp1 = [1, 172], $Vq1 = [1, 170], $Vr1 = [1, 191], $Vs1 = [1, 203], $Vt1 = [2, 4, 5], $Vu1 = [2, 471], $Vv1 = [1, 206], $Vw1 = [1, 211], $Vx1 = [1, 220], $Vy1 = [1, 216], $Vz1 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VA1 = [2, 4, 5, 10, 72, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], $VB1 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VC1 = [1, 249], $VD1 = [1, 256], $VE1 = [1, 265], $VF1 = [1, 270], $VG1 = [1, 269], $VH1 = [2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 149, 152, 154, 156, 162, 168, 169, 179, 180, 181, 183, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], $VI1 = [2, 162], $VJ1 = [1, 281], $VK1 = [10, 74, 78, 306, 310, 505, 602, 764], $VL1 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 193, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 302, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 344, 356, 368, 369, 370, 373, 374, 386, 389, 396, 400, 401, 402, 403, 404, 405, 406, 408, 409, 417, 418, 420, 424, 426, 433, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 514, 515, 516, 517, 602, 764], $VM1 = [2, 4, 5, 10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VN1 = [1, 562], $VO1 = [1, 564], $VP1 = [2, 503], $VQ1 = [1, 569], $VR1 = [1, 580], $VS1 = [1, 583], $VT1 = [1, 584], $VU1 = [10, 78, 89, 132, 137, 146, 189, 296, 306, 310, 470, 602, 764], $VV1 = [10, 74, 306, 310, 602, 764], $VW1 = [2, 567], $VX1 = [1, 602], $VY1 = [2, 4, 5, 156], $VZ1 = [1, 640], $V_1 = [1, 612], $V$1 = [1, 646], $V02 = [1, 647], $V12 = [1, 620], $V22 = [1, 631], $V32 = [1, 618], $V42 = [1, 626], $V52 = [1, 619], $V62 = [1, 627], $V72 = [1, 629], $V82 = [1, 621], $V92 = [1, 622], $Va2 = [1, 641], $Vb2 = [1, 638], $Vc2 = [1, 639], $Vd2 = [1, 615], $Ve2 = [1, 617], $Vf2 = [1, 609], $Vg2 = [1, 610], $Vh2 = [1, 611], $Vi2 = [1, 613], $Vj2 = [1, 614], $Vk2 = [1, 616], $Vl2 = [1, 623], $Vm2 = [1, 624], $Vn2 = [1, 628], $Vo2 = [1, 630], $Vp2 = [1, 632], $Vq2 = [1, 633], $Vr2 = [1, 634], $Vs2 = [1, 635], $Vt2 = [1, 636], $Vu2 = [1, 642], $Vv2 = [1, 643], $Vw2 = [1, 644], $Vx2 = [1, 645], $Vy2 = [2, 287], $Vz2 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VA2 = [2, 359], $VB2 = [1, 668], $VC2 = [1, 678], $VD2 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VE2 = [1, 694], $VF2 = [1, 703], $VG2 = [1, 702], $VH2 = [2, 4, 5, 10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VI2 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VJ2 = [2, 202], $VK2 = [1, 725], $VL2 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 183, 232, 245, 247, 306, 310, 602, 764], $VM2 = [2, 163], $VN2 = [1, 728], $VO2 = [2, 4, 5, 112], $VP2 = [1, 741], $VQ2 = [1, 760], $VR2 = [1, 740], $VS2 = [1, 739], $VT2 = [1, 734], $VU2 = [1, 735], $VV2 = [1, 737], $VW2 = [1, 738], $VX2 = [1, 742], $VY2 = [1, 743], $VZ2 = [1, 744], $V_2 = [1, 745], $V$2 = [1, 746], $V03 = [1, 747], $V13 = [1, 748], $V23 = [1, 749], $V33 = [1, 750], $V43 = [1, 751], $V53 = [1, 752], $V63 = [1, 753], $V73 = [1, 754], $V83 = [1, 755], $V93 = [1, 756], $Va3 = [1, 757], $Vb3 = [1, 759], $Vc3 = [1, 761], $Vd3 = [1, 762], $Ve3 = [1, 763], $Vf3 = [1, 764], $Vg3 = [1, 765], $Vh3 = [1, 766], $Vi3 = [1, 767], $Vj3 = [1, 770], $Vk3 = [1, 771], $Vl3 = [1, 772], $Vm3 = [1, 773], $Vn3 = [1, 774], $Vo3 = [1, 775], $Vp3 = [1, 776], $Vq3 = [1, 777], $Vr3 = [1, 778], $Vs3 = [1, 779], $Vt3 = [1, 780], $Vu3 = [1, 781], $Vv3 = [74, 89, 189], $Vw3 = [10, 74, 78, 154, 187, 230, 297, 306, 310, 343, 356, 368, 369, 373, 374, 602, 764], $Vx3 = [1, 798], $Vy3 = [10, 74, 78, 300, 306, 310, 602, 764], $Vz3 = [1, 799], $VA3 = [1, 805], $VB3 = [1, 806], $VC3 = [1, 810], $VD3 = [10, 74, 78, 306, 310, 602, 764], $VE3 = [2, 4, 5, 77, 131, 132, 137, 143, 145, 149, 152, 154, 156, 179, 180, 181, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 312, 317, 420, 424], $VF3 = [10, 72, 78, 93, 98, 107, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VG3 = [2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 149, 152, 154, 156, 162, 164, 168, 169, 179, 180, 181, 183, 185, 187, 195, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], $VH3 = [2, 4, 5, 132, 296], $VI3 = [1, 844], $VJ3 = [10, 74, 76, 78, 306, 310, 602, 764], $VK3 = [2, 738], $VL3 = [10, 74, 76, 78, 132, 139, 141, 145, 152, 306, 310, 420, 424, 602, 764], $VM3 = [2, 1161], $VN3 = [10, 74, 76, 78, 139, 141, 145, 152, 306, 310, 420, 424, 602, 764], $VO3 = [10, 74, 76, 78, 139, 141, 145, 306, 310, 420, 424, 602, 764], $VP3 = [10, 74, 78, 139, 141, 306, 310, 602, 764], $VQ3 = [10, 78, 89, 132, 146, 189, 296, 306, 310, 470, 602, 764], $VR3 = [335, 338, 339], $VS3 = [2, 764], $VT3 = [1, 869], $VU3 = [1, 870], $VV3 = [1, 871], $VW3 = [1, 872], $VX3 = [1, 881], $VY3 = [1, 880], $VZ3 = [164, 166, 334], $V_3 = [2, 444], $V$3 = [1, 936], $V04 = [2, 4, 5, 77, 131, 156, 290, 291, 292, 293], $V14 = [1, 951], $V24 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $V34 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $V44 = [2, 375], $V54 = [1, 958], $V64 = [306, 308, 310], $V74 = [74, 300], $V84 = [74, 300, 426], $V94 = [1, 965], $Va4 = [2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vb4 = [74, 426], $Vc4 = [1, 978], $Vd4 = [1, 977], $Ve4 = [1, 984], $Vf4 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $Vg4 = [1, 1010], $Vh4 = [10, 72, 78, 306, 310, 602, 764], $Vi4 = [1, 1016], $Vj4 = [1, 1017], $Vk4 = [1, 1018], $Vl4 = [2, 4, 5, 10, 72, 74, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], $Vm4 = [1, 1068], $Vn4 = [1, 1067], $Vo4 = [1, 1081], $Vp4 = [1, 1080], $Vq4 = [1, 1088], $Vr4 = [10, 72, 74, 78, 93, 98, 107, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $Vs4 = [1, 1119], $Vt4 = [10, 78, 89, 146, 189, 306, 310, 470, 602, 764], $Vu4 = [1, 1139], $Vv4 = [1, 1138], $Vw4 = [1, 1137], $Vx4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy4 = [1, 1153], $Vz4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VA4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 315, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VB4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VC4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VD4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 320, 321, 322, 323, 324, 325, 326, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VE4 = [2, 406], $VF4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VG4 = [2, 285], $VH4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VI4 = [10, 78, 306, 310, 602, 764], $VJ4 = [1, 1189], $VK4 = [10, 77, 78, 143, 145, 152, 181, 302, 306, 310, 420, 424, 602, 764], $VL4 = [10, 74, 78, 306, 308, 310, 464, 602, 764], $VM4 = [1, 1200], $VN4 = [10, 72, 78, 118, 128, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $VO4 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VP4 = [2, 4, 5, 72, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VQ4 = [2, 4, 5, 72, 74, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VR4 = [2, 1085], $VS4 = [2, 4, 5, 72, 74, 76, 77, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VT4 = [1, 1252], $VU4 = [10, 74, 78, 128, 306, 308, 310, 464, 602, 764], $VV4 = [115, 116, 124], $VW4 = [2, 584], $VX4 = [1, 1280], $VY4 = [76, 139], $VZ4 = [2, 724], $V_4 = [1, 1297], $V$4 = [1, 1298], $V05 = [2, 4, 5, 10, 53, 72, 76, 89, 124, 146, 156, 189, 230, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $V15 = [2, 330], $V25 = [1, 1322], $V35 = [1, 1336], $V45 = [1, 1338], $V55 = [2, 487], $V65 = [74, 78], $V75 = [10, 306, 308, 310, 464, 602, 764], $V85 = [10, 72, 78, 118, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $V95 = [1, 1354], $Va5 = [1, 1358], $Vb5 = [1, 1359], $Vc5 = [1, 1361], $Vd5 = [1, 1362], $Ve5 = [1, 1363], $Vf5 = [1, 1364], $Vg5 = [1, 1365], $Vh5 = [1, 1366], $Vi5 = [1, 1367], $Vj5 = [1, 1368], $Vk5 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vl5 = [1, 1393], $Vm5 = [10, 72, 78, 118, 162, 168, 169, 245, 247, 306, 310, 602, 764], $Vn5 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vo5 = [1, 1490], $Vp5 = [1, 1492], $Vq5 = [2, 4, 5, 77, 143, 145, 152, 156, 181, 290, 291, 292, 293, 302, 420, 424], $Vr5 = [1, 1506], $Vs5 = [10, 72, 74, 78, 162, 168, 169, 245, 247, 306, 310, 602, 764], $Vt5 = [1, 1524], $Vu5 = [1, 1526], $Vv5 = [1, 1527], $Vw5 = [1, 1523], $Vx5 = [1, 1522], $Vy5 = [1, 1521], $Vz5 = [1, 1528], $VA5 = [1, 1518], $VB5 = [1, 1519], $VC5 = [1, 1520], $VD5 = [1, 1545], $VE5 = [2, 4, 5, 10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VF5 = [1, 1556], $VG5 = [1, 1564], $VH5 = [1, 1563], $VI5 = [10, 72, 78, 162, 168, 169, 245, 247, 306, 310, 602, 764], $VJ5 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VK5 = [2, 4, 5, 10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VL5 = [1, 1621], $VM5 = [1, 1623], $VN5 = [1, 1620], $VO5 = [1, 1622], $VP5 = [187, 193, 368, 369, 370, 373], $VQ5 = [2, 515], $VR5 = [1, 1628], $VS5 = [1, 1647], $VT5 = [10, 72, 78, 162, 168, 169, 306, 310, 602, 764], $VU5 = [1, 1657], $VV5 = [1, 1658], $VW5 = [1, 1659], $VX5 = [1, 1678], $VY5 = [4, 10, 243, 306, 310, 343, 356, 602, 764], $VZ5 = [1, 1726], $V_5 = [10, 72, 74, 78, 118, 162, 168, 169, 239, 245, 247, 306, 310, 602, 764], $V$5 = [2, 4, 5, 77], $V06 = [1, 1820], $V16 = [1, 1832], $V26 = [1, 1851], $V36 = [10, 72, 78, 162, 168, 169, 306, 310, 415, 602, 764], $V46 = [10, 74, 78, 230, 306, 310, 602, 764];
+ var parser = { trace: function trace() { },
+ yy: {},
+ symbols_: { "error": 2, "Literal": 3, "LITERAL": 4, "BRALITERAL": 5, "NonReserved": 6, "LiteralWithSpaces": 7, "main": 8, "Statements": 9, "EOF": 10, "Statements_group0": 11, "AStatement": 12, "ExplainStatement": 13, "EXPLAIN": 14, "QUERY": 15, "PLAN": 16, "Statement": 17, "AlterTable": 18, "AttachDatabase": 19, "Call": 20, "CreateDatabase": 21, "CreateIndex": 22, "CreateGraph": 23, "CreateTable": 24, "CreateView": 25, "CreateEdge": 26, "CreateVertex": 27, "Declare": 28, "Delete": 29, "DetachDatabase": 30, "DropDatabase": 31, "DropIndex": 32, "DropTable": 33, "DropView": 34, "If": 35, "Insert": 36, "Merge": 37, "Reindex": 38, "RenameTable": 39, "Select": 40, "ShowCreateTable": 41, "ShowColumns": 42, "ShowDatabases": 43, "ShowIndex": 44, "ShowTables": 45, "TruncateTable": 46, "WithSelect": 47, "CreateTrigger": 48, "DropTrigger": 49, "BeginTransaction": 50, "CommitTransaction": 51, "RollbackTransaction": 52, "EndTransaction": 53, "UseDatabase": 54, "Update": 55, "JavaScript": 56, "Source": 57, "Assert": 58, "While": 59, "Continue": 60, "Break": 61, "BeginEnd": 62, "Print": 63, "Require": 64, "SetVariable": 65, "ExpressionStatement": 66, "AddRule": 67, "Query": 68, "Echo": 69, "CreateFunction": 70, "CreateAggregate": 71, "WITH": 72, "WithTablesList": 73, "COMMA": 74, "WithTable": 75, "AS": 76, "LPAR": 77, "RPAR": 78, "SelectClause": 79, "Select_option0": 80, "IntoClause": 81, "FromClause": 82, "Select_option1": 83, "WhereClause": 84, "GroupClause": 85, "OrderClause": 86, "LimitClause": 87, "UnionClause": 88, "SEARCH": 89, "Select_repetition0": 90, "Select_option2": 91, "PivotClause": 92, "PIVOT": 93, "Expression": 94, "FOR": 95, "PivotClause_option0": 96, "PivotClause_option1": 97, "UNPIVOT": 98, "IN": 99, "ColumnsList": 100, "PivotClause_option2": 101, "PivotClause2": 102, "AsList": 103, "AsLiteral": 104, "AsPart": 105, "RemoveClause": 106, "REMOVE": 107, "RemoveClause_option0": 108, "RemoveColumnsList": 109, "RemoveColumn": 110, "Column": 111, "LIKE": 112, "StringValue": 113, "ArrowDot": 114, "ARROW": 115, "DOT": 116, "SearchSelector": 117, "ORDER": 118, "BY": 119, "OrderExpressionsList": 120, "SearchSelector_option0": 121, "DOTDOT": 122, "CARET": 123, "EQ": 124, "SearchSelector_repetition_plus0": 125, "SearchSelector_repetition_plus1": 126, "SearchSelector_option1": 127, "WHERE": 128, "OF": 129, "CLASS": 130, "NUMBER": 131, "STRING": 132, "SLASH": 133, "VERTEX": 134, "EDGE": 135, "EXCLAMATION": 136, "SHARP": 137, "MODULO": 138, "GT": 139, "LT": 140, "GTGT": 141, "LTLT": 142, "DOLLAR": 143, "Json": 144, "AT": 145, "SET": 146, "SetColumnsList": 147, "TO": 148, "VALUE": 149, "ROW": 150, "ExprList": 151, "COLON": 152, "PlusStar": 153, "NOT": 154, "SearchSelector_repetition2": 155, "IF": 156, "SearchSelector_repetition3": 157, "Aggregator": 158, "SearchSelector_repetition4": 159, "SearchSelector_group0": 160, "SearchSelector_repetition5": 161, "UNION": 162, "SearchSelectorList": 163, "ALL": 164, "SearchSelector_repetition6": 165, "ANY": 166, "SearchSelector_repetition7": 167, "INTERSECT": 168, "EXCEPT": 169, "AND": 170, "OR": 171, "PATH": 172, "RETURN": 173, "ResultColumns": 174, "REPEAT": 175, "SearchSelector_repetition8": 176, "SearchSelectorList_repetition0": 177, "SearchSelectorList_repetition1": 178, "PLUS": 179, "STAR": 180, "QUESTION": 181, "SearchFrom": 182, "FROM": 183, "SelectModifier": 184, "DISTINCT": 185, "TopClause": 186, "UNIQUE": 187, "SelectClause_option0": 188, "SELECT": 189, "COLUMN": 190, "MATRIX": 191, "TEXTSTRING": 192, "INDEX": 193, "RECORDSET": 194, "TOP": 195, "NumValue": 196, "TopClause_option0": 197, "INTO": 198, "Table": 199, "FuncValue": 200, "ParamValue": 201, "VarValue": 202, "FromTablesList": 203, "JoinTablesList": 204, "ApplyClause": 205, "CROSS": 206, "APPLY": 207, "OUTER": 208, "FromTable": 209, "FromTable_option0": 210, "FromTable_option1": 211, "INDEXED": 212, "INSERTED": 213, "FromString": 214, "JoinTable": 215, "JoinMode": 216, "JoinTableAs": 217, "OnClause": 218, "JoinTableAs_option0": 219, "JoinTableAs_option1": 220, "JoinModeMode": 221, "NATURAL": 222, "JOIN": 223, "INNER": 224, "LEFT": 225, "RIGHT": 226, "FULL": 227, "SEMI": 228, "ANTI": 229, "ON": 230, "USING": 231, "GROUP": 232, "GroupExpressionsList": 233, "HavingClause": 234, "GroupExpression": 235, "GROUPING": 236, "ROLLUP": 237, "CUBE": 238, "HAVING": 239, "CORRESPONDING": 240, "OrderExpression": 241, "DIRECTION": 242, "COLLATE": 243, "NOCASE": 244, "LIMIT": 245, "OffsetClause": 246, "OFFSET": 247, "LimitClause_option0": 248, "FETCH": 249, "LimitClause_option1": 250, "LimitClause_option2": 251, "LimitClause_option3": 252, "ResultColumn": 253, "Star": 254, "AggrValue": 255, "Op": 256, "LogicValue": 257, "NullValue": 258, "ExistsValue": 259, "CaseValue": 260, "CastClause": 261, "ArrayValue": 262, "NewClause": 263, "Expression_group0": 264, "CURRENT_TIMESTAMP": 265, "JAVASCRIPT": 266, "CREATE": 267, "FUNCTION": 268, "AGGREGATE": 269, "NEW": 270, "CAST": 271, "ColumnType": 272, "CONVERT": 273, "PrimitiveValue": 274, "OverClause": 275, "OVER": 276, "OverPartitionClause": 277, "OverOrderByClause": 278, "PARTITION": 279, "SUM": 280, "COUNT": 281, "MIN": 282, "MAX": 283, "AVG": 284, "FIRST": 285, "LAST": 286, "AGGR": 287, "ARRAY": 288, "FuncValue_option0": 289, "REPLACE": 290, "DATEADD": 291, "DATEDIFF": 292, "INTERVAL": 293, "TRUE": 294, "FALSE": 295, "NSTRING": 296, "NULL": 297, "EXISTS": 298, "ARRAYLBRA": 299, "RBRA": 300, "ParamValue_group0": 301, "BRAQUESTION": 302, "CASE": 303, "WhensList": 304, "ElseClause": 305, "END": 306, "When": 307, "WHEN": 308, "THEN": 309, "ELSE": 310, "REGEXP": 311, "TILDA": 312, "GLOB": 313, "ESCAPE": 314, "NOT_LIKE": 315, "BARBAR": 316, "MINUS": 317, "AMPERSAND": 318, "BAR": 319, "GE": 320, "LE": 321, "EQEQ": 322, "EQEQEQ": 323, "NE": 324, "NEEQEQ": 325, "NEEQEQEQ": 326, "CondOp": 327, "AllSome": 328, "ColFunc": 329, "BETWEEN": 330, "NOT_BETWEEN": 331, "IS": 332, "DOUBLECOLON": 333, "SOME": 334, "UPDATE": 335, "SetColumn": 336, "SetColumn_group0": 337, "DELETE": 338, "INSERT": 339, "Into": 340, "Values": 341, "ValuesListsList": 342, "DEFAULT": 343, "VALUES": 344, "ValuesList": 345, "Value": 346, "DateValue": 347, "TemporaryClause": 348, "TableClass": 349, "IfNotExists": 350, "CreateTableDefClause": 351, "CreateTableOptionsClause": 352, "TABLE": 353, "CreateTableOptions": 354, "CreateTableOption": 355, "IDENTITY": 356, "TEMP": 357, "ColumnDefsList": 358, "ConstraintsList": 359, "Constraint": 360, "ConstraintName": 361, "PrimaryKey": 362, "ForeignKey": 363, "UniqueKey": 364, "IndexKey": 365, "Check": 366, "CONSTRAINT": 367, "CHECK": 368, "PRIMARY": 369, "KEY": 370, "PrimaryKey_option0": 371, "ColsList": 372, "FOREIGN": 373, "REFERENCES": 374, "ForeignKey_option0": 375, "OnForeignKeyClause": 376, "ParColsList": 377, "OnDeleteClause": 378, "OnUpdateClause": 379, "NO": 380, "ACTION": 381, "UniqueKey_option0": 382, "UniqueKey_option1": 383, "ColumnDef": 384, "ColumnConstraintsClause": 385, "ColumnConstraints": 386, "SingularColumnType": 387, "NumberMax": 388, "ENUM": 389, "MAXNUM": 390, "ColumnConstraintsList": 391, "ColumnConstraint": 392, "ParLiteral": 393, "ColumnConstraint_option0": 394, "ColumnConstraint_option1": 395, "DROP": 396, "DropTable_group0": 397, "IfExists": 398, "TablesList": 399, "ALTER": 400, "RENAME": 401, "ADD": 402, "MODIFY": 403, "ATTACH": 404, "DATABASE": 405, "DETACH": 406, "AsClause": 407, "USE": 408, "SHOW": 409, "VIEW": 410, "CreateView_option0": 411, "CreateView_option1": 412, "SubqueryRestriction": 413, "READ": 414, "ONLY": 415, "OPTION": 416, "SOURCE": 417, "ASSERT": 418, "JsonObject": 419, "ATLBRA": 420, "JsonArray": 421, "JsonValue": 422, "JsonPrimitiveValue": 423, "LCUR": 424, "JsonPropertiesList": 425, "RCUR": 426, "JsonElementsList": 427, "JsonProperty": 428, "OnOff": 429, "SetPropsList": 430, "AtDollar": 431, "SetProp": 432, "OFF": 433, "COMMIT": 434, "TRANSACTION": 435, "ROLLBACK": 436, "BEGIN": 437, "ElseStatement": 438, "WHILE": 439, "CONTINUE": 440, "BREAK": 441, "PRINT": 442, "REQUIRE": 443, "StringValuesList": 444, "PluginsList": 445, "Plugin": 446, "ECHO": 447, "DECLARE": 448, "DeclaresList": 449, "DeclareItem": 450, "TRUNCATE": 451, "MERGE": 452, "MergeInto": 453, "MergeUsing": 454, "MergeOn": 455, "MergeMatchedList": 456, "OutputClause": 457, "MergeMatched": 458, "MergeNotMatched": 459, "MATCHED": 460, "MergeMatchedAction": 461, "MergeNotMatchedAction": 462, "TARGET": 463, "OUTPUT": 464, "CreateVertex_option0": 465, "CreateVertex_option1": 466, "CreateVertex_option2": 467, "CreateVertexSet": 468, "SharpValue": 469, "CONTENT": 470, "CreateEdge_option0": 471, "GRAPH": 472, "GraphList": 473, "GraphVertexEdge": 474, "GraphElement": 475, "GraphVertexEdge_option0": 476, "GraphVertexEdge_option1": 477, "GraphElementVar": 478, "GraphVertexEdge_option2": 479, "GraphVertexEdge_option3": 480, "GraphVertexEdge_option4": 481, "GraphVar": 482, "GraphAsClause": 483, "GraphAtClause": 484, "GraphElement2": 485, "GraphElement2_option0": 486, "GraphElement2_option1": 487, "GraphElement2_option2": 488, "GraphElement2_option3": 489, "GraphElement_option0": 490, "GraphElement_option1": 491, "GraphElement_option2": 492, "SharpLiteral": 493, "GraphElement_option3": 494, "GraphElement_option4": 495, "GraphElement_option5": 496, "ColonLiteral": 497, "DeleteVertex": 498, "DeleteVertex_option0": 499, "DeleteEdge": 500, "DeleteEdge_option0": 501, "DeleteEdge_option1": 502, "DeleteEdge_option2": 503, "Term": 504, "COLONDASH": 505, "TermsList": 506, "QUESTIONDASH": 507, "CALL": 508, "TRIGGER": 509, "BeforeAfter": 510, "InsertDeleteUpdate": 511, "CreateTrigger_option0": 512, "CreateTrigger_option1": 513, "BEFORE": 514, "AFTER": 515, "INSTEAD": 516, "REINDEX": 517, "A": 518, "ABSENT": 519, "ABSOLUTE": 520, "ACCORDING": 521, "ADA": 522, "ADMIN": 523, "ALWAYS": 524, "ASC": 525, "ASSERTION": 526, "ASSIGNMENT": 527, "ATTRIBUTE": 528, "ATTRIBUTES": 529, "BASE64": 530, "BERNOULLI": 531, "BLOCKED": 532, "BOM": 533, "BREADTH": 534, "C": 535, "CASCADE": 536, "CATALOG": 537, "CATALOG_NAME": 538, "CHAIN": 539, "CHARACTERISTICS": 540, "CHARACTERS": 541, "CHARACTER_SET_CATALOG": 542, "CHARACTER_SET_NAME": 543, "CHARACTER_SET_SCHEMA": 544, "CLASS_ORIGIN": 545, "COBOL": 546, "COLLATION": 547, "COLLATION_CATALOG": 548, "COLLATION_NAME": 549, "COLLATION_SCHEMA": 550, "COLUMNS": 551, "COLUMN_NAME": 552, "COMMAND_FUNCTION": 553, "COMMAND_FUNCTION_CODE": 554, "COMMITTED": 555, "CONDITION_NUMBER": 556, "CONNECTION": 557, "CONNECTION_NAME": 558, "CONSTRAINTS": 559, "CONSTRAINT_CATALOG": 560, "CONSTRAINT_NAME": 561, "CONSTRAINT_SCHEMA": 562, "CONSTRUCTOR": 563, "CONTROL": 564, "CURSOR_NAME": 565, "DATA": 566, "DATETIME_INTERVAL_CODE": 567, "DATETIME_INTERVAL_PRECISION": 568, "DB": 569, "DEFAULTS": 570, "DEFERRABLE": 571, "DEFERRED": 572, "DEFINED": 573, "DEFINER": 574, "DEGREE": 575, "DEPTH": 576, "DERIVED": 577, "DESC": 578, "DESCRIPTOR": 579, "DIAGNOSTICS": 580, "DISPATCH": 581, "DOCUMENT": 582, "DOMAIN": 583, "DYNAMIC_FUNCTION": 584, "DYNAMIC_FUNCTION_CODE": 585, "EMPTY": 586, "ENCODING": 587, "ENFORCED": 588, "EXCLUDE": 589, "EXCLUDING": 590, "EXPRESSION": 591, "FILE": 592, "FINAL": 593, "FLAG": 594, "FOLLOWING": 595, "FORTRAN": 596, "FOUND": 597, "FS": 598, "G": 599, "GENERAL": 600, "GENERATED": 601, "GO": 602, "GOTO": 603, "GRANTED": 604, "HEX": 605, "HIERARCHY": 606, "ID": 607, "IGNORE": 608, "IMMEDIATE": 609, "IMMEDIATELY": 610, "IMPLEMENTATION": 611, "INCLUDING": 612, "INCREMENT": 613, "INDENT": 614, "INITIALLY": 615, "INPUT": 616, "INSTANCE": 617, "INSTANTIABLE": 618, "INTEGRITY": 619, "INVOKER": 620, "ISOLATION": 621, "K": 622, "KEY_MEMBER": 623, "KEY_TYPE": 624, "LENGTH": 625, "LEVEL": 626, "LIBRARY": 627, "LINK": 628, "LOCATION": 629, "LOCATOR": 630, "M": 631, "MAP": 632, "MAPPING": 633, "MAXVALUE": 634, "MESSAGE_LENGTH": 635, "MESSAGE_OCTET_LENGTH": 636, "MESSAGE_TEXT": 637, "MINVALUE": 638, "MORE": 639, "MUMPS": 640, "NAME": 641, "NAMES": 642, "NAMESPACE": 643, "NESTING": 644, "NEXT": 645, "NFC": 646, "NFD": 647, "NFKC": 648, "NFKD": 649, "NIL": 650, "NORMALIZED": 651, "NULLABLE": 652, "NULLS": 653, "OBJECT": 654, "OCTETS": 655, "OPTIONS": 656, "ORDERING": 657, "ORDINALITY": 658, "OTHERS": 659, "OVERRIDING": 660, "P": 661, "PAD": 662, "PARAMETER_MODE": 663, "PARAMETER_NAME": 664, "PARAMETER_ORDINAL_POSITION": 665, "PARAMETER_SPECIFIC_CATALOG": 666, "PARAMETER_SPECIFIC_NAME": 667, "PARAMETER_SPECIFIC_SCHEMA": 668, "PARTIAL": 669, "PASCAL": 670, "PASSING": 671, "PASSTHROUGH": 672, "PERMISSION": 673, "PLACING": 674, "PLI": 675, "PRECEDING": 676, "PRESERVE": 677, "PRIOR": 678, "PRIVILEGES": 679, "PUBLIC": 680, "RECOVERY": 681, "RELATIVE": 682, "REPEATABLE": 683, "REQUIRING": 684, "RESPECT": 685, "RESTART": 686, "RESTORE": 687, "RESTRICT": 688, "RETURNED_CARDINALITY": 689, "RETURNED_LENGTH": 690, "RETURNED_OCTET_LENGTH": 691, "RETURNED_SQLSTATE": 692, "RETURNING": 693, "ROLE": 694, "ROUTINE": 695, "ROUTINE_CATALOG": 696, "ROUTINE_NAME": 697, "ROUTINE_SCHEMA": 698, "ROW_COUNT": 699, "SCALE": 700, "SCHEMA": 701, "SCHEMA_NAME": 702, "SCOPE_CATALOG": 703, "SCOPE_NAME": 704, "SCOPE_SCHEMA": 705, "SECTION": 706, "SECURITY": 707, "SELECTIVE": 708, "SELF": 709, "SEQUENCE": 710, "SERIALIZABLE": 711, "SERVER": 712, "SERVER_NAME": 713, "SESSION": 714, "SETS": 715, "SIMPLE": 716, "SIZE": 717, "SPACE": 718, "SPECIFIC_NAME": 719, "STANDALONE": 720, "STATE": 721, "STATEMENT": 722, "STRIP": 723, "STRUCTURE": 724, "STYLE": 725, "SUBCLASS_ORIGIN": 726, "T": 727, "TABLE_NAME": 728, "TEMPORARY": 729, "TIES": 730, "TOKEN": 731, "TOP_LEVEL_COUNT": 732, "TRANSACTIONS_COMMITTED": 733, "TRANSACTIONS_ROLLED_BACK": 734, "TRANSACTION_ACTIVE": 735, "TRANSFORM": 736, "TRANSFORMS": 737, "TRIGGER_CATALOG": 738, "TRIGGER_NAME": 739, "TRIGGER_SCHEMA": 740, "TYPE": 741, "UNBOUNDED": 742, "UNCOMMITTED": 743, "UNDER": 744, "UNLINK": 745, "UNNAMED": 746, "UNTYPED": 747, "URI": 748, "USAGE": 749, "USER_DEFINED_TYPE_CATALOG": 750, "USER_DEFINED_TYPE_CODE": 751, "USER_DEFINED_TYPE_NAME": 752, "USER_DEFINED_TYPE_SCHEMA": 753, "VALID": 754, "VERSION": 755, "WHITESPACE": 756, "WORK": 757, "WRAPPER": 758, "WRITE": 759, "XMLDECLARATION": 760, "XMLSCHEMA": 761, "YES": 762, "ZONE": 763, "SEMICOLON": 764, "PERCENT": 765, "ROWS": 766, "FuncValue_option0_group0": 767, "$accept": 0, "$end": 1 },
+ terminals_: { 2: "error", 4: "LITERAL", 5: "BRALITERAL", 10: "EOF", 14: "EXPLAIN", 15: "QUERY", 16: "PLAN", 53: "EndTransaction", 72: "WITH", 74: "COMMA", 76: "AS", 77: "LPAR", 78: "RPAR", 89: "SEARCH", 93: "PIVOT", 95: "FOR", 98: "UNPIVOT", 99: "IN", 107: "REMOVE", 112: "LIKE", 115: "ARROW", 116: "DOT", 118: "ORDER", 119: "BY", 122: "DOTDOT", 123: "CARET", 124: "EQ", 128: "WHERE", 129: "OF", 130: "CLASS", 131: "NUMBER", 132: "STRING", 133: "SLASH", 134: "VERTEX", 135: "EDGE", 136: "EXCLAMATION", 137: "SHARP", 138: "MODULO", 139: "GT", 140: "LT", 141: "GTGT", 142: "LTLT", 143: "DOLLAR", 145: "AT", 146: "SET", 148: "TO", 149: "VALUE", 150: "ROW", 152: "COLON", 154: "NOT", 156: "IF", 162: "UNION", 164: "ALL", 166: "ANY", 168: "INTERSECT", 169: "EXCEPT", 170: "AND", 171: "OR", 172: "PATH", 173: "RETURN", 175: "REPEAT", 179: "PLUS", 180: "STAR", 181: "QUESTION", 183: "FROM", 185: "DISTINCT", 187: "UNIQUE", 189: "SELECT", 190: "COLUMN", 191: "MATRIX", 192: "TEXTSTRING", 193: "INDEX", 194: "RECORDSET", 195: "TOP", 198: "INTO", 206: "CROSS", 207: "APPLY", 208: "OUTER", 212: "INDEXED", 213: "INSERTED", 222: "NATURAL", 223: "JOIN", 224: "INNER", 225: "LEFT", 226: "RIGHT", 227: "FULL", 228: "SEMI", 229: "ANTI", 230: "ON", 231: "USING", 232: "GROUP", 236: "GROUPING", 237: "ROLLUP", 238: "CUBE", 239: "HAVING", 240: "CORRESPONDING", 242: "DIRECTION", 243: "COLLATE", 244: "NOCASE", 245: "LIMIT", 247: "OFFSET", 249: "FETCH", 265: "CURRENT_TIMESTAMP", 266: "JAVASCRIPT", 267: "CREATE", 268: "FUNCTION", 269: "AGGREGATE", 270: "NEW", 271: "CAST", 273: "CONVERT", 276: "OVER", 279: "PARTITION", 280: "SUM", 281: "COUNT", 282: "MIN", 283: "MAX", 284: "AVG", 285: "FIRST", 286: "LAST", 287: "AGGR", 288: "ARRAY", 290: "REPLACE", 291: "DATEADD", 292: "DATEDIFF", 293: "INTERVAL", 294: "TRUE", 295: "FALSE", 296: "NSTRING", 297: "NULL", 298: "EXISTS", 299: "ARRAYLBRA", 300: "RBRA", 302: "BRAQUESTION", 303: "CASE", 306: "END", 308: "WHEN", 309: "THEN", 310: "ELSE", 311: "REGEXP", 312: "TILDA", 313: "GLOB", 314: "ESCAPE", 315: "NOT_LIKE", 316: "BARBAR", 317: "MINUS", 318: "AMPERSAND", 319: "BAR", 320: "GE", 321: "LE", 322: "EQEQ", 323: "EQEQEQ", 324: "NE", 325: "NEEQEQ", 326: "NEEQEQEQ", 330: "BETWEEN", 331: "NOT_BETWEEN", 332: "IS", 333: "DOUBLECOLON", 334: "SOME", 335: "UPDATE", 338: "DELETE", 339: "INSERT", 343: "DEFAULT", 344: "VALUES", 347: "DateValue", 353: "TABLE", 356: "IDENTITY", 357: "TEMP", 367: "CONSTRAINT", 368: "CHECK", 369: "PRIMARY", 370: "KEY", 373: "FOREIGN", 374: "REFERENCES", 380: "NO", 381: "ACTION", 386: "ColumnConstraints", 389: "ENUM", 390: "MAXNUM", 396: "DROP", 400: "ALTER", 401: "RENAME", 402: "ADD", 403: "MODIFY", 404: "ATTACH", 405: "DATABASE", 406: "DETACH", 408: "USE", 409: "SHOW", 410: "VIEW", 414: "READ", 415: "ONLY", 416: "OPTION", 417: "SOURCE", 418: "ASSERT", 420: "ATLBRA", 424: "LCUR", 426: "RCUR", 433: "OFF", 434: "COMMIT", 435: "TRANSACTION", 436: "ROLLBACK", 437: "BEGIN", 439: "WHILE", 440: "CONTINUE", 441: "BREAK", 442: "PRINT", 443: "REQUIRE", 447: "ECHO", 448: "DECLARE", 451: "TRUNCATE", 452: "MERGE", 460: "MATCHED", 463: "TARGET", 464: "OUTPUT", 470: "CONTENT", 472: "GRAPH", 505: "COLONDASH", 507: "QUESTIONDASH", 508: "CALL", 509: "TRIGGER", 514: "BEFORE", 515: "AFTER", 516: "INSTEAD", 517: "REINDEX", 518: "A", 519: "ABSENT", 520: "ABSOLUTE", 521: "ACCORDING", 522: "ADA", 523: "ADMIN", 524: "ALWAYS", 525: "ASC", 526: "ASSERTION", 527: "ASSIGNMENT", 528: "ATTRIBUTE", 529: "ATTRIBUTES", 530: "BASE64", 531: "BERNOULLI", 532: "BLOCKED", 533: "BOM", 534: "BREADTH", 535: "C", 536: "CASCADE", 537: "CATALOG", 538: "CATALOG_NAME", 539: "CHAIN", 540: "CHARACTERISTICS", 541: "CHARACTERS", 542: "CHARACTER_SET_CATALOG", 543: "CHARACTER_SET_NAME", 544: "CHARACTER_SET_SCHEMA", 545: "CLASS_ORIGIN", 546: "COBOL", 547: "COLLATION", 548: "COLLATION_CATALOG", 549: "COLLATION_NAME", 550: "COLLATION_SCHEMA", 551: "COLUMNS", 552: "COLUMN_NAME", 553: "COMMAND_FUNCTION", 554: "COMMAND_FUNCTION_CODE", 555: "COMMITTED", 556: "CONDITION_NUMBER", 557: "CONNECTION", 558: "CONNECTION_NAME", 559: "CONSTRAINTS", 560: "CONSTRAINT_CATALOG", 561: "CONSTRAINT_NAME", 562: "CONSTRAINT_SCHEMA", 563: "CONSTRUCTOR", 564: "CONTROL", 565: "CURSOR_NAME", 566: "DATA", 567: "DATETIME_INTERVAL_CODE", 568: "DATETIME_INTERVAL_PRECISION", 569: "DB", 570: "DEFAULTS", 571: "DEFERRABLE", 572: "DEFERRED", 573: "DEFINED", 574: "DEFINER", 575: "DEGREE", 576: "DEPTH", 577: "DERIVED", 578: "DESC", 579: "DESCRIPTOR", 580: "DIAGNOSTICS", 581: "DISPATCH", 582: "DOCUMENT", 583: "DOMAIN", 584: "DYNAMIC_FUNCTION", 585: "DYNAMIC_FUNCTION_CODE", 586: "EMPTY", 587: "ENCODING", 588: "ENFORCED", 589: "EXCLUDE", 590: "EXCLUDING", 591: "EXPRESSION", 592: "FILE", 593: "FINAL", 594: "FLAG", 595: "FOLLOWING", 596: "FORTRAN", 597: "FOUND", 598: "FS", 599: "G", 600: "GENERAL", 601: "GENERATED", 602: "GO", 603: "GOTO", 604: "GRANTED", 605: "HEX", 606: "HIERARCHY", 607: "ID", 608: "IGNORE", 609: "IMMEDIATE", 610: "IMMEDIATELY", 611: "IMPLEMENTATION", 612: "INCLUDING", 613: "INCREMENT", 614: "INDENT", 615: "INITIALLY", 616: "INPUT", 617: "INSTANCE", 618: "INSTANTIABLE", 619: "INTEGRITY", 620: "INVOKER", 621: "ISOLATION", 622: "K", 623: "KEY_MEMBER", 624: "KEY_TYPE", 625: "LENGTH", 626: "LEVEL", 627: "LIBRARY", 628: "LINK", 629: "LOCATION", 630: "LOCATOR", 631: "M", 632: "MAP", 633: "MAPPING", 634: "MAXVALUE", 635: "MESSAGE_LENGTH", 636: "MESSAGE_OCTET_LENGTH", 637: "MESSAGE_TEXT", 638: "MINVALUE", 639: "MORE", 640: "MUMPS", 641: "NAME", 642: "NAMES", 643: "NAMESPACE", 644: "NESTING", 645: "NEXT", 646: "NFC", 647: "NFD", 648: "NFKC", 649: "NFKD", 650: "NIL", 651: "NORMALIZED", 652: "NULLABLE", 653: "NULLS", 654: "OBJECT", 655: "OCTETS", 656: "OPTIONS", 657: "ORDERING", 658: "ORDINALITY", 659: "OTHERS", 660: "OVERRIDING", 661: "P", 662: "PAD", 663: "PARAMETER_MODE", 664: "PARAMETER_NAME", 665: "PARAMETER_ORDINAL_POSITION", 666: "PARAMETER_SPECIFIC_CATALOG", 667: "PARAMETER_SPECIFIC_NAME", 668: "PARAMETER_SPECIFIC_SCHEMA", 669: "PARTIAL", 670: "PASCAL", 671: "PASSING", 672: "PASSTHROUGH", 673: "PERMISSION", 674: "PLACING", 675: "PLI", 676: "PRECEDING", 677: "PRESERVE", 678: "PRIOR", 679: "PRIVILEGES", 680: "PUBLIC", 681: "RECOVERY", 682: "RELATIVE", 683: "REPEATABLE", 684: "REQUIRING", 685: "RESPECT", 686: "RESTART", 687: "RESTORE", 688: "RESTRICT", 689: "RETURNED_CARDINALITY", 690: "RETURNED_LENGTH", 691: "RETURNED_OCTET_LENGTH", 692: "RETURNED_SQLSTATE", 693: "RETURNING", 694: "ROLE", 695: "ROUTINE", 696: "ROUTINE_CATALOG", 697: "ROUTINE_NAME", 698: "ROUTINE_SCHEMA", 699: "ROW_COUNT", 700: "SCALE", 701: "SCHEMA", 702: "SCHEMA_NAME", 703: "SCOPE_CATALOG", 704: "SCOPE_NAME", 705: "SCOPE_SCHEMA", 706: "SECTION", 707: "SECURITY", 708: "SELECTIVE", 709: "SELF", 710: "SEQUENCE", 711: "SERIALIZABLE", 712: "SERVER", 713: "SERVER_NAME", 714: "SESSION", 715: "SETS", 716: "SIMPLE", 717: "SIZE", 718: "SPACE", 719: "SPECIFIC_NAME", 720: "STANDALONE", 721: "STATE", 722: "STATEMENT", 723: "STRIP", 724: "STRUCTURE", 725: "STYLE", 726: "SUBCLASS_ORIGIN", 727: "T", 728: "TABLE_NAME", 729: "TEMPORARY", 730: "TIES", 731: "TOKEN", 732: "TOP_LEVEL_COUNT", 733: "TRANSACTIONS_COMMITTED", 734: "TRANSACTIONS_ROLLED_BACK", 735: "TRANSACTION_ACTIVE", 736: "TRANSFORM", 737: "TRANSFORMS", 738: "TRIGGER_CATALOG", 739: "TRIGGER_NAME", 740: "TRIGGER_SCHEMA", 741: "TYPE", 742: "UNBOUNDED", 743: "UNCOMMITTED", 744: "UNDER", 745: "UNLINK", 746: "UNNAMED", 747: "UNTYPED", 748: "URI", 749: "USAGE", 750: "USER_DEFINED_TYPE_CATALOG", 751: "USER_DEFINED_TYPE_CODE", 752: "USER_DEFINED_TYPE_NAME", 753: "USER_DEFINED_TYPE_SCHEMA", 754: "VALID", 755: "VERSION", 756: "WHITESPACE", 757: "WORK", 758: "WRAPPER", 759: "WRITE", 760: "XMLDECLARATION", 761: "XMLSCHEMA", 762: "YES", 763: "ZONE", 764: "SEMICOLON", 765: "PERCENT", 766: "ROWS" },
+ productions_: [0, [3, 1], [3, 1], [3, 2], [7, 1], [7, 2], [8, 2], [9, 3], [9, 1], [9, 1], [13, 2], [13, 4], [12, 1], [17, 0], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [47, 3], [73, 3], [73, 1], [75, 5], [40, 10], [40, 4], [92, 8], [92, 11], [102, 4], [104, 2], [104, 1], [103, 3], [103, 1], [105, 1], [105, 3], [106, 3], [109, 3], [109, 1], [110, 1], [110, 2], [114, 1], [114, 1], [117, 1], [117, 5], [117, 5], [117, 1], [117, 2], [117, 1], [117, 2], [117, 2], [117, 3], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 2], [117, 2], [117, 2], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 2], [117, 3], [117, 4], [117, 3], [117, 1], [117, 4], [117, 2], [117, 2], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 5], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 6], [163, 3], [163, 1], [153, 1], [153, 1], [153, 1], [182, 2], [79, 4], [79, 4], [79, 4], [79, 3], [184, 1], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [186, 3], [186, 4], [186, 0], [81, 0], [81, 2], [81, 2], [81, 2], [81, 2], [81, 2], [82, 2], [82, 3], [82, 5], [82, 0], [205, 6], [205, 7], [205, 6], [205, 7], [203, 1], [203, 3], [209, 4], [209, 5], [209, 3], [209, 3], [209, 2], [209, 3], [209, 1], [209, 3], [209, 2], [209, 3], [209, 1], [209, 1], [209, 2], [209, 3], [209, 1], [209, 1], [209, 2], [209, 3], [209, 1], [209, 2], [209, 3], [214, 1], [199, 3], [199, 1], [204, 2], [204, 2], [204, 1], [204, 1], [215, 3], [217, 1], [217, 2], [217, 3], [217, 3], [217, 2], [217, 3], [217, 4], [217, 5], [217, 1], [217, 2], [217, 3], [217, 1], [217, 2], [217, 3], [216, 1], [216, 2], [221, 1], [221, 2], [221, 2], [221, 3], [221, 2], [221, 3], [221, 2], [221, 3], [221, 2], [221, 2], [221, 2], [218, 2], [218, 2], [218, 0], [84, 0], [84, 2], [85, 0], [85, 4], [233, 1], [233, 3], [235, 5], [235, 4], [235, 4], [235, 1], [234, 0], [234, 2], [88, 0], [88, 2], [88, 3], [88, 2], [88, 2], [88, 3], [88, 4], [88, 3], [88, 3], [86, 0], [86, 3], [120, 1], [120, 3], [241, 1], [241, 2], [241, 3], [241, 4], [87, 0], [87, 3], [87, 8], [246, 0], [246, 2], [174, 3], [174, 1], [253, 3], [253, 2], [253, 3], [253, 2], [253, 3], [253, 2], [253, 1], [254, 5], [254, 3], [254, 1], [111, 5], [111, 3], [111, 3], [111, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 3], [94, 3], [94, 3], [94, 1], [94, 1], [56, 1], [70, 5], [71, 5], [263, 2], [263, 2], [261, 6], [261, 8], [261, 6], [261, 8], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [255, 5], [255, 6], [255, 6], [275, 0], [275, 4], [275, 4], [275, 5], [277, 3], [278, 3], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [200, 5], [200, 3], [200, 4], [200, 4], [200, 8], [200, 8], [200, 8], [200, 8], [200, 3], [151, 1], [151, 3], [196, 1], [257, 1], [257, 1], [113, 1], [113, 1], [258, 1], [202, 2], [259, 4], [262, 3], [201, 2], [201, 2], [201, 1], [201, 1], [260, 5], [260, 4], [304, 2], [304, 1], [307, 4], [305, 2], [305, 0], [256, 3], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 6], [256, 6], [256, 3], [256, 3], [256, 2], [256, 2], [256, 2], [256, 2], [256, 2], [256, 3], [256, 5], [256, 6], [256, 5], [256, 6], [256, 4], [256, 5], [256, 3], [256, 4], [256, 3], [256, 4], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [329, 1], [329, 1], [329, 4], [327, 1], [327, 1], [327, 1], [327, 1], [327, 1], [327, 1], [328, 1], [328, 1], [328, 1], [55, 6], [55, 4], [147, 1], [147, 3], [336, 3], [336, 4], [29, 5], [29, 3], [36, 5], [36, 4], [36, 7], [36, 6], [36, 5], [36, 4], [36, 5], [36, 8], [36, 7], [36, 4], [36, 6], [36, 7], [341, 1], [341, 1], [340, 0], [340, 1], [342, 3], [342, 1], [342, 1], [342, 5], [342, 3], [342, 3], [345, 1], [345, 3], [346, 1], [346, 1], [346, 1], [346, 1], [346, 1], [346, 1], [100, 1], [100, 3], [24, 9], [24, 5], [349, 1], [349, 1], [352, 0], [352, 1], [354, 2], [354, 1], [355, 1], [355, 3], [355, 3], [355, 3], [348, 0], [348, 1], [350, 0], [350, 3], [351, 3], [351, 1], [351, 2], [359, 1], [359, 3], [360, 2], [360, 2], [360, 2], [360, 2], [360, 2], [361, 0], [361, 2], [366, 4], [362, 6], [363, 9], [377, 3], [376, 0], [376, 2], [378, 4], [379, 4], [364, 6], [365, 5], [365, 5], [372, 1], [372, 1], [372, 3], [372, 3], [358, 1], [358, 3], [384, 3], [384, 2], [384, 1], [387, 6], [387, 4], [387, 1], [387, 4], [272, 2], [272, 1], [388, 1], [388, 1], [385, 0], [385, 1], [391, 2], [391, 1], [393, 3], [392, 2], [392, 5], [392, 3], [392, 6], [392, 1], [392, 2], [392, 4], [392, 2], [392, 1], [392, 2], [392, 1], [392, 1], [392, 3], [392, 5], [33, 4], [399, 3], [399, 1], [398, 0], [398, 2], [18, 6], [18, 6], [18, 6], [18, 8], [18, 6], [39, 5], [19, 4], [19, 7], [19, 6], [19, 9], [30, 3], [21, 4], [21, 6], [21, 9], [21, 6], [407, 0], [407, 2], [54, 3], [54, 2], [31, 4], [31, 5], [31, 5], [22, 8], [22, 9], [32, 3], [43, 2], [43, 4], [43, 3], [43, 5], [45, 2], [45, 4], [45, 4], [45, 6], [42, 4], [42, 6], [44, 4], [44, 6], [41, 4], [41, 6], [25, 11], [25, 8], [413, 3], [413, 3], [413, 5], [34, 4], [66, 2], [57, 2], [58, 2], [58, 2], [58, 4], [144, 4], [144, 2], [144, 2], [144, 2], [144, 2], [144, 1], [144, 2], [144, 2], [422, 1], [422, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 3], [419, 3], [419, 4], [419, 2], [421, 2], [421, 3], [421, 1], [425, 3], [425, 1], [428, 3], [428, 3], [428, 3], [427, 3], [427, 1], [65, 4], [65, 3], [65, 4], [65, 5], [65, 5], [65, 6], [431, 1], [431, 1], [430, 3], [430, 2], [432, 1], [432, 1], [432, 3], [429, 1], [429, 1], [51, 2], [52, 2], [50, 2], [35, 4], [35, 3], [438, 2], [59, 3], [60, 1], [61, 1], [62, 3], [63, 2], [63, 2], [64, 2], [64, 2], [446, 1], [446, 1], [69, 2], [444, 3], [444, 1], [445, 3], [445, 1], [28, 2], [449, 1], [449, 3], [450, 3], [450, 4], [450, 5], [450, 6], [46, 3], [37, 6], [453, 1], [453, 2], [454, 2], [455, 2], [456, 2], [456, 2], [456, 1], [456, 1], [458, 4], [458, 6], [461, 1], [461, 3], [459, 5], [459, 7], [459, 7], [459, 9], [459, 7], [459, 9], [462, 3], [462, 6], [462, 3], [462, 6], [457, 0], [457, 2], [457, 5], [457, 4], [457, 7], [27, 6], [469, 2], [468, 0], [468, 2], [468, 2], [468, 1], [26, 8], [23, 3], [23, 4], [473, 3], [473, 1], [474, 3], [474, 7], [474, 6], [474, 3], [474, 4], [478, 1], [478, 1], [482, 2], [483, 3], [484, 2], [485, 4], [475, 4], [475, 3], [475, 2], [475, 1], [497, 2], [493, 2], [493, 2], [498, 4], [500, 6], [67, 3], [67, 2], [506, 3], [506, 1], [504, 1], [504, 4], [68, 2], [20, 2], [48, 9], [48, 8], [48, 9], [510, 0], [510, 1], [510, 1], [510, 1], [510, 2], [511, 1], [511, 1], [511, 1], [49, 3], [38, 2], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [11, 1], [11, 1], [80, 0], [80, 1], [83, 0], [83, 1], [90, 0], [90, 2], [91, 0], [91, 1], [96, 0], [96, 1], [97, 0], [97, 1], [101, 0], [101, 1], [108, 0], [108, 1], [121, 0], [121, 1], [125, 1], [125, 2], [126, 1], [126, 2], [127, 0], [127, 1], [155, 0], [155, 2], [157, 0], [157, 2], [159, 0], [159, 2], [160, 1], [160, 1], [161, 0], [161, 2], [165, 0], [165, 2], [167, 0], [167, 2], [176, 0], [176, 2], [177, 0], [177, 2], [178, 0], [178, 2], [188, 0], [188, 1], [197, 0], [197, 1], [210, 0], [210, 1], [211, 0], [211, 1], [219, 0], [219, 1], [220, 0], [220, 1], [248, 0], [248, 1], [250, 0], [250, 1], [251, 0], [251, 1], [252, 0], [252, 1], [264, 1], [264, 1], [767, 1], [767, 1], [289, 0], [289, 1], [301, 1], [301, 1], [337, 1], [337, 1], [371, 0], [371, 1], [375, 0], [375, 1], [382, 0], [382, 1], [383, 0], [383, 1], [394, 0], [394, 1], [395, 0], [395, 1], [397, 1], [397, 1], [411, 0], [411, 1], [412, 0], [412, 1], [465, 0], [465, 1], [466, 0], [466, 1], [467, 0], [467, 1], [471, 0], [471, 1], [476, 0], [476, 1], [477, 0], [477, 1], [479, 0], [479, 1], [480, 0], [480, 1], [481, 0], [481, 1], [486, 0], [486, 1], [487, 0], [487, 1], [488, 0], [488, 1], [489, 0], [489, 1], [490, 0], [490, 1], [491, 0], [491, 1], [492, 0], [492, 1], [494, 0], [494, 1], [495, 0], [495, 1], [496, 0], [496, 1], [499, 0], [499, 2], [501, 0], [501, 2], [502, 0], [502, 2], [503, 0], [503, 2], [512, 0], [512, 1], [513, 0], [513, 1]],
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
+ /* this == yyval */
+ var $0 = $$.length - 1;
+ switch (yystate) {
+ case 1:
+ this.$ = yy.casesensitive ? $$[$0] : $$[$0].toLowerCase();
+ break;
+ case 2:
+ this.$ = doubleq($$[$0].substr(1, $$[$0].length - 2));
+ break;
+ case 3:
+ this.$ = $$[$0].toLowerCase();
+ break;
+ case 4:
+ this.$ = $$[$0];
+ break;
+ case 5:
+ this.$ = $$[$0] ? $$[$0 - 1] + ' ' + $$[$0] : $$[$0 - 1];
+ break;
+ case 6:
+ return new yy.Statements({ statements: $$[$0 - 1] });
+ break;
+ case 7:
+ this.$ = $$[$0 - 2];
+ if ($$[$0])
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 8:
+ case 9:
+ case 70:
+ case 80:
+ case 85:
+ case 143:
+ case 177:
+ case 205:
+ case 206:
+ case 242:
+ case 261:
+ case 273:
+ case 354:
+ case 372:
+ case 451:
+ case 474:
+ case 475:
+ case 479:
+ case 487:
+ case 528:
+ case 529:
+ case 566:
+ case 649:
+ case 659:
+ case 683:
+ case 685:
+ case 687:
+ case 701:
+ case 702:
+ case 732:
+ case 756:
+ this.$ = [$$[$0]];
+ break;
+ case 10:
+ this.$ = $$[$0];
+ $$[$0].explain = true;
+ break;
+ case 11:
+ this.$ = $$[$0];
+ $$[$0].explain = true;
+ break;
+ case 12:
+ this.$ = $$[$0];
+ // TODO combine exists and queries
+ if (yy.exists)
+ this.$.exists = yy.exists;
+ delete yy.exists;
+ if (yy.queries)
+ this.$.queries = yy.queries;
+ delete yy.queries;
+ break;
+ case 13:
+ case 162:
+ case 172:
+ case 237:
+ case 238:
+ case 240:
+ case 248:
+ case 250:
+ case 259:
+ case 267:
+ case 270:
+ case 375:
+ case 491:
+ case 501:
+ case 503:
+ case 515:
+ case 521:
+ case 522:
+ case 567:
+ this.$ = undefined;
+ break;
+ case 68:
+ this.$ = new yy.WithSelect({ withs: $$[$0 - 1], select: $$[$0] });
+ break;
+ case 69:
+ case 565:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 71:
+ this.$ = { name: $$[$0 - 4], select: $$[$0 - 1] };
+ break;
+ case 72:
+ yy.extend(this.$, $$[$0 - 9]);
+ yy.extend(this.$, $$[$0 - 8]);
+ yy.extend(this.$, $$[$0 - 7]);
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 5]);
+ yy.extend(this.$, $$[$0 - 4]);
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ this.$ = $$[$0 - 9];
+ /* if(yy.exists) this.$.exists = yy.exists;
+ delete yy.exists;
+ if(yy.queries) this.$.queries = yy.queries;
+ delete yy.queries;
+ */
+ break;
+ case 73:
+ this.$ = new yy.Search({ selectors: $$[$0 - 2], from: $$[$0] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 74:
+ this.$ = { pivot: { expr: $$[$0 - 5], columnid: $$[$0 - 3], inlist: $$[$0 - 2], as: $$[$0] } };
+ break;
+ case 75:
+ this.$ = { unpivot: { tocolumnid: $$[$0 - 8], forcolumnid: $$[$0 - 6], inlist: $$[$0 - 3], as: $$[$0] } };
+ break;
+ case 76:
+ case 520:
+ case 549:
+ case 585:
+ case 619:
+ case 636:
+ case 637:
+ case 640:
+ case 662:
+ this.$ = $$[$0 - 1];
+ break;
+ case 77:
+ case 78:
+ case 86:
+ case 147:
+ case 185:
+ case 247:
+ case 280:
+ case 288:
+ case 289:
+ case 290:
+ case 291:
+ case 292:
+ case 293:
+ case 294:
+ case 295:
+ case 296:
+ case 297:
+ case 298:
+ case 299:
+ case 300:
+ case 301:
+ case 304:
+ case 305:
+ case 320:
+ case 321:
+ case 322:
+ case 323:
+ case 324:
+ case 325:
+ case 374:
+ case 440:
+ case 441:
+ case 442:
+ case 443:
+ case 444:
+ case 445:
+ case 516:
+ case 542:
+ case 546:
+ case 548:
+ case 623:
+ case 624:
+ case 625:
+ case 626:
+ case 627:
+ case 628:
+ case 632:
+ case 634:
+ case 635:
+ case 644:
+ case 660:
+ case 661:
+ case 723:
+ case 738:
+ case 739:
+ case 741:
+ case 742:
+ case 748:
+ case 749:
+ this.$ = $$[$0];
+ break;
+ case 79:
+ case 84:
+ case 731:
+ case 755:
+ this.$ = $$[$0 - 2];
+ this.$.push($$[$0]);
+ break;
+ case 81:
+ this.$ = { expr: $$[$0] };
+ break;
+ case 82:
+ this.$ = { expr: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 83:
+ this.$ = { removecolumns: $$[$0] };
+ break;
+ case 87:
+ this.$ = { like: $$[$0] };
+ break;
+ case 90:
+ case 104:
+ this.$ = { srchid: "PROP", args: [$$[$0]] };
+ break;
+ case 91:
+ this.$ = { srchid: "ORDERBY", args: $$[$0 - 1] };
+ break;
+ case 92:
+ var dir = $$[$0 - 1];
+ if (!dir)
+ dir = 'ASC';
+ this.$ = { srchid: "ORDERBY", args: [{ expression: new yy.Column({ columnid: '_' }), direction: dir }] };
+ break;
+ case 93:
+ this.$ = { srchid: "PARENT" };
+ break;
+ case 94:
+ this.$ = { srchid: "APROP", args: [$$[$0]] };
+ break;
+ case 95:
+ this.$ = { selid: "ROOT" };
+ break;
+ case 96:
+ this.$ = { srchid: "EQ", args: [$$[$0]] };
+ break;
+ case 97:
+ this.$ = { srchid: "LIKE", args: [$$[$0]] };
+ break;
+ case 98:
+ case 99:
+ this.$ = { selid: "WITH", args: $$[$0 - 1] };
+ break;
+ case 100:
+ this.$ = { srchid: $$[$0 - 3].toUpperCase(), args: $$[$0 - 1] };
+ break;
+ case 101:
+ this.$ = { srchid: "WHERE", args: [$$[$0 - 1]] };
+ break;
+ case 102:
+ this.$ = { selid: "OF", args: [$$[$0 - 1]] };
+ break;
+ case 103:
+ this.$ = { srchid: "CLASS", args: [$$[$0 - 1]] };
+ break;
+ case 105:
+ this.$ = { srchid: "NAME", args: [$$[$0].substr(1, $$[$0].length - 2)] };
+ break;
+ case 106:
+ this.$ = { srchid: "CHILD" };
+ break;
+ case 107:
+ this.$ = { srchid: "VERTEX" };
+ break;
+ case 108:
+ this.$ = { srchid: "EDGE" };
+ break;
+ case 109:
+ this.$ = { srchid: "REF" };
+ break;
+ case 110:
+ this.$ = { srchid: "SHARP", args: [$$[$0]] };
+ break;
+ case 111:
+ this.$ = { srchid: "ATTR", args: ((typeof $$[$0] == 'undefined') ? undefined : [$$[$0]]) };
+ break;
+ case 112:
+ this.$ = { srchid: "ATTR" };
+ break;
+ case 113:
+ this.$ = { srchid: "OUT" };
+ break;
+ case 114:
+ this.$ = { srchid: "IN" };
+ break;
+ case 115:
+ this.$ = { srchid: "OUTOUT" };
+ break;
+ case 116:
+ this.$ = { srchid: "ININ" };
+ break;
+ case 117:
+ this.$ = { srchid: "CONTENT" };
+ break;
+ case 118:
+ this.$ = { srchid: "EX", args: [new yy.Json({ value: $$[$0] })] };
+ break;
+ case 119:
+ this.$ = { srchid: "AT", args: [$$[$0]] };
+ break;
+ case 120:
+ this.$ = { srchid: "AS", args: [$$[$0]] };
+ break;
+ case 121:
+ this.$ = { srchid: "SET", args: $$[$0 - 1] };
+ break;
+ case 122:
+ this.$ = { selid: "TO", args: [$$[$0]] };
+ break;
+ case 123:
+ this.$ = { srchid: "VALUE" };
+ break;
+ case 124:
+ this.$ = { srchid: "ROW", args: $$[$0 - 1] };
+ break;
+ case 125:
+ this.$ = { srchid: "CLASS", args: [$$[$0]] };
+ break;
+ case 126:
+ this.$ = { selid: $$[$0], args: [$$[$0 - 1]] };
+ break;
+ case 127:
+ this.$ = { selid: "NOT", args: $$[$0 - 1] };
+ break;
+ case 128:
+ this.$ = { selid: "IF", args: $$[$0 - 1] };
+ break;
+ case 129:
+ this.$ = { selid: $$[$0 - 3], args: $$[$0 - 1] };
+ break;
+ case 130:
+ this.$ = { selid: 'DISTINCT', args: $$[$0 - 1] };
+ break;
+ case 131:
+ this.$ = { selid: 'UNION', args: $$[$0 - 1] };
+ break;
+ case 132:
+ this.$ = { selid: 'UNIONALL', args: $$[$0 - 1] };
+ break;
+ case 133:
+ this.$ = { selid: 'ALL', args: [$$[$0 - 1]] };
+ break;
+ case 134:
+ this.$ = { selid: 'ANY', args: [$$[$0 - 1]] };
+ break;
+ case 135:
+ this.$ = { selid: 'INTERSECT', args: $$[$0 - 1] };
+ break;
+ case 136:
+ this.$ = { selid: 'EXCEPT', args: $$[$0 - 1] };
+ break;
+ case 137:
+ this.$ = { selid: 'AND', args: $$[$0 - 1] };
+ break;
+ case 138:
+ this.$ = { selid: 'OR', args: $$[$0 - 1] };
+ break;
+ case 139:
+ this.$ = { selid: 'PATH', args: [$$[$0 - 1]] };
+ break;
+ case 140:
+ this.$ = { srchid: 'RETURN', args: $$[$0 - 1] };
+ break;
+ case 141:
+ this.$ = { selid: 'REPEAT', sels: $$[$0 - 3], args: $$[$0 - 1] };
+ break;
+ case 142:
+ this.$ = $$[$0 - 2];
+ this.$.push($$[$0]);
+ break;
+ case 144:
+ this.$ = "PLUS";
+ break;
+ case 145:
+ this.$ = "STAR";
+ break;
+ case 146:
+ this.$ = "QUESTION";
+ break;
+ case 148:
+ this.$ = new yy.Select({ columns: $$[$0], distinct: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 149:
+ this.$ = new yy.Select({ columns: $$[$0], distinct: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 150:
+ this.$ = new yy.Select({ columns: $$[$0], all: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 151:
+ if (!$$[$0]) {
+ this.$ = new yy.Select({ columns: [new yy.Column({ columnid: '_', })], modifier: 'COLUMN' });
+ }
+ else {
+ this.$ = new yy.Select({ columns: $$[$0] });
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ }
+ break;
+ case 152:
+ if ($$[$0] == 'SELECT')
+ this.$ = undefined;
+ else
+ this.$ = { modifier: $$[$0] };
+ break;
+ case 153:
+ this.$ = { modifier: 'VALUE' };
+ break;
+ case 154:
+ this.$ = { modifier: 'ROW' };
+ break;
+ case 155:
+ this.$ = { modifier: 'COLUMN' };
+ break;
+ case 156:
+ this.$ = { modifier: 'MATRIX' };
+ break;
+ case 157:
+ this.$ = { modifier: 'TEXTSTRING' };
+ break;
+ case 158:
+ this.$ = { modifier: 'INDEX' };
+ break;
+ case 159:
+ this.$ = { modifier: 'RECORDSET' };
+ break;
+ case 160:
+ this.$ = { top: $$[$0 - 1], percent: (typeof $$[$0] != 'undefined' ? true : undefined) };
+ break;
+ case 161:
+ this.$ = { top: $$[$0 - 1] };
+ break;
+ case 163:
+ case 330:
+ case 523:
+ case 524:
+ case 724:
+ this.$ = undefined;
+ break;
+ case 164:
+ case 165:
+ case 166:
+ case 167:
+ this.$ = { into: $$[$0] };
+ break;
+ case 168:
+ var s = $$[$0];
+ s = s.substr(1, s.length - 2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ if (s[0] == '#') {
+ this.$ = { into: new yy.FuncValue({ funcid: 'HTML', args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ else if (x3 == 'XLS' || x3 == 'CSV' || x3 == 'TAB') {
+ this.$ = { into: new yy.FuncValue({ funcid: x3, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ else if (x4 == 'XLSX' || x4 == 'JSON') {
+ this.$ = { into: new yy.FuncValue({ funcid: x4, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ break;
+ case 169:
+ this.$ = { from: $$[$0] };
+ break;
+ case 170:
+ this.$ = { from: $$[$0 - 1], joins: $$[$0] };
+ break;
+ case 171:
+ this.$ = { from: $$[$0 - 2], joins: $$[$0 - 1] };
+ break;
+ case 173:
+ this.$ = new yy.Apply({ select: $$[$0 - 2], applymode: 'CROSS', as: $$[$0] });
+ break;
+ case 174:
+ this.$ = new yy.Apply({ select: $$[$0 - 3], applymode: 'CROSS', as: $$[$0] });
+ break;
+ case 175:
+ this.$ = new yy.Apply({ select: $$[$0 - 2], applymode: 'OUTER', as: $$[$0] });
+ break;
+ case 176:
+ this.$ = new yy.Apply({ select: $$[$0 - 3], applymode: 'OUTER', as: $$[$0] });
+ break;
+ case 178:
+ case 243:
+ case 452:
+ case 530:
+ case 531:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 179:
+ this.$ = $$[$0 - 2];
+ this.$.as = $$[$0];
+ break;
+ case 180:
+ this.$ = $$[$0 - 3];
+ this.$.as = $$[$0];
+ break;
+ case 181:
+ this.$ = $$[$0 - 1];
+ this.$.as = 'default';
+ break;
+ case 182:
+ this.$ = new yy.Json({ value: $$[$0 - 2] });
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 183:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].as = $$[$0];
+ break;
+ case 184:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 186:
+ case 638:
+ case 641:
+ this.$ = $$[$0 - 2];
+ break;
+ case 187:
+ case 191:
+ case 195:
+ case 198:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].as = $$[$0];
+ break;
+ case 188:
+ case 192:
+ case 196:
+ case 199:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 189:
+ case 190:
+ case 194:
+ case 197:
+ this.$ = $$[$0];
+ $$[$0].as = 'default';
+ break;
+ case 193:
+ this.$ = { inserted: true };
+ $$[$0].as = 'default';
+ break;
+ case 200:
+ var s = $$[$0];
+ s = s.substr(1, s.length - 2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ var r;
+ if (s[0] == '#') {
+ r = new yy.FuncValue({ funcid: 'HTML', args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else if (x3 == 'XLS' || x3 == 'CSV' || x3 == 'TAB') {
+ r = new yy.FuncValue({ funcid: x3, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else if (x4 == 'XLSX' || x4 == 'JSON') {
+ r = new yy.FuncValue({ funcid: x4, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else {
+ throw new Error('Unknown string in FROM clause');
+ }
+ ;
+ this.$ = r;
+ break;
+ case 201:
+ if ($$[$0 - 2] == 'INFORMATION_SCHEMA') {
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 2], args: [new yy.StringValue({ value: $$[$0] })] });
+ }
+ else {
+ this.$ = new yy.Table({ databaseid: $$[$0 - 2], tableid: $$[$0] });
+ }
+ break;
+ case 202:
+ this.$ = new yy.Table({ tableid: $$[$0] });
+ break;
+ case 203:
+ case 204:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].push($$[$0]);
+ break;
+ case 207:
+ this.$ = new yy.Join($$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 208:
+ this.$ = { table: $$[$0] };
+ break;
+ case 209:
+ this.$ = { table: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 210:
+ this.$ = { table: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 211:
+ this.$ = { json: new yy.Json({ value: $$[$0 - 2], as: $$[$0] }) };
+ break;
+ case 212:
+ this.$ = { param: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 213:
+ this.$ = { param: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 214:
+ this.$ = { select: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 215:
+ this.$ = { select: $$[$0 - 3], as: $$[$0] };
+ break;
+ case 216:
+ this.$ = { funcid: $$[$0], as: 'default' };
+ break;
+ case 217:
+ this.$ = { funcid: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 218:
+ this.$ = { funcid: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 219:
+ this.$ = { variable: $$[$0], as: 'default' };
+ break;
+ case 220:
+ this.$ = { variable: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 221:
+ this.$ = { variable: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 222:
+ this.$ = { joinmode: $$[$0] };
+ break;
+ case 223:
+ this.$ = { joinmode: $$[$0 - 1], natural: true };
+ break;
+ case 224:
+ case 225:
+ this.$ = "INNER";
+ break;
+ case 226:
+ case 227:
+ this.$ = "LEFT";
+ break;
+ case 228:
+ case 229:
+ this.$ = "RIGHT";
+ break;
+ case 230:
+ case 231:
+ this.$ = "OUTER";
+ break;
+ case 232:
+ this.$ = "SEMI";
+ break;
+ case 233:
+ this.$ = "ANTI";
+ break;
+ case 234:
+ this.$ = "CROSS";
+ break;
+ case 235:
+ this.$ = { on: $$[$0] };
+ break;
+ case 236:
+ case 697:
+ this.$ = { using: $$[$0] };
+ break;
+ case 239:
+ this.$ = { where: new yy.Expression({ expression: $$[$0] }) };
+ break;
+ case 241:
+ this.$ = { group: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 244:
+ this.$ = new yy.GroupExpression({ type: 'GROUPING SETS', group: $$[$0 - 1] });
+ break;
+ case 245:
+ this.$ = new yy.GroupExpression({ type: 'ROLLUP', group: $$[$0 - 1] });
+ break;
+ case 246:
+ this.$ = new yy.GroupExpression({ type: 'CUBE', group: $$[$0 - 1] });
+ break;
+ case 249:
+ this.$ = { having: $$[$0] };
+ break;
+ case 251:
+ this.$ = { union: $$[$0] };
+ break;
+ case 252:
+ this.$ = { unionall: $$[$0] };
+ break;
+ case 253:
+ this.$ = { except: $$[$0] };
+ break;
+ case 254:
+ this.$ = { intersect: $$[$0] };
+ break;
+ case 255:
+ this.$ = { union: $$[$0], corresponding: true };
+ break;
+ case 256:
+ this.$ = { unionall: $$[$0], corresponding: true };
+ break;
+ case 257:
+ this.$ = { except: $$[$0], corresponding: true };
+ break;
+ case 258:
+ this.$ = { intersect: $$[$0], corresponding: true };
+ break;
+ case 260:
+ this.$ = { order: $$[$0] };
+ break;
+ case 262:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 263:
+ this.$ = new yy.Expression({ expression: $$[$0], direction: 'ASC' });
+ break;
+ case 264:
+ this.$ = new yy.Expression({ expression: $$[$0 - 1], direction: $$[$0].toUpperCase() });
+ break;
+ case 265:
+ this.$ = new yy.Expression({ expression: $$[$0 - 2], direction: 'ASC', nocase: true });
+ break;
+ case 266:
+ this.$ = new yy.Expression({ expression: $$[$0 - 3], direction: $$[$0].toUpperCase(), nocase: true });
+ break;
+ case 268:
+ this.$ = { limit: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 269:
+ this.$ = { limit: $$[$0 - 2], offset: $$[$0 - 6] };
+ break;
+ case 271:
+ this.$ = { offset: $$[$0] };
+ break;
+ case 272:
+ case 509:
+ case 533:
+ case 648:
+ case 658:
+ case 682:
+ case 684:
+ case 688:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 274:
+ case 276:
+ case 278:
+ $$[$0 - 2].as = $$[$0];
+ this.$ = $$[$0 - 2];
+ break;
+ case 275:
+ case 277:
+ case 279:
+ $$[$0 - 1].as = $$[$0];
+ this.$ = $$[$0 - 1];
+ break;
+ case 281:
+ this.$ = new yy.Column({ columid: $$[$0], tableid: $$[$0 - 2], databaseid: $$[$0 - 4] });
+ break;
+ case 282:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2] });
+ break;
+ case 283:
+ this.$ = new yy.Column({ columnid: $$[$0] });
+ break;
+ case 284:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2], databaseid: $$[$0 - 4] });
+ break;
+ case 285:
+ case 286:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2] });
+ break;
+ case 287:
+ this.$ = new yy.Column({ columnid: $$[$0] });
+ break;
+ case 302:
+ this.$ = new yy.DomainValueValue();
+ break;
+ case 303:
+ this.$ = new yy.Json({ value: $$[$0] });
+ break;
+ case 306:
+ case 307:
+ case 308:
+ if (!yy.queries)
+ yy.queries = [];
+ yy.queries.push($$[$0 - 1]);
+ $$[$0 - 1].queriesidx = yy.queries.length;
+ this.$ = $$[$0 - 1];
+ break;
+ case 309:
+ this.$ = $$[$0];
+ break;
+ case 310:
+ this.$ = new yy.FuncValue({ funcid: 'CURRENT_TIMESTAMP' });
+ break;
+ case 311:
+ this.$ = new yy.JavaScript({ value: $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 312:
+ this.$ = new yy.JavaScript({ value: 'alasql.fn["' + $$[$0 - 2] + '"] = ' + $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 313:
+ this.$ = new yy.JavaScript({ value: 'alasql.aggr["' + $$[$0 - 2] + '"] = ' + $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 314:
+ this.$ = new yy.FuncValue({ funcid: $$[$0], newid: true });
+ break;
+ case 315:
+ this.$ = $$[$0];
+ yy.extend(this.$, { newid: true });
+ break;
+ case 316:
+ this.$ = new yy.Convert({ expression: $$[$0 - 3] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 317:
+ this.$ = new yy.Convert({ expression: $$[$0 - 5], style: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 3]);
+ break;
+ case 318:
+ this.$ = new yy.Convert({ expression: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 3]);
+ break;
+ case 319:
+ this.$ = new yy.Convert({ expression: $$[$0 - 3], style: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 5]);
+ break;
+ case 326:
+ this.$ = new yy.FuncValue({ funcid: 'CURRENT_TIMESTAMP' });
+ break;
+ case 327:
+ if ($$[$0 - 2].length > 1 && ($$[$0 - 4].toUpperCase() == 'MAX' || $$[$0 - 4].toUpperCase() == 'MIN')) {
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 4], args: $$[$0 - 2] });
+ }
+ else {
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 4].toUpperCase(), expression: $$[$0 - 2].pop(), over: $$[$0] });
+ }
+ break;
+ case 328:
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 5].toUpperCase(), expression: $$[$0 - 2], distinct: true, over: $$[$0] });
+ break;
+ case 329:
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 5].toUpperCase(), expression: $$[$0 - 2],
+ over: $$[$0] });
+ break;
+ case 331:
+ case 332:
+ this.$ = new yy.Over();
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 333:
+ this.$ = new yy.Over();
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 334:
+ this.$ = { partition: $$[$0] };
+ break;
+ case 335:
+ this.$ = { order: $$[$0] };
+ break;
+ case 336:
+ this.$ = "SUM";
+ break;
+ case 337:
+ this.$ = "COUNT";
+ break;
+ case 338:
+ this.$ = "MIN";
+ break;
+ case 339:
+ case 544:
+ this.$ = "MAX";
+ break;
+ case 340:
+ this.$ = "AVG";
+ break;
+ case 341:
+ this.$ = "FIRST";
+ break;
+ case 342:
+ this.$ = "LAST";
+ break;
+ case 343:
+ this.$ = "AGGR";
+ break;
+ case 344:
+ this.$ = "ARRAY";
+ break;
+ case 345:
+ var funcid = $$[$0 - 4];
+ var exprlist = $$[$0 - 1];
+ if (exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
+ this.$ = new yy.FuncValue({ funcid: funcid, args: exprlist });
+ }
+ else if (yy.isInAggr($$[$0 - 4])) {
+ this.$ = new yy.AggrValue({ aggregatorid: 'REDUCE',
+ funcid: funcid, expression: exprlist.pop(), distinct: ($$[$0 - 2] == 'DISTINCT') });
+ }
+ else {
+ this.$ = new yy.FuncValue({ funcid: funcid, args: exprlist });
+ }
+ ;
+ break;
+ case 346:
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 2] });
+ break;
+ case 347:
+ this.$ = new yy.FuncValue({ funcid: 'IIF', args: $$[$0 - 1] });
+ break;
+ case 348:
+ this.$ = new yy.FuncValue({ funcid: 'REPLACE', args: $$[$0 - 1] });
+ break;
+ case 349:
+ this.$ = new yy.FuncValue({ funcid: 'DATEADD', args: [new yy.StringValue({ value: $$[$0 - 5] }), $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 350:
+ this.$ = new yy.FuncValue({ funcid: 'DATEADD', args: [$$[$0 - 5], $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 351:
+ this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args: [new yy.StringValue({ value: $$[$0 - 5] }), $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 352:
+ this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args: [$$[$0 - 5], $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 353:
+ this.$ = new yy.FuncValue({ funcid: 'INTERVAL', args: [$$[$0 - 1], new yy.StringValue({ value: ($$[$0]).toLowerCase() })] });
+ break;
+ case 355:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 356:
+ this.$ = new yy.NumValue({ value: +$$[$0] });
+ break;
+ case 357:
+ this.$ = new yy.LogicValue({ value: true });
+ break;
+ case 358:
+ this.$ = new yy.LogicValue({ value: false });
+ break;
+ case 359:
+ this.$ = new yy.StringValue({ value: $$[$0].substr(1, $$[$0].length - 2).replace(/(\\\')/g, "'").replace(/(\'\')/g, "'") });
+ break;
+ case 360:
+ this.$ = new yy.StringValue({ value: $$[$0].substr(2, $$[$0].length - 3).replace(/(\\\')/g, "'").replace(/(\'\')/g, "'") });
+ break;
+ case 361:
+ this.$ = new yy.NullValue({ value: undefined });
+ break;
+ case 362:
+ this.$ = new yy.VarValue({ variable: $$[$0] });
+ break;
+ case 363:
+ if (!yy.exists)
+ yy.exists = [];
+ this.$ = new yy.ExistsValue({ value: $$[$0 - 1], existsidx: yy.exists.length });
+ yy.exists.push($$[$0 - 1]);
+ break;
+ case 364:
+ this.$ = new yy.ArrayValue({ value: $$[$0 - 1] });
+ break;
+ case 365:
+ case 366:
+ this.$ = new yy.ParamValue({ param: $$[$0] });
+ break;
+ case 367:
+ if (typeof yy.question == 'undefined')
+ yy.question = 0;
+ this.$ = new yy.ParamValue({ param: yy.question++ });
+ break;
+ case 368:
+ if (typeof yy.question == 'undefined')
+ yy.question = 0;
+ this.$ = new yy.ParamValue({ param: yy.question++, array: true });
+ break;
+ case 369:
+ this.$ = new yy.CaseValue({ expression: $$[$0 - 3], whens: $$[$0 - 2], elses: $$[$0 - 1] });
+ break;
+ case 370:
+ this.$ = new yy.CaseValue({ whens: $$[$0 - 2], elses: $$[$0 - 1] });
+ break;
+ case 371:
+ case 699:
+ case 700:
+ this.$ = $$[$0 - 1];
+ this.$.push($$[$0]);
+ break;
+ case 373:
+ this.$ = { when: $$[$0 - 2], then: $$[$0] };
+ break;
+ case 376:
+ case 377:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'REGEXP', right: $$[$0] });
+ break;
+ case 378:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'GLOB', right: $$[$0] });
+ break;
+ case 379:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'LIKE', right: $$[$0] });
+ break;
+ case 380:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'LIKE', right: $$[$0 - 2], escape: $$[$0] });
+ break;
+ case 381:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'NOT LIKE', right: $$[$0] });
+ break;
+ case 382:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'NOT LIKE', right: $$[$0 - 2], escape: $$[$0] });
+ break;
+ case 383:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '||', right: $$[$0] });
+ break;
+ case 384:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '+', right: $$[$0] });
+ break;
+ case 385:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '-', right: $$[$0] });
+ break;
+ case 386:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '*', right: $$[$0] });
+ break;
+ case 387:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '/', right: $$[$0] });
+ break;
+ case 388:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '%', right: $$[$0] });
+ break;
+ case 389:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '^', right: $$[$0] });
+ break;
+ case 390:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>>', right: $$[$0] });
+ break;
+ case 391:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<<', right: $$[$0] });
+ break;
+ case 392:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '&', right: $$[$0] });
+ break;
+ case 393:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '|', right: $$[$0] });
+ break;
+ case 394:
+ case 395:
+ case 397:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '->', right: $$[$0] });
+ break;
+ case 396:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: '->', right: $$[$0 - 1] });
+ break;
+ case 398:
+ case 399:
+ case 401:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!', right: $$[$0] });
+ break;
+ case 400:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: '!', right: $$[$0 - 1] });
+ break;
+ case 402:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>', right: $$[$0] });
+ break;
+ case 403:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>=', right: $$[$0] });
+ break;
+ case 404:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<', right: $$[$0] });
+ break;
+ case 405:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<=', right: $$[$0] });
+ break;
+ case 406:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '=', right: $$[$0] });
+ break;
+ case 407:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '==', right: $$[$0] });
+ break;
+ case 408:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '===', right: $$[$0] });
+ break;
+ case 409:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!=', right: $$[$0] });
+ break;
+ case 410:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!==', right: $$[$0] });
+ break;
+ case 411:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!===', right: $$[$0] });
+ break;
+ case 412:
+ if (!yy.queries)
+ yy.queries = [];
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: $$[$0 - 4], allsome: $$[$0 - 3], right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 413:
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: $$[$0 - 4], allsome: $$[$0 - 3], right: $$[$0 - 1] });
+ break;
+ case 414:
+ if ($$[$0 - 2].op == 'BETWEEN1') {
+ if ($$[$0 - 2].left.op == 'AND') {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left.left, op: 'AND', right: new yy.Op({ left: $$[$0 - 2].left.right, op: 'BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] })
+ });
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left, op: 'BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] });
+ }
+ }
+ else if ($$[$0 - 2].op == 'NOT BETWEEN1') {
+ if ($$[$0 - 2].left.op == 'AND') {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left.left, op: 'AND', right: new yy.Op({ left: $$[$0 - 2].left.right, op: 'NOT BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] })
+ });
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left, op: 'NOT BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] });
+ }
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'AND', right: $$[$0] });
+ }
+ break;
+ case 415:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'OR', right: $$[$0] });
+ break;
+ case 416:
+ this.$ = new yy.UniOp({ op: 'NOT', right: $$[$0] });
+ break;
+ case 417:
+ this.$ = new yy.UniOp({ op: '-', right: $$[$0] });
+ break;
+ case 418:
+ this.$ = new yy.UniOp({ op: '+', right: $$[$0] });
+ break;
+ case 419:
+ this.$ = new yy.UniOp({ op: '~', right: $$[$0] });
+ break;
+ case 420:
+ this.$ = new yy.UniOp({ op: '#', right: $$[$0] });
+ break;
+ case 421:
+ this.$ = new yy.UniOp({ right: $$[$0 - 1] });
+ break;
+ case 422:
+ if (!yy.queries)
+ yy.queries = [];
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'IN', right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 423:
+ if (!yy.queries)
+ yy.queries = [];
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: 'NOT IN', right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 424:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'IN', right: $$[$0 - 1] });
+ break;
+ case 425:
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: 'NOT IN', right: $$[$0 - 1] });
+ break;
+ case 426:
+ this.$ = new yy.Op({ left: $$[$0 - 3], op: 'IN', right: [] });
+ break;
+ case 427:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'NOT IN', right: [] });
+ break;
+ case 428:
+ case 430:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'IN', right: $$[$0] });
+ break;
+ case 429:
+ case 431:
+ this.$ = new yy.Op({ left: $$[$0 - 3], op: 'NOT IN', right: $$[$0] });
+ break;
+ case 432:
+ /* var expr = $$[$0];
+ if(expr.left && expr.left.op == 'AND') {
+ this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
+ } else {
+ */
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'BETWEEN1', right: $$[$0] });
+ // }
+ break;
+ case 433:
+ // var expr = $$[$0];
+ // if(expr.left && expr.left.op == 'AND') {
+ // this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'NOT BETWEEN', right:expr.left}), op:'AND', right:expr.right });
+ // } else {
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'NOT BETWEEN1', right: $$[$0] });
+ // }
+ break;
+ case 434:
+ this.$ = new yy.Op({ op: 'IS', left: $$[$0 - 2], right: $$[$0] });
+ break;
+ case 435:
+ this.$ = new yy.Op({
+ op: 'IS',
+ left: $$[$0 - 2],
+ right: new yy.UniOp({
+ op: 'NOT',
+ right: new yy.NullValue({ value: undefined })
+ })
+ });
+ break;
+ case 436:
+ this.$ = new yy.Convert({ expression: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 437:
+ case 438:
+ this.$ = $$[$0];
+ break;
+ case 439:
+ this.$ = $$[$0 - 1];
+ break;
+ case 446:
+ this.$ = 'ALL';
+ break;
+ case 447:
+ this.$ = 'SOME';
+ break;
+ case 448:
+ this.$ = 'ANY';
+ break;
+ case 449:
+ this.$ = new yy.Update({ table: $$[$0 - 4], columns: $$[$0 - 2], where: $$[$0] });
+ break;
+ case 450:
+ this.$ = new yy.Update({ table: $$[$0 - 2], columns: $$[$0] });
+ break;
+ case 453:
+ this.$ = new yy.SetColumn({ column: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 454:
+ this.$ = new yy.SetColumn({ variable: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 3] });
+ break;
+ case 455:
+ this.$ = new yy.Delete({ table: $$[$0 - 2], where: $$[$0] });
+ break;
+ case 456:
+ this.$ = new yy.Delete({ table: $$[$0] });
+ break;
+ case 457:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], values: $$[$0] });
+ break;
+ case 458:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], values: $$[$0] });
+ break;
+ case 459:
+ case 461:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], values: $$[$0], orreplace: true });
+ break;
+ case 460:
+ case 462:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], values: $$[$0], orreplace: true });
+ break;
+ case 463:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], "default": true });
+ break;
+ case 464:
+ this.$ = new yy.Insert({ into: $$[$0 - 5], columns: $$[$0 - 3], values: $$[$0] });
+ break;
+ case 465:
+ this.$ = new yy.Insert({ into: $$[$0 - 4], columns: $$[$0 - 2], values: $$[$0] });
+ break;
+ case 466:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], select: $$[$0] });
+ break;
+ case 467:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], select: $$[$0], orreplace: true });
+ break;
+ case 468:
+ this.$ = new yy.Insert({ into: $$[$0 - 4], columns: $$[$0 - 2], select: $$[$0] });
+ break;
+ case 473:
+ this.$ = [$$[$0 - 1]];
+ break;
+ case 476:
+ this.$ = $$[$0 - 4];
+ $$[$0 - 4].push($$[$0 - 1]);
+ break;
+ case 477:
+ case 478:
+ case 480:
+ case 488:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 489:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 4] });
+ yy.extend(this.$, $$[$0 - 7]);
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 5]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 490:
+ this.$ = new yy.CreateTable({ table: $$[$0] });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 492:
+ this.$ = { class: true };
+ break;
+ case 502:
+ this.$ = { temporary: true };
+ break;
+ case 504:
+ this.$ = { ifnotexists: true };
+ break;
+ case 505:
+ this.$ = { columns: $$[$0 - 2], constraints: $$[$0] };
+ break;
+ case 506:
+ this.$ = { columns: $$[$0] };
+ break;
+ case 507:
+ this.$ = { as: $$[$0] };
+ break;
+ case 508:
+ case 532:
+ this.$ = [$$[$0]];
+ break;
+ case 510:
+ case 511:
+ case 512:
+ case 513:
+ case 514:
+ $$[$0].constraintid = $$[$0 - 1];
+ this.$ = $$[$0];
+ break;
+ case 517:
+ this.$ = { type: 'CHECK', expression: $$[$0 - 1] };
+ break;
+ case 518:
+ this.$ = { type: 'PRIMARY KEY', columns: $$[$0 - 1], clustered: ($$[$0 - 3] + '').toUpperCase() };
+ break;
+ case 519:
+ this.$ = { type: 'FOREIGN KEY', columns: $$[$0 - 5], fktable: $$[$0 - 2], fkcolumns: $$[$0 - 1] };
+ break;
+ case 525:
+ this.$ = { type: 'UNIQUE', columns: $$[$0 - 1], clustered: ($$[$0 - 3] + '').toUpperCase() };
+ break;
+ case 534:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 535:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 536:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0], dbtypeid: '' });
+ break;
+ case 537:
+ this.$ = { dbtypeid: $$[$0 - 5], dbsize: $$[$0 - 3], dbprecision: +$$[$0 - 1] };
+ break;
+ case 538:
+ this.$ = { dbtypeid: $$[$0 - 3], dbsize: $$[$0 - 1] };
+ break;
+ case 539:
+ this.$ = { dbtypeid: $$[$0] };
+ break;
+ case 540:
+ this.$ = { dbtypeid: 'ENUM', enumvalues: $$[$0 - 1] };
+ break;
+ case 541:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].dbtypeid += '[' + $$[$0] + ']';
+ break;
+ case 543:
+ case 750:
+ this.$ = +$$[$0];
+ break;
+ case 545:
+ this.$ = undefined;
+ break;
+ case 547:
+ yy.extend($$[$0 - 1], $$[$0]);
+ this.$ = $$[$0 - 1];
+ break;
+ case 550:
+ this.$ = { primarykey: true };
+ break;
+ case 551:
+ case 552:
+ this.$ = { foreignkey: { table: $$[$0 - 1], columnid: $$[$0] } };
+ break;
+ case 553:
+ this.$ = { identity: { value: $$[$0 - 3], step: $$[$0 - 1] } };
+ break;
+ case 554:
+ this.$ = { identity: { value: 1, step: 1 } };
+ break;
+ case 555:
+ case 557:
+ this.$ = { "default": $$[$0] };
+ break;
+ case 556:
+ this.$ = { "default": $$[$0 - 1] };
+ break;
+ case 558:
+ this.$ = { null: true };
+ break;
+ case 559:
+ this.$ = { notnull: true };
+ break;
+ case 560:
+ this.$ = { check: $$[$0] };
+ break;
+ case 561:
+ this.$ = { unique: true };
+ break;
+ case 562:
+ this.$ = { "onupdate": $$[$0] };
+ break;
+ case 563:
+ this.$ = { "onupdate": $$[$0 - 1] };
+ break;
+ case 564:
+ this.$ = new yy.DropTable({ tables: $$[$0], type: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 568:
+ this.$ = { ifexists: true };
+ break;
+ case 569:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], renameto: $$[$0] });
+ break;
+ case 570:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], addcolumn: $$[$0] });
+ break;
+ case 571:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], modifycolumn: $$[$0] });
+ break;
+ case 572:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 5], renamecolumn: $$[$0 - 2], to: $$[$0] });
+ break;
+ case 573:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], dropcolumn: $$[$0] });
+ break;
+ case 574:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 2], renameto: $$[$0] });
+ break;
+ case 575:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0], engineid: $$[$0 - 2].toUpperCase() });
+ break;
+ case 576:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 3], engineid: $$[$0 - 5].toUpperCase(), args: $$[$0 - 1] });
+ break;
+ case 577:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 2], engineid: $$[$0 - 4].toUpperCase(), as: $$[$0] });
+ break;
+ case 578:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 5], engineid: $$[$0 - 7].toUpperCase(), as: $$[$0], args: $$[$0 - 3] });
+ break;
+ case 579:
+ this.$ = new yy.DetachDatabase({ databaseid: $$[$0] });
+ break;
+ case 580:
+ this.$ = new yy.CreateDatabase({ databaseid: $$[$0] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 581:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 4].toUpperCase(), databaseid: $$[$0 - 1], as: $$[$0] });
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 582:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 7].toUpperCase(), databaseid: $$[$0 - 4], args: $$[$0 - 2], as: $$[$0] });
+ yy.extend(this.$, $$[$0 - 5]);
+ break;
+ case 583:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 4].toUpperCase(),
+ as: $$[$0], args: [$$[$0 - 1]] });
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 584:
+ this.$ = undefined;
+ break;
+ case 586:
+ case 587:
+ this.$ = new yy.UseDatabase({ databaseid: $$[$0] });
+ break;
+ case 588:
+ this.$ = new yy.DropDatabase({ databaseid: $$[$0] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 589:
+ case 590:
+ this.$ = new yy.DropDatabase({ databaseid: $$[$0], engineid: $$[$0 - 3].toUpperCase() });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 591:
+ this.$ = new yy.CreateIndex({ indexid: $$[$0 - 5], table: $$[$0 - 3], columns: $$[$0 - 1] });
+ break;
+ case 592:
+ this.$ = new yy.CreateIndex({ indexid: $$[$0 - 5], table: $$[$0 - 3], columns: $$[$0 - 1], unique: true });
+ break;
+ case 593:
+ this.$ = new yy.DropIndex({ indexid: $$[$0] });
+ break;
+ case 594:
+ this.$ = new yy.ShowDatabases();
+ break;
+ case 595:
+ this.$ = new yy.ShowDatabases({ like: $$[$0] });
+ break;
+ case 596:
+ this.$ = new yy.ShowDatabases({ engineid: $$[$0 - 1].toUpperCase() });
+ break;
+ case 597:
+ this.$ = new yy.ShowDatabases({ engineid: $$[$0 - 3].toUpperCase(), like: $$[$0] });
+ break;
+ case 598:
+ this.$ = new yy.ShowTables();
+ break;
+ case 599:
+ this.$ = new yy.ShowTables({ like: $$[$0] });
+ break;
+ case 600:
+ this.$ = new yy.ShowTables({ databaseid: $$[$0] });
+ break;
+ case 601:
+ this.$ = new yy.ShowTables({ like: $$[$0], databaseid: $$[$0 - 2] });
+ break;
+ case 602:
+ this.$ = new yy.ShowColumns({ table: $$[$0] });
+ break;
+ case 603:
+ this.$ = new yy.ShowColumns({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 604:
+ this.$ = new yy.ShowIndex({ table: $$[$0] });
+ break;
+ case 605:
+ this.$ = new yy.ShowIndex({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 606:
+ this.$ = new yy.ShowCreateTable({ table: $$[$0] });
+ break;
+ case 607:
+ this.$ = new yy.ShowCreateTable({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 608:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 6], view: true, select: $$[$0 - 1], viewcolumns: $$[$0 - 4] });
+ yy.extend(this.$, $$[$0 - 9]);
+ yy.extend(this.$, $$[$0 - 7]);
+ break;
+ case 609:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 3], view: true, select: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 4]);
+ break;
+ case 613:
+ this.$ = new yy.DropTable({ tables: $$[$0], view: true });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 614:
+ case 760:
+ this.$ = new yy.ExpressionStatement({ expression: $$[$0] });
+ break;
+ case 615:
+ this.$ = new yy.Source({ url: $$[$0].value });
+ break;
+ case 616:
+ this.$ = new yy.Assert({ value: $$[$0] });
+ break;
+ case 617:
+ this.$ = new yy.Assert({ value: $$[$0].value });
+ break;
+ case 618:
+ this.$ = new yy.Assert({ value: $$[$0], message: $$[$0 - 2] });
+ break;
+ case 620:
+ case 631:
+ case 633:
+ this.$ = $$[$0].value;
+ break;
+ case 621:
+ case 629:
+ this.$ = +$$[$0].value;
+ break;
+ case 622:
+ this.$ = (!!$$[$0].value);
+ break;
+ case 630:
+ this.$ = "" + $$[$0].value;
+ break;
+ case 639:
+ this.$ = {};
+ break;
+ case 642:
+ this.$ = [];
+ break;
+ case 643:
+ yy.extend($$[$0 - 2], $$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 645:
+ this.$ = {};
+ this.$[$$[$0 - 2].substr(1, $$[$0 - 2].length - 2)] = $$[$0];
+ break;
+ case 646:
+ case 647:
+ this.$ = {};
+ this.$[$$[$0 - 2]] = $$[$0];
+ break;
+ case 650:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2].toLowerCase(), value: $$[$0] });
+ break;
+ case 651:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 1].toLowerCase(), value: $$[$0] });
+ break;
+ case 652:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 653:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 3], props: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 654:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 3] });
+ break;
+ case 655:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 3], props: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 4] });
+ break;
+ case 656:
+ this.$ = '@';
+ break;
+ case 657:
+ this.$ = '$';
+ break;
+ case 663:
+ this.$ = true;
+ break;
+ case 664:
+ this.$ = false;
+ break;
+ case 665:
+ this.$ = new yy.CommitTransaction();
+ break;
+ case 666:
+ this.$ = new yy.RollbackTransaction();
+ break;
+ case 667:
+ this.$ = new yy.BeginTransaction();
+ break;
+ case 668:
+ this.$ = new yy.If({ expression: $$[$0 - 2], thenstat: $$[$0 - 1], elsestat: $$[$0] });
+ if ($$[$0 - 1].exists)
+ this.$.exists = $$[$0 - 1].exists;
+ if ($$[$0 - 1].queries)
+ this.$.queries = $$[$0 - 1].queries;
+ break;
+ case 669:
+ this.$ = new yy.If({ expression: $$[$0 - 1], thenstat: $$[$0] });
+ if ($$[$0].exists)
+ this.$.exists = $$[$0].exists;
+ if ($$[$0].queries)
+ this.$.queries = $$[$0].queries;
+ break;
+ case 670:
+ this.$ = $$[$0];
+ break;
+ case 671:
+ this.$ = new yy.While({ expression: $$[$0 - 1], loopstat: $$[$0] });
+ if ($$[$0].exists)
+ this.$.exists = $$[$0].exists;
+ if ($$[$0].queries)
+ this.$.queries = $$[$0].queries;
+ break;
+ case 672:
+ this.$ = new yy.Continue();
+ break;
+ case 673:
+ this.$ = new yy.Break();
+ break;
+ case 674:
+ this.$ = new yy.BeginEnd({ statements: $$[$0 - 1] });
+ break;
+ case 675:
+ this.$ = new yy.Print({ exprs: $$[$0] });
+ break;
+ case 676:
+ this.$ = new yy.Print({ select: $$[$0] });
+ break;
+ case 677:
+ this.$ = new yy.Require({ paths: $$[$0] });
+ break;
+ case 678:
+ this.$ = new yy.Require({ plugins: $$[$0] });
+ break;
+ case 679:
+ case 680:
+ this.$ = $$[$0].toUpperCase();
+ break;
+ case 681:
+ this.$ = new yy.Echo({ expr: $$[$0] });
+ break;
+ case 686:
+ this.$ = new yy.Declare({ declares: $$[$0] });
+ break;
+ case 689:
+ this.$ = { variable: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 690:
+ this.$ = { variable: $$[$0 - 2] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 691:
+ this.$ = { variable: $$[$0 - 3], expression: $$[$0] };
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 692:
+ this.$ = { variable: $$[$0 - 4], expression: $$[$0] };
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 693:
+ this.$ = new yy.TruncateTable({ table: $$[$0] });
+ break;
+ case 694:
+ this.$ = new yy.Merge();
+ yy.extend(this.$, $$[$0 - 4]);
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, { matches: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 695:
+ case 696:
+ this.$ = { into: $$[$0] };
+ break;
+ case 698:
+ this.$ = { on: $$[$0] };
+ break;
+ case 703:
+ this.$ = { matched: true, action: $$[$0] };
+ break;
+ case 704:
+ this.$ = { matched: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 705:
+ this.$ = { delete: true };
+ break;
+ case 706:
+ this.$ = { update: $$[$0] };
+ break;
+ case 707:
+ case 708:
+ this.$ = { matched: false, bytarget: true, action: $$[$0] };
+ break;
+ case 709:
+ case 710:
+ this.$ = { matched: false, bytarget: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 711:
+ this.$ = { matched: false, bysource: true, action: $$[$0] };
+ break;
+ case 712:
+ this.$ = { matched: false, bysource: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 713:
+ this.$ = { insert: true, values: $$[$0] };
+ break;
+ case 714:
+ this.$ = { insert: true, values: $$[$0], columns: $$[$0 - 3] };
+ break;
+ case 715:
+ this.$ = { insert: true, defaultvalues: true };
+ break;
+ case 716:
+ this.$ = { insert: true, defaultvalues: true, columns: $$[$0 - 3] };
+ break;
+ case 718:
+ this.$ = { output: { columns: $$[$0] } };
+ break;
+ case 719:
+ this.$ = { output: { columns: $$[$0 - 3], intovar: $$[$0], method: $$[$0 - 1] } };
+ break;
+ case 720:
+ this.$ = { output: { columns: $$[$0 - 2], intotable: $$[$0] } };
+ break;
+ case 721:
+ this.$ = { output: { columns: $$[$0 - 5], intotable: $$[$0 - 3], intocolumns: $$[$0 - 1] } };
+ break;
+ case 722:
+ this.$ = new yy.CreateVertex({ class: $$[$0 - 3], sharp: $$[$0 - 2], name: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 725:
+ this.$ = { sets: $$[$0] };
+ break;
+ case 726:
+ this.$ = { content: $$[$0] };
+ break;
+ case 727:
+ this.$ = { select: $$[$0] };
+ break;
+ case 728:
+ this.$ = new yy.CreateEdge({ from: $$[$0 - 3], to: $$[$0 - 1], name: $$[$0 - 5] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 729:
+ this.$ = new yy.CreateGraph({ graph: $$[$0] });
+ break;
+ case 730:
+ this.$ = new yy.CreateGraph({ from: $$[$0] });
+ break;
+ case 733:
+ this.$ = $$[$0 - 2];
+ if ($$[$0 - 1])
+ this.$.json = new yy.Json({ value: $$[$0 - 1] });
+ if ($$[$0])
+ this.$.as = $$[$0];
+ break;
+ case 734:
+ this.$ = { source: $$[$0 - 6], target: $$[$0] };
+ if ($$[$0 - 3])
+ this.$.json = new yy.Json({ value: $$[$0 - 3] });
+ if ($$[$0 - 2])
+ this.$.as = $$[$0 - 2];
+ yy.extend(this.$, $$[$0 - 4]);
+ break;
+ case 735:
+ this.$ = { source: $$[$0 - 5], target: $$[$0] };
+ if ($$[$0 - 2])
+ this.$.json = new yy.Json({ value: $$[$0 - 3] });
+ if ($$[$0 - 1])
+ this.$.as = $$[$0 - 2];
+ break;
+ case 736:
+ this.$ = { source: $$[$0 - 2], target: $$[$0] };
+ break;
+ case 740:
+ this.$ = { vars: $$[$0], method: $$[$0 - 1] };
+ break;
+ case 743:
+ case 744:
+ var s3 = $$[$0 - 1];
+ this.$ = { prop: $$[$0 - 3], sharp: $$[$0 - 2], name: (typeof s3 == 'undefined') ? undefined : s3.substr(1, s3.length - 2), class: $$[$0] };
+ break;
+ case 745:
+ var s2 = $$[$0 - 1];
+ this.$ = { sharp: $$[$0 - 2], name: (typeof s2 == 'undefined') ? undefined : s2.substr(1, s2.length - 2), class: $$[$0] };
+ break;
+ case 746:
+ var s1 = $$[$0 - 1];
+ this.$ = { name: (typeof s1 == 'undefined') ? undefined : s1.substr(1, s1.length - 2), class: $$[$0] };
+ break;
+ case 747:
+ this.$ = { class: $$[$0] };
+ break;
+ case 753:
+ this.$ = new yy.AddRule({ left: $$[$0 - 2], right: $$[$0] });
+ break;
+ case 754:
+ this.$ = new yy.AddRule({ right: $$[$0] });
+ break;
+ case 757:
+ this.$ = new yy.Term({ termid: $$[$0] });
+ break;
+ case 758:
+ this.$ = new yy.Term({ termid: $$[$0 - 3], args: $$[$0 - 1] });
+ break;
+ case 761:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 6], when: $$[$0 - 5], action: $$[$0 - 4], table: $$[$0 - 2], statement: $$[$0] });
+ if ($$[$0].exists)
+ this.$.exists = $$[$0].exists;
+ if ($$[$0].queries)
+ this.$.queries = $$[$0].queries;
+ break;
+ case 762:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 5], when: $$[$0 - 4], action: $$[$0 - 3], table: $$[$0 - 1], funcid: $$[$0] });
+ break;
+ case 763:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 6], when: $$[$0 - 4], action: $$[$0 - 3], table: $$[$0 - 5], statement: $$[$0] });
+ if ($$[$0].exists)
+ this.$.exists = $$[$0].exists;
+ if ($$[$0].queries)
+ this.$.queries = $$[$0].queries;
+ break;
+ case 764:
+ case 765:
+ case 767:
+ this.$ = 'AFTER';
+ break;
+ case 766:
+ this.$ = 'BEFORE';
+ break;
+ case 768:
+ this.$ = 'INSTEADOF';
+ break;
+ case 769:
+ this.$ = 'INSERT';
+ break;
+ case 770:
+ this.$ = 'DELETE';
+ break;
+ case 771:
+ this.$ = 'UPDATE';
+ break;
+ case 772:
+ this.$ = new yy.DropTrigger({ trigger: $$[$0] });
+ break;
+ case 773:
+ this.$ = new yy.Reindex({ indexid: $$[$0] });
+ break;
+ case 1047:
+ case 1067:
+ case 1069:
+ case 1071:
+ case 1075:
+ case 1077:
+ case 1079:
+ case 1081:
+ case 1083:
+ case 1085:
+ this.$ = [];
+ break;
+ case 1048:
+ case 1062:
+ case 1064:
+ case 1068:
+ case 1070:
+ case 1072:
+ case 1076:
+ case 1078:
+ case 1080:
+ case 1082:
+ case 1084:
+ case 1086:
+ $$[$0 - 1].push($$[$0]);
+ break;
+ case 1061:
+ case 1063:
+ this.$ = [$$[$0]];
+ break;
+ }
+ },
+ table: [o([10, 602, 764], $V0, { 8: 1, 9: 2, 12: 3, 13: 4, 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 2: $V1, 4: $V2, 5: $V3, 14: $V4, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 1: [3] }, { 10: [1, 105], 11: 106, 602: $VH, 764: $VI }, o($VJ, [2, 8]), o($VJ, [2, 9]), o($VK, [2, 12]), o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 109, 2: $V1, 4: $V2, 5: $V3, 15: [1, 110], 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 14]), o($VK, [2, 15]), o($VK, [2, 16]), o($VK, [2, 17]), o($VK, [2, 18]), o($VK, [2, 19]), o($VK, [2, 20]), o($VK, [2, 21]), o($VK, [2, 22]), o($VK, [2, 23]), o($VK, [2, 24]), o($VK, [2, 25]), o($VK, [2, 26]), o($VK, [2, 27]), o($VK, [2, 28]), o($VK, [2, 29]), o($VK, [2, 30]), o($VK, [2, 31]), o($VK, [2, 32]), o($VK, [2, 33]), o($VK, [2, 34]), o($VK, [2, 35]), o($VK, [2, 36]), o($VK, [2, 37]), o($VK, [2, 38]), o($VK, [2, 39]), o($VK, [2, 40]), o($VK, [2, 41]), o($VK, [2, 42]), o($VK, [2, 43]), o($VK, [2, 44]), o($VK, [2, 45]), o($VK, [2, 46]), o($VK, [2, 47]), o($VK, [2, 48]), o($VK, [2, 49]), o($VK, [2, 50]), o($VK, [2, 51]), o($VK, [2, 52]), o($VK, [2, 53]), o($VK, [2, 54]), o($VK, [2, 55]), o($VK, [2, 56]), o($VK, [2, 57]), o($VK, [2, 58]), o($VK, [2, 59]), o($VK, [2, 60]), o($VK, [2, 61]), o($VK, [2, 62]), o($VK, [2, 63]), o($VK, [2, 64]), o($VK, [2, 65]), o($VK, [2, 66]), o($VK, [2, 67]), { 353: [1, 111] }, { 2: $V1, 3: 112, 4: $V2, 5: $V3 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 156: $VL, 200: 113, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, o($VQ, [2, 501], { 3: 121, 348: 125, 2: $V1, 4: $V2, 5: $V3, 134: $VR, 135: $VS, 187: [1, 123], 193: [1, 122], 268: [1, 129], 269: [1, 130], 357: [1, 131], 405: [1, 120], 472: [1, 124], 509: [1, 128] }), { 145: $VT, 449: 132, 450: 133 }, { 183: [1, 135] }, { 405: [1, 136] }, { 2: $V1, 3: 138, 4: $V2, 5: $V3, 130: [1, 144], 193: [1, 139], 353: [1, 143], 397: 140, 405: [1, 137], 410: [1, 141], 509: [1, 142] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 145, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $Vu1, { 340: 204, 171: [1, 205], 198: $Vv1 }), o($Vt1, $Vu1, { 340: 207, 198: $Vv1 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 198: [1, 210], 199: 213, 200: 215, 201: 214, 202: 217, 209: 209, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1, 453: 208 }, { 2: $V1, 3: 221, 4: $V2, 5: $V3 }, { 353: [1, 222] }, o($Vz1, [2, 1043], { 80: 223, 106: 224, 107: [1, 225] }), o($VA1, [2, 1047], { 90: 226 }), { 2: $V1, 3: 230, 4: $V2, 5: $V3, 190: [1, 228], 193: [1, 231], 267: [1, 227], 353: [1, 232], 405: [1, 229] }, { 353: [1, 233] }, { 2: $V1, 3: 236, 4: $V2, 5: $V3, 73: 234, 75: 235 }, o([306, 602, 764], $V0, { 12: 3, 13: 4, 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 9: 238, 2: $V1, 4: $V2, 5: $V3, 14: $V4, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 435: [1, 237], 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 435: [1, 239] }, { 435: [1, 240] }, { 2: $V1, 3: 242, 4: $V2, 5: $V3, 405: [1, 241] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 243 }, o($VB1, [2, 311]), { 113: 245, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 113: 251, 131: $VV, 132: [1, 248], 143: $VY, 144: 246, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 255, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 247, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 257, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 672]), o($VK, [2, 673]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 259, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 258, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 266, 4: $V2, 5: $V3, 113: 263, 132: $VW, 296: $Vj1, 444: 261, 445: 262, 446: 264, 447: $VE1 }, { 2: $V1, 3: 267, 4: $V2, 5: $V3, 143: $VF1, 145: $VG1, 431: 268 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 271, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 505: [1, 272] }, { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 273 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 156: $VL, 200: 275, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 276, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VH1, $VI1, { 186: 280, 164: [1, 279], 185: [1, 277], 187: [1, 278], 195: $VJ1 }), o($VK1, [2, 757], { 77: [1, 282] }), o([2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 152, 154, 156, 162, 164, 168, 169, 179, 180, 181, 183, 185, 187, 195, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], [2, 152], { 149: [1, 283], 150: [1, 284], 190: [1, 285], 191: [1, 286], 192: [1, 287], 193: [1, 288], 194: [1, 289] }), o($VL1, [2, 1]), o($VL1, [2, 2]), { 6: 290, 131: [1, 439], 172: [1, 462], 245: [1, 411], 285: [1, 373], 286: [1, 407], 370: [1, 404], 381: [1, 295], 402: [1, 297], 410: [1, 549], 414: [1, 471], 416: [1, 443], 417: [1, 509], 433: [1, 442], 435: [1, 525], 440: [1, 342], 460: [1, 418], 464: [1, 448], 470: [1, 341], 514: [1, 307], 515: [1, 299], 516: [1, 399], 518: [1, 291], 519: [1, 292], 520: [1, 293], 521: [1, 294], 522: [1, 296], 523: [1, 298], 524: [1, 300], 525: [1, 301], 526: [1, 302], 527: [1, 303], 528: [1, 304], 529: [1, 305], 530: [1, 306], 531: [1, 308], 532: [1, 309], 533: [1, 310], 534: [1, 311], 535: [1, 312], 536: [1, 313], 537: [1, 314], 538: [1, 315], 539: [1, 316], 540: [1, 317], 541: [1, 318], 542: [1, 319], 543: [1, 320], 544: [1, 321], 545: [1, 322], 546: [1, 323], 547: [1, 324], 548: [1, 325], 549: [1, 326], 550: [1, 327], 551: [1, 328], 552: [1, 329], 553: [1, 330], 554: [1, 331], 555: [1, 332], 556: [1, 333], 557: [1, 334], 558: [1, 335], 559: [1, 336], 560: [1, 337], 561: [1, 338], 562: [1, 339], 563: [1, 340], 564: [1, 343], 565: [1, 344], 566: [1, 345], 567: [1, 346], 568: [1, 347], 569: [1, 348], 570: [1, 349], 571: [1, 350], 572: [1, 351], 573: [1, 352], 574: [1, 353], 575: [1, 354], 576: [1, 355], 577: [1, 356], 578: [1, 357], 579: [1, 358], 580: [1, 359], 581: [1, 360], 582: [1, 361], 583: [1, 362], 584: [1, 363], 585: [1, 364], 586: [1, 365], 587: [1, 366], 588: [1, 367], 589: [1, 368], 590: [1, 369], 591: [1, 370], 592: [1, 371], 593: [1, 372], 594: [1, 374], 595: [1, 375], 596: [1, 376], 597: [1, 377], 598: [1, 378], 599: [1, 379], 600: [1, 380], 601: [1, 381], 602: [1, 382], 603: [1, 383], 604: [1, 384], 605: [1, 385], 606: [1, 386], 607: [1, 387], 608: [1, 388], 609: [1, 389], 610: [1, 390], 611: [1, 391], 612: [1, 392], 613: [1, 393], 614: [1, 394], 615: [1, 395], 616: [1, 396], 617: [1, 397], 618: [1, 398], 619: [1, 400], 620: [1, 401], 621: [1, 402], 622: [1, 403], 623: [1, 405], 624: [1, 406], 625: [1, 408], 626: [1, 409], 627: [1, 410], 628: [1, 412], 629: [1, 413], 630: [1, 414], 631: [1, 415], 632: [1, 416], 633: [1, 417], 634: [1, 419], 635: [1, 420], 636: [1, 421], 637: [1, 422], 638: [1, 423], 639: [1, 424], 640: [1, 425], 641: [1, 426], 642: [1, 427], 643: [1, 428], 644: [1, 429], 645: [1, 430], 646: [1, 431], 647: [1, 432], 648: [1, 433], 649: [1, 434], 650: [1, 435], 651: [1, 436], 652: [1, 437], 653: [1, 438], 654: [1, 440], 655: [1, 441], 656: [1, 444], 657: [1, 445], 658: [1, 446], 659: [1, 447], 660: [1, 449], 661: [1, 450], 662: [1, 451], 663: [1, 452], 664: [1, 453], 665: [1, 454], 666: [1, 455], 667: [1, 456], 668: [1, 457], 669: [1, 458], 670: [1, 459], 671: [1, 460], 672: [1, 461], 673: [1, 463], 674: [1, 464], 675: [1, 465], 676: [1, 466], 677: [1, 467], 678: [1, 468], 679: [1, 469], 680: [1, 470], 681: [1, 472], 682: [1, 473], 683: [1, 474], 684: [1, 475], 685: [1, 476], 686: [1, 477], 687: [1, 478], 688: [1, 479], 689: [1, 480], 690: [1, 481], 691: [1, 482], 692: [1, 483], 693: [1, 484], 694: [1, 485], 695: [1, 486], 696: [1, 487], 697: [1, 488], 698: [1, 489], 699: [1, 490], 700: [1, 491], 701: [1, 492], 702: [1, 493], 703: [1, 494], 704: [1, 495], 705: [1, 496], 706: [1, 497], 707: [1, 498], 708: [1, 499], 709: [1, 500], 710: [1, 501], 711: [1, 502], 712: [1, 503], 713: [1, 504], 714: [1, 505], 715: [1, 506], 716: [1, 507], 717: [1, 508], 718: [1, 510], 719: [1, 511], 720: [1, 512], 721: [1, 513], 722: [1, 514], 723: [1, 515], 724: [1, 516], 725: [1, 517], 726: [1, 518], 727: [1, 519], 728: [1, 520], 729: [1, 521], 730: [1, 522], 731: [1, 523], 732: [1, 524], 733: [1, 526], 734: [1, 527], 735: [1, 528], 736: [1, 529], 737: [1, 530], 738: [1, 531], 739: [1, 532], 740: [1, 533], 741: [1, 534], 742: [1, 535], 743: [1, 536], 744: [1, 537], 745: [1, 538], 746: [1, 539], 747: [1, 540], 748: [1, 541], 749: [1, 542], 750: [1, 543], 751: [1, 544], 752: [1, 545], 753: [1, 546], 754: [1, 547], 755: [1, 548], 756: [1, 550], 757: [1, 551], 758: [1, 552], 759: [1, 553], 760: [1, 554], 761: [1, 555], 762: [1, 556], 763: [1, 557] }, { 1: [2, 6] }, o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 558, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VM1, [2, 1041]), o($VM1, [2, 1042]), o($VJ, [2, 10]), { 16: [1, 559] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 560 }, { 405: [1, 561] }, o($VK, [2, 760]), { 77: $VN1 }, { 77: [1, 563] }, { 77: $VO1 }, { 77: [1, 565] }, { 77: [1, 566] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 567, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $VP1, { 350: 568, 156: $VQ1 }), { 405: [1, 570] }, { 2: $V1, 3: 571, 4: $V2, 5: $V3 }, { 193: [1, 572] }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 183: [1, 574], 431: 585, 473: 573, 474: 575, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, { 130: [1, 589], 349: 586, 353: [1, 588], 410: [1, 587] }, { 113: 591, 132: $VW, 183: [2, 1141], 296: $Vj1, 471: 590 }, o($VU1, [2, 1135], { 465: 592, 3: 593, 2: $V1, 4: $V2, 5: $V3 }), { 2: $V1, 3: 594, 4: $V2, 5: $V3 }, { 4: [1, 595] }, { 4: [1, 596] }, o($VQ, [2, 502]), o($VK, [2, 686], { 74: [1, 597] }), o($VV1, [2, 687]), { 2: $V1, 3: 598, 4: $V2, 5: $V3 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 599 }, { 2: $V1, 3: 600, 4: $V2, 5: $V3 }, o($Vt1, $VW1, { 398: 601, 156: $VX1 }), { 405: [1, 603] }, { 2: $V1, 3: 604, 4: $V2, 5: $V3 }, o($Vt1, $VW1, { 398: 605, 156: $VX1 }), o($Vt1, $VW1, { 398: 606, 156: $VX1 }), { 2: $V1, 3: 607, 4: $V2, 5: $V3 }, o($VY1, [2, 1129]), o($VY1, [2, 1130]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 608, 114: 625, 327: 637, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $V22, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V9, 154: $Va2, 156: $Va, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VB1, [2, 288]), o($VB1, [2, 289]), o($VB1, [2, 290]), o($VB1, [2, 291]), o($VB1, [2, 292]), o($VB1, [2, 293]), o($VB1, [2, 294]), o($VB1, [2, 295]), o($VB1, [2, 296]), o($VB1, [2, 297]), o($VB1, [2, 298]), o($VB1, [2, 299]), o($VB1, [2, 300]), o($VB1, [2, 301]), o($VB1, [2, 302]), o($VB1, [2, 303]), o($VB1, [2, 304]), o($VB1, [2, 305]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 26: 654, 27: 653, 36: 649, 40: 648, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 651, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 264: 650, 265: $V41, 266: $Vc, 267: [1, 655], 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: [1, 652], 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 339: $Vh, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 309]), o($VB1, [2, 310]), { 77: [1, 656] }, o([2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy2, { 77: $VN1, 116: [1, 657] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 658, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 659, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 661, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 662, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 283]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 249, 265, 266, 267, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 302, 303, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 415, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764, 765, 766], [2, 356]), o($Vz2, [2, 357]), o($Vz2, [2, 358]), o($Vz2, $VA2), o($Vz2, [2, 360]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 361]), { 2: $V1, 3: 664, 4: $V2, 5: $V3, 131: [1, 665], 301: 663 }, { 2: $V1, 3: 666, 4: $V2, 5: $V3 }, o($Vz2, [2, 367]), o($Vz2, [2, 368]), { 2: $V1, 3: 667, 4: $V2, 5: $V3, 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, { 77: [1, 674] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 675, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 304: 676, 307: 677, 308: $VC2, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 679] }, { 77: [1, 680] }, o($VD2, [2, 624]), { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 300: [1, 683], 302: $Vn1, 419: 190, 420: $Vr1, 421: 681, 422: 684, 423: 686, 424: $Vs1, 427: 682 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 696, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 697, 4: $V2, 5: $V3, 156: $VL, 200: 698, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 77: [2, 336] }, { 77: [2, 337] }, { 77: [2, 338] }, { 77: [2, 339] }, { 77: [2, 340] }, { 77: [2, 341] }, { 77: [2, 342] }, { 77: [2, 343] }, { 77: [2, 344] }, { 2: $V1, 3: 704, 4: $V2, 5: $V3, 131: $VF2, 132: $VG2, 425: 699, 426: [1, 700], 428: 701 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 705 }, { 290: [1, 706] }, o($Vt1, [2, 472]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 707 }, { 231: [1, 709], 454: 708 }, { 231: [2, 695] }, { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 710, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 40: 711, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VH2, [2, 1091], { 210: 712, 76: [1, 713] }), o($VI2, [2, 185], { 3: 714, 2: $V1, 4: $V2, 5: $V3, 76: [1, 715], 154: [1, 716] }), o($VI2, [2, 189], { 3: 717, 2: $V1, 4: $V2, 5: $V3, 76: [1, 718] }), o($VI2, [2, 190], { 3: 719, 2: $V1, 4: $V2, 5: $V3, 76: [1, 720] }), o($VI2, [2, 193]), o($VI2, [2, 194], { 3: 721, 2: $V1, 4: $V2, 5: $V3, 76: [1, 722] }), o($VI2, [2, 197], { 3: 723, 2: $V1, 4: $V2, 5: $V3, 76: [1, 724] }), o([2, 4, 5, 10, 72, 74, 76, 78, 93, 98, 118, 128, 154, 162, 168, 169, 183, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VJ2, { 77: $VN1, 116: $VK2 }), o([2, 4, 5, 10, 72, 74, 76, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], [2, 200]), o($VK, [2, 773]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 726 }, o($VL2, $VM2, { 81: 727, 198: $VN2 }), o($Vz1, [2, 1044]), o($VO2, [2, 1057], { 108: 729, 190: [1, 730] }), o([10, 78, 183, 306, 310, 602, 764], $VM2, { 419: 190, 81: 731, 117: 732, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 198: $VN2, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), { 353: [1, 782] }, { 183: [1, 783] }, o($VK, [2, 594], { 112: [1, 784] }), { 405: [1, 785] }, { 183: [1, 786] }, o($VK, [2, 598], { 112: [1, 787], 183: [1, 788] }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 789 }, { 40: 790, 74: [1, 791], 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vv3, [2, 70]), { 76: [1, 792] }, o($VK, [2, 667]), { 11: 106, 306: [1, 793], 602: $VH, 764: $VI }, o($VK, [2, 665]), o($VK, [2, 666]), { 2: $V1, 3: 794, 4: $V2, 5: $V3 }, o($VK, [2, 587]), { 146: [1, 795] }, o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 95, 124, 128, 143, 145, 146, 148, 149, 152, 154, 156, 181, 183, 187, 189, 230, 266, 267, 290, 297, 302, 306, 310, 335, 338, 339, 343, 344, 356, 368, 369, 373, 374, 396, 400, 401, 402, 403, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 514, 515, 516, 517, 602, 764], $VJ2, { 116: $VK2 }), o($VK, [2, 615]), o($VK, [2, 616]), o($VK, [2, 617]), o($VK, $VA2, { 74: [1, 796] }), { 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, o($Vw3, [2, 320]), o($Vw3, [2, 321]), o($Vw3, [2, 322]), o($Vw3, [2, 323]), o($Vw3, [2, 324]), o($Vw3, [2, 325]), o($Vw3, [2, 326]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 114: 625, 327: 637, 12: 797, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $V22, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V9, 154: $Va2, 156: $Va, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 675], { 74: $Vx3 }), o($VK, [2, 676]), o($Vy3, [2, 354], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 677], { 74: [1, 800] }), o($VK, [2, 678], { 74: [1, 801] }), o($VV1, [2, 683]), o($VV1, [2, 685]), o($VV1, [2, 679]), o($VV1, [2, 680]), { 114: 807, 115: $V$1, 116: $V02, 124: [1, 802], 230: $VA3, 429: 803, 430: 804, 433: $VB3 }, { 2: $V1, 3: 808, 4: $V2, 5: $V3 }, o($Vt1, [2, 656]), o($Vt1, [2, 657]), o($VK, [2, 614], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 809 }, o($VK, [2, 754], { 74: $VC3 }), o($VD3, [2, 756]), o($VK, [2, 759]), o($VK, [2, 681], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VE3, $VI1, { 186: 811, 195: $VJ1 }), o($VE3, $VI1, { 186: 812, 195: $VJ1 }), o($VE3, $VI1, { 186: 813, 195: $VJ1 }), o($VF3, [2, 1087], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 188: 814, 174: 815, 253: 816, 94: 817, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 77: [1, 819], 131: $VV, 196: 818 }, { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 820 }, o($VG3, [2, 153]), o($VG3, [2, 154]), o($VG3, [2, 155]), o($VG3, [2, 156]), o($VG3, [2, 157]), o($VG3, [2, 158]), o($VG3, [2, 159]), o($VL1, [2, 3]), o($VL1, [2, 774]), o($VL1, [2, 775]), o($VL1, [2, 776]), o($VL1, [2, 777]), o($VL1, [2, 778]), o($VL1, [2, 779]), o($VL1, [2, 780]), o($VL1, [2, 781]), o($VL1, [2, 782]), o($VL1, [2, 783]), o($VL1, [2, 784]), o($VL1, [2, 785]), o($VL1, [2, 786]), o($VL1, [2, 787]), o($VL1, [2, 788]), o($VL1, [2, 789]), o($VL1, [2, 790]), o($VL1, [2, 791]), o($VL1, [2, 792]), o($VL1, [2, 793]), o($VL1, [2, 794]), o($VL1, [2, 795]), o($VL1, [2, 796]), o($VL1, [2, 797]), o($VL1, [2, 798]), o($VL1, [2, 799]), o($VL1, [2, 800]), o($VL1, [2, 801]), o($VL1, [2, 802]), o($VL1, [2, 803]), o($VL1, [2, 804]), o($VL1, [2, 805]), o($VL1, [2, 806]), o($VL1, [2, 807]), o($VL1, [2, 808]), o($VL1, [2, 809]), o($VL1, [2, 810]), o($VL1, [2, 811]), o($VL1, [2, 812]), o($VL1, [2, 813]), o($VL1, [2, 814]), o($VL1, [2, 815]), o($VL1, [2, 816]), o($VL1, [2, 817]), o($VL1, [2, 818]), o($VL1, [2, 819]), o($VL1, [2, 820]), o($VL1, [2, 821]), o($VL1, [2, 822]), o($VL1, [2, 823]), o($VL1, [2, 824]), o($VL1, [2, 825]), o($VL1, [2, 826]), o($VL1, [2, 827]), o($VL1, [2, 828]), o($VL1, [2, 829]), o($VL1, [2, 830]), o($VL1, [2, 831]), o($VL1, [2, 832]), o($VL1, [2, 833]), o($VL1, [2, 834]), o($VL1, [2, 835]), o($VL1, [2, 836]), o($VL1, [2, 837]), o($VL1, [2, 838]), o($VL1, [2, 839]), o($VL1, [2, 840]), o($VL1, [2, 841]), o($VL1, [2, 842]), o($VL1, [2, 843]), o($VL1, [2, 844]), o($VL1, [2, 845]), o($VL1, [2, 846]), o($VL1, [2, 847]), o($VL1, [2, 848]), o($VL1, [2, 849]), o($VL1, [2, 850]), o($VL1, [2, 851]), o($VL1, [2, 852]), o($VL1, [2, 853]), o($VL1, [2, 854]), o($VL1, [2, 855]), o($VL1, [2, 856]), o($VL1, [2, 857]), o($VL1, [2, 858]), o($VL1, [2, 859]), o($VL1, [2, 860]), o($VL1, [2, 861]), o($VL1, [2, 862]), o($VL1, [2, 863]), o($VL1, [2, 864]), o($VL1, [2, 865]), o($VL1, [2, 866]), o($VL1, [2, 867]), o($VL1, [2, 868]), o($VL1, [2, 869]), o($VL1, [2, 870]), o($VL1, [2, 871]), o($VL1, [2, 872]), o($VL1, [2, 873]), o($VL1, [2, 874]), o($VL1, [2, 875]), o($VL1, [2, 876]), o($VL1, [2, 877]), o($VL1, [2, 878]), o($VL1, [2, 879]), o($VL1, [2, 880]), o($VL1, [2, 881]), o($VL1, [2, 882]), o($VL1, [2, 883]), o($VL1, [2, 884]), o($VL1, [2, 885]), o($VL1, [2, 886]), o($VL1, [2, 887]), o($VL1, [2, 888]), o($VL1, [2, 889]), o($VL1, [2, 890]), o($VL1, [2, 891]), o($VL1, [2, 892]), o($VL1, [2, 893]), o($VL1, [2, 894]), o($VL1, [2, 895]), o($VL1, [2, 896]), o($VL1, [2, 897]), o($VL1, [2, 898]), o($VL1, [2, 899]), o($VL1, [2, 900]), o($VL1, [2, 901]), o($VL1, [2, 902]), o($VL1, [2, 903]), o($VL1, [2, 904]), o($VL1, [2, 905]), o($VL1, [2, 906]), o($VL1, [2, 907]), o($VL1, [2, 908]), o($VL1, [2, 909]), o($VL1, [2, 910]), o($VL1, [2, 911]), o($VL1, [2, 912]), o($VL1, [2, 913]), o($VL1, [2, 914]), o($VL1, [2, 915]), o($VL1, [2, 916]), o($VL1, [2, 917]), o($VL1, [2, 918]), o($VL1, [2, 919]), o($VL1, [2, 920]), o($VL1, [2, 921]), o($VL1, [2, 922]), o($VL1, [2, 923]), o($VL1, [2, 924]), o($VL1, [2, 925]), o($VL1, [2, 926]), o($VL1, [2, 927]), o($VL1, [2, 928]), o($VL1, [2, 929]), o($VL1, [2, 930]), o($VL1, [2, 931]), o($VL1, [2, 932]), o($VL1, [2, 933]), o($VL1, [2, 934]), o($VL1, [2, 935]), o($VL1, [2, 936]), o($VL1, [2, 937]), o($VL1, [2, 938]), o($VL1, [2, 939]), o($VL1, [2, 940]), o($VL1, [2, 941]), o($VL1, [2, 942]), o($VL1, [2, 943]), o($VL1, [2, 944]), o($VL1, [2, 945]), o($VL1, [2, 946]), o($VL1, [2, 947]), o($VL1, [2, 948]), o($VL1, [2, 949]), o($VL1, [2, 950]), o($VL1, [2, 951]), o($VL1, [2, 952]), o($VL1, [2, 953]), o($VL1, [2, 954]), o($VL1, [2, 955]), o($VL1, [2, 956]), o($VL1, [2, 957]), o($VL1, [2, 958]), o($VL1, [2, 959]), o($VL1, [2, 960]), o($VL1, [2, 961]), o($VL1, [2, 962]), o($VL1, [2, 963]), o($VL1, [2, 964]), o($VL1, [2, 965]), o($VL1, [2, 966]), o($VL1, [2, 967]), o($VL1, [2, 968]), o($VL1, [2, 969]), o($VL1, [2, 970]), o($VL1, [2, 971]), o($VL1, [2, 972]), o($VL1, [2, 973]), o($VL1, [2, 974]), o($VL1, [2, 975]), o($VL1, [2, 976]), o($VL1, [2, 977]), o($VL1, [2, 978]), o($VL1, [2, 979]), o($VL1, [2, 980]), o($VL1, [2, 981]), o($VL1, [2, 982]), o($VL1, [2, 983]), o($VL1, [2, 984]), o($VL1, [2, 985]), o($VL1, [2, 986]), o($VL1, [2, 987]), o($VL1, [2, 988]), o($VL1, [2, 989]), o($VL1, [2, 990]), o($VL1, [2, 991]), o($VL1, [2, 992]), o($VL1, [2, 993]), o($VL1, [2, 994]), o($VL1, [2, 995]), o($VL1, [2, 996]), o($VL1, [2, 997]), o($VL1, [2, 998]), o($VL1, [2, 999]), o($VL1, [2, 1000]), o($VL1, [2, 1001]), o($VL1, [2, 1002]), o($VL1, [2, 1003]), o($VL1, [2, 1004]), o($VL1, [2, 1005]), o($VL1, [2, 1006]), o($VL1, [2, 1007]), o($VL1, [2, 1008]), o($VL1, [2, 1009]), o($VL1, [2, 1010]), o($VL1, [2, 1011]), o($VL1, [2, 1012]), o($VL1, [2, 1013]), o($VL1, [2, 1014]), o($VL1, [2, 1015]), o($VL1, [2, 1016]), o($VL1, [2, 1017]), o($VL1, [2, 1018]), o($VL1, [2, 1019]), o($VL1, [2, 1020]), o($VL1, [2, 1021]), o($VL1, [2, 1022]), o($VL1, [2, 1023]), o($VL1, [2, 1024]), o($VL1, [2, 1025]), o($VL1, [2, 1026]), o($VL1, [2, 1027]), o($VL1, [2, 1028]), o($VL1, [2, 1029]), o($VL1, [2, 1030]), o($VL1, [2, 1031]), o($VL1, [2, 1032]), o($VL1, [2, 1033]), o($VL1, [2, 1034]), o($VL1, [2, 1035]), o($VL1, [2, 1036]), o($VL1, [2, 1037]), o($VL1, [2, 1038]), o($VL1, [2, 1039]), o($VL1, [2, 1040]), o($VJ, [2, 7]), o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 821, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 396: [1, 825], 401: [1, 822], 402: [1, 823], 403: [1, 824] }, { 2: $V1, 3: 826, 4: $V2, 5: $V3 }, o($VE3, [2, 1111], { 289: 827, 767: 829, 78: [1, 828], 164: [1, 831], 185: [1, 830] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 832, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 833, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 834, 4: $V2, 5: $V3, 132: [1, 835] }, { 2: $V1, 3: 836, 4: $V2, 5: $V3, 132: [1, 837] }, { 2: $V1, 3: 838, 4: $V2, 5: $V3, 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 839, 4: $V2, 5: $V3 }, { 154: [1, 840] }, o($VH3, $VP1, { 350: 841, 156: $VQ1 }), { 230: [1, 842] }, { 2: $V1, 3: 843, 4: $V2, 5: $V3 }, o($VK, [2, 729], { 74: $VI3 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 845, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD3, [2, 732]), o($VJ3, [2, 1143], { 419: 190, 476: 846, 144: 847, 139: $VK3, 141: $VK3, 145: $VC1, 420: $Vr1, 424: $Vs1 }), { 139: [1, 848], 141: [1, 849] }, o($VL3, $VM3, { 490: 851, 493: 852, 77: [1, 850], 137: $VS1 }), o($VN3, [2, 1167], { 494: 853, 132: [1, 854] }), o($VO3, [2, 1171], { 496: 855, 497: 856, 152: $VT1 }), o($VO3, [2, 747]), o($VP3, [2, 739]), { 2: $V1, 3: 857, 4: $V2, 5: $V3, 131: [1, 858] }, { 2: $V1, 3: 859, 4: $V2, 5: $V3 }, { 2: $V1, 3: 860, 4: $V2, 5: $V3 }, o($Vt1, $VP1, { 350: 861, 156: $VQ1 }), o($Vt1, $VP1, { 350: 862, 156: $VQ1 }), o($VY1, [2, 491]), o($VY1, [2, 492]), { 183: [1, 863] }, { 183: [2, 1142] }, o($VQ3, [2, 1137], { 466: 864, 469: 865, 137: [1, 866] }), o($VU1, [2, 1136]), o($VR3, $VS3, { 510: 867, 95: $VT3, 230: [1, 868], 514: $VU3, 515: $VV3, 516: $VW3 }), { 76: [1, 873] }, { 76: [1, 874] }, { 145: $VT, 450: 875 }, { 4: $VX3, 7: 879, 76: [1, 877], 272: 876, 387: 878, 389: $VY3 }, o($VK, [2, 456], { 128: [1, 882] }), o($VK, [2, 579]), { 2: $V1, 3: 883, 4: $V2, 5: $V3 }, { 298: [1, 884] }, o($VH3, $VW1, { 398: 885, 156: $VX1 }), o($VK, [2, 593]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 887, 399: 886 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 887, 399: 888 }, o($VK, [2, 772]), o($VJ, [2, 669], { 438: 889, 310: [1, 890] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 891, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 892, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 893, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 894, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 895, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 896, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 897, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 898, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 899, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 900, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 901, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 902, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 903, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 904, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 905, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 906, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 907, 4: $V2, 5: $V3, 77: [1, 909], 131: $VV, 156: $VL, 196: 908, 200: 910, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 2: $V1, 3: 911, 4: $V2, 5: $V3, 77: [1, 913], 131: $VV, 156: $VL, 196: 912, 200: 914, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, o($VZ3, [2, 440], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 915, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 441], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 916, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 442], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 917, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 443], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 918, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, $V_3, { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 919, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 920, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 921, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VZ3, [2, 445], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 922, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 923, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 924, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 164: [1, 926], 166: [1, 928], 328: 925, 334: [1, 927] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 929, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 930, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: [1, 931], 111: 934, 145: $V$3, 156: $VL, 200: 935, 202: 933, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 329: 932 }, { 99: [1, 937], 297: [1, 938] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 939, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 940, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 941, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 942, 387: 878, 389: $VY3 }, o($V04, [2, 88]), o($V04, [2, 89]), { 78: [1, 943] }, { 78: [1, 944] }, { 78: [1, 945] }, { 78: [1, 946], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vt1, $Vu1, { 340: 207, 77: $VO1, 198: $Vv1 }), { 78: [2, 1107] }, { 78: [2, 1108] }, { 134: $VR, 135: $VS }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 947, 152: $V$, 154: $V01, 156: $VL, 158: 167, 164: [1, 949], 179: $V11, 180: $V21, 181: $V31, 185: [1, 948], 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 950, 4: $V2, 5: $V3, 149: $V14, 180: [1, 952] }, o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 416], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o($V24, [2, 417], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V24, [2, 418], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V34, [2, 419], { 114: 625, 327: 637, 316: $Vj2 }), o($V34, [2, 420], { 114: 625, 327: 637, 316: $Vj2 }), o($Vz2, [2, 365]), o($Vz2, [2, 1113]), o($Vz2, [2, 1114]), o($Vz2, [2, 366]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 362]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 953, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD2, [2, 620]), o($VD2, [2, 621]), o($VD2, [2, 622]), o($VD2, [2, 623]), o($VD2, [2, 625]), { 40: 954, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 304: 955, 307: 677, 308: $VC2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 305: 956, 306: $V44, 307: 957, 308: $VC2, 310: $V54 }, o($V64, [2, 372]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 959, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 960, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 961, 387: 878, 389: $VY3 }, o($VD2, [2, 626]), { 74: [1, 963], 300: [1, 962] }, o($VD2, [2, 642]), o($V74, [2, 649]), o($V84, [2, 627]), o($V84, [2, 628]), o($V84, [2, 629]), o($V84, [2, 630]), o($V84, [2, 631]), o($V84, [2, 632]), o($V84, [2, 633]), o($V84, [2, 634]), o($V84, [2, 635]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 964, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o([2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy2, { 77: $VN1, 116: $V94 }), { 74: $Vx3, 300: [1, 966] }, o($Va4, [2, 314], { 77: $VN1 }), o($VB1, [2, 315]), { 74: [1, 968], 426: [1, 967] }, o($VD2, [2, 639]), o($Vb4, [2, 644]), { 152: [1, 969] }, { 152: [1, 970] }, { 152: [1, 971] }, { 40: 976, 77: [1, 975], 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 972, 342: 973, 343: [1, 974], 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $Vu1, { 340: 981, 198: $Vv1 }), { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 341: 982, 342: 983, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, { 230: [1, 986], 455: 985 }, { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 987, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 231: [2, 696] }, { 78: [1, 988] }, o($VI2, [2, 1093], { 211: 989, 3: 990, 2: $V1, 4: $V2, 5: $V3 }), o($VH2, [2, 1092]), o($VI2, [2, 183]), { 2: $V1, 3: 991, 4: $V2, 5: $V3 }, { 212: [1, 992] }, o($VI2, [2, 187]), { 2: $V1, 3: 993, 4: $V2, 5: $V3 }, o($VI2, [2, 191]), { 2: $V1, 3: 994, 4: $V2, 5: $V3 }, o($VI2, [2, 195]), { 2: $V1, 3: 995, 4: $V2, 5: $V3 }, o($VI2, [2, 198]), { 2: $V1, 3: 996, 4: $V2, 5: $V3 }, { 2: $V1, 3: 997, 4: $V2, 5: $V3 }, { 148: [1, 998] }, o($Vf4, [2, 172], { 82: 999, 183: [1, 1000] }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 132: [1, 1005], 143: $VY, 145: [1, 1006], 152: $V$, 156: $VL, 181: $V31, 199: 1001, 200: 1002, 201: 1003, 202: 1004, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 109: 1007, 110: 1008, 111: 1009, 112: $Vg4 }, o($VO2, [2, 1058]), o($Vh4, [2, 1049], { 91: 1012, 182: 1013, 183: [1, 1014] }), o($VA1, [2, 1048], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o([2, 4, 5, 10, 72, 74, 76, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 90], { 77: [1, 1019] }), { 119: [1, 1020] }, o($Vl4, [2, 93]), { 2: $V1, 3: 1021, 4: $V2, 5: $V3 }, o($Vl4, [2, 95]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1022, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1023, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1025, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 125: 1024, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1026] }, { 77: [1, 1027] }, { 77: [1, 1028] }, { 77: [1, 1029] }, o($Vl4, [2, 104]), o($Vl4, [2, 105]), o($Vl4, [2, 106]), o($Vl4, [2, 107]), o($Vl4, [2, 108]), o($Vl4, [2, 109]), { 2: $V1, 3: 1030, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1031, 4: $V2, 5: $V3, 133: [1, 1032] }, o($Vl4, [2, 113]), o($Vl4, [2, 114]), o($Vl4, [2, 115]), o($Vl4, [2, 116]), o($Vl4, [2, 117]), o($Vl4, [2, 118]), { 2: $V1, 3: 1033, 4: $V2, 5: $V3, 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, { 145: [1, 1034] }, { 77: [1, 1035] }, { 145: [1, 1036] }, o($Vl4, [2, 123]), { 77: [1, 1037] }, { 2: $V1, 3: 1038, 4: $V2, 5: $V3 }, { 77: [1, 1039] }, { 77: [1, 1040] }, { 77: [1, 1041] }, { 77: [1, 1042] }, { 77: [1, 1043], 164: [1, 1044] }, { 77: [1, 1045] }, { 77: [1, 1046] }, { 77: [1, 1047] }, { 77: [1, 1048] }, { 77: [1, 1049] }, { 77: [1, 1050] }, { 77: [1, 1051] }, { 77: [1, 1052] }, { 77: [1, 1053] }, { 77: [2, 1073] }, { 77: [2, 1074] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1054 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1055 }, { 113: 1056, 132: $VW, 296: $Vj1 }, o($VK, [2, 596], { 112: [1, 1057] }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1058 }, { 113: 1059, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 1060, 4: $V2, 5: $V3 }, o($VK, [2, 693]), o($VK, [2, 68]), { 2: $V1, 3: 236, 4: $V2, 5: $V3, 75: 1061 }, { 77: [1, 1062] }, o($VK, [2, 674]), o($VK, [2, 586]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1063, 336: 1064, 337: 1066 }, { 144: 1069, 145: $VC1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 671]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1070, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VZ3, $V_3, { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 1071, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 113: 1072, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 266, 4: $V2, 5: $V3, 446: 1073, 447: $VE1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1075, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 230: $VA3, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1, 429: 1074, 433: $VB3 }, o($VK, [2, 651]), { 114: 1077, 115: $V$1, 116: $V02, 124: [1, 1076] }, o($VK, [2, 663]), o($VK, [2, 664]), { 2: $V1, 3: 1079, 4: $V2, 5: $V3, 77: $Vo4, 131: $Vp4, 432: 1078 }, { 114: 807, 115: $V$1, 116: $V02, 124: [1, 1082], 430: 1083 }, o($VK, [2, 753], { 74: $VC3 }), { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 1084 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1085, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1086, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1087, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VF3, [2, 151]), o($VF3, [2, 1088], { 74: $Vq4 }), o($Vr4, [2, 273]), o($Vr4, [2, 280], { 114: 625, 327: 637, 3: 1090, 113: 1092, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1089], 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 131: [1, 1091], 132: $VW, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 296: $Vj1, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VH1, [2, 1089], { 197: 1093, 765: [1, 1094] }), { 131: $VV, 196: 1095 }, { 74: $VC3, 78: [1, 1096] }, o($VJ, [2, 11]), { 148: [1, 1097], 190: [1, 1098] }, { 190: [1, 1099] }, { 190: [1, 1100] }, { 190: [1, 1101] }, o($VK, [2, 575], { 76: [1, 1103], 77: [1, 1102] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1104, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vz2, [2, 346]), o($VE3, [2, 1112]), o($VE3, [2, 1109]), o($VE3, [2, 1110]), { 74: $Vx3, 78: [1, 1105] }, { 74: $Vx3, 78: [1, 1106] }, { 74: [1, 1107] }, { 74: [1, 1108] }, { 74: [1, 1109] }, { 74: [1, 1110] }, o($Vz2, [2, 353]), o($VK, [2, 580]), { 298: [1, 1111] }, { 2: $V1, 3: 1112, 4: $V2, 5: $V3, 113: 1113, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1114 }, { 230: [1, 1115] }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 474: 1116, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, o($VK, [2, 730], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VD3, [2, 1145], { 477: 1117, 483: 1118, 76: $Vs4 }), o($VJ3, [2, 1144]), { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 144: 1121, 145: $VC1, 152: $VT1, 419: 190, 420: $Vr1, 424: $Vs1, 475: 1120, 493: 579, 497: 581 }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1123, 482: 582, 493: 579, 497: 581 }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 473: 1125, 474: 575, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, o($VN3, [2, 1163], { 491: 1126, 132: [1, 1127] }), o($VL3, [2, 1162]), o($VO3, [2, 1169], { 495: 1128, 497: 1129, 152: $VT1 }), o($VN3, [2, 1168]), o($VO3, [2, 746]), o($VO3, [2, 1172]), o($VL3, [2, 749]), o($VL3, [2, 750]), o($VO3, [2, 748]), o($VP3, [2, 740]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1130 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1131 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1132, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt4, [2, 1139], { 467: 1133, 113: 1134, 132: $VW, 296: $Vj1 }), o($VQ3, [2, 1138]), { 2: $V1, 3: 1135, 4: $V2, 5: $V3 }, { 335: $Vu4, 338: $Vv4, 339: $Vw4, 511: 1136 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1140 }, o($VR3, [2, 765]), o($VR3, [2, 766]), o($VR3, [2, 767]), { 129: [1, 1141] }, { 266: [1, 1142] }, { 266: [1, 1143] }, o($VV1, [2, 688]), o($VV1, [2, 689], { 124: [1, 1144] }), { 4: $VX3, 7: 879, 272: 1145, 387: 878, 389: $VY3 }, o([2, 4, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 542], { 5: [1, 1146] }), o([2, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 539], { 4: [1, 1148], 77: [1, 1147] }), { 77: [1, 1149] }, o($Vx4, [2, 4]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1150, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 588]), o($VH3, [2, 568]), { 2: $V1, 3: 1151, 4: $V2, 5: $V3, 113: 1152, 132: $VW, 296: $Vj1 }, o($VK, [2, 564], { 74: $Vy4 }), o($VV1, [2, 566]), o($VK, [2, 613], { 74: $Vy4 }), o($VK, [2, 668]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1154, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($Vz4, [2, 376], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($V34, [2, 377], { 114: 625, 327: 637, 316: $Vj2 }), o($Vz4, [2, 378], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VA4, [2, 379], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 314: [1, 1155], 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VA4, [2, 381], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 314: [1, 1156], 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 383], { 114: 625, 327: 637 }), o($V24, [2, 384], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V24, [2, 385], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 386], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 387], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 388], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 389], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VC4, [2, 390], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 391], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 392], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 393], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($Va4, [2, 394], { 77: $VN1 }), o($VB1, [2, 395]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1157, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 397]), o($Va4, [2, 398], { 77: $VN1 }), o($VB1, [2, 399]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1158, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 401]), o($VD4, [2, 402], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 403], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 404], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 405], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 89, 99, 124, 139, 140, 146, 154, 156, 170, 171, 189, 266, 267, 290, 306, 310, 320, 321, 322, 323, 324, 325, 326, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VE4, { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 407], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 408], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 409], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 410], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 411], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), { 77: [1, 1159] }, { 77: [2, 446] }, { 77: [2, 447] }, { 77: [2, 448] }, o($VF4, [2, 414], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 156, 162, 164, 166, 168, 169, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 415], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1160, 56: 165, 77: $VU, 78: [1, 1162], 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1161, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 428]), o($VB1, [2, 430]), o($VB1, [2, 437]), o($VB1, [2, 438]), { 2: $V1, 3: 667, 4: $V2, 5: $V3, 77: [1, 1163] }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: [1, 1164], 111: 934, 145: $V$3, 156: $VL, 200: 935, 202: 1166, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 329: 1165 }, o($VB1, [2, 435]), o($VF4, [2, 432], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o($VF4, [2, 433], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 434], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 436]), o($VB1, [2, 306]), o($VB1, [2, 307]), o($VB1, [2, 308]), o($VB1, [2, 421]), { 74: $Vx3, 78: [1, 1167] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1168, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1169, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, $VG4), o($VH4, [2, 286]), o($VB1, [2, 282]), { 78: [1, 1171], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1172] }, { 305: 1173, 306: $V44, 307: 957, 308: $VC2, 310: $V54 }, { 306: [1, 1174] }, o($V64, [2, 371]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1175, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1176], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 76: [1, 1177], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1178] }, o($VD2, [2, 640]), { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 300: [1, 1179], 302: $Vn1, 419: 190, 420: $Vr1, 422: 1180, 423: 686, 424: $Vs1 }, { 78: [1, 1181], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1182, 4: $V2, 5: $V3, 149: $V14 }, o($VB1, [2, 364]), o($VD2, [2, 637]), { 2: $V1, 3: 704, 4: $V2, 5: $V3, 131: $VF2, 132: $VG2, 426: [1, 1183], 428: 1184 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1185, 423: 686, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1186, 423: 686, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1187, 423: 686, 424: $Vs1 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1188, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 458], { 74: $VJ4 }), { 149: $Vc4, 341: 1190, 344: $Vd4 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 100: 1191, 111: 1193, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1192, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 466]), o($VK4, [2, 469]), o($VK4, [2, 470]), o($VL4, [2, 474]), o($VL4, [2, 475]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1195 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1196, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 462], { 74: $VJ4 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1192, 419: 190, 420: $Vr1, 424: $Vs1 }, { 308: $VM4, 456: 1197, 458: 1198, 459: 1199 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1201, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 230: [2, 697] }, o($VI2, [2, 181], { 3: 1202, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1203] }), o($VI2, [2, 182]), o($VI2, [2, 1094]), o($VI2, [2, 184]), o($VI2, [2, 186]), o($VI2, [2, 188]), o($VI2, [2, 192]), o($VI2, [2, 196]), o($VI2, [2, 199]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 118, 124, 128, 143, 145, 146, 148, 149, 152, 154, 156, 162, 168, 169, 181, 183, 187, 189, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 266, 267, 290, 297, 302, 306, 310, 335, 338, 339, 343, 344, 356, 368, 369, 373, 374, 396, 400, 401, 402, 403, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 514, 515, 516, 517, 602, 764], [2, 201]), { 2: $V1, 3: 1204, 4: $V2, 5: $V3 }, o($VN4, [2, 1045], { 83: 1205, 92: 1206, 93: [1, 1207], 98: [1, 1208] }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: [1, 1210], 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 203: 1209, 209: 1211, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VL2, [2, 164]), o($VL2, [2, 165]), o($VL2, [2, 166]), o($VL2, [2, 167]), o($VL2, [2, 168]), { 2: $V1, 3: 667, 4: $V2, 5: $V3 }, o($Vz1, [2, 83], { 74: [1, 1212] }), o($VO4, [2, 85]), o($VO4, [2, 86]), { 113: 1213, 132: $VW, 296: $Vj1 }, o([10, 72, 74, 78, 93, 98, 118, 124, 128, 162, 168, 169, 183, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vy2, { 116: $V94 }), o($Vh4, [2, 73]), o($Vh4, [2, 1050]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1214, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 126]), o($Vl4, [2, 144]), o($Vl4, [2, 145]), o($Vl4, [2, 146]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 78: [2, 1065], 94: 260, 111: 149, 113: 153, 127: 1215, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1216, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1217] }, o($Vl4, [2, 94]), o([2, 4, 5, 10, 72, 74, 76, 77, 78, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 96], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o([2, 4, 5, 10, 72, 74, 76, 77, 78, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 97], { 114: 625, 327: 637, 99: $VZ1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1218], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1219, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VP4, [2, 1061], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1221, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 126: 1220, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1222, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1223, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1224, 4: $V2, 5: $V3 }, o($Vl4, [2, 110]), o($Vl4, [2, 111]), o($Vl4, [2, 112]), o($Vl4, [2, 119]), { 2: $V1, 3: 1225, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1226, 336: 1064, 337: 1066 }, { 2: $V1, 3: 1227, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1228, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 125]), o($VP4, [2, 1067], { 155: 1229 }), o($VP4, [2, 1069], { 157: 1230 }), o($VP4, [2, 1071], { 159: 1231 }), o($VP4, [2, 1075], { 161: 1232 }), o($VQ4, $VR4, { 163: 1233, 178: 1234 }), { 77: [1, 1235] }, o($VP4, [2, 1077], { 165: 1236 }), o($VP4, [2, 1079], { 167: 1237 }), o($VQ4, $VR4, { 178: 1234, 163: 1238 }), o($VQ4, $VR4, { 178: 1234, 163: 1239 }), o($VQ4, $VR4, { 178: 1234, 163: 1240 }), o($VQ4, $VR4, { 178: 1234, 163: 1241 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1242, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1243, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VS4, [2, 1081], { 176: 1244 }), o($VK, [2, 606], { 183: [1, 1245] }), o($VK, [2, 602], { 183: [1, 1246] }), o($VK, [2, 595]), { 113: 1247, 132: $VW, 296: $Vj1 }, o($VK, [2, 604], { 183: [1, 1248] }), o($VK, [2, 599]), o($VK, [2, 600], { 112: [1, 1249] }), o($Vv3, [2, 69]), { 40: 1250, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VK, [2, 450], { 74: $VT4, 128: [1, 1251] }), o($VU4, [2, 451]), { 124: [1, 1253] }, { 2: $V1, 3: 1254, 4: $V2, 5: $V3 }, o($Vt1, [2, 1115]), o($Vt1, [2, 1116]), o($VK, [2, 618]), o($Vy3, [2, 355], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VD4, $VE4, { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VV1, [2, 682]), o($VV1, [2, 684]), o($VK, [2, 650]), o($VK, [2, 652], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1255, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1079, 4: $V2, 5: $V3, 77: $Vo4, 131: $Vp4, 432: 1256 }, o($VV4, [2, 659]), o($VV4, [2, 660]), o($VV4, [2, 661]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1257, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1258, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 114: 1077, 115: $V$1, 116: $V02, 124: [1, 1259] }, o($VD3, [2, 755]), o($VF3, [2, 148], { 74: $Vq4 }), o($VF3, [2, 149], { 74: $Vq4 }), o($VF3, [2, 150], { 74: $Vq4 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 1260, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1261, 4: $V2, 5: $V3, 113: 1263, 131: [1, 1262], 132: $VW, 296: $Vj1 }, o($Vr4, [2, 275]), o($Vr4, [2, 277]), o($Vr4, [2, 279]), o($VH1, [2, 160]), o($VH1, [2, 1090]), { 78: [1, 1264] }, o($VK1, [2, 758]), { 2: $V1, 3: 1265, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1266, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 384: 1267 }, { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 384: 1269 }, { 2: $V1, 3: 1270, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1271, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1272, 4: $V2, 5: $V3 }, { 74: $Vx3, 78: [1, 1273] }, o($Vz2, [2, 347]), o($Vz2, [2, 348]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1274, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1275, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1276, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1277, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VH3, [2, 504]), o($VK, $VW4, { 407: 1278, 76: $VX4, 77: [1, 1279] }), o($VK, $VW4, { 407: 1281, 76: $VX4 }), { 77: [1, 1282] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1283 }, o($VD3, [2, 731]), o($VD3, [2, 733]), o($VD3, [2, 1146]), { 143: $VF1, 145: $VG1, 431: 1284 }, o($VY4, [2, 1147], { 419: 190, 479: 1285, 144: 1286, 145: $VC1, 420: $Vr1, 424: $Vs1 }), { 76: $Vs4, 139: [2, 1151], 481: 1287, 483: 1288 }, o([10, 74, 76, 78, 132, 139, 145, 152, 306, 310, 420, 424, 602, 764], $VM3, { 490: 851, 493: 852, 137: $VS1 }), o($VD3, [2, 736]), o($VD3, $VK3), { 74: $VI3, 78: [1, 1289] }, o($VO3, [2, 1165], { 492: 1290, 497: 1291, 152: $VT1 }), o($VN3, [2, 1164]), o($VO3, [2, 745]), o($VO3, [2, 1170]), o($VK, [2, 490], { 77: [1, 1292] }), { 76: [1, 1294], 77: [1, 1293] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 148: [1, 1295], 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VI4, $VZ4, { 79: 75, 184: 99, 468: 1296, 40: 1299, 89: $V7, 146: $V_4, 189: $Vb, 470: $V$4 }), o($Vt4, [2, 1140]), o($VQ3, [2, 723]), { 230: [1, 1300] }, o($V05, [2, 769]), o($V05, [2, 770]), o($V05, [2, 771]), o($VR3, $VS3, { 510: 1301, 95: $VT3, 514: $VU3, 515: $VV3, 516: $VW3 }), o($VR3, [2, 768]), o($VK, [2, 312]), o($VK, [2, 313]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1302, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VV1, [2, 690], { 124: [1, 1303] }), o($Vx4, [2, 541]), { 131: [1, 1305], 388: 1304, 390: [1, 1306] }, o($Vx4, [2, 5]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1307, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 455], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 589]), o($VK, [2, 590]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1308 }, o($VK, [2, 670]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1309, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1310, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1311], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1312], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1313, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1314, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1315] }, { 74: $Vx3, 78: [1, 1316] }, o($VB1, [2, 426]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1317, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1318, 56: 165, 77: $VU, 78: [1, 1320], 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1319, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 429]), o($VB1, [2, 431]), o($VB1, $V15, { 275: 1321, 276: $V25 }), { 78: [1, 1323], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1324], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1325, 4: $V2, 5: $V3, 180: [1, 1326] }, o($VD2, [2, 619]), o($VB1, [2, 363]), { 306: [1, 1327] }, o($VB1, [2, 370]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 306: [2, 374], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1328, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 1329, 387: 878, 389: $VY3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1330, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD2, [2, 641]), o($V74, [2, 648]), o($V84, [2, 636]), o($VH4, $VG4), o($VD2, [2, 638]), o($Vb4, [2, 643]), o($Vb4, [2, 645]), o($Vb4, [2, 646]), o($Vb4, [2, 647]), o($VI4, [2, 457], { 74: $VJ4 }), { 77: [1, 1332], 143: $VY, 144: 1333, 145: $VC1, 152: $V$, 181: $V31, 201: 1334, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 463]), { 74: $V35, 78: [1, 1335] }, { 74: $V45, 78: [1, 1337] }, o([74, 78, 99, 112, 115, 116, 123, 124, 133, 136, 138, 139, 140, 141, 142, 154, 170, 171, 179, 180, 311, 312, 313, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333], $V55), o($V65, [2, 479], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 40: 1341, 77: $Ve4, 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 1339, 342: 1340, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 461], { 74: $VJ4 }), o($VK, [2, 717], { 457: 1342, 458: 1343, 459: 1344, 308: $VM4, 464: [1, 1345] }), o($V75, [2, 701]), o($V75, [2, 702]), { 154: [1, 1347], 460: [1, 1346] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 308: [2, 698], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VI2, [2, 179]), { 2: $V1, 3: 1348, 4: $V2, 5: $V3 }, o($VK, [2, 574]), o($V85, [2, 238], { 84: 1349, 128: [1, 1350] }), o($VN4, [2, 1046]), { 77: [1, 1351] }, { 77: [1, 1352] }, o($Vf4, [2, 169], { 204: 1353, 215: 1355, 205: 1356, 216: 1357, 221: 1360, 74: $V95, 206: $Va5, 208: $Vb5, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 40: 711, 77: $Vw1, 79: 75, 89: $V7, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 184: 99, 189: $Vb, 199: 213, 200: 215, 201: 214, 202: 217, 203: 1369, 209: 1211, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vk5, [2, 177]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 110: 1370, 111: 1009, 112: $Vg4 }, o($VO4, [2, 87]), o($Vh4, [2, 147], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 78: [1, 1371] }, { 74: $Vx3, 78: [2, 1066] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 78: [2, 1059], 94: 1376, 111: 149, 113: 153, 120: 1372, 121: 1373, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 242: [1, 1375], 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 98]), o($VP4, [2, 1062], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1377], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1378, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VP4, [2, 1063], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 78: [1, 1379], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1380], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1381] }, o($Vl4, [2, 120]), { 74: $VT4, 78: [1, 1382] }, o($Vl4, [2, 122]), { 74: $Vx3, 78: [1, 1383] }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1384], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1385, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1386], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1387, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1388], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1389, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1390], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1391, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vl5, 78: [1, 1392] }, o($V65, [2, 143], { 419: 190, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 117: 1394, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), o($VQ4, $VR4, { 178: 1234, 163: 1395 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1396], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1397, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1398], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1399, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vl5, 78: [1, 1400] }, { 74: $Vl5, 78: [1, 1401] }, { 74: $Vl5, 78: [1, 1402] }, { 74: $Vl5, 78: [1, 1403] }, { 78: [1, 1404], 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }, { 74: $Vq4, 78: [1, 1405] }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 74: [1, 1406], 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1407, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1408, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1409, 4: $V2, 5: $V3 }, o($VK, [2, 597]), { 2: $V1, 3: 1410, 4: $V2, 5: $V3 }, { 113: 1411, 132: $VW, 296: $Vj1 }, { 78: [1, 1412] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1413, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 336: 1414, 337: 1066 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1415, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 124: [1, 1416] }, o($VK, [2, 653], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VV4, [2, 658]), { 78: [1, 1417], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, [2, 654], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1418, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vr4, [2, 272]), o($Vr4, [2, 274]), o($Vr4, [2, 276]), o($Vr4, [2, 278]), o($VH1, [2, 161]), o($VK, [2, 569]), { 148: [1, 1419] }, o($VK, [2, 570]), o($VD3, [2, 536], { 387: 878, 7: 879, 272: 1420, 4: $VX3, 386: [1, 1421], 389: $VY3 }), o($VK, [2, 571]), o($VK, [2, 573]), { 74: $Vx3, 78: [1, 1422] }, o($VK, [2, 577]), o($Vz2, [2, 345]), { 74: [1, 1423], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1424], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1425], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1426], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, [2, 581]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1427, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1428, 4: $V2, 5: $V3 }, o($VK, [2, 583]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1429, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1430] }, { 2: $V1, 3: 1431, 4: $V2, 5: $V3 }, { 76: $Vs4, 139: [2, 1149], 480: 1432, 483: 1433 }, o($VY4, [2, 1148]), { 139: [1, 1434] }, { 139: [2, 1152] }, o($VD3, [2, 737]), o($VO3, [2, 744]), o($VO3, [2, 1166]), { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 76: [1, 1437], 351: 1435, 358: 1436, 384: 1438 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1439, 111: 1440 }, { 40: 1441, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1442, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 722]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1443, 336: 1064, 337: 1066 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1444, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 727]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1445 }, { 335: $Vu4, 338: $Vv4, 339: $Vw4, 511: 1446 }, o($VV1, [2, 691], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1447, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: [1, 1448], 78: [1, 1449] }, o($V65, [2, 543]), o($V65, [2, 544]), { 74: $V45, 78: [1, 1450] }, o($VV1, [2, 565]), o($Vz4, [2, 380], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($Vz4, [2, 382], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 396]), o($VB1, [2, 400]), { 78: [1, 1451] }, { 74: $Vx3, 78: [1, 1452] }, o($VB1, [2, 422]), o($VB1, [2, 424]), { 78: [1, 1453], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1454] }, { 74: $Vx3, 78: [1, 1455] }, o($VB1, [2, 427]), o($VB1, [2, 327]), { 77: [1, 1456] }, o($VB1, $V15, { 275: 1457, 276: $V25 }), o($VB1, $V15, { 275: 1458, 276: $V25 }), o($VH4, [2, 284]), o($VB1, [2, 281]), o($VB1, [2, 369]), o($V64, [2, 373], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 74: [1, 1460], 78: [1, 1459] }, { 74: [1, 1462], 78: [1, 1461], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1325, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1463, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VL4, [2, 477]), o($VL4, [2, 478]), { 40: 1466, 77: $Ve4, 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 1464, 342: 1465, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1467 }, o($VL4, [2, 473]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1468, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1469, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 460], { 74: $VJ4 }), o($VI4, [2, 467]), o($VK, [2, 694]), o($V75, [2, 699]), o($V75, [2, 700]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1470, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 170: [1, 1472], 309: [1, 1471] }, { 460: [1, 1473] }, o($VI2, [2, 180]), o($Vm5, [2, 240], { 85: 1474, 232: [1, 1475] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1476, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1477, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1478, 4: $V2, 5: $V3 }, o($Vf4, [2, 170], { 216: 1357, 221: 1360, 215: 1479, 205: 1480, 206: $Va5, 208: $Vb5, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 1481, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vn5, [2, 205]), o($Vn5, [2, 206]), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: [1, 1486], 143: $VY, 144: 1484, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 1483, 200: 1487, 201: 1485, 202: 1488, 217: 1482, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 207: [1, 1489], 223: $Vo5 }, { 207: [1, 1491], 223: $Vp5 }, o($Vq5, [2, 222]), { 206: [1, 1495], 208: [1, 1494], 221: 1493, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($Vq5, [2, 224]), { 223: [1, 1496] }, { 208: [1, 1498], 223: [1, 1497] }, { 208: [1, 1500], 223: [1, 1499] }, { 208: [1, 1501] }, { 223: [1, 1502] }, { 223: [1, 1503] }, { 74: $V95, 204: 1504, 205: 1356, 206: $Va5, 208: $Vb5, 215: 1355, 216: 1357, 221: 1360, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($VO4, [2, 84]), o($Vl4, [2, 100]), { 74: $Vr5, 78: [1, 1505] }, { 78: [1, 1507] }, o($Vs5, [2, 261]), { 78: [2, 1060] }, o($Vs5, [2, 263], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 242: [1, 1508], 243: [1, 1509], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($Vl4, [2, 99]), o($VP4, [2, 1064], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 101]), o($Vl4, [2, 102]), o($Vl4, [2, 103]), o($Vl4, [2, 121]), o($Vl4, [2, 124]), o($Vl4, [2, 127]), o($VP4, [2, 1068], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 128]), o($VP4, [2, 1070], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 129]), o($VP4, [2, 1072], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 130]), o($VP4, [2, 1076], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 131]), o($VQ4, [2, 1083], { 177: 1510 }), o($VQ4, [2, 1086], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 74: $Vl5, 78: [1, 1511] }, o($Vl4, [2, 133]), o($VP4, [2, 1078], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 134]), o($VP4, [2, 1080], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 135]), o($Vl4, [2, 136]), o($Vl4, [2, 137]), o($Vl4, [2, 138]), o($Vl4, [2, 139]), o($Vl4, [2, 140]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1512, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VS4, [2, 1082], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($VK, [2, 607]), o($VK, [2, 603]), o($VK, [2, 605]), o($VK, [2, 601]), o($Vv3, [2, 71]), o($VK, [2, 449], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VU4, [2, 452]), o($VU4, [2, 453], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1513, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VV4, [2, 662]), o($VK, [2, 655], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 1514, 4: $V2, 5: $V3 }, o($VD3, [2, 545], { 385: 1515, 391: 1516, 392: 1517, 366: 1525, 154: $Vt5, 187: $Vu5, 230: $Vv5, 297: $Vw5, 343: $Vx5, 356: $Vy5, 368: $Vz5, 369: $VA5, 373: $VB5, 374: $VC5 }), o($VD3, [2, 535]), o($VK, [2, 576], { 76: [1, 1529] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1530, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1531, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1532, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1533, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vx3, 78: [1, 1534] }, o($VK, [2, 585]), { 74: $Vr5, 78: [1, 1535] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1536, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o([10, 74, 78, 139, 306, 310, 602, 764], [2, 741]), { 139: [1, 1537] }, { 139: [2, 1150] }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1538, 482: 582, 493: 579, 497: 581 }, { 78: [1, 1539] }, { 74: [1, 1540], 78: [2, 506] }, { 40: 1541, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($V65, [2, 532]), { 74: $V35, 78: [1, 1542] }, o($Vk5, $V55), o($VK, [2, 1133], { 412: 1543, 413: 1544, 72: $VD5 }), o($VI4, $VZ4, { 79: 75, 184: 99, 114: 625, 327: 637, 40: 1299, 468: 1546, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V_4, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 470: $V$4 }), o($VI4, [2, 725], { 74: $VT4 }), o($VI4, [2, 726], { 74: $Vx3 }), o([10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], [2, 1181], { 512: 1547, 3: 1548, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1549] }), o($VE5, [2, 1183], { 513: 1550, 76: [1, 1551] }), o($VV1, [2, 692], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 131: [1, 1552] }, o($Vx4, [2, 538]), o($Vx4, [2, 540]), o($VB1, [2, 412]), o($VB1, [2, 413]), o($VB1, [2, 439]), o($VB1, [2, 423]), o($VB1, [2, 425]), { 118: $VF5, 277: 1553, 278: 1554, 279: [1, 1555] }, o($VB1, [2, 328]), o($VB1, [2, 329]), o($VB1, [2, 316]), { 131: [1, 1557] }, o($VB1, [2, 318]), { 131: [1, 1558] }, { 74: $V45, 78: [1, 1559] }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1560, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 465], { 74: $VJ4 }), o($VI4, [2, 468]), o($Vk5, [2, 488]), o($V65, [2, 480], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VI4, [2, 459], { 74: $VJ4 }), o($VK, [2, 718], { 74: $Vq4, 198: [1, 1561] }), { 335: $VG5, 338: $VH5, 461: 1562 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1565, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 119: [1, 1567], 170: [1, 1568], 309: [1, 1566] }, o($VI5, [2, 259], { 86: 1569, 118: [1, 1570] }), { 119: [1, 1571] }, o($V85, [2, 239], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 95: [1, 1572], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 95: [1, 1573] }, o($Vn5, [2, 203]), o($Vn5, [2, 204]), o($Vk5, [2, 178]), o($Vn5, [2, 237], { 218: 1574, 230: [1, 1575], 231: [1, 1576] }), o($VJ5, [2, 208], { 3: 1577, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1578] }), o($VK5, [2, 1095], { 219: 1579, 76: [1, 1580] }), { 2: $V1, 3: 1581, 4: $V2, 5: $V3, 76: [1, 1582] }, { 40: 1583, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VJ5, [2, 216], { 3: 1584, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1585] }), o($VJ5, [2, 219], { 3: 1586, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1587] }), { 77: [1, 1588] }, o($Vq5, [2, 234]), { 77: [1, 1589] }, o($Vq5, [2, 230]), o($Vq5, [2, 223]), { 223: $Vp5 }, { 223: $Vo5 }, o($Vq5, [2, 225]), o($Vq5, [2, 226]), { 223: [1, 1590] }, o($Vq5, [2, 228]), { 223: [1, 1591] }, { 223: [1, 1592] }, o($Vq5, [2, 232]), o($Vq5, [2, 233]), { 78: [1, 1593], 205: 1480, 206: $Va5, 208: $Vb5, 215: 1479, 216: 1357, 221: 1360, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($Vl4, [2, 91]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1594, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 92]), o($Vs5, [2, 264]), { 244: [1, 1595] }, o($V65, [2, 142], { 419: 190, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 117: 1596, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), o($Vl4, [2, 132]), { 74: $Vx3, 78: [1, 1597] }, o($VU4, [2, 454], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 572]), o($VD3, [2, 534]), o($VD3, [2, 546], { 366: 1525, 392: 1598, 154: $Vt5, 187: $Vu5, 230: $Vv5, 297: $Vw5, 343: $Vx5, 356: $Vy5, 368: $Vz5, 369: $VA5, 373: $VB5, 374: $VC5 }), o($Vw3, [2, 548]), { 370: [1, 1599] }, { 370: [1, 1600] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1601 }, o($Vw3, [2, 554], { 77: [1, 1602] }), { 2: $V1, 3: 114, 4: $V2, 5: $V3, 77: [1, 1604], 113: 251, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 1605, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 1603, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1 }, o($Vw3, [2, 558]), { 297: [1, 1606] }, o($Vw3, [2, 560]), o($Vw3, [2, 561]), { 335: [1, 1607] }, { 77: [1, 1608] }, { 2: $V1, 3: 1609, 4: $V2, 5: $V3 }, { 78: [1, 1610], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1611], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1612], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1613], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, $VW4, { 407: 1614, 76: $VX4 }), o($VK, [2, 591]), { 74: $Vr5, 78: [1, 1615] }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1616, 482: 582, 493: 579, 497: 581 }, o($VD3, [2, 735]), o($VK, [2, 493], { 352: 1617, 354: 1618, 355: 1619, 4: $VL5, 243: $VM5, 343: $VN5, 356: $VO5 }), o($VP5, $VQ5, { 3: 1268, 359: 1624, 384: 1625, 360: 1626, 361: 1627, 2: $V1, 4: $V2, 5: $V3, 367: $VR5 }), { 78: [2, 507] }, { 76: [1, 1629] }, o($VK, [2, 609]), o($VK, [2, 1134]), { 368: [1, 1631], 414: [1, 1630] }, o($VI4, [2, 728]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1632, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 762]), o($VE5, [2, 1182]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1633, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VE5, [2, 1184]), { 78: [1, 1634] }, { 78: [1, 1635], 118: $VF5, 278: 1636 }, { 78: [1, 1637] }, { 119: [1, 1638] }, { 119: [1, 1639] }, { 78: [1, 1640] }, { 78: [1, 1641] }, o($VL4, [2, 476]), o($VI4, [2, 464], { 74: $VJ4 }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 143: $VF1, 145: $VG1, 199: 1643, 431: 1642 }, o($V75, [2, 703]), o($V75, [2, 705]), { 146: [1, 1644] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1645], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 339: $VS5, 462: 1646 }, { 417: [1, 1649], 463: [1, 1648] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1650, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VT5, [2, 267], { 87: 1651, 245: [1, 1652], 247: [1, 1653] }), { 119: [1, 1654] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1655, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1661, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1662, 4: $V2, 5: $V3 }, o($Vn5, [2, 207]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1663, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1664, 111: 1440 }, o($VJ5, [2, 209]), { 2: $V1, 3: 1665, 4: $V2, 5: $V3 }, o($VJ5, [2, 1097], { 220: 1666, 3: 1667, 2: $V1, 4: $V2, 5: $V3 }), o($VK5, [2, 1096]), o($VJ5, [2, 212]), { 2: $V1, 3: 1668, 4: $V2, 5: $V3 }, { 78: [1, 1669] }, o($VJ5, [2, 217]), { 2: $V1, 3: 1670, 4: $V2, 5: $V3 }, o($VJ5, [2, 220]), { 2: $V1, 3: 1671, 4: $V2, 5: $V3 }, { 40: 1672, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 40: 1673, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vq5, [2, 227]), o($Vq5, [2, 229]), o($Vq5, [2, 231]), o($Vf4, [2, 171]), o($Vs5, [2, 262]), o($Vs5, [2, 265], { 242: [1, 1674] }), o($VQ4, [2, 1084], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 141]), o($Vw3, [2, 547]), o($Vw3, [2, 550]), { 374: [1, 1675] }, o($Vw3, [2, 1127], { 395: 1676, 393: 1677, 77: $VX5 }), { 131: $VV, 196: 1679 }, o($Vw3, [2, 555]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1680, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vw3, [2, 557]), o($Vw3, [2, 559]), { 2: $V1, 3: 114, 4: $V2, 5: $V3, 77: [1, 1682], 113: 251, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 255, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 1681, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1683, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 578]), o($Vz2, [2, 349]), o($Vz2, [2, 350]), o($Vz2, [2, 351]), o($Vz2, [2, 352]), o($VK, [2, 582]), o($VK, [2, 592]), o($VD3, [2, 734]), o($VK, [2, 489]), o($VK, [2, 494], { 355: 1684, 4: $VL5, 243: $VM5, 343: $VN5, 356: $VO5 }), o($VY5, [2, 496]), o($VY5, [2, 497]), { 124: [1, 1685] }, { 124: [1, 1686] }, { 124: [1, 1687] }, { 74: [1, 1688], 78: [2, 505] }, o($V65, [2, 533]), o($V65, [2, 508]), { 187: [1, 1696], 193: [1, 1697], 362: 1689, 363: 1690, 364: 1691, 365: 1692, 366: 1693, 368: $Vz5, 369: [1, 1694], 370: [1, 1698], 373: [1, 1695] }, { 2: $V1, 3: 1699, 4: $V2, 5: $V3 }, { 40: 1700, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 415: [1, 1701] }, { 416: [1, 1702] }, o($VK, [2, 761]), o($VK, [2, 763]), o($Vx4, [2, 537]), o($VB1, [2, 331]), { 78: [1, 1703] }, o($VB1, [2, 332]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1704, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1705, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 317]), o($VB1, [2, 319]), { 2: $V1, 3: 1706, 4: $V2, 5: $V3 }, o($VK, [2, 720], { 77: [1, 1707] }), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1708, 336: 1064, 337: 1066 }, { 335: $VG5, 338: $VH5, 461: 1709 }, o($V75, [2, 707]), { 77: [1, 1711], 343: [1, 1712], 344: [1, 1710] }, { 170: [1, 1714], 309: [1, 1713] }, { 170: [1, 1716], 309: [1, 1715] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1717], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vh4, [2, 250], { 88: 1718, 162: [1, 1719], 168: [1, 1721], 169: [1, 1720] }), { 131: $VV, 196: 1722 }, { 131: $VV, 196: 1723 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1724, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vm5, [2, 248], { 234: 1725, 74: $VZ5, 239: [1, 1727] }), o($V_5, [2, 242]), { 146: [1, 1728] }, { 77: [1, 1729] }, { 77: [1, 1730] }, o($V_5, [2, 247], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 78: [2, 1051], 96: 1731, 99: [1, 1733], 102: 1732 }, { 99: [1, 1734] }, o($Vn5, [2, 235], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($Vn5, [2, 236], { 74: $V35 }), o($VJ5, [2, 210]), o($VJ5, [2, 211]), o($VJ5, [2, 1098]), o($VJ5, [2, 213]), { 2: $V1, 3: 1735, 4: $V2, 5: $V3, 76: [1, 1736] }, o($VJ5, [2, 218]), o($VJ5, [2, 221]), { 78: [1, 1737] }, { 78: [1, 1738] }, o($Vs5, [2, 266]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1739 }, o($Vw3, [2, 552]), o($Vw3, [2, 1128]), { 2: $V1, 3: 1740, 4: $V2, 5: $V3 }, { 74: [1, 1741] }, { 78: [1, 1742], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vw3, [2, 562]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1743, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1744], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VY5, [2, 495]), { 2: $V1, 3: 1745, 4: $V2, 5: $V3 }, { 131: $VV, 196: 1746 }, { 2: $V1, 3: 1747, 4: $V2, 5: $V3 }, o($VP5, $VQ5, { 361: 1627, 360: 1748, 367: $VR5 }), o($VD3, [2, 510]), o($VD3, [2, 511]), o($VD3, [2, 512]), o($VD3, [2, 513]), o($VD3, [2, 514]), { 370: [1, 1749] }, { 370: [1, 1750] }, o($V$5, [2, 1121], { 382: 1751, 370: [1, 1752] }), { 2: $V1, 3: 1753, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1754, 4: $V2, 5: $V3 }, o($VP5, [2, 516]), o($VK, [2, 1131], { 411: 1755, 413: 1756, 72: $VD5 }), o($VK, [2, 610]), o($VK, [2, 611], { 367: [1, 1757] }), o($VB1, [2, 333]), o([78, 118], [2, 334], { 74: $VZ5 }), { 74: $Vr5, 78: [2, 335] }, o($VK, [2, 719]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1758, 111: 1440 }, o($V75, [2, 706], { 74: $VT4 }), o($V75, [2, 704]), { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1759, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1760, 111: 1440 }, { 344: [1, 1761] }, { 339: $VS5, 462: 1762 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1763, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 339: $VS5, 462: 1764 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1765, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 339: $VS5, 462: 1766 }, o($Vh4, [2, 72]), { 40: 1767, 79: 75, 89: $V7, 164: [1, 1768], 184: 99, 189: $Vb, 240: [1, 1769] }, { 40: 1770, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1771] }, { 40: 1772, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1773] }, o($VT5, [2, 270], { 246: 1774, 247: [1, 1775] }), { 248: 1776, 249: [2, 1099], 766: [1, 1777] }, o($VI5, [2, 260], { 74: $Vr5 }), o($Vm5, [2, 241]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 235: 1778, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1779, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1780] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1781, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1782, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1783] }, { 78: [2, 1052] }, { 77: [1, 1784] }, { 77: [1, 1785] }, o($VJ5, [2, 214]), { 2: $V1, 3: 1786, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1787, 4: $V2, 5: $V3, 76: [1, 1788] }, { 2: $V1, 3: 1789, 4: $V2, 5: $V3, 76: [1, 1790] }, o($Vw3, [2, 1125], { 394: 1791, 393: 1792, 77: $VX5 }), { 78: [1, 1793] }, { 131: $VV, 196: 1794 }, o($Vw3, [2, 556]), { 78: [1, 1795], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vw3, [2, 517]), o($VY5, [2, 498]), o($VY5, [2, 499]), o($VY5, [2, 500]), o($V65, [2, 509]), { 2: $V1, 3: 1797, 4: $V2, 5: $V3, 77: [2, 1117], 371: 1796 }, { 77: [1, 1798] }, { 2: $V1, 3: 1800, 4: $V2, 5: $V3, 77: [2, 1123], 383: 1799 }, o($V$5, [2, 1122]), { 77: [1, 1801] }, { 77: [1, 1802] }, o($VK, [2, 608]), o($VK, [2, 1132]), o($VP5, $VQ5, { 361: 1627, 360: 1803, 367: $VR5 }), { 74: $V35, 78: [1, 1804] }, o($V75, [2, 713], { 74: $VJ4 }), { 74: $V35, 78: [1, 1805] }, o($V75, [2, 715]), o($V75, [2, 708]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1806], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($V75, [2, 711]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1807], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($V75, [2, 709]), o($Vh4, [2, 251]), { 40: 1808, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1809] }, { 40: 1810, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 253]), { 40: 1811, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 254]), { 40: 1812, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VT5, [2, 268]), { 131: $VV, 196: 1813 }, { 249: [1, 1814] }, { 249: [2, 1100] }, o($V_5, [2, 243]), o($Vm5, [2, 249], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1815, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $VZ5, 78: [1, 1816] }, { 74: $VZ5, 78: [1, 1817] }, o($VN4, [2, 1053], { 97: 1818, 104: 1819, 3: 1821, 2: $V1, 4: $V2, 5: $V3, 76: $V06 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1824, 103: 1822, 105: 1823, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1825, 111: 1440 }, o($VJ5, [2, 215]), o($Vn5, [2, 173]), { 2: $V1, 3: 1826, 4: $V2, 5: $V3 }, o($Vn5, [2, 175]), { 2: $V1, 3: 1827, 4: $V2, 5: $V3 }, o($Vw3, [2, 551]), o($Vw3, [2, 1126]), o($Vw3, [2, 549]), { 78: [1, 1828] }, o($Vw3, [2, 563]), { 77: [1, 1829] }, { 77: [2, 1118] }, { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1830 }, { 77: [1, 1833] }, { 77: [2, 1124] }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1834, 111: 1440 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1835, 111: 1440 }, o($VK, [2, 612]), o($VK, [2, 721]), { 343: [1, 1837], 344: [1, 1836] }, { 339: $VS5, 462: 1838 }, { 335: $VG5, 338: $VH5, 461: 1839 }, o($Vh4, [2, 252]), { 40: 1840, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 255]), o($Vh4, [2, 257]), o($Vh4, [2, 258]), o($VT5, [2, 271]), { 131: [2, 1101], 250: 1841, 645: [1, 1842] }, { 74: $VZ5, 78: [1, 1843] }, o($V_5, [2, 245]), o($V_5, [2, 246]), o($VN4, [2, 74]), o($VN4, [2, 1054]), { 2: $V1, 3: 1844, 4: $V2, 5: $V3 }, o($VN4, [2, 78]), { 74: [1, 1846], 78: [1, 1845] }, o($V65, [2, 80]), o($V65, [2, 81], { 114: 625, 327: 637, 76: [1, 1847], 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 74: $V35, 78: [1, 1848] }, o($Vn5, [2, 174]), o($Vn5, [2, 176]), o($Vw3, [2, 553]), { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1849 }, { 74: $V26, 78: [1, 1850] }, o($V65, [2, 528]), o($V65, [2, 529]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1852, 111: 1440 }, { 74: $V35, 78: [1, 1853] }, { 74: $V35, 78: [1, 1854] }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1855, 419: 190, 420: $Vr1, 424: $Vs1 }, { 344: [1, 1856] }, o($V75, [2, 710]), o($V75, [2, 712]), o($Vh4, [2, 256]), { 131: $VV, 196: 1857 }, { 131: [2, 1102] }, o($V_5, [2, 244]), o($VN4, [2, 77]), { 78: [2, 76] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1824, 105: 1858, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1859, 4: $V2, 5: $V3 }, { 78: [1, 1860] }, { 74: $V26, 78: [1, 1861] }, { 374: [1, 1862] }, { 2: $V1, 3: 1863, 4: $V2, 5: $V3, 132: [1, 1864] }, { 74: $V35, 78: [1, 1865] }, o($VD3, [2, 526]), o($VD3, [2, 527]), o($V75, [2, 714], { 74: $VJ4 }), o($V75, [2, 716]), o($V36, [2, 1103], { 251: 1866, 766: [1, 1867] }), o($V65, [2, 79]), o($V65, [2, 82]), o($VN4, [2, 1055], { 3: 1821, 101: 1868, 104: 1869, 2: $V1, 4: $V2, 5: $V3, 76: $V06 }), o($VD3, [2, 518]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1870 }, o($V65, [2, 530]), o($V65, [2, 531]), o($VD3, [2, 525]), o($VT5, [2, 1105], { 252: 1871, 415: [1, 1872] }), o($V36, [2, 1104]), o($VN4, [2, 75]), o($VN4, [2, 1056]), o($V46, [2, 1119], { 375: 1873, 377: 1874, 77: [1, 1875] }), o($VT5, [2, 269]), o($VT5, [2, 1106]), o($VD3, [2, 521], { 376: 1876, 378: 1877, 230: [1, 1878] }), o($V46, [2, 1120]), { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1879 }, o($VD3, [2, 519]), { 230: [1, 1881], 379: 1880 }, { 338: [1, 1882] }, { 74: $V26, 78: [1, 1883] }, o($VD3, [2, 522]), { 335: [1, 1884] }, { 380: [1, 1885] }, o($V46, [2, 520]), { 380: [1, 1886] }, { 381: [1, 1887] }, { 381: [1, 1888] }, { 230: [2, 523] }, o($VD3, [2, 524])],
+ defaultActions: { 105: [2, 6], 194: [2, 336], 195: [2, 337], 196: [2, 338], 197: [2, 339], 198: [2, 340], 199: [2, 341], 200: [2, 342], 201: [2, 343], 202: [2, 344], 209: [2, 695], 591: [2, 1142], 653: [2, 1107], 654: [2, 1108], 710: [2, 696], 780: [2, 1073], 781: [2, 1074], 926: [2, 446], 927: [2, 447], 928: [2, 448], 987: [2, 697], 1288: [2, 1152], 1375: [2, 1060], 1433: [2, 1150], 1541: [2, 507], 1732: [2, 1052], 1777: [2, 1100], 1797: [2, 1118], 1800: [2, 1124], 1842: [2, 1102], 1845: [2, 76], 1887: [2, 523] },
+ parseError: function parseError(str, hash) {
+ if (hash.recoverable) {
+ this.trace(str);
+ }
+ else {
+ var error = new Error(str);
+ error.hash = hash;
+ throw error;
+ }
+ },
+ parse: function parse(input) {
+ var self = this, stack = [0], tstack = [], // token stack
+ vstack = [null], // semantic value stack
+ lstack = [], // location stack
+ table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
+ var args = lstack.slice.call(arguments, 1);
+ //this.reductionCount = this.shiftCount = 0;
+ var lexer = Object.create(this.lexer);
+ var sharedState = { yy: {} };
+ // copy state
+ for (var k in this.yy) {
+ if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
+ sharedState.yy[k] = this.yy[k];
+ }
+ }
+ lexer.setInput(input, sharedState.yy);
+ sharedState.yy.lexer = lexer;
+ sharedState.yy.parser = this;
+ if (typeof lexer.yylloc == 'undefined') {
+ lexer.yylloc = {};
+ }
+ var yyloc = lexer.yylloc;
+ lstack.push(yyloc);
+ var ranges = lexer.options && lexer.options.ranges;
+ if (typeof sharedState.yy.parseError === 'function') {
+ this.parseError = sharedState.yy.parseError;
+ }
+ else {
+ this.parseError = Object.getPrototypeOf(this).parseError;
+ }
+ function popStack(n) {
+ stack.length = stack.length - 2 * n;
+ vstack.length = vstack.length - n;
+ lstack.length = lstack.length - n;
+ }
+ _token_stack: var lex = function () {
+ var token;
+ token = lexer.lex() || EOF;
+ // if token isn't its numeric value, convert
+ if (typeof token !== 'number') {
+ token = self.symbols_[token] || token;
+ }
+ return token;
+ };
+ var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
+ while (true) {
+ // retreive state number from top of stack
+ state = stack[stack.length - 1];
+ // use default actions if available
+ if (this.defaultActions[state]) {
+ action = this.defaultActions[state];
+ }
+ else {
+ if (symbol === null || typeof symbol == 'undefined') {
+ symbol = lex();
+ }
+ // read action for current state and first input
+ action = table[state] && table[state][symbol];
+ }
+ _handle_error:
+ // handle parse error
+ if (typeof action === 'undefined' || !action.length || !action[0]) {
+ var error_rule_depth;
+ var errStr = '';
+ // Return the rule stack depth where the nearest error rule can be found.
+ // Return FALSE when no error recovery rule was found.
+ var locateNearestErrorRecoveryRule = function (state) {
+ var stack_probe = stack.length - 1;
+ var depth = 0;
+ // try to recover from error
+ for (;;) {
+ // check for error recovery rule in this state
+ if ((TERROR.toString()) in table[state]) {
+ return depth;
+ }
+ if (state === 0 || stack_probe < 2) {
+ return false; // No suitable error recovery rule available.
+ }
+ stack_probe -= 2; // popStack(1): [symbol, action]
+ state = stack[stack_probe];
+ ++depth;
+ }
+ };
+ if (!recovering) {
+ // first see if there's any chance at hitting an error recovery rule:
+ error_rule_depth = locateNearestErrorRecoveryRule(state);
+ // Report error
+ expected = [];
+ for (p in table[state]) {
+ if (this.terminals_[p] && p > TERROR) {
+ expected.push("'" + this.terminals_[p] + "'");
+ }
+ }
+ if (lexer.showPosition) {
+ errStr = 'Parse error on line ' + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(', ') + ", got '" + (this.terminals_[symbol] || symbol) + "'";
+ }
+ else {
+ errStr = 'Parse error on line ' + (yylineno + 1) + ": Unexpected " +
+ (symbol == EOF ? "end of input" :
+ ("'" + (this.terminals_[symbol] || symbol) + "'"));
+ }
+ this.parseError(errStr, {
+ text: lexer.match,
+ token: this.terminals_[symbol] || symbol,
+ line: lexer.yylineno,
+ loc: yyloc,
+ expected: expected,
+ recoverable: (error_rule_depth !== false)
+ });
+ }
+ else if (preErrorSymbol !== EOF) {
+ error_rule_depth = locateNearestErrorRecoveryRule(state);
+ }
+ // just recovered from another error
+ if (recovering == 3) {
+ if (symbol === EOF || preErrorSymbol === EOF) {
+ throw new Error(errStr || 'Parsing halted while starting to recover from another error.');
+ }
+ // discard current lookahead and grab another
+ yyleng = lexer.yyleng;
+ yytext = lexer.yytext;
+ yylineno = lexer.yylineno;
+ yyloc = lexer.yylloc;
+ symbol = lex();
+ }
+ // try to recover from error
+ if (error_rule_depth === false) {
+ throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.');
+ }
+ popStack(error_rule_depth);
+ preErrorSymbol = (symbol == TERROR ? null : symbol); // save the lookahead token
+ symbol = TERROR; // insert generic error symbol as new lookahead
+ state = stack[stack.length - 1];
+ action = table[state] && table[state][TERROR];
+ recovering = 3; // allow 3 real symbols to be shifted before reporting a new error
+ }
+ // this shouldn't happen, unless resolve defaults are off
+ if (action[0] instanceof Array && action.length > 1) {
+ throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
+ }
+ switch (action[0]) {
+ case 1: // shift
+ //this.shiftCount++;
+ stack.push(symbol);
+ vstack.push(lexer.yytext);
+ lstack.push(lexer.yylloc);
+ stack.push(action[1]); // push state
+ symbol = null;
+ if (!preErrorSymbol) { // normal execution/no error
+ yyleng = lexer.yyleng;
+ yytext = lexer.yytext;
+ yylineno = lexer.yylineno;
+ yyloc = lexer.yylloc;
+ if (recovering > 0) {
+ recovering--;
+ }
+ }
+ else {
+ // error just occurred, resume old lookahead f/ before error
+ symbol = preErrorSymbol;
+ preErrorSymbol = null;
+ }
+ break;
+ case 2:
+ // reduce
+ //this.reductionCount++;
+ len = this.productions_[action[1]][1];
+ // perform semantic action
+ yyval.$ = vstack[vstack.length - len]; // default to $$ = $1
+ // default location, uses first token for firsts, last for lasts
+ yyval._$ = {
+ first_line: lstack[lstack.length - (len || 1)].first_line,
+ last_line: lstack[lstack.length - 1].last_line,
+ first_column: lstack[lstack.length - (len || 1)].first_column,
+ last_column: lstack[lstack.length - 1].last_column
+ };
+ if (ranges) {
+ yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
+ }
+ r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));
+ if (typeof r !== 'undefined') {
+ return r;
+ }
+ // pop off stack
+ if (len) {
+ stack = stack.slice(0, -1 * len * 2);
+ vstack = vstack.slice(0, -1 * len);
+ lstack = lstack.slice(0, -1 * len);
+ }
+ stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce)
+ vstack.push(yyval.$);
+ lstack.push(yyval._$);
+ // goto new state = table[STATE][NONTERMINAL]
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
+ stack.push(newState);
+ break;
+ case 3:
+ // accept
+ return true;
+ }
+ }
+ return true;
+ } };
+ // from https://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
+ // JSON.stringify([].slice.call(document.querySelectorAll('tr')).filter(x => x.children.length == 5 && x.children[2].innerText == 'reserved').map(x => x.children[0].innerText))
+ var nonReserved = ["A", "ABSENT", "ABSOLUTE", "ACCORDING", "ACTION", "ADA", "ADD", "ADMIN", "AFTER", "ALWAYS", "ASC", "ASSERTION", "ASSIGNMENT", "ATTRIBUTE", "ATTRIBUTES", "BASE64", "BEFORE", "BERNOULLI", "BLOCKED", "BOM", "BREADTH", "C", "CASCADE", "CATALOG", "CATALOG_NAME", "CHAIN", "CHARACTERISTICS", "CHARACTERS", "CHARACTER_SET_CATALOG", "CHARACTER_SET_NAME", "CHARACTER_SET_SCHEMA", "CLASS_ORIGIN", "COBOL", "COLLATION", "COLLATION_CATALOG", "COLLATION_NAME", "COLLATION_SCHEMA", "COLUMNS", "COLUMN_NAME", "COMMAND_FUNCTION", "COMMAND_FUNCTION_CODE", "COMMITTED", "CONDITION_NUMBER", "CONNECTION", "CONNECTION_NAME", "CONSTRAINTS", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME", "CONSTRAINT_SCHEMA", "CONSTRUCTOR", "CONTENT", "CONTINUE", "CONTROL", "CURSOR_NAME", "DATA", "DATETIME_INTERVAL_CODE", "DATETIME_INTERVAL_PRECISION", "DB", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINED", "DEFINER", "DEGREE", "DEPTH", "DERIVED", "DESC", "DESCRIPTOR", "DIAGNOSTICS", "DISPATCH", "DOCUMENT", "DOMAIN", "DYNAMIC_FUNCTION", "DYNAMIC_FUNCTION_CODE", "EMPTY", "ENCODING", "ENFORCED", "EXCLUDE", "EXCLUDING", "EXPRESSION", "FILE", "FINAL", "FIRST", "FLAG", "FOLLOWING", "FORTRAN", "FOUND", "FS", "G", "GENERAL", "GENERATED", "GO", "GOTO", "GRANTED", "HEX", "HIERARCHY", "ID", "IGNORE", "IMMEDIATE", "IMMEDIATELY", "IMPLEMENTATION", "INCLUDING", "INCREMENT", "INDENT", "INITIALLY", "INPUT", "INSTANCE", "INSTANTIABLE", "INSTEAD", "INTEGRITY", "INVOKER", "ISOLATION", "K", "KEY", "KEY_MEMBER", "KEY_TYPE", "LAST", "LENGTH", "LEVEL", "LIBRARY", "LIMIT", "LINK", "LOCATION", "LOCATOR", "M", "MAP", "MAPPING", "MATCHED", "MAXVALUE", "MESSAGE_LENGTH", "MESSAGE_OCTET_LENGTH", "MESSAGE_TEXT", "MINVALUE", "MORE", "MUMPS", "NAME", "NAMES", "NAMESPACE", "NESTING", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NIL", "NORMALIZED", "NULLABLE", "NULLS", "NUMBER", "OBJECT", "OCTETS", "OFF", "OPTION", "OPTIONS", "ORDERING", "ORDINALITY", "OTHERS", "OUTPUT", "OVERRIDING", "P", "PAD", "PARAMETER_MODE", "PARAMETER_NAME", "PARAMETER_ORDINAL_POSITION", "PARAMETER_SPECIFIC_CATALOG", "PARAMETER_SPECIFIC_NAME", "PARAMETER_SPECIFIC_SCHEMA", "PARTIAL", "PASCAL", "PASSING", "PASSTHROUGH", "PATH", "PERMISSION", "PLACING", "PLI", "PRECEDING", "PRESERVE", "PRIOR", "PRIVILEGES", "PUBLIC", "READ", "RECOVERY", "RELATIVE", "REPEATABLE", "REQUIRING", "RESPECT", "RESTART", "RESTORE", "RESTRICT", "RETURNED_CARDINALITY", "RETURNED_LENGTH", "RETURNED_OCTET_LENGTH", "RETURNED_SQLSTATE", "RETURNING", "ROLE", "ROUTINE", "ROUTINE_CATALOG", "ROUTINE_NAME", "ROUTINE_SCHEMA", "ROW_COUNT", "SCALE", "SCHEMA", "SCHEMA_NAME", "SCOPE_CATALOG", "SCOPE_NAME", "SCOPE_SCHEMA", "SECTION", "SECURITY", "SELECTIVE", "SELF", "SEQUENCE", "SERIALIZABLE", "SERVER", "SERVER_NAME", "SESSION", "SETS", "SIMPLE", "SIZE", "SOURCE", "SPACE", "SPECIFIC_NAME", "STANDALONE", "STATE", "STATEMENT", "STRIP", "STRUCTURE", "STYLE", "SUBCLASS_ORIGIN", "T", "TABLE_NAME", "TEMPORARY", "TIES", "TOKEN", "TOP_LEVEL_COUNT", "TRANSACTION", "TRANSACTIONS_COMMITTED", "TRANSACTIONS_ROLLED_BACK", "TRANSACTION_ACTIVE", "TRANSFORM", "TRANSFORMS", "TRIGGER_CATALOG", "TRIGGER_NAME", "TRIGGER_SCHEMA", "TYPE", "UNBOUNDED", "UNCOMMITTED", "UNDER", "UNLINK", "UNNAMED", "UNTYPED", "URI", "USAGE", "USER_DEFINED_TYPE_CATALOG", "USER_DEFINED_TYPE_CODE", "USER_DEFINED_TYPE_NAME", "USER_DEFINED_TYPE_SCHEMA", "VALID", "VERSION", "VIEW", "WHITESPACE", "WORK", "WRAPPER", "WRITE", "XMLDECLARATION", "XMLSCHEMA", "YES", "ZONE"];
+ parser.parseError = function (str, hash) {
+ if (hash.expected && hash.expected.indexOf("'LITERAL'") > -1 && /[a-zA-Z_][a-zA-Z_0-9]*/.test(hash.token) && nonReserved.indexOf(hash.token) > -1) {
+ return;
+ }
+ throw new SyntaxError(str);
+ };
+ /* generated by jison-lex 0.3.4 */
+ var lexer = (function () {
+ var lexer = ({
+ EOF: 1,
+ parseError: function parseError(str, hash) {
+ if (this.yy.parser) {
+ this.yy.parser.parseError(str, hash);
+ }
+ else {
+ throw new Error(str);
+ }
+ },
+ // resets the lexer, sets new input
+ setInput: function (input, yy) {
+ this.yy = yy || this.yy || {};
+ this._input = input;
+ this._more = this._backtrack = this.done = false;
+ this.yylineno = this.yyleng = 0;
+ this.yytext = this.matched = this.match = '';
+ this.conditionStack = ['INITIAL'];
+ this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ };
+ if (this.options.ranges) {
+ this.yylloc.range = [0, 0];
+ }
+ this.offset = 0;
+ return this;
+ },
+ // consumes and returns one char from the input
+ input: function () {
+ var ch = this._input[0];
+ this.yytext += ch;
+ this.yyleng++;
+ this.offset++;
+ this.match += ch;
+ this.matched += ch;
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
+ if (lines) {
+ this.yylineno++;
+ this.yylloc.last_line++;
+ }
+ else {
+ this.yylloc.last_column++;
+ }
+ if (this.options.ranges) {
+ this.yylloc.range[1]++;
+ }
+ this._input = this._input.slice(1);
+ return ch;
+ },
+ // unshifts one char (or a string) into the input
+ unput: function (ch) {
+ var len = ch.length;
+ var lines = ch.split(/(?:\r\n?|\n)/g);
+ this._input = ch + this._input;
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
+ //this.yyleng -= len;
+ this.offset -= len;
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
+ this.match = this.match.substr(0, this.match.length - 1);
+ this.matched = this.matched.substr(0, this.matched.length - 1);
+ if (lines.length - 1) {
+ this.yylineno -= lines.length - 1;
+ }
+ var r = this.yylloc.range;
+ this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: lines ?
+ (lines.length === oldLines.length ? this.yylloc.first_column : 0)
+ + oldLines[oldLines.length - lines.length].length - lines[0].length :
+ this.yylloc.first_column - len
+ };
+ if (this.options.ranges) {
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
+ }
+ this.yyleng = this.yytext.length;
+ return this;
+ },
+ // When called from action, caches matched text and appends it on next action
+ more: function () {
+ this._more = true;
+ return this;
+ },
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
+ reject: function () {
+ if (this.options.backtrack_lexer) {
+ this._backtrack = true;
+ }
+ else {
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
+ text: "",
+ token: null,
+ line: this.yylineno
+ });
+ }
+ return this;
+ },
+ // retain first n characters of the match
+ less: function (n) {
+ this.unput(this.match.slice(n));
+ },
+ // displays already matched input, i.e. for error messages
+ pastInput: function () {
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
+ return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, "");
+ },
+ // displays upcoming input, i.e. for error messages
+ upcomingInput: function () {
+ var next = this.match;
+ if (next.length < 20) {
+ next += this._input.substr(0, 20 - next.length);
+ }
+ return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
+ },
+ // displays the character position where the lexing error occurred, i.e. for error messages
+ showPosition: function () {
+ var pre = this.pastInput();
+ var c = new Array(pre.length + 1).join("-");
+ return pre + this.upcomingInput() + "\n" + c + "^";
+ },
+ // test the lexed token: return FALSE when not a match, otherwise return token
+ test_match: function (match, indexed_rule) {
+ var token, lines, backup;
+ if (this.options.backtrack_lexer) {
+ // save context
+ backup = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ };
+ if (this.options.ranges) {
+ backup.yylloc.range = this.yylloc.range.slice(0);
+ }
+ }
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
+ if (lines) {
+ this.yylineno += lines.length;
+ }
+ this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: lines ?
+ lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length :
+ this.yylloc.last_column + match[0].length
+ };
+ this.yytext += match[0];
+ this.match += match[0];
+ this.matches = match;
+ this.yyleng = this.yytext.length;
+ if (this.options.ranges) {
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
+ }
+ this._more = false;
+ this._backtrack = false;
+ this._input = this._input.slice(match[0].length);
+ this.matched += match[0];
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
+ if (this.done && this._input) {
+ this.done = false;
+ }
+ if (token) {
+ return token;
+ }
+ else if (this._backtrack) {
+ // recover context
+ for (var k in backup) {
+ this[k] = backup[k];
+ }
+ return false; // rule action called reject() implying the next rule should be tested instead.
+ }
+ return false;
+ },
+ // return next match in input
+ next: function () {
+ if (this.done) {
+ return this.EOF;
+ }
+ if (!this._input) {
+ this.done = true;
+ }
+ var token, match, tempMatch, index;
+ if (!this._more) {
+ this.yytext = '';
+ this.match = '';
+ }
+ var rules = this._currentRules();
+ for (var i = 0; i < rules.length; i++) {
+ tempMatch = this._input.match(this.rules[rules[i]]);
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
+ match = tempMatch;
+ index = i;
+ if (this.options.backtrack_lexer) {
+ token = this.test_match(tempMatch, rules[i]);
+ if (token !== false) {
+ return token;
+ }
+ else if (this._backtrack) {
+ match = false;
+ continue; // rule action called reject() implying a rule MISmatch.
+ }
+ else {
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
+ return false;
+ }
+ }
+ else if (!this.options.flex) {
+ break;
+ }
+ }
+ }
+ if (match) {
+ token = this.test_match(match, rules[index]);
+ if (token !== false) {
+ return token;
+ }
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
+ return false;
+ }
+ if (this._input === "") {
+ return this.EOF;
+ }
+ else {
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
+ text: "",
+ token: null,
+ line: this.yylineno
+ });
+ }
+ },
+ // return next match that has a token
+ lex: function lex() {
+ var r = this.next();
+ if (r) {
+ return r;
+ }
+ else {
+ return this.lex();
+ }
+ },
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
+ begin: function begin(condition) {
+ this.conditionStack.push(condition);
+ },
+ // pop the previously active lexer condition state off the condition stack
+ popState: function popState() {
+ var n = this.conditionStack.length - 1;
+ if (n > 0) {
+ return this.conditionStack.pop();
+ }
+ else {
+ return this.conditionStack[0];
+ }
+ },
+ // produce the lexer rule set which is active for the currently active lexer condition state
+ _currentRules: function _currentRules() {
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
+ }
+ else {
+ return this.conditions["INITIAL"].rules;
+ }
+ },
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
+ topState: function topState(n) {
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
+ if (n >= 0) {
+ return this.conditionStack[n];
+ }
+ else {
+ return "INITIAL";
+ }
+ },
+ // alias for begin(condition)
+ pushState: function pushState(condition) {
+ this.begin(condition);
+ },
+ // return the number of states currently on the stack
+ stateStackSize: function stateStackSize() {
+ return this.conditionStack.length;
+ },
+ options: { "case-insensitive": true },
+ performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
+ var YYSTATE = YY_START;
+ switch ($avoiding_name_collisions) {
+ case 0:
+ return 266;
+ break;
+ case 1:
+ return 302;
+ break;
+ case 2:
+ return 420;
+ break;
+ case 3:
+ return 299;
+ break;
+ case 4:
+ return 5;
+ break;
+ case 5:
+ return 5;
+ break;
+ case 6:
+ return 296;
+ break;
+ case 7:
+ return 296;
+ break;
+ case 8:
+ return 132;
+ break;
+ case 9:
+ return 132;
+ break;
+ case 10:
+ return; /* its a COMMENT */
+ break;
+ case 11: /* skip whitespace */
+ break;
+ case 12:
+ return 316;
+ break;
+ case 13:
+ return 319;
+ break;
+ case 14:
+ yy_.yytext = 'VALUE';
+ return 89;
+ break;
+ case 15:
+ yy_.yytext = 'VALUE';
+ return 189;
+ break;
+ case 16:
+ yy_.yytext = 'ROW';
+ return 189;
+ break;
+ case 17:
+ yy_.yytext = 'COLUMN';
+ return 189;
+ break;
+ case 18:
+ yy_.yytext = 'MATRIX';
+ return 189;
+ break;
+ case 19:
+ yy_.yytext = 'INDEX';
+ return 189;
+ break;
+ case 20:
+ yy_.yytext = 'RECORDSET';
+ return 189;
+ break;
+ case 21:
+ yy_.yytext = 'TEXT';
+ return 189;
+ break;
+ case 22:
+ yy_.yytext = 'SELECT';
+ return 189;
+ break;
+ case 23:
+ return 520;
+ break;
+ case 24:
+ return 381;
+ break;
+ case 25:
+ return 402;
+ break;
+ case 26:
+ return 515;
+ break;
+ case 27:
+ return 287;
+ break;
+ case 28:
+ return 269;
+ break;
+ case 29:
+ return 269;
+ break;
+ case 30:
+ return 164;
+ break;
+ case 31:
+ return 400;
+ break;
+ case 32:
+ return 170;
+ break;
+ case 33:
+ return 229;
+ break;
+ case 34:
+ return 166;
+ break;
+ case 35:
+ return 207;
+ break;
+ case 36:
+ return 288;
+ break;
+ case 37:
+ return 76;
+ break;
+ case 38:
+ return 418;
+ break;
+ case 39:
+ return 242;
+ break;
+ case 40:
+ return 404;
+ break;
+ case 41:
+ return 356;
+ break;
+ case 42:
+ return 284;
+ break;
+ case 43:
+ return 514;
+ break;
+ case 44:
+ return 437;
+ break;
+ case 45:
+ return 330;
+ break;
+ case 46:
+ return 441;
+ break;
+ case 47:
+ return 331;
+ break;
+ case 48:
+ return 315;
+ break;
+ case 49:
+ return 119;
+ break;
+ case 50:
+ return 112;
+ break;
+ case 51:
+ return 315;
+ break;
+ case 52:
+ return 112;
+ break;
+ case 53:
+ return 315;
+ break;
+ case 54:
+ return 112;
+ break;
+ case 55:
+ return 315;
+ break;
+ case 56:
+ return 508;
+ break;
+ case 57:
+ return 303;
+ break;
+ case 58:
+ return 271;
+ break;
+ case 59:
+ return 368;
+ break;
+ case 60:
+ return 130;
+ break;
+ case 61:
+ return 'CLOSE';
+ break;
+ case 62:
+ return 243;
+ break;
+ case 63:
+ return 190;
+ break;
+ case 64:
+ return 190;
+ break;
+ case 65:
+ return 434;
+ break;
+ case 66:
+ return 367;
+ break;
+ case 67:
+ return 470;
+ break;
+ case 68:
+ return 440;
+ break;
+ case 69:
+ return 273;
+ break;
+ case 70:
+ return 240;
+ break;
+ case 71:
+ return 281;
+ break;
+ case 72:
+ return 267;
+ break;
+ case 73:
+ return 206;
+ break;
+ case 74:
+ return 238;
+ break;
+ case 75:
+ return 265;
+ break;
+ case 76:
+ return 'CURSOR';
+ break;
+ case 77:
+ return 405;
+ break;
+ case 78:
+ return 291;
+ break;
+ case 79:
+ return 292;
+ break;
+ case 80:
+ return 448;
+ break;
+ case 81:
+ return 343;
+ break;
+ case 82:
+ return 338;
+ break;
+ case 83:
+ return 'DELETED';
+ break;
+ case 84:
+ return 242;
+ break;
+ case 85:
+ return 406;
+ break;
+ case 86:
+ return 185;
+ break;
+ case 87:
+ return 396;
+ break;
+ case 88:
+ return 447;
+ break;
+ case 89:
+ return 135;
+ break;
+ case 90:
+ return 306;
+ break;
+ case 91:
+ return 389;
+ break;
+ case 92:
+ return 310;
+ break;
+ case 93:
+ return 314;
+ break;
+ case 94:
+ return 169;
+ break;
+ case 95:
+ return 508;
+ break;
+ case 96:
+ return 508;
+ break;
+ case 97:
+ return 298;
+ break;
+ case 98:
+ return 14;
+ break;
+ case 99:
+ return 295;
+ break;
+ case 100:
+ return 249;
+ break;
+ case 101:
+ return 285;
+ break;
+ case 102:
+ return 95;
+ break;
+ case 103:
+ return 373;
+ break;
+ case 104:
+ return 183;
+ break;
+ case 105:
+ return 227;
+ break;
+ case 106:
+ return 268;
+ break;
+ case 107:
+ return 313;
+ break;
+ case 108:
+ return 602;
+ break;
+ case 109:
+ return 472;
+ break;
+ case 110:
+ return 232;
+ break;
+ case 111:
+ return 236;
+ break;
+ case 112:
+ return 239;
+ break;
+ case 113:
+ return 156;
+ break;
+ case 114:
+ return 356;
+ break;
+ case 115:
+ return 332;
+ break;
+ case 116:
+ return 99;
+ break;
+ case 117:
+ return 193;
+ break;
+ case 118:
+ return 212;
+ break;
+ case 119:
+ return 224;
+ break;
+ case 120:
+ return 516;
+ break;
+ case 121:
+ return 339;
+ break;
+ case 122:
+ return 213;
+ break;
+ case 123:
+ return 168;
+ break;
+ case 124:
+ return 293;
+ break;
+ case 125:
+ return 198;
+ break;
+ case 126:
+ return 223;
+ break;
+ case 127:
+ return 370;
+ break;
+ case 128:
+ return 286;
+ break;
+ case 129:
+ return 'LET';
+ break;
+ case 130:
+ return 225;
+ break;
+ case 131:
+ return 112;
+ break;
+ case 132:
+ return 245;
+ break;
+ case 133:
+ return 460;
+ break;
+ case 134:
+ return 191;
+ break;
+ case 135:
+ return 283;
+ break;
+ case 136:
+ return 390;
+ break;
+ case 137:
+ return 282;
+ break;
+ case 138:
+ return 452;
+ break;
+ case 139:
+ return 169;
+ break;
+ case 140:
+ return 403;
+ break;
+ case 141:
+ return 222;
+ break;
+ case 142:
+ return 645;
+ break;
+ case 143:
+ return 270;
+ break;
+ case 144:
+ return 244;
+ break;
+ case 145:
+ return 380;
+ break;
+ case 146:
+ return 154;
+ break;
+ case 147:
+ return 297;
+ break;
+ case 148:
+ return 433;
+ break;
+ case 149:
+ return 230;
+ break;
+ case 150:
+ return 415;
+ break;
+ case 151:
+ return 129;
+ break;
+ case 152:
+ return 247;
+ break;
+ case 153:
+ return 'OPEN';
+ break;
+ case 154:
+ return 416;
+ break;
+ case 155:
+ return 171;
+ break;
+ case 156:
+ return 118;
+ break;
+ case 157:
+ return 208;
+ break;
+ case 158:
+ return 276;
+ break;
+ case 159:
+ return 172;
+ break;
+ case 160:
+ return 279;
+ break;
+ case 161:
+ return 765;
+ break;
+ case 162:
+ return 93;
+ break;
+ case 163:
+ return 16;
+ break;
+ case 164:
+ return 369;
+ break;
+ case 165:
+ return 442;
+ break;
+ case 166:
+ return 678;
+ break;
+ case 167:
+ return 15;
+ break;
+ case 168:
+ return 414;
+ break;
+ case 169:
+ return 194;
+ break;
+ case 170:
+ return 'REDUCE';
+ break;
+ case 171:
+ return 374;
+ break;
+ case 172:
+ return 311;
+ break;
+ case 173:
+ return 517;
+ break;
+ case 174:
+ return 682;
+ break;
+ case 175:
+ return 107;
+ break;
+ case 176:
+ return 401;
+ break;
+ case 177:
+ return 175;
+ break;
+ case 178:
+ return 290;
+ break;
+ case 179:
+ return 443;
+ break;
+ case 180:
+ return 687;
+ break;
+ case 181:
+ return 173;
+ break;
+ case 182:
+ return 173;
+ break;
+ case 183:
+ return 226;
+ break;
+ case 184:
+ return 436;
+ break;
+ case 185:
+ return 237;
+ break;
+ case 186:
+ return 150;
+ break;
+ case 187:
+ return 766;
+ break;
+ case 188:
+ return 405;
+ break;
+ case 189:
+ return 89;
+ break;
+ case 190:
+ return 228;
+ break;
+ case 191:
+ return 146;
+ break;
+ case 192:
+ return 146;
+ break;
+ case 193:
+ return 409;
+ break;
+ case 194:
+ return 334;
+ break;
+ case 195:
+ return 417;
+ break;
+ case 196:
+ return 'STRATEGY';
+ break;
+ case 197:
+ return 'STORE';
+ break;
+ case 198:
+ return 280;
+ break;
+ case 199:
+ return 353;
+ break;
+ case 200:
+ return 353;
+ break;
+ case 201:
+ return 463;
+ break;
+ case 202:
+ return 357;
+ break;
+ case 203:
+ return 357;
+ break;
+ case 204:
+ return 192;
+ break;
+ case 205:
+ return 309;
+ break;
+ case 206:
+ return 'TIMEOUT';
+ break;
+ case 207:
+ return 148;
+ break;
+ case 208:
+ return 195;
+ break;
+ case 209:
+ return 435;
+ break;
+ case 210:
+ return 435;
+ break;
+ case 211:
+ return 509;
+ break;
+ case 212:
+ return 294;
+ break;
+ case 213:
+ return 451;
+ break;
+ case 214:
+ return 162;
+ break;
+ case 215:
+ return 187;
+ break;
+ case 216:
+ return 98;
+ break;
+ case 217:
+ return 335;
+ break;
+ case 218:
+ return 408;
+ break;
+ case 219:
+ return 231;
+ break;
+ case 220:
+ return 149;
+ break;
+ case 221:
+ return 344;
+ break;
+ case 222:
+ return 134;
+ break;
+ case 223:
+ return 410;
+ break;
+ case 224:
+ return 308;
+ break;
+ case 225:
+ return 128;
+ break;
+ case 226:
+ return 439;
+ break;
+ case 227:
+ return 72;
+ break;
+ case 228:
+ return 435; /* Is this keyword required? */
+ break;
+ case 229:
+ return 131;
+ break;
+ case 230:
+ return 131;
+ break;
+ case 231:
+ return 115;
+ break;
+ case 232:
+ return 137;
+ break;
+ case 233:
+ return 179;
+ break;
+ case 234:
+ return 317;
+ break;
+ case 235:
+ return 180;
+ break;
+ case 236:
+ return 133;
+ break;
+ case 237:
+ return 138;
+ break;
+ case 238:
+ return 326;
+ break;
+ case 239:
+ return 323;
+ break;
+ case 240:
+ return 325;
+ break;
+ case 241:
+ return 322;
+ break;
+ case 242:
+ return 320;
+ break;
+ case 243:
+ return 318;
+ break;
+ case 244:
+ return 319;
+ break;
+ case 245:
+ return 142;
+ break;
+ case 246:
+ return 141;
+ break;
+ case 247:
+ return 139;
+ break;
+ case 248:
+ return 321;
+ break;
+ case 249:
+ return 324;
+ break;
+ case 250:
+ return 140;
+ break;
+ case 251:
+ return 124;
+ break;
+ case 252:
+ return 324;
+ break;
+ case 253:
+ return 77;
+ break;
+ case 254:
+ return 78;
+ break;
+ case 255:
+ return 145;
+ break;
+ case 256:
+ return 424;
+ break;
+ case 257:
+ return 426;
+ break;
+ case 258:
+ return 300;
+ break;
+ case 259:
+ return 505;
+ break;
+ case 260:
+ return 507;
+ break;
+ case 261:
+ return 122;
+ break;
+ case 262:
+ return 116;
+ break;
+ case 263:
+ return 74;
+ break;
+ case 264:
+ return 333;
+ break;
+ case 265:
+ return 152;
+ break;
+ case 266:
+ return 764;
+ break;
+ case 267:
+ return 143;
+ break;
+ case 268:
+ return 181;
+ break;
+ case 269:
+ return 136;
+ break;
+ case 270:
+ return 123;
+ break;
+ case 271:
+ return 312;
+ break;
+ case 272:
+ return 4;
+ break;
+ case 273:
+ return 10;
+ break;
+ case 274:
+ return 'INVALID';
+ break;
+ }
+ },
+ rules: [/^(?:``([^\`])+``)/i, /^(?:\[\?\])/i, /^(?:@\[)/i, /^(?:ARRAY\[)/i, /^(?:\[([^\]])*?\])/i, /^(?:`([^\`])*?`)/i, /^(?:N(['](\\.|[^']|\\')*?['])+)/i, /^(?:X(['](\\.|[^']|\\')*?['])+)/i, /^(?:(['](\\.|[^']|\\')*?['])+)/i, /^(?:(["](\\.|[^"]|\\")*?["])+)/i, /^(?:--(.*?)($|\r\n|\r|\n))/i, /^(?:\s+)/i, /^(?:\|\|)/i, /^(?:\|)/i, /^(?:VALUE\s+OF\s+SEARCH\b)/i, /^(?:VALUE\s+OF\s+SELECT\b)/i, /^(?:ROW\s+OF\s+SELECT\b)/i, /^(?:COLUMN\s+OF\s+SELECT\b)/i, /^(?:MATRIX\s+OF\s+SELECT\b)/i, /^(?:INDEX\s+OF\s+SELECT\b)/i, /^(?:RECORDSET\s+OF\s+SELECT\b)/i, /^(?:TEXT\s+OF\s+SELECT\b)/i, /^(?:SELECT\b)/i, /^(?:ABSOLUTE\b)/i, /^(?:ACTION\b)/i, /^(?:ADD\b)/i, /^(?:AFTER\b)/i, /^(?:AGGR\b)/i, /^(?:AGGREGATE\b)/i, /^(?:AGGREGATOR\b)/i, /^(?:ALL\b)/i, /^(?:ALTER\b)/i, /^(?:AND\b)/i, /^(?:ANTI\b)/i, /^(?:ANY\b)/i, /^(?:APPLY\b)/i, /^(?:ARRAY\b)/i, /^(?:AS\b)/i, /^(?:ASSERT\b)/i, /^(?:ASC\b)/i, /^(?:ATTACH\b)/i, /^(?:AUTO(_)?INCREMENT\b)/i, /^(?:AVG\b)/i, /^(?:BEFORE\b)/i, /^(?:BEGIN\b)/i, /^(?:BETWEEN\b)/i, /^(?:BREAK\b)/i, /^(?:NOT\s+BETWEEN\b)/i, /^(?:NOT\s+LIKE\b)/i, /^(?:BY\b)/i, /^(?:~~\*)/i, /^(?:!~~\*)/i, /^(?:~~)/i, /^(?:!~~)/i, /^(?:ILIKE\b)/i, /^(?:NOT\s+ILIKE\b)/i, /^(?:CALL\b)/i, /^(?:CASE\b)/i, /^(?:CAST\b)/i, /^(?:CHECK\b)/i, /^(?:CLASS\b)/i, /^(?:CLOSE\b)/i, /^(?:COLLATE\b)/i, /^(?:COLUMN\b)/i, /^(?:COLUMNS\b)/i, /^(?:COMMIT\b)/i, /^(?:CONSTRAINT\b)/i, /^(?:CONTENT\b)/i, /^(?:CONTINUE\b)/i, /^(?:CONVERT\b)/i, /^(?:CORRESPONDING\b)/i, /^(?:COUNT\b)/i, /^(?:CREATE\b)/i, /^(?:CROSS\b)/i, /^(?:CUBE\b)/i, /^(?:CURRENT_TIMESTAMP\b)/i, /^(?:CURSOR\b)/i, /^(?:DATABASE(S)?)/i, /^(?:DATEADD\b)/i, /^(?:DATEDIFF\b)/i, /^(?:DECLARE\b)/i, /^(?:DEFAULT\b)/i, /^(?:DELETE\b)/i, /^(?:DELETED\b)/i, /^(?:DESC\b)/i, /^(?:DETACH\b)/i, /^(?:DISTINCT\b)/i, /^(?:DROP\b)/i, /^(?:ECHO\b)/i, /^(?:EDGE\b)/i, /^(?:END\b)/i, /^(?:ENUM\b)/i, /^(?:ELSE\b)/i, /^(?:ESCAPE\b)/i, /^(?:EXCEPT\b)/i, /^(?:EXEC\b)/i, /^(?:EXECUTE\b)/i, /^(?:EXISTS\b)/i, /^(?:EXPLAIN\b)/i, /^(?:FALSE\b)/i, /^(?:FETCH\b)/i, /^(?:FIRST\b)/i, /^(?:FOR\b)/i, /^(?:FOREIGN\b)/i, /^(?:FROM\b)/i, /^(?:FULL\b)/i, /^(?:FUNCTION\b)/i, /^(?:GLOB\b)/i, /^(?:GO\b)/i, /^(?:GRAPH\b)/i, /^(?:GROUP\b)/i, /^(?:GROUPING\b)/i, /^(?:HAVING\b)/i, /^(?:IF\b)/i, /^(?:IDENTITY\b)/i, /^(?:IS\b)/i, /^(?:IN\b)/i, /^(?:INDEX\b)/i, /^(?:INDEXED\b)/i, /^(?:INNER\b)/i, /^(?:INSTEAD\b)/i, /^(?:INSERT\b)/i, /^(?:INSERTED\b)/i, /^(?:INTERSECT\b)/i, /^(?:INTERVAL\b)/i, /^(?:INTO\b)/i, /^(?:JOIN\b)/i, /^(?:KEY\b)/i, /^(?:LAST\b)/i, /^(?:LET\b)/i, /^(?:LEFT\b)/i, /^(?:LIKE\b)/i, /^(?:LIMIT\b)/i, /^(?:MATCHED\b)/i, /^(?:MATRIX\b)/i, /^(?:MAX(\s+)?(?=\())/i, /^(?:MAX(\s+)?(?=(,|\))))/i, /^(?:MIN(\s+)?(?=\())/i, /^(?:MERGE\b)/i, /^(?:MINUS\b)/i, /^(?:MODIFY\b)/i, /^(?:NATURAL\b)/i, /^(?:NEXT\b)/i, /^(?:NEW\b)/i, /^(?:NOCASE\b)/i, /^(?:NO\b)/i, /^(?:NOT\b)/i, /^(?:NULL\b)/i, /^(?:OFF\b)/i, /^(?:ON\b)/i, /^(?:ONLY\b)/i, /^(?:OF\b)/i, /^(?:OFFSET\b)/i, /^(?:OPEN\b)/i, /^(?:OPTION\b)/i, /^(?:OR\b)/i, /^(?:ORDER\b)/i, /^(?:OUTER\b)/i, /^(?:OVER\b)/i, /^(?:PATH\b)/i, /^(?:PARTITION\b)/i, /^(?:PERCENT\b)/i, /^(?:PIVOT\b)/i, /^(?:PLAN\b)/i, /^(?:PRIMARY\b)/i, /^(?:PRINT\b)/i, /^(?:PRIOR\b)/i, /^(?:QUERY\b)/i, /^(?:READ\b)/i, /^(?:RECORDSET\b)/i, /^(?:REDUCE\b)/i, /^(?:REFERENCES\b)/i, /^(?:REGEXP\b)/i, /^(?:REINDEX\b)/i, /^(?:RELATIVE\b)/i, /^(?:REMOVE\b)/i, /^(?:RENAME\b)/i, /^(?:REPEAT\b)/i, /^(?:REPLACE\b)/i, /^(?:REQUIRE\b)/i, /^(?:RESTORE\b)/i, /^(?:RETURN\b)/i, /^(?:RETURNS\b)/i, /^(?:RIGHT\b)/i, /^(?:ROLLBACK\b)/i, /^(?:ROLLUP\b)/i, /^(?:ROW\b)/i, /^(?:ROWS\b)/i, /^(?:SCHEMA(S)?)/i, /^(?:SEARCH\b)/i, /^(?:SEMI\b)/i, /^(?:SET\b)/i, /^(?:SETS\b)/i, /^(?:SHOW\b)/i, /^(?:SOME\b)/i, /^(?:SOURCE\b)/i, /^(?:STRATEGY\b)/i, /^(?:STORE\b)/i, /^(?:SUM\b)/i, /^(?:TABLE\b)/i, /^(?:TABLES\b)/i, /^(?:TARGET\b)/i, /^(?:TEMP\b)/i, /^(?:TEMPORARY\b)/i, /^(?:TEXTSTRING\b)/i, /^(?:THEN\b)/i, /^(?:TIMEOUT\b)/i, /^(?:TO\b)/i, /^(?:TOP\b)/i, /^(?:TRAN\b)/i, /^(?:TRANSACTION\b)/i, /^(?:TRIGGER\b)/i, /^(?:TRUE\b)/i, /^(?:TRUNCATE\b)/i, /^(?:UNION\b)/i, /^(?:UNIQUE\b)/i, /^(?:UNPIVOT\b)/i, /^(?:UPDATE\b)/i, /^(?:USE\b)/i, /^(?:USING\b)/i, /^(?:VALUE\b)/i, /^(?:VALUES\b)/i, /^(?:VERTEX\b)/i, /^(?:VIEW\b)/i, /^(?:WHEN\b)/i, /^(?:WHERE\b)/i, /^(?:WHILE\b)/i, /^(?:WITH\b)/i, /^(?:WORK\b)/i, /^(?:(\d*[.])?\d+[eE]\d+)/i, /^(?:(\d*[.])?\d+)/i, /^(?:->)/i, /^(?:#)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:\*)/i, /^(?:\/)/i, /^(?:%)/i, /^(?:!===)/i, /^(?:===)/i, /^(?:!==)/i, /^(?:==)/i, /^(?:>=)/i, /^(?:&)/i, /^(?:\|)/i, /^(?:<<)/i, /^(?:>>)/i, /^(?:>)/i, /^(?:<=)/i, /^(?:<>)/i, /^(?:<)/i, /^(?:=)/i, /^(?:!=)/i, /^(?:\()/i, /^(?:\))/i, /^(?:@)/i, /^(?:\{)/i, /^(?:\})/i, /^(?:\])/i, /^(?::-)/i, /^(?:\?-)/i, /^(?:\.\.)/i, /^(?:\.)/i, /^(?:,)/i, /^(?:::)/i, /^(?::)/i, /^(?:;)/i, /^(?:\$)/i, /^(?:\?)/i, /^(?:!)/i, /^(?:\^)/i, /^(?:~)/i, /^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i, /^(?:$)/i, /^(?:.)/i],
+ conditions: { "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "inclusive": true } }
+ });
+ return lexer;
+ })();
+ parser.lexer = lexer;
+ function Parser() {
+ this.yy = {};
+ }
+ Parser.prototype = parser;
+ parser.Parser = Parser;
+ return new Parser;
+})();
+if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
+ exports.parser = alasqlparser;
+ exports.Parser = alasqlparser.Parser;
+ exports.parse = function () { return alasqlparser.parse.apply(alasqlparser, arguments); };
+ exports.main = function commonjsMain(args) {
+ if (!args[1]) {
+ console.log('Usage: ' + args[0] + ' FILE');
+ process.exit(1);
+ }
+ var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
+ return exports.parser.parse(source);
+ };
+ if (typeof module !== 'undefined' && require.main === module) {
+ exports.main(process.argv.slice(1));
+ }
+}
+export default alasqlparser;
diff --git a/build/ES6/dataStruct.js b/build/ES6/dataStruct.js
new file mode 100644
index 0000000000..8c1247c7c7
--- /dev/null
+++ b/build/ES6/dataStruct.js
@@ -0,0 +1,8 @@
+import database from './dataStruct/database';
+import query from './dataStruct/query';
+import table from './dataStruct/table';
+export default mem => {
+ database(mem);
+ query(mem);
+ table(mem);
+};
diff --git a/build/ES6/dataStruct/database.js b/build/ES6/dataStruct/database.js
new file mode 100644
index 0000000000..41860ef68b
--- /dev/null
+++ b/build/ES6/dataStruct/database.js
@@ -0,0 +1,183 @@
+export default mem => {
+ mem.alasql.databasenum = 0;
+ mem.alasql.databases = {};
+ class Database {
+ constructor(databaseid, alasql) {
+ this.dbversion = 0;
+ this.counter = 0;
+ this.tables = {};
+ this.views = {};
+ this.triggers = {};
+ this.indices = {};
+ this.objects = {};
+ this.sqlCache = {};
+ this.sqlCacheSize = 0;
+ this.alasql = alasql;
+ this.databaseid = databaseid;
+ return this;
+ }
+ /**
+ Reset SQL statements cache
+ */
+ resetSqlCache() {
+ this.sqlCache = {}; // Cache for compiled SQL statements
+ this.sqlCacheSize = 0;
+ }
+ // Main SQL function
+ /**
+ Run SQL statement on database
+ @param sql — SQL statement
+ @param object — params Parameters
+ @param cb — callback
+ */
+ exec(sql, params, cb) {
+ return this.alasql.dexec(this.databaseid, sql, params, cb);
+ }
+ autoval(tablename, colname, getNext) {
+ return this.alasql.autoval(tablename, colname, getNext, this.databaseid);
+ }
+ }
+ mem.alasql.newDatabase = (dbName, useNewDatabase = true) => {
+ if (!dbName) {
+ dbName = 'db' + mem.alasql.databasenum++; // Unique name
+ }
+ let db = new Database(dbName, mem.alasql);
+ mem.alasql.databases[db.databaseid] = db;
+ if (useNewDatabase) {
+ mem.alasql.use('alasql');
+ }
+ };
+ //mem.alasql.Database = Database;
+};
+// // Main Database class
+// /**
+// @class Database
+// */
+// const Database = (databaseid) => {
+// var self = this;
+// // self = function(a){console.log('OK',a);}
+// // self.prototype = this;
+// if (self === alasql) {
+// if (databaseid) {
+// // if(alasql.databases[databaseid]) {
+// self = alasql.databases[databaseid];
+// // } else {
+// alasql.databases[databaseid] = self;
+// // }
+// if (!self) {
+// throw new Error('Database "' + databaseid + '" not found');
+// }
+// } else {
+// // Create new database (or get alasql?)
+// self = alasql.databases.alasql;
+// // For SQL Server examples, USE tempdb
+// if (alasql.options.tsql) {
+// alasql.databases.tempdb = alasql.databases.alasql;
+// }
+// // self = new Database(databaseid); // to call without new
+// }
+// }
+// if (!databaseid) {
+// databaseid = 'db' + alasql.databasenum++; // Unique name
+// }
+// // Step 1
+// self.databaseid = databaseid;
+// alasql.databases[databaseid] = self;
+// self.dbversion = 0;
+// //Steps 2-5
+// self.tables = {};
+// self.views = {};
+// self.triggers = {};
+// self.indices = {};
+// // Step 6: Objects storage
+// self.objects = {};
+// self.counter = 0;
+// self.resetSqlCache();
+// return self;
+// };
+// /**
+// Reset SQL statements cache
+// */
+// Database.prototype.resetSqlCache = function() {
+// this.sqlCache = {}; // Cache for compiled SQL statements
+// this.sqlCacheSize = 0;
+// };
+// // Main SQL function
+// /**
+// Run SQL statement on database
+// @param {string} sql SQL statement
+// @param [object] params Parameters
+// @param {function} cb callback
+// */
+// Database.prototype.exec = function(sql, params, cb) {
+// return alasql.dexec(this.databaseid, sql, params, cb);
+// };
+// Database.prototype.autoval = function(tablename, colname, getNext) {
+// return alasql.autoval(tablename, colname, getNext, this.databaseid);
+// };
+// /*/*
+// // // Compile
+// // var statement = this.compile(sql);
+// // // Run
+// // if(statement) {
+// // var data = statement(params, cb);
+// // return data;
+// // }
+// // return;
+// // };
+// // // Async version of exec
+// // Database.prototype.aexec = function(sql, params) {
+// // var self = this;
+// // return new Promise(function(resolve, reject){
+// // alasql.dexec(this.databaseid,sql,params,resolve);
+// // });
+// // };
+// */
+// // Aliases like MS SQL
+// /*/*
+// Database.prototype.query = Database.prototype.exec;
+// Database.prototype.run = Database.prototype.exec;
+// Database.prototype.queryArray = function(sql, params, cb) {
+// return flatArray(this.exec(sql, params, cb));
+// }
+// Database.prototype.queryArrayOfArrays = function(sql, params, cb) {
+// return arrayOfArrays(this.exec(sql, params, cb));
+// }
+// Database.prototype.querySingle = function(sql, params, cb) {
+// return this.exec(sql, params, cb)[0];
+// }
+// Database.prototype.queryValue = function(sql, params, cb) {
+// var res = this.querySingle(sql, params, cb);
+// return res[Object.keys(res)[0]];
+// }
+// Database.prototype.value = Database.prototype.queryValue;
+// Database.prototype.row = Database.prototype.querySingle;
+// Database.prototype.array = Database.prototype.queryArray;
+// Database.prototype.matrix = Database.prototype.queryArrayOfArrays;
+// // Compile statements
+// Database.prototype.compile = function(sql, kind) {
+// return alasql.compile(sql, kind, databaseid);
+// };
+// */
+// /*/*
+// // var self = this;
+// // var hh = hash(sql);
+// // // Check cache with hash of SQL statement
+// // var statement = this.sqlcache[hh];
+// // if(!statement) {
+// // // If not fount, then compile it
+// // var ast = alasql.parse(sql);
+// // // Save to cache
+// // statement = this.sqlcache[hh]= ast.compile(self);
+// // // Memory leak prevention
+// // this.sqlcachesize++;
+// // if(this.sqlcachesize > alasql.MAXSQLCACHESIZE) {
+// // this.resetSqlCache();
+// // }
+// // };
+// // return statement;
+// // }
+// // SQL.js compatibility method
+// //Database.prototype.prepare = Database.prototype.compile;
+// // Added for compatibility with WebSQL
+// */
diff --git a/build/ES6/dataStruct/query.js b/build/ES6/dataStruct/query.js
new file mode 100644
index 0000000000..71e36f2fc3
--- /dev/null
+++ b/build/ES6/dataStruct/query.js
@@ -0,0 +1,45 @@
+import utils from '../utils';
+/**
+ @class Query Main query class
+ */
+class Query {
+ constructor(params) {
+ //this.alasql = alasql;
+ // console.log(12,alasql);
+ // Columns
+ this.columns = [];
+ this.xcolumns = {};
+ this.selectGroup = [];
+ this.groupColumns = {};
+ utils.extend(this, params);
+ return this;
+ }
+}
+;
+/**
+ * DataArray
+ * @class Recordset data object
+ */
+class Recordset {
+ constructor(params) {
+ utils.extend(this, params);
+ }
+}
+;
+/*/*
+// View = function(){
+// this.data = [];
+// this.columns = [];
+// this.ixcolumns = {};
+// this.ixdefs = {};
+// this.indices = {};
+// };
+
+// alasql.View = View;
+*/
+export default mem => {
+ mem.alasql.Query = Query;
+ mem.alasql.QueRecordsetry = Recordset;
+};
+export { Recordset };
+export { Query };
diff --git a/build/ES6/dataStruct/table.js b/build/ES6/dataStruct/table.js
new file mode 100644
index 0000000000..3109bfbf9c
--- /dev/null
+++ b/build/ES6/dataStruct/table.js
@@ -0,0 +1,56 @@
+import utils from '../utils';
+export default mem => {
+ class Table {
+ constructor(params) {
+ // Step 1: Data array
+ this.data = [];
+ // Step 2: Columns
+ this.columns = [];
+ this.xcolumns = {};
+ // Step 3: indices
+ this.inddefs = {};
+ this.indices = {};
+ this.uniqs = {};
+ this.uniqdefs = {};
+ // Step 4: identities
+ this.identities = {};
+ // Step 5: checkfn...
+ this.checks = [];
+ this.checkfns = []; // For restore... to be done...
+ // Step 6: INSERT/DELETE/UPDATE
+ // Step 7: Triggers...
+ // Create trigger hubs
+ this.beforeinsert = {};
+ this.afterinsert = {};
+ this.insteadofinsert = {};
+ this.beforedelete = {};
+ this.afterdelete = {};
+ this.insteadofdelete = {};
+ this.beforeupdate = {};
+ this.afterupdate = {};
+ this.insteadofupdate = {};
+ utils.extend(this, params);
+ return this;
+ }
+ indexColumns() {
+ this.xcolumns = {};
+ this.columns.forEach(function (col) {
+ this.xcolumns[col.columnid] = col;
+ });
+ }
+ }
+ mem.alasql.newTable = (params = []) => {
+ return new Table(params);
+ };
+};
+/*/*
+// View = function(){
+// this.data = [];
+// this.columns = [];
+// this.ixcolumns = {};
+// this.ixdefs = {};
+// this.indices = {};
+// };
+
+// alasql.View = View;
+*/
diff --git a/build/ES6/grammar.js b/build/ES6/grammar.js
new file mode 100644
index 0000000000..d565e9cde6
--- /dev/null
+++ b/build/ES6/grammar.js
@@ -0,0 +1,30 @@
+import grammar from './alasqlparser';
+import base from './grammar/base';
+import statements from './grammar/statements';
+import select from './grammar/select';
+import expression from './grammar/expression';
+import exists from './grammar/exists';
+import defcols from './grammar/defcols';
+import from_ from './grammar/from';
+import compile from './grammar/compile';
+import where from './grammar/where';
+import useDatabase from './grammar/useDatabase';
+import functions from './grammar/functions';
+import createtable from './grammar/createtable';
+import insert from './grammar/insert';
+export default mem => {
+ mem.alasql.parser = grammar;
+ base(mem);
+ statements(mem);
+ select(mem);
+ expression(mem);
+ exists(mem);
+ defcols(mem);
+ from_(mem);
+ compile(mem);
+ where(mem);
+ useDatabase(mem);
+ functions(mem);
+ createtable(mem);
+ insert(mem);
+};
diff --git a/build/ES6/grammar/base.js b/build/ES6/grammar/base.js
new file mode 100644
index 0000000000..93b4891099
--- /dev/null
+++ b/build/ES6/grammar/base.js
@@ -0,0 +1,22 @@
+import utils from '../utils';
+export default mem => {
+ const yy = mem.grammar.yy;
+ yy.extend = utils.extend;
+ // Option for case sensitive
+ yy.casesensitive = mem.alasql.options.casesensitive;
+ yy.isInAggr = val => !!mem.alasql.aggr[val];
+ // Base class for all yy classes
+ yy.Base = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Base.prototype.toString = function () { };
+ yy.Base.prototype.toType = function () { };
+ yy.Base.prototype.toJS = function () { };
+ // var BaseClause = yy,BaseClause = function (params) { return yy.extend(this, params); };
+ yy.Base.prototype.compile = utils.returnUndefined;
+ yy.Base.prototype.exec = function () { };
+ // var BaseStatement = yy,BaseStatement = function (params) { return yy.extend(this, params); };
+ yy.Base.prototype.compile = utils.returnUndefined;
+ yy.Base.prototype.exec = function () { };
+ mem.grammar.yy = yy;
+};
diff --git a/build/ES6/grammar/compile.js b/build/ES6/grammar/compile.js
new file mode 100644
index 0000000000..3139aa97cc
--- /dev/null
+++ b/build/ES6/grammar/compile.js
@@ -0,0 +1,513 @@
+/*
+//
+// Select compiler part for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+// yy.Select.prototype.compileSources = function(query) {
+// return sources;
+// };
+import utils from '../utils';
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ const escapeq = utils.escapeq;
+ function compileSelectStar(query, alias, joinstar) {
+ // console.log(query.aliases[alias]);
+ // console.log(query,alias);
+ // console.log(query.aliases[alias].tableid);
+ // console.log(42,631,alias);
+ // console.log(query.aliases);
+ var sp = '', ss = [];
+ // if(!alias) {
+ // sp += 'for(var k1 in p) var w=p[k1];for(var k2 in w){r[k2]=w[k2]};';
+ // } else {
+ // TODO move this out of this function
+ query.ixsources = {};
+ query.sources.forEach(function (source) {
+ query.ixsources[source.alias] = source;
+ });
+ // Fixed
+ var columns;
+ if (query.ixsources[alias]) {
+ var columns = query.ixsources[alias].columns;
+ }
+ // if(columns.length == 0 && query.aliases[alias].tableid) {
+ // var columns = alasql.databases[query.aliases[alias].databaseid].tables[query.aliases[alias].tableid].columns;
+ // };
+ // Check if this is a Table or other
+ if (joinstar && alasql.options.joinstar === 'json') {
+ sp += "r['" + alias + "']={};";
+ }
+ if (columns && columns.length > 0) {
+ columns.forEach(function (tcol) {
+ if (joinstar && alasql.options.joinstar === 'underscore') {
+ ss.push("'" +
+ alias +
+ '_' +
+ tcol.columnid +
+ "':p['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "']");
+ }
+ else if (joinstar && alasql.options.joinstar === 'json') {
+ // ss.push('\''+alias+'_'+tcol.columnid+'\':p[\''+alias+'\'][\''+tcol.columnid+'\']');
+ sp +=
+ "r['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "']=p['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "'];";
+ }
+ else {
+ ss.push("'" + tcol.columnid + "':p['" + alias + "']['" + tcol.columnid + "']");
+ }
+ query.selectColumns[escapeq(tcol.columnid)] = true;
+ // console.log('ok',tcol);
+ var coldef = {
+ columnid: tcol.columnid,
+ dbtypeid: tcol.dbtypeid,
+ dbsize: tcol.dbsize,
+ dbprecision: tcol.dbprecision,
+ dbenum: tcol.dbenum,
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ });
+ //console.log(999,columns);
+ }
+ else {
+ // console.log(60,alias,columns);
+ // if column not exists, then copy all
+ sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
+ //console.log(777, sp);
+ query.dirtyColumns = true;
+ }
+ // }
+ //console.log(87,{s:ss.join(','),sp:sp});
+ return { s: ss.join(','), sp: sp };
+ }
+ yy.Select.prototype.compileSelect1 = function (query, params) {
+ var self = this;
+ query.columns = [];
+ query.xcolumns = {};
+ query.selectColumns = {};
+ query.dirtyColumns = false;
+ var s = 'var r={';
+ var sp = '';
+ var ss = [];
+ //console.log(42,87,this.columns);
+ this.columns.forEach(function (col) {
+ //console.log(col);
+ if (col instanceof yy.Column) {
+ if (col.columnid === '*') {
+ if (col.func) {
+ sp +=
+ "r=params['" +
+ col.param +
+ "'](p['" +
+ query.sources[0].alias +
+ "'],p,params,alasql);";
+ }
+ else if (col.tableid) {
+ //Copy all
+ var ret = compileSelectStar(query, col.tableid, false);
+ if (ret.s) {
+ ss = ss.concat(ret.s);
+ }
+ sp += ret.sp;
+ }
+ else {
+ // console.log('aliases', query.aliases);
+ for (var alias in query.aliases) {
+ var ret = compileSelectStar(query, alias, true); //query.aliases[alias].tableid);
+ if (ret.s) {
+ ss = ss.concat(ret.s);
+ }
+ sp += ret.sp;
+ }
+ // TODO Remove these lines
+ // In case of no information
+ // sp += 'for(var k1 in p){var w=p[k1];'+
+ // 'for(k2 in w) {r[k2]=w[k2]}}'
+ }
+ }
+ else {
+ // If field, otherwise - expression
+ var tbid = col.tableid;
+ // console.log(query.sources);
+ var dbid = col.databaseid || query.sources[0].databaseid || query.database.databaseid;
+ if (!tbid)
+ tbid = query.defcols[col.columnid];
+ if (!tbid)
+ tbid = query.defaultTableid;
+ if (col.columnid !== '_') {
+ if (false &&
+ tbid &&
+ !query.defcols['.'][col.tableid] &&
+ !query.defcols[col.columnid]) {
+ ss.push("'" +
+ escapeq(col.as || col.columnid) +
+ "':p['" +
+ query.defaultTableid +
+ "']['" +
+ col.tableid +
+ "']['" +
+ col.columnid +
+ "']");
+ }
+ else {
+ // workaround for multisheet xlsx export with custom COLUMNS
+ var isMultisheetParam = params &&
+ params.length > 1 &&
+ Array.isArray(params[0]) &&
+ params[0].length >= 1 &&
+ params[0][0].hasOwnProperty('sheetid');
+ if (isMultisheetParam) {
+ sp =
+ 'var r={};var w=p["' +
+ tbid +
+ '"];' +
+ 'var cols=[' +
+ self.columns
+ .map(function (col) {
+ return "'" + col.columnid + "'";
+ })
+ .join(',') +
+ '];var colas=[' +
+ self.columns
+ .map(function (col) {
+ return "'" + (col.as || col.columnid) + "'";
+ })
+ .join(',') +
+ '];' +
+ "for (var i=0;i 0) {
+ // console.log(1);
+ var tcol = xcolumns[col.columnid];
+ if (undefined === tcol) {
+ throw new Error('Column does not exists: ' + col.columnid);
+ }
+ var coldef = {
+ columnid: col.as || col.columnid,
+ dbtypeid: tcol.dbtypeid,
+ dbsize: tcol.dbsize,
+ dbpecision: tcol.dbprecision,
+ dbenum: tcol.dbenum,
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ else {
+ var coldef = {
+ columnid: col.as || col.columnid,
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ query.dirtyColumns = true;
+ }
+ }
+ else {
+ var coldef = {
+ columnid: col.as || col.columnid,
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ // This is a subquery?
+ // throw new Error('There is now such table \''+col.tableid+'\'');
+ }
+ }
+ }
+ else if (col instanceof yy.AggrValue) {
+ if (!self.group) {
+ // self.group=[new yy.Column({columnid:'q',as:'q' })];
+ self.group = [''];
+ }
+ if (!col.as) {
+ col.as = escapeq(col.toString());
+ }
+ if (col.aggregatorid === 'SUM' ||
+ col.aggregatorid === 'MAX' ||
+ col.aggregatorid === 'MIN' ||
+ col.aggregatorid === 'FIRST' ||
+ col.aggregatorid === 'LAST' ||
+ col.aggregatorid === 'AVG' ||
+ col.aggregatorid === 'ARRAY' ||
+ col.aggregatorid === 'REDUCE') {
+ ss.push("'" +
+ utils.escapeq(col.as) +
+ "':" +
+ utils.n2u(col.expression.toJS('p', query.defaultTableid, query.defcols)));
+ }
+ else if (col.aggregatorid === 'COUNT') {
+ ss.push("'" + utils.escapeq(col.as) + "':1");
+ // Nothing
+ }
+ // todo: confirm that no default action must be implemented
+ // query.selectColumns[col.aggregatorid+'('+escapeq(col.expression.toString())+')'] = thtd;
+ var coldef = {
+ columnid: col.as || col.columnid || col.toString(),
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ // else if (col.aggregatorid == 'MAX') {
+ // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
+ // } else if (col.aggregatorid == 'MIN') {
+ // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
+ // }
+ }
+ else {
+ // console.log(203,col.as,col.columnid,col.toString());
+ ss.push("'" +
+ utils.escapeq(col.as || col.columnid || col.toString()) +
+ "':" +
+ utils.n2u(col.toJS('p', query.defaultTableid, query.defcols)));
+ // ss.push('\''+escapeq(col.toString())+'\':'+col.toJS("p",query.defaultTableid));
+ //if(col instanceof yy.Expression) {
+ query.selectColumns[escapeq(col.as || col.columnid || col.toString())] = true;
+ var coldef = {
+ columnid: col.as || col.columnid || col.toString(),
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ });
+ s += ss.join(',') + '};' + sp;
+ return s;
+ //console.log(42,753,query.xcolumns, query.selectColumns);
+ };
+ yy.Select.prototype.compileSelect2 = function (query) {
+ var s = query.selectfns;
+ if (this.orderColumns && this.orderColumns.length > 0) {
+ this.orderColumns.forEach(function (v, idx) {
+ var key = '$$$' + idx;
+ if (v instanceof yy.Column && query.xcolumns[v.columnid]) {
+ s += "r['" + key + "']=r['" + v.columnid + "'];";
+ }
+ else {
+ s += "r['" + key + "']=" + v.toJS('p', query.defaultTableid, query.defcols) + ';';
+ }
+ query.removeKeys.push(key);
+ });
+ }
+ // console.log(285,s);
+ return new Function('p,params,alasql', 'var y;' + s + 'return r');
+ };
+ yy.Select.prototype.compileSelectGroup0 = function (query) {
+ var self = this;
+ self.columns.forEach(function (col, idx) {
+ if (!(col instanceof yy.Column && col.columnid === '*')) {
+ var colas;
+ // = col.as;
+ if (col instanceof yy.Column) {
+ colas = utils.escapeq(col.columnid);
+ }
+ else {
+ colas = utils.escapeq(col.toString(true));
+ // console.log(273,colas);
+ }
+ for (var i = 0; i < idx; i++) {
+ if (colas === self.columns[i].nick) {
+ colas = self.columns[i].nick + ':' + idx;
+ break;
+ }
+ }
+ // }
+ col.nick = colas;
+ if (col.funcid &&
+ (col.funcid.toUpperCase() === 'ROWNUM' || col.funcid.toUpperCase() === 'ROW_NUMBER')) {
+ query.rownums.push(col.as);
+ }
+ // console.log("colas:",colas);
+ // }
+ }
+ else {
+ query.groupStar = col.tableid || 'default';
+ }
+ });
+ this.columns.forEach(function (col) {
+ if (col.findAggregator) {
+ col.findAggregator(query);
+ }
+ });
+ if (this.having) {
+ if (this.having.findAggregator) {
+ this.having.findAggregator(query);
+ }
+ }
+ };
+ yy.Select.prototype.compileSelectGroup1 = function (query) {
+ var self = this;
+ var s = 'var r = {};';
+ self.columns.forEach(function (col) {
+ // console.log(col);
+ if (col instanceof yy.Column && col.columnid === '*') {
+ // s += 'for(var k in g){r[k]=g[k]};';
+ // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
+ s += 'for(var k in g) {r[k]=g[k]};';
+ return '';
+ // console.log(query);
+ }
+ else {
+ // var colas = col.as;
+ var colas = col.as;
+ if (colas === undefined) {
+ if (col instanceof yy.Column) {
+ colas = escapeq(col.columnid);
+ }
+ else {
+ colas = col.nick;
+ }
+ }
+ query.groupColumns[colas] = col.nick;
+ /*/* if(typeof colas == 'undefined') {
+ if(col instanceof yy.Column) {
+ colas = col.columnid;
+ } else {
+ colas = col.toString();
+ for(var i=0;i -1) {
+ s += "r['" + (col.as || col.nick) + "']=g['" + col.nick + "'];";
+ }
+ });
+ if (this.orderColumns && this.orderColumns.length > 0) {
+ this.orderColumns.forEach(function (v, idx) {
+ // console.log(411,v);
+ var key = '$$$' + idx;
+ // console.log(427,v,query.groupColumns,query.xgroupColumns);
+ if (v instanceof yy.Column && query.groupColumns[v.columnid]) {
+ s += "r['" + key + "']=r['" + v.columnid + "'];";
+ }
+ else {
+ s += "r['" + key + "']=" + v.toJS('g', '') + ';';
+ }
+ query.removeKeys.push(key);
+ });
+ }
+ //console.log(425,s);
+ // console.log('selectg:',s);
+ return new Function('g,params,alasql', 'var y;' + s + 'return r');
+ };
+ // SELECY * REMOVE [COLUMNS] col-list, LIKE ''
+ yy.Select.prototype.compileRemoveColumns = function (query) {
+ var self = this;
+ if (typeof this.removecolumns !== 'undefined') {
+ query.removeKeys = query.removeKeys.concat(this.removecolumns
+ .filter(function (column) {
+ return typeof column.like === 'undefined';
+ })
+ .map(function (column) {
+ return column.columnid;
+ }));
+ //console.log(query.removeKeys,this.removecolumns);
+ query.removeLikeKeys = this.removecolumns
+ .filter(function (column) {
+ return typeof column.like !== 'undefined';
+ })
+ .map(function (column) {
+ // return new RegExp((column.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g');
+ return column.like.value;
+ });
+ }
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/build/ES6/grammar/createtable.js b/build/ES6/grammar/createtable.js
new file mode 100644
index 0000000000..07191153d8
--- /dev/null
+++ b/build/ES6/grammar/createtable.js
@@ -0,0 +1,641 @@
+/*
+//
+// CREATE TABLE for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+import utils from '../utils';
+const cloneDeep = utils.cloneDeep;
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ yy.ColumnDef = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ColumnDef.prototype.toString = function () {
+ var s = this.columnid;
+ if (this.dbtypeid) {
+ s += ' ' + this.dbtypeid;
+ }
+ if (this.dbsize) {
+ s += '(' + this.dbsize;
+ if (this.dbprecision) {
+ s += ',' + this.dbprecision;
+ }
+ s += ')';
+ }
+ if (this.primarykey) {
+ s += ' PRIMARY KEY';
+ }
+ if (this.notnull) {
+ s += ' NOT NULL';
+ }
+ return s;
+ };
+ yy.CreateTable = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateTable.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.temporary) {
+ s += ' TEMPORARY';
+ }
+ if (this.view) {
+ s += ' VIEW';
+ }
+ else {
+ s += ' ' + (this.class ? 'CLASS' : 'TABLE');
+ }
+ if (this.ifnotexists) {
+ s += ' IF NOT EXISTS';
+ }
+ s += ' ' + this.table.toString();
+ if (this.viewcolumns) {
+ s +=
+ '(' +
+ this.viewcolumns
+ .map(function (vcol) {
+ return vcol.toString();
+ })
+ .join(',') +
+ ')';
+ }
+ if (this.as) {
+ s += ' AS ' + this.as;
+ }
+ else {
+ var ss = this.columns.map(function (col) {
+ return col.toString();
+ });
+ s += ' (' + ss.join(',') + ')';
+ }
+ if (this.view && this.select) {
+ s += ' AS ' + this.select.toString();
+ }
+ return s;
+ };
+ // CREATE TABLE
+ //yy.CreateTable.prototype.compile = returnUndefined;
+ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
+ // var self = this;
+ var db = alasql.databases[this.table.databaseid || databaseid];
+ var tableid = this.table.tableid;
+ if (!tableid) {
+ throw new Error('Table name is not defined');
+ }
+ // var ifnotexists = this.ifnotexists;
+ var columns = this.columns;
+ // if(false) {
+ // if(!columns) {
+ // throw new Error('Columns are not defined');
+ // }
+ // }
+ var constraints = this.constraints || [];
+ // console.log(this);
+ // IF NOT EXISTS
+ if (this.ifnotexists && db.tables[tableid]) {
+ return cb ? cb(0) : 0;
+ }
+ if (db.tables[tableid]) {
+ throw new Error("Can not create table '" +
+ tableid +
+ "', because it already exists in the database '" +
+ db.databaseid +
+ "'");
+ }
+ var table = (db.tables[tableid] = alasql.newTable()); // TODO Can use special object?
+ // If this is a class
+ if (this.class) {
+ table.isclass = true;
+ }
+ var ss = []; // DEFAULT function components
+ var uss = []; // ON UPDATE function components
+ if (columns) {
+ columns.forEach(function (col) {
+ var dbtypeid = col.dbtypeid;
+ if (!alasql.fn[dbtypeid]) {
+ dbtypeid = dbtypeid.toUpperCase();
+ }
+ // Process SERIAL data type like Postgress
+ if (['SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(dbtypeid) > -1) {
+ col.identity = { value: 1, step: 1 };
+ }
+ var newcol = {
+ columnid: col.columnid,
+ dbtypeid: dbtypeid,
+ dbsize: col.dbsize,
+ dbprecision: col.dbprecision,
+ notnull: col.notnull,
+ identity: col.identity,
+ };
+ if (col.identity) {
+ table.identities[col.columnid] = {
+ value: +col.identity.value,
+ step: +col.identity.step,
+ };
+ // ss.push('\''+col.columnid+'\':(alasql.databases[\''+db.databaseid+'\'].tables[\''
+ // +tableid+'\'].identities[\''+col.columnid+'\'].value)');
+ }
+ if (col.check) {
+ table.checks.push({
+ id: col.check.constrantid,
+ fn: new Function('r', 'var y;return ' + col.check.expression.toJS('r', '')),
+ });
+ }
+ if (col.default) {
+ ss.push("'" + col.columnid + "':" + col.default.toJS('r', ''));
+ }
+ // Check for primary key
+ if (col.primarykey) {
+ var pk = (table.pk = {});
+ pk.columns = [col.columnid];
+ pk.onrightfns = "r['" + col.columnid + "']";
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ }
+ // UNIQUE clause
+ if (col.unique) {
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = [col.columnid];
+ uk.onrightfns = "r['" + col.columnid + "']";
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ }
+ // UNIQUE clause
+ if (col.foreignkey) {
+ // console.log(138,col.foreignkey);
+ var fk = col.foreignkey.table;
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ if (fktable.pk.columns && fktable.pk.columns.length > 0) {
+ fk.columnid = fktable.pk.columns[0];
+ }
+ else {
+ throw new Error('FOREIGN KEY allowed only to tables with PRIMARY KEYs');
+ }
+ }
+ // console.log(fktable.pk);
+ var fkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ // console.log(r, rr, addr);
+ // console.log(fktable.uniqs[fktable.pk.hh][addr]);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ throw new Error('Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid);
+ }
+ return true;
+ };
+ table.checks.push({ fn: fkfn });
+ /*/* var uk = {};
+ if(typeof table.uk == 'undefined') table.uk = [];
+ table.uk.push(uk);
+ uk.columns = [col.columnid];
+ uk.onrightfns = 'r[\''+col.columnid+'\']';
+ uk.onrightfn = new Function("r",'return '+uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ */
+ }
+ if (col.onupdate) {
+ uss.push("r['" + col.columnid + "']=" + col.onupdate.toJS('r', ''));
+ }
+ table.columns.push(newcol);
+ table.xcolumns[newcol.columnid] = newcol;
+ });
+ }
+ table.defaultfns = ss.join(',');
+ table.onupdatefns = uss.join(';');
+ // if(constraints) {
+ constraints.forEach(function (con) {
+ //console.log(con, con.columns);
+ var checkfn;
+ if (con.type === 'PRIMARY KEY') {
+ if (table.pk) {
+ throw new Error('Primary key already exists');
+ }
+ var pk = (table.pk = {});
+ pk.columns = con.columns;
+ pk.onrightfns = pk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ }
+ else if (con.type === 'CHECK') {
+ // console.log(con.expression.toJS('r',''));
+ checkfn = new Function('r', 'var y;return ' + con.expression.toJS('r', ''));
+ }
+ else if (con.type === 'UNIQUE') {
+ // console.log(con);
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = con.columns;
+ uk.onrightfns = uk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ }
+ else if (con.type === 'FOREIGN KEY') {
+ // console.log(con);
+ var col = table.xcolumns[con.columns[0]];
+ var fk = con.fktable;
+ if (con.fkcolumns && con.fkcolumns.length > 0) {
+ fk.columnid = con.fkcolumns[0];
+ }
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ fk.columnid = fktable.pk.columns[0];
+ }
+ // console.log(fktable.pk);
+ checkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ // console.log(r, rr, addr);
+ // console.log(fktable.uniqs[fktable.pk.hh][addr]);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ //console.log(228,table,col,fk);
+ throw new Error('Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid);
+ }
+ return true;
+ };
+ }
+ if (checkfn) {
+ table.checks.push({ fn: checkfn, id: con.constraintid, fk: con.type === 'FOREIGN KEY' });
+ }
+ });
+ if (this.view && this.viewcolumns) {
+ var self = this;
+ this.viewcolumns.forEach(function (vcol, idx) {
+ self.select.columns[idx].as = vcol.columnid;
+ });
+ }
+ //Used in 420from queryfn when table.view = true!
+ if (this.view && this.select) {
+ table.view = true;
+ // console.log(this.select.toString());
+ // console.log('this.table.databaseid',this.table.databaseid);
+ // console.log(this.select.compile(this.table.databaseid||databaseid));
+ table.select = this.select.compile(this.table.databaseid || databaseid);
+ }
+ if (db.engineid) {
+ // console.log(101,db.engineid);
+ return alasql.engines[db.engineid].createTable(this.table.databaseid || databaseid, tableid, this.ifnotexists, cb);
+ // console.log('createtable',res1);
+ // return res1;
+ }
+ // }
+ // if(table.pk) {
+ table.insert = function (r, orreplace) {
+ var oldinserted = alasql.inserted;
+ alasql.inserted = [r];
+ var table = this;
+ var toreplace = false; // For INSERT OR REPLACE
+ /*
+ // IDENTINY or AUTO_INCREMENT
+ // if(table.identities && table.identities.length>0) {
+ // table.identities.forEach(function(ident){
+ // r[ident.columnid] = ident.value;
+ // });
+ // }
+ */
+ // Trigger prevent functionality
+ var prevent = false;
+ for (var tr in table.beforeinsert) {
+ var trigger = table.beforeinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false)
+ prevent = prevent || true;
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ prevent = prevent || true;
+ }
+ }
+ }
+ if (prevent)
+ return;
+ // Trigger prevent functionality
+ var escape = false;
+ for (tr in table.insteadofinsert) {
+ escape = true;
+ trigger = table.insteadofinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ return;
+ //console.log(262,r);
+ //console.log(263,table.identities)
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ // console.log(ident);
+ r[columnid] = ident.value;
+ // console.log(ident);
+ }
+ //console.log(270,r);
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ // if(orreplace) toreplace=true; else
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+ if (typeof table.uniqs[pk.hh][addr] !== 'undefined') {
+ //console.log(pk,addr,pk.onrightfn({ono:1}));
+ //console.log(r, pk.onrightfn(r), pk.onrightfns);
+ if (orreplace)
+ toreplace = table.uniqs[pk.hh][addr];
+ else
+ throw new Error('Cannot insert record, because it already exists in primary key index');
+ }
+ // table.uniqs[pk.hh][addr]=r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] !== 'undefined') {
+ if (orreplace)
+ toreplace = table.uniqs[uk.hh][ukaddr];
+ else
+ throw new Error('Cannot insert record, because it already exists in unique index');
+ }
+ // table.uniqs[uk.hh][ukaddr]=r;
+ });
+ }
+ if (toreplace) {
+ // Do UPDATE!!!
+ // console.log();
+ table.update(function (t) {
+ for (var f in r)
+ t[f] = r[f];
+ }, table.data.indexOf(toreplace), params);
+ }
+ else {
+ table.data.push(r);
+ // Final change before insert
+ // Update indices
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ // console.log(ident);
+ ident.value += ident.step;
+ // console.log(ident);
+ }
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+ table.uniqs[pk.hh][addr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ table.uniqs[uk.hh][ukaddr] = r;
+ });
+ }
+ }
+ // Trigger prevent functionality
+ for (var tr in table.afterinsert) {
+ var trigger = table.afterinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ alasql.inserted = oldinserted;
+ };
+ table.delete = function (index) {
+ var table = this;
+ var r = table.data[index];
+ // Prevent trigger
+ var prevent = false;
+ for (var tr in table.beforedelete) {
+ var trigger = table.beforedelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false)
+ prevent = prevent || true;
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ prevent = prevent || true;
+ }
+ }
+ }
+ if (prevent)
+ return false;
+ // Trigger prevent functionality
+ var escape = false;
+ for (var tr in table.insteadofdelete) {
+ escape = true;
+ var trigger = table.insteadofdelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ return;
+ if (this.pk) {
+ var pk = this.pk;
+ var addr = pk.onrightfn(r);
+ if (typeof this.uniqs[pk.hh][addr] === 'undefined') {
+ throw new Error('Something wrong with primary key index on table');
+ }
+ else {
+ this.uniqs[pk.hh][addr] = undefined;
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ table.uniqs[uk.hh][ukaddr] = undefined;
+ });
+ }
+ };
+ table.deleteall = function () {
+ this.data.length = 0;
+ if (this.pk) {
+ // var r = this.data[i];
+ this.uniqs[this.pk.hh] = {};
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh] = {};
+ });
+ }
+ };
+ table.update = function (assignfn, i, params) {
+ // TODO: Analyze the speed
+ var r = cloneDeep(this.data[i]);
+ var pk;
+ // PART 1 - PRECHECK
+ if (this.pk) {
+ pk = this.pk;
+ pk.pkaddr = pk.onrightfn(r, params);
+ if (typeof this.uniqs[pk.hh][pk.pkaddr] === 'undefined') {
+ throw new Error('Something wrong with index on table');
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][uk.ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ });
+ }
+ assignfn(r, params, alasql);
+ // Prevent trigger
+ var prevent = false;
+ for (var tr in table.beforeupdate) {
+ var trigger = table.beforeupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](this.data[i], r) === false)
+ prevent = prevent || true;
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ prevent = prevent || true;
+ }
+ }
+ }
+ if (prevent)
+ return false;
+ // Trigger prevent functionality
+ var escape = false;
+ for (var tr in table.insteadofupdate) {
+ escape = true;
+ var trigger = table.insteadofupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this.data[i], r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ return;
+ // PART 2 - POST CHECK
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (this.pk) {
+ pk.newpkaddr = pk.onrightfn(r);
+ if (typeof this.uniqs[pk.hh][pk.newpkaddr] !== 'undefined' &&
+ pk.newpkaddr !== pk.pkaddr) {
+ throw new Error('Record already exists');
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.newukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][uk.newukaddr] !== 'undefined' &&
+ uk.newukaddr !== uk.ukaddr) {
+ throw new Error('Record already exists');
+ }
+ });
+ }
+ // PART 3 UPDATE
+ if (this.pk) {
+ this.uniqs[pk.hh][pk.pkaddr] = undefined;
+ this.uniqs[pk.hh][pk.newpkaddr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh][uk.ukaddr] = undefined;
+ table.uniqs[uk.hh][uk.newukaddr] = r;
+ });
+ }
+ this.data[i] = r;
+ // Trigger prevent functionality
+ for (var tr in table.afterupdate) {
+ var trigger = table.afterupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this.data[i], r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ };
+ // console.log(databaseid);
+ // console.log(db.databaseid,db.tables);
+ // console.log(table);
+ var res;
+ if (!alasql.options.nocount) {
+ res = 1;
+ }
+ if (cb)
+ res = cb(res);
+ return res;
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/build/ES6/grammar/defcols.js b/build/ES6/grammar/defcols.js
new file mode 100644
index 0000000000..399967dbc6
--- /dev/null
+++ b/build/ES6/grammar/defcols.js
@@ -0,0 +1,103 @@
+/*
+//
+// Select run-time part for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+export default mem => {
+ const yy = mem.grammar.yy;
+ yy.Select.prototype.compileDefCols = function (query, databaseid) {
+ // console.log('defcols');
+ var defcols = { '.': {} };
+ if (this.from) {
+ this.from.forEach(function (fr) {
+ defcols['.'][fr.as || fr.tableid] = true;
+ if (fr instanceof yy.Table) {
+ var alias = fr.as || fr.tableid;
+ // console.log(alasql.databases[fr.databaseid || databaseid]);
+ // console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
+ //console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
+ //console.log(alasql.databases);
+ var table = mem.alasql.databases[fr.databaseid || databaseid].tables[fr.tableid];
+ //console.log(table);
+ if (undefined === table) {
+ throw new Error('Table does not exists: ' + fr.tableid);
+ }
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-'; // Ambigous
+ }
+ else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ }
+ else if (fr instanceof yy.Select) {
+ }
+ else if (fr instanceof yy.Search) {
+ }
+ else if (fr instanceof yy.ParamValue) {
+ }
+ else if (fr instanceof yy.VarValue) {
+ }
+ else if (fr instanceof yy.FuncValue) {
+ }
+ else if (fr instanceof yy.FromData) {
+ }
+ else if (fr instanceof yy.Json) {
+ }
+ else if (fr.inserted) {
+ }
+ else {
+ // console.log(fr);
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+ if (this.joins) {
+ this.joins.forEach(function (jn) {
+ defcols['.'][jn.as || jn.table.tableid] = true;
+ // console.log(jn);
+ if (jn.table) {
+ var alias = jn.table.tableid;
+ if (jn.as)
+ alias = jn.as;
+ var alias = jn.as || jn.table.tableid;
+ var table = mem.alasql.databases[jn.table.databaseid || databaseid].tables[jn.table.tableid];
+ // console.log(jn.table.tableid, jn.table.databaseid);
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-'; // Ambigous
+ }
+ else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ }
+ else if (jn.select) {
+ throw new Error('Select not implemented yet');
+ }
+ else if (jn.param) {
+ throw new Error('param not implemented yet');
+ }
+ else if (jn.func) {
+ throw new Error('func not implemented yet');
+ }
+ else {
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+ // for(var k in defcols) {
+ // if(defcols[k] == '-') defcols[k] = undefined;
+ // }
+ // console.log(89,defcols);
+ return defcols;
+ };
+ mem.grammar.yy = yy;
+};
diff --git a/build/ES6/grammar/exists.js b/build/ES6/grammar/exists.js
new file mode 100644
index 0000000000..9748246b86
--- /dev/null
+++ b/build/ES6/grammar/exists.js
@@ -0,0 +1,79 @@
+/*
+//
+// EXISTS and other subqueries functions functions for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+export default mem => {
+ const yy = mem.grammar.yy;
+ yy.ExistsValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ExistsValue.prototype.toString = function () {
+ return 'EXISTS(' + this.value.toString() + ')';
+ };
+ yy.ExistsValue.prototype.toType = function () {
+ return 'boolean';
+ };
+ yy.ExistsValue.prototype.toJS = function (context, tableid, defcols) {
+ // return 'ww=this.existsfn['+this.existsidx+'](params,null,p),console.log(ww),ww.length';
+ return 'this.existsfn[' + this.existsidx + '](params,null,' + context + ').data.length';
+ };
+ yy.Select.prototype.compileWhereExists = function (query) {
+ if (!this.exists)
+ return;
+ query.existsfn = this.exists.map(function (ex) {
+ var nq = ex.compile(query.database.databaseid);
+ // console.log(nq);
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+ yy.Select.prototype.compileQueries = function (query) {
+ if (!this.queries)
+ return;
+ query.queriesfn = this.queries.map(function (q) {
+ var nq = q.compile(query.database.databaseid);
+ // console.log(nq);
+ // if(!nq.query) nq.query = {};
+ nq.query.modifier = 'RECORDSET';
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+ //
+ // Prepare subqueries and exists
+ //
+ // Todo: move this function away from grammar
+ mem.alasql.precompile = function (statement, databaseid, params) {
+ // console.log(statement);
+ if (!statement)
+ return;
+ statement.params = params;
+ if (statement.queries) {
+ //console.log(52,statement.queries[0]);
+ statement.queriesfn = statement.queries.map(function (q) {
+ var nq = q.compile(databaseid || statement.database.databaseid);
+ // console.log(nq);
+ // nq.query.modifier = undefined;
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (statement.exists) {
+ //console.log(62,statement.exists);
+ statement.existsfn = statement.exists.map(function (ex) {
+ var nq = ex.compile(databaseid || statement.database.databaseid);
+ // console.log(nq.query.modifier);
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ // if(!nq.query.modifier) nq.query.modifier = 'ARRAY';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ };
+ mem.grammar.yy = yy;
+};
diff --git a/build/ES6/grammar/expression.js b/build/ES6/grammar/expression.js
new file mode 100644
index 0000000000..a0c75f249e
--- /dev/null
+++ b/build/ES6/grammar/expression.js
@@ -0,0 +1,1065 @@
+import utils from '../utils';
+/*
+//
+// Expressions for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ /**
+ * Expression statement ( = 2*2; )
+ * @class
+ * @param {object} params Initial parameters
+ */
+ yy.ExpressionStatement = function (params) {
+ return yy.extend(this, params);
+ };
+ /**
+ Convert AST to string
+ @this ExpressionStatement
+ @return {string}
+*/
+ yy.ExpressionStatement.prototype.toString = function () {
+ return this.expression.toString();
+ };
+ /**
+ Execute statement
+ @param {string} databaseid Database identificatro
+ @param {object} params Statement parameters
+ @param {statement-callback} cb Callback
+ @return {object} Result value
+*/
+ yy.ExpressionStatement.prototype.execute = function (databaseid, params, cb) {
+ if (this.expression) {
+ // console.log(this.expression.toJS('','', null));
+ // console.log(this.expression.toJS('','', null));
+ // console.log(this.expression.toJS('({})','', null));
+ alasql.precompile(this, databaseid, params); // Precompile queries
+ var exprfn = new Function('params,alasql,p', 'var y;return ' + this.expression.toJS('({})', '', null)).bind(this);
+ var res = exprfn(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ }
+ };
+ /**
+ Expression class
+ @class
+ @param {object} params Initial parameters
+*/
+ yy.Expression = function (params) {
+ return yy.extend(this, params);
+ };
+ /**
+ Convert AST to string
+ @this ExpressionStatement
+ @return {string}
+*/
+ yy.Expression.prototype.toString = function (dontas) {
+ var s = this.expression.toString(dontas);
+ if (this.order) {
+ s += ' ' + this.order.toString();
+ }
+ if (this.nocase) {
+ s += ' COLLATE NOCASE';
+ }
+ if (this.direction) {
+ s += ' ' + this.direction;
+ }
+ return s;
+ };
+ /**
+ Find aggregator in AST subtree
+ @this ExpressionStatement
+ @param {object} query Query object
+*/
+ yy.Expression.prototype.findAggregator = function (query) {
+ if (this.expression.findAggregator) {
+ this.expression.findAggregator(query);
+ }
+ };
+ /**
+ Convert AST to JavaScript expression
+ @this ExpressionStatement
+ @param {string} context Context string, e.g. 'p','g', or 'x'
+ @param {string} tableid Default table name
+ @param {object} defcols Default columns dictionary
+ @return {string} JavaScript expression
+*/
+ yy.Expression.prototype.toJS = function (context, tableid, defcols) {
+ // console.log('Expression',this);
+ if (this.expression.reduced) {
+ return 'true';
+ }
+ return this.expression.toJS(context, tableid, defcols);
+ };
+ /**
+ Compile AST to JavaScript expression
+ @this ExpressionStatement
+ @param {string} context Context string, e.g. 'p','g', or 'x'
+ @param {string} tableid Default table name
+ @param {object} defcols Default columns dictionary
+ @return {string} JavaScript expression
+*/
+ yy.Expression.prototype.compile = function (context, tableid, defcols) {
+ // console.log('Expression',this);
+ if (this.reduced) {
+ return utils.returnTrue();
+ }
+ return new Function('p', 'var y;return ' + this.toJS(context, tableid, defcols));
+ };
+ /**
+ JavaScript class
+ @class
+*/
+ yy.JavaScript = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.JavaScript.prototype.toString = function () {
+ var s = '``' + this.value + '``';
+ return s;
+ };
+ yy.JavaScript.prototype.toJS = function ( /* context, tableid, defcols*/) {
+ // console.log('Expression',this);
+ return '(' + this.value + ')';
+ };
+ yy.JavaScript.prototype.execute = function (databaseid, params, cb) {
+ var res = 1;
+ var expr = new Function('params,alasql,p', this.value);
+ expr(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ };
+ /**
+ Literal class
+ @class
+ @example
+ MyVar, [My vairable], `MySQL variable`
+*/
+ yy.Literal = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Literal.prototype.toString = function (dontas) {
+ var s = this.value;
+ if (this.value1) {
+ s = this.value1 + '.' + s;
+ }
+ if (this.alias && !dontas)
+ s += ' AS ' + this.alias;
+ // else s = tableid+'.'+s;
+ return s;
+ };
+ /**
+ Join class
+ @class
+*/
+ yy.Join = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Join.prototype.toString = function () {
+ var s = ' ';
+ if (this.joinmode) {
+ s += this.joinmode + ' ';
+ }
+ s += 'JOIN ' + this.table.toString();
+ return s;
+ };
+ // yy.Join.prototype.toJS = function(context, tableid) {
+ // return 'JOIN'+this.table.toString();
+ // }
+ /**
+ Table class
+ @class
+*/
+ yy.Table = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Table.prototype.toString = function () {
+ var s = this.tableid;
+ // if(this.joinmode)
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+ /**
+ View class
+ @class
+*/
+ yy.View = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.View.prototype.toString = function () {
+ var s = this.viewid;
+ // if(this.joinmode)
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+ /**
+ Binary operation class
+ @class
+*/
+ yy.Op = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Op.prototype.toString = function () {
+ if (this.op === 'IN' || this.op === 'NOT IN') {
+ return this.left.toString() + ' ' + this.op + ' (' + this.right.toString() + ')';
+ }
+ if (this.allsome) {
+ return (this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ this.allsome +
+ ' (' +
+ this.right.toString() +
+ ')');
+ }
+ if (this.op === '->' || this.op === '!') {
+ var s = this.left.toString() + this.op;
+ // console.log(this.right);
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += '(';
+ }
+ s += this.right.toString();
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += ')';
+ }
+ return s;
+ }
+ return (this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ (this.allsome ? this.allsome + ' ' : '') +
+ this.right.toString());
+ };
+ yy.Op.prototype.findAggregator = function (query) {
+ // console.log(this.toString());
+ if (this.left && this.left.findAggregator) {
+ this.left.findAggregator(query);
+ }
+ // Do not go in > ALL
+ if (this.right && this.right.findAggregator && !this.allsome) {
+ this.right.findAggregator(query);
+ }
+ };
+ yy.Op.prototype.toType = function (tableid) {
+ if (['-', '*', '/', '%', '^'].indexOf(this.op) > -1) {
+ return 'number';
+ }
+ if (['||'].indexOf(this.op) > -1) {
+ return 'string';
+ }
+ if (this.op === '+') {
+ if (this.left.toType(tableid) === 'string' || this.right.toType(tableid) === 'string') {
+ return 'string';
+ }
+ if (this.left.toType(tableid) === 'number' || this.right.toType(tableid) === 'number') {
+ return 'number';
+ }
+ }
+ if ([
+ 'AND',
+ 'OR',
+ 'NOT',
+ '=',
+ '==',
+ '===',
+ '!=',
+ '!==',
+ '!===',
+ '>',
+ '>=',
+ '<',
+ '<=',
+ 'IN',
+ 'NOT IN',
+ 'LIKE',
+ 'NOT LIKE',
+ 'REGEXP',
+ 'GLOB',
+ ].indexOf(this.op) > -1) {
+ return 'boolean';
+ }
+ if (this.op === 'BETWEEN' ||
+ this.op === 'NOT BETWEEN' ||
+ this.op === 'IS NULL' ||
+ this.op === 'IS NOT NULL') {
+ return 'boolean';
+ }
+ if (this.allsome) {
+ return 'boolean';
+ }
+ if (!this.op) {
+ return this.left.toType();
+ }
+ return 'unknown';
+ };
+ yy.Op.prototype.toJS = function (context, tableid, defcols) {
+ // console.log(this);
+ var s;
+ var refs = [];
+ var op = this.op;
+ var _this = this;
+ //var leftJS = function(){return _this.left.toJS(context,tableid, defcols)};
+ //var rightJS = function(){return _this.right.toJS(context,tableid, defcols)};
+ var accessedLeft = false, accessedRight = false;
+ var ref = function (expr) {
+ if (expr.toJS) {
+ expr = expr.toJS(context, tableid, defcols);
+ }
+ var i = refs.push(expr) - 1;
+ return 'y[' + i + ']';
+ };
+ var leftJS = function () {
+ return ref(_this.left);
+ };
+ var rightJS = function () {
+ return ref(_this.right);
+ };
+ if (this.op === '=') {
+ op = '===';
+ }
+ else if (this.op === '<>') {
+ op = '!=';
+ }
+ else if (this.op === 'OR') {
+ op = '||';
+ }
+ // Arrow operator
+ if (this.op === '->') {
+ // Expression to prevent error if object is empty (#344)
+ var ljs = '(' + leftJS() + '||{})';
+ if (typeof this.right === 'string') {
+ s = ljs + '["' + this.right + '"]';
+ }
+ else if (typeof this.right === 'number') {
+ s = ljs + '[' + this.right + ']';
+ }
+ else if (this.right instanceof yy.FuncValue) {
+ var ss = [];
+ if (!(!this.right.args || 0 === this.right.args.length)) {
+ ss = this.right.args.map(ref);
+ }
+ s = '' + ljs + "['" + this.right.funcid + "'](" + ss.join(',') + ')';
+ }
+ else {
+ s = '' + ljs + '[' + rightJS() + ']';
+ }
+ }
+ if (this.op === '!') {
+ if (typeof this.right === 'string') {
+ s =
+ '' +
+ 'alasql.databases[alasql.useid].objects[' +
+ leftJS() +
+ ']["' +
+ this.right +
+ '"]';
+ }
+ // TODO - add other cases
+ }
+ if (this.op === 'IS') {
+ s =
+ '' +
+ '(' +
+ '(' +
+ leftJS() +
+ '==null)' + // Cant be ===
+ ' === ' +
+ '(' +
+ rightJS() +
+ '==null)' + // Cant be ===
+ ')';
+ }
+ if (this.op === '==') {
+ s = '' + 'alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === '===' || this.op === '!===') {
+ s =
+ '' +
+ '(' +
+ (this.op === '!===' ? '!' : '') +
+ '(' +
+ '(' +
+ leftJS() +
+ ').valueOf()' +
+ '===' +
+ '(' +
+ rightJS() +
+ ').valueOf()' +
+ ')' +
+ ')';
+ }
+ if (this.op === '!==') {
+ s = '' + '(!alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + '))';
+ }
+ if (this.op === '||') {
+ s = '' + "(''+(" + leftJS() + "||'')+(" + rightJS() + '||""))';
+ }
+ if (this.op === 'LIKE' || this.op === 'NOT LIKE') {
+ s =
+ '(' +
+ (this.op === 'NOT LIKE' ? '!' : '') +
+ 'alasql.utils.like(' +
+ rightJS() +
+ ',' +
+ leftJS();
+ if (this.escape) {
+ s += ',' + ref(this.escape);
+ }
+ s += '))';
+ }
+ if (this.op === 'REGEXP') {
+ s = 'alasql.stdfn.REGEXP_LIKE(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === 'GLOB') {
+ s = 'alasql.utils.glob(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === 'BETWEEN' || this.op === 'NOT BETWEEN') {
+ var left = leftJS();
+ s =
+ '' +
+ '(' +
+ (this.op === 'NOT BETWEEN' ? '!' : '') +
+ '(' +
+ '(' +
+ ref(this.right1) +
+ '<=' +
+ left +
+ ') && (' +
+ left +
+ '<=' +
+ ref(this.right2) +
+ ')' +
+ ')' +
+ ')';
+ /*/*
+ if(this.right instanceof yy.Op && this.right.op == 'AND') {
+
+ return ref('(('+this.right.left)+'<='+leftJS()+')&&'+
+ ref('('+leftJS()+'<='+this.right.right)+'))';
+
+ } else {
+ throw new Error('Wrong BETWEEN operator without AND part');
+ }
+*/
+ }
+ if (this.op === 'IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ // s += 'this.query.queriesdata['+this.queriesidx+']';
+ // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,context))';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,' +
+ context +
+ '))';
+ s += '.indexOf(';
+ s += leftJS() + ')>-1)';
+ }
+ else if (Array.isArray(this.right)) {
+ // if(this.right.length == 0) return 'false';
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(' + leftJS() + ')>-1)';
+ //console.log(s);
+ }
+ else {
+ s = '(' + rightJS() + '.indexOf(' + leftJS() + ')>-1)';
+ //console.log('expression',350,s);
+ // } else {
+ // throw new Error('Wrong IN operator without SELECT part');
+ }
+ }
+ if (this.op === 'NOT IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ //this.query.queriesdata['+this.queriesidx+']
+ // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,p))';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.indexOf(';
+ s += leftJS() + ')<0)';
+ }
+ else if (Array.isArray(this.right)) {
+ // if(this.right.length == 0) return 'true';
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(';
+ s += leftJS() + ')<0)';
+ }
+ else {
+ s = '(' + rightJS() + '.indexOf(';
+ s += leftJS() + ')==-1)';
+ // throw new Error('Wrong NOT IN operator without SELECT part');
+ }
+ }
+ if (this.allsome === 'ALL') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ // var s = 'this.query.queriesdata['+this.queriesidx+']';
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else {
+ throw new Error('NOT IN operator without SELECT');
+ }
+ }
+ if (this.allsome === 'SOME' || this.allsome === 'ANY') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ // var s = 'this.query.queriesdata['+this.queriesidx+']';
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else {
+ throw new Error('SOME/ANY operator without SELECT');
+ }
+ }
+ // Special case for AND optimization (if reduced)
+ if (this.op === 'AND') {
+ if (this.left.reduced) {
+ if (this.right.reduced) {
+ return 'true';
+ }
+ else {
+ s = rightJS();
+ }
+ }
+ else if (this.right.reduced) {
+ s = leftJS();
+ }
+ // Otherwise process as regular operation (see below)
+ op = '&&';
+ }
+ // if(this.op === '^') {
+ // // return 'Math.pow('
+ // // + leftJS()
+ // // + ','
+ // // + rightJS()
+ // // + ')';
+ // }
+ // Change names
+ // console.log(this);
+ var expr = s || '(' + leftJS() + op + rightJS() + ')';
+ var declareRefs = 'y=[(' + refs.join('), (') + ')]';
+ if (op === '&&' || op === '||' || op === 'IS' || op === 'IS NULL' || op === 'IS NOT NULL') {
+ return '(' + declareRefs + ', ' + expr + ')';
+ }
+ return ('(' +
+ declareRefs +
+ ', ' +
+ 'y.some(function(e){return e == null}) ? void 0 : ' +
+ expr +
+ ')');
+ };
+ yy.VarValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.VarValue.prototype.toString = function () {
+ return '@' + this.variable;
+ };
+ yy.VarValue.prototype.toType = function () {
+ return 'unknown';
+ };
+ yy.VarValue.prototype.toJS = function () {
+ return "alasql.vars['" + this.variable + "']";
+ };
+ yy.NumValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.NumValue.prototype.toString = function () {
+ return this.value.toString();
+ };
+ yy.NumValue.prototype.toType = function () {
+ return 'number';
+ };
+ yy.NumValue.prototype.toJS = function () {
+ return '' + this.value;
+ };
+ yy.StringValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.StringValue.prototype.toString = function () {
+ return "'" + this.value.toString() + "'";
+ };
+ yy.StringValue.prototype.toType = function () {
+ return 'string';
+ };
+ yy.StringValue.prototype.toJS = function () {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return "'" + utils.escapeq(this.value) + "'";
+ };
+ yy.DomainValueValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DomainValueValue.prototype.toString = function () {
+ return 'VALUE';
+ };
+ yy.DomainValueValue.prototype.toType = function () {
+ return 'object';
+ };
+ yy.DomainValueValue.prototype.toJS = function (context, tableid, defcols) {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return context;
+ };
+ yy.ArrayValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ArrayValue.prototype.toString = function () {
+ return 'ARRAY[]';
+ };
+ yy.ArrayValue.prototype.toType = function () {
+ return 'object';
+ };
+ yy.ArrayValue.prototype.toJS = function (context, tableid, defcols) {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return ('[(' +
+ this.value
+ .map(function (el) {
+ return el.toJS(context, tableid, defcols);
+ })
+ .join('), (') +
+ ')]');
+ };
+ yy.LogicValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.LogicValue.prototype.toString = function () {
+ return this.value ? 'TRUE' : 'FALSE';
+ };
+ yy.LogicValue.prototype.toType = function () {
+ return 'boolean';
+ };
+ yy.LogicValue.prototype.toJS = function () {
+ return this.value ? 'true' : 'false';
+ };
+ yy.NullValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.NullValue.prototype.toString = function () {
+ return 'NULL';
+ };
+ yy.NullValue.prototype.toJS = function () {
+ return 'undefined';
+ // return 'undefined';
+ };
+ yy.ParamValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ParamValue.prototype.toString = function () {
+ return '$' + this.param;
+ };
+ yy.ParamValue.prototype.toJS = function () {
+ if (typeof this.param === 'string') {
+ return "params['" + this.param + "']";
+ }
+ return 'params[' + this.param + ']';
+ };
+ yy.UniOp = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.UniOp.prototype.toString = function () {
+ var s;
+ s = void 0;
+ if (this.op === '~') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '-') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '+') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '#') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === 'NOT') {
+ s = this.op + '(' + this.right.toString() + ')';
+ }
+ if (this.op === null) {
+ s = '(' + this.right.toString() + ')';
+ }
+ if (!s) {
+ s = '(' + this.right.toString() + ')';
+ }
+ return s;
+ };
+ yy.UniOp.prototype.findAggregator = function (query) {
+ if (this.right.findAggregator) {
+ this.right.findAggregator(query);
+ }
+ };
+ yy.UniOp.prototype.toType = function () {
+ if (this.op === '-') {
+ return 'number';
+ }
+ if (this.op === '+') {
+ return 'number';
+ }
+ if (this.op === 'NOT') {
+ return 'boolean';
+ }
+ // Todo: implement default case
+ };
+ yy.UniOp.prototype.toJS = function (context, tableid, defcols) {
+ if (this.op === '~') {
+ return '(~(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+ if (this.op === '-') {
+ return '(-(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+ if (this.op === '+') {
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ if (this.op === 'NOT') {
+ return '!(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ if (this.op === '#') {
+ if (this.right instanceof yy.Column) {
+ return "(alasql.databases[alasql.useid].objects['" + this.right.columnid + "'])";
+ }
+ else {
+ return ('(alasql.databases[alasql.useid].objects[' +
+ this.right.toJS(context, tableid, defcols) +
+ '])');
+ }
+ }
+ // Please avoid === here
+ if (this.op == null) {
+ // jshint ignore:line
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ // Todo: implement default case.
+ };
+ /*/*
+// yy.Star = function (params) { return yy.extend(this, params); }
+// yy.Star.prototype.toString = function() {
+// var s = this.fieldid;
+// if(this.tableid) {
+// s = this.tableid+'.'+s;
+// if(this.databaseid) {
+// s = this.databaseid+'.'+s;
+// }
+// }
+// if(this.alias) s += ' AS '+this.alias;
+// return s;
+// }
+*/
+ yy.Column = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Column.prototype.toString = function (dontas) {
+ var s;
+ if (this.columnid == +this.columnid) {
+ // jshint ignore:line
+ s = '[' + this.columnid + ']';
+ }
+ else {
+ s = this.columnid;
+ }
+ if (this.tableid) {
+ if (+this.columnid === this.columnid) {
+ s = this.tableid + s;
+ }
+ else {
+ s = this.tableid + '.' + s;
+ }
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ }
+ if (this.alias && !dontas)
+ s += ' AS ' + this.alias;
+ return s;
+ };
+ yy.Column.prototype.toJS = function (context, tableid, defcols) {
+ /*/*
+// var s = this.value;
+// var s = this.columnid;
+// if(this.tableid) {
+// s = this.tableid+'.'+s;
+// // if(this.databaseid) {
+// // s = this.databaseid+'.'+s;
+// // }
+// } else {
+// s = tableid+'.'+s;
+// }
+*/
+ //console.log('yy.Column',this, tableid);
+ // console.log(392,this.columnid);
+ //console.log(506,this);
+ //console.log(523, this, tableid);
+ var s = '';
+ if (!this.tableid && tableid === '' && !defcols) {
+ if (this.columnid !== '_') {
+ s = context + "['" + this.columnid + "']";
+ }
+ else {
+ if (context === 'g') {
+ s = "g['_']";
+ }
+ else {
+ s = context;
+ }
+ }
+ }
+ else {
+ if (context === 'g') {
+ // if(this.columnid == '_') {
+ // } else {
+ s = "g['" + this.nick + "']";
+ // }
+ }
+ else if (this.tableid) {
+ if (this.columnid !== '_') {
+ // if() {
+ // s = context+'[\''+tableid + '\'][\''+this.tableid+'\'][\''+this.columnid+'\']';
+ // } else {
+ s = context + "['" + this.tableid + "']['" + this.columnid + "']";
+ // }
+ }
+ else {
+ if (context === 'g') {
+ s = "g['_']";
+ }
+ else {
+ s = context + "['" + this.tableid + "']";
+ }
+ }
+ }
+ else if (defcols) {
+ var tbid = defcols[this.columnid];
+ if (tbid === '-') {
+ throw new Error('Cannot resolve column "' +
+ this.columnid +
+ '" because it exists in two source tables');
+ }
+ else if (tbid) {
+ if (this.columnid !== '_') {
+ s = context + "['" + tbid + "']['" + this.columnid + "']";
+ }
+ else {
+ s = context + "['" + tbid + "']";
+ }
+ // console.log(836,tbid,s);
+ }
+ else {
+ if (this.columnid !== '_') {
+ // if(defcols['.'][this.tableid]) {
+ // console.log(847,tableid);
+ // console.log(context+'[\''+tableid + '\'][\''+this.tableid + '\']','[\''+this.columnid+'\']');
+ // s = context+'[\''+tableid + '\'][\''+this.tableid + '\'][\''+this.columnid+'\']';
+ // } else {
+ s =
+ context +
+ "['" +
+ (this.tableid || tableid) +
+ "']['" +
+ this.columnid +
+ "']";
+ // }
+ }
+ else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ }
+ else if (tableid === -1) {
+ // if(this.columnid != '') {
+ s = context + "['" + this.columnid + "']";
+ // } else {
+ // s = context;
+ // }
+ }
+ else {
+ if (this.columnid !== '_') {
+ s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
+ }
+ else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ }
+ // console.log(context,s);
+ // console.trace(new Error());
+ //console.log(874,s);
+ return s;
+ };
+ yy.AggrValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.AggrValue.prototype.toString = function (dontas) {
+ var s = '';
+ if (this.aggregatorid === 'REDUCE') {
+ s += this.funcid + '(';
+ }
+ else {
+ s += this.aggregatorid + '(';
+ }
+ if (this.distinct) {
+ s += 'DISTINCT ';
+ }
+ if (this.expression) {
+ s += this.expression.toString();
+ }
+ s += ')';
+ if (this.over) {
+ s += ' ' + this.over.toString();
+ }
+ // console.log(this.over);
+ if (this.alias && !dontas)
+ s += ' AS ' + this.alias;
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+ yy.AggrValue.prototype.findAggregator = function (query) {
+ // console.log('aggregator found',this.toString());
+ // var colas = this.as || this.toString();
+ var colas = utils.escapeq(this.toString()) + ':' + query.selectGroup.length;
+ // console.log('findAgg',this);
+ /*/* var found = false;
+ for(var i=0;i -1) {
+ return 'number';
+ }
+ if (['ARRAY'].indexOf(this.aggregatorid) > -1) {
+ return 'array';
+ }
+ if (['FIRST', 'LAST'].indexOf(this.aggregatorid) > -1) {
+ return this.expression.toType();
+ }
+ // todo: implement default;
+ };
+ yy.AggrValue.prototype.toJS = function ( /*context, tableid, defcols*/) {
+ /*/*
+// var s = 'alasql.functions.'+this.funcid+'(';
+// if(this.expression) s += this.expression.toJS(context, tableid);
+// s += ')';
+// if(this.alias) s += ' AS '+this.alias;
+// return s;
+// var s = '';
+//if(this.as) console.log(499,this.as);
+// var colas = this.as;
+*/
+ var colas = this.nick;
+ if (colas === undefined) {
+ colas = this.toString();
+ }
+ return "g['" + colas + "']";
+ };
+ yy.OrderExpression = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.OrderExpression.prototype.toString = yy.Expression.prototype.toString;
+ /*/* //Duplicated code
+
+function() {
+ var s = this.expression.toString();
+ if(this.order) s += ' '+this.order.toString();
+ if(this.nocase) s += ' '+'COLLATE'+' '+'NOCASE';
+ return s;
+}*/
+ yy.GroupExpression = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.GroupExpression.prototype.toString = function () {
+ return this.type + '(' + this.group.toString() + ')';
+ };
+ /*/* //Duplicated code
+yy.ColumnDef = function (params) { return yy.extend(this, params); }
+yy.ColumnDef.prototype.toString = function() {
+ var s = this.columnid;
+ if(this.dbtypeid) s += ' '+this.dbtypeid;
+ if(this.dbsize) {
+ s += '('+this.dbsize;
+ if(this.dbprecision) s += ','+this.dbprecision;
+ s += ')';
+ };
+ if(this.primarykey) s += ' PRIMARY KEY';
+ if(this.notnull) s += ' NOT NULL';
+ return s;
+}*/
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/build/ES6/grammar/from.js b/build/ES6/grammar/from.js
new file mode 100644
index 0000000000..06534560b7
--- /dev/null
+++ b/build/ES6/grammar/from.js
@@ -0,0 +1,294 @@
+/*
+//
+// Select compiler part for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+import utils from '../utils';
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ yy.Select.prototype.compileFrom = function (query) {
+ // console.log(1);
+ var self = this;
+ query.sources = [];
+ // var tableid = this.from[0].tableid;
+ // var as = '';
+ // if(self.from[0].as) as = this.from[0].as;
+ //console.log(this);
+ query.aliases = {};
+ if (!self.from)
+ return;
+ //console.log(self.from);
+ self.from.forEach(function (tq) {
+ //console.log(tq);
+ //console.log(tq,tq.toJS());
+ var ps = '';
+ var alias = tq.as || tq.tableid;
+ // console.log(alias);
+ if (tq instanceof yy.Table) {
+ // console.log(tq, tq.databaseid, query);
+ query.aliases[alias] = {
+ tableid: tq.tableid,
+ databaseid: tq.databaseid || query.database.databaseid,
+ type: 'table',
+ };
+ }
+ else if (tq instanceof yy.Select) {
+ query.aliases[alias] = { type: 'subquery' };
+ }
+ else if (tq instanceof yy.Search) {
+ query.aliases[alias] = { type: 'subsearch' };
+ }
+ else if (tq instanceof yy.ParamValue) {
+ query.aliases[alias] = { type: 'paramvalue' };
+ }
+ else if (tq instanceof yy.FuncValue) {
+ query.aliases[alias] = { type: 'funcvalue' };
+ }
+ else if (tq instanceof yy.VarValue) {
+ query.aliases[alias] = { type: 'varvalue' };
+ }
+ else if (tq instanceof yy.FromData) {
+ query.aliases[alias] = { type: 'fromdata' };
+ }
+ else if (tq instanceof yy.Json) {
+ query.aliases[alias] = { type: 'json' };
+ }
+ else if (tq.inserted) {
+ query.aliases[alias] = { type: 'inserted' };
+ }
+ else {
+ throw new Error('Wrong table at FROM');
+ }
+ var source = {
+ alias: alias,
+ databaseid: tq.databaseid || query.database.databaseid,
+ tableid: tq.tableid,
+ joinmode: 'INNER',
+ onmiddlefn: utils.returnTrue,
+ srcwherefns: '',
+ srcwherefn: utils.returnTrue,
+ };
+ if (tq instanceof yy.Table) {
+ // Get columns from table
+ source.columns = alasql.databases[source.databaseid].tables[source.tableid].columns;
+ // console.log('test',alasql.options.autocommit);
+ // console.log(997,alasql.databases[source.databaseid].engineid);
+ // console.log(0,source.databaseid);
+ // console.log(1,alasql.databases[source.databaseid]);
+ // console.log(2,alasql.databases[source.databaseid].tables[source.tableid].view);
+ if (alasql.options.autocommit &&
+ alasql.databases[source.databaseid].engineid &&
+ !alasql.databases[source.databaseid].tables[source.tableid].view) {
+ // console.log(997,alasql.databases[source.databaseid].engineid);
+ // TODO -- make view for external engine
+ source.datafn = function (query, params, cb, idx, alasql) {
+ return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(source.databaseid, source.tableid, cb, idx, query);
+ };
+ }
+ else if (alasql.databases[source.databaseid].tables[source.tableid].view) {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res = alasql.databases[source.databaseid].tables[source.tableid].select(params);
+ if (cb)
+ res = cb(res, idx, query);
+ return res;
+ };
+ }
+ else {
+ // console.log('here');
+ // console.log(420,72,alasql.databases[source.databaseid].tables[source.tableid]);
+ source.datafn = function (query, params, cb, idx, alasql) {
+ /*
+ // if(!query) console.log('query');
+ // if(!query.database) console.log('query');
+ // if(!query.database.tables) console.log('query');
+ // if(!source.tableid) console.log('query');
+ // if(!query.database.tables[source.tableid]) console.log(query);
+ // if(!query.database.tables[source.tableid].data) console.log('query');
+ */
+ var res = alasql.databases[source.databaseid].tables[source.tableid].data;
+ // console.log(500,res);
+ if (cb)
+ res = cb(res, idx, query);
+ // console.log(600,res);
+ return res;
+ // return alasql.databases[source.databaseid].tables[source.tableid].data;
+ };
+ }
+ }
+ else if (tq instanceof yy.Select) {
+ source.subquery = tq.compile(query.database.databaseid);
+ if (typeof source.subquery.query.modifier === 'undefined') {
+ source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
+ }
+ source.columns = source.subquery.query.columns;
+ // console.log(101,source.columns);
+ // tq.columns;
+ source.datafn = function (query, params, cb, idx, alasql) {
+ // return source.subquery(query.params, cb, idx, query);
+ var res;
+ source.subquery(query.params, function (data) {
+ res = data.data;
+ if (cb)
+ res = cb(res, idx, query);
+ return res;
+ // return data.data;
+ });
+ // console.log(515,res);
+ return res;
+ };
+ }
+ else if (tq instanceof yy.Search) {
+ source.subsearch = tq;
+ source.columns = [];
+ /*/*
+ //.compile(query.database.databaseid);
+ // if(typeof source.subquery.query.modifier == 'undefined') {
+ // source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
+ // }
+ // source.columns = source.subquery.query.columns;
+ // console.log(101,source.columns);
+ // tq.columns;
+ */
+ source.datafn = function (query, params, cb, idx, alasql) {
+ // return source.subquery(query.params, cb, idx, query);
+ var res;
+ source.subsearch.execute(query.database.databaseid, query.params, function (data) {
+ res = data;
+ if (cb)
+ res = cb(res, idx, query);
+ return res;
+ // return data.data;
+ });
+ // console.log(515,res);
+ return res;
+ };
+ }
+ else if (tq instanceof yy.ParamValue) {
+ ps = "var res = alasql.prepareFromData(params['" + tq.param + "']";
+ // console.log(tq);
+ if (tq.array)
+ ps += ',true';
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq.inserted) {
+ ps = 'var res = alasql.prepareFromData(alasql.inserted';
+ if (tq.array)
+ ps += ',true';
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.Json) {
+ ps = 'var res = alasql.prepareFromData(' + tq.toJS();
+ // console.log(tq);
+ if (tq.array)
+ ps += ',true';
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.VarValue) {
+ ps = "var res = alasql.prepareFromData(alasql.vars['" + tq.variable + "']";
+ // console.log(tq);
+ if (tq.array)
+ ps += ',true';
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.FuncValue) {
+ ps = "var res=alasql.from['" + tq.funcid.toUpperCase() + "'](";
+ /*/*
+ // if(tq.args && tq.args.length>0) {
+ // s += tq.args.map(function(arg){
+ // return arg.toJS();
+ // }).concat('cb,idx,query').join(',');
+ // }
+ // if(tq.args && tq.args.length>0) {
+ // s += tq.args.map(function(arg){
+ // return arg.toJS();
+ // }).concat().join(',');
+ // }
+ */
+ if (tq.args && tq.args.length > 0) {
+ if (tq.args[0]) {
+ ps += tq.args[0].toJS('query.oldscope') + ',';
+ }
+ else {
+ ps += 'null,';
+ }
+ if (tq.args[1]) {
+ ps += tq.args[1].toJS('query.oldscope') + ',';
+ }
+ else {
+ ps += 'null,';
+ }
+ }
+ else {
+ ps += 'null,null,';
+ }
+ ps += 'cb,idx,query';
+ ps += ');/*if(cb)res=cb(res,idx,query);*/return res';
+ // console.log(s);
+ source.datafn = new Function('query, params, cb, idx, alasql', ps);
+ }
+ else if (tq instanceof yy.FromData) {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res = tq.data;
+ if (cb)
+ res = cb(res, idx, query);
+ return res;
+ };
+ }
+ else {
+ throw new Error('Wrong table at FROM');
+ }
+ // source.data = alasql.databases[source.databaseid].tables[source.tableid].data;
+ query.sources.push(source);
+ });
+ // TODO Add joins
+ query.defaultTableid = query.sources[0].alias;
+ //console.log(query.defaultTableid);
+ };
+ alasql.prepareFromData = function (data, array) {
+ //console.log(177,data,array);
+ var i, ilen;
+ var res = data;
+ if (typeof data === 'string') {
+ res = data.split(/\r?\n/);
+ if (array) {
+ for (i = 0, ilen = res.length; i < ilen; i++) {
+ res[i] = [res[i]];
+ }
+ }
+ }
+ else if (array) {
+ res = [];
+ for (i = 0, ilen = data.length; i < ilen; i++) {
+ res.push([data[i]]);
+ }
+ // console.log(res);
+ }
+ else if (typeof data === 'object' && !Array.isArray(data)) {
+ // } else if(typeof data == 'object' && !(typeof data.length == 'undefined')) {
+ if (typeof Mongo !== 'undefined' &&
+ typeof Mongo.Collection !== 'undefined' &&
+ data instanceof Mongo.Collection) {
+ res = data.find().fetch();
+ }
+ else {
+ res = [];
+ for (var key in data) {
+ if (data.hasOwnProperty(key))
+ res.push([key, data[key]]);
+ }
+ }
+ // console.log(res);
+ }
+ // console.log(typeof data);
+ return res;
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/build/ES6/grammar/functions.js b/build/ES6/grammar/functions.js
new file mode 100644
index 0000000000..84023a8068
--- /dev/null
+++ b/build/ES6/grammar/functions.js
@@ -0,0 +1,123 @@
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ yy.FuncValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.FuncValue.prototype.toString = function (dontas) {
+ var s = '';
+ if (alasql.fn[this.funcid])
+ s += this.funcid;
+ else if (alasql.aggr[this.funcid])
+ s += this.funcid;
+ else if (alasql.stdlib[this.funcid.toUpperCase()] || alasql.stdfn[this.funcid.toUpperCase()])
+ s += this.funcid.toUpperCase();
+ s += '(';
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(',');
+ }
+ s += ')';
+ if (this.as && !dontas)
+ s += ' AS ' + this.as.toString();
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+ yy.FuncValue.prototype.execute = function (databaseid, params, cb) {
+ var res = 1;
+ alasql.precompile(this, databaseid, params); // Precompile queries
+ // console.log(34,this.toJS('','',null));
+ var expr = new Function('params,alasql', 'var y;return ' + this.toJS('', '', null));
+ expr(params, alasql);
+ if (cb)
+ res = cb(res);
+ return res;
+ };
+ /*/*
+ //yy.FuncValue.prototype.compile = function(context, tableid, defcols){
+ // console.log('Expression',this);
+ // if(this.reduced) return returnTrue();
+ // return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
+ //};
+
+
+ // yy.FuncValue.prototype.compile = function(context, tableid, defcols){
+ // // console.log('Expression',this);
+ // if(this.reduced) return returnTrue();
+ // return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
+ // };
+
+ */
+ yy.FuncValue.prototype.findAggregator = function (query) {
+ if (this.args && this.args.length > 0) {
+ this.args.forEach(function (arg) {
+ if (arg.findAggregator)
+ arg.findAggregator(query);
+ });
+ }
+ };
+ yy.FuncValue.prototype.toJS = function (context, tableid, defcols) {
+ var s = '';
+ var funcid = this.funcid;
+ // IF this is standard compile functions
+ if (!alasql.fn[funcid] && alasql.stdlib[funcid.toUpperCase()]) {
+ if (this.args && this.args.length > 0) {
+ s += alasql.stdlib[funcid.toUpperCase()].apply(this, this.args.map(function (arg) {
+ return arg.toJS(context, tableid);
+ }));
+ }
+ else {
+ s += alasql.stdlib[funcid.toUpperCase()]();
+ }
+ }
+ else if (!alasql.fn[funcid] && alasql.stdfn[funcid.toUpperCase()]) {
+ if (this.newid)
+ s += 'new ';
+ s += 'alasql.stdfn.' + this.funcid.toUpperCase() + '(';
+ // if(this.args) s += this.args.toJS(context, tableid);
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ }
+ else {
+ // This is user-defined run-time function
+ // TODO arguments!!!
+ // var s = '';
+ if (this.newid)
+ s += 'new ';
+ s += 'alasql.fn.' + this.funcid + '(';
+ // if(this.args) s += this.args.toJS(context, tableid);
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ }
+ //console.log('userfn:',s,this);
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+ /*/*
+ // // Functions compiler
+ // nodes.FunctionValue.prototype.toJS = function (context, tableid) {
+ // var s = '';
+ // s += fns[this.name.toUpperCase()].apply(null,this.arguments.map(function(arg){
+ // if(arg) return arg.toJS(context, tableid);
+ // else return '';
+ // }));
+ // return s;
+ // };
+ */
+ mem.grammar.yy = yy;
+};
diff --git a/build/ES6/grammar/insert.js b/build/ES6/grammar/insert.js
new file mode 100644
index 0000000000..6310e72224
--- /dev/null
+++ b/build/ES6/grammar/insert.js
@@ -0,0 +1,306 @@
+/*
+//
+// INSERT for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ yy.Insert = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Insert.prototype.toString = function () {
+ var s = 'INSERT ';
+ if (this.orreplace)
+ s += 'OR REPLACE ';
+ if (this.replaceonly)
+ s = 'REPLACE ';
+ s += 'INTO ' + this.into.toString();
+ if (this.columns)
+ s += '(' + this.columns.toString() + ')';
+ if (this.values)
+ s += ' VALUES ' + this.values.toString();
+ if (this.select)
+ s += ' ' + this.select.toString();
+ return s;
+ };
+ yy.Insert.prototype.toJS = function (context, tableid, defcols) {
+ // console.log('Expression',this);
+ // if(this.expression.reduced) return 'true';
+ // return this.expression.toJS(context, tableid, defcols);
+ // console.log('Select.toJS', 81, this.queriesidx);
+ // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
+ var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
+ // s = '(console.log(this.queriesfn[0]),'+s+')';
+ // console.log(this,s);
+ return s;
+ };
+ yy.Insert.prototype.compile = function (databaseid) {
+ var self = this;
+ databaseid = self.into.databaseid || databaseid;
+ var db = alasql.databases[databaseid];
+ // console.log(self);
+ var tableid = self.into.tableid;
+ var table = db.tables[tableid];
+ if (!table) {
+ throw "Table '" + tableid + "' could not be found";
+ }
+ // Check, if this dirty flag is required
+ var s = '';
+ var sw = '';
+ var s = "db.tables['" + tableid + "'].dirty=true;";
+ var s3 = 'var a,aa=[],x;';
+ var s33;
+ // INSERT INTO table VALUES
+ if (this.values) {
+ if (this.exists) {
+ this.existsfn = this.exists.map(function (ex) {
+ var nq = ex.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (this.queries) {
+ this.queriesfn = this.queries.map(function (q) {
+ var nq = q.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ // console.log(1);
+ self.values.forEach(function (values) {
+ var ss = [];
+ // s += 'db.tables[\''+tableid+'\'].data.push({';
+ // s += '';
+ if (self.columns) {
+ self.columns.forEach(function (col, idx) {
+ //console.log(db.tables, tableid, table);
+ // ss.push(col.columnid +':'+ self.values[idx].value.toString());
+ // console.log(rec[f.name.value]);
+ // if(rec[f.name.value] == "NULL") rec[f.name.value] = undefined;
+ // if(table.xflds[f.name.value].dbtypeid == "INT") rec[f.name.value] = +rec[f.name.value]|0;
+ // else if(table.xflds[f.name.value].dbtypeid == "FLOAT") rec[f.name.value] = +rec[f.name.value];
+ var q = "'" + col.columnid + "':";
+ if (table.xcolumns && table.xcolumns[col.columnid]) {
+ if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(table.xcolumns[col.columnid].dbtypeid) >= 0) {
+ //q += ''
+ q += '(x=' + values[idx].toJS() + ',x==undefined?undefined:+x)';
+ }
+ else if (alasql.fn[table.xcolumns[col.columnid].dbtypeid]) {
+ q += '(new ' + table.xcolumns[col.columnid].dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ ss.push(q);
+ });
+ }
+ else {
+ // var table = db.tables[tableid];
+ // console.log('table1', db, self);
+ //console.log(111, table.columns);
+ //console.log(74,table);
+ if (Array.isArray(values) && table.columns && table.columns.length > 0) {
+ table.columns.forEach(function (col, idx) {
+ var q = "'" + col.columnid + "':";
+ // var val = values[idx].toJS();
+ if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(col.dbtypeid) >= 0) {
+ q += '+' + values[idx].toJS();
+ }
+ else if (alasql.fn[col.dbtypeid]) {
+ q += '(new ' + col.dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ /*/*
+ // if(table.xcolumns && table.xcolumns[col.columnid] &&
+ // (table.xcolumns[col.columnid].dbtypeid == "DATE" ||
+ // table.xcolumns[col.columnid].dbtypeid == "DATETIME"
+ // )) {
+ // val = "(new Date("+val+"))";
+ // }
+ // || table.xcolumns[col.columnid].dbtypeid == "FLOAT"
+ // || table.xcolumns[col.columnid].dbtypeid == "NUMBER"
+ // || table.xcolumns[col.columnid].dbtypeid == "MONEY"
+ // )) q += '+';
+ // console.log(self.values[idx].toString());
+ //console.log(self);
+ // q += val;
+
+ // if(table.xcolumns && table.xcolumns[col.columnid] && table.xcolumns[col.columnid].dbtypeid == "INT") q += '|0';
+ */
+ ss.push(q);
+ /*/*
+ // console.log(fld);
+ // TODO: type checking and conversions
+ // rec[fld.fldid] = eval(self.insertExpression[idx].toJS('',''));
+ // console.log(rec[fld.fldid]);
+ // if(rec[fld.fldid] == "NULL") rec[fld.fldid] = undefined;
+
+ // if(table.xflds[fld.fldid].dbtypeid == "INT") rec[fld.fldid] = +rec[fld.fldid]|0;
+ // else if(table.xflds[fld.fldid].dbtypeid == "FLOAT" || table.xflds[fld.fldid].dbtypeid == "MONEY" )
+ // rec[fld.fldid] = +rec[fld.fldid];
+ */
+ });
+ }
+ else {
+ // console.log(222,values);
+ // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
+ sw = JSONtoJS(values);
+ }
+ }
+ //console.log(ss);
+ if (db.tables[tableid].defaultfns) {
+ ss.unshift(db.tables[tableid].defaultfns);
+ }
+ if (sw) {
+ s += 'a=' + sw + ';';
+ }
+ else {
+ s += 'a={' + ss.join(',') + '};';
+ }
+ // If this is a class
+ if (db.tables[tableid].isclass) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s += 'a.$class="' + tableid + '";';
+ s += 'a.$id=db.counter++;';
+ s += 'db.objects[a.$id]=a;';
+ }
+ // s += 'db.tables[\''+tableid+'\'].insert(r);';
+ if (db.tables[tableid].insert) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s +=
+ "db.tables['" +
+ tableid +
+ "'].insert(a," +
+ (self.orreplace ? 'true' : 'false') +
+ ');';
+ }
+ else {
+ s += 'aa.push(a);';
+ }
+ });
+ s33 = s3 + s;
+ if (db.tables[tableid].insert) {
+ // s += 'alasql.databases[\''+databaseid+'\'].tables[\''+tableid+'\'].insert(r);';
+ }
+ else {
+ s +=
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data=" +
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data.concat(aa);";
+ }
+ if (db.tables[tableid].insert) {
+ if (db.tables[tableid].isclass) {
+ s += 'return a.$id;';
+ }
+ else {
+ s += 'return ' + self.values.length;
+ }
+ }
+ else {
+ s += 'return ' + self.values.length;
+ }
+ //console.log(186,s3+s);
+ var insertfn = new Function('db, params, alasql', 'var y;' + s3 + s).bind(this);
+ // INSERT INTO table SELECT
+ }
+ else if (this.select) {
+ this.select.modifier = 'RECORDSET';
+ var selectfn = this.select.compile(databaseid);
+ if (db.engineid && alasql.engines[db.engineid].intoTable) {
+ var statement = function (params, cb) {
+ var aa = selectfn(params);
+ var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa.data, null, cb);
+ return res;
+ };
+ return statement;
+ }
+ else {
+ // console.log(224,table.defaultfns);
+ var defaultfns = 'return alasql.utils.extend(r,{' + table.defaultfns + '})';
+ var defaultfn = new Function('r,db,params,alasql', defaultfns);
+ var insertfn = function (db, params, alasql) {
+ var res = selectfn(params).data;
+ if (db.tables[tableid].insert) {
+ // If insert() function exists (issue #92)
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ var r = cloneDeep(res[i]);
+ defaultfn(r, db, params, alasql);
+ db.tables[tableid].insert(r, self.orreplace);
+ }
+ }
+ else {
+ db.tables[tableid].data = db.tables[tableid].data.concat(res);
+ }
+ if (alasql.options.nocount)
+ return;
+ else
+ return res.length;
+ };
+ }
+ }
+ else if (this.default) {
+ var insertfns = "db.tables['" + tableid + "'].data.push({" + table.defaultfns + '});return 1;';
+ var insertfn = new Function('db,params,alasql', insertfns);
+ }
+ else {
+ throw new Error('Wrong INSERT parameters');
+ }
+ // console.log(1,s);
+ // console.log(s33);
+ if (db.engineid && alasql.engines[db.engineid].intoTable && alasql.options.autocommit) {
+ var statement = function (params, cb) {
+ var aa = new Function('db,params', 'var y;' + s33 + 'return aa;')(db, params);
+ // console.log(s33);
+ var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa, null, cb);
+ // if(cb) cb(res);
+ return res;
+ };
+ }
+ else {
+ var statement = function (params, cb) {
+ //console.log(databaseid);
+ var db = alasql.databases[databaseid];
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].loadTableData(databaseid, tableid);
+ }
+ var res = insertfn(db, params, alasql);
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].saveTableData(databaseid, tableid);
+ }
+ // var res = insertfn(db, params);
+ if (alasql.options.nocount)
+ res = undefined;
+ if (cb)
+ cb(res);
+ return res;
+ };
+ }
+ return statement;
+ };
+ yy.Insert.prototype.execute = function (databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ // throw new Error('Insert statement is should be compiled')
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/build/ES6/grammar/select.js b/build/ES6/grammar/select.js
new file mode 100644
index 0000000000..08bcfc9cd9
--- /dev/null
+++ b/build/ES6/grammar/select.js
@@ -0,0 +1,396 @@
+/*
+//
+// Select run-time part for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+//
+// Main part of SELECT procedure
+//
+import { queryfn } from '../processing/query';
+import utils from '../utils';
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ yy.Select = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Select.prototype.toString = function () {
+ var s;
+ s = '';
+ if (this.explain) {
+ s += 'EXPLAIN ';
+ }
+ s += 'SELECT ';
+ if (this.modifier) {
+ s += this.modifier + ' ';
+ }
+ if (this.distinct) {
+ s += 'DISTINCT ';
+ }
+ if (this.top) {
+ s += 'TOP ' + this.top.value + ' ';
+ if (this.percent) {
+ s += 'PERCENT ';
+ }
+ }
+ s += this.columns
+ .map(function (col) {
+ var s;
+ s = col.toString();
+ if (typeof col.as !== 'undefined') {
+ s += ' AS ' + col.as;
+ }
+ return s;
+ })
+ .join(', ');
+ if (this.from) {
+ s +=
+ ' FROM ' +
+ this.from
+ .map(function (f) {
+ var ss;
+ ss = f.toString();
+ if (f.as) {
+ ss += ' AS ' + f.as;
+ }
+ return ss;
+ })
+ .join(',');
+ }
+ if (this.joins) {
+ s += this.joins
+ .map(function (jn) {
+ var ss;
+ ss = ' ';
+ if (jn.joinmode) {
+ ss += jn.joinmode + ' ';
+ }
+ if (jn.table) {
+ ss += 'JOIN ' + jn.table.toString();
+ }
+ else if (jn.select) {
+ ss += 'JOIN (' + jn.select.toString() + ')';
+ }
+ else if (jn instanceof alasql.yy.Apply) {
+ ss += jn.toString();
+ }
+ else {
+ throw new Error('Wrong type in JOIN mode');
+ }
+ if (jn.as) {
+ ss += ' AS ' + jn.as;
+ }
+ if (jn.using) {
+ ss += ' USING ' + jn.using.toString();
+ }
+ if (jn.on) {
+ ss += ' ON ' + jn.on.toString();
+ }
+ return ss;
+ })
+ .join('');
+ }
+ if (this.where) {
+ s += ' WHERE ' + this.where.toString();
+ }
+ if (this.group && this.group.length > 0) {
+ s +=
+ ' GROUP BY ' +
+ this.group
+ .map(function (grp) {
+ return grp.toString();
+ })
+ .join(', ');
+ }
+ if (this.having) {
+ s += ' HAVING ' + this.having.toString();
+ }
+ if (this.order && this.order.length > 0) {
+ s +=
+ ' ORDER BY ' +
+ this.order
+ .map(function (ord) {
+ return ord.toString();
+ })
+ .join(', ');
+ }
+ if (this.limit) {
+ s += ' LIMIT ' + this.limit.value;
+ }
+ if (this.offset) {
+ s += ' OFFSET ' + this.offset.value;
+ }
+ if (this.union) {
+ s += ' UNION ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.union.toString();
+ }
+ if (this.unionall) {
+ s +=
+ ' UNION ALL ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.unionall.toString();
+ }
+ if (this.except) {
+ s += ' EXCEPT ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.except.toString();
+ }
+ if (this.intersect) {
+ s +=
+ ' INTERSECT ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.intersect.toString();
+ }
+ return s;
+ };
+ /**
+ Select statement in expression
+ */
+ yy.Select.prototype.toJS = function (context) {
+ // console.log('Expression',this);
+ // if(this.expression.reduced) return 'true';
+ // return this.expression.toJS(context, tableid, defcols);
+ // console.log('Select.toJS', 81, this.queriesidx);
+ // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
+ var s = 'alasql.utils.flatArray(this.queriesfn[' +
+ (this.queriesidx - 1) +
+ '](this.params,null,' +
+ context +
+ '))[0]';
+ // var s = '(ee=alasql.utils.flatArray(this.queriesfn['+(this.queriesidx-1)+'](this.params,null,'+context+')),console.log(999,ee),ee[0])';
+ return s;
+ };
+ // Compile SELECT statement
+ yy.Select.prototype.compile = function (databaseid, params) {
+ var db = alasql.databases[databaseid];
+ // Create variable for query
+ var query = new mem.alasql.Query();
+ // Array with columns to be removed
+ query.removeKeys = [];
+ query.aggrKeys = [];
+ query.explain = this.explain; // Explain
+ query.explaination = [];
+ query.explid = 1;
+ //console.log(this.modifier);
+ query.modifier = this.modifier;
+ query.database = db;
+ // 0. Precompile whereexists
+ this.compileWhereExists(query);
+ // 0. Precompile queries for IN, NOT IN, ANY and ALL operators
+ this.compileQueries(query);
+ query.defcols = this.compileDefCols(query, databaseid);
+ // 1. Compile FROM clause
+ query.fromfn = this.compileFrom(query);
+ // 2. Compile JOIN clauses
+ if (this.joins) {
+ this.compileJoins(query);
+ }
+ // todo?: 3. Compile SELECT clause
+ // For ROWNUM()
+ query.rownums = [];
+ this.compileSelectGroup0(query);
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfns = this.compileSelectGroup1(query);
+ }
+ else {
+ query.selectfns = this.compileSelect1(query, params);
+ }
+ // Remove columns clause
+ this.compileRemoveColumns(query);
+ // 5. Optimize WHERE and JOINS
+ if (this.where) {
+ this.compileWhereJoins(query);
+ }
+ // 4. Compile WHERE clause
+ query.wherefn = this.compileWhere(query);
+ // 6. Compile GROUP BY
+ if (this.group || query.selectGroup.length > 0) {
+ query.groupfn = this.compileGroup(query);
+ }
+ // 6. Compile HAVING
+ if (this.having) {
+ query.havingfn = this.compileHaving(query);
+ }
+ // 8. Compile ORDER BY clause
+ if (this.order) {
+ query.orderfn = this.compileOrder(query);
+ }
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfn = this.compileSelectGroup2(query);
+ }
+ else {
+ query.selectfn = this.compileSelect2(query);
+ }
+ // 7. Compile DISTINCT, LIMIT and OFFSET
+ query.distinct = this.distinct;
+ // 9. Compile PIVOT clause
+ if (this.pivot)
+ query.pivotfn = this.compilePivot(query);
+ if (this.unpivot)
+ query.pivotfn = this.compileUnpivot(query);
+ // 10. Compile TOP/LIMIT/OFFSET/FETCH cleuse
+ if (this.top) {
+ query.limit = this.top.value;
+ }
+ else if (this.limit) {
+ query.limit = this.limit.value;
+ if (this.offset) {
+ query.offset = this.offset.value;
+ }
+ }
+ query.percent = this.percent;
+ // 9. Compile ordering function for UNION and UNIONALL
+ query.corresponding = this.corresponding; // If CORRESPONDING flag exists
+ if (this.union) {
+ query.unionfn = this.union.compile(databaseid);
+ if (this.union.order) {
+ query.orderfn = this.union.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.unionall) {
+ query.unionallfn = this.unionall.compile(databaseid);
+ if (this.unionall.order) {
+ query.orderfn = this.unionall.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.except) {
+ query.exceptfn = this.except.compile(databaseid);
+ if (this.except.order) {
+ query.orderfn = this.except.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.intersect) {
+ query.intersectfn = this.intersect.compile(databaseid);
+ if (this.intersect.order) {
+ query.intersectfn = this.intersect.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ // SELECT INTO
+ if (this.into) {
+ if (this.into instanceof yy.Table) {
+ //
+ // Save into the table in database
+ //
+ if (alasql.options.autocommit &&
+ alasql.databases[this.into.databaseid || databaseid].engineid) {
+ // For external database when AUTOCOMMIT is ONs
+ query.intoallfns =
+ 'return alasql.engines["' +
+ alasql.databases[this.into.databaseid || databaseid].engineid +
+ '"]' +
+ '.intoTable("' +
+ (this.into.databaseid || databaseid) +
+ '","' +
+ this.into.tableid +
+ '",this.data, columns, cb);';
+ }
+ else {
+ // Into AlaSQL tables
+ query.intofns =
+ "alasql.databases['" +
+ (this.into.databaseid || databaseid) +
+ "'].tables" +
+ "['" +
+ this.into.tableid +
+ "'].data.push(r);";
+ }
+ }
+ else if (this.into instanceof yy.VarValue) {
+ //
+ // Save into local variable
+ // SELECT * INTO @VAR1 FROM ?
+ //
+ query.intoallfns =
+ 'alasql.vars["' +
+ this.into.variable +
+ '"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';
+ }
+ else if (this.into instanceof yy.FuncValue) {
+ //
+ // If this is INTO() function, then call it
+ // with one or two parameters
+ //
+ var qs = "return alasql.into['" + this.into.funcid.toUpperCase() + "'](";
+ if (this.into.args && this.into.args.length > 0) {
+ qs += this.into.args[0].toJS() + ',';
+ if (this.into.args.length > 1) {
+ qs += this.into.args[1].toJS() + ',';
+ }
+ else {
+ qs += 'undefined,';
+ }
+ }
+ else {
+ qs += 'undefined, undefined,';
+ }
+ query.intoallfns = qs + 'this.data,columns,cb)';
+ //console.log('999');
+ }
+ else if (this.into instanceof yy.ParamValue) {
+ //
+ // Save data into parameters array
+ // like alasql('SELECT * INTO ? FROM ?',[outdata,srcdata]);
+ //
+ query.intofns = "params['" + this.into.param + "'].push(r)";
+ }
+ if (query.intofns) {
+ // Create intofn function
+ // console.log(234234, query.intofns);
+ query.intofn = new Function('r,i,params,alasql', 'var y;' + query.intofns);
+ }
+ else if (query.intoallfns) {
+ // Create intoallfn function
+ // console.log(23423234, query.intoallfns);
+ query.intoallfn = new Function('columns,cb,params,alasql', 'var y;' + query.intoallfns);
+ }
+ }
+ let statement = function (params, cb, oldscope) {
+ query.params = params;
+ var res1 = queryfn(alasql, query, oldscope, (res) => {
+ //console.log(res[0].schoolid);
+ //console.log(184,res);
+ if (query.rownums.length > 0) {
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ for (var j = 0, jlen = query.rownums.length; j < jlen; j++) {
+ res[i][query.rownums[j]] = i + 1;
+ }
+ }
+ }
+ var res2 = utils.modify(alasql, query, res);
+ if (cb) {
+ cb(res2);
+ }
+ //console.log(8888,res2);
+ return res2;
+ });
+ //console.log(9999,res1);
+ // if(typeof res1 != 'undefined') res1 = modify(query,res1);
+ return res1;
+ };
+ // statement.dbversion = ;
+ // console.log(statement.query);
+ //console.log(202,statement);
+ statement.query = query;
+ return statement;
+ };
+ // yy.Select.prototype.exec = function(databaseid) {
+ // throw new Error('Select statement should be precompiled');
+ // };
+ yy.Select.prototype.execute = function (databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ // throw new Error('Insert statement is should be compiled')
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/build/ES6/grammar/statements.js b/build/ES6/grammar/statements.js
new file mode 100644
index 0000000000..aecb56d2f0
--- /dev/null
+++ b/build/ES6/grammar/statements.js
@@ -0,0 +1,42 @@
+/*
+//
+// Statements class for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+export default mem => {
+ const yy = mem.grammar.yy;
+ // Statements container
+ yy.Statements = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Statements.prototype.toString = function () {
+ return this.statements
+ .map(function (st) {
+ return st.toString();
+ })
+ .join('; ');
+ };
+ // Compile array of statements into single statement
+ yy.Statements.prototype.compile = function (db) {
+ var statements = this.statements.map(function (st) {
+ return st.compile(db);
+ });
+ if (statements.length === 1) {
+ return statements[0];
+ }
+ else {
+ return function (params, cb) {
+ var res = statements.map(function (st) {
+ return st(params);
+ });
+ if (cb) {
+ cb(res);
+ }
+ return res;
+ };
+ }
+ };
+ mem.grammar.yy = yy;
+};
diff --git a/build/ES6/grammar/useDatabase.js b/build/ES6/grammar/useDatabase.js
new file mode 100644
index 0000000000..20343cd8d3
--- /dev/null
+++ b/build/ES6/grammar/useDatabase.js
@@ -0,0 +1,191 @@
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+ yy.CreateDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateDatabase.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.engineid)
+ s += ' ' + this.engineid;
+ s += ' DATABASE';
+ if (this.ifnotexists)
+ s += ' IF NOT EXISTS';
+ s += ' ' + this.databaseid;
+ if (this.args && this.args.length > 0) {
+ s +=
+ '(' +
+ this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ') +
+ ')';
+ }
+ if (this.as)
+ s += ' AS ' + this.as;
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.CreateDatabase.prototype.execute = function (databaseid, params, cb) {
+ var args;
+ if (this.args && this.args.length > 0) {
+ args = this.args.map(function (arg) {
+ // console.log(346235, arg.toJS());
+ return new Function('params,alasql', 'var y;return ' + arg.toJS())(params, alasql);
+ });
+ }
+ if (this.engineid) {
+ var res = alasql.engines[this.engineid].createDatabase(this.databaseid, this.args, this.ifnotexists, this.as, cb);
+ return res;
+ }
+ else {
+ var dbid = this.databaseid;
+ if (alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' already exists");
+ }
+ var a = alasql.newDatabase(dbid);
+ var res = 1;
+ if (cb)
+ return cb(res);
+ return res;
+ }
+ };
+ // CREATE DATABASE databaseid
+ yy.AttachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.AttachDatabase.prototype.toString = function (args) {
+ var s = 'ATTACH';
+ if (this.engineid)
+ s += ' ' + this.engineid;
+ s += ' DATABASE' + ' ' + this.databaseid;
+ // TODO add params
+ if (args) {
+ s += '(';
+ if (args.length > 0) {
+ s += args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ');
+ }
+ s += ')';
+ }
+ if (this.as)
+ s += ' AS' + ' ' + this.as;
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.AttachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.engines[this.engineid]) {
+ throw new Error('Engine "' + this.engineid + '" is not defined.');
+ }
+ var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, this.args, params, cb);
+ return res;
+ };
+ // CREATE DATABASE databaseid
+ yy.DetachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DetachDatabase.prototype.toString = function () {
+ var s = 'DETACH';
+ s += ' DATABASE' + ' ' + this.databaseid;
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.DetachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.databases[this.databaseid].engineid) {
+ throw new Error('Cannot detach database "' + this.engineid + '", because it was not attached.');
+ }
+ var res;
+ var dbid = this.databaseid;
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ else {
+ res = 0;
+ }
+ }
+ else {
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb)
+ cb(res);
+ return res;
+ // var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, cb);
+ // return res;
+ };
+ // USE DATABSE databaseid
+ // USE databaseid
+ yy.UseDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.UseDatabase.prototype.toString = function () {
+ return 'USE' + ' ' + 'DATABASE' + ' ' + this.databaseid;
+ };
+ //yy.UseDatabase.prototype.compile = returnUndefined;
+ yy.UseDatabase.prototype.execute = function (databaseid, params, cb) {
+ var dbid = this.databaseid;
+ if (!alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ alasql.use(dbid);
+ var res = 1;
+ if (cb)
+ cb(res);
+ return res;
+ };
+ // DROP DATABASE databaseid
+ yy.DropDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DropDatabase.prototype.toString = function () {
+ var s = 'DROP';
+ if (this.ifexists)
+ s += ' IF EXISTS';
+ s += ' DATABASE ' + this.databaseid;
+ return s;
+ };
+ //yy.DropDatabase.prototype.compile = returnUndefined;
+ yy.DropDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (this.engineid) {
+ return alasql.engines[this.engineid].dropDatabase(this.databaseid, this.ifexists, cb);
+ }
+ var res;
+ var dbid = this.databaseid;
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ else {
+ res = 0;
+ }
+ }
+ else {
+ if (alasql.databases[dbid].engineid) {
+ throw new Error("Cannot drop database '" + dbid + "', because it is attached. Detach it.");
+ }
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb)
+ cb(res);
+ return res;
+ };
+ mem.grammar.yy = yy;
+};
diff --git a/build/ES6/grammar/where.js b/build/ES6/grammar/where.js
new file mode 100644
index 0000000000..61562ac332
--- /dev/null
+++ b/build/ES6/grammar/where.js
@@ -0,0 +1,107 @@
+export default mem => {
+ const yy = mem.grammar.yy;
+ yy.Select.prototype.compileWhere = function (query) {
+ if (this.where) {
+ if (typeof this.where === 'function') {
+ return this.where;
+ }
+ else {
+ var s = this.where.toJS('p', query.defaultTableid, query.defcols);
+ query.wherefns = s;
+ // console.log(s);
+ return new Function('p,params,alasql', 'var y;return ' + s);
+ }
+ }
+ else
+ return function () {
+ return true;
+ };
+ };
+ yy.Select.prototype.compileWhereJoins = function (query) {
+ return;
+ // TODO Fix Where optimization
+ //console.log(query);
+ optimizeWhereJoin(query, this.where.expression);
+ //for sources compile wherefs
+ query.sources.forEach(function (source) {
+ if (source.srcwherefns) {
+ source.srcwherefn = new Function('p,params,alasql', 'var y;return ' + source.srcwherefns);
+ }
+ if (source.wxleftfns) {
+ source.wxleftfn = new Function('p,params,alasql', 'var y;return ' + source.wxleftfns);
+ }
+ if (source.wxrightfns) {
+ source.wxrightfn = new Function('p,params,alasql', 'var y;return ' + source.wxrightfns);
+ }
+ // console.log(source.alias, source.wherefns)
+ // console.log(source);
+ });
+ };
+ function optimizeWhereJoin(query, ast) {
+ if (!ast)
+ return false;
+ if (!(ast instanceof yy.Op))
+ return;
+ if (ast.op != '=' && ast.op != 'AND')
+ return;
+ if (ast.allsome)
+ return;
+ var s = ast.toJS('p', query.defaultTableid, query.defcols);
+ var fsrc = [];
+ query.sources.forEach(function (source, idx) {
+ // Optimization allowed only for tables only
+ if (source.tableid) {
+ // This is a good place to remove all unnecessary optimizations
+ if (s.indexOf("p['" + source.alias + "']") > -1)
+ fsrc.push(source);
+ }
+ });
+ //console.log(fsrc.length);
+ // if(fsrc.length < query.sources.length) return;
+ // console.log(ast);
+ // console.log(s);
+ // console.log(fsrc.length);
+ if (fsrc.length == 0) {
+ // console.log('no optimization, can remove this part of ast');
+ return;
+ }
+ else if (fsrc.length == 1) {
+ if (!(s.match(/p\[\'.*?\'\]/g) || []).every(function (s) {
+ return s == "p['" + fsrc[0].alias + "']";
+ })) {
+ return;
+ // This is means, that we have column from parent query
+ // So we return without optimization
+ }
+ var src = fsrc[0]; // optmiization source
+ src.srcwherefns = src.srcwherefns ? src.srcwherefns + '&&' + s : s;
+ if (ast instanceof yy.Op && (ast.op == '=' && !ast.allsome)) {
+ if (ast.left instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (rs.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = ls;
+ fsrc[0].wxrightfns = rs;
+ }
+ }
+ if (ast.right instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (ls.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = rs;
+ fsrc[0].wxrightfns = ls;
+ }
+ }
+ }
+ ast.reduced = true; // To do not duplicate wherefn and srcwherefn
+ return;
+ }
+ else {
+ if ((ast.op = 'AND')) {
+ optimizeWhereJoin(query, ast.left);
+ optimizeWhereJoin(query, ast.right);
+ }
+ }
+ }
+ mem.grammar.yy = yy;
+};
diff --git a/build/ES6/logic.js b/build/ES6/logic.js
new file mode 100644
index 0000000000..4229bb44e0
--- /dev/null
+++ b/build/ES6/logic.js
@@ -0,0 +1,8 @@
+import stdlib from './logic/stdlib';
+import stdfn from './logic/stdfn';
+import aggr from './logic/aggr';
+export default mem => {
+ stdlib(mem);
+ stdfn(mem);
+ aggr(mem);
+};
diff --git a/build/ES6/logic/aggr.js b/build/ES6/logic/aggr.js
new file mode 100644
index 0000000000..6878ad283e
--- /dev/null
+++ b/build/ES6/logic/aggr.js
@@ -0,0 +1,173 @@
+export default mem => {
+ const alasql = mem.alasql;
+ //stdlib.UCASE = function(s) {return '('+s+').toUpperCase()';}
+ //REPLACE
+ // RTRIM
+ // SUBSTR
+ // TRIM
+ //REPLACE
+ // RTRIM
+ // SUBSTR
+ // TRIM
+ // Aggregator for joining strings
+ alasql.aggr.GROUP_CONCAT = function (v, s, stage) {
+ if (stage === 1) {
+ return '' + v;
+ }
+ else if (stage === 2) {
+ s += ',' + v;
+ return s;
+ }
+ return s;
+ };
+ alasql.aggr.MEDIAN = function (v, s, stage) {
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ }
+ else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ }
+ else {
+ if (!s.length) {
+ return s;
+ }
+ var r = s.sort();
+ var p = (r.length + 1) / 2;
+ if (Number.isInteger(p)) {
+ return r[p - 1];
+ }
+ return (r[Math.floor(p - 1)] + r[Math.ceil(p - 1)]) / 2;
+ }
+ };
+ alasql.aggr.QUART = function (v, s, stage, nth) {
+ //Quartile (first quartile per default or input param)
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ }
+ else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ }
+ else {
+ if (!s.length) {
+ return s;
+ }
+ nth = !nth ? 1 : nth;
+ var r = s.sort();
+ var p = (nth * (r.length + 1)) / 4;
+ if (Number.isInteger(p)) {
+ return r[p - 1]; //Integer value
+ }
+ return r[Math.floor(p)]; //Math.ceil -1 or Math.floor
+ }
+ };
+ alasql.aggr.QUART2 = function (v, s, stage) {
+ //Second Quartile
+ return alasql.aggr.QUART(v, s, stage, 2);
+ };
+ alasql.aggr.QUART3 = function (v, s, stage) {
+ //Third Quartile
+ return alasql.aggr.QUART(v, s, stage, 3);
+ };
+ // Standard deviation
+ alasql.aggr.VAR = function (v, s, stage) {
+ if (stage === 1) {
+ if (v === null) {
+ return { arr: [], sum: 0 };
+ }
+ return { arr: [v], sum: v };
+ }
+ else if (stage === 2) {
+ if (v === null) {
+ return s;
+ }
+ s.arr.push(v);
+ s.sum += v;
+ return s;
+ }
+ else {
+ var N = s.arr.length;
+ var avg = s.sum / N;
+ var std = 0;
+ for (var i = 0; i < N; i++) {
+ std += (s.arr[i] - avg) * (s.arr[i] - avg);
+ }
+ std = std / (N - 1);
+ return std;
+ }
+ };
+ alasql.aggr.STDEV = function (v, s, stage) {
+ if (stage === 1 || stage === 2) {
+ return alasql.aggr.VAR(v, s, stage);
+ }
+ else {
+ return Math.sqrt(alasql.aggr.VAR(v, s, stage));
+ }
+ };
+ // Standard deviation
+ // alasql.aggr.VARP = function(v,s,acc){
+ // if(typeof acc.arr == 'undefined') {
+ // acc.arr = [v];
+ // acc.sum = v;
+ // } else {
+ // acc.arr.push(v);
+ // acc.sum += v;
+ // }
+ // var N = acc.arr.length;
+ // var avg = acc.sum / N;
+ // var std = 0;
+ // for(var i=0;i {
+ const stdfn = {};
+ stdfn.CONCAT = function (...args) {
+ return Array.prototype.slice.call(args).join('');
+ };
+ stdfn.REGEXP_LIKE = function (a, b, c) {
+ // console.log(a,b,c);
+ return (a || '').search(RegExp(b, c)) > -1;
+ };
+ // Concatination of strings
+ stdfn.CONCAT_WS = function (...args) {
+ return args.slice(1, args.length).join(args[0]);
+ };
+ // String functions
+ stdfn.REPLACE = function (target, pattern, replacement) {
+ return (target || '').split(pattern).join(replacement);
+ };
+ stdfn.CHAR = String.fromCharCode.bind(String);
+ stdfn.ASCII = function (a) {
+ return a.charCodeAt(0);
+ };
+ // This array is required for fast GUID generation
+ var lut = [];
+ for (var i = 0; i < 256; i++) {
+ lut[i] = (i < 16 ? '0' : '') + i.toString(16);
+ }
+ stdfn.NEWID = stdfn.UUID = stdfn.GEN_RANDOM_UUID = function () {
+ var d0 = (Math.random() * 0xffffffff) | 0;
+ var d1 = (Math.random() * 0xffffffff) | 0;
+ var d2 = (Math.random() * 0xffffffff) | 0;
+ var d3 = (Math.random() * 0xffffffff) | 0;
+ return (lut[d0 & 0xff] +
+ lut[(d0 >> 8) & 0xff] +
+ lut[(d0 >> 16) & 0xff] +
+ lut[(d0 >> 24) & 0xff] +
+ '-' +
+ lut[d1 & 0xff] +
+ lut[(d1 >> 8) & 0xff] +
+ '-' +
+ lut[((d1 >> 16) & 0x0f) | 0x40] +
+ lut[(d1 >> 24) & 0xff] +
+ '-' +
+ lut[(d2 & 0x3f) | 0x80] +
+ lut[(d2 >> 8) & 0xff] +
+ '-' +
+ lut[(d2 >> 16) & 0xff] +
+ lut[(d2 >> 24) & 0xff] +
+ lut[d3 & 0xff] +
+ lut[(d3 >> 8) & 0xff] +
+ lut[(d3 >> 16) & 0xff] +
+ lut[(d3 >> 24) & 0xff]);
+ };
+ mem.alasql.stdfn = stdfn;
+};
diff --git a/build/ES6/logic/stdlib.js b/build/ES6/logic/stdlib.js
new file mode 100644
index 0000000000..810fbaba8c
--- /dev/null
+++ b/build/ES6/logic/stdlib.js
@@ -0,0 +1,104 @@
+import utils from '../utils';
+const und = utils.und;
+export default mem => {
+ const stdlib = {};
+ stdlib.ABS = function (a) {
+ return 'Math.abs(' + a + ')';
+ };
+ stdlib.CLONEDEEP = function (a) {
+ return 'alasql.utils.cloneDeep(' + a + ')';
+ };
+ stdlib.EXP = function (a) {
+ return 'Math.pow(Math.E,' + a + ')';
+ };
+ stdlib.IIF = function (a, b, c) {
+ if (arguments.length == 3) {
+ return '((' + a + ')?(' + b + '):(' + c + '))';
+ }
+ else {
+ throw new Error('Number of arguments of IFF is not equals to 3');
+ }
+ };
+ stdlib.IFNULL = function (a, b) {
+ return '(' + a + '||' + b + ')';
+ };
+ stdlib.INSTR = function (s, p) {
+ return '((' + s + ').indexOf(' + p + ')+1)';
+ };
+ //stdlib.LEN = stdlib.LENGTH = function(s) {return '('+s+'+"").length';};
+ stdlib.LEN = stdlib.LENGTH = function (s) {
+ return und(s, 'y.length');
+ };
+ //stdlib.LENGTH = function(s) {return '('+s+').length'};
+ stdlib.LOWER = stdlib.LCASE = function (s) {
+ return und(s, 'String(y).toLowerCase()');
+ };
+ //stdlib.LCASE = function(s) {return '('+s+').toLowerCase()';}
+ // Returns a character expression after it removes leading blanks.
+ // see https://docs.microsoft.com/en-us/sql/t-sql/functions/ltrim-transact-sql
+ stdlib.LTRIM = function (s) {
+ return und(s, 'y.replace(/^[ ]+/,"")');
+ };
+ // Returns a character string after truncating all trailing spaces.
+ // see https://docs.microsoft.com/en-us/sql/t-sql/functions/rtrim-transact-sql
+ stdlib.RTRIM = function (s) {
+ return und(s, 'y.replace(/[ ]+$/,"")');
+ };
+ stdlib.MAX = stdlib.GREATEST = function () {
+ return 'Math.max(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+ stdlib.MIN = stdlib.LEAST = function () {
+ return 'Math.min(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+ stdlib.SUBSTRING = stdlib.SUBSTR = stdlib.MID = function (a, b, c) {
+ if (arguments.length == 2)
+ return und(a, 'y.substr(' + b + '-1)');
+ else if (arguments.length == 3)
+ return und(a, 'y.substr(' + b + '-1,' + c + ')');
+ };
+ // Here we uses undefined instead of null
+ stdlib.ISNULL = stdlib.NULLIF = function (a, b) {
+ return '(' + a + '==' + b + '?undefined:' + a + ')';
+ };
+ stdlib.POWER = function (a, b) {
+ return 'Math.pow(' + a + ',' + b + ')';
+ };
+ stdlib.RANDOM = function (r) {
+ if (arguments.length == 0) {
+ return 'Math.random()';
+ }
+ else {
+ return '(Math.random()*(' + r + ')|0)';
+ }
+ };
+ stdlib.ROUND = function (s, d) {
+ if (arguments.length == 2) {
+ return 'Math.round((' + s + ')*Math.pow(10,(' + d + ')))/Math.pow(10,(' + d + '))';
+ }
+ else {
+ return 'Math.round(' + s + ')';
+ }
+ };
+ stdlib.CEIL = stdlib.CEILING = function (s) {
+ return 'Math.ceil(' + s + ')';
+ };
+ stdlib.FLOOR = function (s) {
+ return 'Math.floor(' + s + ')';
+ };
+ stdlib.ROWNUM = function () {
+ return '1';
+ };
+ stdlib.ROW_NUMBER = function () {
+ return '1';
+ };
+ stdlib.SQRT = function (s) {
+ return 'Math.sqrt(' + s + ')';
+ };
+ stdlib.TRIM = function (s) {
+ return und(s, 'y.trim()');
+ };
+ stdlib.UPPER = stdlib.UCASE = function (s) {
+ return und(s, 'String(y).toUpperCase()');
+ };
+ mem.alasql.stdlib = stdlib;
+};
diff --git a/src/05copyright.js b/build/ES6/main.js
similarity index 53%
rename from src/05copyright.js
rename to build/ES6/main.js
index 66c254a77d..22fc54e642 100644
--- a/src/05copyright.js
+++ b/build/ES6/main.js
@@ -1,10 +1,10 @@
-//! AlaSQL vPACKAGE_VERSION_NUMBER | © 2014-2016 Andrey Gershun & Mathias Rangel Wulff | License: MIT
-/*
+//! AlaSQL vPACKAGE_VERSION_NUMBER | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
+/**
@module alasql
@version PACKAGE_VERSION_NUMBER
AlaSQL - JavaScript SQL database
-© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
+© 2014-2018 Andrey Gershun & Mathias Rangel Wulff
@license
The MIT License (MIT)
@@ -29,3 +29,33 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
+import addOptions from './options';
+import utils from './utils';
+import grammar from './alasqlparser';
+import expandGrammar from './grammar';
+import alasqlObj from './alasqlObj';
+import addDataStruct from './dataStruct';
+import addlogic from './logic';
+const alasql = () => { };
+const mem = { grammar, alasql };
+mem.alasql = alasqlObj(mem);
+mem.alasql.version = 'PACKAGE_VERSION_NUMBER';
+mem.alasql.debug = false;
+addOptions(mem);
+expandGrammar(mem);
+addDataStruct(mem);
+addlogic(mem);
+if (0)
+ mem.alasql.path = utils.findAlaSQLPath();
+/*only-for-browser/*
+//!var require = function(){return null}; // as alasqlparser.js is generated, we can not "remove" referenses to
+//!var __dirname = '';
+//*/
+/*only-for-browser/*
+if(utils.isCordova || utils.isMeteorServer || utils.isNode ){
+ console.warn('It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead.')
+}
+//*/
+// Create and set default database
+mem.alasql.newDatabase('alasql');
+export default mem.alasql;
diff --git a/build/ES6/options.js b/build/ES6/options.js
new file mode 100644
index 0000000000..2edba93d41
--- /dev/null
+++ b/build/ES6/options.js
@@ -0,0 +1,488 @@
+/**
+ Database class for Alasql.js
+*/
+//var alasqlparser = require('./alasqlparser').parse;
+import utils from './utils';
+var hash = x => x;
+export default mem => {
+ // Initial parameters
+ const alasql = mem.alasql;
+ /**
+ Jison parser
+ */
+ //alasql.parser = alasqlparser;
+ /*/* This is not working :-/ * /
+ alasql.parser.parseError = function(str, hash) {
+ throw new Error('Have you used a reserved keyword without `escaping` it?\n' + str);
+ };/*
+
+ /**
+ Jison parser
+ @param {string} sql SQL statement
+ @return {object} AST (Abstract Syntax Tree)
+
+
+ @todo Create class AST
+ @todo Add other parsers
+
+ @example
+ alasql.parse = function(sql) {
+ // My own parser here
+ }
+ */
+ alasql.parse = function (sql) {
+ return mem.grammar.parse(utils.uncomment(sql));
+ };
+ /**
+ List of engines of external databases
+ @type {object}
+ @todo Create collection type
+ */
+ alasql.engines = {};
+ /**
+ List of databases
+ @type {object}
+ */
+ alasql.databases = {};
+ /**
+ Number of databases
+ @type {number}
+*/
+ alasql.databasenum = 0;
+ /**
+ Alasql options object
+ */
+ alasql.options = {};
+ alasql.options.errorlog = false; // Log or throw error
+ alasql.options.valueof = false; // Use valueof in orderfn
+ alasql.options.dropifnotexists = false; // DROP database in any case
+ alasql.options.datetimeformat = 'sql'; // How to handle DATE and DATETIME types
+ // Another value is 'javascript'
+ alasql.options.casesensitive = true; // Table and column names are case sensitive and converted to lower-case
+ alasql.options.logtarget = 'output'; // target for log. Values: 'console', 'output', 'id' of html tag
+ alasql.options.logprompt = true; // Print SQL at log
+ alasql.options.progress = false; // Callback for async queries progress
+ // Default modifier
+ // values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX
+ alasql.options.modifier = undefined;
+ // How many rows to lookup to define columns
+ alasql.options.columnlookup = 10;
+ // Create vertex if not found
+ alasql.options.autovertex = true;
+ // Use dbo as current database (for partial T-SQL comaptibility)
+ alasql.options.usedbo = true;
+ // AUTOCOMMIT ON | OFF
+ alasql.options.autocommit = true;
+ // Use cache
+ alasql.options.cache = true;
+ // Compatibility flags
+ alasql.options.tsql = true;
+ alasql.options.mysql = true;
+ alasql.options.postgres = true;
+ alasql.options.oracle = true;
+ alasql.options.sqlite = true;
+ alasql.options.orientdb = true;
+ // for SET NOCOUNT OFF
+ alasql.options.nocount = false;
+ // Check for NaN and convert it to undefined
+ alasql.options.nan = false;
+ alasql.options.joinstar = 'overwrite'; // Option for SELECT * FROM a,b
+ //alasql.options.worker = false;
+ // Variables
+ alasql.vars = {};
+ alasql.declares = {};
+ alasql.prompthistory = [];
+ alasql.plugins = {}; // If plugin already loaded
+ alasql.from = {}; // FROM functions
+ alasql.into = {}; // INTO functions
+ alasql.fn = {};
+ alasql.aggr = {};
+ alasql.busy = 0;
+ // Cache
+ alasql.MAXSQLCACHESIZE = 10000;
+ alasql.DEFAULTDATABASEID = 'alasql';
+ /* WebWorker */
+ alasql.lastid = 0;
+ alasql.buffer = {};
+ /**
+ Select current database
+ @param {string} databaseid Selected database identificator
+ */
+ alasql.use = function (databaseid) {
+ if (!databaseid) {
+ databaseid = alasql.DEFAULTDATABASEID;
+ }
+ if (alasql.useid === databaseid) {
+ return;
+ }
+ alasql.useid = databaseid;
+ var db = alasql.databases[alasql.useid];
+ alasql.tables = db.tables;
+ // alasql.fn = db.fn;
+ db.resetSqlCache();
+ if (alasql.options.usedbo) {
+ alasql.databases.dbo = db; // Operator???
+ }
+ };
+ alasql.autoval = function (tablename, colname, getNext, databaseid) {
+ var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];
+ if (!db.tables[tablename]) {
+ throw new Error('Tablename not found: ' + tablename);
+ }
+ if (!db.tables[tablename].identities[colname]) {
+ throw new Error('Colname not found: ' + colname);
+ }
+ if (getNext) {
+ return db.tables[tablename].identities[colname].value || null;
+ }
+ return (db.tables[tablename].identities[colname].value -
+ db.tables[tablename].identities[colname].step || null);
+ };
+ /**
+ Run single SQL statement on current database
+ */
+ alasql.exec = function (sql, params, cb, scope) {
+ // Avoid setting params if not needed even with callback
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = {};
+ }
+ delete alasql.error;
+ params = params || {};
+ if (alasql.options.errorlog) {
+ try {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ }
+ catch (err) {
+ alasql.error = err;
+ if (cb) {
+ cb(null, alasql.error);
+ }
+ }
+ }
+ else {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ }
+ };
+ /**
+ Run SQL statement on specific database
+ */
+ alasql.dexec = function (databaseid, sql, params, cb, scope) {
+ var db = alasql.databases[databaseid];
+ // if(db.databaseid != databaseid) console.trace('got!');
+ // console.log(3, databaseid, alasql.databases);
+ var hh;
+ // Create hash
+ if (alasql.options.cache) {
+ hh = hash(sql);
+ var statement = db.sqlCache[hh];
+ // If database structure was not changed since last time return cache
+ if (statement && db.dbversion === statement.dbversion) {
+ return statement(params, cb);
+ }
+ }
+ // Create AST
+ var ast = alasql.parse(sql);
+ if (!ast.statements) {
+ return;
+ }
+ if (0 === ast.statements.length) {
+ return 0;
+ }
+ else if (1 === ast.statements.length) {
+ if (ast.statements[0].compile) {
+ // Compile and Execute
+ statement = ast.statements[0].compile(databaseid, params);
+ if (!statement) {
+ return;
+ }
+ statement.sql = sql;
+ statement.dbversion = db.dbversion;
+ if (alasql.options.cache) {
+ // Secure sqlCache size
+ if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
+ db.resetSqlCache();
+ }
+ db.sqlCacheSize++;
+ db.sqlCache[hh] = statement;
+ }
+ var res = (alasql.res = statement(params, cb, scope));
+ return res;
+ }
+ else {
+ // console.log(ast.statements[0]);
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ res = alasql.res = ast.statements[0].execute(databaseid, params, cb, scope);
+ return res;
+ }
+ }
+ else {
+ // Multiple statements
+ if (cb) {
+ alasql.adrun(databaseid, ast, params, cb, scope);
+ }
+ else {
+ return alasql.drun(databaseid, ast, params, cb, scope);
+ }
+ }
+ };
+ /**
+ Run multiple statements and return array of results sync
+ */
+ alasql.drun = function (databaseid, ast, params, cb, scope) {
+ var useid = alasql.useid;
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+ var res = [];
+ for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {
+ if (ast.statements[i]) {
+ if (ast.statements[i].compile) {
+ var statement = ast.statements[i].compile(alasql.useid);
+ res.push((alasql.res = statement(params, null, scope)));
+ }
+ else {
+ alasql.precompile(ast.statements[i], alasql.useid, params);
+ res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));
+ }
+ }
+ }
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+ if (cb) {
+ cb(res);
+ }
+ alasql.res = res;
+ return res;
+ };
+ /**
+ Run multiple statements and return array of results async
+ */
+ alasql.adrun = function (databaseid, ast, params, cb, scope) {
+ var idx = 0;
+ var noqueries = ast.statements.length;
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ // alasql.busy++;
+ var useid = alasql.useid;
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+ var res = [];
+ const adrunone = function (data) {
+ if (data !== undefined) {
+ res.push(data);
+ }
+ var astatement = ast.statements.shift();
+ if (!astatement) {
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+ cb(res);
+ // alasql.busy--;
+ // if(alasql.busy<0) alasql.busy = 0;
+ }
+ else {
+ if (astatement.compile) {
+ var statement = astatement.compile(alasql.useid);
+ statement(params, adrunone, scope);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ }
+ else {
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ astatement.execute(alasql.useid, params, adrunone);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ }
+ }
+ };
+ adrunone(); /** @todo Check, why data is empty here */
+ };
+ /**
+ Compile statement to JavaScript function
+ @param {string} sql SQL statement
+ @param {string} databaseid Database identificator
+ @return {functions} Compiled statement functions
+*/
+ alasql.compile = function (sql, databaseid) {
+ databaseid = databaseid || alasql.useid;
+ var ast = alasql.parse(sql); // Create AST
+ if (1 === ast.statements.length) {
+ var statement = ast.statements[0].compile(databaseid);
+ statement.promise = function (params) {
+ return new Promise(function (resolve, reject) {
+ statement(params, function (data, err) {
+ if (err) {
+ reject(err);
+ }
+ else {
+ resolve(data);
+ }
+ });
+ });
+ };
+ return statement;
+ /*/*
+ if(kind == 'value') {
+ return function(params,cb) {
+ var res = statementfn(params);
+ var key = Object.keys(res[0])[0];
+ if(cb) cb(res[0][key]);
+ return res[0][key];
+ };
+ } else if(kind == 'single') {
+ return function(params,cb) {
+ var res = statementfn(params);
+ if(cb) cb(res[0]);
+ return res[0];
+ }
+ } else if(kind == 'row') {
+ return function(params,cb) {
+ var res = statementfn(params,cb);
+ var a = [];
+ for(var key in res[0]) {
+ a.push(res[0][key]);
+ };
+ if(cb) cb(a);
+ return a;
+ }
+ } else if(kind == 'column') {
+ return function(params,cb) {
+ var res = statementfn(params,cb);
+ var ar = [];
+ var key = Object.keys(res)[0];
+ for(var i=0, ilen=res.length; i= query.sources.length) {
+ // Todo: check if this runs once too many
+ //console.log(query.wherefns);
+ // Then apply where and select
+ // console.log(query);
+ if (query.wherefn(scope, query.params, alasql)) {
+ // console.log("scope",scope.schools);
+ // var res = query.selectfn(scope, query.params, alasql);
+ // console.log("last",res);
+ // If there is a GROUP BY then pipe to groupping function
+ if (query.groupfn) {
+ query.groupfn(scope, query.params, alasql);
+ }
+ else {
+ // query.qwerty = 999;
+ //console.log(query.qwerty, query.queriesfn && query.queriesfn.length,2);
+ query.data.push(query.selectfn(scope, query.params, alasql));
+ }
+ }
+ }
+ else if (query.sources[h].applyselect) {
+ // console.log('APPLY',scope);
+ // console.log('scope1',scope);
+ // console.log(scope);
+ var source = query.sources[h];
+ source.applyselect(query.params, function (data) {
+ if (data.length > 0) {
+ // console.log('APPLY CB');
+ for (var i = 0; i < data.length; i++) {
+ scope[source.alias] = data[i];
+ doJoin(query, scope, h + 1);
+ }
+ }
+ else {
+ if (source.applymode === 'OUTER') {
+ scope[source.alias] = {};
+ doJoin(query, scope, h + 1);
+ }
+ }
+ }, scope);
+ // console.log(data);
+ }
+ else {
+ // STEP 1
+ var source = query.sources[h];
+ var nextsource = query.sources[h + 1];
+ // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "RIGHT"
+ // || source.joinmode == "OUTER" || source.joinmode == "SEMI") {
+ // Todo: check if this is smart
+ if (true) {
+ //source.joinmode != "ANTI") {
+ /*/*
+ // if(nextsource && nextsource.joinmode == "RIGHT") {
+ // if(!nextsource.rightdata) {
+ // console.log("ok");
+ // nextsource.rightdata = new Array(nextsource.data.length);
+ // console.log(nextsource.data.length, nextsource.rightdata);
+ // }
+ // }
+*/
+ var tableid = source.alias || source.tableid;
+ var pass = false; // For LEFT JOIN
+ var data = source.data;
+ var opt = false;
+ // Reduce data for looping if there is optimization hint
+ if (!source.getfn || (source.getfn && !source.dontcache)) {
+ if (source.joinmode !== 'RIGHT' &&
+ source.joinmode !== 'OUTER' &&
+ source.joinmode !== 'ANTI' &&
+ source.optimization === 'ix') {
+ data = source.ix[source.onleftfn(scope, query.params, alasql)] || [];
+ opt = true;
+ // console.log(source.onleftfns);
+ // console.log(source.ix);
+ // console.log(source.onleftfn(scope, query.params, alasql));
+ // console.log(opt, data, data.length);
+ }
+ }
+ // Main cycle
+ var i = 0;
+ if (typeof data === 'undefined') {
+ throw new Error('Data source number ' + h + ' in undefined');
+ }
+ var ilen = data.length;
+ var dataw;
+ // console.log(h,opt,source.data,i,source.dontcache);
+ while ((dataw = data[i]) ||
+ (!opt && (source.getfn && (dataw = source.getfn(i)))) ||
+ i < ilen) {
+ if (!opt && source.getfn && !source.dontcache)
+ data[i] = dataw;
+ //console.log(h, i, dataw);
+ scope[tableid] = dataw;
+ // Reduce with ON and USING clause
+ if (!source.onleftfn ||
+ source.onleftfn(scope, query.params, alasql) ==
+ source.onrightfn(scope, query.params, alasql)) {
+ // For all non-standard JOINs like a-b=0
+ if (source.onmiddlefn(scope, query.params, alasql)) {
+ // Recursively call new join
+ // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "OUTER" || source.joinmode == "RIGHT" ) {
+ if (source.joinmode != 'SEMI' && source.joinmode != 'ANTI') {
+ // console.log(scope);
+ doJoin(query, scope, h + 1);
+ }
+ // if(source.data[i].f = 200) debugger;
+ // if(source.joinmode == "RIGHT" || source.joinmode == "ANTI" || source.joinmode == "OUTER") {
+ if (source.joinmode != 'LEFT' && source.joinmode != 'INNER') {
+ dataw._rightjoin = true;
+ }
+ // for LEFT JOIN
+ pass = true;
+ }
+ }
+ i++;
+ }
+ // Additional join for LEFT JOINS
+ if ((source.joinmode == 'LEFT' ||
+ source.joinmode == 'OUTER' ||
+ source.joinmode == 'SEMI') &&
+ !pass) {
+ // Clear the scope after the loop
+ scope[tableid] = {};
+ doJoin(query, scope, h + 1);
+ }
+ }
+ // When there is no records
+ // if(data.length == 0 && query.groupfn) {
+ // scope[tableid] = undefined;
+ // doJoin(query,scope,h+1);
+ // }
+ // STEP 2
+ if (h + 1 < query.sources.length) {
+ if (nextsource.joinmode == 'OUTER' ||
+ nextsource.joinmode == 'RIGHT' ||
+ nextsource.joinmode == 'ANTI') {
+ scope[source.alias] = {};
+ var j = 0;
+ var jlen = nextsource.data.length;
+ var dataw;
+ while ((dataw = nextsource.data[j]) ||
+ (nextsource.getfn && (dataw = nextsource.getfn(j))) ||
+ j < jlen) {
+ if (nextsource.getfn && !nextsource.dontcache) {
+ nextsource.data[j] = dataw;
+ }
+ // console.log(169,dataw._rightjoin,scope);
+ if (dataw._rightjoin) {
+ delete dataw._rightjoin;
+ }
+ else {
+ // delete dataw._rightjoin;
+ // console.log(163,h,scope);
+ if (h == 0) {
+ scope[nextsource.alias] = dataw;
+ doJoin(query, scope, h + 2);
+ }
+ else {
+ //scope[nextsource.alias] = dataw;
+ //doJoin(query, scope, h+2);
+ // console.log(169,scope);
+ }
+ }
+ j++;
+ }
+ // debugger;
+ }
+ else {
+ //console.log(180,scope);
+ }
+ }
+ else {
+ // console.log(179,scope);
+ }
+ scope[tableid] = undefined;
+ /*/*
+ if(h+1 < query.sources.length) {
+ var nextsource = query.sources[h+1];
+
+ if(nextsource.joinmode == "OUTER" || nextsource.joinmode == "RIGHT"
+ || nextsource.joinmode == "ANTI") {
+
+
+ // console.log(h,query.sources.length);
+ // Swap
+
+
+// swapSources(query,h);
+
+// console.log(query.sources);
+ //debugger;
+// var source = query.sources[h];
+
+// var tableid = source.alias || source.tableid;
+// var data = source.data;
+
+ // Reduce data for looping if there is optimization hint
+// if(source.optimization == 'ix') {
+// data = source.ix[ source.onleftfn(scope, query.params, alasql) ] || [];
+// }
+
+ // Main cycle
+ var pass = false;
+// console.log(tableid, data.length);
+ for(var i=0, ilen=nextsource.data.length; i= 0) {
+ var source = query.sources[idx];
+ source.data = data;
+ if (typeof source.data === 'function') {
+ source.getfn = source.data;
+ source.dontcache = source.getfn.dontcache;
+ // var prevsource = query.sources[h-1];
+ if (source.joinmode === 'OUTER' ||
+ source.joinmode === 'RIGHT' ||
+ source.joinmode === 'ANTI') {
+ source.dontcache = false;
+ }
+ source.data = {};
+ }
+ }
+ else {
+ // subqueries
+ // console.log("queriesdata",data, flatArray(data));
+ query.queriesdata[-idx - 1] = flatArray(data);
+ // console.log(98,query.queriesdata);
+ // console.log(79,query.queriesdata);
+ }
+ query.sourceslen--;
+ if (query.sourceslen > 0)
+ return;
+ return queryfn3(alasql, query);
+}
+function queryfn3(alasql, query) {
+ var scope = query.scope, jlen;
+ // Preindexation of data sources
+ // if(!oldscope) {
+ preIndex(query);
+ // }
+ // query.sources.forEach(function(source) {
+ // console.log(source.data);
+ // });
+ // Prepare variables
+ query.data = [];
+ query.xgroups = {};
+ query.groups = [];
+ // Level of Joins
+ var h = 0;
+ // Start walking over data
+ //console.log(142,'1111');
+ doJoin(alasql, query, scope, h);
+ //console.log(144,'2222',query.modifier);
+ //console.log(85,query.data[0]);
+ // If groupping, then filter groups with HAVING function
+ // console.log(query.havingfns);
+ if (query.groupfn) {
+ query.data = [];
+ if (0 === query.groups.length) {
+ var g = {};
+ if (query.selectGroup.length > 0) {
+ // console.log(query.selectGroup);
+ query.selectGroup.forEach(function (sg) {
+ if (sg.aggregatorid === 'COUNT' || sg.aggregatorid === 'SUM') {
+ g[sg.nick] = 0;
+ }
+ else {
+ g[sg.nick] = undefined;
+ }
+ });
+ }
+ query.groups = [g];
+ // console.log();
+ }
+ // ******
+ if (query.aggrKeys.length > 0) {
+ var gfns = '';
+ query.aggrKeys.forEach(function (col) {
+ gfns +=
+ "g['" +
+ col.nick +
+ "']=alasql.aggr['" +
+ col.funcid +
+ "'](undefined,g['" +
+ col.nick +
+ "'],3);";
+ // gfns += 'return g[\''+col.nick+'\];';
+ });
+ // console.log(175, gfns);
+ var gfn = new Function('g,params,alasql', 'var y;' + gfns);
+ }
+ // return "'"+colas+'\':alasql.aggr[\''+col.funcid+'\']('+colexp+',undefined,(acc={}),1),'
+ // +'\'__REDUCE__'+colas+'\':acc,';
+ // *******
+ // console.log('EMPTY',query.groups);
+ // debugger;
+ // if(false && (query.groups.length == 1) && (Object.keys(query.groups[0]).length == 0)) {
+ // console.log('EMPTY',query.groups);
+ // } else {
+ for (var i = 0, ilen = query.groups.length; i < ilen; i++) {
+ var g = query.groups[i];
+ if (gfn)
+ gfn(g, query.params, alasql);
+ // console.log(query.groups[i]);
+ if (!query.havingfn || query.havingfn(g, query.params, alasql)) {
+ // console.log(g);
+ var d = query.selectgfn(g, query.params, alasql);
+ query.data.push(d);
+ }
+ }
+ // }
+ // query.groups = query.groups.filter();
+ }
+ // Remove distinct values
+ doDistinct(query);
+ // UNION / UNION ALL
+ if (query.unionallfn) {
+ // TODO Simplify this part of program
+ var ud, nd;
+ if (query.corresponding) {
+ if (!query.unionallfn.query.modifier)
+ query.unionallfn.query.modifier = undefined;
+ ud = query.unionallfn(query.params);
+ }
+ else {
+ if (!query.unionallfn.query.modifier)
+ query.unionallfn.query.modifier = 'RECORDSET';
+ nd = query.unionallfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (var i = 0; i < ilen; i++) {
+ var r = {};
+ for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = query.data.concat(ud);
+ }
+ else if (query.unionfn) {
+ if (query.corresponding) {
+ if (!query.unionfn.query.modifier)
+ query.unionfn.query.modifier = 'ARRAY';
+ ud = query.unionfn(query.params);
+ }
+ else {
+ if (!query.unionfn.query.modifier)
+ query.unionfn.query.modifier = 'RECORDSET';
+ nd = query.unionfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (var i = 0; i < ilen; i++) {
+ r = {};
+ jlen = Math.min(query.columns.length, nd.columns.length);
+ for (var j = 0; j < jlen; j++) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayUnionDeep(query.data, ud);
+ }
+ else if (query.exceptfn) {
+ if (query.corresponding) {
+ if (!query.exceptfn.query.modifier)
+ query.exceptfn.query.modifier = 'ARRAY';
+ var ud = query.exceptfn(query.params);
+ }
+ else {
+ if (!query.exceptfn.query.modifier)
+ query.exceptfn.query.modifier = 'RECORDSET';
+ var nd = query.exceptfn(query.params);
+ var ud = [];
+ for (var i = 0, ilen = nd.data.length; i < ilen; i++) {
+ var r = {};
+ for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayExceptDeep(query.data, ud);
+ }
+ else if (query.intersectfn) {
+ if (query.corresponding) {
+ if (!query.intersectfn.query.modifier)
+ query.intersectfn.query.modifier = undefined;
+ ud = query.intersectfn(query.params);
+ }
+ else {
+ if (!query.intersectfn.query.modifier)
+ query.intersectfn.query.modifier = 'RECORDSET';
+ nd = query.intersectfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (i = 0; i < ilen; i++) {
+ r = {};
+ jlen = Math.min(query.columns.length, nd.columns.length);
+ for (j = 0; j < jlen; j++) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayIntersectDeep(query.data, ud);
+ }
+ // Ordering
+ if (query.orderfn) {
+ if (query.explain)
+ var ms = Date.now();
+ query.data = query.data.sort(query.orderfn);
+ if (query.explain) {
+ query.explaination.push({
+ explid: query.explid++,
+ description: 'QUERY BY',
+ ms: Date.now() - ms,
+ });
+ }
+ }
+ // Reduce to limit and offset
+ doLimit(query);
+ // Remove Angular.js artifacts and other unnecessary columns
+ // Issue #25
+ // console.log('removeKeys:',query.removeKeys);
+ // TODO: Check what artefacts rest from Angular.js
+ if (typeof angular !== 'undefined') {
+ query.removeKeys.push('$$hashKey');
+ }
+ if (query.removeKeys.length > 0) {
+ var removeKeys = query.removeKeys;
+ // Remove from data
+ jlen = removeKeys.length;
+ if (jlen > 0) {
+ ilen = query.data.length;
+ for (i = 0; i < ilen; i++) {
+ for (j = 0; j < jlen; j++) {
+ delete query.data[i][removeKeys[j]];
+ }
+ }
+ }
+ // Remove from columns list
+ if (query.columns.length > 0) {
+ query.columns = query.columns.filter(function (column) {
+ var found = false;
+ removeKeys.forEach(function (key) {
+ if (column.columnid === key)
+ found = true;
+ });
+ return !found;
+ });
+ }
+ }
+ if (typeof query.removeLikeKeys !== 'undefined' && query.removeLikeKeys.length > 0) {
+ var removeLikeKeys = query.removeLikeKeys;
+ // Remove unused columns
+ // SELECT * REMOVE COLUMNS LIKE "%b"
+ for (var i = 0, ilen = query.data.length; i < ilen; i++) {
+ r = query.data[i];
+ for (var k in r) {
+ for (j = 0; j < query.removeLikeKeys.length; j++) {
+ if (alasql.utils.like(query.removeLikeKeys[j], k)) {
+ // if(k.match(query.removeLikeKeys[j])) {
+ delete r[k];
+ }
+ }
+ }
+ }
+ if (query.columns.length > 0) {
+ query.columns = query.columns.filter(function (column) {
+ var found = false;
+ removeLikeKeys.forEach(function (key) {
+ // if(column.columnid.match(key)) found = true;
+ if (alasql.utils.like(key, column.columnid)) {
+ found = true;
+ }
+ });
+ return !found;
+ });
+ }
+ }
+ if (query.pivotfn)
+ query.pivotfn();
+ if (query.unpivotfn)
+ query.unpivotfn();
+ // console.log(query.intoallfns);
+ /*/*
+ // if(query.explain) {
+ // if(query.cb) query.cb(query.explaination,query.A, query.B);
+ // return query.explaination;
+ // } else
+*/
+ //console.log(190,query.intofns);
+ if (query.intoallfn) {
+ // console.log(161);
+ // var res = query.intoallfn(query.columns,query.cb,query.A, query.B, alasql);
+ var res = query.intoallfn(query.columns, query.cb, query.params, query.alasql);
+ // console.log(1163,res);
+ // if(query.cb) res = query.cb(res,query.A, query.B);
+ // console.log(1165,res);
+ // debugger;
+ return res;
+ }
+ else if (query.intofn) {
+ ilen = query.data.length;
+ for (i = 0; i < ilen; i++) {
+ query.intofn(query.data[i], i, query.params, query.alasql);
+ }
+ // console.log(query.intofn);
+ if (query.cb)
+ query.cb(query.data.length, query.A, query.B);
+ return query.data.length;
+ }
+ else {
+ // console.log(111,query.cb,query.data);
+ res = query.data;
+ if (query.cb)
+ res = query.cb(query.data, query.A, query.B);
+ return res;
+ }
+}
+// Limiting
+function doLimit(query) {
+ // console.log(query.limit, query.offset)
+ if (query.limit) {
+ var offset = 0;
+ if (query.offset) {
+ offset = query.offset | 0 || 0;
+ offset = offset < 0 ? 0 : offset;
+ }
+ var limit;
+ if (query.percent) {
+ limit = (((query.data.length * query.limit) / 100) | 0) + offset;
+ }
+ else {
+ limit = (query.limit | 0) + offset;
+ }
+ query.data = query.data.slice(offset, limit);
+ }
+}
+// Distinct
+function doDistinct(query) {
+ if (query.distinct) {
+ var uniq = {};
+ // TODO: Speedup, because Object.keys is slow**
+ // TODO: Problem with DISTINCT on objects
+ var keys = Object.keys(query.data[0] || []);
+ for (var i = 0, ilen = query.data.length; i < ilen; i++) {
+ var uix = keys
+ .map(function (k) {
+ return query.data[i][k];
+ })
+ .join('`');
+ uniq[uix] = query.data[i];
+ }
+ query.data = [];
+ for (let ind in uniq) {
+ query.data.push(uniq[ind]);
+ }
+ }
+}
+// Optimization: preliminary indexation of joins
+var preIndex = function (query) {
+ // console.log(query);
+ // Loop over all sources
+ // Todo: make this loop smaller and more graspable
+ for (var k = 0, klen = query.sources.length; k < klen; k++) {
+ var source = query.sources[k];
+ delete source.ix;
+ // If there is indexation rule
+ //console.log('preIndex', source);
+ //console.log(source);
+ if (k > 0 && source.optimization === 'ix' && source.onleftfn && source.onrightfn) {
+ // If there is no table.indices - create it
+ if (source.databaseid && alasql.databases[source.databaseid].tables[source.tableid]) {
+ if (!alasql.databases[source.databaseid].tables[source.tableid].indices)
+ query.database.tables[source.tableid].indices = {};
+ // Check if index already exists
+ var ixx = alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns + '`' + source.srcwherefns)];
+ if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
+ source.ix = ixx;
+ }
+ }
+ if (!source.ix) {
+ source.ix = {};
+ // Walking over source data
+ var scope = {};
+ var i = 0;
+ var ilen = source.data.length;
+ var dataw;
+ // while(source.getfn i {
+ var len = container.childNodes.length;
+ while (len--) {
+ container.removeChild(container.lastChild);
+ }
+ } };
diff --git a/build/ES6/utils/enviroment.js b/build/ES6/utils/enviroment.js
new file mode 100644
index 0000000000..9a1cbc11fd
--- /dev/null
+++ b/build/ES6/utils/enviroment.js
@@ -0,0 +1,152 @@
+import gen from './general';
+// Todo: prepend .gen in the code
+const global = gen.global;
+const isNativeFunction = gen.isNativeFunction;
+// const utils : {[key: string]: any} = {};
+const utils = {};
+/**
+Find out if code is running in a web worker enviroment
+@return {boolean} True if code is running in a web worker enviroment
+*/
+utils.isWebWorker = (() => {
+ try {
+ var importScripts = global.importScripts;
+ return isNativeFunction(importScripts);
+ }
+ catch (e) {
+ return false;
+ }
+})();
+/**
+Find out if code is running in a node enviroment
+@return {boolean} True if code is running in a node enviroment
+*/
+utils.isNode = (() => {
+ try {
+ return isNativeFunction(global.process.reallyExit);
+ }
+ catch (e) {
+ return false;
+ }
+})();
+/**
+Find out if code is running in a browser enviroment
+@return {boolean} True if code is running in a browser enviroment
+*/
+utils.isBrowser = (() => {
+ try {
+ return isNativeFunction(global.location.reload);
+ }
+ catch (e) {
+ return false;
+ }
+})();
+/**
+Find out if code is running in a browser with a browserify setup
+@return {boolean} True if code is running in a browser with a browserify setup
+*/
+utils.isBrowserify = (() => {
+ return utils.isBrowser && typeof process !== 'undefined' && process.browser;
+})();
+/**
+Find out if code is running in a browser with a requireJS setup
+@return {boolean} True if code is running in a browser with a requireJS setup
+*/
+utils.isRequireJS = (() => {
+ return (utils.isBrowser &&
+ typeof require === 'function' &&
+ typeof require.specified === 'function');
+})();
+/**
+Find out if code is running with Meteor in the enviroment
+@return {boolean} True if code is running with Meteor in the enviroment
+
+@todo Find out if this is the best way to do this
+*/
+utils.isMeteor = (() => {
+ return typeof Meteor !== 'undefined' && Meteor.release;
+})();
+/**
+Find out if code is running on a Meteor client
+@return {boolean} True if code is running on a Meteor client
+*/
+utils.isMeteorClient = utils.isMeteor && Meteor.isClient;
+/**
+Find out if code is running on a Meteor server
+@return {boolean} True if code is running on a Meteor server
+*/
+utils.isMeteorServer = utils.isMeteor && Meteor.isServer;
+/**
+Find out code is running in a cordovar enviroment
+@return {boolean} True if code is running in a web worker enviroment
+
+@todo Find out if this is the best way to do this
+*/
+utils.isCordova = typeof cordova === 'object';
+utils.isReactNative = (() => {
+ var isReact = false;
+ //*not-for-browser/*
+ try {
+ if (typeof require('react-native') === 'object') {
+ isReact = true;
+ }
+ }
+ catch (e) {
+ void 0;
+ }
+ //*/
+ return isReact;
+})();
+utils.hasIndexedDB = !!global.indexedDB;
+/**
+@function Is this IE9
+@return {boolean} True for IE9 and false for other browsers
+
+For IE9 compatibility issues
+*/
+utils.isIE = (() => {
+ /*only-for-browser/*
+ var myNav = navigator.userAgent.toLowerCase();
+ return myNav.indexOf('msie') !== -1 ? parseInt(myNav.split('msie')[1]) : false;
+//*/
+ return false;
+})();
+/**
+Get path of alasql.js
+@todo Rewrite and simplify the code. Review, is this function is required separately
+*/
+utils.findAlaSQLPath = function () {
+ /** type {string} Path to alasql library and plugins */
+ if (utils.isWebWorker) {
+ return '';
+ /** @todo Check how to get path in worker */
+ }
+ else if (utils.isMeteorClient) {
+ return '/packages/dist/';
+ }
+ else if (utils.isMeteorServer) {
+ return 'assets/packages/dist/';
+ }
+ else if (utils.isNode) {
+ return __dirname;
+ }
+ else if (utils.isBrowser) {
+ var sc = document.getElementsByTagName('script');
+ for (var i = 0; i < sc.length; i++) {
+ if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 16);
+ }
+ else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 20);
+ }
+ else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 9);
+ }
+ else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 13);
+ }
+ }
+ }
+ return '';
+};
+export default utils;
diff --git a/build/ES6/utils/excelTools.js b/build/ES6/utils/excelTools.js
new file mode 100644
index 0000000000..d2c37f333c
--- /dev/null
+++ b/build/ES6/utils/excelTools.js
@@ -0,0 +1,52 @@
+import env from './enviroment';
+const utils = {};
+utils.getXLSX = () => {
+ var XLSX = null;
+ /* If require() shuold be supported else take from global scope */
+ if (env.isNode || env.isBrowserify || env.isMeteorServer) {
+ //*not-for-browser/*
+ XLSX = require('xlsx') || null;
+ //*/
+ }
+ else {
+ XLSX = global.XLSX || null;
+ }
+ if (null === XLSX) {
+ throw new Error('Please include the xlsx.js library');
+ }
+ return XLSX;
+};
+/**
+Excel:convert number to Excel column, like 1 => 'A'
+@param {integer} i Column number, starting with 0
+@return {string} Column name, starting with 'A'
+*/
+utils.xlsnc = i => {
+ var addr = String.fromCharCode(65 + (i % 26));
+ if (i >= 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ if (i > 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ }
+ }
+ return addr;
+};
+/**
+Excel:conver Excel column name to number
+@param {string} s Column number, like 'A' or 'BE'
+@return {string} Column name, starting with 0
+*/
+utils.xlscn = s => {
+ var n = s.charCodeAt(0) - 65;
+ if (s.length > 1) {
+ n = (n + 1) * 26 + s.charCodeAt(1) - 65;
+ // console.log(n, s.charCodeAt(0)-65, s.charCodeAt(1)-65);
+ if (s.length > 2) {
+ n = (n + 1) * 26 + s.charCodeAt(2) - 65;
+ }
+ }
+ return n;
+};
+export default utils;
diff --git a/build/ES6/utils/files.js b/build/ES6/utils/files.js
new file mode 100644
index 0000000000..afd8f9861c
--- /dev/null
+++ b/build/ES6/utils/files.js
@@ -0,0 +1,530 @@
+import env from './enviroment';
+import trans from './transformation';
+const cutbom = trans.cutbom;
+const utils = {};
+/**
+Load text file from anywhere
+@param {string|object} path File path or HTML event
+@param {boolean} asy True - async call, false - sync call
+@param {function} success Success function
+@param {function} error Error function
+@return {string} Read data
+
+@todo Define Event type
+@todo Smaller if-else structures.
+*/
+utils.loadFile = function (path, asy, success, error) {
+ var data, fs;
+ if (env.isNode || env.isMeteorServer) {
+ //*not-for-browser/*
+ if (utils.isMeteor) {
+ fs = Npm.require('fs');
+ }
+ else {
+ fs = require('fs');
+ }
+ // If path is empty, than read data from stdin (for Node)
+ if (typeof path === 'undefined') {
+ var buff = '';
+ process.stdin.setEncoding('utf8');
+ process.stdin.on('readable', function () {
+ var chunk = process.stdin.read();
+ if (chunk !== null) {
+ buff += chunk.toString();
+ }
+ });
+ process.stdin.on('end', function () {
+ success(cutbom(buff));
+ });
+ }
+ else {
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request(path, function (err, response, body) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(body.toString()));
+ });
+ }
+ else {
+ //If async callthen call async
+ if (asy) {
+ fs.readFile(path, function (err, data) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(data.toString()));
+ });
+ }
+ else {
+ // Call sync version
+ data = fs.readFileSync(path);
+ success(cutbom(data.toString()));
+ }
+ }
+ }
+ }
+ else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.readFile(path, 'utf8')
+ .then(function (contents) {
+ success(cutbom(contents));
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ //*/
+ }
+ else if (utils.isCordova) {
+ /* If Cordova */
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ fileEntry.file(function (file) {
+ var fileReader = new FileReader();
+ fileReader.onloadend = function (e) {
+ success(cutbom(this.result));
+ };
+ fileReader.readAsText(file);
+ });
+ });
+ });
+ /** @todo Check eliminated code below */
+ /*/*
+
+ var paths = path.split('/');
+ var filename = paths[paths.length-1];
+ var dirpath = path.substr(0,path.length-filename.length);
+// console.log('CORDOVA',filename,dirpath);
+//return success('[{"a":"'+filename+'"}]');
+
+ window.resolveLocalFileSystemURL(dirpath, function(dir) {
+ dir.getFile(filename, null, function(file) {
+ file.file(function(file) {
+ var reader = new FileReader();
+// console.log('READ FILE 2');
+ reader.onloadend = function(e) {
+// console.log('READ FILE 3',this.result);
+ success(this.result);
+ };
+ reader.readAsText(file);
+ });
+ });
+ });
+*/
+ }
+ else {
+ /* For string */
+ if (typeof path === 'string') {
+ // For browser read from tag
+ /*
+ SELECT * FROM TXT('#one') -- read data from HTML element with id="one"
+ */
+ if (path.substr(0, 1) === '#' && typeof document !== 'undefined') {
+ data = document.querySelector(path).textContent;
+ success(data);
+ }
+ else {
+ /*
+ Simply read file from HTTP request, like:
+ SELECT * FROM TXT('http://alasql.org/README.md');
+ */
+ var xhr = new XMLHttpRequest();
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200) {
+ if (success) {
+ success(cutbom(xhr.responseText));
+ }
+ }
+ else if (error) {
+ error(xhr);
+ }
+ // Todo: else...?
+ }
+ };
+ xhr.open('GET', path, asy); // Async
+ xhr.responseType = 'text';
+ xhr.send();
+ }
+ }
+ else if (path instanceof Event) {
+ /*
+ For browser read from files input element
+
+
+ */
+ /** @type {array} List of files from element */
+ var files = path.target.files;
+ /** type {object} */
+ var reader = new FileReader();
+ /** type {string} */
+ var name = files[0].name;
+ reader.onload = function (e) {
+ var data = e.target.result;
+ success(cutbom(data));
+ };
+ reader.readAsText(files[0]);
+ }
+ }
+};
+/**
+@function Load binary file from anywhere
+@param {string} path File path
+@param {boolean} asy True - async call, false - sync call
+@param {function} success Success function
+@param {function} error Error function
+@return 1 for Async, data - for sync version
+
+@todo merge functionality from loadFile and LoadBinaryFile
+*/
+utils.loadBinaryFile = function (path, asy, success, error) {
+ var fs;
+ if (utils.isNode || utils.isMeteorServer) {
+ //*not-for-browser/*
+ if (utils.isMeteorServer) {
+ fs = Npm.require('fs'); // For Meteor
+ }
+ else {
+ fs = require('fs');
+ }
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request({ url: path, encoding: null }, function (err, response, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ }
+ else {
+ if (asy) {
+ fs.readFile(path, function (err, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ }
+ else {
+ var data = fs.readFileSync(path);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ }
+ }
+ }
+ else if (utils.isReactNative) {
+ // If ReactNative
+ //var RNFS = require('react-native-fs');
+ var RNFetchBlob = require('react-native-fetch-blob').default;
+ var dirs = RNFetchBlob.fs.dirs;
+ //should use readStream instead if the file is large
+ RNFetchBlob.fs.readFile(path, 'base64').then(function (data) {
+ //RNFetchBlob.base64.decode(data) //need more test on excel
+ success(data);
+ });
+ //*/
+ }
+ else {
+ if (typeof path === 'string') {
+ // For browser
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', path, asy); // Async
+ xhr.responseType = 'arraybuffer';
+ xhr.onload = function () {
+ var data = new Uint8Array(xhr.response);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ };
+ // xhr.responseType = "blob";
+ xhr.send();
+ }
+ else if (path instanceof Event) {
+ // console.log("event");
+ var files = path.target.files;
+ var reader = new FileReader();
+ var name = files[0].name;
+ reader.onload = function (e) {
+ var data = e.target.result;
+ success(data);
+ };
+ reader.readAsArrayBuffer(files[0]);
+ }
+ else if (path instanceof Blob) {
+ success(path);
+ }
+ }
+};
+var removeFile = (utils.removeFile = function (path, cb) {
+ if (utils.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ fs.remove(path, cb);
+ }
+ else if (utils.isCordova) {
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ fileEntry.remove(cb);
+ if (cb)
+ cb(); // jshint ignore:line
+ }, function () {
+ if (cb)
+ cb(); // jshint ignore:line
+ });
+ });
+ }
+ else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function () {
+ if (cb)
+ cb();
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ //*/
+ }
+ else {
+ throw new Error('You can remove files only in Node.js and Apache Cordova');
+ }
+});
+// Todo: check if it makes sense to support cordova and Meteor server
+utils.deleteFile = (path, cb) => {
+ //*not-for-browser/*
+ if (utils.isNode) {
+ var fs = require('fs');
+ fs.unlink(path, cb);
+ }
+ else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function () {
+ if (cb)
+ cb();
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ }
+ //*/
+};
+utils.autoExtFilename = (filename, ext, config) => {
+ config = config || {};
+ if (typeof filename !== 'string' ||
+ filename.match(/^[A-z]+:\/\/|\n|\..{2,4}$/) ||
+ config.autoExt === 0 ||
+ config.autoExt === false) {
+ return filename;
+ }
+ return filename + '.' + ext;
+};
+utils.fileExists = function (path, cb) {
+ if (utils.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ fs.exists(path, cb);
+ }
+ else if (utils.isCordova) {
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ cb(true);
+ }, function () {
+ cb(false);
+ });
+ });
+ }
+ else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.exists(path)
+ .then(function (yes) {
+ if (cb)
+ cb(yes);
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ //*/
+ }
+ else {
+ // TODO Cordova, etc.
+ throw new Error('You can use exists() only in Node.js or Apach Cordova');
+ }
+};
+/**
+Save text file from anywhere
+@param {string} path File path
+@param {array} data Data object
+@param {function} cb Callback
+@param {object=} opts
+*/
+utils.saveFile = function (path, data, cb, opts) {
+ var res = 1;
+ if (path === undefined) {
+ //
+ // Return data into result variable
+ // like: alasql('SELECT * INTO TXT() FROM ?',[data]);
+ //
+ res = data;
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ else {
+ if (utils.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ data = fs.writeFileSync(path, data);
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ else if (utils.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.writeFile(path, data)
+ .then(function (success) {
+ //, 'utf8'
+ if (cb)
+ res = cb(res);
+ })
+ .catch(function (err) {
+ console.error(err.message);
+ });
+ }
+ else if (utils.isCordova) {
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ // alasql.utils.removeFile(path,function(){
+ fileSystem.root.getFile(path, { create: true }, function (fileEntry) {
+ fileEntry.createWriter(function (fileWriter) {
+ fileWriter.onwriteend = function () {
+ if (cb) {
+ res = cb(res);
+ }
+ };
+ fileWriter.write(data);
+ });
+ });
+ });
+ //*/
+ /*/*
+ } else if((typeof cordova == 'object') && cordova.file) {
+// console.log('saveFile 1');
+ // Cordova
+ var paths = path.split('/');
+ var filename = paths[paths.length-1];
+ var dirpath = path.substr(0,path.length-filename.length);
+ // console.log('CORDOVA',filename,dirpath);
+ //return success('[{"a":"'+filename+'"}]');
+
+ window.resolveLocalFileSystemURL(dirpath, function(dir) {
+// console.log('saveFile 2');
+
+ dir.getFile(filename, {create:true}, function(file) {
+// console.log('saveFile 3');
+
+// file.file(function(file) {
+// console.log('saveFile 4');
+
+ file.createWriter(function(fileWriter) {
+
+// fileWriter.seek(fileWriter.length);
+
+ var blob = new Blob([data], {type:'text/plain'});
+ fileWriter.write(blob);
+ fileWriter.onwriteend = function(){
+ if(cb) cb();
+ };
+// console.log("ok, in theory i worked");
+ });
+*/
+ /*/*
+ // Corodva
+ function writeFinish() {
+ // ... your done code here...
+ return cb()
+ };
+ var written = 0;
+ var BLOCK_SIZE = 1*1024*1024; // write 1M every time of write
+ function writeNext(cbFinish) {
+ var sz = Math.min(BLOCK_SIZE, data.length - written);
+ var sub = data.slice(written, written+sz);
+ writer.write(sub);
+ written += sz;
+ writer.onwrite = function(evt) {
+ if (written < data.length)
+ writeNext(cbFinish);
+ else
+ cbFinish();
+ };
+ }
+ writeNext(writeFinish);
+ }
+*/
+ // });
+ // });
+ // });
+ }
+ else {
+ if (utils.isIE() === 9) {
+ // Solution was taken from
+ // http://megatuto.com/formation-JAVASCRIPT.php?JAVASCRIPT_Example=Javascript+Save+CSV+file+in+IE+8/IE+9+without+using+window.open()+Categorie+javascript+internet-explorer-8&category=&article=7993
+ // var URI = 'data:text/plain;charset=utf-8,';
+ // Prepare data
+ var ndata = data.replace(/\r\n/g, 'A;D;');
+ ndata = ndata.replace(/\n/g, 'D;');
+ ndata = ndata.replace(/\t/g, ' ');
+ var testlink = utils.global.open('about:blank', '_blank');
+ testlink.document.write(ndata); //fileData has contents for the file
+ testlink.document.close();
+ testlink.document.execCommand('SaveAs', false, path);
+ testlink.close();
+ }
+ else {
+ var opt = {
+ disableAutoBom: false,
+ };
+ utils.extend(opt, opts);
+ var blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
+ utils.saveAs(blob, path, opt.disableAutoBom);
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ }
+ }
+ return res;
+};
+// For LOAD
+// var saveBinaryFile = utils.saveFile = function(path, data, cb) {
+// if(utils.isNode) {
+// // For Node.js
+// var fs = require('fs');
+// var data = fs.writeFileSync(path,data);
+// } else {
+// var blob = new Blob([data], {type: "text/plain;charset=utf-8"});
+// saveAs(blob, path);
+// }
+// };
+export default utils;
diff --git a/build/ES6/utils/general.js b/build/ES6/utils/general.js
new file mode 100644
index 0000000000..78c7f43b3e
--- /dev/null
+++ b/build/ES6/utils/general.js
@@ -0,0 +1,101 @@
+const utils = {};
+/**
+ Convert NaN to undefined
+ @function
+ @param {string} s JavaScript string to be modified
+ @return {string} Covered expression
+
+ @example
+
+ 123 => 123
+ undefined => undefined
+ NaN => undefined
+
+*/
+utils.n2u = function (s) {
+ return '(y=' + s + ',y===y?y:undefined)';
+};
+/**
+ Return undefined if s undefined
+ @param {string} s JavaScript string to be modified
+ @return {string} Covered expression
+
+ @example
+
+ 123,a => a
+ undefined,a => undefined
+ NaN,a => undefined
+
+*/
+utils.und = (s, r) => {
+ return '(y=' + s + ',typeof y=="undefined"?undefined:' + r + ')';
+};
+/**
+ Return always true. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
+ @function
+ @return {boolean} Always true
+*/
+utils.returnTrue = () => {
+ return true;
+};
+/**
+ Return undefined. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
+ @function
+ @return {undefined} Always undefined
+*/
+utils.returnUndefined = function () { };
+/**
+ Escape string
+ @function
+ @param {string} s Source string
+ @return {string} Escaped string
+ @example
+
+ Pit\er's => Pit\\er\'s
+
+*/
+/**
+ Get the global scope
+ Inspired by System.global
+ @return {object} The global scope
+*/
+utils.global = (function () {
+ if (typeof self !== 'undefined') {
+ return self;
+ }
+ if (typeof window !== 'undefined') {
+ return window;
+ }
+ if (typeof global !== 'undefined') {
+ return global;
+ }
+ return Function('return this')();
+}());
+/**
+ * Find out if a function is native to the enviroment
+ * @param {function} Function to check
+ * @return {boolean} True if function is native
+ */
+utils.isNativeFunction = fn => {
+ return typeof fn === 'function' && !!~fn.toString().indexOf('[native code]');
+};
+utils.isArray = function (obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+};
+/**
+ * Extend object a with properties of b
+ * @function
+ * @param {object} a
+ * @param {object} b
+ * @return {object}
+*/
+utils.extend = (a, b) => {
+ a = a || {};
+ for (var key in b) {
+ if (b.hasOwnProperty(key)) {
+ a[key] = b[key];
+ }
+ }
+ return a;
+};
+export default utils;
diff --git a/build/ES6/utils/sqlTools.js b/build/ES6/utils/sqlTools.js
new file mode 100644
index 0000000000..590f80be1c
--- /dev/null
+++ b/build/ES6/utils/sqlTools.js
@@ -0,0 +1,167 @@
+const utils = {};
+/**
+SQL LIKE emulation
+@parameter {string} pattern Search pattern
+@parameter {string} value Searched value
+@parameter {string} escape Escape character (optional)
+@return {boolean} If value LIKE pattern ESCAPE escape
+*/
+utils.like = (pattern, value, escape) => {
+ // Verify escape character
+ if (!escape)
+ escape = '';
+ var i = 0;
+ var s = '^';
+ while (i < pattern.length) {
+ var c = pattern[i], c1 = '';
+ if (i < pattern.length - 1)
+ c1 = pattern[i + 1];
+ if (c === escape) {
+ s += '\\' + c1;
+ i++;
+ }
+ else if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ }
+ else if (c === '[' || c === ']') {
+ s += c;
+ }
+ else if (c === '%') {
+ s += '.*';
+ }
+ else if (c === '_') {
+ s += '.';
+ }
+ else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ }
+ else {
+ s += c;
+ }
+ i++;
+ }
+ s += '$';
+ // if(value == undefined) return false;
+ //console.log(s,value,(value||'').search(RegExp(s))>-1);
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+};
+/**
+Strip all comments.
+@function
+@param {string} str
+@return {string}
+Based om the https://github.com/lehni/uncomment.js/blob/master/uncomment.js
+I just replaced JavaScript's '//' to SQL's '--' and remove other stuff
+
+@todo Fixed [aaa/*bbb] for column names
+@todo Bug if -- comments in the last line
+@todo Check if it possible to model it with Jison parser
+@todo Remove unused code
+*/
+utils.uncomment = function (str) {
+ // Add some padding so we can always look ahead and behind by two chars
+ str = ('__' + str + '__').split('');
+ var quote = false, quoteSign,
+ // regularExpression = false,
+ // characterClass = false,
+ blockComment = false, lineComment = false;
+ // preserveComment = false;
+ for (var i = 0, l = str.length; i < l; i++) {
+ // console.log(i,str[i]);
+ // When checking for quote escaping, we also need to check that the
+ // escape sign itself is not escaped, as otherwise '\\' would cause
+ // the wrong impression of an unclosed string:
+ var unescaped = str[i - 1] !== '\\' || str[i - 2] === '\\';
+ if (quote) {
+ if (str[i] === quoteSign && unescaped) {
+ quote = false;
+ }
+ /*/* // } else if (regularExpression) {
+ // Make sure '/'' inside character classes is not considered the end
+ // of the regular expression.
+ // if (str[i] === '[' && unescaped) {
+ // characterClass = true;
+ // } else if (str[i] === ']' && unescaped && characterClass) {
+ // characterClass = false;
+ // } else if (str[i] === '/' && unescaped && !characterClass) {
+ // regularExpression = false;
+ // }
+*/
+ }
+ else if (blockComment) {
+ // Is the block comment closing?
+ if (str[i] === '*' && str[i + 1] === '/') {
+ // if (!preserveComment)
+ str[i] = str[i + 1] = '';
+ blockComment /* = preserveComment*/ = false;
+ // Increase by 1 to skip closing '/', as it would be mistaken
+ // for a regexp otherwise
+ i++;
+ }
+ else {
+ //if (!preserveComment) {
+ str[i] = '';
+ }
+ }
+ else if (lineComment) {
+ // One-line comments end with the line-break
+ if (str[i + 1] === '\n' || str[i + 1] === '\r') {
+ lineComment = false;
+ }
+ str[i] = '';
+ }
+ else {
+ if (str[i] === '"' || str[i] === "'") {
+ quote = true;
+ quoteSign = str[i];
+ }
+ else if (str[i] === '[' && str[i - 1] !== '@') {
+ quote = true;
+ quoteSign = ']';
+ // } else if (str[i] === '-' && str[i + 1] === '-') {
+ // str[i] = '';
+ // lineComment = true;
+ }
+ else if (str[i] === '/' && str[i + 1] === '*') {
+ // Do not filter out conditional comments /*@ ... */
+ // and comments marked as protected /*! ... */
+ // preserveComment = /[@!]/.test(str[i + 2]);
+ // if (!preserveComment)
+ str[i] = '';
+ blockComment = true;
+ // console.log('block');
+ /*/* // } else if (str[i + 1] === '/') {
+ // str[i] = '';
+ // lineComment = true;
+ // } else {
+ // We need to make sure we don't count normal divisions as
+ // regular expresions. Matching this properly is difficult,
+ // but if we assume that normal division always have a space
+ // after /, a simple check for white space or '='' (for /=)
+ // is enough to distinguish divisions from regexps.
+ // TODO: Develop a proper check for regexps.
+ // if (!/[\s=]/.test(str[i + 1])) {
+ // regularExpression = true;
+ // }
+ // }
+*/
+ }
+ }
+ }
+ // Remove padding again.
+ str = str.join('').slice(2, -2);
+ /*/*
+// Strip empty lines that contain only white space and line breaks, as they
+// are left-overs from comment removal.
+str = str.replace(/^[ \t]+(\r\n|\n|\r)/gm, function(all) {
+ return '';
+});
+// Replace a sequence of more than two line breaks with only two.
+str = str.replace(/(\r\n|\n|\r)(\r\n|\n|\r)+/g, function(all, lineBreak) {
+ return lineBreak + lineBreak;
+});
+*/
+ return str;
+};
+export default utils;
diff --git a/build/ES6/utils/transformation.js b/build/ES6/utils/transformation.js
new file mode 100644
index 0000000000..3c3f76c9cb
--- /dev/null
+++ b/build/ES6/utils/transformation.js
@@ -0,0 +1,249 @@
+const utils = {};
+/**
+ Cut BOM first character for UTF-8 files (for merging two files)
+ @param {string} s Source string
+ @return {string} Replaced string
+*/
+utils.cutbom = s => {
+ if (s[0] === String.fromCharCode(65279)) {
+ s = s.substr(1);
+ }
+ return s;
+};
+// based on joliss/js-string-escape
+utils.escapeq = s => {
+ // console.log(s);
+ return ('' + s).replace(/["'\\\n\r\u2028\u2029]/g, function (character) {
+ // Escape all characters not included in SingleStringCharacters and
+ // DoubleStringCharacters on
+ // http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
+ switch (character) {
+ case '"':
+ case "'":
+ case '\\':
+ return '\\' + character;
+ // Four possible LineTerminator characters need to be escaped:
+ case '\n':
+ return '\\n';
+ case '\r':
+ return '\\r';
+ case '\u2028':
+ return '\\u2028';
+ case '\u2029':
+ return '\\u2029';
+ default:
+ }
+ });
+};
+/**
+ Double quotes for SQL statements
+ @param {string} s Source string
+ @return {string} Escaped string
+
+ @example
+
+ Piter's => Piter''s
+
+ */
+utils.undoubleq = s => {
+ return s.replace(/(\')/g, "''");
+};
+/**
+ Replace double quotes with single quote
+ @param {string} s Source string
+ @return {string} Replaced string
+ @example
+
+ Piter''s => Piter's
+
+ */
+utils.doubleq = s => {
+ return s.replace(/(\'\')/g, "\\'");
+};
+/**
+ Replace sigle quote to escaped single quote
+ @param {string} s Source string
+ @return {string} Replaced string
+
+ @todo Chack this functions
+
+*/
+utils.doubleqq = s => {
+ return s.replace(/\'/g, "'");
+};
+/**
+@function Hash a string to signed integer
+@param {string} source string
+@return {integer} hash number
+*/
+// FNV-1a inspired hashing
+utils.hash = str => {
+ var hash = 0x811c9dc5, i = str.length;
+ while (i) {
+ hash ^= str.charCodeAt(--i);
+ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
+ }
+ return hash;
+};
+utils.glob = (value, pattern) => {
+ var i = 0;
+ var s = '^';
+ while (i < pattern.length) {
+ var c = pattern[i], c1 = '';
+ if (i < pattern.length - 1)
+ c1 = pattern[i + 1];
+ if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ }
+ else if (c === '[' || c === ']') {
+ s += c;
+ }
+ else if (c === '*') {
+ s += '.*';
+ }
+ else if (c === '?') {
+ s += '.';
+ }
+ else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ }
+ else {
+ s += c;
+ }
+ i++;
+ }
+ s += '$';
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+};
+/**
+ Modify res according modifier
+ @function
+ @param {object} query Query object
+ @param res {object|number|string|boolean} res Data to be converted
+*/
+utils.modify = (alasql, query, res) => {
+ // jshint ignore:line
+ // console.log(arguments);
+ /* If source is a primitive value then return it */
+ if (typeof res === 'undefined' ||
+ typeof res === 'number' ||
+ typeof res === 'string' ||
+ typeof res === 'boolean') {
+ return res;
+ }
+ var modifier = query.modifier || alasql.options.modifier;
+ var columns = query.columns;
+ if (typeof columns === 'undefined' || columns.length === 0) {
+ // Try to create columns
+ if (res.length > 0) {
+ var allcol = {};
+ for (var i = Math.min(res.length, alasql.options.columnlookup || 10) - 1; 0 <= i; i--) {
+ for (let key in res[i]) {
+ allcol[key] = true;
+ }
+ }
+ columns = Object.keys(allcol).map(function (columnid) {
+ return { columnid: columnid };
+ });
+ }
+ else {
+ // Cannot recognize columns
+ columns = [];
+ }
+ }
+ // console.log(columns);
+ let key;
+ if (modifier === 'VALUE') {
+ // console.log(222,res);
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ res = res[0][key];
+ }
+ else {
+ res = undefined;
+ }
+ }
+ else if (modifier === 'ROW') {
+ if (res.length > 0) {
+ var a = [];
+ for (var ind in res[0]) {
+ a.push(res[0][ind]);
+ }
+ res = a;
+ }
+ else {
+ res = undefined;
+ }
+ }
+ else if (modifier === 'COLUMN') {
+ var ar = [];
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar.push(res[i][key]);
+ }
+ }
+ res = ar;
+ }
+ else if (modifier === 'MATRIX') {
+ // Returns square matrix of rows
+ var ar = [];
+ for (var i = 0; i < res.length; i++) {
+ var a = [];
+ var r = res[i];
+ for (var j = 0; j < columns.length; j++) {
+ a.push(r[columns[j].columnid]);
+ }
+ ar.push(a);
+ }
+ res = ar;
+ }
+ else if (modifier === 'INDEX') {
+ let ar = {};
+ let val;
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ val = columns[1].columnid;
+ }
+ else {
+ var okeys = Object.keys(res[0]);
+ key = okeys[0];
+ val = okeys[1];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar[res[i][key]] = res[i][val];
+ }
+ res = ar;
+ // res = arrayOfArrays(res);
+ }
+ else if (modifier === 'RECORDSET') {
+ res = new alasql.Recordset({ columns: columns, data: res });
+ // res = arrayOfArrays(res);
+ }
+ else if (modifier === 'TEXTSTRING') {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ res[i] = res[i][key];
+ }
+ res = res.join('\n');
+ // res = arrayOfArrays(res);
+ }
+ return res;
+};
+export default utils;
diff --git a/dist/alasql-md.js b/dist/alasql-md.js
deleted file mode 100644
index d0728eadc6..0000000000
--- a/dist/alasql-md.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- Markdown export functions from the result table
- @function
- @param {string} filename
- @param {object} opts
- @param {array} data
- @param {array} columns
- @param {callback} cb
- @return {number}
-
-*/
-alasql.into.MD = function(filename, opts, data, columns, cb) {
-
- // If columns is empty then generate columns
- if(columns.length == 0 && data.length > 0) {
- columns = Object.keys(data[0]).map(function(columnid){return {columnid:columnid}});
- };
-
- // If one parameter then filename is opts
- if(typeof filename == 'object') {
- opts = filename;
- filename = undefined;
- };
-
- /** @todo Add columns and lines generation */
-
- /** @type {number} */
- var res = data.length;
- /** @type {string} */
- var s = '';
- if(data.length > 0) {
- var key = columns[0].columnid;
- s += data.map(function(d){
- return d[key];
- }).join('\n');
- }
-
- // Save file
- res = alasql.utils.saveFile(filename,s);
- // Process callback
- if(cb) res = cb(res);
- return res;
-};
diff --git a/dist/alasql-worker.js b/dist/alasql-worker.js
deleted file mode 100755
index c6c6aa8664..0000000000
--- a/dist/alasql-worker.js
+++ /dev/null
@@ -1,245 +0,0 @@
-//! AlaSQL v0.4.6 | © 2014-2016 Andrey Gershun & Mathias Rangel Wulff | License: MIT
-/*
-@module alasql
-@version 0.4.6
-
-AlaSQL - JavaScript SQL database
-© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
-
-@license
-The MIT License (MIT)
-
-Copyright 2014-2016 Andrey Gershun (agershun@gmail.com) & Mathias Rangel Wulff (m@rawu.dk)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-
-/*
-//
-// AlaSQL Workker
-// Date: 13.04.2014
-// (c) 2014-2015, Andrey Gershun
-//
-*/
-(function (root, factory) {
- if (typeof define === 'function' && define.amd) {
- define([], factory);
- } else if (typeof exports === 'object') {
- module.exports = factory();
- } else {
- root.alasql = factory();
- }
-}(this, function () {
-
-/**
- Main procedure for worker
- @function
- @param {string} sql SQL statement
- @param {object} params List of parameters (can be omitted)
- @param {callback} cb Callback function
- @return {object} Query result
-*/
-function alasql(sql,params,cb){
-
- params = params||[];
-
- // Avoid setting params if not needed even with callback
- if(typeof params === 'function'){
- scope = cb;
- cb = params;
- params = [];
- }
-
- if(typeof params !== 'object'){
- params = [params];
- }
-
- // Increase last request id
- var id = alasql.lastid++;
- // Save callback
- alasql.buffer[id] = cb;
- // Send a message to worker
- alasql.webworker.postMessage({id:id,sql:sql,params:params});
-}
-
-
-alasql.options = {};
-alasql.options.progress = function(){};
-
-isArray = function(obj){
- return "[object Array]"===Object.prototype.toString.call(obj);
-}
-
-alasql.promise = function() {
- throw new Error('Please include a Promise/A+ library');
-}
-
-// From src/18promise.js
-if(typeof Promise !== "undefined"){
- var promiseExec = function(sql, params, counterStep, counterTotal){
- return new Promise(function(resolve, reject){
- alasql(sql, params, function(data,err) {
- if(err) {
- reject(err);
- } else {
- if (counterStep && counterTotal && alasql.options.progress !== false) {
- alasql.options.progress(counterStep, counterTotal);
- }
- resolve(data);
- }
- });
- });
- }
-
- var promiseAll = function(sqlParamsArray){
- if(sqlParamsArray.length<1){
- return ;
- }
-
- var active, sql, params;
-
- var execArray = [];
-
- for (var i = 0; i < sqlParamsArray.length; i++) {
- active = sqlParamsArray[i];
-
- if(typeof active === 'string'){
- active = [active];
- }
-
- if(!isArray(active) || active.length<1 || 2 1) {
- var sql =
- 'REQUIRE ' +
- paths
- .map(function(p) {
- return '"' + p + '"';
- })
- .join(',');
- alasql(sql, [], cb);
- }
- } else if (path === false) {
- delete alasql.webworker;
- return;
- }
- };
-}
-
-
-/* WebWorker */
-/** @type {number} */
-alasql.lastid = 0;
-
-/** @type {object} */
-alasql.buffer = {};
-
-alasql.worker();
-
-return alasql;
-}));
diff --git a/dist/alasql-worker.min.js b/dist/alasql-worker.min.js
deleted file mode 100755
index 4c5aa11fb5..0000000000
--- a/dist/alasql-worker.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-//! AlaSQL v0.4.6 | © 2014-2016 Andrey Gershun & Mathias Rangel Wulff | License: MIT
-!function(r,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():r.alasql=e()}(this,function(){function r(e,t,o){t=t||[],"function"==typeof t&&(scope=o,o=t,t=[]),"object"!=typeof t&&(t=[t]);var n=r.lastid++;r.buffer[n]=o,r.webworker.postMessage({id:n,sql:e,params:t})}if(r.options={},r.options.progress=function(){},isArray=function(r){return"[object Array]"===Object.prototype.toString.call(r)},r.promise=function(){throw new Error("Please include a Promise/A+ library")},"undefined"!=typeof Promise){var e=function(e,t,o,n){return new Promise(function(s,i){r(e,t,function(e,t){t?i(t):(o&&n&&!1!==r.options.progress&&r.options.progress(o,n),s(e))})})},t=function(r){if(!(r.length<1)){for(var t,o,n,s=[],i=0;i1){r("REQUIRE "+t.map(function(r){return'"'+r+'"'}).join(","),[],o)}}else if(!1===e)return void delete r.webworker}),r.lastid=0,r.buffer={},r.worker(),r});
\ No newline at end of file
diff --git a/dist/alasql.d.ts b/dist/alasql.d.ts
deleted file mode 100644
index c6cf8ef3c3..0000000000
--- a/dist/alasql.d.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-// Project: https://github.com/agershun/alasql
-
-declare namespace alaSQLSpace {
- interface AlaSQLCallback {
- (data?: any, err?: Error): void;
- }
-
- interface AlaSQLOptions {
- errorlog: boolean;
- valueof: boolean;
- dropifnotexists: boolean; // drop database in any case
- datetimeformat: string; // how to handle DATE and DATETIME types
- casesensitive: boolean; // table and column names are case sensitive and converted to lower-case
- logtarget: string; // target for log. Values: 'console', 'output', 'id' of html tag
- logprompt: boolean; // print SQL at log
- modifier: any; // values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX
- columnlookup: number; // how many rows to lookup to define columns
- autovertex: boolean; // create vertex if not found
- usedbo: boolean; // use dbo as current database (for partial T-SQL comaptibility)
- autocommit: boolean; // the AUTOCOMMIT ON | OFF
- cache: boolean; // use cache
- nocount: boolean; // for SET NOCOUNT OFF
- nan: boolean; // check for NaN and convert it to undefined
- angularjs: boolean;
- tsql: boolean;
- mysql: boolean;
- postgres: boolean;
- oracle: boolean;
- sqlite: boolean;
- orientdb: boolean;
- }
-
- // compiled Statement
- interface AlaSQLStatement {
- (params?: any, cb?: AlaSQLCallback, scope?: any): any;
- }
-
- // abstract Syntax Tree
- interface AlaSQLAST {
- compile(databaseid: string): AlaSQLStatement;
- }
-
- // https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/es6-promise/es6-promise.d.ts
- interface Thenable {
- then(onFulfilled?: (value: T) => U | Thenable, onRejected?: (error: any) => U | Thenable): Thenable;
- then(onFulfilled?: (value: T) => U | Thenable, onRejected?: (error: any) => void): Thenable;
- catch(onRejected?: (error: any) => U | Thenable): Thenable;
- }
-
- // see https://github.com/agershun/alasql/wiki/User%20Defined%20Functions
- interface userDefinedFunction {
- (x: any): any;
- }
- interface userDefinedFunctionLookUp {
- [x: string]: userDefinedFunction;
- }
- // see https://github.com/agershun/alasql/wiki/User%20Defined%20Functions
- interface userAggregator {
- (value: any, accumulator: any, stage: number): any;
- }
- interface userAggregatorLookUp {
- [x: string]: userAggregator;
- }
-
- interface AlaSQL {
- options: AlaSQLOptions;
- error: Error;
- (sql: any, params?: any, cb?: AlaSQLCallback, scope?: any): any;
- parse(sql: any): AlaSQLAST;
- promise(sql: any, params?: any): Thenable;
- fn: userDefinedFunctionLookUp;
- aggr: userAggregatorLookUp;
- autoval(tablename: string, colname: string, getNext?:boolean): number;
- yy:{};
- }
-}
-
-declare var alasql: alaSQLSpace.AlaSQL;
-declare module 'alasql' {
- export = alasql;
-}
diff --git a/dist/alasql.fs.js b/dist/alasql.fs.js
old mode 100755
new mode 100644
index a808547d22..8549fffcd8
--- a/dist/alasql.fs.js
+++ b/dist/alasql.fs.js
@@ -1,19744 +1,8411 @@
-//! AlaSQL v0.4.6 | © 2014-2016 Andrey Gershun & Mathias Rangel Wulff | License: MIT
-/*
-@module alasql
-@version 0.4.6
-
-AlaSQL - JavaScript SQL database
-© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
-
-@license
-The MIT License (MIT)
-
-Copyright 2014-2016 Andrey Gershun (agershun@gmail.com) & Mathias Rangel Wulff (m@rawu.dk)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-
-/* eslint-disable */
-
-"use strict";
-
-/**
- @fileoverview AlaSQL JavaScript SQL library
- @see http://github.com/agershun/alasql
-*/
-
-/**
- Callback from statement
- @callback statement-callback
- @param {object} data Result data
-*/
-
-/**
- UMD envelope for AlaSQL
-*/
-
-(function (root, factory) {
- if (typeof define === 'function' && define.amd) {
- define([], factory);
- } else if (typeof exports === 'object') {
- /** alasql main function */
- module.exports = factory();
- } else {
- root.alasql = factory();
- }
-}(this, function () {
-
-/**
- AlaSQL - Main Alasql class
- @function
- @param {string|function|object} sql - SQL-statement or data object for fuent interface
- @param {object} params - SQL parameters
- @param {function} cb - callback function
- @param {object} scope - Scope for nested queries
- @return {any} - Result data object
-
- @example
- Standard sync call:
- alasql('CREATE TABLE one');
- Query:
- var res = alasql('SELECT * FROM one');
- Call with parameters:
- var res = alasql('SELECT * FROM ?',[data]);
- Standard async call with callback function:
- alasql('SELECT * FROM ?',[data],function(res){
- console.log(data);
- });
- Call with scope for subquery (to pass common values):
- var scope = {one:{a:2,b;20}}
- alasql('SELECT * FROM ? two WHERE two.a = one.a',[data],null,scope);
- Call for fluent interface with data object:
- alasql(data).Where(function(x){return x.a == 10}).exec();
- Call for fluent interface without data object:
- alasql().From(data).Where(function(x){return x.a == 10}).exec();
- */
-
-var alasql = function(sql, params, cb, scope) {
-
- params = params||[];
-
- if(typeof importScripts !== 'function' && alasql.webworker) {
- var id = alasql.lastid++;
- alasql.buffer[id] = cb;
- alasql.webworker.postMessage({id:id,sql:sql,params:params});
- return;
- }
-
- if(arguments.length === 0) {
- // Without arguments - Fluent interface
- return new yy.Select({
- columns:[new yy.Column({columnid:'*'})],
- from: [new yy.ParamValue({param:0})]
- });
- } else if(arguments.length === 1){
- // Access promise notation without using `.promise(...)`
- if(sql.constructor === Array){
- return alasql.promise(sql);
- }
- }
- // Avoid setting params if not needed even with callback
- if(typeof params === 'function'){
- scope = cb;
- cb = params;
- params = [];
- }
-
- if(typeof params !== 'object'){
- params = [params];
- }
-
- // Standard interface
- // alasql('#sql');
- if(typeof sql === 'string' && sql[0]==='#' && typeof document === "object") {
- sql = document.querySelector(sql).textContent;
- } else if(typeof sql === 'object' && sql instanceof HTMLElement) {
- sql = sql.textContent;
- } else if(typeof sql === 'function') {
- // to run multiline functions
- sql = sql.toString();
- sql = (/\/\*([\S\s]+)\*\//m.exec(sql) || ['','Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function.'])[1];
- }
- // Run SQL
- return alasql.exec(sql, params, cb, scope);
-};
-
-/**
- Current version of alasql
- @constant {string}
-*/
-alasql.version = '0.4.6';
-
-/**
- Debug flag
- @type {boolean}
-*/
-alasql.debug = undefined; // Initial debug variable
-
-/*only-for-browser/*
-var require = function(){return null}; // as alasqlparser.js is generated, we can not "remove" referenses to
-var __dirname = '';
-//*/
-
-/* parser generated by jison 0.4.18 */
-/*
- Returns a Parser object of the following structure:
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global.alasql = factory());
+}(this, (function () { 'use strict';
+
+ var utils = {};
+ utils.n2u = function (s) {
+ return '(y=' + s + ',y===y?y:undefined)';
+ };
+ utils.und = function (s, r) {
+ return '(y=' + s + ',typeof y=="undefined"?undefined:' + r + ')';
+ };
+ utils.returnTrue = function () {
+ return true;
+ };
+ utils.returnUndefined = function () { };
+ utils.global = (function () {
+ if (typeof self !== 'undefined') {
+ return self;
+ }
+ if (typeof window !== 'undefined') {
+ return window;
+ }
+ if (typeof global !== 'undefined') {
+ return global;
+ }
+ return Function('return this')();
+ }());
+ utils.isNativeFunction = function (fn) {
+ return typeof fn === 'function' && !!~fn.toString().indexOf('[native code]');
+ };
+ utils.isArray = function (obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+ };
+ utils.extend = function (a, b) {
+ a = a || {};
+ for (var key in b) {
+ if (b.hasOwnProperty(key)) {
+ a[key] = b[key];
+ }
+ }
+ return a;
+ };
+
+ var global$1 = utils.global;
+ var isNativeFunction = utils.isNativeFunction;
+ var utils$1 = {};
+ utils$1.isWebWorker = (function () {
+ try {
+ var importScripts = global$1.importScripts;
+ return isNativeFunction(importScripts);
+ }
+ catch (e) {
+ return false;
+ }
+ })();
+ utils$1.isNode = (function () {
+ try {
+ return isNativeFunction(global$1.process.reallyExit);
+ }
+ catch (e) {
+ return false;
+ }
+ })();
+ utils$1.isBrowser = (function () {
+ try {
+ return isNativeFunction(global$1.location.reload);
+ }
+ catch (e) {
+ return false;
+ }
+ })();
+ utils$1.isBrowserify = (function () {
+ return utils$1.isBrowser && typeof process !== 'undefined' && process.browser;
+ })();
+ utils$1.isRequireJS = (function () {
+ return (utils$1.isBrowser &&
+ typeof require === 'function' &&
+ typeof require.specified === 'function');
+ })();
+ utils$1.isMeteor = (function () {
+ return typeof Meteor !== 'undefined' && Meteor.release;
+ })();
+ utils$1.isMeteorClient = utils$1.isMeteor && Meteor.isClient;
+ utils$1.isMeteorServer = utils$1.isMeteor && Meteor.isServer;
+ utils$1.isCordova = typeof cordova === 'object';
+ utils$1.isReactNative = (function () {
+ var isReact = false;
+ try {
+ if (typeof require('react-native') === 'object') {
+ isReact = true;
+ }
+ }
+ catch (e) {
+ }
+ return isReact;
+ })();
+ utils$1.hasIndexedDB = !!global$1.indexedDB;
+ utils$1.isIE = (function () {
+ return false;
+ })();
+ utils$1.findAlaSQLPath = function () {
+ if (utils$1.isWebWorker) {
+ return '';
+ }
+ else if (utils$1.isMeteorClient) {
+ return '/packages/dist/';
+ }
+ else if (utils$1.isMeteorServer) {
+ return 'assets/packages/dist/';
+ }
+ else if (utils$1.isNode) {
+ return __dirname;
+ }
+ else if (utils$1.isBrowser) {
+ var sc = document.getElementsByTagName('script');
+ for (var i = 0; i < sc.length; i++) {
+ if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 16);
+ }
+ else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 20);
+ }
+ else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 9);
+ }
+ else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 13);
+ }
+ }
+ }
+ return '';
+ };
- Parser: {
- yy: {}
+ var utils$2 = {};
+ utils$2.cutbom = function (s) {
+ if (s[0] === String.fromCharCode(65279)) {
+ s = s.substr(1);
+ }
+ return s;
+ };
+ utils$2.escapeq = function (s) {
+ return ('' + s).replace(/["'\\\n\r\u2028\u2029]/g, function (character) {
+ switch (character) {
+ case '"':
+ case "'":
+ case '\\':
+ return '\\' + character;
+ case '\n':
+ return '\\n';
+ case '\r':
+ return '\\r';
+ case '\u2028':
+ return '\\u2028';
+ case '\u2029':
+ return '\\u2029';
+ default:
+ }
+ });
+ };
+ utils$2.undoubleq = function (s) {
+ return s.replace(/(\')/g, "''");
+ };
+ utils$2.doubleq = function (s) {
+ return s.replace(/(\'\')/g, "\\'");
+ };
+ utils$2.doubleqq = function (s) {
+ return s.replace(/\'/g, "'");
+ };
+ utils$2.hash = function (str) {
+ var hash = 0x811c9dc5, i = str.length;
+ while (i) {
+ hash ^= str.charCodeAt(--i);
+ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
+ }
+ return hash;
+ };
+ utils$2.glob = function (value, pattern) {
+ var i = 0;
+ var s = '^';
+ while (i < pattern.length) {
+ var c = pattern[i], c1 = '';
+ if (i < pattern.length - 1)
+ { c1 = pattern[i + 1]; }
+ if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ }
+ else if (c === '[' || c === ']') {
+ s += c;
+ }
+ else if (c === '*') {
+ s += '.*';
+ }
+ else if (c === '?') {
+ s += '.';
+ }
+ else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ }
+ else {
+ s += c;
+ }
+ i++;
+ }
+ s += '$';
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+ };
+ utils$2.modify = function (alasql, query, res) {
+ if (typeof res === 'undefined' ||
+ typeof res === 'number' ||
+ typeof res === 'string' ||
+ typeof res === 'boolean') {
+ return res;
+ }
+ var modifier = query.modifier || alasql.options.modifier;
+ var columns = query.columns;
+ if (typeof columns === 'undefined' || columns.length === 0) {
+ if (res.length > 0) {
+ var allcol = {};
+ for (var i = Math.min(res.length, alasql.options.columnlookup || 10) - 1; 0 <= i; i--) {
+ for (var key$1 in res[i]) {
+ allcol[key$1] = true;
+ }
+ }
+ columns = Object.keys(allcol).map(function (columnid) {
+ return { columnid: columnid };
+ });
+ }
+ else {
+ columns = [];
+ }
+ }
+ var key;
+ if (modifier === 'VALUE') {
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ res = res[0][key];
+ }
+ else {
+ res = undefined;
+ }
+ }
+ else if (modifier === 'ROW') {
+ if (res.length > 0) {
+ var a = [];
+ for (var ind in res[0]) {
+ a.push(res[0][ind]);
+ }
+ res = a;
+ }
+ else {
+ res = undefined;
+ }
+ }
+ else if (modifier === 'COLUMN') {
+ var ar = [];
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar.push(res[i][key]);
+ }
+ }
+ res = ar;
+ }
+ else if (modifier === 'MATRIX') {
+ var ar = [];
+ for (var i = 0; i < res.length; i++) {
+ var a = [];
+ var r = res[i];
+ for (var j = 0; j < columns.length; j++) {
+ a.push(r[columns[j].columnid]);
+ }
+ ar.push(a);
+ }
+ res = ar;
+ }
+ else if (modifier === 'INDEX') {
+ var ar$1 = {};
+ var val;
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ val = columns[1].columnid;
+ }
+ else {
+ var okeys = Object.keys(res[0]);
+ key = okeys[0];
+ val = okeys[1];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar$1[res[i][key]] = res[i][val];
+ }
+ res = ar$1;
+ }
+ else if (modifier === 'RECORDSET') {
+ res = new alasql.Recordset({ columns: columns, data: res });
+ }
+ else if (modifier === 'TEXTSTRING') {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ res[i] = res[i][key];
+ }
+ res = res.join('\n');
+ }
+ return res;
+ };
+
+ var utils$3 = {};
+ utils$3.like = function (pattern, value, escape) {
+ if (!escape)
+ { escape = ''; }
+ var i = 0;
+ var s = '^';
+ while (i < pattern.length) {
+ var c = pattern[i], c1 = '';
+ if (i < pattern.length - 1)
+ { c1 = pattern[i + 1]; }
+ if (c === escape) {
+ s += '\\' + c1;
+ i++;
+ }
+ else if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ }
+ else if (c === '[' || c === ']') {
+ s += c;
+ }
+ else if (c === '%') {
+ s += '.*';
+ }
+ else if (c === '_') {
+ s += '.';
+ }
+ else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ }
+ else {
+ s += c;
+ }
+ i++;
+ }
+ s += '$';
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+ };
+ utils$3.uncomment = function (str) {
+ str = ('__' + str + '__').split('');
+ var quote = false, quoteSign,
+ blockComment = false, lineComment = false;
+ for (var i = 0, l = str.length; i < l; i++) {
+ var unescaped = str[i - 1] !== '\\' || str[i - 2] === '\\';
+ if (quote) {
+ if (str[i] === quoteSign && unescaped) {
+ quote = false;
+ }
+ }
+ else if (blockComment) {
+ if (str[i] === '*' && str[i + 1] === '/') {
+ str[i] = str[i + 1] = '';
+ blockComment = false;
+ i++;
+ }
+ else {
+ str[i] = '';
+ }
+ }
+ else if (lineComment) {
+ if (str[i + 1] === '\n' || str[i + 1] === '\r') {
+ lineComment = false;
+ }
+ str[i] = '';
+ }
+ else {
+ if (str[i] === '"' || str[i] === "'") {
+ quote = true;
+ quoteSign = str[i];
+ }
+ else if (str[i] === '[' && str[i - 1] !== '@') {
+ quote = true;
+ quoteSign = ']';
+ }
+ else if (str[i] === '/' && str[i + 1] === '*') {
+ str[i] = '';
+ blockComment = true;
+ }
+ }
+ }
+ str = str.join('').slice(2, -2);
+ return str;
+ };
+
+ var cutbom = utils$2.cutbom;
+ var utils$4 = {};
+ utils$4.loadFile = function (path, asy, success, error) {
+ var data, fs;
+ if (utils$1.isNode || utils$1.isMeteorServer) {
+ if (utils$4.isMeteor) {
+ fs = Npm.require('fs');
+ }
+ else {
+ fs = require('fs');
+ }
+ if (typeof path === 'undefined') {
+ var buff = '';
+ process.stdin.setEncoding('utf8');
+ process.stdin.on('readable', function () {
+ var chunk = process.stdin.read();
+ if (chunk !== null) {
+ buff += chunk.toString();
+ }
+ });
+ process.stdin.on('end', function () {
+ success(cutbom(buff));
+ });
+ }
+ else {
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request(path, function (err, response, body) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(body.toString()));
+ });
+ }
+ else {
+ if (asy) {
+ fs.readFile(path, function (err, data) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(data.toString()));
+ });
+ }
+ else {
+ data = fs.readFileSync(path);
+ success(cutbom(data.toString()));
+ }
+ }
+ }
+ }
+ else if (utils$4.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.readFile(path, 'utf8')
+ .then(function (contents) {
+ success(cutbom(contents));
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ }
+ else if (utils$4.isCordova) {
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ fileEntry.file(function (file) {
+ var fileReader = new FileReader();
+ fileReader.onloadend = function (e) {
+ success(cutbom(this.result));
+ };
+ fileReader.readAsText(file);
+ });
+ });
+ });
+ }
+ else {
+ if (typeof path === 'string') {
+ if (path.substr(0, 1) === '#' && typeof document !== 'undefined') {
+ data = document.querySelector(path).textContent;
+ success(data);
+ }
+ else {
+ var xhr = new XMLHttpRequest();
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200) {
+ if (success) {
+ success(cutbom(xhr.responseText));
+ }
+ }
+ else if (error) {
+ error(xhr);
+ }
+ }
+ };
+ xhr.open('GET', path, asy);
+ xhr.responseType = 'text';
+ xhr.send();
+ }
+ }
+ else if (path instanceof Event) {
+ var files = path.target.files;
+ var reader = new FileReader();
+ var name = files[0].name;
+ reader.onload = function (e) {
+ var data = e.target.result;
+ success(cutbom(data));
+ };
+ reader.readAsText(files[0]);
+ }
+ }
+ };
+ utils$4.loadBinaryFile = function (path, asy, success, error) {
+ var fs;
+ if (utils$4.isNode || utils$4.isMeteorServer) {
+ if (utils$4.isMeteorServer) {
+ fs = Npm.require('fs');
+ }
+ else {
+ fs = require('fs');
+ }
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request({ url: path, encoding: null }, function (err, response, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ }
+ else {
+ if (asy) {
+ fs.readFile(path, function (err, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ }
+ else {
+ var data = fs.readFileSync(path);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ }
+ }
+ }
+ else if (utils$4.isReactNative) {
+ var RNFetchBlob = require('react-native-fetch-blob').default;
+ var dirs = RNFetchBlob.fs.dirs;
+ RNFetchBlob.fs.readFile(path, 'base64').then(function (data) {
+ success(data);
+ });
+ }
+ else {
+ if (typeof path === 'string') {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', path, asy);
+ xhr.responseType = 'arraybuffer';
+ xhr.onload = function () {
+ var data = new Uint8Array(xhr.response);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ };
+ xhr.send();
+ }
+ else if (path instanceof Event) {
+ var files = path.target.files;
+ var reader = new FileReader();
+ var name = files[0].name;
+ reader.onload = function (e) {
+ var data = e.target.result;
+ success(data);
+ };
+ reader.readAsArrayBuffer(files[0]);
+ }
+ else if (path instanceof Blob) {
+ success(path);
+ }
+ }
+ };
+ var removeFile = (utils$4.removeFile = function (path, cb) {
+ if (utils$4.isNode) {
+ var fs = require('fs');
+ fs.remove(path, cb);
+ }
+ else if (utils$4.isCordova) {
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ fileEntry.remove(cb);
+ if (cb)
+ { cb(); }
+ }, function () {
+ if (cb)
+ { cb(); }
+ });
+ });
+ }
+ else if (utils$4.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function () {
+ if (cb)
+ { cb(); }
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ }
+ else {
+ throw new Error('You can remove files only in Node.js and Apache Cordova');
+ }
+ });
+ utils$4.deleteFile = function (path, cb) {
+ if (utils$4.isNode) {
+ var fs = require('fs');
+ fs.unlink(path, cb);
+ }
+ else if (utils$4.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function () {
+ if (cb)
+ { cb(); }
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ }
+ };
+ utils$4.autoExtFilename = function (filename, ext, config) {
+ config = config || {};
+ if (typeof filename !== 'string' ||
+ filename.match(/^[A-z]+:\/\/|\n|\..{2,4}$/) ||
+ config.autoExt === 0 ||
+ config.autoExt === false) {
+ return filename;
+ }
+ return filename + '.' + ext;
+ };
+ utils$4.fileExists = function (path, cb) {
+ if (utils$4.isNode) {
+ var fs = require('fs');
+ fs.exists(path, cb);
+ }
+ else if (utils$4.isCordova) {
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ cb(true);
+ }, function () {
+ cb(false);
+ });
+ });
+ }
+ else if (utils$4.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.exists(path)
+ .then(function (yes) {
+ if (cb)
+ { cb(yes); }
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ }
+ else {
+ throw new Error('You can use exists() only in Node.js or Apach Cordova');
+ }
+ };
+ utils$4.saveFile = function (path, data, cb, opts) {
+ var res = 1;
+ if (path === undefined) {
+ res = data;
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ else {
+ if (utils$4.isNode) {
+ var fs = require('fs');
+ data = fs.writeFileSync(path, data);
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ else if (utils$4.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.writeFile(path, data)
+ .then(function (success) {
+ if (cb)
+ { res = cb(res); }
+ })
+ .catch(function (err) {
+ console.error(err.message);
+ });
+ }
+ else if (utils$4.isCordova) {
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: true }, function (fileEntry) {
+ fileEntry.createWriter(function (fileWriter) {
+ fileWriter.onwriteend = function () {
+ if (cb) {
+ res = cb(res);
+ }
+ };
+ fileWriter.write(data);
+ });
+ });
+ });
+ }
+ else {
+ if (utils$4.isIE() === 9) {
+ var ndata = data.replace(/\r\n/g, 'A;D;');
+ ndata = ndata.replace(/\n/g, 'D;');
+ ndata = ndata.replace(/\t/g, ' ');
+ var testlink = utils$4.global.open('about:blank', '_blank');
+ testlink.document.write(ndata);
+ testlink.document.close();
+ testlink.document.execCommand('SaveAs', false, path);
+ testlink.close();
+ }
+ else {
+ var opt = {
+ disableAutoBom: false,
+ };
+ utils$4.extend(opt, opts);
+ var blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
+ utils$4.saveAs(blob, path, opt.disableAutoBom);
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ }
+ }
+ return res;
+ };
+
+ var domTools = { domEmptyChildren: function (container) {
+ var len = container.childNodes.length;
+ while (len--) {
+ container.removeChild(container.lastChild);
+ }
+ } };
+
+ var utils$5 = {};
+ utils$5.getXLSX = function () {
+ var XLSX = null;
+ if (utils$1.isNode || utils$1.isBrowserify || utils$1.isMeteorServer) {
+ XLSX = require('xlsx') || null;
+ }
+ else {
+ XLSX = global.XLSX || null;
+ }
+ if (null === XLSX) {
+ throw new Error('Please include the xlsx.js library');
+ }
+ return XLSX;
+ };
+ utils$5.xlsnc = function (i) {
+ var addr = String.fromCharCode(65 + (i % 26));
+ if (i >= 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ if (i > 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ }
+ }
+ return addr;
+ };
+ utils$5.xlscn = function (s) {
+ var n = s.charCodeAt(0) - 65;
+ if (s.length > 1) {
+ n = (n + 1) * 26 + s.charCodeAt(1) - 65;
+ if (s.length > 2) {
+ n = (n + 1) * 26 + s.charCodeAt(2) - 65;
+ }
+ }
+ return n;
+ };
+
+ var utils$6 = Object.assign({}, utils, utils$1, utils$2, utils$3, utils$4, domTools, utils$3, utils$5);
+
+ var hash$1 = function (x) { return x; };
+ function addOptions (mem) {
+ var alasql = mem.alasql;
+ alasql.parse = function (sql) {
+ return mem.grammar.parse(utils$6.uncomment(sql));
+ };
+ alasql.engines = {};
+ alasql.databases = {};
+ alasql.databasenum = 0;
+ alasql.options = {};
+ alasql.options.errorlog = false;
+ alasql.options.valueof = false;
+ alasql.options.dropifnotexists = false;
+ alasql.options.datetimeformat = 'sql';
+ alasql.options.casesensitive = true;
+ alasql.options.logtarget = 'output';
+ alasql.options.logprompt = true;
+ alasql.options.progress = false;
+ alasql.options.modifier = undefined;
+ alasql.options.columnlookup = 10;
+ alasql.options.autovertex = true;
+ alasql.options.usedbo = true;
+ alasql.options.autocommit = true;
+ alasql.options.cache = true;
+ alasql.options.tsql = true;
+ alasql.options.mysql = true;
+ alasql.options.postgres = true;
+ alasql.options.oracle = true;
+ alasql.options.sqlite = true;
+ alasql.options.orientdb = true;
+ alasql.options.nocount = false;
+ alasql.options.nan = false;
+ alasql.options.joinstar = 'overwrite';
+ alasql.vars = {};
+ alasql.declares = {};
+ alasql.prompthistory = [];
+ alasql.plugins = {};
+ alasql.from = {};
+ alasql.into = {};
+ alasql.fn = {};
+ alasql.aggr = {};
+ alasql.busy = 0;
+ alasql.MAXSQLCACHESIZE = 10000;
+ alasql.DEFAULTDATABASEID = 'alasql';
+ alasql.lastid = 0;
+ alasql.buffer = {};
+ alasql.use = function (databaseid) {
+ if (!databaseid) {
+ databaseid = alasql.DEFAULTDATABASEID;
+ }
+ if (alasql.useid === databaseid) {
+ return;
+ }
+ alasql.useid = databaseid;
+ var db = alasql.databases[alasql.useid];
+ alasql.tables = db.tables;
+ db.resetSqlCache();
+ if (alasql.options.usedbo) {
+ alasql.databases.dbo = db;
+ }
+ };
+ alasql.autoval = function (tablename, colname, getNext, databaseid) {
+ var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];
+ if (!db.tables[tablename]) {
+ throw new Error('Tablename not found: ' + tablename);
+ }
+ if (!db.tables[tablename].identities[colname]) {
+ throw new Error('Colname not found: ' + colname);
+ }
+ if (getNext) {
+ return db.tables[tablename].identities[colname].value || null;
+ }
+ return (db.tables[tablename].identities[colname].value -
+ db.tables[tablename].identities[colname].step || null);
+ };
+ alasql.exec = function (sql, params, cb, scope) {
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = {};
+ }
+ delete alasql.error;
+ params = params || {};
+ if (alasql.options.errorlog) {
+ try {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ }
+ catch (err) {
+ alasql.error = err;
+ if (cb) {
+ cb(null, alasql.error);
+ }
+ }
+ }
+ else {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ }
+ };
+ alasql.dexec = function (databaseid, sql, params, cb, scope) {
+ var db = alasql.databases[databaseid];
+ var hh;
+ if (alasql.options.cache) {
+ hh = hash$1(sql);
+ var statement = db.sqlCache[hh];
+ if (statement && db.dbversion === statement.dbversion) {
+ return statement(params, cb);
+ }
+ }
+ var ast = alasql.parse(sql);
+ if (!ast.statements) {
+ return;
+ }
+ if (0 === ast.statements.length) {
+ return 0;
+ }
+ else if (1 === ast.statements.length) {
+ if (ast.statements[0].compile) {
+ statement = ast.statements[0].compile(databaseid, params);
+ if (!statement) {
+ return;
+ }
+ statement.sql = sql;
+ statement.dbversion = db.dbversion;
+ if (alasql.options.cache) {
+ if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
+ db.resetSqlCache();
+ }
+ db.sqlCacheSize++;
+ db.sqlCache[hh] = statement;
+ }
+ var res = (alasql.res = statement(params, cb, scope));
+ return res;
+ }
+ else {
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ res = alasql.res = ast.statements[0].execute(databaseid, params, cb, scope);
+ return res;
+ }
+ }
+ else {
+ if (cb) {
+ alasql.adrun(databaseid, ast, params, cb, scope);
+ }
+ else {
+ return alasql.drun(databaseid, ast, params, cb, scope);
+ }
+ }
+ };
+ alasql.drun = function (databaseid, ast, params, cb, scope) {
+ var useid = alasql.useid;
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+ var res = [];
+ for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {
+ if (ast.statements[i]) {
+ if (ast.statements[i].compile) {
+ var statement = ast.statements[i].compile(alasql.useid);
+ res.push((alasql.res = statement(params, null, scope)));
+ }
+ else {
+ alasql.precompile(ast.statements[i], alasql.useid, params);
+ res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));
+ }
+ }
+ }
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+ if (cb) {
+ cb(res);
+ }
+ alasql.res = res;
+ return res;
+ };
+ alasql.adrun = function (databaseid, ast, params, cb, scope) {
+ var idx = 0;
+ var noqueries = ast.statements.length;
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ var useid = alasql.useid;
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+ var res = [];
+ var adrunone = function (data) {
+ if (data !== undefined) {
+ res.push(data);
+ }
+ var astatement = ast.statements.shift();
+ if (!astatement) {
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+ cb(res);
+ }
+ else {
+ if (astatement.compile) {
+ var statement = astatement.compile(alasql.useid);
+ statement(params, adrunone, scope);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ }
+ else {
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ astatement.execute(alasql.useid, params, adrunone);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ }
+ }
+ };
+ adrunone();
+ };
+ alasql.compile = function (sql, databaseid) {
+ databaseid = databaseid || alasql.useid;
+ var ast = alasql.parse(sql);
+ if (1 === ast.statements.length) {
+ var statement = ast.statements[0].compile(databaseid);
+ statement.promise = function (params) {
+ return new Promise(function (resolve, reject) {
+ statement(params, function (data, err) {
+ if (err) {
+ reject(err);
+ }
+ else {
+ resolve(data);
+ }
+ });
+ });
+ };
+ return statement;
+ }
+ else {
+ throw new Error('Cannot compile, because number of statements in SQL is not equal to 1');
+ }
+ };
+ mem.alasql = alasql;
}
- Parser.prototype: {
- yy: {},
- trace: function(),
- symbols_: {associative list: name ==> number},
- terminals_: {associative list: number ==> name},
- productions_: [...],
- performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
- table: [...],
- defaultActions: {...},
- parseError: function(str, hash),
- parse: function(input),
-
- lexer: {
- EOF: 1,
- parseError: function(str, hash),
- setInput: function(input),
- input: function(),
- unput: function(str),
- more: function(),
- less: function(n),
- pastInput: function(),
- upcomingInput: function(),
- showPosition: function(),
- test_match: function(regex_match_array, rule_index),
- next: function(),
- lex: function(),
- begin: function(condition),
- popState: function(),
- _currentRules: function(),
- topState: function(),
- pushState: function(condition),
+ var alasqlparser = (function () {
+ var o = function (k, v, o, l) { for (o = o || {}, l = k.length; l--; o[k[l]] = v)
+ { } return o; }, $V0 = [2, 13], $V1 = [1, 104], $V2 = [1, 102], $V3 = [1, 103], $V4 = [1, 6], $V5 = [1, 42], $V6 = [1, 79], $V7 = [1, 76], $V8 = [1, 94], $V9 = [1, 93], $Va = [1, 69], $Vb = [1, 101], $Vc = [1, 85], $Vd = [1, 64], $Ve = [1, 71], $Vf = [1, 84], $Vg = [1, 66], $Vh = [1, 70], $Vi = [1, 68], $Vj = [1, 61], $Vk = [1, 74], $Vl = [1, 62], $Vm = [1, 67], $Vn = [1, 83], $Vo = [1, 77], $Vp = [1, 86], $Vq = [1, 87], $Vr = [1, 81], $Vs = [1, 82], $Vt = [1, 80], $Vu = [1, 88], $Vv = [1, 89], $Vw = [1, 90], $Vx = [1, 91], $Vy = [1, 92], $Vz = [1, 98], $VA = [1, 65], $VB = [1, 78], $VC = [1, 72], $VD = [1, 96], $VE = [1, 97], $VF = [1, 63], $VG = [1, 73], $VH = [1, 108], $VI = [1, 107], $VJ = [10, 306, 602, 764], $VK = [10, 306, 310, 602, 764], $VL = [1, 115], $VM = [1, 116], $VN = [1, 117], $VO = [1, 118], $VP = [1, 119], $VQ = [130, 353, 410], $VR = [1, 127], $VS = [1, 126], $VT = [1, 134], $VU = [1, 164], $VV = [1, 175], $VW = [1, 178], $VX = [1, 173], $VY = [1, 181], $VZ = [1, 185], $V_ = [1, 160], $V$ = [1, 182], $V01 = [1, 169], $V11 = [1, 171], $V21 = [1, 174], $V31 = [1, 183], $V41 = [1, 166], $V51 = [1, 193], $V61 = [1, 188], $V71 = [1, 189], $V81 = [1, 194], $V91 = [1, 195], $Va1 = [1, 196], $Vb1 = [1, 197], $Vc1 = [1, 198], $Vd1 = [1, 199], $Ve1 = [1, 200], $Vf1 = [1, 201], $Vg1 = [1, 202], $Vh1 = [1, 176], $Vi1 = [1, 177], $Vj1 = [1, 179], $Vk1 = [1, 180], $Vl1 = [1, 186], $Vm1 = [1, 192], $Vn1 = [1, 184], $Vo1 = [1, 187], $Vp1 = [1, 172], $Vq1 = [1, 170], $Vr1 = [1, 191], $Vs1 = [1, 203], $Vt1 = [2, 4, 5], $Vu1 = [2, 471], $Vv1 = [1, 206], $Vw1 = [1, 211], $Vx1 = [1, 220], $Vy1 = [1, 216], $Vz1 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VA1 = [2, 4, 5, 10, 72, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], $VB1 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VC1 = [1, 249], $VD1 = [1, 256], $VE1 = [1, 265], $VF1 = [1, 270], $VG1 = [1, 269], $VH1 = [2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 149, 152, 154, 156, 162, 168, 169, 179, 180, 181, 183, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], $VI1 = [2, 162], $VJ1 = [1, 281], $VK1 = [10, 74, 78, 306, 310, 505, 602, 764], $VL1 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 193, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 302, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 344, 356, 368, 369, 370, 373, 374, 386, 389, 396, 400, 401, 402, 403, 404, 405, 406, 408, 409, 417, 418, 420, 424, 426, 433, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 514, 515, 516, 517, 602, 764], $VM1 = [2, 4, 5, 10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VN1 = [1, 562], $VO1 = [1, 564], $VP1 = [2, 503], $VQ1 = [1, 569], $VR1 = [1, 580], $VS1 = [1, 583], $VT1 = [1, 584], $VU1 = [10, 78, 89, 132, 137, 146, 189, 296, 306, 310, 470, 602, 764], $VV1 = [10, 74, 306, 310, 602, 764], $VW1 = [2, 567], $VX1 = [1, 602], $VY1 = [2, 4, 5, 156], $VZ1 = [1, 640], $V_1 = [1, 612], $V$1 = [1, 646], $V02 = [1, 647], $V12 = [1, 620], $V22 = [1, 631], $V32 = [1, 618], $V42 = [1, 626], $V52 = [1, 619], $V62 = [1, 627], $V72 = [1, 629], $V82 = [1, 621], $V92 = [1, 622], $Va2 = [1, 641], $Vb2 = [1, 638], $Vc2 = [1, 639], $Vd2 = [1, 615], $Ve2 = [1, 617], $Vf2 = [1, 609], $Vg2 = [1, 610], $Vh2 = [1, 611], $Vi2 = [1, 613], $Vj2 = [1, 614], $Vk2 = [1, 616], $Vl2 = [1, 623], $Vm2 = [1, 624], $Vn2 = [1, 628], $Vo2 = [1, 630], $Vp2 = [1, 632], $Vq2 = [1, 633], $Vr2 = [1, 634], $Vs2 = [1, 635], $Vt2 = [1, 636], $Vu2 = [1, 642], $Vv2 = [1, 643], $Vw2 = [1, 644], $Vx2 = [1, 645], $Vy2 = [2, 287], $Vz2 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VA2 = [2, 359], $VB2 = [1, 668], $VC2 = [1, 678], $VD2 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VE2 = [1, 694], $VF2 = [1, 703], $VG2 = [1, 702], $VH2 = [2, 4, 5, 10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VI2 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VJ2 = [2, 202], $VK2 = [1, 725], $VL2 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 183, 232, 245, 247, 306, 310, 602, 764], $VM2 = [2, 163], $VN2 = [1, 728], $VO2 = [2, 4, 5, 112], $VP2 = [1, 741], $VQ2 = [1, 760], $VR2 = [1, 740], $VS2 = [1, 739], $VT2 = [1, 734], $VU2 = [1, 735], $VV2 = [1, 737], $VW2 = [1, 738], $VX2 = [1, 742], $VY2 = [1, 743], $VZ2 = [1, 744], $V_2 = [1, 745], $V$2 = [1, 746], $V03 = [1, 747], $V13 = [1, 748], $V23 = [1, 749], $V33 = [1, 750], $V43 = [1, 751], $V53 = [1, 752], $V63 = [1, 753], $V73 = [1, 754], $V83 = [1, 755], $V93 = [1, 756], $Va3 = [1, 757], $Vb3 = [1, 759], $Vc3 = [1, 761], $Vd3 = [1, 762], $Ve3 = [1, 763], $Vf3 = [1, 764], $Vg3 = [1, 765], $Vh3 = [1, 766], $Vi3 = [1, 767], $Vj3 = [1, 770], $Vk3 = [1, 771], $Vl3 = [1, 772], $Vm3 = [1, 773], $Vn3 = [1, 774], $Vo3 = [1, 775], $Vp3 = [1, 776], $Vq3 = [1, 777], $Vr3 = [1, 778], $Vs3 = [1, 779], $Vt3 = [1, 780], $Vu3 = [1, 781], $Vv3 = [74, 89, 189], $Vw3 = [10, 74, 78, 154, 187, 230, 297, 306, 310, 343, 356, 368, 369, 373, 374, 602, 764], $Vx3 = [1, 798], $Vy3 = [10, 74, 78, 300, 306, 310, 602, 764], $Vz3 = [1, 799], $VA3 = [1, 805], $VB3 = [1, 806], $VC3 = [1, 810], $VD3 = [10, 74, 78, 306, 310, 602, 764], $VE3 = [2, 4, 5, 77, 131, 132, 137, 143, 145, 149, 152, 154, 156, 179, 180, 181, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 312, 317, 420, 424], $VF3 = [10, 72, 78, 93, 98, 107, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VG3 = [2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 149, 152, 154, 156, 162, 164, 168, 169, 179, 180, 181, 183, 185, 187, 195, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], $VH3 = [2, 4, 5, 132, 296], $VI3 = [1, 844], $VJ3 = [10, 74, 76, 78, 306, 310, 602, 764], $VK3 = [2, 738], $VL3 = [10, 74, 76, 78, 132, 139, 141, 145, 152, 306, 310, 420, 424, 602, 764], $VM3 = [2, 1161], $VN3 = [10, 74, 76, 78, 139, 141, 145, 152, 306, 310, 420, 424, 602, 764], $VO3 = [10, 74, 76, 78, 139, 141, 145, 306, 310, 420, 424, 602, 764], $VP3 = [10, 74, 78, 139, 141, 306, 310, 602, 764], $VQ3 = [10, 78, 89, 132, 146, 189, 296, 306, 310, 470, 602, 764], $VR3 = [335, 338, 339], $VS3 = [2, 764], $VT3 = [1, 869], $VU3 = [1, 870], $VV3 = [1, 871], $VW3 = [1, 872], $VX3 = [1, 881], $VY3 = [1, 880], $VZ3 = [164, 166, 334], $V_3 = [2, 444], $V$3 = [1, 936], $V04 = [2, 4, 5, 77, 131, 156, 290, 291, 292, 293], $V14 = [1, 951], $V24 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $V34 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $V44 = [2, 375], $V54 = [1, 958], $V64 = [306, 308, 310], $V74 = [74, 300], $V84 = [74, 300, 426], $V94 = [1, 965], $Va4 = [2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vb4 = [74, 426], $Vc4 = [1, 978], $Vd4 = [1, 977], $Ve4 = [1, 984], $Vf4 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $Vg4 = [1, 1010], $Vh4 = [10, 72, 78, 306, 310, 602, 764], $Vi4 = [1, 1016], $Vj4 = [1, 1017], $Vk4 = [1, 1018], $Vl4 = [2, 4, 5, 10, 72, 74, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], $Vm4 = [1, 1068], $Vn4 = [1, 1067], $Vo4 = [1, 1081], $Vp4 = [1, 1080], $Vq4 = [1, 1088], $Vr4 = [10, 72, 74, 78, 93, 98, 107, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $Vs4 = [1, 1119], $Vt4 = [10, 78, 89, 146, 189, 306, 310, 470, 602, 764], $Vu4 = [1, 1139], $Vv4 = [1, 1138], $Vw4 = [1, 1137], $Vx4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy4 = [1, 1153], $Vz4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VA4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 315, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VB4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VC4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VD4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 320, 321, 322, 323, 324, 325, 326, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VE4 = [2, 406], $VF4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VG4 = [2, 285], $VH4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VI4 = [10, 78, 306, 310, 602, 764], $VJ4 = [1, 1189], $VK4 = [10, 77, 78, 143, 145, 152, 181, 302, 306, 310, 420, 424, 602, 764], $VL4 = [10, 74, 78, 306, 308, 310, 464, 602, 764], $VM4 = [1, 1200], $VN4 = [10, 72, 78, 118, 128, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $VO4 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VP4 = [2, 4, 5, 72, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VQ4 = [2, 4, 5, 72, 74, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VR4 = [2, 1085], $VS4 = [2, 4, 5, 72, 74, 76, 77, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VT4 = [1, 1252], $VU4 = [10, 74, 78, 128, 306, 308, 310, 464, 602, 764], $VV4 = [115, 116, 124], $VW4 = [2, 584], $VX4 = [1, 1280], $VY4 = [76, 139], $VZ4 = [2, 724], $V_4 = [1, 1297], $V$4 = [1, 1298], $V05 = [2, 4, 5, 10, 53, 72, 76, 89, 124, 146, 156, 189, 230, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $V15 = [2, 330], $V25 = [1, 1322], $V35 = [1, 1336], $V45 = [1, 1338], $V55 = [2, 487], $V65 = [74, 78], $V75 = [10, 306, 308, 310, 464, 602, 764], $V85 = [10, 72, 78, 118, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $V95 = [1, 1354], $Va5 = [1, 1358], $Vb5 = [1, 1359], $Vc5 = [1, 1361], $Vd5 = [1, 1362], $Ve5 = [1, 1363], $Vf5 = [1, 1364], $Vg5 = [1, 1365], $Vh5 = [1, 1366], $Vi5 = [1, 1367], $Vj5 = [1, 1368], $Vk5 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vl5 = [1, 1393], $Vm5 = [10, 72, 78, 118, 162, 168, 169, 245, 247, 306, 310, 602, 764], $Vn5 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vo5 = [1, 1490], $Vp5 = [1, 1492], $Vq5 = [2, 4, 5, 77, 143, 145, 152, 156, 181, 290, 291, 292, 293, 302, 420, 424], $Vr5 = [1, 1506], $Vs5 = [10, 72, 74, 78, 162, 168, 169, 245, 247, 306, 310, 602, 764], $Vt5 = [1, 1524], $Vu5 = [1, 1526], $Vv5 = [1, 1527], $Vw5 = [1, 1523], $Vx5 = [1, 1522], $Vy5 = [1, 1521], $Vz5 = [1, 1528], $VA5 = [1, 1518], $VB5 = [1, 1519], $VC5 = [1, 1520], $VD5 = [1, 1545], $VE5 = [2, 4, 5, 10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VF5 = [1, 1556], $VG5 = [1, 1564], $VH5 = [1, 1563], $VI5 = [10, 72, 78, 162, 168, 169, 245, 247, 306, 310, 602, 764], $VJ5 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VK5 = [2, 4, 5, 10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VL5 = [1, 1621], $VM5 = [1, 1623], $VN5 = [1, 1620], $VO5 = [1, 1622], $VP5 = [187, 193, 368, 369, 370, 373], $VQ5 = [2, 515], $VR5 = [1, 1628], $VS5 = [1, 1647], $VT5 = [10, 72, 78, 162, 168, 169, 306, 310, 602, 764], $VU5 = [1, 1657], $VV5 = [1, 1658], $VW5 = [1, 1659], $VX5 = [1, 1678], $VY5 = [4, 10, 243, 306, 310, 343, 356, 602, 764], $VZ5 = [1, 1726], $V_5 = [10, 72, 74, 78, 118, 162, 168, 169, 239, 245, 247, 306, 310, 602, 764], $V$5 = [2, 4, 5, 77], $V06 = [1, 1820], $V16 = [1, 1832], $V26 = [1, 1851], $V36 = [10, 72, 78, 162, 168, 169, 306, 310, 415, 602, 764], $V46 = [10, 74, 78, 230, 306, 310, 602, 764];
+ var parser = { trace: function trace() { },
+ yy: {},
+ symbols_: { "error": 2, "Literal": 3, "LITERAL": 4, "BRALITERAL": 5, "NonReserved": 6, "LiteralWithSpaces": 7, "main": 8, "Statements": 9, "EOF": 10, "Statements_group0": 11, "AStatement": 12, "ExplainStatement": 13, "EXPLAIN": 14, "QUERY": 15, "PLAN": 16, "Statement": 17, "AlterTable": 18, "AttachDatabase": 19, "Call": 20, "CreateDatabase": 21, "CreateIndex": 22, "CreateGraph": 23, "CreateTable": 24, "CreateView": 25, "CreateEdge": 26, "CreateVertex": 27, "Declare": 28, "Delete": 29, "DetachDatabase": 30, "DropDatabase": 31, "DropIndex": 32, "DropTable": 33, "DropView": 34, "If": 35, "Insert": 36, "Merge": 37, "Reindex": 38, "RenameTable": 39, "Select": 40, "ShowCreateTable": 41, "ShowColumns": 42, "ShowDatabases": 43, "ShowIndex": 44, "ShowTables": 45, "TruncateTable": 46, "WithSelect": 47, "CreateTrigger": 48, "DropTrigger": 49, "BeginTransaction": 50, "CommitTransaction": 51, "RollbackTransaction": 52, "EndTransaction": 53, "UseDatabase": 54, "Update": 55, "JavaScript": 56, "Source": 57, "Assert": 58, "While": 59, "Continue": 60, "Break": 61, "BeginEnd": 62, "Print": 63, "Require": 64, "SetVariable": 65, "ExpressionStatement": 66, "AddRule": 67, "Query": 68, "Echo": 69, "CreateFunction": 70, "CreateAggregate": 71, "WITH": 72, "WithTablesList": 73, "COMMA": 74, "WithTable": 75, "AS": 76, "LPAR": 77, "RPAR": 78, "SelectClause": 79, "Select_option0": 80, "IntoClause": 81, "FromClause": 82, "Select_option1": 83, "WhereClause": 84, "GroupClause": 85, "OrderClause": 86, "LimitClause": 87, "UnionClause": 88, "SEARCH": 89, "Select_repetition0": 90, "Select_option2": 91, "PivotClause": 92, "PIVOT": 93, "Expression": 94, "FOR": 95, "PivotClause_option0": 96, "PivotClause_option1": 97, "UNPIVOT": 98, "IN": 99, "ColumnsList": 100, "PivotClause_option2": 101, "PivotClause2": 102, "AsList": 103, "AsLiteral": 104, "AsPart": 105, "RemoveClause": 106, "REMOVE": 107, "RemoveClause_option0": 108, "RemoveColumnsList": 109, "RemoveColumn": 110, "Column": 111, "LIKE": 112, "StringValue": 113, "ArrowDot": 114, "ARROW": 115, "DOT": 116, "SearchSelector": 117, "ORDER": 118, "BY": 119, "OrderExpressionsList": 120, "SearchSelector_option0": 121, "DOTDOT": 122, "CARET": 123, "EQ": 124, "SearchSelector_repetition_plus0": 125, "SearchSelector_repetition_plus1": 126, "SearchSelector_option1": 127, "WHERE": 128, "OF": 129, "CLASS": 130, "NUMBER": 131, "STRING": 132, "SLASH": 133, "VERTEX": 134, "EDGE": 135, "EXCLAMATION": 136, "SHARP": 137, "MODULO": 138, "GT": 139, "LT": 140, "GTGT": 141, "LTLT": 142, "DOLLAR": 143, "Json": 144, "AT": 145, "SET": 146, "SetColumnsList": 147, "TO": 148, "VALUE": 149, "ROW": 150, "ExprList": 151, "COLON": 152, "PlusStar": 153, "NOT": 154, "SearchSelector_repetition2": 155, "IF": 156, "SearchSelector_repetition3": 157, "Aggregator": 158, "SearchSelector_repetition4": 159, "SearchSelector_group0": 160, "SearchSelector_repetition5": 161, "UNION": 162, "SearchSelectorList": 163, "ALL": 164, "SearchSelector_repetition6": 165, "ANY": 166, "SearchSelector_repetition7": 167, "INTERSECT": 168, "EXCEPT": 169, "AND": 170, "OR": 171, "PATH": 172, "RETURN": 173, "ResultColumns": 174, "REPEAT": 175, "SearchSelector_repetition8": 176, "SearchSelectorList_repetition0": 177, "SearchSelectorList_repetition1": 178, "PLUS": 179, "STAR": 180, "QUESTION": 181, "SearchFrom": 182, "FROM": 183, "SelectModifier": 184, "DISTINCT": 185, "TopClause": 186, "UNIQUE": 187, "SelectClause_option0": 188, "SELECT": 189, "COLUMN": 190, "MATRIX": 191, "TEXTSTRING": 192, "INDEX": 193, "RECORDSET": 194, "TOP": 195, "NumValue": 196, "TopClause_option0": 197, "INTO": 198, "Table": 199, "FuncValue": 200, "ParamValue": 201, "VarValue": 202, "FromTablesList": 203, "JoinTablesList": 204, "ApplyClause": 205, "CROSS": 206, "APPLY": 207, "OUTER": 208, "FromTable": 209, "FromTable_option0": 210, "FromTable_option1": 211, "INDEXED": 212, "INSERTED": 213, "FromString": 214, "JoinTable": 215, "JoinMode": 216, "JoinTableAs": 217, "OnClause": 218, "JoinTableAs_option0": 219, "JoinTableAs_option1": 220, "JoinModeMode": 221, "NATURAL": 222, "JOIN": 223, "INNER": 224, "LEFT": 225, "RIGHT": 226, "FULL": 227, "SEMI": 228, "ANTI": 229, "ON": 230, "USING": 231, "GROUP": 232, "GroupExpressionsList": 233, "HavingClause": 234, "GroupExpression": 235, "GROUPING": 236, "ROLLUP": 237, "CUBE": 238, "HAVING": 239, "CORRESPONDING": 240, "OrderExpression": 241, "DIRECTION": 242, "COLLATE": 243, "NOCASE": 244, "LIMIT": 245, "OffsetClause": 246, "OFFSET": 247, "LimitClause_option0": 248, "FETCH": 249, "LimitClause_option1": 250, "LimitClause_option2": 251, "LimitClause_option3": 252, "ResultColumn": 253, "Star": 254, "AggrValue": 255, "Op": 256, "LogicValue": 257, "NullValue": 258, "ExistsValue": 259, "CaseValue": 260, "CastClause": 261, "ArrayValue": 262, "NewClause": 263, "Expression_group0": 264, "CURRENT_TIMESTAMP": 265, "JAVASCRIPT": 266, "CREATE": 267, "FUNCTION": 268, "AGGREGATE": 269, "NEW": 270, "CAST": 271, "ColumnType": 272, "CONVERT": 273, "PrimitiveValue": 274, "OverClause": 275, "OVER": 276, "OverPartitionClause": 277, "OverOrderByClause": 278, "PARTITION": 279, "SUM": 280, "COUNT": 281, "MIN": 282, "MAX": 283, "AVG": 284, "FIRST": 285, "LAST": 286, "AGGR": 287, "ARRAY": 288, "FuncValue_option0": 289, "REPLACE": 290, "DATEADD": 291, "DATEDIFF": 292, "INTERVAL": 293, "TRUE": 294, "FALSE": 295, "NSTRING": 296, "NULL": 297, "EXISTS": 298, "ARRAYLBRA": 299, "RBRA": 300, "ParamValue_group0": 301, "BRAQUESTION": 302, "CASE": 303, "WhensList": 304, "ElseClause": 305, "END": 306, "When": 307, "WHEN": 308, "THEN": 309, "ELSE": 310, "REGEXP": 311, "TILDA": 312, "GLOB": 313, "ESCAPE": 314, "NOT_LIKE": 315, "BARBAR": 316, "MINUS": 317, "AMPERSAND": 318, "BAR": 319, "GE": 320, "LE": 321, "EQEQ": 322, "EQEQEQ": 323, "NE": 324, "NEEQEQ": 325, "NEEQEQEQ": 326, "CondOp": 327, "AllSome": 328, "ColFunc": 329, "BETWEEN": 330, "NOT_BETWEEN": 331, "IS": 332, "DOUBLECOLON": 333, "SOME": 334, "UPDATE": 335, "SetColumn": 336, "SetColumn_group0": 337, "DELETE": 338, "INSERT": 339, "Into": 340, "Values": 341, "ValuesListsList": 342, "DEFAULT": 343, "VALUES": 344, "ValuesList": 345, "Value": 346, "DateValue": 347, "TemporaryClause": 348, "TableClass": 349, "IfNotExists": 350, "CreateTableDefClause": 351, "CreateTableOptionsClause": 352, "TABLE": 353, "CreateTableOptions": 354, "CreateTableOption": 355, "IDENTITY": 356, "TEMP": 357, "ColumnDefsList": 358, "ConstraintsList": 359, "Constraint": 360, "ConstraintName": 361, "PrimaryKey": 362, "ForeignKey": 363, "UniqueKey": 364, "IndexKey": 365, "Check": 366, "CONSTRAINT": 367, "CHECK": 368, "PRIMARY": 369, "KEY": 370, "PrimaryKey_option0": 371, "ColsList": 372, "FOREIGN": 373, "REFERENCES": 374, "ForeignKey_option0": 375, "OnForeignKeyClause": 376, "ParColsList": 377, "OnDeleteClause": 378, "OnUpdateClause": 379, "NO": 380, "ACTION": 381, "UniqueKey_option0": 382, "UniqueKey_option1": 383, "ColumnDef": 384, "ColumnConstraintsClause": 385, "ColumnConstraints": 386, "SingularColumnType": 387, "NumberMax": 388, "ENUM": 389, "MAXNUM": 390, "ColumnConstraintsList": 391, "ColumnConstraint": 392, "ParLiteral": 393, "ColumnConstraint_option0": 394, "ColumnConstraint_option1": 395, "DROP": 396, "DropTable_group0": 397, "IfExists": 398, "TablesList": 399, "ALTER": 400, "RENAME": 401, "ADD": 402, "MODIFY": 403, "ATTACH": 404, "DATABASE": 405, "DETACH": 406, "AsClause": 407, "USE": 408, "SHOW": 409, "VIEW": 410, "CreateView_option0": 411, "CreateView_option1": 412, "SubqueryRestriction": 413, "READ": 414, "ONLY": 415, "OPTION": 416, "SOURCE": 417, "ASSERT": 418, "JsonObject": 419, "ATLBRA": 420, "JsonArray": 421, "JsonValue": 422, "JsonPrimitiveValue": 423, "LCUR": 424, "JsonPropertiesList": 425, "RCUR": 426, "JsonElementsList": 427, "JsonProperty": 428, "OnOff": 429, "SetPropsList": 430, "AtDollar": 431, "SetProp": 432, "OFF": 433, "COMMIT": 434, "TRANSACTION": 435, "ROLLBACK": 436, "BEGIN": 437, "ElseStatement": 438, "WHILE": 439, "CONTINUE": 440, "BREAK": 441, "PRINT": 442, "REQUIRE": 443, "StringValuesList": 444, "PluginsList": 445, "Plugin": 446, "ECHO": 447, "DECLARE": 448, "DeclaresList": 449, "DeclareItem": 450, "TRUNCATE": 451, "MERGE": 452, "MergeInto": 453, "MergeUsing": 454, "MergeOn": 455, "MergeMatchedList": 456, "OutputClause": 457, "MergeMatched": 458, "MergeNotMatched": 459, "MATCHED": 460, "MergeMatchedAction": 461, "MergeNotMatchedAction": 462, "TARGET": 463, "OUTPUT": 464, "CreateVertex_option0": 465, "CreateVertex_option1": 466, "CreateVertex_option2": 467, "CreateVertexSet": 468, "SharpValue": 469, "CONTENT": 470, "CreateEdge_option0": 471, "GRAPH": 472, "GraphList": 473, "GraphVertexEdge": 474, "GraphElement": 475, "GraphVertexEdge_option0": 476, "GraphVertexEdge_option1": 477, "GraphElementVar": 478, "GraphVertexEdge_option2": 479, "GraphVertexEdge_option3": 480, "GraphVertexEdge_option4": 481, "GraphVar": 482, "GraphAsClause": 483, "GraphAtClause": 484, "GraphElement2": 485, "GraphElement2_option0": 486, "GraphElement2_option1": 487, "GraphElement2_option2": 488, "GraphElement2_option3": 489, "GraphElement_option0": 490, "GraphElement_option1": 491, "GraphElement_option2": 492, "SharpLiteral": 493, "GraphElement_option3": 494, "GraphElement_option4": 495, "GraphElement_option5": 496, "ColonLiteral": 497, "DeleteVertex": 498, "DeleteVertex_option0": 499, "DeleteEdge": 500, "DeleteEdge_option0": 501, "DeleteEdge_option1": 502, "DeleteEdge_option2": 503, "Term": 504, "COLONDASH": 505, "TermsList": 506, "QUESTIONDASH": 507, "CALL": 508, "TRIGGER": 509, "BeforeAfter": 510, "InsertDeleteUpdate": 511, "CreateTrigger_option0": 512, "CreateTrigger_option1": 513, "BEFORE": 514, "AFTER": 515, "INSTEAD": 516, "REINDEX": 517, "A": 518, "ABSENT": 519, "ABSOLUTE": 520, "ACCORDING": 521, "ADA": 522, "ADMIN": 523, "ALWAYS": 524, "ASC": 525, "ASSERTION": 526, "ASSIGNMENT": 527, "ATTRIBUTE": 528, "ATTRIBUTES": 529, "BASE64": 530, "BERNOULLI": 531, "BLOCKED": 532, "BOM": 533, "BREADTH": 534, "C": 535, "CASCADE": 536, "CATALOG": 537, "CATALOG_NAME": 538, "CHAIN": 539, "CHARACTERISTICS": 540, "CHARACTERS": 541, "CHARACTER_SET_CATALOG": 542, "CHARACTER_SET_NAME": 543, "CHARACTER_SET_SCHEMA": 544, "CLASS_ORIGIN": 545, "COBOL": 546, "COLLATION": 547, "COLLATION_CATALOG": 548, "COLLATION_NAME": 549, "COLLATION_SCHEMA": 550, "COLUMNS": 551, "COLUMN_NAME": 552, "COMMAND_FUNCTION": 553, "COMMAND_FUNCTION_CODE": 554, "COMMITTED": 555, "CONDITION_NUMBER": 556, "CONNECTION": 557, "CONNECTION_NAME": 558, "CONSTRAINTS": 559, "CONSTRAINT_CATALOG": 560, "CONSTRAINT_NAME": 561, "CONSTRAINT_SCHEMA": 562, "CONSTRUCTOR": 563, "CONTROL": 564, "CURSOR_NAME": 565, "DATA": 566, "DATETIME_INTERVAL_CODE": 567, "DATETIME_INTERVAL_PRECISION": 568, "DB": 569, "DEFAULTS": 570, "DEFERRABLE": 571, "DEFERRED": 572, "DEFINED": 573, "DEFINER": 574, "DEGREE": 575, "DEPTH": 576, "DERIVED": 577, "DESC": 578, "DESCRIPTOR": 579, "DIAGNOSTICS": 580, "DISPATCH": 581, "DOCUMENT": 582, "DOMAIN": 583, "DYNAMIC_FUNCTION": 584, "DYNAMIC_FUNCTION_CODE": 585, "EMPTY": 586, "ENCODING": 587, "ENFORCED": 588, "EXCLUDE": 589, "EXCLUDING": 590, "EXPRESSION": 591, "FILE": 592, "FINAL": 593, "FLAG": 594, "FOLLOWING": 595, "FORTRAN": 596, "FOUND": 597, "FS": 598, "G": 599, "GENERAL": 600, "GENERATED": 601, "GO": 602, "GOTO": 603, "GRANTED": 604, "HEX": 605, "HIERARCHY": 606, "ID": 607, "IGNORE": 608, "IMMEDIATE": 609, "IMMEDIATELY": 610, "IMPLEMENTATION": 611, "INCLUDING": 612, "INCREMENT": 613, "INDENT": 614, "INITIALLY": 615, "INPUT": 616, "INSTANCE": 617, "INSTANTIABLE": 618, "INTEGRITY": 619, "INVOKER": 620, "ISOLATION": 621, "K": 622, "KEY_MEMBER": 623, "KEY_TYPE": 624, "LENGTH": 625, "LEVEL": 626, "LIBRARY": 627, "LINK": 628, "LOCATION": 629, "LOCATOR": 630, "M": 631, "MAP": 632, "MAPPING": 633, "MAXVALUE": 634, "MESSAGE_LENGTH": 635, "MESSAGE_OCTET_LENGTH": 636, "MESSAGE_TEXT": 637, "MINVALUE": 638, "MORE": 639, "MUMPS": 640, "NAME": 641, "NAMES": 642, "NAMESPACE": 643, "NESTING": 644, "NEXT": 645, "NFC": 646, "NFD": 647, "NFKC": 648, "NFKD": 649, "NIL": 650, "NORMALIZED": 651, "NULLABLE": 652, "NULLS": 653, "OBJECT": 654, "OCTETS": 655, "OPTIONS": 656, "ORDERING": 657, "ORDINALITY": 658, "OTHERS": 659, "OVERRIDING": 660, "P": 661, "PAD": 662, "PARAMETER_MODE": 663, "PARAMETER_NAME": 664, "PARAMETER_ORDINAL_POSITION": 665, "PARAMETER_SPECIFIC_CATALOG": 666, "PARAMETER_SPECIFIC_NAME": 667, "PARAMETER_SPECIFIC_SCHEMA": 668, "PARTIAL": 669, "PASCAL": 670, "PASSING": 671, "PASSTHROUGH": 672, "PERMISSION": 673, "PLACING": 674, "PLI": 675, "PRECEDING": 676, "PRESERVE": 677, "PRIOR": 678, "PRIVILEGES": 679, "PUBLIC": 680, "RECOVERY": 681, "RELATIVE": 682, "REPEATABLE": 683, "REQUIRING": 684, "RESPECT": 685, "RESTART": 686, "RESTORE": 687, "RESTRICT": 688, "RETURNED_CARDINALITY": 689, "RETURNED_LENGTH": 690, "RETURNED_OCTET_LENGTH": 691, "RETURNED_SQLSTATE": 692, "RETURNING": 693, "ROLE": 694, "ROUTINE": 695, "ROUTINE_CATALOG": 696, "ROUTINE_NAME": 697, "ROUTINE_SCHEMA": 698, "ROW_COUNT": 699, "SCALE": 700, "SCHEMA": 701, "SCHEMA_NAME": 702, "SCOPE_CATALOG": 703, "SCOPE_NAME": 704, "SCOPE_SCHEMA": 705, "SECTION": 706, "SECURITY": 707, "SELECTIVE": 708, "SELF": 709, "SEQUENCE": 710, "SERIALIZABLE": 711, "SERVER": 712, "SERVER_NAME": 713, "SESSION": 714, "SETS": 715, "SIMPLE": 716, "SIZE": 717, "SPACE": 718, "SPECIFIC_NAME": 719, "STANDALONE": 720, "STATE": 721, "STATEMENT": 722, "STRIP": 723, "STRUCTURE": 724, "STYLE": 725, "SUBCLASS_ORIGIN": 726, "T": 727, "TABLE_NAME": 728, "TEMPORARY": 729, "TIES": 730, "TOKEN": 731, "TOP_LEVEL_COUNT": 732, "TRANSACTIONS_COMMITTED": 733, "TRANSACTIONS_ROLLED_BACK": 734, "TRANSACTION_ACTIVE": 735, "TRANSFORM": 736, "TRANSFORMS": 737, "TRIGGER_CATALOG": 738, "TRIGGER_NAME": 739, "TRIGGER_SCHEMA": 740, "TYPE": 741, "UNBOUNDED": 742, "UNCOMMITTED": 743, "UNDER": 744, "UNLINK": 745, "UNNAMED": 746, "UNTYPED": 747, "URI": 748, "USAGE": 749, "USER_DEFINED_TYPE_CATALOG": 750, "USER_DEFINED_TYPE_CODE": 751, "USER_DEFINED_TYPE_NAME": 752, "USER_DEFINED_TYPE_SCHEMA": 753, "VALID": 754, "VERSION": 755, "WHITESPACE": 756, "WORK": 757, "WRAPPER": 758, "WRITE": 759, "XMLDECLARATION": 760, "XMLSCHEMA": 761, "YES": 762, "ZONE": 763, "SEMICOLON": 764, "PERCENT": 765, "ROWS": 766, "FuncValue_option0_group0": 767, "$accept": 0, "$end": 1 },
+ terminals_: { 2: "error", 4: "LITERAL", 5: "BRALITERAL", 10: "EOF", 14: "EXPLAIN", 15: "QUERY", 16: "PLAN", 53: "EndTransaction", 72: "WITH", 74: "COMMA", 76: "AS", 77: "LPAR", 78: "RPAR", 89: "SEARCH", 93: "PIVOT", 95: "FOR", 98: "UNPIVOT", 99: "IN", 107: "REMOVE", 112: "LIKE", 115: "ARROW", 116: "DOT", 118: "ORDER", 119: "BY", 122: "DOTDOT", 123: "CARET", 124: "EQ", 128: "WHERE", 129: "OF", 130: "CLASS", 131: "NUMBER", 132: "STRING", 133: "SLASH", 134: "VERTEX", 135: "EDGE", 136: "EXCLAMATION", 137: "SHARP", 138: "MODULO", 139: "GT", 140: "LT", 141: "GTGT", 142: "LTLT", 143: "DOLLAR", 145: "AT", 146: "SET", 148: "TO", 149: "VALUE", 150: "ROW", 152: "COLON", 154: "NOT", 156: "IF", 162: "UNION", 164: "ALL", 166: "ANY", 168: "INTERSECT", 169: "EXCEPT", 170: "AND", 171: "OR", 172: "PATH", 173: "RETURN", 175: "REPEAT", 179: "PLUS", 180: "STAR", 181: "QUESTION", 183: "FROM", 185: "DISTINCT", 187: "UNIQUE", 189: "SELECT", 190: "COLUMN", 191: "MATRIX", 192: "TEXTSTRING", 193: "INDEX", 194: "RECORDSET", 195: "TOP", 198: "INTO", 206: "CROSS", 207: "APPLY", 208: "OUTER", 212: "INDEXED", 213: "INSERTED", 222: "NATURAL", 223: "JOIN", 224: "INNER", 225: "LEFT", 226: "RIGHT", 227: "FULL", 228: "SEMI", 229: "ANTI", 230: "ON", 231: "USING", 232: "GROUP", 236: "GROUPING", 237: "ROLLUP", 238: "CUBE", 239: "HAVING", 240: "CORRESPONDING", 242: "DIRECTION", 243: "COLLATE", 244: "NOCASE", 245: "LIMIT", 247: "OFFSET", 249: "FETCH", 265: "CURRENT_TIMESTAMP", 266: "JAVASCRIPT", 267: "CREATE", 268: "FUNCTION", 269: "AGGREGATE", 270: "NEW", 271: "CAST", 273: "CONVERT", 276: "OVER", 279: "PARTITION", 280: "SUM", 281: "COUNT", 282: "MIN", 283: "MAX", 284: "AVG", 285: "FIRST", 286: "LAST", 287: "AGGR", 288: "ARRAY", 290: "REPLACE", 291: "DATEADD", 292: "DATEDIFF", 293: "INTERVAL", 294: "TRUE", 295: "FALSE", 296: "NSTRING", 297: "NULL", 298: "EXISTS", 299: "ARRAYLBRA", 300: "RBRA", 302: "BRAQUESTION", 303: "CASE", 306: "END", 308: "WHEN", 309: "THEN", 310: "ELSE", 311: "REGEXP", 312: "TILDA", 313: "GLOB", 314: "ESCAPE", 315: "NOT_LIKE", 316: "BARBAR", 317: "MINUS", 318: "AMPERSAND", 319: "BAR", 320: "GE", 321: "LE", 322: "EQEQ", 323: "EQEQEQ", 324: "NE", 325: "NEEQEQ", 326: "NEEQEQEQ", 330: "BETWEEN", 331: "NOT_BETWEEN", 332: "IS", 333: "DOUBLECOLON", 334: "SOME", 335: "UPDATE", 338: "DELETE", 339: "INSERT", 343: "DEFAULT", 344: "VALUES", 347: "DateValue", 353: "TABLE", 356: "IDENTITY", 357: "TEMP", 367: "CONSTRAINT", 368: "CHECK", 369: "PRIMARY", 370: "KEY", 373: "FOREIGN", 374: "REFERENCES", 380: "NO", 381: "ACTION", 386: "ColumnConstraints", 389: "ENUM", 390: "MAXNUM", 396: "DROP", 400: "ALTER", 401: "RENAME", 402: "ADD", 403: "MODIFY", 404: "ATTACH", 405: "DATABASE", 406: "DETACH", 408: "USE", 409: "SHOW", 410: "VIEW", 414: "READ", 415: "ONLY", 416: "OPTION", 417: "SOURCE", 418: "ASSERT", 420: "ATLBRA", 424: "LCUR", 426: "RCUR", 433: "OFF", 434: "COMMIT", 435: "TRANSACTION", 436: "ROLLBACK", 437: "BEGIN", 439: "WHILE", 440: "CONTINUE", 441: "BREAK", 442: "PRINT", 443: "REQUIRE", 447: "ECHO", 448: "DECLARE", 451: "TRUNCATE", 452: "MERGE", 460: "MATCHED", 463: "TARGET", 464: "OUTPUT", 470: "CONTENT", 472: "GRAPH", 505: "COLONDASH", 507: "QUESTIONDASH", 508: "CALL", 509: "TRIGGER", 514: "BEFORE", 515: "AFTER", 516: "INSTEAD", 517: "REINDEX", 518: "A", 519: "ABSENT", 520: "ABSOLUTE", 521: "ACCORDING", 522: "ADA", 523: "ADMIN", 524: "ALWAYS", 525: "ASC", 526: "ASSERTION", 527: "ASSIGNMENT", 528: "ATTRIBUTE", 529: "ATTRIBUTES", 530: "BASE64", 531: "BERNOULLI", 532: "BLOCKED", 533: "BOM", 534: "BREADTH", 535: "C", 536: "CASCADE", 537: "CATALOG", 538: "CATALOG_NAME", 539: "CHAIN", 540: "CHARACTERISTICS", 541: "CHARACTERS", 542: "CHARACTER_SET_CATALOG", 543: "CHARACTER_SET_NAME", 544: "CHARACTER_SET_SCHEMA", 545: "CLASS_ORIGIN", 546: "COBOL", 547: "COLLATION", 548: "COLLATION_CATALOG", 549: "COLLATION_NAME", 550: "COLLATION_SCHEMA", 551: "COLUMNS", 552: "COLUMN_NAME", 553: "COMMAND_FUNCTION", 554: "COMMAND_FUNCTION_CODE", 555: "COMMITTED", 556: "CONDITION_NUMBER", 557: "CONNECTION", 558: "CONNECTION_NAME", 559: "CONSTRAINTS", 560: "CONSTRAINT_CATALOG", 561: "CONSTRAINT_NAME", 562: "CONSTRAINT_SCHEMA", 563: "CONSTRUCTOR", 564: "CONTROL", 565: "CURSOR_NAME", 566: "DATA", 567: "DATETIME_INTERVAL_CODE", 568: "DATETIME_INTERVAL_PRECISION", 569: "DB", 570: "DEFAULTS", 571: "DEFERRABLE", 572: "DEFERRED", 573: "DEFINED", 574: "DEFINER", 575: "DEGREE", 576: "DEPTH", 577: "DERIVED", 578: "DESC", 579: "DESCRIPTOR", 580: "DIAGNOSTICS", 581: "DISPATCH", 582: "DOCUMENT", 583: "DOMAIN", 584: "DYNAMIC_FUNCTION", 585: "DYNAMIC_FUNCTION_CODE", 586: "EMPTY", 587: "ENCODING", 588: "ENFORCED", 589: "EXCLUDE", 590: "EXCLUDING", 591: "EXPRESSION", 592: "FILE", 593: "FINAL", 594: "FLAG", 595: "FOLLOWING", 596: "FORTRAN", 597: "FOUND", 598: "FS", 599: "G", 600: "GENERAL", 601: "GENERATED", 602: "GO", 603: "GOTO", 604: "GRANTED", 605: "HEX", 606: "HIERARCHY", 607: "ID", 608: "IGNORE", 609: "IMMEDIATE", 610: "IMMEDIATELY", 611: "IMPLEMENTATION", 612: "INCLUDING", 613: "INCREMENT", 614: "INDENT", 615: "INITIALLY", 616: "INPUT", 617: "INSTANCE", 618: "INSTANTIABLE", 619: "INTEGRITY", 620: "INVOKER", 621: "ISOLATION", 622: "K", 623: "KEY_MEMBER", 624: "KEY_TYPE", 625: "LENGTH", 626: "LEVEL", 627: "LIBRARY", 628: "LINK", 629: "LOCATION", 630: "LOCATOR", 631: "M", 632: "MAP", 633: "MAPPING", 634: "MAXVALUE", 635: "MESSAGE_LENGTH", 636: "MESSAGE_OCTET_LENGTH", 637: "MESSAGE_TEXT", 638: "MINVALUE", 639: "MORE", 640: "MUMPS", 641: "NAME", 642: "NAMES", 643: "NAMESPACE", 644: "NESTING", 645: "NEXT", 646: "NFC", 647: "NFD", 648: "NFKC", 649: "NFKD", 650: "NIL", 651: "NORMALIZED", 652: "NULLABLE", 653: "NULLS", 654: "OBJECT", 655: "OCTETS", 656: "OPTIONS", 657: "ORDERING", 658: "ORDINALITY", 659: "OTHERS", 660: "OVERRIDING", 661: "P", 662: "PAD", 663: "PARAMETER_MODE", 664: "PARAMETER_NAME", 665: "PARAMETER_ORDINAL_POSITION", 666: "PARAMETER_SPECIFIC_CATALOG", 667: "PARAMETER_SPECIFIC_NAME", 668: "PARAMETER_SPECIFIC_SCHEMA", 669: "PARTIAL", 670: "PASCAL", 671: "PASSING", 672: "PASSTHROUGH", 673: "PERMISSION", 674: "PLACING", 675: "PLI", 676: "PRECEDING", 677: "PRESERVE", 678: "PRIOR", 679: "PRIVILEGES", 680: "PUBLIC", 681: "RECOVERY", 682: "RELATIVE", 683: "REPEATABLE", 684: "REQUIRING", 685: "RESPECT", 686: "RESTART", 687: "RESTORE", 688: "RESTRICT", 689: "RETURNED_CARDINALITY", 690: "RETURNED_LENGTH", 691: "RETURNED_OCTET_LENGTH", 692: "RETURNED_SQLSTATE", 693: "RETURNING", 694: "ROLE", 695: "ROUTINE", 696: "ROUTINE_CATALOG", 697: "ROUTINE_NAME", 698: "ROUTINE_SCHEMA", 699: "ROW_COUNT", 700: "SCALE", 701: "SCHEMA", 702: "SCHEMA_NAME", 703: "SCOPE_CATALOG", 704: "SCOPE_NAME", 705: "SCOPE_SCHEMA", 706: "SECTION", 707: "SECURITY", 708: "SELECTIVE", 709: "SELF", 710: "SEQUENCE", 711: "SERIALIZABLE", 712: "SERVER", 713: "SERVER_NAME", 714: "SESSION", 715: "SETS", 716: "SIMPLE", 717: "SIZE", 718: "SPACE", 719: "SPECIFIC_NAME", 720: "STANDALONE", 721: "STATE", 722: "STATEMENT", 723: "STRIP", 724: "STRUCTURE", 725: "STYLE", 726: "SUBCLASS_ORIGIN", 727: "T", 728: "TABLE_NAME", 729: "TEMPORARY", 730: "TIES", 731: "TOKEN", 732: "TOP_LEVEL_COUNT", 733: "TRANSACTIONS_COMMITTED", 734: "TRANSACTIONS_ROLLED_BACK", 735: "TRANSACTION_ACTIVE", 736: "TRANSFORM", 737: "TRANSFORMS", 738: "TRIGGER_CATALOG", 739: "TRIGGER_NAME", 740: "TRIGGER_SCHEMA", 741: "TYPE", 742: "UNBOUNDED", 743: "UNCOMMITTED", 744: "UNDER", 745: "UNLINK", 746: "UNNAMED", 747: "UNTYPED", 748: "URI", 749: "USAGE", 750: "USER_DEFINED_TYPE_CATALOG", 751: "USER_DEFINED_TYPE_CODE", 752: "USER_DEFINED_TYPE_NAME", 753: "USER_DEFINED_TYPE_SCHEMA", 754: "VALID", 755: "VERSION", 756: "WHITESPACE", 757: "WORK", 758: "WRAPPER", 759: "WRITE", 760: "XMLDECLARATION", 761: "XMLSCHEMA", 762: "YES", 763: "ZONE", 764: "SEMICOLON", 765: "PERCENT", 766: "ROWS" },
+ productions_: [0, [3, 1], [3, 1], [3, 2], [7, 1], [7, 2], [8, 2], [9, 3], [9, 1], [9, 1], [13, 2], [13, 4], [12, 1], [17, 0], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [47, 3], [73, 3], [73, 1], [75, 5], [40, 10], [40, 4], [92, 8], [92, 11], [102, 4], [104, 2], [104, 1], [103, 3], [103, 1], [105, 1], [105, 3], [106, 3], [109, 3], [109, 1], [110, 1], [110, 2], [114, 1], [114, 1], [117, 1], [117, 5], [117, 5], [117, 1], [117, 2], [117, 1], [117, 2], [117, 2], [117, 3], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 2], [117, 2], [117, 2], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 2], [117, 3], [117, 4], [117, 3], [117, 1], [117, 4], [117, 2], [117, 2], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 5], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 6], [163, 3], [163, 1], [153, 1], [153, 1], [153, 1], [182, 2], [79, 4], [79, 4], [79, 4], [79, 3], [184, 1], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [186, 3], [186, 4], [186, 0], [81, 0], [81, 2], [81, 2], [81, 2], [81, 2], [81, 2], [82, 2], [82, 3], [82, 5], [82, 0], [205, 6], [205, 7], [205, 6], [205, 7], [203, 1], [203, 3], [209, 4], [209, 5], [209, 3], [209, 3], [209, 2], [209, 3], [209, 1], [209, 3], [209, 2], [209, 3], [209, 1], [209, 1], [209, 2], [209, 3], [209, 1], [209, 1], [209, 2], [209, 3], [209, 1], [209, 2], [209, 3], [214, 1], [199, 3], [199, 1], [204, 2], [204, 2], [204, 1], [204, 1], [215, 3], [217, 1], [217, 2], [217, 3], [217, 3], [217, 2], [217, 3], [217, 4], [217, 5], [217, 1], [217, 2], [217, 3], [217, 1], [217, 2], [217, 3], [216, 1], [216, 2], [221, 1], [221, 2], [221, 2], [221, 3], [221, 2], [221, 3], [221, 2], [221, 3], [221, 2], [221, 2], [221, 2], [218, 2], [218, 2], [218, 0], [84, 0], [84, 2], [85, 0], [85, 4], [233, 1], [233, 3], [235, 5], [235, 4], [235, 4], [235, 1], [234, 0], [234, 2], [88, 0], [88, 2], [88, 3], [88, 2], [88, 2], [88, 3], [88, 4], [88, 3], [88, 3], [86, 0], [86, 3], [120, 1], [120, 3], [241, 1], [241, 2], [241, 3], [241, 4], [87, 0], [87, 3], [87, 8], [246, 0], [246, 2], [174, 3], [174, 1], [253, 3], [253, 2], [253, 3], [253, 2], [253, 3], [253, 2], [253, 1], [254, 5], [254, 3], [254, 1], [111, 5], [111, 3], [111, 3], [111, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 3], [94, 3], [94, 3], [94, 1], [94, 1], [56, 1], [70, 5], [71, 5], [263, 2], [263, 2], [261, 6], [261, 8], [261, 6], [261, 8], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [255, 5], [255, 6], [255, 6], [275, 0], [275, 4], [275, 4], [275, 5], [277, 3], [278, 3], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [200, 5], [200, 3], [200, 4], [200, 4], [200, 8], [200, 8], [200, 8], [200, 8], [200, 3], [151, 1], [151, 3], [196, 1], [257, 1], [257, 1], [113, 1], [113, 1], [258, 1], [202, 2], [259, 4], [262, 3], [201, 2], [201, 2], [201, 1], [201, 1], [260, 5], [260, 4], [304, 2], [304, 1], [307, 4], [305, 2], [305, 0], [256, 3], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 6], [256, 6], [256, 3], [256, 3], [256, 2], [256, 2], [256, 2], [256, 2], [256, 2], [256, 3], [256, 5], [256, 6], [256, 5], [256, 6], [256, 4], [256, 5], [256, 3], [256, 4], [256, 3], [256, 4], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [329, 1], [329, 1], [329, 4], [327, 1], [327, 1], [327, 1], [327, 1], [327, 1], [327, 1], [328, 1], [328, 1], [328, 1], [55, 6], [55, 4], [147, 1], [147, 3], [336, 3], [336, 4], [29, 5], [29, 3], [36, 5], [36, 4], [36, 7], [36, 6], [36, 5], [36, 4], [36, 5], [36, 8], [36, 7], [36, 4], [36, 6], [36, 7], [341, 1], [341, 1], [340, 0], [340, 1], [342, 3], [342, 1], [342, 1], [342, 5], [342, 3], [342, 3], [345, 1], [345, 3], [346, 1], [346, 1], [346, 1], [346, 1], [346, 1], [346, 1], [100, 1], [100, 3], [24, 9], [24, 5], [349, 1], [349, 1], [352, 0], [352, 1], [354, 2], [354, 1], [355, 1], [355, 3], [355, 3], [355, 3], [348, 0], [348, 1], [350, 0], [350, 3], [351, 3], [351, 1], [351, 2], [359, 1], [359, 3], [360, 2], [360, 2], [360, 2], [360, 2], [360, 2], [361, 0], [361, 2], [366, 4], [362, 6], [363, 9], [377, 3], [376, 0], [376, 2], [378, 4], [379, 4], [364, 6], [365, 5], [365, 5], [372, 1], [372, 1], [372, 3], [372, 3], [358, 1], [358, 3], [384, 3], [384, 2], [384, 1], [387, 6], [387, 4], [387, 1], [387, 4], [272, 2], [272, 1], [388, 1], [388, 1], [385, 0], [385, 1], [391, 2], [391, 1], [393, 3], [392, 2], [392, 5], [392, 3], [392, 6], [392, 1], [392, 2], [392, 4], [392, 2], [392, 1], [392, 2], [392, 1], [392, 1], [392, 3], [392, 5], [33, 4], [399, 3], [399, 1], [398, 0], [398, 2], [18, 6], [18, 6], [18, 6], [18, 8], [18, 6], [39, 5], [19, 4], [19, 7], [19, 6], [19, 9], [30, 3], [21, 4], [21, 6], [21, 9], [21, 6], [407, 0], [407, 2], [54, 3], [54, 2], [31, 4], [31, 5], [31, 5], [22, 8], [22, 9], [32, 3], [43, 2], [43, 4], [43, 3], [43, 5], [45, 2], [45, 4], [45, 4], [45, 6], [42, 4], [42, 6], [44, 4], [44, 6], [41, 4], [41, 6], [25, 11], [25, 8], [413, 3], [413, 3], [413, 5], [34, 4], [66, 2], [57, 2], [58, 2], [58, 2], [58, 4], [144, 4], [144, 2], [144, 2], [144, 2], [144, 2], [144, 1], [144, 2], [144, 2], [422, 1], [422, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 3], [419, 3], [419, 4], [419, 2], [421, 2], [421, 3], [421, 1], [425, 3], [425, 1], [428, 3], [428, 3], [428, 3], [427, 3], [427, 1], [65, 4], [65, 3], [65, 4], [65, 5], [65, 5], [65, 6], [431, 1], [431, 1], [430, 3], [430, 2], [432, 1], [432, 1], [432, 3], [429, 1], [429, 1], [51, 2], [52, 2], [50, 2], [35, 4], [35, 3], [438, 2], [59, 3], [60, 1], [61, 1], [62, 3], [63, 2], [63, 2], [64, 2], [64, 2], [446, 1], [446, 1], [69, 2], [444, 3], [444, 1], [445, 3], [445, 1], [28, 2], [449, 1], [449, 3], [450, 3], [450, 4], [450, 5], [450, 6], [46, 3], [37, 6], [453, 1], [453, 2], [454, 2], [455, 2], [456, 2], [456, 2], [456, 1], [456, 1], [458, 4], [458, 6], [461, 1], [461, 3], [459, 5], [459, 7], [459, 7], [459, 9], [459, 7], [459, 9], [462, 3], [462, 6], [462, 3], [462, 6], [457, 0], [457, 2], [457, 5], [457, 4], [457, 7], [27, 6], [469, 2], [468, 0], [468, 2], [468, 2], [468, 1], [26, 8], [23, 3], [23, 4], [473, 3], [473, 1], [474, 3], [474, 7], [474, 6], [474, 3], [474, 4], [478, 1], [478, 1], [482, 2], [483, 3], [484, 2], [485, 4], [475, 4], [475, 3], [475, 2], [475, 1], [497, 2], [493, 2], [493, 2], [498, 4], [500, 6], [67, 3], [67, 2], [506, 3], [506, 1], [504, 1], [504, 4], [68, 2], [20, 2], [48, 9], [48, 8], [48, 9], [510, 0], [510, 1], [510, 1], [510, 1], [510, 2], [511, 1], [511, 1], [511, 1], [49, 3], [38, 2], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [11, 1], [11, 1], [80, 0], [80, 1], [83, 0], [83, 1], [90, 0], [90, 2], [91, 0], [91, 1], [96, 0], [96, 1], [97, 0], [97, 1], [101, 0], [101, 1], [108, 0], [108, 1], [121, 0], [121, 1], [125, 1], [125, 2], [126, 1], [126, 2], [127, 0], [127, 1], [155, 0], [155, 2], [157, 0], [157, 2], [159, 0], [159, 2], [160, 1], [160, 1], [161, 0], [161, 2], [165, 0], [165, 2], [167, 0], [167, 2], [176, 0], [176, 2], [177, 0], [177, 2], [178, 0], [178, 2], [188, 0], [188, 1], [197, 0], [197, 1], [210, 0], [210, 1], [211, 0], [211, 1], [219, 0], [219, 1], [220, 0], [220, 1], [248, 0], [248, 1], [250, 0], [250, 1], [251, 0], [251, 1], [252, 0], [252, 1], [264, 1], [264, 1], [767, 1], [767, 1], [289, 0], [289, 1], [301, 1], [301, 1], [337, 1], [337, 1], [371, 0], [371, 1], [375, 0], [375, 1], [382, 0], [382, 1], [383, 0], [383, 1], [394, 0], [394, 1], [395, 0], [395, 1], [397, 1], [397, 1], [411, 0], [411, 1], [412, 0], [412, 1], [465, 0], [465, 1], [466, 0], [466, 1], [467, 0], [467, 1], [471, 0], [471, 1], [476, 0], [476, 1], [477, 0], [477, 1], [479, 0], [479, 1], [480, 0], [480, 1], [481, 0], [481, 1], [486, 0], [486, 1], [487, 0], [487, 1], [488, 0], [488, 1], [489, 0], [489, 1], [490, 0], [490, 1], [491, 0], [491, 1], [492, 0], [492, 1], [494, 0], [494, 1], [495, 0], [495, 1], [496, 0], [496, 1], [499, 0], [499, 2], [501, 0], [501, 2], [502, 0], [502, 2], [503, 0], [503, 2], [512, 0], [512, 1], [513, 0], [513, 1]],
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate , $$ , _$ ) {
+ var $0 = $$.length - 1;
+ switch (yystate) {
+ case 1:
+ this.$ = yy.casesensitive ? $$[$0] : $$[$0].toLowerCase();
+ break;
+ case 2:
+ this.$ = doubleq($$[$0].substr(1, $$[$0].length - 2));
+ break;
+ case 3:
+ this.$ = $$[$0].toLowerCase();
+ break;
+ case 4:
+ this.$ = $$[$0];
+ break;
+ case 5:
+ this.$ = $$[$0] ? $$[$0 - 1] + ' ' + $$[$0] : $$[$0 - 1];
+ break;
+ case 6:
+ return new yy.Statements({ statements: $$[$0 - 1] });
+ break;
+ case 7:
+ this.$ = $$[$0 - 2];
+ if ($$[$0])
+ { $$[$0 - 2].push($$[$0]); }
+ break;
+ case 8:
+ case 9:
+ case 70:
+ case 80:
+ case 85:
+ case 143:
+ case 177:
+ case 205:
+ case 206:
+ case 242:
+ case 261:
+ case 273:
+ case 354:
+ case 372:
+ case 451:
+ case 474:
+ case 475:
+ case 479:
+ case 487:
+ case 528:
+ case 529:
+ case 566:
+ case 649:
+ case 659:
+ case 683:
+ case 685:
+ case 687:
+ case 701:
+ case 702:
+ case 732:
+ case 756:
+ this.$ = [$$[$0]];
+ break;
+ case 10:
+ this.$ = $$[$0];
+ $$[$0].explain = true;
+ break;
+ case 11:
+ this.$ = $$[$0];
+ $$[$0].explain = true;
+ break;
+ case 12:
+ this.$ = $$[$0];
+ if (yy.exists)
+ { this.$.exists = yy.exists; }
+ delete yy.exists;
+ if (yy.queries)
+ { this.$.queries = yy.queries; }
+ delete yy.queries;
+ break;
+ case 13:
+ case 162:
+ case 172:
+ case 237:
+ case 238:
+ case 240:
+ case 248:
+ case 250:
+ case 259:
+ case 267:
+ case 270:
+ case 375:
+ case 491:
+ case 501:
+ case 503:
+ case 515:
+ case 521:
+ case 522:
+ case 567:
+ this.$ = undefined;
+ break;
+ case 68:
+ this.$ = new yy.WithSelect({ withs: $$[$0 - 1], select: $$[$0] });
+ break;
+ case 69:
+ case 565:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 71:
+ this.$ = { name: $$[$0 - 4], select: $$[$0 - 1] };
+ break;
+ case 72:
+ yy.extend(this.$, $$[$0 - 9]);
+ yy.extend(this.$, $$[$0 - 8]);
+ yy.extend(this.$, $$[$0 - 7]);
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 5]);
+ yy.extend(this.$, $$[$0 - 4]);
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ this.$ = $$[$0 - 9];
+ break;
+ case 73:
+ this.$ = new yy.Search({ selectors: $$[$0 - 2], from: $$[$0] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 74:
+ this.$ = { pivot: { expr: $$[$0 - 5], columnid: $$[$0 - 3], inlist: $$[$0 - 2], as: $$[$0] } };
+ break;
+ case 75:
+ this.$ = { unpivot: { tocolumnid: $$[$0 - 8], forcolumnid: $$[$0 - 6], inlist: $$[$0 - 3], as: $$[$0] } };
+ break;
+ case 76:
+ case 520:
+ case 549:
+ case 585:
+ case 619:
+ case 636:
+ case 637:
+ case 640:
+ case 662:
+ this.$ = $$[$0 - 1];
+ break;
+ case 77:
+ case 78:
+ case 86:
+ case 147:
+ case 185:
+ case 247:
+ case 280:
+ case 288:
+ case 289:
+ case 290:
+ case 291:
+ case 292:
+ case 293:
+ case 294:
+ case 295:
+ case 296:
+ case 297:
+ case 298:
+ case 299:
+ case 300:
+ case 301:
+ case 304:
+ case 305:
+ case 320:
+ case 321:
+ case 322:
+ case 323:
+ case 324:
+ case 325:
+ case 374:
+ case 440:
+ case 441:
+ case 442:
+ case 443:
+ case 444:
+ case 445:
+ case 516:
+ case 542:
+ case 546:
+ case 548:
+ case 623:
+ case 624:
+ case 625:
+ case 626:
+ case 627:
+ case 628:
+ case 632:
+ case 634:
+ case 635:
+ case 644:
+ case 660:
+ case 661:
+ case 723:
+ case 738:
+ case 739:
+ case 741:
+ case 742:
+ case 748:
+ case 749:
+ this.$ = $$[$0];
+ break;
+ case 79:
+ case 84:
+ case 731:
+ case 755:
+ this.$ = $$[$0 - 2];
+ this.$.push($$[$0]);
+ break;
+ case 81:
+ this.$ = { expr: $$[$0] };
+ break;
+ case 82:
+ this.$ = { expr: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 83:
+ this.$ = { removecolumns: $$[$0] };
+ break;
+ case 87:
+ this.$ = { like: $$[$0] };
+ break;
+ case 90:
+ case 104:
+ this.$ = { srchid: "PROP", args: [$$[$0]] };
+ break;
+ case 91:
+ this.$ = { srchid: "ORDERBY", args: $$[$0 - 1] };
+ break;
+ case 92:
+ var dir = $$[$0 - 1];
+ if (!dir)
+ { dir = 'ASC'; }
+ this.$ = { srchid: "ORDERBY", args: [{ expression: new yy.Column({ columnid: '_' }), direction: dir }] };
+ break;
+ case 93:
+ this.$ = { srchid: "PARENT" };
+ break;
+ case 94:
+ this.$ = { srchid: "APROP", args: [$$[$0]] };
+ break;
+ case 95:
+ this.$ = { selid: "ROOT" };
+ break;
+ case 96:
+ this.$ = { srchid: "EQ", args: [$$[$0]] };
+ break;
+ case 97:
+ this.$ = { srchid: "LIKE", args: [$$[$0]] };
+ break;
+ case 98:
+ case 99:
+ this.$ = { selid: "WITH", args: $$[$0 - 1] };
+ break;
+ case 100:
+ this.$ = { srchid: $$[$0 - 3].toUpperCase(), args: $$[$0 - 1] };
+ break;
+ case 101:
+ this.$ = { srchid: "WHERE", args: [$$[$0 - 1]] };
+ break;
+ case 102:
+ this.$ = { selid: "OF", args: [$$[$0 - 1]] };
+ break;
+ case 103:
+ this.$ = { srchid: "CLASS", args: [$$[$0 - 1]] };
+ break;
+ case 105:
+ this.$ = { srchid: "NAME", args: [$$[$0].substr(1, $$[$0].length - 2)] };
+ break;
+ case 106:
+ this.$ = { srchid: "CHILD" };
+ break;
+ case 107:
+ this.$ = { srchid: "VERTEX" };
+ break;
+ case 108:
+ this.$ = { srchid: "EDGE" };
+ break;
+ case 109:
+ this.$ = { srchid: "REF" };
+ break;
+ case 110:
+ this.$ = { srchid: "SHARP", args: [$$[$0]] };
+ break;
+ case 111:
+ this.$ = { srchid: "ATTR", args: ((typeof $$[$0] == 'undefined') ? undefined : [$$[$0]]) };
+ break;
+ case 112:
+ this.$ = { srchid: "ATTR" };
+ break;
+ case 113:
+ this.$ = { srchid: "OUT" };
+ break;
+ case 114:
+ this.$ = { srchid: "IN" };
+ break;
+ case 115:
+ this.$ = { srchid: "OUTOUT" };
+ break;
+ case 116:
+ this.$ = { srchid: "ININ" };
+ break;
+ case 117:
+ this.$ = { srchid: "CONTENT" };
+ break;
+ case 118:
+ this.$ = { srchid: "EX", args: [new yy.Json({ value: $$[$0] })] };
+ break;
+ case 119:
+ this.$ = { srchid: "AT", args: [$$[$0]] };
+ break;
+ case 120:
+ this.$ = { srchid: "AS", args: [$$[$0]] };
+ break;
+ case 121:
+ this.$ = { srchid: "SET", args: $$[$0 - 1] };
+ break;
+ case 122:
+ this.$ = { selid: "TO", args: [$$[$0]] };
+ break;
+ case 123:
+ this.$ = { srchid: "VALUE" };
+ break;
+ case 124:
+ this.$ = { srchid: "ROW", args: $$[$0 - 1] };
+ break;
+ case 125:
+ this.$ = { srchid: "CLASS", args: [$$[$0]] };
+ break;
+ case 126:
+ this.$ = { selid: $$[$0], args: [$$[$0 - 1]] };
+ break;
+ case 127:
+ this.$ = { selid: "NOT", args: $$[$0 - 1] };
+ break;
+ case 128:
+ this.$ = { selid: "IF", args: $$[$0 - 1] };
+ break;
+ case 129:
+ this.$ = { selid: $$[$0 - 3], args: $$[$0 - 1] };
+ break;
+ case 130:
+ this.$ = { selid: 'DISTINCT', args: $$[$0 - 1] };
+ break;
+ case 131:
+ this.$ = { selid: 'UNION', args: $$[$0 - 1] };
+ break;
+ case 132:
+ this.$ = { selid: 'UNIONALL', args: $$[$0 - 1] };
+ break;
+ case 133:
+ this.$ = { selid: 'ALL', args: [$$[$0 - 1]] };
+ break;
+ case 134:
+ this.$ = { selid: 'ANY', args: [$$[$0 - 1]] };
+ break;
+ case 135:
+ this.$ = { selid: 'INTERSECT', args: $$[$0 - 1] };
+ break;
+ case 136:
+ this.$ = { selid: 'EXCEPT', args: $$[$0 - 1] };
+ break;
+ case 137:
+ this.$ = { selid: 'AND', args: $$[$0 - 1] };
+ break;
+ case 138:
+ this.$ = { selid: 'OR', args: $$[$0 - 1] };
+ break;
+ case 139:
+ this.$ = { selid: 'PATH', args: [$$[$0 - 1]] };
+ break;
+ case 140:
+ this.$ = { srchid: 'RETURN', args: $$[$0 - 1] };
+ break;
+ case 141:
+ this.$ = { selid: 'REPEAT', sels: $$[$0 - 3], args: $$[$0 - 1] };
+ break;
+ case 142:
+ this.$ = $$[$0 - 2];
+ this.$.push($$[$0]);
+ break;
+ case 144:
+ this.$ = "PLUS";
+ break;
+ case 145:
+ this.$ = "STAR";
+ break;
+ case 146:
+ this.$ = "QUESTION";
+ break;
+ case 148:
+ this.$ = new yy.Select({ columns: $$[$0], distinct: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 149:
+ this.$ = new yy.Select({ columns: $$[$0], distinct: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 150:
+ this.$ = new yy.Select({ columns: $$[$0], all: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 151:
+ if (!$$[$0]) {
+ this.$ = new yy.Select({ columns: [new yy.Column({ columnid: '_', })], modifier: 'COLUMN' });
+ }
+ else {
+ this.$ = new yy.Select({ columns: $$[$0] });
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ }
+ break;
+ case 152:
+ if ($$[$0] == 'SELECT')
+ { this.$ = undefined; }
+ else
+ { this.$ = { modifier: $$[$0] }; }
+ break;
+ case 153:
+ this.$ = { modifier: 'VALUE' };
+ break;
+ case 154:
+ this.$ = { modifier: 'ROW' };
+ break;
+ case 155:
+ this.$ = { modifier: 'COLUMN' };
+ break;
+ case 156:
+ this.$ = { modifier: 'MATRIX' };
+ break;
+ case 157:
+ this.$ = { modifier: 'TEXTSTRING' };
+ break;
+ case 158:
+ this.$ = { modifier: 'INDEX' };
+ break;
+ case 159:
+ this.$ = { modifier: 'RECORDSET' };
+ break;
+ case 160:
+ this.$ = { top: $$[$0 - 1], percent: (typeof $$[$0] != 'undefined' ? true : undefined) };
+ break;
+ case 161:
+ this.$ = { top: $$[$0 - 1] };
+ break;
+ case 163:
+ case 330:
+ case 523:
+ case 524:
+ case 724:
+ this.$ = undefined;
+ break;
+ case 164:
+ case 165:
+ case 166:
+ case 167:
+ this.$ = { into: $$[$0] };
+ break;
+ case 168:
+ var s = $$[$0];
+ s = s.substr(1, s.length - 2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ if (s[0] == '#') {
+ this.$ = { into: new yy.FuncValue({ funcid: 'HTML', args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ else if (x3 == 'XLS' || x3 == 'CSV' || x3 == 'TAB') {
+ this.$ = { into: new yy.FuncValue({ funcid: x3, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ else if (x4 == 'XLSX' || x4 == 'JSON') {
+ this.$ = { into: new yy.FuncValue({ funcid: x4, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ break;
+ case 169:
+ this.$ = { from: $$[$0] };
+ break;
+ case 170:
+ this.$ = { from: $$[$0 - 1], joins: $$[$0] };
+ break;
+ case 171:
+ this.$ = { from: $$[$0 - 2], joins: $$[$0 - 1] };
+ break;
+ case 173:
+ this.$ = new yy.Apply({ select: $$[$0 - 2], applymode: 'CROSS', as: $$[$0] });
+ break;
+ case 174:
+ this.$ = new yy.Apply({ select: $$[$0 - 3], applymode: 'CROSS', as: $$[$0] });
+ break;
+ case 175:
+ this.$ = new yy.Apply({ select: $$[$0 - 2], applymode: 'OUTER', as: $$[$0] });
+ break;
+ case 176:
+ this.$ = new yy.Apply({ select: $$[$0 - 3], applymode: 'OUTER', as: $$[$0] });
+ break;
+ case 178:
+ case 243:
+ case 452:
+ case 530:
+ case 531:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 179:
+ this.$ = $$[$0 - 2];
+ this.$.as = $$[$0];
+ break;
+ case 180:
+ this.$ = $$[$0 - 3];
+ this.$.as = $$[$0];
+ break;
+ case 181:
+ this.$ = $$[$0 - 1];
+ this.$.as = 'default';
+ break;
+ case 182:
+ this.$ = new yy.Json({ value: $$[$0 - 2] });
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 183:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].as = $$[$0];
+ break;
+ case 184:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 186:
+ case 638:
+ case 641:
+ this.$ = $$[$0 - 2];
+ break;
+ case 187:
+ case 191:
+ case 195:
+ case 198:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].as = $$[$0];
+ break;
+ case 188:
+ case 192:
+ case 196:
+ case 199:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 189:
+ case 190:
+ case 194:
+ case 197:
+ this.$ = $$[$0];
+ $$[$0].as = 'default';
+ break;
+ case 193:
+ this.$ = { inserted: true };
+ $$[$0].as = 'default';
+ break;
+ case 200:
+ var s = $$[$0];
+ s = s.substr(1, s.length - 2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ var r;
+ if (s[0] == '#') {
+ r = new yy.FuncValue({ funcid: 'HTML', args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else if (x3 == 'XLS' || x3 == 'CSV' || x3 == 'TAB') {
+ r = new yy.FuncValue({ funcid: x3, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else if (x4 == 'XLSX' || x4 == 'JSON') {
+ r = new yy.FuncValue({ funcid: x4, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else {
+ throw new Error('Unknown string in FROM clause');
+ }
+ this.$ = r;
+ break;
+ case 201:
+ if ($$[$0 - 2] == 'INFORMATION_SCHEMA') {
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 2], args: [new yy.StringValue({ value: $$[$0] })] });
+ }
+ else {
+ this.$ = new yy.Table({ databaseid: $$[$0 - 2], tableid: $$[$0] });
+ }
+ break;
+ case 202:
+ this.$ = new yy.Table({ tableid: $$[$0] });
+ break;
+ case 203:
+ case 204:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].push($$[$0]);
+ break;
+ case 207:
+ this.$ = new yy.Join($$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 208:
+ this.$ = { table: $$[$0] };
+ break;
+ case 209:
+ this.$ = { table: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 210:
+ this.$ = { table: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 211:
+ this.$ = { json: new yy.Json({ value: $$[$0 - 2], as: $$[$0] }) };
+ break;
+ case 212:
+ this.$ = { param: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 213:
+ this.$ = { param: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 214:
+ this.$ = { select: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 215:
+ this.$ = { select: $$[$0 - 3], as: $$[$0] };
+ break;
+ case 216:
+ this.$ = { funcid: $$[$0], as: 'default' };
+ break;
+ case 217:
+ this.$ = { funcid: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 218:
+ this.$ = { funcid: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 219:
+ this.$ = { variable: $$[$0], as: 'default' };
+ break;
+ case 220:
+ this.$ = { variable: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 221:
+ this.$ = { variable: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 222:
+ this.$ = { joinmode: $$[$0] };
+ break;
+ case 223:
+ this.$ = { joinmode: $$[$0 - 1], natural: true };
+ break;
+ case 224:
+ case 225:
+ this.$ = "INNER";
+ break;
+ case 226:
+ case 227:
+ this.$ = "LEFT";
+ break;
+ case 228:
+ case 229:
+ this.$ = "RIGHT";
+ break;
+ case 230:
+ case 231:
+ this.$ = "OUTER";
+ break;
+ case 232:
+ this.$ = "SEMI";
+ break;
+ case 233:
+ this.$ = "ANTI";
+ break;
+ case 234:
+ this.$ = "CROSS";
+ break;
+ case 235:
+ this.$ = { on: $$[$0] };
+ break;
+ case 236:
+ case 697:
+ this.$ = { using: $$[$0] };
+ break;
+ case 239:
+ this.$ = { where: new yy.Expression({ expression: $$[$0] }) };
+ break;
+ case 241:
+ this.$ = { group: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 244:
+ this.$ = new yy.GroupExpression({ type: 'GROUPING SETS', group: $$[$0 - 1] });
+ break;
+ case 245:
+ this.$ = new yy.GroupExpression({ type: 'ROLLUP', group: $$[$0 - 1] });
+ break;
+ case 246:
+ this.$ = new yy.GroupExpression({ type: 'CUBE', group: $$[$0 - 1] });
+ break;
+ case 249:
+ this.$ = { having: $$[$0] };
+ break;
+ case 251:
+ this.$ = { union: $$[$0] };
+ break;
+ case 252:
+ this.$ = { unionall: $$[$0] };
+ break;
+ case 253:
+ this.$ = { except: $$[$0] };
+ break;
+ case 254:
+ this.$ = { intersect: $$[$0] };
+ break;
+ case 255:
+ this.$ = { union: $$[$0], corresponding: true };
+ break;
+ case 256:
+ this.$ = { unionall: $$[$0], corresponding: true };
+ break;
+ case 257:
+ this.$ = { except: $$[$0], corresponding: true };
+ break;
+ case 258:
+ this.$ = { intersect: $$[$0], corresponding: true };
+ break;
+ case 260:
+ this.$ = { order: $$[$0] };
+ break;
+ case 262:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 263:
+ this.$ = new yy.Expression({ expression: $$[$0], direction: 'ASC' });
+ break;
+ case 264:
+ this.$ = new yy.Expression({ expression: $$[$0 - 1], direction: $$[$0].toUpperCase() });
+ break;
+ case 265:
+ this.$ = new yy.Expression({ expression: $$[$0 - 2], direction: 'ASC', nocase: true });
+ break;
+ case 266:
+ this.$ = new yy.Expression({ expression: $$[$0 - 3], direction: $$[$0].toUpperCase(), nocase: true });
+ break;
+ case 268:
+ this.$ = { limit: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 269:
+ this.$ = { limit: $$[$0 - 2], offset: $$[$0 - 6] };
+ break;
+ case 271:
+ this.$ = { offset: $$[$0] };
+ break;
+ case 272:
+ case 509:
+ case 533:
+ case 648:
+ case 658:
+ case 682:
+ case 684:
+ case 688:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 274:
+ case 276:
+ case 278:
+ $$[$0 - 2].as = $$[$0];
+ this.$ = $$[$0 - 2];
+ break;
+ case 275:
+ case 277:
+ case 279:
+ $$[$0 - 1].as = $$[$0];
+ this.$ = $$[$0 - 1];
+ break;
+ case 281:
+ this.$ = new yy.Column({ columid: $$[$0], tableid: $$[$0 - 2], databaseid: $$[$0 - 4] });
+ break;
+ case 282:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2] });
+ break;
+ case 283:
+ this.$ = new yy.Column({ columnid: $$[$0] });
+ break;
+ case 284:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2], databaseid: $$[$0 - 4] });
+ break;
+ case 285:
+ case 286:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2] });
+ break;
+ case 287:
+ this.$ = new yy.Column({ columnid: $$[$0] });
+ break;
+ case 302:
+ this.$ = new yy.DomainValueValue();
+ break;
+ case 303:
+ this.$ = new yy.Json({ value: $$[$0] });
+ break;
+ case 306:
+ case 307:
+ case 308:
+ if (!yy.queries)
+ { yy.queries = []; }
+ yy.queries.push($$[$0 - 1]);
+ $$[$0 - 1].queriesidx = yy.queries.length;
+ this.$ = $$[$0 - 1];
+ break;
+ case 309:
+ this.$ = $$[$0];
+ break;
+ case 310:
+ this.$ = new yy.FuncValue({ funcid: 'CURRENT_TIMESTAMP' });
+ break;
+ case 311:
+ this.$ = new yy.JavaScript({ value: $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 312:
+ this.$ = new yy.JavaScript({ value: 'alasql.fn["' + $$[$0 - 2] + '"] = ' + $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 313:
+ this.$ = new yy.JavaScript({ value: 'alasql.aggr["' + $$[$0 - 2] + '"] = ' + $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 314:
+ this.$ = new yy.FuncValue({ funcid: $$[$0], newid: true });
+ break;
+ case 315:
+ this.$ = $$[$0];
+ yy.extend(this.$, { newid: true });
+ break;
+ case 316:
+ this.$ = new yy.Convert({ expression: $$[$0 - 3] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 317:
+ this.$ = new yy.Convert({ expression: $$[$0 - 5], style: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 3]);
+ break;
+ case 318:
+ this.$ = new yy.Convert({ expression: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 3]);
+ break;
+ case 319:
+ this.$ = new yy.Convert({ expression: $$[$0 - 3], style: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 5]);
+ break;
+ case 326:
+ this.$ = new yy.FuncValue({ funcid: 'CURRENT_TIMESTAMP' });
+ break;
+ case 327:
+ if ($$[$0 - 2].length > 1 && ($$[$0 - 4].toUpperCase() == 'MAX' || $$[$0 - 4].toUpperCase() == 'MIN')) {
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 4], args: $$[$0 - 2] });
+ }
+ else {
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 4].toUpperCase(), expression: $$[$0 - 2].pop(), over: $$[$0] });
+ }
+ break;
+ case 328:
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 5].toUpperCase(), expression: $$[$0 - 2], distinct: true, over: $$[$0] });
+ break;
+ case 329:
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 5].toUpperCase(), expression: $$[$0 - 2],
+ over: $$[$0] });
+ break;
+ case 331:
+ case 332:
+ this.$ = new yy.Over();
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 333:
+ this.$ = new yy.Over();
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 334:
+ this.$ = { partition: $$[$0] };
+ break;
+ case 335:
+ this.$ = { order: $$[$0] };
+ break;
+ case 336:
+ this.$ = "SUM";
+ break;
+ case 337:
+ this.$ = "COUNT";
+ break;
+ case 338:
+ this.$ = "MIN";
+ break;
+ case 339:
+ case 544:
+ this.$ = "MAX";
+ break;
+ case 340:
+ this.$ = "AVG";
+ break;
+ case 341:
+ this.$ = "FIRST";
+ break;
+ case 342:
+ this.$ = "LAST";
+ break;
+ case 343:
+ this.$ = "AGGR";
+ break;
+ case 344:
+ this.$ = "ARRAY";
+ break;
+ case 345:
+ var funcid = $$[$0 - 4];
+ var exprlist = $$[$0 - 1];
+ if (exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
+ this.$ = new yy.FuncValue({ funcid: funcid, args: exprlist });
+ }
+ else if (yy.isInAggr($$[$0 - 4])) {
+ this.$ = new yy.AggrValue({ aggregatorid: 'REDUCE',
+ funcid: funcid, expression: exprlist.pop(), distinct: ($$[$0 - 2] == 'DISTINCT') });
+ }
+ else {
+ this.$ = new yy.FuncValue({ funcid: funcid, args: exprlist });
+ }
+ break;
+ case 346:
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 2] });
+ break;
+ case 347:
+ this.$ = new yy.FuncValue({ funcid: 'IIF', args: $$[$0 - 1] });
+ break;
+ case 348:
+ this.$ = new yy.FuncValue({ funcid: 'REPLACE', args: $$[$0 - 1] });
+ break;
+ case 349:
+ this.$ = new yy.FuncValue({ funcid: 'DATEADD', args: [new yy.StringValue({ value: $$[$0 - 5] }), $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 350:
+ this.$ = new yy.FuncValue({ funcid: 'DATEADD', args: [$$[$0 - 5], $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 351:
+ this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args: [new yy.StringValue({ value: $$[$0 - 5] }), $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 352:
+ this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args: [$$[$0 - 5], $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 353:
+ this.$ = new yy.FuncValue({ funcid: 'INTERVAL', args: [$$[$0 - 1], new yy.StringValue({ value: ($$[$0]).toLowerCase() })] });
+ break;
+ case 355:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 356:
+ this.$ = new yy.NumValue({ value: +$$[$0] });
+ break;
+ case 357:
+ this.$ = new yy.LogicValue({ value: true });
+ break;
+ case 358:
+ this.$ = new yy.LogicValue({ value: false });
+ break;
+ case 359:
+ this.$ = new yy.StringValue({ value: $$[$0].substr(1, $$[$0].length - 2).replace(/(\\\')/g, "'").replace(/(\'\')/g, "'") });
+ break;
+ case 360:
+ this.$ = new yy.StringValue({ value: $$[$0].substr(2, $$[$0].length - 3).replace(/(\\\')/g, "'").replace(/(\'\')/g, "'") });
+ break;
+ case 361:
+ this.$ = new yy.NullValue({ value: undefined });
+ break;
+ case 362:
+ this.$ = new yy.VarValue({ variable: $$[$0] });
+ break;
+ case 363:
+ if (!yy.exists)
+ { yy.exists = []; }
+ this.$ = new yy.ExistsValue({ value: $$[$0 - 1], existsidx: yy.exists.length });
+ yy.exists.push($$[$0 - 1]);
+ break;
+ case 364:
+ this.$ = new yy.ArrayValue({ value: $$[$0 - 1] });
+ break;
+ case 365:
+ case 366:
+ this.$ = new yy.ParamValue({ param: $$[$0] });
+ break;
+ case 367:
+ if (typeof yy.question == 'undefined')
+ { yy.question = 0; }
+ this.$ = new yy.ParamValue({ param: yy.question++ });
+ break;
+ case 368:
+ if (typeof yy.question == 'undefined')
+ { yy.question = 0; }
+ this.$ = new yy.ParamValue({ param: yy.question++, array: true });
+ break;
+ case 369:
+ this.$ = new yy.CaseValue({ expression: $$[$0 - 3], whens: $$[$0 - 2], elses: $$[$0 - 1] });
+ break;
+ case 370:
+ this.$ = new yy.CaseValue({ whens: $$[$0 - 2], elses: $$[$0 - 1] });
+ break;
+ case 371:
+ case 699:
+ case 700:
+ this.$ = $$[$0 - 1];
+ this.$.push($$[$0]);
+ break;
+ case 373:
+ this.$ = { when: $$[$0 - 2], then: $$[$0] };
+ break;
+ case 376:
+ case 377:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'REGEXP', right: $$[$0] });
+ break;
+ case 378:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'GLOB', right: $$[$0] });
+ break;
+ case 379:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'LIKE', right: $$[$0] });
+ break;
+ case 380:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'LIKE', right: $$[$0 - 2], escape: $$[$0] });
+ break;
+ case 381:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'NOT LIKE', right: $$[$0] });
+ break;
+ case 382:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'NOT LIKE', right: $$[$0 - 2], escape: $$[$0] });
+ break;
+ case 383:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '||', right: $$[$0] });
+ break;
+ case 384:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '+', right: $$[$0] });
+ break;
+ case 385:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '-', right: $$[$0] });
+ break;
+ case 386:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '*', right: $$[$0] });
+ break;
+ case 387:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '/', right: $$[$0] });
+ break;
+ case 388:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '%', right: $$[$0] });
+ break;
+ case 389:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '^', right: $$[$0] });
+ break;
+ case 390:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>>', right: $$[$0] });
+ break;
+ case 391:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<<', right: $$[$0] });
+ break;
+ case 392:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '&', right: $$[$0] });
+ break;
+ case 393:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '|', right: $$[$0] });
+ break;
+ case 394:
+ case 395:
+ case 397:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '->', right: $$[$0] });
+ break;
+ case 396:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: '->', right: $$[$0 - 1] });
+ break;
+ case 398:
+ case 399:
+ case 401:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!', right: $$[$0] });
+ break;
+ case 400:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: '!', right: $$[$0 - 1] });
+ break;
+ case 402:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>', right: $$[$0] });
+ break;
+ case 403:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>=', right: $$[$0] });
+ break;
+ case 404:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<', right: $$[$0] });
+ break;
+ case 405:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<=', right: $$[$0] });
+ break;
+ case 406:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '=', right: $$[$0] });
+ break;
+ case 407:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '==', right: $$[$0] });
+ break;
+ case 408:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '===', right: $$[$0] });
+ break;
+ case 409:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!=', right: $$[$0] });
+ break;
+ case 410:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!==', right: $$[$0] });
+ break;
+ case 411:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!===', right: $$[$0] });
+ break;
+ case 412:
+ if (!yy.queries)
+ { yy.queries = []; }
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: $$[$0 - 4], allsome: $$[$0 - 3], right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 413:
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: $$[$0 - 4], allsome: $$[$0 - 3], right: $$[$0 - 1] });
+ break;
+ case 414:
+ if ($$[$0 - 2].op == 'BETWEEN1') {
+ if ($$[$0 - 2].left.op == 'AND') {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left.left, op: 'AND', right: new yy.Op({ left: $$[$0 - 2].left.right, op: 'BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] })
+ });
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left, op: 'BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] });
+ }
+ }
+ else if ($$[$0 - 2].op == 'NOT BETWEEN1') {
+ if ($$[$0 - 2].left.op == 'AND') {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left.left, op: 'AND', right: new yy.Op({ left: $$[$0 - 2].left.right, op: 'NOT BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] })
+ });
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left, op: 'NOT BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] });
+ }
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'AND', right: $$[$0] });
+ }
+ break;
+ case 415:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'OR', right: $$[$0] });
+ break;
+ case 416:
+ this.$ = new yy.UniOp({ op: 'NOT', right: $$[$0] });
+ break;
+ case 417:
+ this.$ = new yy.UniOp({ op: '-', right: $$[$0] });
+ break;
+ case 418:
+ this.$ = new yy.UniOp({ op: '+', right: $$[$0] });
+ break;
+ case 419:
+ this.$ = new yy.UniOp({ op: '~', right: $$[$0] });
+ break;
+ case 420:
+ this.$ = new yy.UniOp({ op: '#', right: $$[$0] });
+ break;
+ case 421:
+ this.$ = new yy.UniOp({ right: $$[$0 - 1] });
+ break;
+ case 422:
+ if (!yy.queries)
+ { yy.queries = []; }
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'IN', right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 423:
+ if (!yy.queries)
+ { yy.queries = []; }
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: 'NOT IN', right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 424:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'IN', right: $$[$0 - 1] });
+ break;
+ case 425:
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: 'NOT IN', right: $$[$0 - 1] });
+ break;
+ case 426:
+ this.$ = new yy.Op({ left: $$[$0 - 3], op: 'IN', right: [] });
+ break;
+ case 427:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'NOT IN', right: [] });
+ break;
+ case 428:
+ case 430:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'IN', right: $$[$0] });
+ break;
+ case 429:
+ case 431:
+ this.$ = new yy.Op({ left: $$[$0 - 3], op: 'NOT IN', right: $$[$0] });
+ break;
+ case 432:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'BETWEEN1', right: $$[$0] });
+ break;
+ case 433:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'NOT BETWEEN1', right: $$[$0] });
+ break;
+ case 434:
+ this.$ = new yy.Op({ op: 'IS', left: $$[$0 - 2], right: $$[$0] });
+ break;
+ case 435:
+ this.$ = new yy.Op({
+ op: 'IS',
+ left: $$[$0 - 2],
+ right: new yy.UniOp({
+ op: 'NOT',
+ right: new yy.NullValue({ value: undefined })
+ })
+ });
+ break;
+ case 436:
+ this.$ = new yy.Convert({ expression: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 437:
+ case 438:
+ this.$ = $$[$0];
+ break;
+ case 439:
+ this.$ = $$[$0 - 1];
+ break;
+ case 446:
+ this.$ = 'ALL';
+ break;
+ case 447:
+ this.$ = 'SOME';
+ break;
+ case 448:
+ this.$ = 'ANY';
+ break;
+ case 449:
+ this.$ = new yy.Update({ table: $$[$0 - 4], columns: $$[$0 - 2], where: $$[$0] });
+ break;
+ case 450:
+ this.$ = new yy.Update({ table: $$[$0 - 2], columns: $$[$0] });
+ break;
+ case 453:
+ this.$ = new yy.SetColumn({ column: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 454:
+ this.$ = new yy.SetColumn({ variable: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 3] });
+ break;
+ case 455:
+ this.$ = new yy.Delete({ table: $$[$0 - 2], where: $$[$0] });
+ break;
+ case 456:
+ this.$ = new yy.Delete({ table: $$[$0] });
+ break;
+ case 457:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], values: $$[$0] });
+ break;
+ case 458:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], values: $$[$0] });
+ break;
+ case 459:
+ case 461:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], values: $$[$0], orreplace: true });
+ break;
+ case 460:
+ case 462:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], values: $$[$0], orreplace: true });
+ break;
+ case 463:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], "default": true });
+ break;
+ case 464:
+ this.$ = new yy.Insert({ into: $$[$0 - 5], columns: $$[$0 - 3], values: $$[$0] });
+ break;
+ case 465:
+ this.$ = new yy.Insert({ into: $$[$0 - 4], columns: $$[$0 - 2], values: $$[$0] });
+ break;
+ case 466:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], select: $$[$0] });
+ break;
+ case 467:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], select: $$[$0], orreplace: true });
+ break;
+ case 468:
+ this.$ = new yy.Insert({ into: $$[$0 - 4], columns: $$[$0 - 2], select: $$[$0] });
+ break;
+ case 473:
+ this.$ = [$$[$0 - 1]];
+ break;
+ case 476:
+ this.$ = $$[$0 - 4];
+ $$[$0 - 4].push($$[$0 - 1]);
+ break;
+ case 477:
+ case 478:
+ case 480:
+ case 488:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 489:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 4] });
+ yy.extend(this.$, $$[$0 - 7]);
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 5]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 490:
+ this.$ = new yy.CreateTable({ table: $$[$0] });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 492:
+ this.$ = { class: true };
+ break;
+ case 502:
+ this.$ = { temporary: true };
+ break;
+ case 504:
+ this.$ = { ifnotexists: true };
+ break;
+ case 505:
+ this.$ = { columns: $$[$0 - 2], constraints: $$[$0] };
+ break;
+ case 506:
+ this.$ = { columns: $$[$0] };
+ break;
+ case 507:
+ this.$ = { as: $$[$0] };
+ break;
+ case 508:
+ case 532:
+ this.$ = [$$[$0]];
+ break;
+ case 510:
+ case 511:
+ case 512:
+ case 513:
+ case 514:
+ $$[$0].constraintid = $$[$0 - 1];
+ this.$ = $$[$0];
+ break;
+ case 517:
+ this.$ = { type: 'CHECK', expression: $$[$0 - 1] };
+ break;
+ case 518:
+ this.$ = { type: 'PRIMARY KEY', columns: $$[$0 - 1], clustered: ($$[$0 - 3] + '').toUpperCase() };
+ break;
+ case 519:
+ this.$ = { type: 'FOREIGN KEY', columns: $$[$0 - 5], fktable: $$[$0 - 2], fkcolumns: $$[$0 - 1] };
+ break;
+ case 525:
+ this.$ = { type: 'UNIQUE', columns: $$[$0 - 1], clustered: ($$[$0 - 3] + '').toUpperCase() };
+ break;
+ case 534:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 535:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 536:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0], dbtypeid: '' });
+ break;
+ case 537:
+ this.$ = { dbtypeid: $$[$0 - 5], dbsize: $$[$0 - 3], dbprecision: +$$[$0 - 1] };
+ break;
+ case 538:
+ this.$ = { dbtypeid: $$[$0 - 3], dbsize: $$[$0 - 1] };
+ break;
+ case 539:
+ this.$ = { dbtypeid: $$[$0] };
+ break;
+ case 540:
+ this.$ = { dbtypeid: 'ENUM', enumvalues: $$[$0 - 1] };
+ break;
+ case 541:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].dbtypeid += '[' + $$[$0] + ']';
+ break;
+ case 543:
+ case 750:
+ this.$ = +$$[$0];
+ break;
+ case 545:
+ this.$ = undefined;
+ break;
+ case 547:
+ yy.extend($$[$0 - 1], $$[$0]);
+ this.$ = $$[$0 - 1];
+ break;
+ case 550:
+ this.$ = { primarykey: true };
+ break;
+ case 551:
+ case 552:
+ this.$ = { foreignkey: { table: $$[$0 - 1], columnid: $$[$0] } };
+ break;
+ case 553:
+ this.$ = { identity: { value: $$[$0 - 3], step: $$[$0 - 1] } };
+ break;
+ case 554:
+ this.$ = { identity: { value: 1, step: 1 } };
+ break;
+ case 555:
+ case 557:
+ this.$ = { "default": $$[$0] };
+ break;
+ case 556:
+ this.$ = { "default": $$[$0 - 1] };
+ break;
+ case 558:
+ this.$ = { null: true };
+ break;
+ case 559:
+ this.$ = { notnull: true };
+ break;
+ case 560:
+ this.$ = { check: $$[$0] };
+ break;
+ case 561:
+ this.$ = { unique: true };
+ break;
+ case 562:
+ this.$ = { "onupdate": $$[$0] };
+ break;
+ case 563:
+ this.$ = { "onupdate": $$[$0 - 1] };
+ break;
+ case 564:
+ this.$ = new yy.DropTable({ tables: $$[$0], type: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 568:
+ this.$ = { ifexists: true };
+ break;
+ case 569:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], renameto: $$[$0] });
+ break;
+ case 570:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], addcolumn: $$[$0] });
+ break;
+ case 571:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], modifycolumn: $$[$0] });
+ break;
+ case 572:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 5], renamecolumn: $$[$0 - 2], to: $$[$0] });
+ break;
+ case 573:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], dropcolumn: $$[$0] });
+ break;
+ case 574:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 2], renameto: $$[$0] });
+ break;
+ case 575:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0], engineid: $$[$0 - 2].toUpperCase() });
+ break;
+ case 576:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 3], engineid: $$[$0 - 5].toUpperCase(), args: $$[$0 - 1] });
+ break;
+ case 577:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 2], engineid: $$[$0 - 4].toUpperCase(), as: $$[$0] });
+ break;
+ case 578:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 5], engineid: $$[$0 - 7].toUpperCase(), as: $$[$0], args: $$[$0 - 3] });
+ break;
+ case 579:
+ this.$ = new yy.DetachDatabase({ databaseid: $$[$0] });
+ break;
+ case 580:
+ this.$ = new yy.CreateDatabase({ databaseid: $$[$0] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 581:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 4].toUpperCase(), databaseid: $$[$0 - 1], as: $$[$0] });
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 582:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 7].toUpperCase(), databaseid: $$[$0 - 4], args: $$[$0 - 2], as: $$[$0] });
+ yy.extend(this.$, $$[$0 - 5]);
+ break;
+ case 583:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 4].toUpperCase(),
+ as: $$[$0], args: [$$[$0 - 1]] });
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 584:
+ this.$ = undefined;
+ break;
+ case 586:
+ case 587:
+ this.$ = new yy.UseDatabase({ databaseid: $$[$0] });
+ break;
+ case 588:
+ this.$ = new yy.DropDatabase({ databaseid: $$[$0] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 589:
+ case 590:
+ this.$ = new yy.DropDatabase({ databaseid: $$[$0], engineid: $$[$0 - 3].toUpperCase() });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 591:
+ this.$ = new yy.CreateIndex({ indexid: $$[$0 - 5], table: $$[$0 - 3], columns: $$[$0 - 1] });
+ break;
+ case 592:
+ this.$ = new yy.CreateIndex({ indexid: $$[$0 - 5], table: $$[$0 - 3], columns: $$[$0 - 1], unique: true });
+ break;
+ case 593:
+ this.$ = new yy.DropIndex({ indexid: $$[$0] });
+ break;
+ case 594:
+ this.$ = new yy.ShowDatabases();
+ break;
+ case 595:
+ this.$ = new yy.ShowDatabases({ like: $$[$0] });
+ break;
+ case 596:
+ this.$ = new yy.ShowDatabases({ engineid: $$[$0 - 1].toUpperCase() });
+ break;
+ case 597:
+ this.$ = new yy.ShowDatabases({ engineid: $$[$0 - 3].toUpperCase(), like: $$[$0] });
+ break;
+ case 598:
+ this.$ = new yy.ShowTables();
+ break;
+ case 599:
+ this.$ = new yy.ShowTables({ like: $$[$0] });
+ break;
+ case 600:
+ this.$ = new yy.ShowTables({ databaseid: $$[$0] });
+ break;
+ case 601:
+ this.$ = new yy.ShowTables({ like: $$[$0], databaseid: $$[$0 - 2] });
+ break;
+ case 602:
+ this.$ = new yy.ShowColumns({ table: $$[$0] });
+ break;
+ case 603:
+ this.$ = new yy.ShowColumns({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 604:
+ this.$ = new yy.ShowIndex({ table: $$[$0] });
+ break;
+ case 605:
+ this.$ = new yy.ShowIndex({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 606:
+ this.$ = new yy.ShowCreateTable({ table: $$[$0] });
+ break;
+ case 607:
+ this.$ = new yy.ShowCreateTable({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 608:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 6], view: true, select: $$[$0 - 1], viewcolumns: $$[$0 - 4] });
+ yy.extend(this.$, $$[$0 - 9]);
+ yy.extend(this.$, $$[$0 - 7]);
+ break;
+ case 609:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 3], view: true, select: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 4]);
+ break;
+ case 613:
+ this.$ = new yy.DropTable({ tables: $$[$0], view: true });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 614:
+ case 760:
+ this.$ = new yy.ExpressionStatement({ expression: $$[$0] });
+ break;
+ case 615:
+ this.$ = new yy.Source({ url: $$[$0].value });
+ break;
+ case 616:
+ this.$ = new yy.Assert({ value: $$[$0] });
+ break;
+ case 617:
+ this.$ = new yy.Assert({ value: $$[$0].value });
+ break;
+ case 618:
+ this.$ = new yy.Assert({ value: $$[$0], message: $$[$0 - 2] });
+ break;
+ case 620:
+ case 631:
+ case 633:
+ this.$ = $$[$0].value;
+ break;
+ case 621:
+ case 629:
+ this.$ = +$$[$0].value;
+ break;
+ case 622:
+ this.$ = (!!$$[$0].value);
+ break;
+ case 630:
+ this.$ = "" + $$[$0].value;
+ break;
+ case 639:
+ this.$ = {};
+ break;
+ case 642:
+ this.$ = [];
+ break;
+ case 643:
+ yy.extend($$[$0 - 2], $$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 645:
+ this.$ = {};
+ this.$[$$[$0 - 2].substr(1, $$[$0 - 2].length - 2)] = $$[$0];
+ break;
+ case 646:
+ case 647:
+ this.$ = {};
+ this.$[$$[$0 - 2]] = $$[$0];
+ break;
+ case 650:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2].toLowerCase(), value: $$[$0] });
+ break;
+ case 651:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 1].toLowerCase(), value: $$[$0] });
+ break;
+ case 652:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 653:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 3], props: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 654:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 3] });
+ break;
+ case 655:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 3], props: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 4] });
+ break;
+ case 656:
+ this.$ = '@';
+ break;
+ case 657:
+ this.$ = '$';
+ break;
+ case 663:
+ this.$ = true;
+ break;
+ case 664:
+ this.$ = false;
+ break;
+ case 665:
+ this.$ = new yy.CommitTransaction();
+ break;
+ case 666:
+ this.$ = new yy.RollbackTransaction();
+ break;
+ case 667:
+ this.$ = new yy.BeginTransaction();
+ break;
+ case 668:
+ this.$ = new yy.If({ expression: $$[$0 - 2], thenstat: $$[$0 - 1], elsestat: $$[$0] });
+ if ($$[$0 - 1].exists)
+ { this.$.exists = $$[$0 - 1].exists; }
+ if ($$[$0 - 1].queries)
+ { this.$.queries = $$[$0 - 1].queries; }
+ break;
+ case 669:
+ this.$ = new yy.If({ expression: $$[$0 - 1], thenstat: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 670:
+ this.$ = $$[$0];
+ break;
+ case 671:
+ this.$ = new yy.While({ expression: $$[$0 - 1], loopstat: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 672:
+ this.$ = new yy.Continue();
+ break;
+ case 673:
+ this.$ = new yy.Break();
+ break;
+ case 674:
+ this.$ = new yy.BeginEnd({ statements: $$[$0 - 1] });
+ break;
+ case 675:
+ this.$ = new yy.Print({ exprs: $$[$0] });
+ break;
+ case 676:
+ this.$ = new yy.Print({ select: $$[$0] });
+ break;
+ case 677:
+ this.$ = new yy.Require({ paths: $$[$0] });
+ break;
+ case 678:
+ this.$ = new yy.Require({ plugins: $$[$0] });
+ break;
+ case 679:
+ case 680:
+ this.$ = $$[$0].toUpperCase();
+ break;
+ case 681:
+ this.$ = new yy.Echo({ expr: $$[$0] });
+ break;
+ case 686:
+ this.$ = new yy.Declare({ declares: $$[$0] });
+ break;
+ case 689:
+ this.$ = { variable: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 690:
+ this.$ = { variable: $$[$0 - 2] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 691:
+ this.$ = { variable: $$[$0 - 3], expression: $$[$0] };
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 692:
+ this.$ = { variable: $$[$0 - 4], expression: $$[$0] };
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 693:
+ this.$ = new yy.TruncateTable({ table: $$[$0] });
+ break;
+ case 694:
+ this.$ = new yy.Merge();
+ yy.extend(this.$, $$[$0 - 4]);
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, { matches: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 695:
+ case 696:
+ this.$ = { into: $$[$0] };
+ break;
+ case 698:
+ this.$ = { on: $$[$0] };
+ break;
+ case 703:
+ this.$ = { matched: true, action: $$[$0] };
+ break;
+ case 704:
+ this.$ = { matched: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 705:
+ this.$ = { delete: true };
+ break;
+ case 706:
+ this.$ = { update: $$[$0] };
+ break;
+ case 707:
+ case 708:
+ this.$ = { matched: false, bytarget: true, action: $$[$0] };
+ break;
+ case 709:
+ case 710:
+ this.$ = { matched: false, bytarget: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 711:
+ this.$ = { matched: false, bysource: true, action: $$[$0] };
+ break;
+ case 712:
+ this.$ = { matched: false, bysource: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 713:
+ this.$ = { insert: true, values: $$[$0] };
+ break;
+ case 714:
+ this.$ = { insert: true, values: $$[$0], columns: $$[$0 - 3] };
+ break;
+ case 715:
+ this.$ = { insert: true, defaultvalues: true };
+ break;
+ case 716:
+ this.$ = { insert: true, defaultvalues: true, columns: $$[$0 - 3] };
+ break;
+ case 718:
+ this.$ = { output: { columns: $$[$0] } };
+ break;
+ case 719:
+ this.$ = { output: { columns: $$[$0 - 3], intovar: $$[$0], method: $$[$0 - 1] } };
+ break;
+ case 720:
+ this.$ = { output: { columns: $$[$0 - 2], intotable: $$[$0] } };
+ break;
+ case 721:
+ this.$ = { output: { columns: $$[$0 - 5], intotable: $$[$0 - 3], intocolumns: $$[$0 - 1] } };
+ break;
+ case 722:
+ this.$ = new yy.CreateVertex({ class: $$[$0 - 3], sharp: $$[$0 - 2], name: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 725:
+ this.$ = { sets: $$[$0] };
+ break;
+ case 726:
+ this.$ = { content: $$[$0] };
+ break;
+ case 727:
+ this.$ = { select: $$[$0] };
+ break;
+ case 728:
+ this.$ = new yy.CreateEdge({ from: $$[$0 - 3], to: $$[$0 - 1], name: $$[$0 - 5] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 729:
+ this.$ = new yy.CreateGraph({ graph: $$[$0] });
+ break;
+ case 730:
+ this.$ = new yy.CreateGraph({ from: $$[$0] });
+ break;
+ case 733:
+ this.$ = $$[$0 - 2];
+ if ($$[$0 - 1])
+ { this.$.json = new yy.Json({ value: $$[$0 - 1] }); }
+ if ($$[$0])
+ { this.$.as = $$[$0]; }
+ break;
+ case 734:
+ this.$ = { source: $$[$0 - 6], target: $$[$0] };
+ if ($$[$0 - 3])
+ { this.$.json = new yy.Json({ value: $$[$0 - 3] }); }
+ if ($$[$0 - 2])
+ { this.$.as = $$[$0 - 2]; }
+ yy.extend(this.$, $$[$0 - 4]);
+ break;
+ case 735:
+ this.$ = { source: $$[$0 - 5], target: $$[$0] };
+ if ($$[$0 - 2])
+ { this.$.json = new yy.Json({ value: $$[$0 - 3] }); }
+ if ($$[$0 - 1])
+ { this.$.as = $$[$0 - 2]; }
+ break;
+ case 736:
+ this.$ = { source: $$[$0 - 2], target: $$[$0] };
+ break;
+ case 740:
+ this.$ = { vars: $$[$0], method: $$[$0 - 1] };
+ break;
+ case 743:
+ case 744:
+ var s3 = $$[$0 - 1];
+ this.$ = { prop: $$[$0 - 3], sharp: $$[$0 - 2], name: (typeof s3 == 'undefined') ? undefined : s3.substr(1, s3.length - 2), class: $$[$0] };
+ break;
+ case 745:
+ var s2 = $$[$0 - 1];
+ this.$ = { sharp: $$[$0 - 2], name: (typeof s2 == 'undefined') ? undefined : s2.substr(1, s2.length - 2), class: $$[$0] };
+ break;
+ case 746:
+ var s1 = $$[$0 - 1];
+ this.$ = { name: (typeof s1 == 'undefined') ? undefined : s1.substr(1, s1.length - 2), class: $$[$0] };
+ break;
+ case 747:
+ this.$ = { class: $$[$0] };
+ break;
+ case 753:
+ this.$ = new yy.AddRule({ left: $$[$0 - 2], right: $$[$0] });
+ break;
+ case 754:
+ this.$ = new yy.AddRule({ right: $$[$0] });
+ break;
+ case 757:
+ this.$ = new yy.Term({ termid: $$[$0] });
+ break;
+ case 758:
+ this.$ = new yy.Term({ termid: $$[$0 - 3], args: $$[$0 - 1] });
+ break;
+ case 761:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 6], when: $$[$0 - 5], action: $$[$0 - 4], table: $$[$0 - 2], statement: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 762:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 5], when: $$[$0 - 4], action: $$[$0 - 3], table: $$[$0 - 1], funcid: $$[$0] });
+ break;
+ case 763:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 6], when: $$[$0 - 4], action: $$[$0 - 3], table: $$[$0 - 5], statement: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 764:
+ case 765:
+ case 767:
+ this.$ = 'AFTER';
+ break;
+ case 766:
+ this.$ = 'BEFORE';
+ break;
+ case 768:
+ this.$ = 'INSTEADOF';
+ break;
+ case 769:
+ this.$ = 'INSERT';
+ break;
+ case 770:
+ this.$ = 'DELETE';
+ break;
+ case 771:
+ this.$ = 'UPDATE';
+ break;
+ case 772:
+ this.$ = new yy.DropTrigger({ trigger: $$[$0] });
+ break;
+ case 773:
+ this.$ = new yy.Reindex({ indexid: $$[$0] });
+ break;
+ case 1047:
+ case 1067:
+ case 1069:
+ case 1071:
+ case 1075:
+ case 1077:
+ case 1079:
+ case 1081:
+ case 1083:
+ case 1085:
+ this.$ = [];
+ break;
+ case 1048:
+ case 1062:
+ case 1064:
+ case 1068:
+ case 1070:
+ case 1072:
+ case 1076:
+ case 1078:
+ case 1080:
+ case 1082:
+ case 1084:
+ case 1086:
+ $$[$0 - 1].push($$[$0]);
+ break;
+ case 1061:
+ case 1063:
+ this.$ = [$$[$0]];
+ break;
+ }
+ },
+ table: [o([10, 602, 764], $V0, { 8: 1, 9: 2, 12: 3, 13: 4, 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 2: $V1, 4: $V2, 5: $V3, 14: $V4, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 1: [3] }, { 10: [1, 105], 11: 106, 602: $VH, 764: $VI }, o($VJ, [2, 8]), o($VJ, [2, 9]), o($VK, [2, 12]), o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 109, 2: $V1, 4: $V2, 5: $V3, 15: [1, 110], 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 14]), o($VK, [2, 15]), o($VK, [2, 16]), o($VK, [2, 17]), o($VK, [2, 18]), o($VK, [2, 19]), o($VK, [2, 20]), o($VK, [2, 21]), o($VK, [2, 22]), o($VK, [2, 23]), o($VK, [2, 24]), o($VK, [2, 25]), o($VK, [2, 26]), o($VK, [2, 27]), o($VK, [2, 28]), o($VK, [2, 29]), o($VK, [2, 30]), o($VK, [2, 31]), o($VK, [2, 32]), o($VK, [2, 33]), o($VK, [2, 34]), o($VK, [2, 35]), o($VK, [2, 36]), o($VK, [2, 37]), o($VK, [2, 38]), o($VK, [2, 39]), o($VK, [2, 40]), o($VK, [2, 41]), o($VK, [2, 42]), o($VK, [2, 43]), o($VK, [2, 44]), o($VK, [2, 45]), o($VK, [2, 46]), o($VK, [2, 47]), o($VK, [2, 48]), o($VK, [2, 49]), o($VK, [2, 50]), o($VK, [2, 51]), o($VK, [2, 52]), o($VK, [2, 53]), o($VK, [2, 54]), o($VK, [2, 55]), o($VK, [2, 56]), o($VK, [2, 57]), o($VK, [2, 58]), o($VK, [2, 59]), o($VK, [2, 60]), o($VK, [2, 61]), o($VK, [2, 62]), o($VK, [2, 63]), o($VK, [2, 64]), o($VK, [2, 65]), o($VK, [2, 66]), o($VK, [2, 67]), { 353: [1, 111] }, { 2: $V1, 3: 112, 4: $V2, 5: $V3 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 156: $VL, 200: 113, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, o($VQ, [2, 501], { 3: 121, 348: 125, 2: $V1, 4: $V2, 5: $V3, 134: $VR, 135: $VS, 187: [1, 123], 193: [1, 122], 268: [1, 129], 269: [1, 130], 357: [1, 131], 405: [1, 120], 472: [1, 124], 509: [1, 128] }), { 145: $VT, 449: 132, 450: 133 }, { 183: [1, 135] }, { 405: [1, 136] }, { 2: $V1, 3: 138, 4: $V2, 5: $V3, 130: [1, 144], 193: [1, 139], 353: [1, 143], 397: 140, 405: [1, 137], 410: [1, 141], 509: [1, 142] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 145, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $Vu1, { 340: 204, 171: [1, 205], 198: $Vv1 }), o($Vt1, $Vu1, { 340: 207, 198: $Vv1 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 198: [1, 210], 199: 213, 200: 215, 201: 214, 202: 217, 209: 209, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1, 453: 208 }, { 2: $V1, 3: 221, 4: $V2, 5: $V3 }, { 353: [1, 222] }, o($Vz1, [2, 1043], { 80: 223, 106: 224, 107: [1, 225] }), o($VA1, [2, 1047], { 90: 226 }), { 2: $V1, 3: 230, 4: $V2, 5: $V3, 190: [1, 228], 193: [1, 231], 267: [1, 227], 353: [1, 232], 405: [1, 229] }, { 353: [1, 233] }, { 2: $V1, 3: 236, 4: $V2, 5: $V3, 73: 234, 75: 235 }, o([306, 602, 764], $V0, { 12: 3, 13: 4, 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 9: 238, 2: $V1, 4: $V2, 5: $V3, 14: $V4, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 435: [1, 237], 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 435: [1, 239] }, { 435: [1, 240] }, { 2: $V1, 3: 242, 4: $V2, 5: $V3, 405: [1, 241] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 243 }, o($VB1, [2, 311]), { 113: 245, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 113: 251, 131: $VV, 132: [1, 248], 143: $VY, 144: 246, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 255, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 247, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 257, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 672]), o($VK, [2, 673]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 259, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 258, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 266, 4: $V2, 5: $V3, 113: 263, 132: $VW, 296: $Vj1, 444: 261, 445: 262, 446: 264, 447: $VE1 }, { 2: $V1, 3: 267, 4: $V2, 5: $V3, 143: $VF1, 145: $VG1, 431: 268 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 271, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 505: [1, 272] }, { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 273 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 156: $VL, 200: 275, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 276, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VH1, $VI1, { 186: 280, 164: [1, 279], 185: [1, 277], 187: [1, 278], 195: $VJ1 }), o($VK1, [2, 757], { 77: [1, 282] }), o([2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 152, 154, 156, 162, 164, 168, 169, 179, 180, 181, 183, 185, 187, 195, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], [2, 152], { 149: [1, 283], 150: [1, 284], 190: [1, 285], 191: [1, 286], 192: [1, 287], 193: [1, 288], 194: [1, 289] }), o($VL1, [2, 1]), o($VL1, [2, 2]), { 6: 290, 131: [1, 439], 172: [1, 462], 245: [1, 411], 285: [1, 373], 286: [1, 407], 370: [1, 404], 381: [1, 295], 402: [1, 297], 410: [1, 549], 414: [1, 471], 416: [1, 443], 417: [1, 509], 433: [1, 442], 435: [1, 525], 440: [1, 342], 460: [1, 418], 464: [1, 448], 470: [1, 341], 514: [1, 307], 515: [1, 299], 516: [1, 399], 518: [1, 291], 519: [1, 292], 520: [1, 293], 521: [1, 294], 522: [1, 296], 523: [1, 298], 524: [1, 300], 525: [1, 301], 526: [1, 302], 527: [1, 303], 528: [1, 304], 529: [1, 305], 530: [1, 306], 531: [1, 308], 532: [1, 309], 533: [1, 310], 534: [1, 311], 535: [1, 312], 536: [1, 313], 537: [1, 314], 538: [1, 315], 539: [1, 316], 540: [1, 317], 541: [1, 318], 542: [1, 319], 543: [1, 320], 544: [1, 321], 545: [1, 322], 546: [1, 323], 547: [1, 324], 548: [1, 325], 549: [1, 326], 550: [1, 327], 551: [1, 328], 552: [1, 329], 553: [1, 330], 554: [1, 331], 555: [1, 332], 556: [1, 333], 557: [1, 334], 558: [1, 335], 559: [1, 336], 560: [1, 337], 561: [1, 338], 562: [1, 339], 563: [1, 340], 564: [1, 343], 565: [1, 344], 566: [1, 345], 567: [1, 346], 568: [1, 347], 569: [1, 348], 570: [1, 349], 571: [1, 350], 572: [1, 351], 573: [1, 352], 574: [1, 353], 575: [1, 354], 576: [1, 355], 577: [1, 356], 578: [1, 357], 579: [1, 358], 580: [1, 359], 581: [1, 360], 582: [1, 361], 583: [1, 362], 584: [1, 363], 585: [1, 364], 586: [1, 365], 587: [1, 366], 588: [1, 367], 589: [1, 368], 590: [1, 369], 591: [1, 370], 592: [1, 371], 593: [1, 372], 594: [1, 374], 595: [1, 375], 596: [1, 376], 597: [1, 377], 598: [1, 378], 599: [1, 379], 600: [1, 380], 601: [1, 381], 602: [1, 382], 603: [1, 383], 604: [1, 384], 605: [1, 385], 606: [1, 386], 607: [1, 387], 608: [1, 388], 609: [1, 389], 610: [1, 390], 611: [1, 391], 612: [1, 392], 613: [1, 393], 614: [1, 394], 615: [1, 395], 616: [1, 396], 617: [1, 397], 618: [1, 398], 619: [1, 400], 620: [1, 401], 621: [1, 402], 622: [1, 403], 623: [1, 405], 624: [1, 406], 625: [1, 408], 626: [1, 409], 627: [1, 410], 628: [1, 412], 629: [1, 413], 630: [1, 414], 631: [1, 415], 632: [1, 416], 633: [1, 417], 634: [1, 419], 635: [1, 420], 636: [1, 421], 637: [1, 422], 638: [1, 423], 639: [1, 424], 640: [1, 425], 641: [1, 426], 642: [1, 427], 643: [1, 428], 644: [1, 429], 645: [1, 430], 646: [1, 431], 647: [1, 432], 648: [1, 433], 649: [1, 434], 650: [1, 435], 651: [1, 436], 652: [1, 437], 653: [1, 438], 654: [1, 440], 655: [1, 441], 656: [1, 444], 657: [1, 445], 658: [1, 446], 659: [1, 447], 660: [1, 449], 661: [1, 450], 662: [1, 451], 663: [1, 452], 664: [1, 453], 665: [1, 454], 666: [1, 455], 667: [1, 456], 668: [1, 457], 669: [1, 458], 670: [1, 459], 671: [1, 460], 672: [1, 461], 673: [1, 463], 674: [1, 464], 675: [1, 465], 676: [1, 466], 677: [1, 467], 678: [1, 468], 679: [1, 469], 680: [1, 470], 681: [1, 472], 682: [1, 473], 683: [1, 474], 684: [1, 475], 685: [1, 476], 686: [1, 477], 687: [1, 478], 688: [1, 479], 689: [1, 480], 690: [1, 481], 691: [1, 482], 692: [1, 483], 693: [1, 484], 694: [1, 485], 695: [1, 486], 696: [1, 487], 697: [1, 488], 698: [1, 489], 699: [1, 490], 700: [1, 491], 701: [1, 492], 702: [1, 493], 703: [1, 494], 704: [1, 495], 705: [1, 496], 706: [1, 497], 707: [1, 498], 708: [1, 499], 709: [1, 500], 710: [1, 501], 711: [1, 502], 712: [1, 503], 713: [1, 504], 714: [1, 505], 715: [1, 506], 716: [1, 507], 717: [1, 508], 718: [1, 510], 719: [1, 511], 720: [1, 512], 721: [1, 513], 722: [1, 514], 723: [1, 515], 724: [1, 516], 725: [1, 517], 726: [1, 518], 727: [1, 519], 728: [1, 520], 729: [1, 521], 730: [1, 522], 731: [1, 523], 732: [1, 524], 733: [1, 526], 734: [1, 527], 735: [1, 528], 736: [1, 529], 737: [1, 530], 738: [1, 531], 739: [1, 532], 740: [1, 533], 741: [1, 534], 742: [1, 535], 743: [1, 536], 744: [1, 537], 745: [1, 538], 746: [1, 539], 747: [1, 540], 748: [1, 541], 749: [1, 542], 750: [1, 543], 751: [1, 544], 752: [1, 545], 753: [1, 546], 754: [1, 547], 755: [1, 548], 756: [1, 550], 757: [1, 551], 758: [1, 552], 759: [1, 553], 760: [1, 554], 761: [1, 555], 762: [1, 556], 763: [1, 557] }, { 1: [2, 6] }, o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 558, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VM1, [2, 1041]), o($VM1, [2, 1042]), o($VJ, [2, 10]), { 16: [1, 559] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 560 }, { 405: [1, 561] }, o($VK, [2, 760]), { 77: $VN1 }, { 77: [1, 563] }, { 77: $VO1 }, { 77: [1, 565] }, { 77: [1, 566] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 567, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $VP1, { 350: 568, 156: $VQ1 }), { 405: [1, 570] }, { 2: $V1, 3: 571, 4: $V2, 5: $V3 }, { 193: [1, 572] }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 183: [1, 574], 431: 585, 473: 573, 474: 575, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, { 130: [1, 589], 349: 586, 353: [1, 588], 410: [1, 587] }, { 113: 591, 132: $VW, 183: [2, 1141], 296: $Vj1, 471: 590 }, o($VU1, [2, 1135], { 465: 592, 3: 593, 2: $V1, 4: $V2, 5: $V3 }), { 2: $V1, 3: 594, 4: $V2, 5: $V3 }, { 4: [1, 595] }, { 4: [1, 596] }, o($VQ, [2, 502]), o($VK, [2, 686], { 74: [1, 597] }), o($VV1, [2, 687]), { 2: $V1, 3: 598, 4: $V2, 5: $V3 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 599 }, { 2: $V1, 3: 600, 4: $V2, 5: $V3 }, o($Vt1, $VW1, { 398: 601, 156: $VX1 }), { 405: [1, 603] }, { 2: $V1, 3: 604, 4: $V2, 5: $V3 }, o($Vt1, $VW1, { 398: 605, 156: $VX1 }), o($Vt1, $VW1, { 398: 606, 156: $VX1 }), { 2: $V1, 3: 607, 4: $V2, 5: $V3 }, o($VY1, [2, 1129]), o($VY1, [2, 1130]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 608, 114: 625, 327: 637, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $V22, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V9, 154: $Va2, 156: $Va, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VB1, [2, 288]), o($VB1, [2, 289]), o($VB1, [2, 290]), o($VB1, [2, 291]), o($VB1, [2, 292]), o($VB1, [2, 293]), o($VB1, [2, 294]), o($VB1, [2, 295]), o($VB1, [2, 296]), o($VB1, [2, 297]), o($VB1, [2, 298]), o($VB1, [2, 299]), o($VB1, [2, 300]), o($VB1, [2, 301]), o($VB1, [2, 302]), o($VB1, [2, 303]), o($VB1, [2, 304]), o($VB1, [2, 305]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 26: 654, 27: 653, 36: 649, 40: 648, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 651, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 264: 650, 265: $V41, 266: $Vc, 267: [1, 655], 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: [1, 652], 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 339: $Vh, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 309]), o($VB1, [2, 310]), { 77: [1, 656] }, o([2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy2, { 77: $VN1, 116: [1, 657] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 658, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 659, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 661, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 662, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 283]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 249, 265, 266, 267, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 302, 303, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 415, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764, 765, 766], [2, 356]), o($Vz2, [2, 357]), o($Vz2, [2, 358]), o($Vz2, $VA2), o($Vz2, [2, 360]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 361]), { 2: $V1, 3: 664, 4: $V2, 5: $V3, 131: [1, 665], 301: 663 }, { 2: $V1, 3: 666, 4: $V2, 5: $V3 }, o($Vz2, [2, 367]), o($Vz2, [2, 368]), { 2: $V1, 3: 667, 4: $V2, 5: $V3, 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, { 77: [1, 674] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 675, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 304: 676, 307: 677, 308: $VC2, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 679] }, { 77: [1, 680] }, o($VD2, [2, 624]), { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 300: [1, 683], 302: $Vn1, 419: 190, 420: $Vr1, 421: 681, 422: 684, 423: 686, 424: $Vs1, 427: 682 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 696, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 697, 4: $V2, 5: $V3, 156: $VL, 200: 698, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 77: [2, 336] }, { 77: [2, 337] }, { 77: [2, 338] }, { 77: [2, 339] }, { 77: [2, 340] }, { 77: [2, 341] }, { 77: [2, 342] }, { 77: [2, 343] }, { 77: [2, 344] }, { 2: $V1, 3: 704, 4: $V2, 5: $V3, 131: $VF2, 132: $VG2, 425: 699, 426: [1, 700], 428: 701 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 705 }, { 290: [1, 706] }, o($Vt1, [2, 472]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 707 }, { 231: [1, 709], 454: 708 }, { 231: [2, 695] }, { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 710, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 40: 711, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VH2, [2, 1091], { 210: 712, 76: [1, 713] }), o($VI2, [2, 185], { 3: 714, 2: $V1, 4: $V2, 5: $V3, 76: [1, 715], 154: [1, 716] }), o($VI2, [2, 189], { 3: 717, 2: $V1, 4: $V2, 5: $V3, 76: [1, 718] }), o($VI2, [2, 190], { 3: 719, 2: $V1, 4: $V2, 5: $V3, 76: [1, 720] }), o($VI2, [2, 193]), o($VI2, [2, 194], { 3: 721, 2: $V1, 4: $V2, 5: $V3, 76: [1, 722] }), o($VI2, [2, 197], { 3: 723, 2: $V1, 4: $V2, 5: $V3, 76: [1, 724] }), o([2, 4, 5, 10, 72, 74, 76, 78, 93, 98, 118, 128, 154, 162, 168, 169, 183, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VJ2, { 77: $VN1, 116: $VK2 }), o([2, 4, 5, 10, 72, 74, 76, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], [2, 200]), o($VK, [2, 773]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 726 }, o($VL2, $VM2, { 81: 727, 198: $VN2 }), o($Vz1, [2, 1044]), o($VO2, [2, 1057], { 108: 729, 190: [1, 730] }), o([10, 78, 183, 306, 310, 602, 764], $VM2, { 419: 190, 81: 731, 117: 732, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 198: $VN2, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), { 353: [1, 782] }, { 183: [1, 783] }, o($VK, [2, 594], { 112: [1, 784] }), { 405: [1, 785] }, { 183: [1, 786] }, o($VK, [2, 598], { 112: [1, 787], 183: [1, 788] }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 789 }, { 40: 790, 74: [1, 791], 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vv3, [2, 70]), { 76: [1, 792] }, o($VK, [2, 667]), { 11: 106, 306: [1, 793], 602: $VH, 764: $VI }, o($VK, [2, 665]), o($VK, [2, 666]), { 2: $V1, 3: 794, 4: $V2, 5: $V3 }, o($VK, [2, 587]), { 146: [1, 795] }, o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 95, 124, 128, 143, 145, 146, 148, 149, 152, 154, 156, 181, 183, 187, 189, 230, 266, 267, 290, 297, 302, 306, 310, 335, 338, 339, 343, 344, 356, 368, 369, 373, 374, 396, 400, 401, 402, 403, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 514, 515, 516, 517, 602, 764], $VJ2, { 116: $VK2 }), o($VK, [2, 615]), o($VK, [2, 616]), o($VK, [2, 617]), o($VK, $VA2, { 74: [1, 796] }), { 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, o($Vw3, [2, 320]), o($Vw3, [2, 321]), o($Vw3, [2, 322]), o($Vw3, [2, 323]), o($Vw3, [2, 324]), o($Vw3, [2, 325]), o($Vw3, [2, 326]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 114: 625, 327: 637, 12: 797, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $V22, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V9, 154: $Va2, 156: $Va, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 675], { 74: $Vx3 }), o($VK, [2, 676]), o($Vy3, [2, 354], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 677], { 74: [1, 800] }), o($VK, [2, 678], { 74: [1, 801] }), o($VV1, [2, 683]), o($VV1, [2, 685]), o($VV1, [2, 679]), o($VV1, [2, 680]), { 114: 807, 115: $V$1, 116: $V02, 124: [1, 802], 230: $VA3, 429: 803, 430: 804, 433: $VB3 }, { 2: $V1, 3: 808, 4: $V2, 5: $V3 }, o($Vt1, [2, 656]), o($Vt1, [2, 657]), o($VK, [2, 614], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 809 }, o($VK, [2, 754], { 74: $VC3 }), o($VD3, [2, 756]), o($VK, [2, 759]), o($VK, [2, 681], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VE3, $VI1, { 186: 811, 195: $VJ1 }), o($VE3, $VI1, { 186: 812, 195: $VJ1 }), o($VE3, $VI1, { 186: 813, 195: $VJ1 }), o($VF3, [2, 1087], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 188: 814, 174: 815, 253: 816, 94: 817, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 77: [1, 819], 131: $VV, 196: 818 }, { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 820 }, o($VG3, [2, 153]), o($VG3, [2, 154]), o($VG3, [2, 155]), o($VG3, [2, 156]), o($VG3, [2, 157]), o($VG3, [2, 158]), o($VG3, [2, 159]), o($VL1, [2, 3]), o($VL1, [2, 774]), o($VL1, [2, 775]), o($VL1, [2, 776]), o($VL1, [2, 777]), o($VL1, [2, 778]), o($VL1, [2, 779]), o($VL1, [2, 780]), o($VL1, [2, 781]), o($VL1, [2, 782]), o($VL1, [2, 783]), o($VL1, [2, 784]), o($VL1, [2, 785]), o($VL1, [2, 786]), o($VL1, [2, 787]), o($VL1, [2, 788]), o($VL1, [2, 789]), o($VL1, [2, 790]), o($VL1, [2, 791]), o($VL1, [2, 792]), o($VL1, [2, 793]), o($VL1, [2, 794]), o($VL1, [2, 795]), o($VL1, [2, 796]), o($VL1, [2, 797]), o($VL1, [2, 798]), o($VL1, [2, 799]), o($VL1, [2, 800]), o($VL1, [2, 801]), o($VL1, [2, 802]), o($VL1, [2, 803]), o($VL1, [2, 804]), o($VL1, [2, 805]), o($VL1, [2, 806]), o($VL1, [2, 807]), o($VL1, [2, 808]), o($VL1, [2, 809]), o($VL1, [2, 810]), o($VL1, [2, 811]), o($VL1, [2, 812]), o($VL1, [2, 813]), o($VL1, [2, 814]), o($VL1, [2, 815]), o($VL1, [2, 816]), o($VL1, [2, 817]), o($VL1, [2, 818]), o($VL1, [2, 819]), o($VL1, [2, 820]), o($VL1, [2, 821]), o($VL1, [2, 822]), o($VL1, [2, 823]), o($VL1, [2, 824]), o($VL1, [2, 825]), o($VL1, [2, 826]), o($VL1, [2, 827]), o($VL1, [2, 828]), o($VL1, [2, 829]), o($VL1, [2, 830]), o($VL1, [2, 831]), o($VL1, [2, 832]), o($VL1, [2, 833]), o($VL1, [2, 834]), o($VL1, [2, 835]), o($VL1, [2, 836]), o($VL1, [2, 837]), o($VL1, [2, 838]), o($VL1, [2, 839]), o($VL1, [2, 840]), o($VL1, [2, 841]), o($VL1, [2, 842]), o($VL1, [2, 843]), o($VL1, [2, 844]), o($VL1, [2, 845]), o($VL1, [2, 846]), o($VL1, [2, 847]), o($VL1, [2, 848]), o($VL1, [2, 849]), o($VL1, [2, 850]), o($VL1, [2, 851]), o($VL1, [2, 852]), o($VL1, [2, 853]), o($VL1, [2, 854]), o($VL1, [2, 855]), o($VL1, [2, 856]), o($VL1, [2, 857]), o($VL1, [2, 858]), o($VL1, [2, 859]), o($VL1, [2, 860]), o($VL1, [2, 861]), o($VL1, [2, 862]), o($VL1, [2, 863]), o($VL1, [2, 864]), o($VL1, [2, 865]), o($VL1, [2, 866]), o($VL1, [2, 867]), o($VL1, [2, 868]), o($VL1, [2, 869]), o($VL1, [2, 870]), o($VL1, [2, 871]), o($VL1, [2, 872]), o($VL1, [2, 873]), o($VL1, [2, 874]), o($VL1, [2, 875]), o($VL1, [2, 876]), o($VL1, [2, 877]), o($VL1, [2, 878]), o($VL1, [2, 879]), o($VL1, [2, 880]), o($VL1, [2, 881]), o($VL1, [2, 882]), o($VL1, [2, 883]), o($VL1, [2, 884]), o($VL1, [2, 885]), o($VL1, [2, 886]), o($VL1, [2, 887]), o($VL1, [2, 888]), o($VL1, [2, 889]), o($VL1, [2, 890]), o($VL1, [2, 891]), o($VL1, [2, 892]), o($VL1, [2, 893]), o($VL1, [2, 894]), o($VL1, [2, 895]), o($VL1, [2, 896]), o($VL1, [2, 897]), o($VL1, [2, 898]), o($VL1, [2, 899]), o($VL1, [2, 900]), o($VL1, [2, 901]), o($VL1, [2, 902]), o($VL1, [2, 903]), o($VL1, [2, 904]), o($VL1, [2, 905]), o($VL1, [2, 906]), o($VL1, [2, 907]), o($VL1, [2, 908]), o($VL1, [2, 909]), o($VL1, [2, 910]), o($VL1, [2, 911]), o($VL1, [2, 912]), o($VL1, [2, 913]), o($VL1, [2, 914]), o($VL1, [2, 915]), o($VL1, [2, 916]), o($VL1, [2, 917]), o($VL1, [2, 918]), o($VL1, [2, 919]), o($VL1, [2, 920]), o($VL1, [2, 921]), o($VL1, [2, 922]), o($VL1, [2, 923]), o($VL1, [2, 924]), o($VL1, [2, 925]), o($VL1, [2, 926]), o($VL1, [2, 927]), o($VL1, [2, 928]), o($VL1, [2, 929]), o($VL1, [2, 930]), o($VL1, [2, 931]), o($VL1, [2, 932]), o($VL1, [2, 933]), o($VL1, [2, 934]), o($VL1, [2, 935]), o($VL1, [2, 936]), o($VL1, [2, 937]), o($VL1, [2, 938]), o($VL1, [2, 939]), o($VL1, [2, 940]), o($VL1, [2, 941]), o($VL1, [2, 942]), o($VL1, [2, 943]), o($VL1, [2, 944]), o($VL1, [2, 945]), o($VL1, [2, 946]), o($VL1, [2, 947]), o($VL1, [2, 948]), o($VL1, [2, 949]), o($VL1, [2, 950]), o($VL1, [2, 951]), o($VL1, [2, 952]), o($VL1, [2, 953]), o($VL1, [2, 954]), o($VL1, [2, 955]), o($VL1, [2, 956]), o($VL1, [2, 957]), o($VL1, [2, 958]), o($VL1, [2, 959]), o($VL1, [2, 960]), o($VL1, [2, 961]), o($VL1, [2, 962]), o($VL1, [2, 963]), o($VL1, [2, 964]), o($VL1, [2, 965]), o($VL1, [2, 966]), o($VL1, [2, 967]), o($VL1, [2, 968]), o($VL1, [2, 969]), o($VL1, [2, 970]), o($VL1, [2, 971]), o($VL1, [2, 972]), o($VL1, [2, 973]), o($VL1, [2, 974]), o($VL1, [2, 975]), o($VL1, [2, 976]), o($VL1, [2, 977]), o($VL1, [2, 978]), o($VL1, [2, 979]), o($VL1, [2, 980]), o($VL1, [2, 981]), o($VL1, [2, 982]), o($VL1, [2, 983]), o($VL1, [2, 984]), o($VL1, [2, 985]), o($VL1, [2, 986]), o($VL1, [2, 987]), o($VL1, [2, 988]), o($VL1, [2, 989]), o($VL1, [2, 990]), o($VL1, [2, 991]), o($VL1, [2, 992]), o($VL1, [2, 993]), o($VL1, [2, 994]), o($VL1, [2, 995]), o($VL1, [2, 996]), o($VL1, [2, 997]), o($VL1, [2, 998]), o($VL1, [2, 999]), o($VL1, [2, 1000]), o($VL1, [2, 1001]), o($VL1, [2, 1002]), o($VL1, [2, 1003]), o($VL1, [2, 1004]), o($VL1, [2, 1005]), o($VL1, [2, 1006]), o($VL1, [2, 1007]), o($VL1, [2, 1008]), o($VL1, [2, 1009]), o($VL1, [2, 1010]), o($VL1, [2, 1011]), o($VL1, [2, 1012]), o($VL1, [2, 1013]), o($VL1, [2, 1014]), o($VL1, [2, 1015]), o($VL1, [2, 1016]), o($VL1, [2, 1017]), o($VL1, [2, 1018]), o($VL1, [2, 1019]), o($VL1, [2, 1020]), o($VL1, [2, 1021]), o($VL1, [2, 1022]), o($VL1, [2, 1023]), o($VL1, [2, 1024]), o($VL1, [2, 1025]), o($VL1, [2, 1026]), o($VL1, [2, 1027]), o($VL1, [2, 1028]), o($VL1, [2, 1029]), o($VL1, [2, 1030]), o($VL1, [2, 1031]), o($VL1, [2, 1032]), o($VL1, [2, 1033]), o($VL1, [2, 1034]), o($VL1, [2, 1035]), o($VL1, [2, 1036]), o($VL1, [2, 1037]), o($VL1, [2, 1038]), o($VL1, [2, 1039]), o($VL1, [2, 1040]), o($VJ, [2, 7]), o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 821, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 396: [1, 825], 401: [1, 822], 402: [1, 823], 403: [1, 824] }, { 2: $V1, 3: 826, 4: $V2, 5: $V3 }, o($VE3, [2, 1111], { 289: 827, 767: 829, 78: [1, 828], 164: [1, 831], 185: [1, 830] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 832, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 833, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 834, 4: $V2, 5: $V3, 132: [1, 835] }, { 2: $V1, 3: 836, 4: $V2, 5: $V3, 132: [1, 837] }, { 2: $V1, 3: 838, 4: $V2, 5: $V3, 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 839, 4: $V2, 5: $V3 }, { 154: [1, 840] }, o($VH3, $VP1, { 350: 841, 156: $VQ1 }), { 230: [1, 842] }, { 2: $V1, 3: 843, 4: $V2, 5: $V3 }, o($VK, [2, 729], { 74: $VI3 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 845, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD3, [2, 732]), o($VJ3, [2, 1143], { 419: 190, 476: 846, 144: 847, 139: $VK3, 141: $VK3, 145: $VC1, 420: $Vr1, 424: $Vs1 }), { 139: [1, 848], 141: [1, 849] }, o($VL3, $VM3, { 490: 851, 493: 852, 77: [1, 850], 137: $VS1 }), o($VN3, [2, 1167], { 494: 853, 132: [1, 854] }), o($VO3, [2, 1171], { 496: 855, 497: 856, 152: $VT1 }), o($VO3, [2, 747]), o($VP3, [2, 739]), { 2: $V1, 3: 857, 4: $V2, 5: $V3, 131: [1, 858] }, { 2: $V1, 3: 859, 4: $V2, 5: $V3 }, { 2: $V1, 3: 860, 4: $V2, 5: $V3 }, o($Vt1, $VP1, { 350: 861, 156: $VQ1 }), o($Vt1, $VP1, { 350: 862, 156: $VQ1 }), o($VY1, [2, 491]), o($VY1, [2, 492]), { 183: [1, 863] }, { 183: [2, 1142] }, o($VQ3, [2, 1137], { 466: 864, 469: 865, 137: [1, 866] }), o($VU1, [2, 1136]), o($VR3, $VS3, { 510: 867, 95: $VT3, 230: [1, 868], 514: $VU3, 515: $VV3, 516: $VW3 }), { 76: [1, 873] }, { 76: [1, 874] }, { 145: $VT, 450: 875 }, { 4: $VX3, 7: 879, 76: [1, 877], 272: 876, 387: 878, 389: $VY3 }, o($VK, [2, 456], { 128: [1, 882] }), o($VK, [2, 579]), { 2: $V1, 3: 883, 4: $V2, 5: $V3 }, { 298: [1, 884] }, o($VH3, $VW1, { 398: 885, 156: $VX1 }), o($VK, [2, 593]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 887, 399: 886 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 887, 399: 888 }, o($VK, [2, 772]), o($VJ, [2, 669], { 438: 889, 310: [1, 890] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 891, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 892, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 893, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 894, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 895, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 896, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 897, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 898, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 899, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 900, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 901, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 902, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 903, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 904, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 905, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 906, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 907, 4: $V2, 5: $V3, 77: [1, 909], 131: $VV, 156: $VL, 196: 908, 200: 910, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 2: $V1, 3: 911, 4: $V2, 5: $V3, 77: [1, 913], 131: $VV, 156: $VL, 196: 912, 200: 914, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, o($VZ3, [2, 440], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 915, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 441], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 916, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 442], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 917, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 443], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 918, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, $V_3, { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 919, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 920, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 921, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VZ3, [2, 445], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 922, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 923, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 924, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 164: [1, 926], 166: [1, 928], 328: 925, 334: [1, 927] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 929, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 930, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: [1, 931], 111: 934, 145: $V$3, 156: $VL, 200: 935, 202: 933, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 329: 932 }, { 99: [1, 937], 297: [1, 938] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 939, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 940, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 941, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 942, 387: 878, 389: $VY3 }, o($V04, [2, 88]), o($V04, [2, 89]), { 78: [1, 943] }, { 78: [1, 944] }, { 78: [1, 945] }, { 78: [1, 946], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vt1, $Vu1, { 340: 207, 77: $VO1, 198: $Vv1 }), { 78: [2, 1107] }, { 78: [2, 1108] }, { 134: $VR, 135: $VS }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 947, 152: $V$, 154: $V01, 156: $VL, 158: 167, 164: [1, 949], 179: $V11, 180: $V21, 181: $V31, 185: [1, 948], 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 950, 4: $V2, 5: $V3, 149: $V14, 180: [1, 952] }, o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 416], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o($V24, [2, 417], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V24, [2, 418], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V34, [2, 419], { 114: 625, 327: 637, 316: $Vj2 }), o($V34, [2, 420], { 114: 625, 327: 637, 316: $Vj2 }), o($Vz2, [2, 365]), o($Vz2, [2, 1113]), o($Vz2, [2, 1114]), o($Vz2, [2, 366]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 362]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 953, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD2, [2, 620]), o($VD2, [2, 621]), o($VD2, [2, 622]), o($VD2, [2, 623]), o($VD2, [2, 625]), { 40: 954, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 304: 955, 307: 677, 308: $VC2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 305: 956, 306: $V44, 307: 957, 308: $VC2, 310: $V54 }, o($V64, [2, 372]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 959, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 960, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 961, 387: 878, 389: $VY3 }, o($VD2, [2, 626]), { 74: [1, 963], 300: [1, 962] }, o($VD2, [2, 642]), o($V74, [2, 649]), o($V84, [2, 627]), o($V84, [2, 628]), o($V84, [2, 629]), o($V84, [2, 630]), o($V84, [2, 631]), o($V84, [2, 632]), o($V84, [2, 633]), o($V84, [2, 634]), o($V84, [2, 635]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 964, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o([2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy2, { 77: $VN1, 116: $V94 }), { 74: $Vx3, 300: [1, 966] }, o($Va4, [2, 314], { 77: $VN1 }), o($VB1, [2, 315]), { 74: [1, 968], 426: [1, 967] }, o($VD2, [2, 639]), o($Vb4, [2, 644]), { 152: [1, 969] }, { 152: [1, 970] }, { 152: [1, 971] }, { 40: 976, 77: [1, 975], 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 972, 342: 973, 343: [1, 974], 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $Vu1, { 340: 981, 198: $Vv1 }), { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 341: 982, 342: 983, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, { 230: [1, 986], 455: 985 }, { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 987, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 231: [2, 696] }, { 78: [1, 988] }, o($VI2, [2, 1093], { 211: 989, 3: 990, 2: $V1, 4: $V2, 5: $V3 }), o($VH2, [2, 1092]), o($VI2, [2, 183]), { 2: $V1, 3: 991, 4: $V2, 5: $V3 }, { 212: [1, 992] }, o($VI2, [2, 187]), { 2: $V1, 3: 993, 4: $V2, 5: $V3 }, o($VI2, [2, 191]), { 2: $V1, 3: 994, 4: $V2, 5: $V3 }, o($VI2, [2, 195]), { 2: $V1, 3: 995, 4: $V2, 5: $V3 }, o($VI2, [2, 198]), { 2: $V1, 3: 996, 4: $V2, 5: $V3 }, { 2: $V1, 3: 997, 4: $V2, 5: $V3 }, { 148: [1, 998] }, o($Vf4, [2, 172], { 82: 999, 183: [1, 1000] }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 132: [1, 1005], 143: $VY, 145: [1, 1006], 152: $V$, 156: $VL, 181: $V31, 199: 1001, 200: 1002, 201: 1003, 202: 1004, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 109: 1007, 110: 1008, 111: 1009, 112: $Vg4 }, o($VO2, [2, 1058]), o($Vh4, [2, 1049], { 91: 1012, 182: 1013, 183: [1, 1014] }), o($VA1, [2, 1048], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o([2, 4, 5, 10, 72, 74, 76, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 90], { 77: [1, 1019] }), { 119: [1, 1020] }, o($Vl4, [2, 93]), { 2: $V1, 3: 1021, 4: $V2, 5: $V3 }, o($Vl4, [2, 95]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1022, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1023, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1025, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 125: 1024, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1026] }, { 77: [1, 1027] }, { 77: [1, 1028] }, { 77: [1, 1029] }, o($Vl4, [2, 104]), o($Vl4, [2, 105]), o($Vl4, [2, 106]), o($Vl4, [2, 107]), o($Vl4, [2, 108]), o($Vl4, [2, 109]), { 2: $V1, 3: 1030, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1031, 4: $V2, 5: $V3, 133: [1, 1032] }, o($Vl4, [2, 113]), o($Vl4, [2, 114]), o($Vl4, [2, 115]), o($Vl4, [2, 116]), o($Vl4, [2, 117]), o($Vl4, [2, 118]), { 2: $V1, 3: 1033, 4: $V2, 5: $V3, 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, { 145: [1, 1034] }, { 77: [1, 1035] }, { 145: [1, 1036] }, o($Vl4, [2, 123]), { 77: [1, 1037] }, { 2: $V1, 3: 1038, 4: $V2, 5: $V3 }, { 77: [1, 1039] }, { 77: [1, 1040] }, { 77: [1, 1041] }, { 77: [1, 1042] }, { 77: [1, 1043], 164: [1, 1044] }, { 77: [1, 1045] }, { 77: [1, 1046] }, { 77: [1, 1047] }, { 77: [1, 1048] }, { 77: [1, 1049] }, { 77: [1, 1050] }, { 77: [1, 1051] }, { 77: [1, 1052] }, { 77: [1, 1053] }, { 77: [2, 1073] }, { 77: [2, 1074] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1054 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1055 }, { 113: 1056, 132: $VW, 296: $Vj1 }, o($VK, [2, 596], { 112: [1, 1057] }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1058 }, { 113: 1059, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 1060, 4: $V2, 5: $V3 }, o($VK, [2, 693]), o($VK, [2, 68]), { 2: $V1, 3: 236, 4: $V2, 5: $V3, 75: 1061 }, { 77: [1, 1062] }, o($VK, [2, 674]), o($VK, [2, 586]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1063, 336: 1064, 337: 1066 }, { 144: 1069, 145: $VC1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 671]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1070, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VZ3, $V_3, { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 1071, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 113: 1072, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 266, 4: $V2, 5: $V3, 446: 1073, 447: $VE1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1075, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 230: $VA3, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1, 429: 1074, 433: $VB3 }, o($VK, [2, 651]), { 114: 1077, 115: $V$1, 116: $V02, 124: [1, 1076] }, o($VK, [2, 663]), o($VK, [2, 664]), { 2: $V1, 3: 1079, 4: $V2, 5: $V3, 77: $Vo4, 131: $Vp4, 432: 1078 }, { 114: 807, 115: $V$1, 116: $V02, 124: [1, 1082], 430: 1083 }, o($VK, [2, 753], { 74: $VC3 }), { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 1084 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1085, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1086, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1087, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VF3, [2, 151]), o($VF3, [2, 1088], { 74: $Vq4 }), o($Vr4, [2, 273]), o($Vr4, [2, 280], { 114: 625, 327: 637, 3: 1090, 113: 1092, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1089], 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 131: [1, 1091], 132: $VW, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 296: $Vj1, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VH1, [2, 1089], { 197: 1093, 765: [1, 1094] }), { 131: $VV, 196: 1095 }, { 74: $VC3, 78: [1, 1096] }, o($VJ, [2, 11]), { 148: [1, 1097], 190: [1, 1098] }, { 190: [1, 1099] }, { 190: [1, 1100] }, { 190: [1, 1101] }, o($VK, [2, 575], { 76: [1, 1103], 77: [1, 1102] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1104, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vz2, [2, 346]), o($VE3, [2, 1112]), o($VE3, [2, 1109]), o($VE3, [2, 1110]), { 74: $Vx3, 78: [1, 1105] }, { 74: $Vx3, 78: [1, 1106] }, { 74: [1, 1107] }, { 74: [1, 1108] }, { 74: [1, 1109] }, { 74: [1, 1110] }, o($Vz2, [2, 353]), o($VK, [2, 580]), { 298: [1, 1111] }, { 2: $V1, 3: 1112, 4: $V2, 5: $V3, 113: 1113, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1114 }, { 230: [1, 1115] }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 474: 1116, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, o($VK, [2, 730], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VD3, [2, 1145], { 477: 1117, 483: 1118, 76: $Vs4 }), o($VJ3, [2, 1144]), { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 144: 1121, 145: $VC1, 152: $VT1, 419: 190, 420: $Vr1, 424: $Vs1, 475: 1120, 493: 579, 497: 581 }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1123, 482: 582, 493: 579, 497: 581 }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 473: 1125, 474: 575, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, o($VN3, [2, 1163], { 491: 1126, 132: [1, 1127] }), o($VL3, [2, 1162]), o($VO3, [2, 1169], { 495: 1128, 497: 1129, 152: $VT1 }), o($VN3, [2, 1168]), o($VO3, [2, 746]), o($VO3, [2, 1172]), o($VL3, [2, 749]), o($VL3, [2, 750]), o($VO3, [2, 748]), o($VP3, [2, 740]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1130 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1131 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1132, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt4, [2, 1139], { 467: 1133, 113: 1134, 132: $VW, 296: $Vj1 }), o($VQ3, [2, 1138]), { 2: $V1, 3: 1135, 4: $V2, 5: $V3 }, { 335: $Vu4, 338: $Vv4, 339: $Vw4, 511: 1136 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1140 }, o($VR3, [2, 765]), o($VR3, [2, 766]), o($VR3, [2, 767]), { 129: [1, 1141] }, { 266: [1, 1142] }, { 266: [1, 1143] }, o($VV1, [2, 688]), o($VV1, [2, 689], { 124: [1, 1144] }), { 4: $VX3, 7: 879, 272: 1145, 387: 878, 389: $VY3 }, o([2, 4, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 542], { 5: [1, 1146] }), o([2, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 539], { 4: [1, 1148], 77: [1, 1147] }), { 77: [1, 1149] }, o($Vx4, [2, 4]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1150, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 588]), o($VH3, [2, 568]), { 2: $V1, 3: 1151, 4: $V2, 5: $V3, 113: 1152, 132: $VW, 296: $Vj1 }, o($VK, [2, 564], { 74: $Vy4 }), o($VV1, [2, 566]), o($VK, [2, 613], { 74: $Vy4 }), o($VK, [2, 668]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1154, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($Vz4, [2, 376], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($V34, [2, 377], { 114: 625, 327: 637, 316: $Vj2 }), o($Vz4, [2, 378], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VA4, [2, 379], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 314: [1, 1155], 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VA4, [2, 381], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 314: [1, 1156], 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 383], { 114: 625, 327: 637 }), o($V24, [2, 384], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V24, [2, 385], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 386], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 387], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 388], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 389], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VC4, [2, 390], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 391], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 392], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 393], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($Va4, [2, 394], { 77: $VN1 }), o($VB1, [2, 395]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1157, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 397]), o($Va4, [2, 398], { 77: $VN1 }), o($VB1, [2, 399]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1158, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 401]), o($VD4, [2, 402], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 403], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 404], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 405], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 89, 99, 124, 139, 140, 146, 154, 156, 170, 171, 189, 266, 267, 290, 306, 310, 320, 321, 322, 323, 324, 325, 326, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VE4, { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 407], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 408], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 409], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 410], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 411], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), { 77: [1, 1159] }, { 77: [2, 446] }, { 77: [2, 447] }, { 77: [2, 448] }, o($VF4, [2, 414], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 156, 162, 164, 166, 168, 169, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 415], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1160, 56: 165, 77: $VU, 78: [1, 1162], 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1161, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 428]), o($VB1, [2, 430]), o($VB1, [2, 437]), o($VB1, [2, 438]), { 2: $V1, 3: 667, 4: $V2, 5: $V3, 77: [1, 1163] }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: [1, 1164], 111: 934, 145: $V$3, 156: $VL, 200: 935, 202: 1166, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 329: 1165 }, o($VB1, [2, 435]), o($VF4, [2, 432], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o($VF4, [2, 433], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 434], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 436]), o($VB1, [2, 306]), o($VB1, [2, 307]), o($VB1, [2, 308]), o($VB1, [2, 421]), { 74: $Vx3, 78: [1, 1167] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1168, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1169, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, $VG4), o($VH4, [2, 286]), o($VB1, [2, 282]), { 78: [1, 1171], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1172] }, { 305: 1173, 306: $V44, 307: 957, 308: $VC2, 310: $V54 }, { 306: [1, 1174] }, o($V64, [2, 371]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1175, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1176], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 76: [1, 1177], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1178] }, o($VD2, [2, 640]), { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 300: [1, 1179], 302: $Vn1, 419: 190, 420: $Vr1, 422: 1180, 423: 686, 424: $Vs1 }, { 78: [1, 1181], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1182, 4: $V2, 5: $V3, 149: $V14 }, o($VB1, [2, 364]), o($VD2, [2, 637]), { 2: $V1, 3: 704, 4: $V2, 5: $V3, 131: $VF2, 132: $VG2, 426: [1, 1183], 428: 1184 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1185, 423: 686, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1186, 423: 686, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1187, 423: 686, 424: $Vs1 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1188, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 458], { 74: $VJ4 }), { 149: $Vc4, 341: 1190, 344: $Vd4 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 100: 1191, 111: 1193, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1192, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 466]), o($VK4, [2, 469]), o($VK4, [2, 470]), o($VL4, [2, 474]), o($VL4, [2, 475]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1195 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1196, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 462], { 74: $VJ4 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1192, 419: 190, 420: $Vr1, 424: $Vs1 }, { 308: $VM4, 456: 1197, 458: 1198, 459: 1199 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1201, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 230: [2, 697] }, o($VI2, [2, 181], { 3: 1202, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1203] }), o($VI2, [2, 182]), o($VI2, [2, 1094]), o($VI2, [2, 184]), o($VI2, [2, 186]), o($VI2, [2, 188]), o($VI2, [2, 192]), o($VI2, [2, 196]), o($VI2, [2, 199]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 118, 124, 128, 143, 145, 146, 148, 149, 152, 154, 156, 162, 168, 169, 181, 183, 187, 189, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 266, 267, 290, 297, 302, 306, 310, 335, 338, 339, 343, 344, 356, 368, 369, 373, 374, 396, 400, 401, 402, 403, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 514, 515, 516, 517, 602, 764], [2, 201]), { 2: $V1, 3: 1204, 4: $V2, 5: $V3 }, o($VN4, [2, 1045], { 83: 1205, 92: 1206, 93: [1, 1207], 98: [1, 1208] }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: [1, 1210], 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 203: 1209, 209: 1211, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VL2, [2, 164]), o($VL2, [2, 165]), o($VL2, [2, 166]), o($VL2, [2, 167]), o($VL2, [2, 168]), { 2: $V1, 3: 667, 4: $V2, 5: $V3 }, o($Vz1, [2, 83], { 74: [1, 1212] }), o($VO4, [2, 85]), o($VO4, [2, 86]), { 113: 1213, 132: $VW, 296: $Vj1 }, o([10, 72, 74, 78, 93, 98, 118, 124, 128, 162, 168, 169, 183, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vy2, { 116: $V94 }), o($Vh4, [2, 73]), o($Vh4, [2, 1050]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1214, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 126]), o($Vl4, [2, 144]), o($Vl4, [2, 145]), o($Vl4, [2, 146]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 78: [2, 1065], 94: 260, 111: 149, 113: 153, 127: 1215, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1216, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1217] }, o($Vl4, [2, 94]), o([2, 4, 5, 10, 72, 74, 76, 77, 78, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 96], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o([2, 4, 5, 10, 72, 74, 76, 77, 78, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 97], { 114: 625, 327: 637, 99: $VZ1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1218], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1219, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VP4, [2, 1061], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1221, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 126: 1220, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1222, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1223, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1224, 4: $V2, 5: $V3 }, o($Vl4, [2, 110]), o($Vl4, [2, 111]), o($Vl4, [2, 112]), o($Vl4, [2, 119]), { 2: $V1, 3: 1225, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1226, 336: 1064, 337: 1066 }, { 2: $V1, 3: 1227, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1228, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 125]), o($VP4, [2, 1067], { 155: 1229 }), o($VP4, [2, 1069], { 157: 1230 }), o($VP4, [2, 1071], { 159: 1231 }), o($VP4, [2, 1075], { 161: 1232 }), o($VQ4, $VR4, { 163: 1233, 178: 1234 }), { 77: [1, 1235] }, o($VP4, [2, 1077], { 165: 1236 }), o($VP4, [2, 1079], { 167: 1237 }), o($VQ4, $VR4, { 178: 1234, 163: 1238 }), o($VQ4, $VR4, { 178: 1234, 163: 1239 }), o($VQ4, $VR4, { 178: 1234, 163: 1240 }), o($VQ4, $VR4, { 178: 1234, 163: 1241 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1242, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1243, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VS4, [2, 1081], { 176: 1244 }), o($VK, [2, 606], { 183: [1, 1245] }), o($VK, [2, 602], { 183: [1, 1246] }), o($VK, [2, 595]), { 113: 1247, 132: $VW, 296: $Vj1 }, o($VK, [2, 604], { 183: [1, 1248] }), o($VK, [2, 599]), o($VK, [2, 600], { 112: [1, 1249] }), o($Vv3, [2, 69]), { 40: 1250, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VK, [2, 450], { 74: $VT4, 128: [1, 1251] }), o($VU4, [2, 451]), { 124: [1, 1253] }, { 2: $V1, 3: 1254, 4: $V2, 5: $V3 }, o($Vt1, [2, 1115]), o($Vt1, [2, 1116]), o($VK, [2, 618]), o($Vy3, [2, 355], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VD4, $VE4, { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VV1, [2, 682]), o($VV1, [2, 684]), o($VK, [2, 650]), o($VK, [2, 652], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1255, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1079, 4: $V2, 5: $V3, 77: $Vo4, 131: $Vp4, 432: 1256 }, o($VV4, [2, 659]), o($VV4, [2, 660]), o($VV4, [2, 661]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1257, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1258, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 114: 1077, 115: $V$1, 116: $V02, 124: [1, 1259] }, o($VD3, [2, 755]), o($VF3, [2, 148], { 74: $Vq4 }), o($VF3, [2, 149], { 74: $Vq4 }), o($VF3, [2, 150], { 74: $Vq4 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 1260, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1261, 4: $V2, 5: $V3, 113: 1263, 131: [1, 1262], 132: $VW, 296: $Vj1 }, o($Vr4, [2, 275]), o($Vr4, [2, 277]), o($Vr4, [2, 279]), o($VH1, [2, 160]), o($VH1, [2, 1090]), { 78: [1, 1264] }, o($VK1, [2, 758]), { 2: $V1, 3: 1265, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1266, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 384: 1267 }, { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 384: 1269 }, { 2: $V1, 3: 1270, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1271, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1272, 4: $V2, 5: $V3 }, { 74: $Vx3, 78: [1, 1273] }, o($Vz2, [2, 347]), o($Vz2, [2, 348]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1274, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1275, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1276, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1277, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VH3, [2, 504]), o($VK, $VW4, { 407: 1278, 76: $VX4, 77: [1, 1279] }), o($VK, $VW4, { 407: 1281, 76: $VX4 }), { 77: [1, 1282] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1283 }, o($VD3, [2, 731]), o($VD3, [2, 733]), o($VD3, [2, 1146]), { 143: $VF1, 145: $VG1, 431: 1284 }, o($VY4, [2, 1147], { 419: 190, 479: 1285, 144: 1286, 145: $VC1, 420: $Vr1, 424: $Vs1 }), { 76: $Vs4, 139: [2, 1151], 481: 1287, 483: 1288 }, o([10, 74, 76, 78, 132, 139, 145, 152, 306, 310, 420, 424, 602, 764], $VM3, { 490: 851, 493: 852, 137: $VS1 }), o($VD3, [2, 736]), o($VD3, $VK3), { 74: $VI3, 78: [1, 1289] }, o($VO3, [2, 1165], { 492: 1290, 497: 1291, 152: $VT1 }), o($VN3, [2, 1164]), o($VO3, [2, 745]), o($VO3, [2, 1170]), o($VK, [2, 490], { 77: [1, 1292] }), { 76: [1, 1294], 77: [1, 1293] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 148: [1, 1295], 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VI4, $VZ4, { 79: 75, 184: 99, 468: 1296, 40: 1299, 89: $V7, 146: $V_4, 189: $Vb, 470: $V$4 }), o($Vt4, [2, 1140]), o($VQ3, [2, 723]), { 230: [1, 1300] }, o($V05, [2, 769]), o($V05, [2, 770]), o($V05, [2, 771]), o($VR3, $VS3, { 510: 1301, 95: $VT3, 514: $VU3, 515: $VV3, 516: $VW3 }), o($VR3, [2, 768]), o($VK, [2, 312]), o($VK, [2, 313]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1302, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VV1, [2, 690], { 124: [1, 1303] }), o($Vx4, [2, 541]), { 131: [1, 1305], 388: 1304, 390: [1, 1306] }, o($Vx4, [2, 5]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1307, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 455], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 589]), o($VK, [2, 590]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1308 }, o($VK, [2, 670]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1309, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1310, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1311], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1312], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1313, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1314, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1315] }, { 74: $Vx3, 78: [1, 1316] }, o($VB1, [2, 426]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1317, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1318, 56: 165, 77: $VU, 78: [1, 1320], 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1319, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 429]), o($VB1, [2, 431]), o($VB1, $V15, { 275: 1321, 276: $V25 }), { 78: [1, 1323], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1324], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1325, 4: $V2, 5: $V3, 180: [1, 1326] }, o($VD2, [2, 619]), o($VB1, [2, 363]), { 306: [1, 1327] }, o($VB1, [2, 370]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 306: [2, 374], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1328, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 1329, 387: 878, 389: $VY3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1330, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD2, [2, 641]), o($V74, [2, 648]), o($V84, [2, 636]), o($VH4, $VG4), o($VD2, [2, 638]), o($Vb4, [2, 643]), o($Vb4, [2, 645]), o($Vb4, [2, 646]), o($Vb4, [2, 647]), o($VI4, [2, 457], { 74: $VJ4 }), { 77: [1, 1332], 143: $VY, 144: 1333, 145: $VC1, 152: $V$, 181: $V31, 201: 1334, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 463]), { 74: $V35, 78: [1, 1335] }, { 74: $V45, 78: [1, 1337] }, o([74, 78, 99, 112, 115, 116, 123, 124, 133, 136, 138, 139, 140, 141, 142, 154, 170, 171, 179, 180, 311, 312, 313, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333], $V55), o($V65, [2, 479], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 40: 1341, 77: $Ve4, 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 1339, 342: 1340, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 461], { 74: $VJ4 }), o($VK, [2, 717], { 457: 1342, 458: 1343, 459: 1344, 308: $VM4, 464: [1, 1345] }), o($V75, [2, 701]), o($V75, [2, 702]), { 154: [1, 1347], 460: [1, 1346] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 308: [2, 698], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VI2, [2, 179]), { 2: $V1, 3: 1348, 4: $V2, 5: $V3 }, o($VK, [2, 574]), o($V85, [2, 238], { 84: 1349, 128: [1, 1350] }), o($VN4, [2, 1046]), { 77: [1, 1351] }, { 77: [1, 1352] }, o($Vf4, [2, 169], { 204: 1353, 215: 1355, 205: 1356, 216: 1357, 221: 1360, 74: $V95, 206: $Va5, 208: $Vb5, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 40: 711, 77: $Vw1, 79: 75, 89: $V7, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 184: 99, 189: $Vb, 199: 213, 200: 215, 201: 214, 202: 217, 203: 1369, 209: 1211, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vk5, [2, 177]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 110: 1370, 111: 1009, 112: $Vg4 }, o($VO4, [2, 87]), o($Vh4, [2, 147], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 78: [1, 1371] }, { 74: $Vx3, 78: [2, 1066] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 78: [2, 1059], 94: 1376, 111: 149, 113: 153, 120: 1372, 121: 1373, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 242: [1, 1375], 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 98]), o($VP4, [2, 1062], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1377], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1378, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VP4, [2, 1063], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 78: [1, 1379], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1380], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1381] }, o($Vl4, [2, 120]), { 74: $VT4, 78: [1, 1382] }, o($Vl4, [2, 122]), { 74: $Vx3, 78: [1, 1383] }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1384], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1385, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1386], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1387, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1388], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1389, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1390], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1391, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vl5, 78: [1, 1392] }, o($V65, [2, 143], { 419: 190, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 117: 1394, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), o($VQ4, $VR4, { 178: 1234, 163: 1395 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1396], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1397, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1398], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1399, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vl5, 78: [1, 1400] }, { 74: $Vl5, 78: [1, 1401] }, { 74: $Vl5, 78: [1, 1402] }, { 74: $Vl5, 78: [1, 1403] }, { 78: [1, 1404], 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }, { 74: $Vq4, 78: [1, 1405] }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 74: [1, 1406], 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1407, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1408, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1409, 4: $V2, 5: $V3 }, o($VK, [2, 597]), { 2: $V1, 3: 1410, 4: $V2, 5: $V3 }, { 113: 1411, 132: $VW, 296: $Vj1 }, { 78: [1, 1412] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1413, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 336: 1414, 337: 1066 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1415, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 124: [1, 1416] }, o($VK, [2, 653], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VV4, [2, 658]), { 78: [1, 1417], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, [2, 654], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1418, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vr4, [2, 272]), o($Vr4, [2, 274]), o($Vr4, [2, 276]), o($Vr4, [2, 278]), o($VH1, [2, 161]), o($VK, [2, 569]), { 148: [1, 1419] }, o($VK, [2, 570]), o($VD3, [2, 536], { 387: 878, 7: 879, 272: 1420, 4: $VX3, 386: [1, 1421], 389: $VY3 }), o($VK, [2, 571]), o($VK, [2, 573]), { 74: $Vx3, 78: [1, 1422] }, o($VK, [2, 577]), o($Vz2, [2, 345]), { 74: [1, 1423], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1424], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1425], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1426], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, [2, 581]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1427, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1428, 4: $V2, 5: $V3 }, o($VK, [2, 583]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1429, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1430] }, { 2: $V1, 3: 1431, 4: $V2, 5: $V3 }, { 76: $Vs4, 139: [2, 1149], 480: 1432, 483: 1433 }, o($VY4, [2, 1148]), { 139: [1, 1434] }, { 139: [2, 1152] }, o($VD3, [2, 737]), o($VO3, [2, 744]), o($VO3, [2, 1166]), { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 76: [1, 1437], 351: 1435, 358: 1436, 384: 1438 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1439, 111: 1440 }, { 40: 1441, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1442, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 722]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1443, 336: 1064, 337: 1066 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1444, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 727]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1445 }, { 335: $Vu4, 338: $Vv4, 339: $Vw4, 511: 1446 }, o($VV1, [2, 691], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1447, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: [1, 1448], 78: [1, 1449] }, o($V65, [2, 543]), o($V65, [2, 544]), { 74: $V45, 78: [1, 1450] }, o($VV1, [2, 565]), o($Vz4, [2, 380], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($Vz4, [2, 382], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 396]), o($VB1, [2, 400]), { 78: [1, 1451] }, { 74: $Vx3, 78: [1, 1452] }, o($VB1, [2, 422]), o($VB1, [2, 424]), { 78: [1, 1453], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1454] }, { 74: $Vx3, 78: [1, 1455] }, o($VB1, [2, 427]), o($VB1, [2, 327]), { 77: [1, 1456] }, o($VB1, $V15, { 275: 1457, 276: $V25 }), o($VB1, $V15, { 275: 1458, 276: $V25 }), o($VH4, [2, 284]), o($VB1, [2, 281]), o($VB1, [2, 369]), o($V64, [2, 373], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 74: [1, 1460], 78: [1, 1459] }, { 74: [1, 1462], 78: [1, 1461], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1325, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1463, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VL4, [2, 477]), o($VL4, [2, 478]), { 40: 1466, 77: $Ve4, 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 1464, 342: 1465, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1467 }, o($VL4, [2, 473]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1468, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1469, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 460], { 74: $VJ4 }), o($VI4, [2, 467]), o($VK, [2, 694]), o($V75, [2, 699]), o($V75, [2, 700]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1470, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 170: [1, 1472], 309: [1, 1471] }, { 460: [1, 1473] }, o($VI2, [2, 180]), o($Vm5, [2, 240], { 85: 1474, 232: [1, 1475] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1476, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1477, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1478, 4: $V2, 5: $V3 }, o($Vf4, [2, 170], { 216: 1357, 221: 1360, 215: 1479, 205: 1480, 206: $Va5, 208: $Vb5, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 1481, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vn5, [2, 205]), o($Vn5, [2, 206]), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: [1, 1486], 143: $VY, 144: 1484, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 1483, 200: 1487, 201: 1485, 202: 1488, 217: 1482, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 207: [1, 1489], 223: $Vo5 }, { 207: [1, 1491], 223: $Vp5 }, o($Vq5, [2, 222]), { 206: [1, 1495], 208: [1, 1494], 221: 1493, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($Vq5, [2, 224]), { 223: [1, 1496] }, { 208: [1, 1498], 223: [1, 1497] }, { 208: [1, 1500], 223: [1, 1499] }, { 208: [1, 1501] }, { 223: [1, 1502] }, { 223: [1, 1503] }, { 74: $V95, 204: 1504, 205: 1356, 206: $Va5, 208: $Vb5, 215: 1355, 216: 1357, 221: 1360, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($VO4, [2, 84]), o($Vl4, [2, 100]), { 74: $Vr5, 78: [1, 1505] }, { 78: [1, 1507] }, o($Vs5, [2, 261]), { 78: [2, 1060] }, o($Vs5, [2, 263], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 242: [1, 1508], 243: [1, 1509], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($Vl4, [2, 99]), o($VP4, [2, 1064], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 101]), o($Vl4, [2, 102]), o($Vl4, [2, 103]), o($Vl4, [2, 121]), o($Vl4, [2, 124]), o($Vl4, [2, 127]), o($VP4, [2, 1068], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 128]), o($VP4, [2, 1070], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 129]), o($VP4, [2, 1072], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 130]), o($VP4, [2, 1076], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 131]), o($VQ4, [2, 1083], { 177: 1510 }), o($VQ4, [2, 1086], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 74: $Vl5, 78: [1, 1511] }, o($Vl4, [2, 133]), o($VP4, [2, 1078], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 134]), o($VP4, [2, 1080], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 135]), o($Vl4, [2, 136]), o($Vl4, [2, 137]), o($Vl4, [2, 138]), o($Vl4, [2, 139]), o($Vl4, [2, 140]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1512, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VS4, [2, 1082], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($VK, [2, 607]), o($VK, [2, 603]), o($VK, [2, 605]), o($VK, [2, 601]), o($Vv3, [2, 71]), o($VK, [2, 449], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VU4, [2, 452]), o($VU4, [2, 453], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1513, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VV4, [2, 662]), o($VK, [2, 655], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 1514, 4: $V2, 5: $V3 }, o($VD3, [2, 545], { 385: 1515, 391: 1516, 392: 1517, 366: 1525, 154: $Vt5, 187: $Vu5, 230: $Vv5, 297: $Vw5, 343: $Vx5, 356: $Vy5, 368: $Vz5, 369: $VA5, 373: $VB5, 374: $VC5 }), o($VD3, [2, 535]), o($VK, [2, 576], { 76: [1, 1529] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1530, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1531, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1532, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1533, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vx3, 78: [1, 1534] }, o($VK, [2, 585]), { 74: $Vr5, 78: [1, 1535] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1536, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o([10, 74, 78, 139, 306, 310, 602, 764], [2, 741]), { 139: [1, 1537] }, { 139: [2, 1150] }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1538, 482: 582, 493: 579, 497: 581 }, { 78: [1, 1539] }, { 74: [1, 1540], 78: [2, 506] }, { 40: 1541, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($V65, [2, 532]), { 74: $V35, 78: [1, 1542] }, o($Vk5, $V55), o($VK, [2, 1133], { 412: 1543, 413: 1544, 72: $VD5 }), o($VI4, $VZ4, { 79: 75, 184: 99, 114: 625, 327: 637, 40: 1299, 468: 1546, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V_4, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 470: $V$4 }), o($VI4, [2, 725], { 74: $VT4 }), o($VI4, [2, 726], { 74: $Vx3 }), o([10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], [2, 1181], { 512: 1547, 3: 1548, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1549] }), o($VE5, [2, 1183], { 513: 1550, 76: [1, 1551] }), o($VV1, [2, 692], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 131: [1, 1552] }, o($Vx4, [2, 538]), o($Vx4, [2, 540]), o($VB1, [2, 412]), o($VB1, [2, 413]), o($VB1, [2, 439]), o($VB1, [2, 423]), o($VB1, [2, 425]), { 118: $VF5, 277: 1553, 278: 1554, 279: [1, 1555] }, o($VB1, [2, 328]), o($VB1, [2, 329]), o($VB1, [2, 316]), { 131: [1, 1557] }, o($VB1, [2, 318]), { 131: [1, 1558] }, { 74: $V45, 78: [1, 1559] }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1560, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 465], { 74: $VJ4 }), o($VI4, [2, 468]), o($Vk5, [2, 488]), o($V65, [2, 480], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VI4, [2, 459], { 74: $VJ4 }), o($VK, [2, 718], { 74: $Vq4, 198: [1, 1561] }), { 335: $VG5, 338: $VH5, 461: 1562 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1565, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 119: [1, 1567], 170: [1, 1568], 309: [1, 1566] }, o($VI5, [2, 259], { 86: 1569, 118: [1, 1570] }), { 119: [1, 1571] }, o($V85, [2, 239], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 95: [1, 1572], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 95: [1, 1573] }, o($Vn5, [2, 203]), o($Vn5, [2, 204]), o($Vk5, [2, 178]), o($Vn5, [2, 237], { 218: 1574, 230: [1, 1575], 231: [1, 1576] }), o($VJ5, [2, 208], { 3: 1577, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1578] }), o($VK5, [2, 1095], { 219: 1579, 76: [1, 1580] }), { 2: $V1, 3: 1581, 4: $V2, 5: $V3, 76: [1, 1582] }, { 40: 1583, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VJ5, [2, 216], { 3: 1584, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1585] }), o($VJ5, [2, 219], { 3: 1586, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1587] }), { 77: [1, 1588] }, o($Vq5, [2, 234]), { 77: [1, 1589] }, o($Vq5, [2, 230]), o($Vq5, [2, 223]), { 223: $Vp5 }, { 223: $Vo5 }, o($Vq5, [2, 225]), o($Vq5, [2, 226]), { 223: [1, 1590] }, o($Vq5, [2, 228]), { 223: [1, 1591] }, { 223: [1, 1592] }, o($Vq5, [2, 232]), o($Vq5, [2, 233]), { 78: [1, 1593], 205: 1480, 206: $Va5, 208: $Vb5, 215: 1479, 216: 1357, 221: 1360, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($Vl4, [2, 91]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1594, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 92]), o($Vs5, [2, 264]), { 244: [1, 1595] }, o($V65, [2, 142], { 419: 190, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 117: 1596, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), o($Vl4, [2, 132]), { 74: $Vx3, 78: [1, 1597] }, o($VU4, [2, 454], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 572]), o($VD3, [2, 534]), o($VD3, [2, 546], { 366: 1525, 392: 1598, 154: $Vt5, 187: $Vu5, 230: $Vv5, 297: $Vw5, 343: $Vx5, 356: $Vy5, 368: $Vz5, 369: $VA5, 373: $VB5, 374: $VC5 }), o($Vw3, [2, 548]), { 370: [1, 1599] }, { 370: [1, 1600] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1601 }, o($Vw3, [2, 554], { 77: [1, 1602] }), { 2: $V1, 3: 114, 4: $V2, 5: $V3, 77: [1, 1604], 113: 251, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 1605, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 1603, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1 }, o($Vw3, [2, 558]), { 297: [1, 1606] }, o($Vw3, [2, 560]), o($Vw3, [2, 561]), { 335: [1, 1607] }, { 77: [1, 1608] }, { 2: $V1, 3: 1609, 4: $V2, 5: $V3 }, { 78: [1, 1610], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1611], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1612], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1613], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, $VW4, { 407: 1614, 76: $VX4 }), o($VK, [2, 591]), { 74: $Vr5, 78: [1, 1615] }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1616, 482: 582, 493: 579, 497: 581 }, o($VD3, [2, 735]), o($VK, [2, 493], { 352: 1617, 354: 1618, 355: 1619, 4: $VL5, 243: $VM5, 343: $VN5, 356: $VO5 }), o($VP5, $VQ5, { 3: 1268, 359: 1624, 384: 1625, 360: 1626, 361: 1627, 2: $V1, 4: $V2, 5: $V3, 367: $VR5 }), { 78: [2, 507] }, { 76: [1, 1629] }, o($VK, [2, 609]), o($VK, [2, 1134]), { 368: [1, 1631], 414: [1, 1630] }, o($VI4, [2, 728]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1632, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 762]), o($VE5, [2, 1182]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1633, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VE5, [2, 1184]), { 78: [1, 1634] }, { 78: [1, 1635], 118: $VF5, 278: 1636 }, { 78: [1, 1637] }, { 119: [1, 1638] }, { 119: [1, 1639] }, { 78: [1, 1640] }, { 78: [1, 1641] }, o($VL4, [2, 476]), o($VI4, [2, 464], { 74: $VJ4 }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 143: $VF1, 145: $VG1, 199: 1643, 431: 1642 }, o($V75, [2, 703]), o($V75, [2, 705]), { 146: [1, 1644] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1645], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 339: $VS5, 462: 1646 }, { 417: [1, 1649], 463: [1, 1648] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1650, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VT5, [2, 267], { 87: 1651, 245: [1, 1652], 247: [1, 1653] }), { 119: [1, 1654] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1655, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1661, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1662, 4: $V2, 5: $V3 }, o($Vn5, [2, 207]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1663, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1664, 111: 1440 }, o($VJ5, [2, 209]), { 2: $V1, 3: 1665, 4: $V2, 5: $V3 }, o($VJ5, [2, 1097], { 220: 1666, 3: 1667, 2: $V1, 4: $V2, 5: $V3 }), o($VK5, [2, 1096]), o($VJ5, [2, 212]), { 2: $V1, 3: 1668, 4: $V2, 5: $V3 }, { 78: [1, 1669] }, o($VJ5, [2, 217]), { 2: $V1, 3: 1670, 4: $V2, 5: $V3 }, o($VJ5, [2, 220]), { 2: $V1, 3: 1671, 4: $V2, 5: $V3 }, { 40: 1672, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 40: 1673, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vq5, [2, 227]), o($Vq5, [2, 229]), o($Vq5, [2, 231]), o($Vf4, [2, 171]), o($Vs5, [2, 262]), o($Vs5, [2, 265], { 242: [1, 1674] }), o($VQ4, [2, 1084], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 141]), o($Vw3, [2, 547]), o($Vw3, [2, 550]), { 374: [1, 1675] }, o($Vw3, [2, 1127], { 395: 1676, 393: 1677, 77: $VX5 }), { 131: $VV, 196: 1679 }, o($Vw3, [2, 555]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1680, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vw3, [2, 557]), o($Vw3, [2, 559]), { 2: $V1, 3: 114, 4: $V2, 5: $V3, 77: [1, 1682], 113: 251, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 255, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 1681, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1683, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 578]), o($Vz2, [2, 349]), o($Vz2, [2, 350]), o($Vz2, [2, 351]), o($Vz2, [2, 352]), o($VK, [2, 582]), o($VK, [2, 592]), o($VD3, [2, 734]), o($VK, [2, 489]), o($VK, [2, 494], { 355: 1684, 4: $VL5, 243: $VM5, 343: $VN5, 356: $VO5 }), o($VY5, [2, 496]), o($VY5, [2, 497]), { 124: [1, 1685] }, { 124: [1, 1686] }, { 124: [1, 1687] }, { 74: [1, 1688], 78: [2, 505] }, o($V65, [2, 533]), o($V65, [2, 508]), { 187: [1, 1696], 193: [1, 1697], 362: 1689, 363: 1690, 364: 1691, 365: 1692, 366: 1693, 368: $Vz5, 369: [1, 1694], 370: [1, 1698], 373: [1, 1695] }, { 2: $V1, 3: 1699, 4: $V2, 5: $V3 }, { 40: 1700, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 415: [1, 1701] }, { 416: [1, 1702] }, o($VK, [2, 761]), o($VK, [2, 763]), o($Vx4, [2, 537]), o($VB1, [2, 331]), { 78: [1, 1703] }, o($VB1, [2, 332]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1704, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1705, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 317]), o($VB1, [2, 319]), { 2: $V1, 3: 1706, 4: $V2, 5: $V3 }, o($VK, [2, 720], { 77: [1, 1707] }), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1708, 336: 1064, 337: 1066 }, { 335: $VG5, 338: $VH5, 461: 1709 }, o($V75, [2, 707]), { 77: [1, 1711], 343: [1, 1712], 344: [1, 1710] }, { 170: [1, 1714], 309: [1, 1713] }, { 170: [1, 1716], 309: [1, 1715] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1717], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vh4, [2, 250], { 88: 1718, 162: [1, 1719], 168: [1, 1721], 169: [1, 1720] }), { 131: $VV, 196: 1722 }, { 131: $VV, 196: 1723 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1724, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vm5, [2, 248], { 234: 1725, 74: $VZ5, 239: [1, 1727] }), o($V_5, [2, 242]), { 146: [1, 1728] }, { 77: [1, 1729] }, { 77: [1, 1730] }, o($V_5, [2, 247], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 78: [2, 1051], 96: 1731, 99: [1, 1733], 102: 1732 }, { 99: [1, 1734] }, o($Vn5, [2, 235], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($Vn5, [2, 236], { 74: $V35 }), o($VJ5, [2, 210]), o($VJ5, [2, 211]), o($VJ5, [2, 1098]), o($VJ5, [2, 213]), { 2: $V1, 3: 1735, 4: $V2, 5: $V3, 76: [1, 1736] }, o($VJ5, [2, 218]), o($VJ5, [2, 221]), { 78: [1, 1737] }, { 78: [1, 1738] }, o($Vs5, [2, 266]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1739 }, o($Vw3, [2, 552]), o($Vw3, [2, 1128]), { 2: $V1, 3: 1740, 4: $V2, 5: $V3 }, { 74: [1, 1741] }, { 78: [1, 1742], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vw3, [2, 562]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1743, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1744], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VY5, [2, 495]), { 2: $V1, 3: 1745, 4: $V2, 5: $V3 }, { 131: $VV, 196: 1746 }, { 2: $V1, 3: 1747, 4: $V2, 5: $V3 }, o($VP5, $VQ5, { 361: 1627, 360: 1748, 367: $VR5 }), o($VD3, [2, 510]), o($VD3, [2, 511]), o($VD3, [2, 512]), o($VD3, [2, 513]), o($VD3, [2, 514]), { 370: [1, 1749] }, { 370: [1, 1750] }, o($V$5, [2, 1121], { 382: 1751, 370: [1, 1752] }), { 2: $V1, 3: 1753, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1754, 4: $V2, 5: $V3 }, o($VP5, [2, 516]), o($VK, [2, 1131], { 411: 1755, 413: 1756, 72: $VD5 }), o($VK, [2, 610]), o($VK, [2, 611], { 367: [1, 1757] }), o($VB1, [2, 333]), o([78, 118], [2, 334], { 74: $VZ5 }), { 74: $Vr5, 78: [2, 335] }, o($VK, [2, 719]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1758, 111: 1440 }, o($V75, [2, 706], { 74: $VT4 }), o($V75, [2, 704]), { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1759, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1760, 111: 1440 }, { 344: [1, 1761] }, { 339: $VS5, 462: 1762 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1763, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 339: $VS5, 462: 1764 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1765, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 339: $VS5, 462: 1766 }, o($Vh4, [2, 72]), { 40: 1767, 79: 75, 89: $V7, 164: [1, 1768], 184: 99, 189: $Vb, 240: [1, 1769] }, { 40: 1770, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1771] }, { 40: 1772, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1773] }, o($VT5, [2, 270], { 246: 1774, 247: [1, 1775] }), { 248: 1776, 249: [2, 1099], 766: [1, 1777] }, o($VI5, [2, 260], { 74: $Vr5 }), o($Vm5, [2, 241]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 235: 1778, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1779, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1780] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1781, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1782, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1783] }, { 78: [2, 1052] }, { 77: [1, 1784] }, { 77: [1, 1785] }, o($VJ5, [2, 214]), { 2: $V1, 3: 1786, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1787, 4: $V2, 5: $V3, 76: [1, 1788] }, { 2: $V1, 3: 1789, 4: $V2, 5: $V3, 76: [1, 1790] }, o($Vw3, [2, 1125], { 394: 1791, 393: 1792, 77: $VX5 }), { 78: [1, 1793] }, { 131: $VV, 196: 1794 }, o($Vw3, [2, 556]), { 78: [1, 1795], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vw3, [2, 517]), o($VY5, [2, 498]), o($VY5, [2, 499]), o($VY5, [2, 500]), o($V65, [2, 509]), { 2: $V1, 3: 1797, 4: $V2, 5: $V3, 77: [2, 1117], 371: 1796 }, { 77: [1, 1798] }, { 2: $V1, 3: 1800, 4: $V2, 5: $V3, 77: [2, 1123], 383: 1799 }, o($V$5, [2, 1122]), { 77: [1, 1801] }, { 77: [1, 1802] }, o($VK, [2, 608]), o($VK, [2, 1132]), o($VP5, $VQ5, { 361: 1627, 360: 1803, 367: $VR5 }), { 74: $V35, 78: [1, 1804] }, o($V75, [2, 713], { 74: $VJ4 }), { 74: $V35, 78: [1, 1805] }, o($V75, [2, 715]), o($V75, [2, 708]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1806], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($V75, [2, 711]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1807], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($V75, [2, 709]), o($Vh4, [2, 251]), { 40: 1808, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1809] }, { 40: 1810, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 253]), { 40: 1811, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 254]), { 40: 1812, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VT5, [2, 268]), { 131: $VV, 196: 1813 }, { 249: [1, 1814] }, { 249: [2, 1100] }, o($V_5, [2, 243]), o($Vm5, [2, 249], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1815, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $VZ5, 78: [1, 1816] }, { 74: $VZ5, 78: [1, 1817] }, o($VN4, [2, 1053], { 97: 1818, 104: 1819, 3: 1821, 2: $V1, 4: $V2, 5: $V3, 76: $V06 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1824, 103: 1822, 105: 1823, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1825, 111: 1440 }, o($VJ5, [2, 215]), o($Vn5, [2, 173]), { 2: $V1, 3: 1826, 4: $V2, 5: $V3 }, o($Vn5, [2, 175]), { 2: $V1, 3: 1827, 4: $V2, 5: $V3 }, o($Vw3, [2, 551]), o($Vw3, [2, 1126]), o($Vw3, [2, 549]), { 78: [1, 1828] }, o($Vw3, [2, 563]), { 77: [1, 1829] }, { 77: [2, 1118] }, { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1830 }, { 77: [1, 1833] }, { 77: [2, 1124] }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1834, 111: 1440 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1835, 111: 1440 }, o($VK, [2, 612]), o($VK, [2, 721]), { 343: [1, 1837], 344: [1, 1836] }, { 339: $VS5, 462: 1838 }, { 335: $VG5, 338: $VH5, 461: 1839 }, o($Vh4, [2, 252]), { 40: 1840, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 255]), o($Vh4, [2, 257]), o($Vh4, [2, 258]), o($VT5, [2, 271]), { 131: [2, 1101], 250: 1841, 645: [1, 1842] }, { 74: $VZ5, 78: [1, 1843] }, o($V_5, [2, 245]), o($V_5, [2, 246]), o($VN4, [2, 74]), o($VN4, [2, 1054]), { 2: $V1, 3: 1844, 4: $V2, 5: $V3 }, o($VN4, [2, 78]), { 74: [1, 1846], 78: [1, 1845] }, o($V65, [2, 80]), o($V65, [2, 81], { 114: 625, 327: 637, 76: [1, 1847], 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 74: $V35, 78: [1, 1848] }, o($Vn5, [2, 174]), o($Vn5, [2, 176]), o($Vw3, [2, 553]), { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1849 }, { 74: $V26, 78: [1, 1850] }, o($V65, [2, 528]), o($V65, [2, 529]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1852, 111: 1440 }, { 74: $V35, 78: [1, 1853] }, { 74: $V35, 78: [1, 1854] }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1855, 419: 190, 420: $Vr1, 424: $Vs1 }, { 344: [1, 1856] }, o($V75, [2, 710]), o($V75, [2, 712]), o($Vh4, [2, 256]), { 131: $VV, 196: 1857 }, { 131: [2, 1102] }, o($V_5, [2, 244]), o($VN4, [2, 77]), { 78: [2, 76] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1824, 105: 1858, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1859, 4: $V2, 5: $V3 }, { 78: [1, 1860] }, { 74: $V26, 78: [1, 1861] }, { 374: [1, 1862] }, { 2: $V1, 3: 1863, 4: $V2, 5: $V3, 132: [1, 1864] }, { 74: $V35, 78: [1, 1865] }, o($VD3, [2, 526]), o($VD3, [2, 527]), o($V75, [2, 714], { 74: $VJ4 }), o($V75, [2, 716]), o($V36, [2, 1103], { 251: 1866, 766: [1, 1867] }), o($V65, [2, 79]), o($V65, [2, 82]), o($VN4, [2, 1055], { 3: 1821, 101: 1868, 104: 1869, 2: $V1, 4: $V2, 5: $V3, 76: $V06 }), o($VD3, [2, 518]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1870 }, o($V65, [2, 530]), o($V65, [2, 531]), o($VD3, [2, 525]), o($VT5, [2, 1105], { 252: 1871, 415: [1, 1872] }), o($V36, [2, 1104]), o($VN4, [2, 75]), o($VN4, [2, 1056]), o($V46, [2, 1119], { 375: 1873, 377: 1874, 77: [1, 1875] }), o($VT5, [2, 269]), o($VT5, [2, 1106]), o($VD3, [2, 521], { 376: 1876, 378: 1877, 230: [1, 1878] }), o($V46, [2, 1120]), { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1879 }, o($VD3, [2, 519]), { 230: [1, 1881], 379: 1880 }, { 338: [1, 1882] }, { 74: $V26, 78: [1, 1883] }, o($VD3, [2, 522]), { 335: [1, 1884] }, { 380: [1, 1885] }, o($V46, [2, 520]), { 380: [1, 1886] }, { 381: [1, 1887] }, { 381: [1, 1888] }, { 230: [2, 523] }, o($VD3, [2, 524])],
+ defaultActions: { 105: [2, 6], 194: [2, 336], 195: [2, 337], 196: [2, 338], 197: [2, 339], 198: [2, 340], 199: [2, 341], 200: [2, 342], 201: [2, 343], 202: [2, 344], 209: [2, 695], 591: [2, 1142], 653: [2, 1107], 654: [2, 1108], 710: [2, 696], 780: [2, 1073], 781: [2, 1074], 926: [2, 446], 927: [2, 447], 928: [2, 448], 987: [2, 697], 1288: [2, 1152], 1375: [2, 1060], 1433: [2, 1150], 1541: [2, 507], 1732: [2, 1052], 1777: [2, 1100], 1797: [2, 1118], 1800: [2, 1124], 1842: [2, 1102], 1845: [2, 76], 1887: [2, 523] },
+ parseError: function parseError(str, hash) {
+ if (hash.recoverable) {
+ this.trace(str);
+ }
+ else {
+ var error = new Error(str);
+ error.hash = hash;
+ throw error;
+ }
+ },
+ parse: function parse(input) {
+ var this$1 = this;
+ var self = this, stack = [0], vstack = [null],
+ lstack = [],
+ table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
+ var args = lstack.slice.call(arguments, 1);
+ var lexer = Object.create(this.lexer);
+ var sharedState = { yy: {} };
+ for (var k in this$1.yy) {
+ if (Object.prototype.hasOwnProperty.call(this$1.yy, k)) {
+ sharedState.yy[k] = this$1.yy[k];
+ }
+ }
+ lexer.setInput(input, sharedState.yy);
+ sharedState.yy.lexer = lexer;
+ sharedState.yy.parser = this;
+ if (typeof lexer.yylloc == 'undefined') {
+ lexer.yylloc = {};
+ }
+ var yyloc = lexer.yylloc;
+ lstack.push(yyloc);
+ var ranges = lexer.options && lexer.options.ranges;
+ if (typeof sharedState.yy.parseError === 'function') {
+ this.parseError = sharedState.yy.parseError;
+ }
+ else {
+ this.parseError = Object.getPrototypeOf(this).parseError;
+ }
+ function popStack(n) {
+ stack.length = stack.length - 2 * n;
+ vstack.length = vstack.length - n;
+ lstack.length = lstack.length - n;
+ }
+ _token_stack: var lex = function () {
+ var token;
+ token = lexer.lex() || EOF;
+ if (typeof token !== 'number') {
+ token = self.symbols_[token] || token;
+ }
+ return token;
+ };
+ var symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected;
+ while (true) {
+ state = stack[stack.length - 1];
+ if (this$1.defaultActions[state]) {
+ action = this$1.defaultActions[state];
+ }
+ else {
+ if (symbol === null || typeof symbol == 'undefined') {
+ symbol = lex();
+ }
+ action = table[state] && table[state][symbol];
+ }
+ _handle_error:
+ if (typeof action === 'undefined' || !action.length || !action[0]) {
+ var error_rule_depth;
+ var errStr = '';
+ var locateNearestErrorRecoveryRule = function (state) {
+ var stack_probe = stack.length - 1;
+ var depth = 0;
+ for (;;) {
+ if ((TERROR.toString()) in table[state]) {
+ return depth;
+ }
+ if (state === 0 || stack_probe < 2) {
+ return false;
+ }
+ stack_probe -= 2;
+ state = stack[stack_probe];
+ ++depth;
+ }
+ };
+ if (!recovering) {
+ error_rule_depth = locateNearestErrorRecoveryRule(state);
+ expected = [];
+ for (p in table[state]) {
+ if (this$1.terminals_[p] && p > TERROR) {
+ expected.push("'" + this$1.terminals_[p] + "'");
+ }
+ }
+ if (lexer.showPosition) {
+ errStr = 'Parse error on line ' + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(', ') + ", got '" + (this$1.terminals_[symbol] || symbol) + "'";
+ }
+ else {
+ errStr = 'Parse error on line ' + (yylineno + 1) + ": Unexpected " +
+ (symbol == EOF ? "end of input" :
+ ("'" + (this$1.terminals_[symbol] || symbol) + "'"));
+ }
+ this$1.parseError(errStr, {
+ text: lexer.match,
+ token: this$1.terminals_[symbol] || symbol,
+ line: lexer.yylineno,
+ loc: yyloc,
+ expected: expected,
+ recoverable: (error_rule_depth !== false)
+ });
+ }
+ else if (preErrorSymbol !== EOF) {
+ error_rule_depth = locateNearestErrorRecoveryRule(state);
+ }
+ if (recovering == 3) {
+ if (symbol === EOF || preErrorSymbol === EOF) {
+ throw new Error(errStr || 'Parsing halted while starting to recover from another error.');
+ }
+ yyleng = lexer.yyleng;
+ yytext = lexer.yytext;
+ yylineno = lexer.yylineno;
+ yyloc = lexer.yylloc;
+ symbol = lex();
+ }
+ if (error_rule_depth === false) {
+ throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.');
+ }
+ popStack(error_rule_depth);
+ preErrorSymbol = (symbol == TERROR ? null : 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);
+ }
+ switch (action[0]) {
+ case 1:
+ stack.push(symbol);
+ vstack.push(lexer.yytext);
+ lstack.push(lexer.yylloc);
+ stack.push(action[1]);
+ symbol = null;
+ if (!preErrorSymbol) {
+ yyleng = lexer.yyleng;
+ yytext = lexer.yytext;
+ yylineno = lexer.yylineno;
+ yyloc = lexer.yylloc;
+ if (recovering > 0) {
+ recovering--;
+ }
+ }
+ else {
+ symbol = preErrorSymbol;
+ preErrorSymbol = null;
+ }
+ break;
+ case 2:
+ len = this$1.productions_[action[1]][1];
+ yyval.$ = vstack[vstack.length - len];
+ yyval._$ = {
+ first_line: lstack[lstack.length - (len || 1)].first_line,
+ last_line: lstack[lstack.length - 1].last_line,
+ first_column: lstack[lstack.length - (len || 1)].first_column,
+ last_column: lstack[lstack.length - 1].last_column
+ };
+ if (ranges) {
+ yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
+ }
+ r = this$1.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));
+ if (typeof r !== 'undefined') {
+ return r;
+ }
+ if (len) {
+ stack = stack.slice(0, -1 * len * 2);
+ vstack = vstack.slice(0, -1 * len);
+ lstack = lstack.slice(0, -1 * len);
+ }
+ stack.push(this$1.productions_[action[1]][0]);
+ vstack.push(yyval.$);
+ lstack.push(yyval._$);
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
+ stack.push(newState);
+ break;
+ case 3:
+ return true;
+ }
+ }
+ return true;
+ } };
+ var nonReserved = ["A", "ABSENT", "ABSOLUTE", "ACCORDING", "ACTION", "ADA", "ADD", "ADMIN", "AFTER", "ALWAYS", "ASC", "ASSERTION", "ASSIGNMENT", "ATTRIBUTE", "ATTRIBUTES", "BASE64", "BEFORE", "BERNOULLI", "BLOCKED", "BOM", "BREADTH", "C", "CASCADE", "CATALOG", "CATALOG_NAME", "CHAIN", "CHARACTERISTICS", "CHARACTERS", "CHARACTER_SET_CATALOG", "CHARACTER_SET_NAME", "CHARACTER_SET_SCHEMA", "CLASS_ORIGIN", "COBOL", "COLLATION", "COLLATION_CATALOG", "COLLATION_NAME", "COLLATION_SCHEMA", "COLUMNS", "COLUMN_NAME", "COMMAND_FUNCTION", "COMMAND_FUNCTION_CODE", "COMMITTED", "CONDITION_NUMBER", "CONNECTION", "CONNECTION_NAME", "CONSTRAINTS", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME", "CONSTRAINT_SCHEMA", "CONSTRUCTOR", "CONTENT", "CONTINUE", "CONTROL", "CURSOR_NAME", "DATA", "DATETIME_INTERVAL_CODE", "DATETIME_INTERVAL_PRECISION", "DB", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINED", "DEFINER", "DEGREE", "DEPTH", "DERIVED", "DESC", "DESCRIPTOR", "DIAGNOSTICS", "DISPATCH", "DOCUMENT", "DOMAIN", "DYNAMIC_FUNCTION", "DYNAMIC_FUNCTION_CODE", "EMPTY", "ENCODING", "ENFORCED", "EXCLUDE", "EXCLUDING", "EXPRESSION", "FILE", "FINAL", "FIRST", "FLAG", "FOLLOWING", "FORTRAN", "FOUND", "FS", "G", "GENERAL", "GENERATED", "GO", "GOTO", "GRANTED", "HEX", "HIERARCHY", "ID", "IGNORE", "IMMEDIATE", "IMMEDIATELY", "IMPLEMENTATION", "INCLUDING", "INCREMENT", "INDENT", "INITIALLY", "INPUT", "INSTANCE", "INSTANTIABLE", "INSTEAD", "INTEGRITY", "INVOKER", "ISOLATION", "K", "KEY", "KEY_MEMBER", "KEY_TYPE", "LAST", "LENGTH", "LEVEL", "LIBRARY", "LIMIT", "LINK", "LOCATION", "LOCATOR", "M", "MAP", "MAPPING", "MATCHED", "MAXVALUE", "MESSAGE_LENGTH", "MESSAGE_OCTET_LENGTH", "MESSAGE_TEXT", "MINVALUE", "MORE", "MUMPS", "NAME", "NAMES", "NAMESPACE", "NESTING", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NIL", "NORMALIZED", "NULLABLE", "NULLS", "NUMBER", "OBJECT", "OCTETS", "OFF", "OPTION", "OPTIONS", "ORDERING", "ORDINALITY", "OTHERS", "OUTPUT", "OVERRIDING", "P", "PAD", "PARAMETER_MODE", "PARAMETER_NAME", "PARAMETER_ORDINAL_POSITION", "PARAMETER_SPECIFIC_CATALOG", "PARAMETER_SPECIFIC_NAME", "PARAMETER_SPECIFIC_SCHEMA", "PARTIAL", "PASCAL", "PASSING", "PASSTHROUGH", "PATH", "PERMISSION", "PLACING", "PLI", "PRECEDING", "PRESERVE", "PRIOR", "PRIVILEGES", "PUBLIC", "READ", "RECOVERY", "RELATIVE", "REPEATABLE", "REQUIRING", "RESPECT", "RESTART", "RESTORE", "RESTRICT", "RETURNED_CARDINALITY", "RETURNED_LENGTH", "RETURNED_OCTET_LENGTH", "RETURNED_SQLSTATE", "RETURNING", "ROLE", "ROUTINE", "ROUTINE_CATALOG", "ROUTINE_NAME", "ROUTINE_SCHEMA", "ROW_COUNT", "SCALE", "SCHEMA", "SCHEMA_NAME", "SCOPE_CATALOG", "SCOPE_NAME", "SCOPE_SCHEMA", "SECTION", "SECURITY", "SELECTIVE", "SELF", "SEQUENCE", "SERIALIZABLE", "SERVER", "SERVER_NAME", "SESSION", "SETS", "SIMPLE", "SIZE", "SOURCE", "SPACE", "SPECIFIC_NAME", "STANDALONE", "STATE", "STATEMENT", "STRIP", "STRUCTURE", "STYLE", "SUBCLASS_ORIGIN", "T", "TABLE_NAME", "TEMPORARY", "TIES", "TOKEN", "TOP_LEVEL_COUNT", "TRANSACTION", "TRANSACTIONS_COMMITTED", "TRANSACTIONS_ROLLED_BACK", "TRANSACTION_ACTIVE", "TRANSFORM", "TRANSFORMS", "TRIGGER_CATALOG", "TRIGGER_NAME", "TRIGGER_SCHEMA", "TYPE", "UNBOUNDED", "UNCOMMITTED", "UNDER", "UNLINK", "UNNAMED", "UNTYPED", "URI", "USAGE", "USER_DEFINED_TYPE_CATALOG", "USER_DEFINED_TYPE_CODE", "USER_DEFINED_TYPE_NAME", "USER_DEFINED_TYPE_SCHEMA", "VALID", "VERSION", "VIEW", "WHITESPACE", "WORK", "WRAPPER", "WRITE", "XMLDECLARATION", "XMLSCHEMA", "YES", "ZONE"];
+ parser.parseError = function (str, hash) {
+ if (hash.expected && hash.expected.indexOf("'LITERAL'") > -1 && /[a-zA-Z_][a-zA-Z_0-9]*/.test(hash.token) && nonReserved.indexOf(hash.token) > -1) {
+ return;
+ }
+ throw new SyntaxError(str);
+ };
+ var lexer = (function () {
+ var lexer = ({
+ EOF: 1,
+ parseError: function parseError(str, hash) {
+ if (this.yy.parser) {
+ this.yy.parser.parseError(str, hash);
+ }
+ else {
+ throw new Error(str);
+ }
+ },
+ setInput: function (input, yy) {
+ this.yy = yy || this.yy || {};
+ this._input = input;
+ this._more = this._backtrack = this.done = false;
+ this.yylineno = this.yyleng = 0;
+ this.yytext = this.matched = this.match = '';
+ this.conditionStack = ['INITIAL'];
+ this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ };
+ if (this.options.ranges) {
+ this.yylloc.range = [0, 0];
+ }
+ this.offset = 0;
+ return this;
+ },
+ input: function () {
+ var ch = this._input[0];
+ this.yytext += ch;
+ this.yyleng++;
+ this.offset++;
+ this.match += ch;
+ this.matched += ch;
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
+ if (lines) {
+ this.yylineno++;
+ this.yylloc.last_line++;
+ }
+ else {
+ this.yylloc.last_column++;
+ }
+ if (this.options.ranges) {
+ this.yylloc.range[1]++;
+ }
+ this._input = this._input.slice(1);
+ return ch;
+ },
+ unput: function (ch) {
+ var len = ch.length;
+ var lines = ch.split(/(?:\r\n?|\n)/g);
+ this._input = ch + this._input;
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
+ this.offset -= len;
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
+ this.match = this.match.substr(0, this.match.length - 1);
+ this.matched = this.matched.substr(0, this.matched.length - 1);
+ if (lines.length - 1) {
+ this.yylineno -= lines.length - 1;
+ }
+ var r = this.yylloc.range;
+ this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: lines ?
+ (lines.length === oldLines.length ? this.yylloc.first_column : 0)
+ + oldLines[oldLines.length - lines.length].length - lines[0].length :
+ this.yylloc.first_column - len
+ };
+ if (this.options.ranges) {
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
+ }
+ this.yyleng = this.yytext.length;
+ return this;
+ },
+ more: function () {
+ this._more = true;
+ return this;
+ },
+ reject: function () {
+ if (this.options.backtrack_lexer) {
+ this._backtrack = true;
+ }
+ else {
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
+ text: "",
+ token: null,
+ line: this.yylineno
+ });
+ }
+ return this;
+ },
+ less: function (n) {
+ this.unput(this.match.slice(n));
+ },
+ pastInput: function () {
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
+ return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, "");
+ },
+ upcomingInput: function () {
+ var next = this.match;
+ if (next.length < 20) {
+ next += this._input.substr(0, 20 - next.length);
+ }
+ return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
+ },
+ showPosition: function () {
+ var pre = this.pastInput();
+ var c = new Array(pre.length + 1).join("-");
+ return pre + this.upcomingInput() + "\n" + c + "^";
+ },
+ test_match: function (match, indexed_rule) {
+ var this$1 = this;
+ var token, lines, backup;
+ if (this.options.backtrack_lexer) {
+ backup = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ };
+ if (this.options.ranges) {
+ backup.yylloc.range = this.yylloc.range.slice(0);
+ }
+ }
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
+ if (lines) {
+ this.yylineno += lines.length;
+ }
+ this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: lines ?
+ lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length :
+ this.yylloc.last_column + match[0].length
+ };
+ this.yytext += match[0];
+ this.match += match[0];
+ this.matches = match;
+ this.yyleng = this.yytext.length;
+ if (this.options.ranges) {
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
+ }
+ this._more = false;
+ this._backtrack = false;
+ this._input = this._input.slice(match[0].length);
+ this.matched += match[0];
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
+ if (this.done && this._input) {
+ this.done = false;
+ }
+ if (token) {
+ return token;
+ }
+ else if (this._backtrack) {
+ for (var k in backup) {
+ this$1[k] = backup[k];
+ }
+ return false;
+ }
+ return false;
+ },
+ next: function () {
+ var this$1 = this;
+ if (this.done) {
+ return this.EOF;
+ }
+ if (!this._input) {
+ this.done = true;
+ }
+ var token, match, tempMatch, index;
+ if (!this._more) {
+ this.yytext = '';
+ this.match = '';
+ }
+ var rules = this._currentRules();
+ for (var i = 0; i < rules.length; i++) {
+ tempMatch = this$1._input.match(this$1.rules[rules[i]]);
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
+ match = tempMatch;
+ index = i;
+ if (this$1.options.backtrack_lexer) {
+ token = this$1.test_match(tempMatch, rules[i]);
+ if (token !== false) {
+ return token;
+ }
+ else if (this$1._backtrack) {
+ match = false;
+ continue;
+ }
+ else {
+ return false;
+ }
+ }
+ else if (!this$1.options.flex) {
+ break;
+ }
+ }
+ }
+ if (match) {
+ token = this.test_match(match, rules[index]);
+ if (token !== false) {
+ return token;
+ }
+ return false;
+ }
+ if (this._input === "") {
+ return this.EOF;
+ }
+ else {
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
+ text: "",
+ token: null,
+ line: this.yylineno
+ });
+ }
+ },
+ lex: function lex() {
+ var r = this.next();
+ if (r) {
+ return r;
+ }
+ else {
+ return this.lex();
+ }
+ },
+ begin: function begin(condition) {
+ this.conditionStack.push(condition);
+ },
+ popState: function popState() {
+ var n = this.conditionStack.length - 1;
+ if (n > 0) {
+ return this.conditionStack.pop();
+ }
+ else {
+ return this.conditionStack[0];
+ }
+ },
+ _currentRules: function _currentRules() {
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
+ }
+ else {
+ return this.conditions["INITIAL"].rules;
+ }
+ },
+ topState: function topState(n) {
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
+ if (n >= 0) {
+ return this.conditionStack[n];
+ }
+ else {
+ return "INITIAL";
+ }
+ },
+ pushState: function pushState(condition) {
+ this.begin(condition);
+ },
+ stateStackSize: function stateStackSize() {
+ return this.conditionStack.length;
+ },
+ options: { "case-insensitive": true },
+ performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
+ switch ($avoiding_name_collisions) {
+ case 0:
+ return 266;
+ break;
+ case 1:
+ return 302;
+ break;
+ case 2:
+ return 420;
+ break;
+ case 3:
+ return 299;
+ break;
+ case 4:
+ return 5;
+ break;
+ case 5:
+ return 5;
+ break;
+ case 6:
+ return 296;
+ break;
+ case 7:
+ return 296;
+ break;
+ case 8:
+ return 132;
+ break;
+ case 9:
+ return 132;
+ break;
+ case 10:
+ return;
+ break;
+ case 11:
+ break;
+ case 12:
+ return 316;
+ break;
+ case 13:
+ return 319;
+ break;
+ case 14:
+ yy_.yytext = 'VALUE';
+ return 89;
+ break;
+ case 15:
+ yy_.yytext = 'VALUE';
+ return 189;
+ break;
+ case 16:
+ yy_.yytext = 'ROW';
+ return 189;
+ break;
+ case 17:
+ yy_.yytext = 'COLUMN';
+ return 189;
+ break;
+ case 18:
+ yy_.yytext = 'MATRIX';
+ return 189;
+ break;
+ case 19:
+ yy_.yytext = 'INDEX';
+ return 189;
+ break;
+ case 20:
+ yy_.yytext = 'RECORDSET';
+ return 189;
+ break;
+ case 21:
+ yy_.yytext = 'TEXT';
+ return 189;
+ break;
+ case 22:
+ yy_.yytext = 'SELECT';
+ return 189;
+ break;
+ case 23:
+ return 520;
+ break;
+ case 24:
+ return 381;
+ break;
+ case 25:
+ return 402;
+ break;
+ case 26:
+ return 515;
+ break;
+ case 27:
+ return 287;
+ break;
+ case 28:
+ return 269;
+ break;
+ case 29:
+ return 269;
+ break;
+ case 30:
+ return 164;
+ break;
+ case 31:
+ return 400;
+ break;
+ case 32:
+ return 170;
+ break;
+ case 33:
+ return 229;
+ break;
+ case 34:
+ return 166;
+ break;
+ case 35:
+ return 207;
+ break;
+ case 36:
+ return 288;
+ break;
+ case 37:
+ return 76;
+ break;
+ case 38:
+ return 418;
+ break;
+ case 39:
+ return 242;
+ break;
+ case 40:
+ return 404;
+ break;
+ case 41:
+ return 356;
+ break;
+ case 42:
+ return 284;
+ break;
+ case 43:
+ return 514;
+ break;
+ case 44:
+ return 437;
+ break;
+ case 45:
+ return 330;
+ break;
+ case 46:
+ return 441;
+ break;
+ case 47:
+ return 331;
+ break;
+ case 48:
+ return 315;
+ break;
+ case 49:
+ return 119;
+ break;
+ case 50:
+ return 112;
+ break;
+ case 51:
+ return 315;
+ break;
+ case 52:
+ return 112;
+ break;
+ case 53:
+ return 315;
+ break;
+ case 54:
+ return 112;
+ break;
+ case 55:
+ return 315;
+ break;
+ case 56:
+ return 508;
+ break;
+ case 57:
+ return 303;
+ break;
+ case 58:
+ return 271;
+ break;
+ case 59:
+ return 368;
+ break;
+ case 60:
+ return 130;
+ break;
+ case 61:
+ return 'CLOSE';
+ break;
+ case 62:
+ return 243;
+ break;
+ case 63:
+ return 190;
+ break;
+ case 64:
+ return 190;
+ break;
+ case 65:
+ return 434;
+ break;
+ case 66:
+ return 367;
+ break;
+ case 67:
+ return 470;
+ break;
+ case 68:
+ return 440;
+ break;
+ case 69:
+ return 273;
+ break;
+ case 70:
+ return 240;
+ break;
+ case 71:
+ return 281;
+ break;
+ case 72:
+ return 267;
+ break;
+ case 73:
+ return 206;
+ break;
+ case 74:
+ return 238;
+ break;
+ case 75:
+ return 265;
+ break;
+ case 76:
+ return 'CURSOR';
+ break;
+ case 77:
+ return 405;
+ break;
+ case 78:
+ return 291;
+ break;
+ case 79:
+ return 292;
+ break;
+ case 80:
+ return 448;
+ break;
+ case 81:
+ return 343;
+ break;
+ case 82:
+ return 338;
+ break;
+ case 83:
+ return 'DELETED';
+ break;
+ case 84:
+ return 242;
+ break;
+ case 85:
+ return 406;
+ break;
+ case 86:
+ return 185;
+ break;
+ case 87:
+ return 396;
+ break;
+ case 88:
+ return 447;
+ break;
+ case 89:
+ return 135;
+ break;
+ case 90:
+ return 306;
+ break;
+ case 91:
+ return 389;
+ break;
+ case 92:
+ return 310;
+ break;
+ case 93:
+ return 314;
+ break;
+ case 94:
+ return 169;
+ break;
+ case 95:
+ return 508;
+ break;
+ case 96:
+ return 508;
+ break;
+ case 97:
+ return 298;
+ break;
+ case 98:
+ return 14;
+ break;
+ case 99:
+ return 295;
+ break;
+ case 100:
+ return 249;
+ break;
+ case 101:
+ return 285;
+ break;
+ case 102:
+ return 95;
+ break;
+ case 103:
+ return 373;
+ break;
+ case 104:
+ return 183;
+ break;
+ case 105:
+ return 227;
+ break;
+ case 106:
+ return 268;
+ break;
+ case 107:
+ return 313;
+ break;
+ case 108:
+ return 602;
+ break;
+ case 109:
+ return 472;
+ break;
+ case 110:
+ return 232;
+ break;
+ case 111:
+ return 236;
+ break;
+ case 112:
+ return 239;
+ break;
+ case 113:
+ return 156;
+ break;
+ case 114:
+ return 356;
+ break;
+ case 115:
+ return 332;
+ break;
+ case 116:
+ return 99;
+ break;
+ case 117:
+ return 193;
+ break;
+ case 118:
+ return 212;
+ break;
+ case 119:
+ return 224;
+ break;
+ case 120:
+ return 516;
+ break;
+ case 121:
+ return 339;
+ break;
+ case 122:
+ return 213;
+ break;
+ case 123:
+ return 168;
+ break;
+ case 124:
+ return 293;
+ break;
+ case 125:
+ return 198;
+ break;
+ case 126:
+ return 223;
+ break;
+ case 127:
+ return 370;
+ break;
+ case 128:
+ return 286;
+ break;
+ case 129:
+ return 'LET';
+ break;
+ case 130:
+ return 225;
+ break;
+ case 131:
+ return 112;
+ break;
+ case 132:
+ return 245;
+ break;
+ case 133:
+ return 460;
+ break;
+ case 134:
+ return 191;
+ break;
+ case 135:
+ return 283;
+ break;
+ case 136:
+ return 390;
+ break;
+ case 137:
+ return 282;
+ break;
+ case 138:
+ return 452;
+ break;
+ case 139:
+ return 169;
+ break;
+ case 140:
+ return 403;
+ break;
+ case 141:
+ return 222;
+ break;
+ case 142:
+ return 645;
+ break;
+ case 143:
+ return 270;
+ break;
+ case 144:
+ return 244;
+ break;
+ case 145:
+ return 380;
+ break;
+ case 146:
+ return 154;
+ break;
+ case 147:
+ return 297;
+ break;
+ case 148:
+ return 433;
+ break;
+ case 149:
+ return 230;
+ break;
+ case 150:
+ return 415;
+ break;
+ case 151:
+ return 129;
+ break;
+ case 152:
+ return 247;
+ break;
+ case 153:
+ return 'OPEN';
+ break;
+ case 154:
+ return 416;
+ break;
+ case 155:
+ return 171;
+ break;
+ case 156:
+ return 118;
+ break;
+ case 157:
+ return 208;
+ break;
+ case 158:
+ return 276;
+ break;
+ case 159:
+ return 172;
+ break;
+ case 160:
+ return 279;
+ break;
+ case 161:
+ return 765;
+ break;
+ case 162:
+ return 93;
+ break;
+ case 163:
+ return 16;
+ break;
+ case 164:
+ return 369;
+ break;
+ case 165:
+ return 442;
+ break;
+ case 166:
+ return 678;
+ break;
+ case 167:
+ return 15;
+ break;
+ case 168:
+ return 414;
+ break;
+ case 169:
+ return 194;
+ break;
+ case 170:
+ return 'REDUCE';
+ break;
+ case 171:
+ return 374;
+ break;
+ case 172:
+ return 311;
+ break;
+ case 173:
+ return 517;
+ break;
+ case 174:
+ return 682;
+ break;
+ case 175:
+ return 107;
+ break;
+ case 176:
+ return 401;
+ break;
+ case 177:
+ return 175;
+ break;
+ case 178:
+ return 290;
+ break;
+ case 179:
+ return 443;
+ break;
+ case 180:
+ return 687;
+ break;
+ case 181:
+ return 173;
+ break;
+ case 182:
+ return 173;
+ break;
+ case 183:
+ return 226;
+ break;
+ case 184:
+ return 436;
+ break;
+ case 185:
+ return 237;
+ break;
+ case 186:
+ return 150;
+ break;
+ case 187:
+ return 766;
+ break;
+ case 188:
+ return 405;
+ break;
+ case 189:
+ return 89;
+ break;
+ case 190:
+ return 228;
+ break;
+ case 191:
+ return 146;
+ break;
+ case 192:
+ return 146;
+ break;
+ case 193:
+ return 409;
+ break;
+ case 194:
+ return 334;
+ break;
+ case 195:
+ return 417;
+ break;
+ case 196:
+ return 'STRATEGY';
+ break;
+ case 197:
+ return 'STORE';
+ break;
+ case 198:
+ return 280;
+ break;
+ case 199:
+ return 353;
+ break;
+ case 200:
+ return 353;
+ break;
+ case 201:
+ return 463;
+ break;
+ case 202:
+ return 357;
+ break;
+ case 203:
+ return 357;
+ break;
+ case 204:
+ return 192;
+ break;
+ case 205:
+ return 309;
+ break;
+ case 206:
+ return 'TIMEOUT';
+ break;
+ case 207:
+ return 148;
+ break;
+ case 208:
+ return 195;
+ break;
+ case 209:
+ return 435;
+ break;
+ case 210:
+ return 435;
+ break;
+ case 211:
+ return 509;
+ break;
+ case 212:
+ return 294;
+ break;
+ case 213:
+ return 451;
+ break;
+ case 214:
+ return 162;
+ break;
+ case 215:
+ return 187;
+ break;
+ case 216:
+ return 98;
+ break;
+ case 217:
+ return 335;
+ break;
+ case 218:
+ return 408;
+ break;
+ case 219:
+ return 231;
+ break;
+ case 220:
+ return 149;
+ break;
+ case 221:
+ return 344;
+ break;
+ case 222:
+ return 134;
+ break;
+ case 223:
+ return 410;
+ break;
+ case 224:
+ return 308;
+ break;
+ case 225:
+ return 128;
+ break;
+ case 226:
+ return 439;
+ break;
+ case 227:
+ return 72;
+ break;
+ case 228:
+ return 435;
+ break;
+ case 229:
+ return 131;
+ break;
+ case 230:
+ return 131;
+ break;
+ case 231:
+ return 115;
+ break;
+ case 232:
+ return 137;
+ break;
+ case 233:
+ return 179;
+ break;
+ case 234:
+ return 317;
+ break;
+ case 235:
+ return 180;
+ break;
+ case 236:
+ return 133;
+ break;
+ case 237:
+ return 138;
+ break;
+ case 238:
+ return 326;
+ break;
+ case 239:
+ return 323;
+ break;
+ case 240:
+ return 325;
+ break;
+ case 241:
+ return 322;
+ break;
+ case 242:
+ return 320;
+ break;
+ case 243:
+ return 318;
+ break;
+ case 244:
+ return 319;
+ break;
+ case 245:
+ return 142;
+ break;
+ case 246:
+ return 141;
+ break;
+ case 247:
+ return 139;
+ break;
+ case 248:
+ return 321;
+ break;
+ case 249:
+ return 324;
+ break;
+ case 250:
+ return 140;
+ break;
+ case 251:
+ return 124;
+ break;
+ case 252:
+ return 324;
+ break;
+ case 253:
+ return 77;
+ break;
+ case 254:
+ return 78;
+ break;
+ case 255:
+ return 145;
+ break;
+ case 256:
+ return 424;
+ break;
+ case 257:
+ return 426;
+ break;
+ case 258:
+ return 300;
+ break;
+ case 259:
+ return 505;
+ break;
+ case 260:
+ return 507;
+ break;
+ case 261:
+ return 122;
+ break;
+ case 262:
+ return 116;
+ break;
+ case 263:
+ return 74;
+ break;
+ case 264:
+ return 333;
+ break;
+ case 265:
+ return 152;
+ break;
+ case 266:
+ return 764;
+ break;
+ case 267:
+ return 143;
+ break;
+ case 268:
+ return 181;
+ break;
+ case 269:
+ return 136;
+ break;
+ case 270:
+ return 123;
+ break;
+ case 271:
+ return 312;
+ break;
+ case 272:
+ return 4;
+ break;
+ case 273:
+ return 10;
+ break;
+ case 274:
+ return 'INVALID';
+ break;
+ }
+ },
+ rules: [/^(?:``([^\`])+``)/i, /^(?:\[\?\])/i, /^(?:@\[)/i, /^(?:ARRAY\[)/i, /^(?:\[([^\]])*?\])/i, /^(?:`([^\`])*?`)/i, /^(?:N(['](\\.|[^']|\\')*?['])+)/i, /^(?:X(['](\\.|[^']|\\')*?['])+)/i, /^(?:(['](\\.|[^']|\\')*?['])+)/i, /^(?:(["](\\.|[^"]|\\")*?["])+)/i, /^(?:--(.*?)($|\r\n|\r|\n))/i, /^(?:\s+)/i, /^(?:\|\|)/i, /^(?:\|)/i, /^(?:VALUE\s+OF\s+SEARCH\b)/i, /^(?:VALUE\s+OF\s+SELECT\b)/i, /^(?:ROW\s+OF\s+SELECT\b)/i, /^(?:COLUMN\s+OF\s+SELECT\b)/i, /^(?:MATRIX\s+OF\s+SELECT\b)/i, /^(?:INDEX\s+OF\s+SELECT\b)/i, /^(?:RECORDSET\s+OF\s+SELECT\b)/i, /^(?:TEXT\s+OF\s+SELECT\b)/i, /^(?:SELECT\b)/i, /^(?:ABSOLUTE\b)/i, /^(?:ACTION\b)/i, /^(?:ADD\b)/i, /^(?:AFTER\b)/i, /^(?:AGGR\b)/i, /^(?:AGGREGATE\b)/i, /^(?:AGGREGATOR\b)/i, /^(?:ALL\b)/i, /^(?:ALTER\b)/i, /^(?:AND\b)/i, /^(?:ANTI\b)/i, /^(?:ANY\b)/i, /^(?:APPLY\b)/i, /^(?:ARRAY\b)/i, /^(?:AS\b)/i, /^(?:ASSERT\b)/i, /^(?:ASC\b)/i, /^(?:ATTACH\b)/i, /^(?:AUTO(_)?INCREMENT\b)/i, /^(?:AVG\b)/i, /^(?:BEFORE\b)/i, /^(?:BEGIN\b)/i, /^(?:BETWEEN\b)/i, /^(?:BREAK\b)/i, /^(?:NOT\s+BETWEEN\b)/i, /^(?:NOT\s+LIKE\b)/i, /^(?:BY\b)/i, /^(?:~~\*)/i, /^(?:!~~\*)/i, /^(?:~~)/i, /^(?:!~~)/i, /^(?:ILIKE\b)/i, /^(?:NOT\s+ILIKE\b)/i, /^(?:CALL\b)/i, /^(?:CASE\b)/i, /^(?:CAST\b)/i, /^(?:CHECK\b)/i, /^(?:CLASS\b)/i, /^(?:CLOSE\b)/i, /^(?:COLLATE\b)/i, /^(?:COLUMN\b)/i, /^(?:COLUMNS\b)/i, /^(?:COMMIT\b)/i, /^(?:CONSTRAINT\b)/i, /^(?:CONTENT\b)/i, /^(?:CONTINUE\b)/i, /^(?:CONVERT\b)/i, /^(?:CORRESPONDING\b)/i, /^(?:COUNT\b)/i, /^(?:CREATE\b)/i, /^(?:CROSS\b)/i, /^(?:CUBE\b)/i, /^(?:CURRENT_TIMESTAMP\b)/i, /^(?:CURSOR\b)/i, /^(?:DATABASE(S)?)/i, /^(?:DATEADD\b)/i, /^(?:DATEDIFF\b)/i, /^(?:DECLARE\b)/i, /^(?:DEFAULT\b)/i, /^(?:DELETE\b)/i, /^(?:DELETED\b)/i, /^(?:DESC\b)/i, /^(?:DETACH\b)/i, /^(?:DISTINCT\b)/i, /^(?:DROP\b)/i, /^(?:ECHO\b)/i, /^(?:EDGE\b)/i, /^(?:END\b)/i, /^(?:ENUM\b)/i, /^(?:ELSE\b)/i, /^(?:ESCAPE\b)/i, /^(?:EXCEPT\b)/i, /^(?:EXEC\b)/i, /^(?:EXECUTE\b)/i, /^(?:EXISTS\b)/i, /^(?:EXPLAIN\b)/i, /^(?:FALSE\b)/i, /^(?:FETCH\b)/i, /^(?:FIRST\b)/i, /^(?:FOR\b)/i, /^(?:FOREIGN\b)/i, /^(?:FROM\b)/i, /^(?:FULL\b)/i, /^(?:FUNCTION\b)/i, /^(?:GLOB\b)/i, /^(?:GO\b)/i, /^(?:GRAPH\b)/i, /^(?:GROUP\b)/i, /^(?:GROUPING\b)/i, /^(?:HAVING\b)/i, /^(?:IF\b)/i, /^(?:IDENTITY\b)/i, /^(?:IS\b)/i, /^(?:IN\b)/i, /^(?:INDEX\b)/i, /^(?:INDEXED\b)/i, /^(?:INNER\b)/i, /^(?:INSTEAD\b)/i, /^(?:INSERT\b)/i, /^(?:INSERTED\b)/i, /^(?:INTERSECT\b)/i, /^(?:INTERVAL\b)/i, /^(?:INTO\b)/i, /^(?:JOIN\b)/i, /^(?:KEY\b)/i, /^(?:LAST\b)/i, /^(?:LET\b)/i, /^(?:LEFT\b)/i, /^(?:LIKE\b)/i, /^(?:LIMIT\b)/i, /^(?:MATCHED\b)/i, /^(?:MATRIX\b)/i, /^(?:MAX(\s+)?(?=\())/i, /^(?:MAX(\s+)?(?=(,|\))))/i, /^(?:MIN(\s+)?(?=\())/i, /^(?:MERGE\b)/i, /^(?:MINUS\b)/i, /^(?:MODIFY\b)/i, /^(?:NATURAL\b)/i, /^(?:NEXT\b)/i, /^(?:NEW\b)/i, /^(?:NOCASE\b)/i, /^(?:NO\b)/i, /^(?:NOT\b)/i, /^(?:NULL\b)/i, /^(?:OFF\b)/i, /^(?:ON\b)/i, /^(?:ONLY\b)/i, /^(?:OF\b)/i, /^(?:OFFSET\b)/i, /^(?:OPEN\b)/i, /^(?:OPTION\b)/i, /^(?:OR\b)/i, /^(?:ORDER\b)/i, /^(?:OUTER\b)/i, /^(?:OVER\b)/i, /^(?:PATH\b)/i, /^(?:PARTITION\b)/i, /^(?:PERCENT\b)/i, /^(?:PIVOT\b)/i, /^(?:PLAN\b)/i, /^(?:PRIMARY\b)/i, /^(?:PRINT\b)/i, /^(?:PRIOR\b)/i, /^(?:QUERY\b)/i, /^(?:READ\b)/i, /^(?:RECORDSET\b)/i, /^(?:REDUCE\b)/i, /^(?:REFERENCES\b)/i, /^(?:REGEXP\b)/i, /^(?:REINDEX\b)/i, /^(?:RELATIVE\b)/i, /^(?:REMOVE\b)/i, /^(?:RENAME\b)/i, /^(?:REPEAT\b)/i, /^(?:REPLACE\b)/i, /^(?:REQUIRE\b)/i, /^(?:RESTORE\b)/i, /^(?:RETURN\b)/i, /^(?:RETURNS\b)/i, /^(?:RIGHT\b)/i, /^(?:ROLLBACK\b)/i, /^(?:ROLLUP\b)/i, /^(?:ROW\b)/i, /^(?:ROWS\b)/i, /^(?:SCHEMA(S)?)/i, /^(?:SEARCH\b)/i, /^(?:SEMI\b)/i, /^(?:SET\b)/i, /^(?:SETS\b)/i, /^(?:SHOW\b)/i, /^(?:SOME\b)/i, /^(?:SOURCE\b)/i, /^(?:STRATEGY\b)/i, /^(?:STORE\b)/i, /^(?:SUM\b)/i, /^(?:TABLE\b)/i, /^(?:TABLES\b)/i, /^(?:TARGET\b)/i, /^(?:TEMP\b)/i, /^(?:TEMPORARY\b)/i, /^(?:TEXTSTRING\b)/i, /^(?:THEN\b)/i, /^(?:TIMEOUT\b)/i, /^(?:TO\b)/i, /^(?:TOP\b)/i, /^(?:TRAN\b)/i, /^(?:TRANSACTION\b)/i, /^(?:TRIGGER\b)/i, /^(?:TRUE\b)/i, /^(?:TRUNCATE\b)/i, /^(?:UNION\b)/i, /^(?:UNIQUE\b)/i, /^(?:UNPIVOT\b)/i, /^(?:UPDATE\b)/i, /^(?:USE\b)/i, /^(?:USING\b)/i, /^(?:VALUE\b)/i, /^(?:VALUES\b)/i, /^(?:VERTEX\b)/i, /^(?:VIEW\b)/i, /^(?:WHEN\b)/i, /^(?:WHERE\b)/i, /^(?:WHILE\b)/i, /^(?:WITH\b)/i, /^(?:WORK\b)/i, /^(?:(\d*[.])?\d+[eE]\d+)/i, /^(?:(\d*[.])?\d+)/i, /^(?:->)/i, /^(?:#)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:\*)/i, /^(?:\/)/i, /^(?:%)/i, /^(?:!===)/i, /^(?:===)/i, /^(?:!==)/i, /^(?:==)/i, /^(?:>=)/i, /^(?:&)/i, /^(?:\|)/i, /^(?:<<)/i, /^(?:>>)/i, /^(?:>)/i, /^(?:<=)/i, /^(?:<>)/i, /^(?:<)/i, /^(?:=)/i, /^(?:!=)/i, /^(?:\()/i, /^(?:\))/i, /^(?:@)/i, /^(?:\{)/i, /^(?:\})/i, /^(?:\])/i, /^(?::-)/i, /^(?:\?-)/i, /^(?:\.\.)/i, /^(?:\.)/i, /^(?:,)/i, /^(?:::)/i, /^(?::)/i, /^(?:;)/i, /^(?:\$)/i, /^(?:\?)/i, /^(?:!)/i, /^(?:\^)/i, /^(?:~)/i, /^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i, /^(?:$)/i, /^(?:.)/i],
+ conditions: { "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "inclusive": true } }
+ });
+ return lexer;
+ })();
+ parser.lexer = lexer;
+ function Parser() {
+ this.yy = {};
+ }
+ Parser.prototype = parser;
+ parser.Parser = Parser;
+ return new Parser;
+ })();
+ if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
+ exports.parser = alasqlparser;
+ exports.Parser = alasqlparser.Parser;
+ exports.parse = function () { return alasqlparser.parse.apply(alasqlparser, arguments); };
+ exports.main = function commonjsMain(args) {
+ if (!args[1]) {
+ console.log('Usage: ' + args[0] + ' FILE');
+ process.exit(1);
+ }
+ var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
+ return exports.parser.parse(source);
+ };
+ if (typeof module !== 'undefined' && require.main === module) {
+ exports.main(process.argv.slice(1));
+ }
+ }
- options: {
- ranges: boolean (optional: true ==> token location info will include a .range[] member)
- flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
- backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
- },
+ function base (mem) {
+ var yy = mem.grammar.yy;
+ yy.extend = utils$6.extend;
+ yy.casesensitive = mem.alasql.options.casesensitive;
+ yy.isInAggr = function (val) { return !!mem.alasql.aggr[val]; };
+ yy.Base = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Base.prototype.toString = function () { };
+ yy.Base.prototype.toType = function () { };
+ yy.Base.prototype.toJS = function () { };
+ yy.Base.prototype.compile = utils$6.returnUndefined;
+ yy.Base.prototype.exec = function () { };
+ yy.Base.prototype.compile = utils$6.returnUndefined;
+ yy.Base.prototype.exec = function () { };
+ mem.grammar.yy = yy;
+ }
- performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
- rules: [...],
- conditions: {associative list: name ==> set},
- }
+ function statements (mem) {
+ var yy = mem.grammar.yy;
+ yy.Statements = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Statements.prototype.toString = function () {
+ return this.statements
+ .map(function (st) {
+ return st.toString();
+ })
+ .join('; ');
+ };
+ yy.Statements.prototype.compile = function (db) {
+ var statements = this.statements.map(function (st) {
+ return st.compile(db);
+ });
+ if (statements.length === 1) {
+ return statements[0];
+ }
+ else {
+ return function (params, cb) {
+ var res = statements.map(function (st) {
+ return st(params);
+ });
+ if (cb) {
+ cb(res);
+ }
+ return res;
+ };
+ }
+ };
+ mem.grammar.yy = yy;
}
- token location info (@$, _$, etc.): {
- first_line: n,
- last_line: n,
- first_column: n,
- last_column: n,
- range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
+ function doJoin(alasql, query, scope, h) {
+ if (h >= query.sources.length) {
+ if (query.wherefn(scope, query.params, alasql)) {
+ if (query.groupfn) {
+ query.groupfn(scope, query.params, alasql);
+ }
+ else {
+ query.data.push(query.selectfn(scope, query.params, alasql));
+ }
+ }
+ }
+ else if (query.sources[h].applyselect) {
+ var source = query.sources[h];
+ source.applyselect(query.params, function (data) {
+ if (data.length > 0) {
+ for (var i = 0; i < data.length; i++) {
+ scope[source.alias] = data[i];
+ doJoin(query, scope, h + 1);
+ }
+ }
+ else {
+ if (source.applymode === 'OUTER') {
+ scope[source.alias] = {};
+ doJoin(query, scope, h + 1);
+ }
+ }
+ }, scope);
+ }
+ else {
+ var source = query.sources[h];
+ var nextsource = query.sources[h + 1];
+ {
+ var tableid = source.alias || source.tableid;
+ var pass = false;
+ var data = source.data;
+ var opt = false;
+ if (!source.getfn || (source.getfn && !source.dontcache)) {
+ if (source.joinmode !== 'RIGHT' &&
+ source.joinmode !== 'OUTER' &&
+ source.joinmode !== 'ANTI' &&
+ source.optimization === 'ix') {
+ data = source.ix[source.onleftfn(scope, query.params, alasql)] || [];
+ opt = true;
+ }
+ }
+ var i = 0;
+ if (typeof data === 'undefined') {
+ throw new Error('Data source number ' + h + ' in undefined');
+ }
+ var ilen = data.length;
+ var dataw;
+ while ((dataw = data[i]) ||
+ (!opt && (source.getfn && (dataw = source.getfn(i)))) ||
+ i < ilen) {
+ if (!opt && source.getfn && !source.dontcache)
+ { data[i] = dataw; }
+ scope[tableid] = dataw;
+ if (!source.onleftfn ||
+ source.onleftfn(scope, query.params, alasql) ==
+ source.onrightfn(scope, query.params, alasql)) {
+ if (source.onmiddlefn(scope, query.params, alasql)) {
+ if (source.joinmode != 'SEMI' && source.joinmode != 'ANTI') {
+ doJoin(query, scope, h + 1);
+ }
+ if (source.joinmode != 'LEFT' && source.joinmode != 'INNER') {
+ dataw._rightjoin = true;
+ }
+ pass = true;
+ }
+ }
+ i++;
+ }
+ if ((source.joinmode == 'LEFT' ||
+ source.joinmode == 'OUTER' ||
+ source.joinmode == 'SEMI') &&
+ !pass) {
+ scope[tableid] = {};
+ doJoin(query, scope, h + 1);
+ }
+ }
+ if (h + 1 < query.sources.length) {
+ if (nextsource.joinmode == 'OUTER' ||
+ nextsource.joinmode == 'RIGHT' ||
+ nextsource.joinmode == 'ANTI') {
+ scope[source.alias] = {};
+ var j = 0;
+ var jlen = nextsource.data.length;
+ var dataw;
+ while ((dataw = nextsource.data[j]) ||
+ (nextsource.getfn && (dataw = nextsource.getfn(j))) ||
+ j < jlen) {
+ if (nextsource.getfn && !nextsource.dontcache) {
+ nextsource.data[j] = dataw;
+ }
+ if (dataw._rightjoin) {
+ delete dataw._rightjoin;
+ }
+ else {
+ if (h == 0) {
+ scope[nextsource.alias] = dataw;
+ doJoin(query, scope, h + 2);
+ }
+ }
+ j++;
+ }
+ }
+ }
+ scope[tableid] = undefined;
+ }
}
- the parseError function receives a 'hash' object with these members for lexer and parser errors: {
- text: (matched text)
- token: (the produced terminal token, if any)
- line: (yylineno)
+ function queryfn(alasql, query, oldscope, cb, A, B) {
+ var aaa = query.sources.length;
+ query.sourceslen = query.sources.length;
+ var slen = query.sourceslen;
+ query.query = query;
+ query.A = A;
+ query.B = B;
+ query.cb = cb;
+ query.oldscope = oldscope;
+ if (query.queriesfn) {
+ query.sourceslen += query.queriesfn.length;
+ slen += query.queriesfn.length;
+ query.queriesdata = [];
+ query.queriesfn.forEach(function (q, idx) {
+ q.query.params = query.params;
+ queryfn2(alasql, [], -idx - 1, query);
+ });
+ }
+ var scope;
+ if (!oldscope)
+ { scope = {}; }
+ else
+ { scope = cloneDeep(oldscope); }
+ query.scope = scope;
+ var result;
+ query.sources.forEach(function (source, idx) {
+ source.query = query;
+ var rs = source.datafn(query, query.params, queryfn2, idx, alasql);
+ if (typeof rs !== 'undefined') {
+ if ((query.intofn || query.intoallfn) && Array.isArray(rs))
+ { rs = rs.length; }
+ result = rs;
+ }
+ source.queriesdata = query.queriesdata;
+ });
+ if (query.sources.length === 0 || 0 === slen)
+ { result = queryfn3(alasql, query); }
+ return result;
}
- while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
- loc: (yylloc)
- expected: (string describing the set of expected tokens)
- recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
+ function queryfn2(alasql, data, idx, query) {
+ if (idx >= 0) {
+ var source = query.sources[idx];
+ source.data = data;
+ if (typeof source.data === 'function') {
+ source.getfn = source.data;
+ source.dontcache = source.getfn.dontcache;
+ if (source.joinmode === 'OUTER' ||
+ source.joinmode === 'RIGHT' ||
+ source.joinmode === 'ANTI') {
+ source.dontcache = false;
+ }
+ source.data = {};
+ }
+ }
+ else {
+ query.queriesdata[-idx - 1] = flatArray(data);
+ }
+ query.sourceslen--;
+ if (query.sourceslen > 0)
+ { return; }
+ return queryfn3(alasql, query);
}
-*/
-var alasqlparser = (function(){
-var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,13],$V1=[1,104],$V2=[1,102],$V3=[1,103],$V4=[1,6],$V5=[1,42],$V6=[1,79],$V7=[1,76],$V8=[1,94],$V9=[1,93],$Va=[1,69],$Vb=[1,101],$Vc=[1,85],$Vd=[1,64],$Ve=[1,71],$Vf=[1,84],$Vg=[1,66],$Vh=[1,70],$Vi=[1,68],$Vj=[1,61],$Vk=[1,74],$Vl=[1,62],$Vm=[1,67],$Vn=[1,83],$Vo=[1,77],$Vp=[1,86],$Vq=[1,87],$Vr=[1,81],$Vs=[1,82],$Vt=[1,80],$Vu=[1,88],$Vv=[1,89],$Vw=[1,90],$Vx=[1,91],$Vy=[1,92],$Vz=[1,98],$VA=[1,65],$VB=[1,78],$VC=[1,72],$VD=[1,96],$VE=[1,97],$VF=[1,63],$VG=[1,73],$VH=[1,108],$VI=[1,107],$VJ=[10,306,602,764],$VK=[10,306,310,602,764],$VL=[1,115],$VM=[1,116],$VN=[1,117],$VO=[1,118],$VP=[1,119],$VQ=[130,353,410],$VR=[1,127],$VS=[1,126],$VT=[1,134],$VU=[1,164],$VV=[1,175],$VW=[1,178],$VX=[1,173],$VY=[1,181],$VZ=[1,185],$V_=[1,160],$V$=[1,182],$V01=[1,169],$V11=[1,171],$V21=[1,174],$V31=[1,183],$V41=[1,166],$V51=[1,193],$V61=[1,188],$V71=[1,189],$V81=[1,194],$V91=[1,195],$Va1=[1,196],$Vb1=[1,197],$Vc1=[1,198],$Vd1=[1,199],$Ve1=[1,200],$Vf1=[1,201],$Vg1=[1,202],$Vh1=[1,176],$Vi1=[1,177],$Vj1=[1,179],$Vk1=[1,180],$Vl1=[1,186],$Vm1=[1,192],$Vn1=[1,184],$Vo1=[1,187],$Vp1=[1,172],$Vq1=[1,170],$Vr1=[1,191],$Vs1=[1,203],$Vt1=[2,4,5],$Vu1=[2,471],$Vv1=[1,206],$Vw1=[1,211],$Vx1=[1,220],$Vy1=[1,216],$Vz1=[10,72,78,93,98,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$VA1=[2,4,5,10,72,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],$VB1=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VC1=[1,249],$VD1=[1,256],$VE1=[1,265],$VF1=[1,270],$VG1=[1,269],$VH1=[2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,149,152,154,156,162,168,169,179,180,181,183,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],$VI1=[2,162],$VJ1=[1,281],$VK1=[10,74,78,306,310,505,602,764],$VL1=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,193,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,302,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,344,356,368,369,370,373,374,386,389,396,400,401,402,403,404,405,406,408,409,417,418,420,424,426,433,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,514,515,516,517,602,764],$VM1=[2,4,5,10,53,72,89,124,146,156,189,266,267,290,306,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$VN1=[1,562],$VO1=[1,564],$VP1=[2,503],$VQ1=[1,569],$VR1=[1,580],$VS1=[1,583],$VT1=[1,584],$VU1=[10,78,89,132,137,146,189,296,306,310,470,602,764],$VV1=[10,74,306,310,602,764],$VW1=[2,567],$VX1=[1,602],$VY1=[2,4,5,156],$VZ1=[1,640],$V_1=[1,612],$V$1=[1,646],$V02=[1,647],$V12=[1,620],$V22=[1,631],$V32=[1,618],$V42=[1,626],$V52=[1,619],$V62=[1,627],$V72=[1,629],$V82=[1,621],$V92=[1,622],$Va2=[1,641],$Vb2=[1,638],$Vc2=[1,639],$Vd2=[1,615],$Ve2=[1,617],$Vf2=[1,609],$Vg2=[1,610],$Vh2=[1,611],$Vi2=[1,613],$Vj2=[1,614],$Vk2=[1,616],$Vl2=[1,623],$Vm2=[1,624],$Vn2=[1,628],$Vo2=[1,630],$Vp2=[1,632],$Vq2=[1,633],$Vr2=[1,634],$Vs2=[1,635],$Vt2=[1,636],$Vu2=[1,642],$Vv2=[1,643],$Vw2=[1,644],$Vx2=[1,645],$Vy2=[2,287],$Vz2=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VA2=[2,359],$VB2=[1,668],$VC2=[1,678],$VD2=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VE2=[1,694],$VF2=[1,703],$VG2=[1,702],$VH2=[2,4,5,10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VI2=[10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VJ2=[2,202],$VK2=[1,725],$VL2=[10,72,78,93,98,118,128,162,168,169,183,232,245,247,306,310,602,764],$VM2=[2,163],$VN2=[1,728],$VO2=[2,4,5,112],$VP2=[1,741],$VQ2=[1,760],$VR2=[1,740],$VS2=[1,739],$VT2=[1,734],$VU2=[1,735],$VV2=[1,737],$VW2=[1,738],$VX2=[1,742],$VY2=[1,743],$VZ2=[1,744],$V_2=[1,745],$V$2=[1,746],$V03=[1,747],$V13=[1,748],$V23=[1,749],$V33=[1,750],$V43=[1,751],$V53=[1,752],$V63=[1,753],$V73=[1,754],$V83=[1,755],$V93=[1,756],$Va3=[1,757],$Vb3=[1,759],$Vc3=[1,761],$Vd3=[1,762],$Ve3=[1,763],$Vf3=[1,764],$Vg3=[1,765],$Vh3=[1,766],$Vi3=[1,767],$Vj3=[1,770],$Vk3=[1,771],$Vl3=[1,772],$Vm3=[1,773],$Vn3=[1,774],$Vo3=[1,775],$Vp3=[1,776],$Vq3=[1,777],$Vr3=[1,778],$Vs3=[1,779],$Vt3=[1,780],$Vu3=[1,781],$Vv3=[74,89,189],$Vw3=[10,74,78,154,187,230,297,306,310,343,356,368,369,373,374,602,764],$Vx3=[1,798],$Vy3=[10,74,78,300,306,310,602,764],$Vz3=[1,799],$VA3=[1,805],$VB3=[1,806],$VC3=[1,810],$VD3=[10,74,78,306,310,602,764],$VE3=[2,4,5,77,131,132,137,143,145,149,152,154,156,179,180,181,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,312,317,420,424],$VF3=[10,72,78,93,98,107,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$VG3=[2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,149,152,154,156,162,164,168,169,179,180,181,183,185,187,195,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],$VH3=[2,4,5,132,296],$VI3=[1,844],$VJ3=[10,74,76,78,306,310,602,764],$VK3=[2,738],$VL3=[10,74,76,78,132,139,141,145,152,306,310,420,424,602,764],$VM3=[2,1161],$VN3=[10,74,76,78,139,141,145,152,306,310,420,424,602,764],$VO3=[10,74,76,78,139,141,145,306,310,420,424,602,764],$VP3=[10,74,78,139,141,306,310,602,764],$VQ3=[10,78,89,132,146,189,296,306,310,470,602,764],$VR3=[335,338,339],$VS3=[2,764],$VT3=[1,869],$VU3=[1,870],$VV3=[1,871],$VW3=[1,872],$VX3=[1,881],$VY3=[1,880],$VZ3=[164,166,334],$V_3=[2,444],$V$3=[1,936],$V04=[2,4,5,77,131,156,290,291,292,293],$V14=[1,951],$V24=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$V34=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$V44=[2,375],$V54=[1,958],$V64=[306,308,310],$V74=[74,300],$V84=[74,300,426],$V94=[1,965],$Va4=[2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vb4=[74,426],$Vc4=[1,978],$Vd4=[1,977],$Ve4=[1,984],$Vf4=[10,72,78,93,98,118,128,162,168,169,232,245,247,306,310,602,764],$Vg4=[1,1010],$Vh4=[10,72,78,306,310,602,764],$Vi4=[1,1016],$Vj4=[1,1017],$Vk4=[1,1018],$Vl4=[2,4,5,10,72,74,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],$Vm4=[1,1068],$Vn4=[1,1067],$Vo4=[1,1081],$Vp4=[1,1080],$Vq4=[1,1088],$Vr4=[10,72,74,78,93,98,107,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$Vs4=[1,1119],$Vt4=[10,78,89,146,189,306,310,470,602,764],$Vu4=[1,1139],$Vv4=[1,1138],$Vw4=[1,1137],$Vx4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vy4=[1,1153],$Vz4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VA4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,315,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VB4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VC4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VD4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,320,321,322,323,324,325,326,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VE4=[2,406],$VF4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VG4=[2,285],$VH4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VI4=[10,78,306,310,602,764],$VJ4=[1,1189],$VK4=[10,77,78,143,145,152,181,302,306,310,420,424,602,764],$VL4=[10,74,78,306,308,310,464,602,764],$VM4=[1,1200],$VN4=[10,72,78,118,128,162,168,169,232,245,247,306,310,602,764],$VO4=[10,72,74,78,93,98,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$VP4=[2,4,5,72,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],$VQ4=[2,4,5,72,74,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],$VR4=[2,1085],$VS4=[2,4,5,72,74,76,77,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],$VT4=[1,1252],$VU4=[10,74,78,128,306,308,310,464,602,764],$VV4=[115,116,124],$VW4=[2,584],$VX4=[1,1280],$VY4=[76,139],$VZ4=[2,724],$V_4=[1,1297],$V$4=[1,1298],$V05=[2,4,5,10,53,72,76,89,124,146,156,189,230,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$V15=[2,330],$V25=[1,1322],$V35=[1,1336],$V45=[1,1338],$V55=[2,487],$V65=[74,78],$V75=[10,306,308,310,464,602,764],$V85=[10,72,78,118,162,168,169,232,245,247,306,310,602,764],$V95=[1,1354],$Va5=[1,1358],$Vb5=[1,1359],$Vc5=[1,1361],$Vd5=[1,1362],$Ve5=[1,1363],$Vf5=[1,1364],$Vg5=[1,1365],$Vh5=[1,1366],$Vi5=[1,1367],$Vj5=[1,1368],$Vk5=[10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],$Vl5=[1,1393],$Vm5=[10,72,78,118,162,168,169,245,247,306,310,602,764],$Vn5=[10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],$Vo5=[1,1490],$Vp5=[1,1492],$Vq5=[2,4,5,77,143,145,152,156,181,290,291,292,293,302,420,424],$Vr5=[1,1506],$Vs5=[10,72,74,78,162,168,169,245,247,306,310,602,764],$Vt5=[1,1524],$Vu5=[1,1526],$Vv5=[1,1527],$Vw5=[1,1523],$Vx5=[1,1522],$Vy5=[1,1521],$Vz5=[1,1528],$VA5=[1,1518],$VB5=[1,1519],$VC5=[1,1520],$VD5=[1,1545],$VE5=[2,4,5,10,53,72,89,124,146,156,189,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$VF5=[1,1556],$VG5=[1,1564],$VH5=[1,1563],$VI5=[10,72,78,162,168,169,245,247,306,310,602,764],$VJ5=[10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VK5=[2,4,5,10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VL5=[1,1621],$VM5=[1,1623],$VN5=[1,1620],$VO5=[1,1622],$VP5=[187,193,368,369,370,373],$VQ5=[2,515],$VR5=[1,1628],$VS5=[1,1647],$VT5=[10,72,78,162,168,169,306,310,602,764],$VU5=[1,1657],$VV5=[1,1658],$VW5=[1,1659],$VX5=[1,1678],$VY5=[4,10,243,306,310,343,356,602,764],$VZ5=[1,1726],$V_5=[10,72,74,78,118,162,168,169,239,245,247,306,310,602,764],$V$5=[2,4,5,77],$V06=[1,1820],$V16=[1,1832],$V26=[1,1851],$V36=[10,72,78,162,168,169,306,310,415,602,764],$V46=[10,74,78,230,306,310,602,764];
-var parser = {trace: function trace() { },
-yy: {},
-symbols_: {"error":2,"Literal":3,"LITERAL":4,"BRALITERAL":5,"NonReserved":6,"LiteralWithSpaces":7,"main":8,"Statements":9,"EOF":10,"Statements_group0":11,"AStatement":12,"ExplainStatement":13,"EXPLAIN":14,"QUERY":15,"PLAN":16,"Statement":17,"AlterTable":18,"AttachDatabase":19,"Call":20,"CreateDatabase":21,"CreateIndex":22,"CreateGraph":23,"CreateTable":24,"CreateView":25,"CreateEdge":26,"CreateVertex":27,"Declare":28,"Delete":29,"DetachDatabase":30,"DropDatabase":31,"DropIndex":32,"DropTable":33,"DropView":34,"If":35,"Insert":36,"Merge":37,"Reindex":38,"RenameTable":39,"Select":40,"ShowCreateTable":41,"ShowColumns":42,"ShowDatabases":43,"ShowIndex":44,"ShowTables":45,"TruncateTable":46,"WithSelect":47,"CreateTrigger":48,"DropTrigger":49,"BeginTransaction":50,"CommitTransaction":51,"RollbackTransaction":52,"EndTransaction":53,"UseDatabase":54,"Update":55,"JavaScript":56,"Source":57,"Assert":58,"While":59,"Continue":60,"Break":61,"BeginEnd":62,"Print":63,"Require":64,"SetVariable":65,"ExpressionStatement":66,"AddRule":67,"Query":68,"Echo":69,"CreateFunction":70,"CreateAggregate":71,"WITH":72,"WithTablesList":73,"COMMA":74,"WithTable":75,"AS":76,"LPAR":77,"RPAR":78,"SelectClause":79,"Select_option0":80,"IntoClause":81,"FromClause":82,"Select_option1":83,"WhereClause":84,"GroupClause":85,"OrderClause":86,"LimitClause":87,"UnionClause":88,"SEARCH":89,"Select_repetition0":90,"Select_option2":91,"PivotClause":92,"PIVOT":93,"Expression":94,"FOR":95,"PivotClause_option0":96,"PivotClause_option1":97,"UNPIVOT":98,"IN":99,"ColumnsList":100,"PivotClause_option2":101,"PivotClause2":102,"AsList":103,"AsLiteral":104,"AsPart":105,"RemoveClause":106,"REMOVE":107,"RemoveClause_option0":108,"RemoveColumnsList":109,"RemoveColumn":110,"Column":111,"LIKE":112,"StringValue":113,"ArrowDot":114,"ARROW":115,"DOT":116,"SearchSelector":117,"ORDER":118,"BY":119,"OrderExpressionsList":120,"SearchSelector_option0":121,"DOTDOT":122,"CARET":123,"EQ":124,"SearchSelector_repetition_plus0":125,"SearchSelector_repetition_plus1":126,"SearchSelector_option1":127,"WHERE":128,"OF":129,"CLASS":130,"NUMBER":131,"STRING":132,"SLASH":133,"VERTEX":134,"EDGE":135,"EXCLAMATION":136,"SHARP":137,"MODULO":138,"GT":139,"LT":140,"GTGT":141,"LTLT":142,"DOLLAR":143,"Json":144,"AT":145,"SET":146,"SetColumnsList":147,"TO":148,"VALUE":149,"ROW":150,"ExprList":151,"COLON":152,"PlusStar":153,"NOT":154,"SearchSelector_repetition2":155,"IF":156,"SearchSelector_repetition3":157,"Aggregator":158,"SearchSelector_repetition4":159,"SearchSelector_group0":160,"SearchSelector_repetition5":161,"UNION":162,"SearchSelectorList":163,"ALL":164,"SearchSelector_repetition6":165,"ANY":166,"SearchSelector_repetition7":167,"INTERSECT":168,"EXCEPT":169,"AND":170,"OR":171,"PATH":172,"RETURN":173,"ResultColumns":174,"REPEAT":175,"SearchSelector_repetition8":176,"SearchSelectorList_repetition0":177,"SearchSelectorList_repetition1":178,"PLUS":179,"STAR":180,"QUESTION":181,"SearchFrom":182,"FROM":183,"SelectModifier":184,"DISTINCT":185,"TopClause":186,"UNIQUE":187,"SelectClause_option0":188,"SELECT":189,"COLUMN":190,"MATRIX":191,"TEXTSTRING":192,"INDEX":193,"RECORDSET":194,"TOP":195,"NumValue":196,"TopClause_option0":197,"INTO":198,"Table":199,"FuncValue":200,"ParamValue":201,"VarValue":202,"FromTablesList":203,"JoinTablesList":204,"ApplyClause":205,"CROSS":206,"APPLY":207,"OUTER":208,"FromTable":209,"FromTable_option0":210,"FromTable_option1":211,"INDEXED":212,"INSERTED":213,"FromString":214,"JoinTable":215,"JoinMode":216,"JoinTableAs":217,"OnClause":218,"JoinTableAs_option0":219,"JoinTableAs_option1":220,"JoinModeMode":221,"NATURAL":222,"JOIN":223,"INNER":224,"LEFT":225,"RIGHT":226,"FULL":227,"SEMI":228,"ANTI":229,"ON":230,"USING":231,"GROUP":232,"GroupExpressionsList":233,"HavingClause":234,"GroupExpression":235,"GROUPING":236,"ROLLUP":237,"CUBE":238,"HAVING":239,"CORRESPONDING":240,"OrderExpression":241,"DIRECTION":242,"COLLATE":243,"NOCASE":244,"LIMIT":245,"OffsetClause":246,"OFFSET":247,"LimitClause_option0":248,"FETCH":249,"LimitClause_option1":250,"LimitClause_option2":251,"LimitClause_option3":252,"ResultColumn":253,"Star":254,"AggrValue":255,"Op":256,"LogicValue":257,"NullValue":258,"ExistsValue":259,"CaseValue":260,"CastClause":261,"ArrayValue":262,"NewClause":263,"Expression_group0":264,"CURRENT_TIMESTAMP":265,"JAVASCRIPT":266,"CREATE":267,"FUNCTION":268,"AGGREGATE":269,"NEW":270,"CAST":271,"ColumnType":272,"CONVERT":273,"PrimitiveValue":274,"OverClause":275,"OVER":276,"OverPartitionClause":277,"OverOrderByClause":278,"PARTITION":279,"SUM":280,"COUNT":281,"MIN":282,"MAX":283,"AVG":284,"FIRST":285,"LAST":286,"AGGR":287,"ARRAY":288,"FuncValue_option0":289,"REPLACE":290,"DATEADD":291,"DATEDIFF":292,"INTERVAL":293,"TRUE":294,"FALSE":295,"NSTRING":296,"NULL":297,"EXISTS":298,"ARRAYLBRA":299,"RBRA":300,"ParamValue_group0":301,"BRAQUESTION":302,"CASE":303,"WhensList":304,"ElseClause":305,"END":306,"When":307,"WHEN":308,"THEN":309,"ELSE":310,"REGEXP":311,"TILDA":312,"GLOB":313,"ESCAPE":314,"NOT_LIKE":315,"BARBAR":316,"MINUS":317,"AMPERSAND":318,"BAR":319,"GE":320,"LE":321,"EQEQ":322,"EQEQEQ":323,"NE":324,"NEEQEQ":325,"NEEQEQEQ":326,"CondOp":327,"AllSome":328,"ColFunc":329,"BETWEEN":330,"NOT_BETWEEN":331,"IS":332,"DOUBLECOLON":333,"SOME":334,"UPDATE":335,"SetColumn":336,"SetColumn_group0":337,"DELETE":338,"INSERT":339,"Into":340,"Values":341,"ValuesListsList":342,"DEFAULT":343,"VALUES":344,"ValuesList":345,"Value":346,"DateValue":347,"TemporaryClause":348,"TableClass":349,"IfNotExists":350,"CreateTableDefClause":351,"CreateTableOptionsClause":352,"TABLE":353,"CreateTableOptions":354,"CreateTableOption":355,"IDENTITY":356,"TEMP":357,"ColumnDefsList":358,"ConstraintsList":359,"Constraint":360,"ConstraintName":361,"PrimaryKey":362,"ForeignKey":363,"UniqueKey":364,"IndexKey":365,"Check":366,"CONSTRAINT":367,"CHECK":368,"PRIMARY":369,"KEY":370,"PrimaryKey_option0":371,"ColsList":372,"FOREIGN":373,"REFERENCES":374,"ForeignKey_option0":375,"OnForeignKeyClause":376,"ParColsList":377,"OnDeleteClause":378,"OnUpdateClause":379,"NO":380,"ACTION":381,"UniqueKey_option0":382,"UniqueKey_option1":383,"ColumnDef":384,"ColumnConstraintsClause":385,"ColumnConstraints":386,"SingularColumnType":387,"NumberMax":388,"ENUM":389,"MAXNUM":390,"ColumnConstraintsList":391,"ColumnConstraint":392,"ParLiteral":393,"ColumnConstraint_option0":394,"ColumnConstraint_option1":395,"DROP":396,"DropTable_group0":397,"IfExists":398,"TablesList":399,"ALTER":400,"RENAME":401,"ADD":402,"MODIFY":403,"ATTACH":404,"DATABASE":405,"DETACH":406,"AsClause":407,"USE":408,"SHOW":409,"VIEW":410,"CreateView_option0":411,"CreateView_option1":412,"SubqueryRestriction":413,"READ":414,"ONLY":415,"OPTION":416,"SOURCE":417,"ASSERT":418,"JsonObject":419,"ATLBRA":420,"JsonArray":421,"JsonValue":422,"JsonPrimitiveValue":423,"LCUR":424,"JsonPropertiesList":425,"RCUR":426,"JsonElementsList":427,"JsonProperty":428,"OnOff":429,"SetPropsList":430,"AtDollar":431,"SetProp":432,"OFF":433,"COMMIT":434,"TRANSACTION":435,"ROLLBACK":436,"BEGIN":437,"ElseStatement":438,"WHILE":439,"CONTINUE":440,"BREAK":441,"PRINT":442,"REQUIRE":443,"StringValuesList":444,"PluginsList":445,"Plugin":446,"ECHO":447,"DECLARE":448,"DeclaresList":449,"DeclareItem":450,"TRUNCATE":451,"MERGE":452,"MergeInto":453,"MergeUsing":454,"MergeOn":455,"MergeMatchedList":456,"OutputClause":457,"MergeMatched":458,"MergeNotMatched":459,"MATCHED":460,"MergeMatchedAction":461,"MergeNotMatchedAction":462,"TARGET":463,"OUTPUT":464,"CreateVertex_option0":465,"CreateVertex_option1":466,"CreateVertex_option2":467,"CreateVertexSet":468,"SharpValue":469,"CONTENT":470,"CreateEdge_option0":471,"GRAPH":472,"GraphList":473,"GraphVertexEdge":474,"GraphElement":475,"GraphVertexEdge_option0":476,"GraphVertexEdge_option1":477,"GraphElementVar":478,"GraphVertexEdge_option2":479,"GraphVertexEdge_option3":480,"GraphVertexEdge_option4":481,"GraphVar":482,"GraphAsClause":483,"GraphAtClause":484,"GraphElement2":485,"GraphElement2_option0":486,"GraphElement2_option1":487,"GraphElement2_option2":488,"GraphElement2_option3":489,"GraphElement_option0":490,"GraphElement_option1":491,"GraphElement_option2":492,"SharpLiteral":493,"GraphElement_option3":494,"GraphElement_option4":495,"GraphElement_option5":496,"ColonLiteral":497,"DeleteVertex":498,"DeleteVertex_option0":499,"DeleteEdge":500,"DeleteEdge_option0":501,"DeleteEdge_option1":502,"DeleteEdge_option2":503,"Term":504,"COLONDASH":505,"TermsList":506,"QUESTIONDASH":507,"CALL":508,"TRIGGER":509,"BeforeAfter":510,"InsertDeleteUpdate":511,"CreateTrigger_option0":512,"CreateTrigger_option1":513,"BEFORE":514,"AFTER":515,"INSTEAD":516,"REINDEX":517,"A":518,"ABSENT":519,"ABSOLUTE":520,"ACCORDING":521,"ADA":522,"ADMIN":523,"ALWAYS":524,"ASC":525,"ASSERTION":526,"ASSIGNMENT":527,"ATTRIBUTE":528,"ATTRIBUTES":529,"BASE64":530,"BERNOULLI":531,"BLOCKED":532,"BOM":533,"BREADTH":534,"C":535,"CASCADE":536,"CATALOG":537,"CATALOG_NAME":538,"CHAIN":539,"CHARACTERISTICS":540,"CHARACTERS":541,"CHARACTER_SET_CATALOG":542,"CHARACTER_SET_NAME":543,"CHARACTER_SET_SCHEMA":544,"CLASS_ORIGIN":545,"COBOL":546,"COLLATION":547,"COLLATION_CATALOG":548,"COLLATION_NAME":549,"COLLATION_SCHEMA":550,"COLUMNS":551,"COLUMN_NAME":552,"COMMAND_FUNCTION":553,"COMMAND_FUNCTION_CODE":554,"COMMITTED":555,"CONDITION_NUMBER":556,"CONNECTION":557,"CONNECTION_NAME":558,"CONSTRAINTS":559,"CONSTRAINT_CATALOG":560,"CONSTRAINT_NAME":561,"CONSTRAINT_SCHEMA":562,"CONSTRUCTOR":563,"CONTROL":564,"CURSOR_NAME":565,"DATA":566,"DATETIME_INTERVAL_CODE":567,"DATETIME_INTERVAL_PRECISION":568,"DB":569,"DEFAULTS":570,"DEFERRABLE":571,"DEFERRED":572,"DEFINED":573,"DEFINER":574,"DEGREE":575,"DEPTH":576,"DERIVED":577,"DESC":578,"DESCRIPTOR":579,"DIAGNOSTICS":580,"DISPATCH":581,"DOCUMENT":582,"DOMAIN":583,"DYNAMIC_FUNCTION":584,"DYNAMIC_FUNCTION_CODE":585,"EMPTY":586,"ENCODING":587,"ENFORCED":588,"EXCLUDE":589,"EXCLUDING":590,"EXPRESSION":591,"FILE":592,"FINAL":593,"FLAG":594,"FOLLOWING":595,"FORTRAN":596,"FOUND":597,"FS":598,"G":599,"GENERAL":600,"GENERATED":601,"GO":602,"GOTO":603,"GRANTED":604,"HEX":605,"HIERARCHY":606,"ID":607,"IGNORE":608,"IMMEDIATE":609,"IMMEDIATELY":610,"IMPLEMENTATION":611,"INCLUDING":612,"INCREMENT":613,"INDENT":614,"INITIALLY":615,"INPUT":616,"INSTANCE":617,"INSTANTIABLE":618,"INTEGRITY":619,"INVOKER":620,"ISOLATION":621,"K":622,"KEY_MEMBER":623,"KEY_TYPE":624,"LENGTH":625,"LEVEL":626,"LIBRARY":627,"LINK":628,"LOCATION":629,"LOCATOR":630,"M":631,"MAP":632,"MAPPING":633,"MAXVALUE":634,"MESSAGE_LENGTH":635,"MESSAGE_OCTET_LENGTH":636,"MESSAGE_TEXT":637,"MINVALUE":638,"MORE":639,"MUMPS":640,"NAME":641,"NAMES":642,"NAMESPACE":643,"NESTING":644,"NEXT":645,"NFC":646,"NFD":647,"NFKC":648,"NFKD":649,"NIL":650,"NORMALIZED":651,"NULLABLE":652,"NULLS":653,"OBJECT":654,"OCTETS":655,"OPTIONS":656,"ORDERING":657,"ORDINALITY":658,"OTHERS":659,"OVERRIDING":660,"P":661,"PAD":662,"PARAMETER_MODE":663,"PARAMETER_NAME":664,"PARAMETER_ORDINAL_POSITION":665,"PARAMETER_SPECIFIC_CATALOG":666,"PARAMETER_SPECIFIC_NAME":667,"PARAMETER_SPECIFIC_SCHEMA":668,"PARTIAL":669,"PASCAL":670,"PASSING":671,"PASSTHROUGH":672,"PERMISSION":673,"PLACING":674,"PLI":675,"PRECEDING":676,"PRESERVE":677,"PRIOR":678,"PRIVILEGES":679,"PUBLIC":680,"RECOVERY":681,"RELATIVE":682,"REPEATABLE":683,"REQUIRING":684,"RESPECT":685,"RESTART":686,"RESTORE":687,"RESTRICT":688,"RETURNED_CARDINALITY":689,"RETURNED_LENGTH":690,"RETURNED_OCTET_LENGTH":691,"RETURNED_SQLSTATE":692,"RETURNING":693,"ROLE":694,"ROUTINE":695,"ROUTINE_CATALOG":696,"ROUTINE_NAME":697,"ROUTINE_SCHEMA":698,"ROW_COUNT":699,"SCALE":700,"SCHEMA":701,"SCHEMA_NAME":702,"SCOPE_CATALOG":703,"SCOPE_NAME":704,"SCOPE_SCHEMA":705,"SECTION":706,"SECURITY":707,"SELECTIVE":708,"SELF":709,"SEQUENCE":710,"SERIALIZABLE":711,"SERVER":712,"SERVER_NAME":713,"SESSION":714,"SETS":715,"SIMPLE":716,"SIZE":717,"SPACE":718,"SPECIFIC_NAME":719,"STANDALONE":720,"STATE":721,"STATEMENT":722,"STRIP":723,"STRUCTURE":724,"STYLE":725,"SUBCLASS_ORIGIN":726,"T":727,"TABLE_NAME":728,"TEMPORARY":729,"TIES":730,"TOKEN":731,"TOP_LEVEL_COUNT":732,"TRANSACTIONS_COMMITTED":733,"TRANSACTIONS_ROLLED_BACK":734,"TRANSACTION_ACTIVE":735,"TRANSFORM":736,"TRANSFORMS":737,"TRIGGER_CATALOG":738,"TRIGGER_NAME":739,"TRIGGER_SCHEMA":740,"TYPE":741,"UNBOUNDED":742,"UNCOMMITTED":743,"UNDER":744,"UNLINK":745,"UNNAMED":746,"UNTYPED":747,"URI":748,"USAGE":749,"USER_DEFINED_TYPE_CATALOG":750,"USER_DEFINED_TYPE_CODE":751,"USER_DEFINED_TYPE_NAME":752,"USER_DEFINED_TYPE_SCHEMA":753,"VALID":754,"VERSION":755,"WHITESPACE":756,"WORK":757,"WRAPPER":758,"WRITE":759,"XMLDECLARATION":760,"XMLSCHEMA":761,"YES":762,"ZONE":763,"SEMICOLON":764,"PERCENT":765,"ROWS":766,"FuncValue_option0_group0":767,"$accept":0,"$end":1},
-terminals_: {2:"error",4:"LITERAL",5:"BRALITERAL",10:"EOF",14:"EXPLAIN",15:"QUERY",16:"PLAN",53:"EndTransaction",72:"WITH",74:"COMMA",76:"AS",77:"LPAR",78:"RPAR",89:"SEARCH",93:"PIVOT",95:"FOR",98:"UNPIVOT",99:"IN",107:"REMOVE",112:"LIKE",115:"ARROW",116:"DOT",118:"ORDER",119:"BY",122:"DOTDOT",123:"CARET",124:"EQ",128:"WHERE",129:"OF",130:"CLASS",131:"NUMBER",132:"STRING",133:"SLASH",134:"VERTEX",135:"EDGE",136:"EXCLAMATION",137:"SHARP",138:"MODULO",139:"GT",140:"LT",141:"GTGT",142:"LTLT",143:"DOLLAR",145:"AT",146:"SET",148:"TO",149:"VALUE",150:"ROW",152:"COLON",154:"NOT",156:"IF",162:"UNION",164:"ALL",166:"ANY",168:"INTERSECT",169:"EXCEPT",170:"AND",171:"OR",172:"PATH",173:"RETURN",175:"REPEAT",179:"PLUS",180:"STAR",181:"QUESTION",183:"FROM",185:"DISTINCT",187:"UNIQUE",189:"SELECT",190:"COLUMN",191:"MATRIX",192:"TEXTSTRING",193:"INDEX",194:"RECORDSET",195:"TOP",198:"INTO",206:"CROSS",207:"APPLY",208:"OUTER",212:"INDEXED",213:"INSERTED",222:"NATURAL",223:"JOIN",224:"INNER",225:"LEFT",226:"RIGHT",227:"FULL",228:"SEMI",229:"ANTI",230:"ON",231:"USING",232:"GROUP",236:"GROUPING",237:"ROLLUP",238:"CUBE",239:"HAVING",240:"CORRESPONDING",242:"DIRECTION",243:"COLLATE",244:"NOCASE",245:"LIMIT",247:"OFFSET",249:"FETCH",265:"CURRENT_TIMESTAMP",266:"JAVASCRIPT",267:"CREATE",268:"FUNCTION",269:"AGGREGATE",270:"NEW",271:"CAST",273:"CONVERT",276:"OVER",279:"PARTITION",280:"SUM",281:"COUNT",282:"MIN",283:"MAX",284:"AVG",285:"FIRST",286:"LAST",287:"AGGR",288:"ARRAY",290:"REPLACE",291:"DATEADD",292:"DATEDIFF",293:"INTERVAL",294:"TRUE",295:"FALSE",296:"NSTRING",297:"NULL",298:"EXISTS",299:"ARRAYLBRA",300:"RBRA",302:"BRAQUESTION",303:"CASE",306:"END",308:"WHEN",309:"THEN",310:"ELSE",311:"REGEXP",312:"TILDA",313:"GLOB",314:"ESCAPE",315:"NOT_LIKE",316:"BARBAR",317:"MINUS",318:"AMPERSAND",319:"BAR",320:"GE",321:"LE",322:"EQEQ",323:"EQEQEQ",324:"NE",325:"NEEQEQ",326:"NEEQEQEQ",330:"BETWEEN",331:"NOT_BETWEEN",332:"IS",333:"DOUBLECOLON",334:"SOME",335:"UPDATE",338:"DELETE",339:"INSERT",343:"DEFAULT",344:"VALUES",347:"DateValue",353:"TABLE",356:"IDENTITY",357:"TEMP",367:"CONSTRAINT",368:"CHECK",369:"PRIMARY",370:"KEY",373:"FOREIGN",374:"REFERENCES",380:"NO",381:"ACTION",386:"ColumnConstraints",389:"ENUM",390:"MAXNUM",396:"DROP",400:"ALTER",401:"RENAME",402:"ADD",403:"MODIFY",404:"ATTACH",405:"DATABASE",406:"DETACH",408:"USE",409:"SHOW",410:"VIEW",414:"READ",415:"ONLY",416:"OPTION",417:"SOURCE",418:"ASSERT",420:"ATLBRA",424:"LCUR",426:"RCUR",433:"OFF",434:"COMMIT",435:"TRANSACTION",436:"ROLLBACK",437:"BEGIN",439:"WHILE",440:"CONTINUE",441:"BREAK",442:"PRINT",443:"REQUIRE",447:"ECHO",448:"DECLARE",451:"TRUNCATE",452:"MERGE",460:"MATCHED",463:"TARGET",464:"OUTPUT",470:"CONTENT",472:"GRAPH",505:"COLONDASH",507:"QUESTIONDASH",508:"CALL",509:"TRIGGER",514:"BEFORE",515:"AFTER",516:"INSTEAD",517:"REINDEX",518:"A",519:"ABSENT",520:"ABSOLUTE",521:"ACCORDING",522:"ADA",523:"ADMIN",524:"ALWAYS",525:"ASC",526:"ASSERTION",527:"ASSIGNMENT",528:"ATTRIBUTE",529:"ATTRIBUTES",530:"BASE64",531:"BERNOULLI",532:"BLOCKED",533:"BOM",534:"BREADTH",535:"C",536:"CASCADE",537:"CATALOG",538:"CATALOG_NAME",539:"CHAIN",540:"CHARACTERISTICS",541:"CHARACTERS",542:"CHARACTER_SET_CATALOG",543:"CHARACTER_SET_NAME",544:"CHARACTER_SET_SCHEMA",545:"CLASS_ORIGIN",546:"COBOL",547:"COLLATION",548:"COLLATION_CATALOG",549:"COLLATION_NAME",550:"COLLATION_SCHEMA",551:"COLUMNS",552:"COLUMN_NAME",553:"COMMAND_FUNCTION",554:"COMMAND_FUNCTION_CODE",555:"COMMITTED",556:"CONDITION_NUMBER",557:"CONNECTION",558:"CONNECTION_NAME",559:"CONSTRAINTS",560:"CONSTRAINT_CATALOG",561:"CONSTRAINT_NAME",562:"CONSTRAINT_SCHEMA",563:"CONSTRUCTOR",564:"CONTROL",565:"CURSOR_NAME",566:"DATA",567:"DATETIME_INTERVAL_CODE",568:"DATETIME_INTERVAL_PRECISION",569:"DB",570:"DEFAULTS",571:"DEFERRABLE",572:"DEFERRED",573:"DEFINED",574:"DEFINER",575:"DEGREE",576:"DEPTH",577:"DERIVED",578:"DESC",579:"DESCRIPTOR",580:"DIAGNOSTICS",581:"DISPATCH",582:"DOCUMENT",583:"DOMAIN",584:"DYNAMIC_FUNCTION",585:"DYNAMIC_FUNCTION_CODE",586:"EMPTY",587:"ENCODING",588:"ENFORCED",589:"EXCLUDE",590:"EXCLUDING",591:"EXPRESSION",592:"FILE",593:"FINAL",594:"FLAG",595:"FOLLOWING",596:"FORTRAN",597:"FOUND",598:"FS",599:"G",600:"GENERAL",601:"GENERATED",602:"GO",603:"GOTO",604:"GRANTED",605:"HEX",606:"HIERARCHY",607:"ID",608:"IGNORE",609:"IMMEDIATE",610:"IMMEDIATELY",611:"IMPLEMENTATION",612:"INCLUDING",613:"INCREMENT",614:"INDENT",615:"INITIALLY",616:"INPUT",617:"INSTANCE",618:"INSTANTIABLE",619:"INTEGRITY",620:"INVOKER",621:"ISOLATION",622:"K",623:"KEY_MEMBER",624:"KEY_TYPE",625:"LENGTH",626:"LEVEL",627:"LIBRARY",628:"LINK",629:"LOCATION",630:"LOCATOR",631:"M",632:"MAP",633:"MAPPING",634:"MAXVALUE",635:"MESSAGE_LENGTH",636:"MESSAGE_OCTET_LENGTH",637:"MESSAGE_TEXT",638:"MINVALUE",639:"MORE",640:"MUMPS",641:"NAME",642:"NAMES",643:"NAMESPACE",644:"NESTING",645:"NEXT",646:"NFC",647:"NFD",648:"NFKC",649:"NFKD",650:"NIL",651:"NORMALIZED",652:"NULLABLE",653:"NULLS",654:"OBJECT",655:"OCTETS",656:"OPTIONS",657:"ORDERING",658:"ORDINALITY",659:"OTHERS",660:"OVERRIDING",661:"P",662:"PAD",663:"PARAMETER_MODE",664:"PARAMETER_NAME",665:"PARAMETER_ORDINAL_POSITION",666:"PARAMETER_SPECIFIC_CATALOG",667:"PARAMETER_SPECIFIC_NAME",668:"PARAMETER_SPECIFIC_SCHEMA",669:"PARTIAL",670:"PASCAL",671:"PASSING",672:"PASSTHROUGH",673:"PERMISSION",674:"PLACING",675:"PLI",676:"PRECEDING",677:"PRESERVE",678:"PRIOR",679:"PRIVILEGES",680:"PUBLIC",681:"RECOVERY",682:"RELATIVE",683:"REPEATABLE",684:"REQUIRING",685:"RESPECT",686:"RESTART",687:"RESTORE",688:"RESTRICT",689:"RETURNED_CARDINALITY",690:"RETURNED_LENGTH",691:"RETURNED_OCTET_LENGTH",692:"RETURNED_SQLSTATE",693:"RETURNING",694:"ROLE",695:"ROUTINE",696:"ROUTINE_CATALOG",697:"ROUTINE_NAME",698:"ROUTINE_SCHEMA",699:"ROW_COUNT",700:"SCALE",701:"SCHEMA",702:"SCHEMA_NAME",703:"SCOPE_CATALOG",704:"SCOPE_NAME",705:"SCOPE_SCHEMA",706:"SECTION",707:"SECURITY",708:"SELECTIVE",709:"SELF",710:"SEQUENCE",711:"SERIALIZABLE",712:"SERVER",713:"SERVER_NAME",714:"SESSION",715:"SETS",716:"SIMPLE",717:"SIZE",718:"SPACE",719:"SPECIFIC_NAME",720:"STANDALONE",721:"STATE",722:"STATEMENT",723:"STRIP",724:"STRUCTURE",725:"STYLE",726:"SUBCLASS_ORIGIN",727:"T",728:"TABLE_NAME",729:"TEMPORARY",730:"TIES",731:"TOKEN",732:"TOP_LEVEL_COUNT",733:"TRANSACTIONS_COMMITTED",734:"TRANSACTIONS_ROLLED_BACK",735:"TRANSACTION_ACTIVE",736:"TRANSFORM",737:"TRANSFORMS",738:"TRIGGER_CATALOG",739:"TRIGGER_NAME",740:"TRIGGER_SCHEMA",741:"TYPE",742:"UNBOUNDED",743:"UNCOMMITTED",744:"UNDER",745:"UNLINK",746:"UNNAMED",747:"UNTYPED",748:"URI",749:"USAGE",750:"USER_DEFINED_TYPE_CATALOG",751:"USER_DEFINED_TYPE_CODE",752:"USER_DEFINED_TYPE_NAME",753:"USER_DEFINED_TYPE_SCHEMA",754:"VALID",755:"VERSION",756:"WHITESPACE",757:"WORK",758:"WRAPPER",759:"WRITE",760:"XMLDECLARATION",761:"XMLSCHEMA",762:"YES",763:"ZONE",764:"SEMICOLON",765:"PERCENT",766:"ROWS"},
-productions_: [0,[3,1],[3,1],[3,2],[7,1],[7,2],[8,2],[9,3],[9,1],[9,1],[13,2],[13,4],[12,1],[17,0],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[47,3],[73,3],[73,1],[75,5],[40,10],[40,4],[92,8],[92,11],[102,4],[104,2],[104,1],[103,3],[103,1],[105,1],[105,3],[106,3],[109,3],[109,1],[110,1],[110,2],[114,1],[114,1],[117,1],[117,5],[117,5],[117,1],[117,2],[117,1],[117,2],[117,2],[117,3],[117,4],[117,4],[117,4],[117,4],[117,4],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,2],[117,2],[117,2],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,2],[117,3],[117,4],[117,3],[117,1],[117,4],[117,2],[117,2],[117,4],[117,4],[117,4],[117,4],[117,4],[117,5],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,6],[163,3],[163,1],[153,1],[153,1],[153,1],[182,2],[79,4],[79,4],[79,4],[79,3],[184,1],[184,2],[184,2],[184,2],[184,2],[184,2],[184,2],[184,2],[186,3],[186,4],[186,0],[81,0],[81,2],[81,2],[81,2],[81,2],[81,2],[82,2],[82,3],[82,5],[82,0],[205,6],[205,7],[205,6],[205,7],[203,1],[203,3],[209,4],[209,5],[209,3],[209,3],[209,2],[209,3],[209,1],[209,3],[209,2],[209,3],[209,1],[209,1],[209,2],[209,3],[209,1],[209,1],[209,2],[209,3],[209,1],[209,2],[209,3],[214,1],[199,3],[199,1],[204,2],[204,2],[204,1],[204,1],[215,3],[217,1],[217,2],[217,3],[217,3],[217,2],[217,3],[217,4],[217,5],[217,1],[217,2],[217,3],[217,1],[217,2],[217,3],[216,1],[216,2],[221,1],[221,2],[221,2],[221,3],[221,2],[221,3],[221,2],[221,3],[221,2],[221,2],[221,2],[218,2],[218,2],[218,0],[84,0],[84,2],[85,0],[85,4],[233,1],[233,3],[235,5],[235,4],[235,4],[235,1],[234,0],[234,2],[88,0],[88,2],[88,3],[88,2],[88,2],[88,3],[88,4],[88,3],[88,3],[86,0],[86,3],[120,1],[120,3],[241,1],[241,2],[241,3],[241,4],[87,0],[87,3],[87,8],[246,0],[246,2],[174,3],[174,1],[253,3],[253,2],[253,3],[253,2],[253,3],[253,2],[253,1],[254,5],[254,3],[254,1],[111,5],[111,3],[111,3],[111,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,3],[94,3],[94,3],[94,1],[94,1],[56,1],[70,5],[71,5],[263,2],[263,2],[261,6],[261,8],[261,6],[261,8],[274,1],[274,1],[274,1],[274,1],[274,1],[274,1],[274,1],[255,5],[255,6],[255,6],[275,0],[275,4],[275,4],[275,5],[277,3],[278,3],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[200,5],[200,3],[200,4],[200,4],[200,8],[200,8],[200,8],[200,8],[200,3],[151,1],[151,3],[196,1],[257,1],[257,1],[113,1],[113,1],[258,1],[202,2],[259,4],[262,3],[201,2],[201,2],[201,1],[201,1],[260,5],[260,4],[304,2],[304,1],[307,4],[305,2],[305,0],[256,3],[256,3],[256,3],[256,3],[256,5],[256,3],[256,5],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,5],[256,3],[256,3],[256,3],[256,5],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,6],[256,6],[256,3],[256,3],[256,2],[256,2],[256,2],[256,2],[256,2],[256,3],[256,5],[256,6],[256,5],[256,6],[256,4],[256,5],[256,3],[256,4],[256,3],[256,4],[256,3],[256,3],[256,3],[256,3],[256,3],[329,1],[329,1],[329,4],[327,1],[327,1],[327,1],[327,1],[327,1],[327,1],[328,1],[328,1],[328,1],[55,6],[55,4],[147,1],[147,3],[336,3],[336,4],[29,5],[29,3],[36,5],[36,4],[36,7],[36,6],[36,5],[36,4],[36,5],[36,8],[36,7],[36,4],[36,6],[36,7],[341,1],[341,1],[340,0],[340,1],[342,3],[342,1],[342,1],[342,5],[342,3],[342,3],[345,1],[345,3],[346,1],[346,1],[346,1],[346,1],[346,1],[346,1],[100,1],[100,3],[24,9],[24,5],[349,1],[349,1],[352,0],[352,1],[354,2],[354,1],[355,1],[355,3],[355,3],[355,3],[348,0],[348,1],[350,0],[350,3],[351,3],[351,1],[351,2],[359,1],[359,3],[360,2],[360,2],[360,2],[360,2],[360,2],[361,0],[361,2],[366,4],[362,6],[363,9],[377,3],[376,0],[376,2],[378,4],[379,4],[364,6],[365,5],[365,5],[372,1],[372,1],[372,3],[372,3],[358,1],[358,3],[384,3],[384,2],[384,1],[387,6],[387,4],[387,1],[387,4],[272,2],[272,1],[388,1],[388,1],[385,0],[385,1],[391,2],[391,1],[393,3],[392,2],[392,5],[392,3],[392,6],[392,1],[392,2],[392,4],[392,2],[392,1],[392,2],[392,1],[392,1],[392,3],[392,5],[33,4],[399,3],[399,1],[398,0],[398,2],[18,6],[18,6],[18,6],[18,8],[18,6],[39,5],[19,4],[19,7],[19,6],[19,9],[30,3],[21,4],[21,6],[21,9],[21,6],[407,0],[407,2],[54,3],[54,2],[31,4],[31,5],[31,5],[22,8],[22,9],[32,3],[43,2],[43,4],[43,3],[43,5],[45,2],[45,4],[45,4],[45,6],[42,4],[42,6],[44,4],[44,6],[41,4],[41,6],[25,11],[25,8],[413,3],[413,3],[413,5],[34,4],[66,2],[57,2],[58,2],[58,2],[58,4],[144,4],[144,2],[144,2],[144,2],[144,2],[144,1],[144,2],[144,2],[422,1],[422,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,3],[419,3],[419,4],[419,2],[421,2],[421,3],[421,1],[425,3],[425,1],[428,3],[428,3],[428,3],[427,3],[427,1],[65,4],[65,3],[65,4],[65,5],[65,5],[65,6],[431,1],[431,1],[430,3],[430,2],[432,1],[432,1],[432,3],[429,1],[429,1],[51,2],[52,2],[50,2],[35,4],[35,3],[438,2],[59,3],[60,1],[61,1],[62,3],[63,2],[63,2],[64,2],[64,2],[446,1],[446,1],[69,2],[444,3],[444,1],[445,3],[445,1],[28,2],[449,1],[449,3],[450,3],[450,4],[450,5],[450,6],[46,3],[37,6],[453,1],[453,2],[454,2],[455,2],[456,2],[456,2],[456,1],[456,1],[458,4],[458,6],[461,1],[461,3],[459,5],[459,7],[459,7],[459,9],[459,7],[459,9],[462,3],[462,6],[462,3],[462,6],[457,0],[457,2],[457,5],[457,4],[457,7],[27,6],[469,2],[468,0],[468,2],[468,2],[468,1],[26,8],[23,3],[23,4],[473,3],[473,1],[474,3],[474,7],[474,6],[474,3],[474,4],[478,1],[478,1],[482,2],[483,3],[484,2],[485,4],[475,4],[475,3],[475,2],[475,1],[497,2],[493,2],[493,2],[498,4],[500,6],[67,3],[67,2],[506,3],[506,1],[504,1],[504,4],[68,2],[20,2],[48,9],[48,8],[48,9],[510,0],[510,1],[510,1],[510,1],[510,2],[511,1],[511,1],[511,1],[49,3],[38,2],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[11,1],[11,1],[80,0],[80,1],[83,0],[83,1],[90,0],[90,2],[91,0],[91,1],[96,0],[96,1],[97,0],[97,1],[101,0],[101,1],[108,0],[108,1],[121,0],[121,1],[125,1],[125,2],[126,1],[126,2],[127,0],[127,1],[155,0],[155,2],[157,0],[157,2],[159,0],[159,2],[160,1],[160,1],[161,0],[161,2],[165,0],[165,2],[167,0],[167,2],[176,0],[176,2],[177,0],[177,2],[178,0],[178,2],[188,0],[188,1],[197,0],[197,1],[210,0],[210,1],[211,0],[211,1],[219,0],[219,1],[220,0],[220,1],[248,0],[248,1],[250,0],[250,1],[251,0],[251,1],[252,0],[252,1],[264,1],[264,1],[767,1],[767,1],[289,0],[289,1],[301,1],[301,1],[337,1],[337,1],[371,0],[371,1],[375,0],[375,1],[382,0],[382,1],[383,0],[383,1],[394,0],[394,1],[395,0],[395,1],[397,1],[397,1],[411,0],[411,1],[412,0],[412,1],[465,0],[465,1],[466,0],[466,1],[467,0],[467,1],[471,0],[471,1],[476,0],[476,1],[477,0],[477,1],[479,0],[479,1],[480,0],[480,1],[481,0],[481,1],[486,0],[486,1],[487,0],[487,1],[488,0],[488,1],[489,0],[489,1],[490,0],[490,1],[491,0],[491,1],[492,0],[492,1],[494,0],[494,1],[495,0],[495,1],[496,0],[496,1],[499,0],[499,2],[501,0],[501,2],[502,0],[502,2],[503,0],[503,2],[512,0],[512,1],[513,0],[513,1]],
-performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
-/* this == yyval */
-
-var $0 = $$.length - 1;
-switch (yystate) {
-case 1:
-
- if (alasql.options.casesensitive) this.$ = $$[$0];
- else this.$ = $$[$0].toLowerCase();
-
-break;
-case 2:
- this.$ = doubleq($$[$0].substr(1,$$[$0].length-2));
-break;
-case 3:
- this.$ = $$[$0].toLowerCase()
-break;
-case 4:
- this.$ = $$[$0]
-break;
-case 5:
- this.$ = $$[$0] ? $$[$0-1] + ' ' + $$[$0] : $$[$0-1]
-break;
-case 6:
- return new yy.Statements({statements:$$[$0-1]});
-break;
-case 7:
- this.$ = $$[$0-2]; if($$[$0]) $$[$0-2].push($$[$0]);
-break;
-case 8: case 9: case 70: case 80: case 85: case 143: case 177: case 205: case 206: case 242: case 261: case 273: case 354: case 372: case 451: case 474: case 475: case 479: case 487: case 528: case 529: case 566: case 649: case 659: case 683: case 685: case 687: case 701: case 702: case 732: case 756:
- this.$ = [$$[$0]];
-break;
-case 10:
- this.$ = $$[$0]; $$[$0].explain = true;
-break;
-case 11:
- this.$ = $$[$0]; $$[$0].explain = true;
-break;
-case 12:
-
- this.$ = $$[$0];
-
- // TODO combine exists and queries
- if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
-
-break;
-case 13: case 162: case 172: case 237: case 238: case 240: case 248: case 250: case 259: case 267: case 270: case 375: case 491: case 501: case 503: case 515: case 521: case 522: case 567:
- this.$ = undefined;
-break;
-case 68:
- this.$ = new yy.WithSelect({withs: $$[$0-1], select:$$[$0]});
-break;
-case 69: case 565:
- $$[$0-2].push($$[$0]); this.$=$$[$0-2];
-break;
-case 71:
- this.$ = {name:$$[$0-4], select:$$[$0-1]};
-break;
-case 72:
-
- yy.extend(this.$,$$[$0-9]); yy.extend(this.$,$$[$0-8]); yy.extend(this.$,$$[$0-7]); yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-5]); yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
- this.$ = $$[$0-9];
-/* if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
-*/
-break;
-case 73:
-
- this.$ = new yy.Search({selectors:$$[$0-2], from:$$[$0]});
- yy.extend(this.$,$$[$0-1]);
-
-break;
-case 74:
- this.$ = {pivot:{expr:$$[$0-5], columnid:$$[$0-3], inlist:$$[$0-2], as:$$[$0]}};
-break;
-case 75:
- this.$ = {unpivot:{tocolumnid:$$[$0-8], forcolumnid:$$[$0-6], inlist:$$[$0-3], as:$$[$0]}};
-break;
-case 76: case 520: case 549: case 585: case 619: case 636: case 637: case 640: case 662:
- this.$ = $$[$0-1];
-break;
-case 77: case 78: case 86: case 147: case 185: case 247: case 280: case 288: case 289: case 290: case 291: case 292: case 293: case 294: case 295: case 296: case 297: case 298: case 299: case 300: case 301: case 304: case 305: case 320: case 321: case 322: case 323: case 324: case 325: case 374: case 440: case 441: case 442: case 443: case 444: case 445: case 516: case 542: case 546: case 548: case 623: case 624: case 625: case 626: case 627: case 628: case 632: case 634: case 635: case 644: case 660: case 661: case 723: case 738: case 739: case 741: case 742: case 748: case 749:
- this.$ = $$[$0];
-break;
-case 79: case 84: case 731: case 755:
- this.$ = $$[$0-2]; this.$.push($$[$0]);
-break;
-case 81:
- this.$ = {expr:$$[$0]};
-break;
-case 82:
- this.$ = {expr:$$[$0-2],as:$$[$0]};
-break;
-case 83:
- this.$ = {removecolumns:$$[$0]};
-break;
-case 87:
- this.$ = {like:$$[$0]};
-break;
-case 90: case 104:
- this.$ = {srchid:"PROP", args: [$$[$0]]};
-break;
-case 91:
- this.$ = {srchid:"ORDERBY", args: $$[$0-1]};
-break;
-case 92:
-
- var dir = $$[$0-1];
- if(!dir) dir = 'ASC';
- this.$ = {srchid:"ORDERBY", args: [{expression: new yy.Column({columnid:'_'}), direction:dir}]};
-
-break;
-case 93:
- this.$ = {srchid:"PARENT"};
-break;
-case 94:
- this.$ = {srchid:"APROP", args: [$$[$0]]};
-break;
-case 95:
- this.$ = {selid:"ROOT"};
-break;
-case 96:
- this.$ = {srchid:"EQ", args: [$$[$0]]};
-break;
-case 97:
- this.$ = {srchid:"LIKE", args: [$$[$0]]};
-break;
-case 98: case 99:
- this.$ = {selid:"WITH", args: $$[$0-1]};
-break;
-case 100:
- this.$ = {srchid:$$[$0-3].toUpperCase(), args:$$[$0-1]};
-break;
-case 101:
- this.$ = {srchid:"WHERE", args:[$$[$0-1]]};
-break;
-case 102:
- this.$ = {selid:"OF", args:[$$[$0-1]]};
-break;
-case 103:
- this.$ = {srchid:"CLASS", args:[$$[$0-1]]};
-break;
-case 105:
- this.$ = {srchid:"NAME", args: [$$[$0].substr(1,$$[$0].length-2)]};
-break;
-case 106:
- this.$ = {srchid:"CHILD"};
-break;
-case 107:
- this.$ = {srchid:"VERTEX"};
-break;
-case 108:
- this.$ = {srchid:"EDGE"};
-break;
-case 109:
- this.$ = {srchid:"REF"};
-break;
-case 110:
- this.$ = {srchid:"SHARP", args:[$$[$0]]};
-break;
-case 111:
- this.$ = {srchid:"ATTR", args:((typeof $$[$0] == 'undefined')?undefined:[$$[$0]])};
-break;
-case 112:
- this.$ = {srchid:"ATTR"};
-break;
-case 113:
- this.$ = {srchid:"OUT"};
-break;
-case 114:
- this.$ = {srchid:"IN"};
-break;
-case 115:
- this.$ = {srchid:"OUTOUT"};
-break;
-case 116:
- this.$ = {srchid:"ININ"};
-break;
-case 117:
- this.$ = {srchid:"CONTENT"};
-break;
-case 118:
- this.$ = {srchid:"EX",args:[new yy.Json({value:$$[$0]})]};
-break;
-case 119:
- this.$ = {srchid:"AT", args:[$$[$0]]};
-break;
-case 120:
- this.$ = {srchid:"AS", args:[$$[$0]]};
-break;
-case 121:
- this.$ = {srchid:"SET", args:$$[$0-1]};
-break;
-case 122:
- this.$ = {selid:"TO", args:[$$[$0]]};
-break;
-case 123:
- this.$ = {srchid:"VALUE"};
-break;
-case 124:
- this.$ = {srchid:"ROW", args:$$[$0-1]};
-break;
-case 125:
- this.$ = {srchid:"CLASS", args:[$$[$0]]};
-break;
-case 126:
- this.$ = {selid:$$[$0],args:[$$[$0-1]] };
-break;
-case 127:
- this.$ = {selid:"NOT",args:$$[$0-1] };
-break;
-case 128:
- this.$ = {selid:"IF",args:$$[$0-1] };
-break;
-case 129:
- this.$ = {selid:$$[$0-3],args:$$[$0-1] };
-break;
-case 130:
- this.$ = {selid:'DISTINCT',args:$$[$0-1] };
-break;
-case 131:
- this.$ = {selid:'UNION',args:$$[$0-1] };
-break;
-case 132:
- this.$ = {selid:'UNIONALL',args:$$[$0-1] };
-break;
-case 133:
- this.$ = {selid:'ALL',args:[$$[$0-1]] };
-break;
-case 134:
- this.$ = {selid:'ANY',args:[$$[$0-1]] };
-break;
-case 135:
- this.$ = {selid:'INTERSECT',args:$$[$0-1] };
-break;
-case 136:
- this.$ = {selid:'EXCEPT',args:$$[$0-1] };
-break;
-case 137:
- this.$ = {selid:'AND',args:$$[$0-1] };
-break;
-case 138:
- this.$ = {selid:'OR',args:$$[$0-1] };
-break;
-case 139:
- this.$ = {selid:'PATH',args:[$$[$0-1]] };
-break;
-case 140:
- this.$ = {srchid:'RETURN',args:$$[$0-1] };
-break;
-case 141:
- this.$ = {selid:'REPEAT',sels:$$[$0-3], args:$$[$0-1] };
-break;
-case 142:
- this.$ = $$[$0-2]; this.$.push($$[$0]);
-break;
-case 144:
- this.$ = "PLUS";
-break;
-case 145:
- this.$ = "STAR";
-break;
-case 146:
- this.$ = "QUESTION";
-break;
-case 148:
- this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy.extend(this.$, $$[$0-3]); yy.extend(this.$, $$[$0-1]);
-break;
-case 149:
- this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy.extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]);
-break;
-case 150:
- this.$ = new yy.Select({ columns:$$[$0], all:true }); yy.extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]);
-break;
-case 151:
-
- if(!$$[$0]) {
- this.$ = new yy.Select({columns:[new yy.Column({columnid:'_',})], modifier:'COLUMN'});
- } else {
- this.$ = new yy.Select({ columns:$$[$0] }); yy.extend(this.$, $$[$0-2]);yy.extend(this.$, $$[$0-1]);
- }
-
-break;
-case 152:
- if($$[$0]=='SELECT') this.$ = undefined; else this.$ = {modifier: $$[$0]};
-break;
-case 153:
- this.$ = {modifier:'VALUE'}
-break;
-case 154:
- this.$ = {modifier:'ROW'}
-break;
-case 155:
- this.$ = {modifier:'COLUMN'}
-break;
-case 156:
- this.$ = {modifier:'MATRIX'}
-break;
-case 157:
- this.$ = {modifier:'TEXTSTRING'}
-break;
-case 158:
- this.$ = {modifier:'INDEX'}
-break;
-case 159:
- this.$ = {modifier:'RECORDSET'}
-break;
-case 160:
- this.$ = {top: $$[$0-1], percent:(typeof $$[$0] != 'undefined'?true:undefined)};
-break;
-case 161:
- this.$ = {top: $$[$0-1]};
-break;
-case 163: case 330: case 523: case 524: case 724:
-this.$ = undefined;
-break;
-case 164: case 165: case 166: case 167:
-this.$ = {into: $$[$0]}
-break;
-case 168:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- if(s[0] == '#') {
- this.$ = {into: new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- this.$ = {into: new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x4=='XLSX' || x4 == 'JSON') {
- this.$ = {into: new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- }
-
-break;
-case 169:
- this.$ = { from: $$[$0] };
-break;
-case 170:
- this.$ = { from: $$[$0-1], joins: $$[$0] };
-break;
-case 171:
- this.$ = { from: $$[$0-2], joins: $$[$0-1] };
-break;
-case 173:
- this.$ = new yy.Apply({select: $$[$0-2], applymode:'CROSS', as:$$[$0]});
-break;
-case 174:
- this.$ = new yy.Apply({select: $$[$0-3], applymode:'CROSS', as:$$[$0]});
-break;
-case 175:
- this.$ = new yy.Apply({select: $$[$0-2], applymode:'OUTER', as:$$[$0]});
-break;
-case 176:
- this.$ = new yy.Apply({select: $$[$0-3], applymode:'OUTER', as:$$[$0]});
-break;
-case 178: case 243: case 452: case 530: case 531:
- this.$ = $$[$0-2]; $$[$0-2].push($$[$0]);
-break;
-case 179:
- this.$ = $$[$0-2]; this.$.as = $$[$0]
-break;
-case 180:
- this.$ = $$[$0-3]; this.$.as = $$[$0]
-break;
-case 181:
- this.$ = $$[$0-1]; this.$.as = 'default'
-break;
-case 182:
- this.$ = new yy.Json({value:$$[$0-2]}); $$[$0-2].as = $$[$0]
-break;
-case 183:
- this.$ = $$[$0-1]; $$[$0-1].as = $$[$0]
-break;
-case 184:
- this.$ = $$[$0-2]; $$[$0-2].as = $$[$0]
-break;
-case 186: case 638: case 641:
- this.$ = $$[$0-2];
-break;
-case 187: case 191: case 195: case 198:
- this.$ = $$[$0-1]; $$[$0-1].as = $$[$0];
-break;
-case 188: case 192: case 196: case 199:
- this.$ = $$[$0-2]; $$[$0-2].as = $$[$0];
-break;
-case 189: case 190: case 194: case 197:
- this.$ = $$[$0]; $$[$0].as = 'default';
-break;
-case 193:
- this.$ = {inserted:true}; /*$$[$0].as = 'default'*/;
-break;
-case 200:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- var r;
- if(s[0] == '#') {
- r = new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- r = new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x4=='XLSX' || x4 == 'JSON') {
- r = new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else {
- throw new Error('Unknown string in FROM clause');
- };
- this.$ = r;
-
-break;
-case 201:
-
- if($$[$0-2] == 'INFORMATION_SCHEMA') {
- this.$ = new yy.FuncValue({funcid: $$[$0-2], args:[new yy.StringValue({value:$$[$0]})]});
- } else {
- this.$ = new yy.Table({databaseid: $$[$0-2], tableid:$$[$0]});
- }
-
-break;
-case 202:
- this.$ = new yy.Table({tableid: $$[$0]});
-break;
-case 203: case 204:
- this.$ = $$[$0-1]; $$[$0-1].push($$[$0]);
-break;
-case 207:
- this.$ = new yy.Join($$[$0-2]); yy.extend(this.$, $$[$0-1]); yy.extend(this.$, $$[$0]);
-break;
-case 208:
- this.$ = {table: $$[$0]};
-break;
-case 209:
- this.$ = {table: $$[$0-1], as: $$[$0] } ;
-break;
-case 210:
- this.$ = {table: $$[$0-2], as: $$[$0] } ;
-break;
-case 211:
- this.$ = {json:new yy.Json({value:$$[$0-2],as:$$[$0]})};
-break;
-case 212:
- this.$ = {param: $$[$0-1], as: $$[$0] } ;
-break;
-case 213:
- this.$ = {param: $$[$0-2], as: $$[$0] } ;
-break;
-case 214:
- this.$ = {select: $$[$0-2], as: $$[$0]} ;
-break;
-case 215:
- this.$ = {select: $$[$0-3], as: $$[$0] } ;
-break;
-case 216:
- this.$ = {funcid:$$[$0], as:'default'};
-break;
-case 217:
- this.$ = {funcid:$$[$0-1], as: $$[$0]};
-break;
-case 218:
- this.$ = {funcid:$$[$0-2], as: $$[$0]};
-break;
-case 219:
- this.$ = {variable:$$[$0],as:'default'};
-break;
-case 220:
- this.$ = {variable:$$[$0-1],as:$$[$0]};
-break;
-case 221:
- this.$ = {variable:$$[$0-2],as:$$[$0]}
-break;
-case 222:
- this.$ = { joinmode: $$[$0] } ;
-break;
-case 223:
- this.$ = {joinmode: $$[$0-1], natural:true} ;
-break;
-case 224: case 225:
- this.$ = "INNER";
-break;
-case 226: case 227:
- this.$ = "LEFT";
-break;
-case 228: case 229:
- this.$ = "RIGHT";
-break;
-case 230: case 231:
- this.$ = "OUTER";
-break;
-case 232:
- this.$ = "SEMI";
-break;
-case 233:
- this.$ = "ANTI";
-break;
-case 234:
- this.$ = "CROSS";
-break;
-case 235:
- this.$ = {on: $$[$0]};
-break;
-case 236: case 697:
- this.$ = {using: $$[$0]};
-break;
-case 239:
- this.$ = {where: new yy.Expression({expression:$$[$0]})};
-break;
-case 241:
- this.$ = {group:$$[$0-1]}; yy.extend(this.$,$$[$0]);
-break;
-case 244:
- this.$ = new yy.GroupExpression({type:'GROUPING SETS', group: $$[$0-1]});
-break;
-case 245:
- this.$ = new yy.GroupExpression({type:'ROLLUP', group: $$[$0-1]});
-break;
-case 246:
- this.$ = new yy.GroupExpression({type:'CUBE', group: $$[$0-1]});
-break;
-case 249:
- this.$ = {having:$$[$0]}
-break;
-case 251:
- this.$ = {union: $$[$0]} ;
-break;
-case 252:
- this.$ = {unionall: $$[$0]} ;
-break;
-case 253:
- this.$ = {except: $$[$0]} ;
-break;
-case 254:
- this.$ = {intersect: $$[$0]} ;
-break;
-case 255:
- this.$ = {union: $$[$0], corresponding:true} ;
-break;
-case 256:
- this.$ = {unionall: $$[$0], corresponding:true} ;
-break;
-case 257:
- this.$ = {except: $$[$0], corresponding:true} ;
-break;
-case 258:
- this.$ = {intersect: $$[$0], corresponding:true} ;
-break;
-case 260:
- this.$ = {order:$$[$0]}
-break;
-case 262:
- this.$ = $$[$0-2]; $$[$0-2].push($$[$0])
-break;
-case 263:
- this.$ = new yy.Expression({expression: $$[$0], direction:'ASC'})
-break;
-case 264:
- this.$ = new yy.Expression({expression: $$[$0-1], direction:$$[$0].toUpperCase()})
-break;
-case 265:
- this.$ = new yy.Expression({expression: $$[$0-2], direction:'ASC', nocase:true})
-break;
-case 266:
- this.$ = new yy.Expression({expression: $$[$0-3], direction:$$[$0].toUpperCase(), nocase:true})
-break;
-case 268:
- this.$ = {limit:$$[$0-1]}; yy.extend(this.$, $$[$0]);
-break;
-case 269:
- this.$ = {limit:$$[$0-2],offset:$$[$0-6]};
-break;
-case 271:
- this.$ = {offset:$$[$0]};
-break;
-case 272: case 509: case 533: case 648: case 658: case 682: case 684: case 688:
- $$[$0-2].push($$[$0]); this.$ = $$[$0-2];
-break;
-case 274: case 276: case 278:
- $$[$0-2].as = $$[$0]; this.$ = $$[$0-2];
-break;
-case 275: case 277: case 279:
- $$[$0-1].as = $$[$0]; this.$ = $$[$0-1];
-break;
-case 281:
- this.$ = new yy.Column({columid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]});
-break;
-case 282:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]});
-break;
-case 283:
- this.$ = new yy.Column({columnid:$$[$0]});
-break;
-case 284:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]});
-break;
-case 285: case 286:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]});
-break;
-case 287:
- this.$ = new yy.Column({columnid: $$[$0]});
-break;
-case 302:
- this.$ = new yy.DomainValueValue();
-break;
-case 303:
- this.$ = new yy.Json({value:$$[$0]});
-break;
-case 306: case 307: case 308:
-
- if(!yy.queries) yy.queries = [];
- yy.queries.push($$[$0-1]);
- $$[$0-1].queriesidx = yy.queries.length;
- this.$ = $$[$0-1];
-
-break;
-case 309:
-this.$ = $$[$0]
-break;
-case 310:
- this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});
-break;
-case 311:
- this.$ = new yy.JavaScript({value:$$[$0].substr(2,$$[$0].length-4)});
-break;
-case 312:
- this.$ = new yy.JavaScript({value:'alasql.fn["'+$$[$0-2]+'"] = '+$$[$0].substr(2,$$[$0].length-4)});
-break;
-case 313:
- this.$ = new yy.JavaScript({value:'alasql.aggr["'+$$[$0-2]+'"] = '+$$[$0].substr(2,$$[$0].length-4)});
-break;
-case 314:
- this.$ = new yy.FuncValue({funcid:$$[$0], newid:true});
-break;
-case 315:
- this.$ = $$[$0]; yy.extend(this.$,{newid:true});
-break;
-case 316:
- this.$ = new yy.Convert({expression:$$[$0-3]}) ; yy.extend(this.$,$$[$0-1]) ;
-break;
-case 317:
- this.$ = new yy.Convert({expression:$$[$0-5], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ;
-break;
-case 318:
- this.$ = new yy.Convert({expression:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ;
-break;
-case 319:
- this.$ = new yy.Convert({expression:$$[$0-3], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-5]) ;
-break;
-case 326:
- this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});
-break;
-case 327:
-
- if($$[$0-2].length > 1 && ($$[$0-4].toUpperCase() == 'MAX' || $$[$0-4].toUpperCase() == 'MIN')) {
- this.$ = new yy.FuncValue({funcid:$$[$0-4],args:$$[$0-2]});
- } else {
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-4].toUpperCase(), expression: $$[$0-2].pop(), over:$$[$0]});
- }
-
-break;
-case 328:
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2], distinct:true, over:$$[$0]});
-break;
-case 329:
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2],
- over:$$[$0]});
-break;
-case 331: case 332:
- this.$ = new yy.Over(); yy.extend(this.$,$$[$0-1]);
-break;
-case 333:
- this.$ = new yy.Over(); yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]);
-break;
-case 334:
- this.$ = {partition:$$[$0]};
-break;
-case 335:
- this.$ = {order:$$[$0]};
-break;
-case 336:
- this.$ = "SUM";
-break;
-case 337:
- this.$ = "COUNT";
-break;
-case 338:
- this.$ = "MIN";
-break;
-case 339: case 544:
- this.$ = "MAX";
-break;
-case 340:
- this.$ = "AVG";
-break;
-case 341:
- this.$ = "FIRST";
-break;
-case 342:
- this.$ = "LAST";
-break;
-case 343:
- this.$ = "AGGR";
-break;
-case 344:
- this.$ = "ARRAY";
-break;
-case 345:
-
- var funcid = $$[$0-4];
- var exprlist = $$[$0-1];
- if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- } else if(alasql.aggr[$$[$0-4]]) {
- this.$ = new yy.AggrValue({aggregatorid: 'REDUCE',
- funcid: funcid, expression: exprlist.pop(),distinct:($$[$0-2]=='DISTINCT') });
- } else {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- };
-
-break;
-case 346:
- this.$ = new yy.FuncValue({ funcid: $$[$0-2] })
-break;
-case 347:
- this.$ = new yy.FuncValue({ funcid: 'IIF', args:$$[$0-1] })
-break;
-case 348:
- this.$ = new yy.FuncValue({ funcid: 'REPLACE', args:$$[$0-1] })
-break;
-case 349:
- this.$ = new yy.FuncValue({ funcid: 'DATEADD', args:[new yy.StringValue({value:$$[$0-5]}),$$[$0-3],$$[$0-1]]})
-break;
-case 350:
- this.$ = new yy.FuncValue({ funcid: 'DATEADD', args:[$$[$0-5],$$[$0-3],$$[$0-1]]})
-break;
-case 351:
- this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args:[new yy.StringValue({value:$$[$0-5]}),$$[$0-3],$$[$0-1]]})
-break;
-case 352:
- this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args:[$$[$0-5],$$[$0-3],$$[$0-1]]})
-break;
-case 353:
- this.$ = new yy.FuncValue({ funcid: 'INTERVAL', args:[$$[$0-1],new yy.StringValue({value:($$[$0]).toLowerCase()})]});
-break;
-case 355:
- $$[$0-2].push($$[$0]); this.$ = $$[$0-2]
-break;
-case 356:
- this.$ = new yy.NumValue({value:+$$[$0]});
-break;
-case 357:
- this.$ = new yy.LogicValue({value:true});
-break;
-case 358:
- this.$ = new yy.LogicValue({value:false});
-break;
-case 359:
- this.$ = new yy.StringValue({value: $$[$0].substr(1,$$[$0].length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});
-break;
-case 360:
- this.$ = new yy.StringValue({value: $$[$0].substr(2,$$[$0].length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});
-break;
-case 361:
- this.$ = new yy.NullValue({value:undefined});
-break;
-case 362:
- this.$ = new yy.VarValue({variable:$$[$0]});
-break;
-case 363:
-
- if(!yy.exists) yy.exists = [];
- this.$ = new yy.ExistsValue({value:$$[$0-1], existsidx:yy.exists.length});
- yy.exists.push($$[$0-1]);
-
-break;
-case 364:
- this.$ = new yy.ArrayValue({value:$$[$0-1]});
-break;
-case 365: case 366:
- this.$ = new yy.ParamValue({param: $$[$0]});
-break;
-case 367:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++});
-
-break;
-case 368:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++, array:true});
-
-break;
-case 369:
- this.$ = new yy.CaseValue({expression:$$[$0-3], whens: $$[$0-2], elses: $$[$0-1]});
-break;
-case 370:
- this.$ = new yy.CaseValue({whens: $$[$0-2], elses: $$[$0-1]});
-break;
-case 371: case 699: case 700:
- this.$ = $$[$0-1]; this.$.push($$[$0]);
-break;
-case 373:
- this.$ = {when: $$[$0-2], then: $$[$0] };
-break;
-case 376: case 377:
- this.$ = new yy.Op({left:$$[$0-2], op:'REGEXP', right:$$[$0]});
-break;
-case 378:
- this.$ = new yy.Op({left:$$[$0-2], op:'GLOB', right:$$[$0]});
-break;
-case 379:
- this.$ = new yy.Op({left:$$[$0-2], op:'LIKE', right:$$[$0]});
-break;
-case 380:
- this.$ = new yy.Op({left:$$[$0-4], op:'LIKE', right:$$[$0-2], escape:$$[$0]});
-break;
-case 381:
- this.$ = new yy.Op({left:$$[$0-2], op:'NOT LIKE', right:$$[$0] });
-break;
-case 382:
- this.$ = new yy.Op({left:$$[$0-4], op:'NOT LIKE', right:$$[$0-2], escape:$$[$0] });
-break;
-case 383:
- this.$ = new yy.Op({left:$$[$0-2], op:'||', right:$$[$0]});
-break;
-case 384:
- this.$ = new yy.Op({left:$$[$0-2], op:'+', right:$$[$0]});
-break;
-case 385:
- this.$ = new yy.Op({left:$$[$0-2], op:'-', right:$$[$0]});
-break;
-case 386:
- this.$ = new yy.Op({left:$$[$0-2], op:'*', right:$$[$0]});
-break;
-case 387:
- this.$ = new yy.Op({left:$$[$0-2], op:'/', right:$$[$0]});
-break;
-case 388:
- this.$ = new yy.Op({left:$$[$0-2], op:'%', right:$$[$0]});
-break;
-case 389:
- this.$ = new yy.Op({left:$$[$0-2], op:'^', right:$$[$0]});
-break;
-case 390:
- this.$ = new yy.Op({left:$$[$0-2], op:'>>', right:$$[$0]});
-break;
-case 391:
- this.$ = new yy.Op({left:$$[$0-2], op:'<<', right:$$[$0]});
-break;
-case 392:
- this.$ = new yy.Op({left:$$[$0-2], op:'&', right:$$[$0]});
-break;
-case 393:
- this.$ = new yy.Op({left:$$[$0-2], op:'|', right:$$[$0]});
-break;
-case 394: case 395: case 397:
- this.$ = new yy.Op({left:$$[$0-2], op:'->' , right:$$[$0]});
-break;
-case 396:
- this.$ = new yy.Op({left:$$[$0-4], op:'->' , right:$$[$0-1]});
-break;
-case 398: case 399: case 401:
- this.$ = new yy.Op({left:$$[$0-2], op:'!' , right:$$[$0]});
-break;
-case 400:
- this.$ = new yy.Op({left:$$[$0-4], op:'!' , right:$$[$0-1]});
-break;
-case 402:
- this.$ = new yy.Op({left:$$[$0-2], op:'>' , right:$$[$0]});
-break;
-case 403:
- this.$ = new yy.Op({left:$$[$0-2], op:'>=' , right:$$[$0]});
-break;
-case 404:
- this.$ = new yy.Op({left:$$[$0-2], op:'<' , right:$$[$0]});
-break;
-case 405:
- this.$ = new yy.Op({left:$$[$0-2], op:'<=' , right:$$[$0]});
-break;
-case 406:
- this.$ = new yy.Op({left:$$[$0-2], op:'=' , right:$$[$0]});
-break;
-case 407:
- this.$ = new yy.Op({left:$$[$0-2], op:'==' , right:$$[$0]});
-break;
-case 408:
- this.$ = new yy.Op({left:$$[$0-2], op:'===' , right:$$[$0]});
-break;
-case 409:
- this.$ = new yy.Op({left:$$[$0-2], op:'!=' , right:$$[$0]});
-break;
-case 410:
- this.$ = new yy.Op({left:$$[$0-2], op:'!==' , right:$$[$0]});
-break;
-case 411:
- this.$ = new yy.Op({left:$$[$0-2], op:'!===' , right:$$[$0]});
-break;
-case 412:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 413:
-
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1]});
-
-break;
-case 414:
-
- if($$[$0-2].op == 'BETWEEN1') {
-
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
-
- } else if($$[$0-2].op == 'NOT BETWEEN1') {
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
- } else {
- this.$ = new yy.Op({left:$$[$0-2], op:'AND', right:$$[$0]});
- }
-
-break;
-case 415:
- this.$ = new yy.Op({left:$$[$0-2], op:'OR' , right:$$[$0]});
-break;
-case 416:
- this.$ = new yy.UniOp({op:'NOT' , right:$$[$0]});
-break;
-case 417:
- this.$ = new yy.UniOp({op:'-' , right:$$[$0]});
-break;
-case 418:
- this.$ = new yy.UniOp({op:'+' , right:$$[$0]});
-break;
-case 419:
- this.$ = new yy.UniOp({op:'~' , right:$$[$0]});
-break;
-case 420:
- this.$ = new yy.UniOp({op:'#' , right:$$[$0]});
-break;
-case 421:
- this.$ = new yy.UniOp({right: $$[$0-1]});
-break;
-case 422:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 423:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 424:
- this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1]});
-break;
-case 425:
- this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1]});
-break;
-case 426:
- this.$ = new yy.Op({left: $$[$0-3], op:'IN', right:[]});
-break;
-case 427:
- this.$ = new yy.Op({left: $$[$0-4], op:'NOT IN', right:[]});
-break;
-case 428: case 430:
- this.$ = new yy.Op({left: $$[$0-2], op:'IN', right:$$[$0]});
-break;
-case 429: case 431:
- this.$ = new yy.Op({left: $$[$0-3], op:'NOT IN', right:$$[$0]});
-break;
-case 432:
-
-/* var expr = $$[$0];
- if(expr.left && expr.left.op == 'AND') {
- this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
- } else {
-*/
- this.$ = new yy.Op({left:$$[$0-2], op:'BETWEEN1', right:$$[$0] });
-
-break;
-case 433:
-
- this.$ = new yy.Op({left:$$[$0-2], op:'NOT BETWEEN1', right:$$[$0] });
-
-break;
-case 434:
- this.$ = new yy.Op({op:'IS' , left:$$[$0-2], right:$$[$0]});
-break;
-case 435:
-
- this.$ = new yy.Op({
- op:'IS',
- left:$$[$0-2],
- right: new yy.UniOp({
- op:'NOT',
- right:new yy.NullValue({value:undefined})
- })
- });
-
-break;
-case 436:
- this.$ = new yy.Convert({expression:$$[$0-2]}) ; yy.extend(this.$,$$[$0]) ;
-break;
-case 437: case 438:
- this.$ = $$[$0];
-break;
-case 439:
- this.$ = $$[$0-1];
-break;
-case 446:
- this.$ = 'ALL';
-break;
-case 447:
- this.$ = 'SOME';
-break;
-case 448:
- this.$ = 'ANY';
-break;
-case 449:
- this.$ = new yy.Update({table:$$[$0-4], columns:$$[$0-2], where:$$[$0]});
-break;
-case 450:
- this.$ = new yy.Update({table:$$[$0-2], columns:$$[$0]});
-break;
-case 453:
- this.$ = new yy.SetColumn({column:$$[$0-2], expression:$$[$0]})
-break;
-case 454:
- this.$ = new yy.SetColumn({variable:$$[$0-2], expression:$$[$0], method:$$[$0-3]})
-break;
-case 455:
- this.$ = new yy.Delete({table:$$[$0-2], where:$$[$0]});
-break;
-case 456:
- this.$ = new yy.Delete({table:$$[$0]});
-break;
-case 457:
- this.$ = new yy.Insert({into:$$[$0-2], values: $$[$0]});
-break;
-case 458:
- this.$ = new yy.Insert({into:$$[$0-1], values: $$[$0]});
-break;
-case 459: case 461:
- this.$ = new yy.Insert({into:$$[$0-2], values: $$[$0], orreplace:true});
-break;
-case 460: case 462:
- this.$ = new yy.Insert({into:$$[$0-1], values: $$[$0], orreplace:true});
-break;
-case 463:
- this.$ = new yy.Insert({into:$$[$0-2], "default": true}) ;
-break;
-case 464:
- this.$ = new yy.Insert({into:$$[$0-5], columns: $$[$0-3], values: $$[$0]});
-break;
-case 465:
- this.$ = new yy.Insert({into:$$[$0-4], columns: $$[$0-2], values: $$[$0]});
-break;
-case 466:
- this.$ = new yy.Insert({into:$$[$0-1], select: $$[$0]});
-break;
-case 467:
- this.$ = new yy.Insert({into:$$[$0-1], select: $$[$0], orreplace:true});
-break;
-case 468:
- this.$ = new yy.Insert({into:$$[$0-4], columns: $$[$0-2], select: $$[$0]});
-break;
-case 473:
- this.$ = [$$[$0-1]];
-break;
-case 476:
-this.$ = $$[$0-4]; $$[$0-4].push($$[$0-1])
-break;
-case 477: case 478: case 480: case 488:
-this.$ = $$[$0-2]; $$[$0-2].push($$[$0])
-break;
-case 489:
-
- this.$ = new yy.CreateTable({table:$$[$0-4]});
- yy.extend(this.$,$$[$0-7]);
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-5]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0]);
-
-break;
-case 490:
-
- this.$ = new yy.CreateTable({table:$$[$0]});
- yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0-1]);
-
-break;
-case 492:
- this.$ = {class:true};
-break;
-case 502:
- this.$ = {temporary:true};
-break;
-case 504:
- this.$ = {ifnotexists: true};
-break;
-case 505:
- this.$ = {columns: $$[$0-2], constraints: $$[$0]};
-break;
-case 506:
- this.$ = {columns: $$[$0]};
-break;
-case 507:
- this.$ = {as: $$[$0]}
-break;
-case 508: case 532:
- this.$ = [$$[$0]];
-break;
-case 510: case 511: case 512: case 513: case 514:
- $$[$0].constraintid = $$[$0-1]; this.$ = $$[$0];
-break;
-case 517:
- this.$ = {type: 'CHECK', expression: $$[$0-1]};
-break;
-case 518:
- this.$ = {type: 'PRIMARY KEY', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
-break;
-case 519:
- this.$ = {type: 'FOREIGN KEY', columns: $$[$0-5], fktable: $$[$0-2], fkcolumns: $$[$0-1]};
-break;
-case 525:
-
- this.$ = {type: 'UNIQUE', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
-
-break;
-case 534:
- this.$ = new yy.ColumnDef({columnid:$$[$0-2]}); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
-break;
-case 535:
- this.$ = new yy.ColumnDef({columnid:$$[$0-1]}); yy.extend(this.$,$$[$0]);
-break;
-case 536:
- this.$ = new yy.ColumnDef({columnid:$$[$0], dbtypeid: ''});
-break;
-case 537:
- this.$ = {dbtypeid: $$[$0-5], dbsize: $$[$0-3], dbprecision: +$$[$0-1]}
-break;
-case 538:
- this.$ = {dbtypeid: $$[$0-3], dbsize: $$[$0-1]}
-break;
-case 539:
- this.$ = {dbtypeid: $$[$0]}
-break;
-case 540:
- this.$ = {dbtypeid: 'ENUM', enumvalues: $$[$0-1]}
-break;
-case 541:
- this.$ = $$[$0-1]; $$[$0-1].dbtypeid += '[' + $$[$0] + ']';
-break;
-case 543: case 750:
- this.$ = +$$[$0];
-break;
-case 545:
-this.$ = undefined
-break;
-case 547:
-
- yy.extend($$[$0-1],$$[$0]); this.$ = $$[$0-1];
-
-break;
-case 550:
-this.$ = {primarykey:true};
-break;
-case 551: case 552:
-this.$ = {foreignkey:{table:$$[$0-1], columnid: $$[$0]}};
-break;
-case 553:
- this.$ = {identity: {value:$$[$0-3],step:$$[$0-1]}}
-break;
-case 554:
- this.$ = {identity: {value:1,step:1}}
-break;
-case 555: case 557:
-this.$ = {"default":$$[$0]};
-break;
-case 556:
-this.$ = {"default":$$[$0-1]};
-break;
-case 558:
-this.$ = {null:true};
-break;
-case 559:
-this.$ = {notnull:true};
-break;
-case 560:
-this.$ = {check:$$[$0]};
-break;
-case 561:
-this.$ = {unique:true};
-break;
-case 562:
-this.$ = {"onupdate":$$[$0]};
-break;
-case 563:
-this.$ = {"onupdate":$$[$0-1]};
-break;
-case 564:
- this.$ = new yy.DropTable({tables:$$[$0],type:$$[$0-2]}); yy.extend(this.$, $$[$0-1]);
-break;
-case 568:
- this.$ = {ifexists: true};
-break;
-case 569:
- this.$ = new yy.AlterTable({table:$$[$0-3], renameto: $$[$0]});
-break;
-case 570:
- this.$ = new yy.AlterTable({table:$$[$0-3], addcolumn: $$[$0]});
-break;
-case 571:
- this.$ = new yy.AlterTable({table:$$[$0-3], modifycolumn: $$[$0]});
-break;
-case 572:
- this.$ = new yy.AlterTable({table:$$[$0-5], renamecolumn: $$[$0-2], to: $$[$0]});
-break;
-case 573:
- this.$ = new yy.AlterTable({table:$$[$0-3], dropcolumn: $$[$0]});
-break;
-case 574:
- this.$ = new yy.AlterTable({table:$$[$0-2], renameto: $$[$0]});
-break;
-case 575:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0], engineid:$$[$0-2].toUpperCase() });
-break;
-case 576:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-3], engineid:$$[$0-5].toUpperCase(), args:$$[$0-1] });
-break;
-case 577:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-2], engineid:$$[$0-4].toUpperCase(), as:$$[$0] });
-break;
-case 578:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-5], engineid:$$[$0-7].toUpperCase(), as:$$[$0], args:$$[$0-3]});
-break;
-case 579:
- this.$ = new yy.DetachDatabase({databaseid:$$[$0]});
-break;
-case 580:
- this.$ = new yy.CreateDatabase({databaseid:$$[$0] }); yy.extend(this.$,$$[$0]);
-break;
-case 581:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(), databaseid:$$[$0-1], as:$$[$0] }); yy.extend(this.$,$$[$0-2]);
-break;
-case 582:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-7].toUpperCase(), databaseid:$$[$0-4], args:$$[$0-2], as:$$[$0] }); yy.extend(this.$,$$[$0-5]);
-break;
-case 583:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),
- as:$$[$0], args:[$$[$0-1]] }); yy.extend(this.$,$$[$0-2]);
-break;
-case 584:
-this.$ = undefined;
-break;
-case 586: case 587:
- this.$ = new yy.UseDatabase({databaseid: $$[$0] });
-break;
-case 588:
- this.$ = new yy.DropDatabase({databaseid: $$[$0] }); yy.extend(this.$,$$[$0-1]);
-break;
-case 589: case 590:
- this.$ = new yy.DropDatabase({databaseid: $$[$0], engineid:$$[$0-3].toUpperCase() }); yy.extend(this.$,$$[$0-1]);
-break;
-case 591:
- this.$ = new yy.CreateIndex({indexid:$$[$0-5], table:$$[$0-3], columns:$$[$0-1]})
-break;
-case 592:
- this.$ = new yy.CreateIndex({indexid:$$[$0-5], table:$$[$0-3], columns:$$[$0-1], unique:true})
-break;
-case 593:
- this.$ = new yy.DropIndex({indexid:$$[$0]});
-break;
-case 594:
- this.$ = new yy.ShowDatabases();
-break;
-case 595:
- this.$ = new yy.ShowDatabases({like:$$[$0]});
-break;
-case 596:
- this.$ = new yy.ShowDatabases({engineid:$$[$0-1].toUpperCase() });
-break;
-case 597:
- this.$ = new yy.ShowDatabases({engineid:$$[$0-3].toUpperCase() , like:$$[$0]});
-break;
-case 598:
- this.$ = new yy.ShowTables();
-break;
-case 599:
- this.$ = new yy.ShowTables({like:$$[$0]});
-break;
-case 600:
- this.$ = new yy.ShowTables({databaseid: $$[$0]});
-break;
-case 601:
- this.$ = new yy.ShowTables({like:$$[$0], databaseid: $$[$0-2]});
-break;
-case 602:
- this.$ = new yy.ShowColumns({table: $$[$0]});
-break;
-case 603:
- this.$ = new yy.ShowColumns({table: $$[$0-2], databaseid:$$[$0]});
-break;
-case 604:
- this.$ = new yy.ShowIndex({table: $$[$0]});
-break;
-case 605:
- this.$ = new yy.ShowIndex({table: $$[$0-2], databaseid: $$[$0]});
-break;
-case 606:
- this.$ = new yy.ShowCreateTable({table: $$[$0]});
-break;
-case 607:
- this.$ = new yy.ShowCreateTable({table: $$[$0-2], databaseid:$$[$0]});
-break;
-case 608:
-
- this.$ = new yy.CreateTable({table:$$[$0-6],view:true,select:$$[$0-1],viewcolumns:$$[$0-4]});
- yy.extend(this.$,$$[$0-9]);
- yy.extend(this.$,$$[$0-7]);
-
-break;
-case 609:
-
- this.$ = new yy.CreateTable({table:$$[$0-3],view:true,select:$$[$0-1]});
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-4]);
-
-break;
-case 613:
- this.$ = new yy.DropTable({tables:$$[$0], view:true}); yy.extend(this.$, $$[$0-1]);
-break;
-case 614: case 760:
- this.$ = new yy.ExpressionStatement({expression:$$[$0]});
-break;
-case 615:
- this.$ = new yy.Source({url:$$[$0].value});
-break;
-case 616:
- this.$ = new yy.Assert({value:$$[$0]});
-break;
-case 617:
- this.$ = new yy.Assert({value:$$[$0].value});
-break;
-case 618:
- this.$ = new yy.Assert({value:$$[$0], message:$$[$0-2]});
-break;
-case 620: case 631: case 633:
- this.$ = $$[$0].value;
-break;
-case 621: case 629:
- this.$ = +$$[$0].value;
-break;
-case 622:
- this.$ = (!!$$[$0].value);
-break;
-case 630:
- this.$ = ""+$$[$0].value;
-break;
-case 639:
- this.$ = {};
-break;
-case 642:
- this.$ = [];
-break;
-case 643:
- yy.extend($$[$0-2],$$[$0]); this.$ = $$[$0-2];
-break;
-case 645:
- this.$ = {}; this.$[$$[$0-2].substr(1,$$[$0-2].length-2)] = $$[$0];
-break;
-case 646: case 647:
- this.$ = {}; this.$[$$[$0-2]] = $$[$0];
-break;
-case 650:
- this.$ = new yy.SetVariable({variable:$$[$0-2].toLowerCase(), value:$$[$0]});
-break;
-case 651:
- this.$ = new yy.SetVariable({variable:$$[$0-1].toLowerCase(), value:$$[$0]});
-break;
-case 652:
- this.$ = new yy.SetVariable({variable:$$[$0-2], expression:$$[$0]});
-break;
-case 653:
- this.$ = new yy.SetVariable({variable:$$[$0-3], props: $$[$0-2], expression:$$[$0]});
-break;
-case 654:
- this.$ = new yy.SetVariable({variable:$$[$0-2], expression:$$[$0], method:$$[$0-3]});
-break;
-case 655:
- this.$ = new yy.SetVariable({variable:$$[$0-3], props: $$[$0-2], expression:$$[$0], method:$$[$0-4]});
-break;
-case 656:
-this.$ = '@';
-break;
-case 657:
-this.$ = '$';
-break;
-case 663:
- this.$ = true;
-break;
-case 664:
- this.$ = false;
-break;
-case 665:
- this.$ = new yy.CommitTransaction();
-break;
-case 666:
- this.$ = new yy.RollbackTransaction();
-break;
-case 667:
- this.$ = new yy.BeginTransaction();
-break;
-case 668:
- this.$ = new yy.If({expression:$$[$0-2],thenstat:$$[$0-1], elsestat:$$[$0]});
- if($$[$0-1].exists) this.$.exists = $$[$0-1].exists;
- if($$[$0-1].queries) this.$.queries = $$[$0-1].queries;
-
-break;
-case 669:
-
- this.$ = new yy.If({expression:$$[$0-1],thenstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 670:
-this.$ = $$[$0];
-break;
-case 671:
- this.$ = new yy.While({expression:$$[$0-1],loopstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 672:
- this.$ = new yy.Continue();
-break;
-case 673:
- this.$ = new yy.Break();
-break;
-case 674:
- this.$ = new yy.BeginEnd({statements:$$[$0-1]});
-break;
-case 675:
- this.$ = new yy.Print({exprs:$$[$0]});
-break;
-case 676:
- this.$ = new yy.Print({select:$$[$0]});
-break;
-case 677:
- this.$ = new yy.Require({paths:$$[$0]});
-break;
-case 678:
- this.$ = new yy.Require({plugins:$$[$0]});
-break;
-case 679: case 680:
-this.$ = $$[$0].toUpperCase();
-break;
-case 681:
- this.$ = new yy.Echo({expr:$$[$0]});
-break;
-case 686:
- this.$ = new yy.Declare({declares:$$[$0]});
-break;
-case 689:
- this.$ = {variable: $$[$0-1]}; yy.extend(this.$,$$[$0]);
-break;
-case 690:
- this.$ = {variable: $$[$0-2]}; yy.extend(this.$,$$[$0]);
-break;
-case 691:
- this.$ = {variable: $$[$0-3], expression:$$[$0]}; yy.extend(this.$,$$[$0-2]);
-break;
-case 692:
- this.$ = {variable: $$[$0-4], expression:$$[$0]}; yy.extend(this.$,$$[$0-2]);
-break;
-case 693:
- this.$ = new yy.TruncateTable({table:$$[$0]});
-break;
-case 694:
-
- this.$ = new yy.Merge(); yy.extend(this.$,$$[$0-4]); yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,{matches:$$[$0-1]});yy.extend(this.$,$$[$0]);
-
-break;
-case 695: case 696:
- this.$ = {into: $$[$0]};
-break;
-case 698:
- this.$ = {on:$$[$0]};
-break;
-case 703:
- this.$ = {matched:true, action:$$[$0]}
-break;
-case 704:
- this.$ = {matched:true, expr: $$[$0-2], action:$$[$0]}
-break;
-case 705:
- this.$ = {delete:true};
-break;
-case 706:
- this.$ = {update:$$[$0]};
-break;
-case 707: case 708:
- this.$ = {matched:false, bytarget: true, action:$$[$0]}
-break;
-case 709: case 710:
- this.$ = {matched:false, bytarget: true, expr:$$[$0-2], action:$$[$0]}
-break;
-case 711:
- this.$ = {matched:false, bysource: true, action:$$[$0]}
-break;
-case 712:
- this.$ = {matched:false, bysource: true, expr:$$[$0-2], action:$$[$0]}
-break;
-case 713:
- this.$ = {insert:true, values:$$[$0]};
-break;
-case 714:
- this.$ = {insert:true, values:$$[$0], columns:$$[$0-3]};
-break;
-case 715:
- this.$ = {insert:true, defaultvalues:true};
-break;
-case 716:
- this.$ = {insert:true, defaultvalues:true, columns:$$[$0-3]};
-break;
-case 718:
- this.$ = {output:{columns:$$[$0]}}
-break;
-case 719:
- this.$ = {output:{columns:$$[$0-3], intovar: $$[$0], method:$$[$0-1]}}
-break;
-case 720:
- this.$ = {output:{columns:$$[$0-2], intotable: $$[$0]}}
-break;
-case 721:
- this.$ = {output:{columns:$$[$0-5], intotable: $$[$0-3], intocolumns:$$[$0-1]}}
-break;
-case 722:
-
- this.$ = new yy.CreateVertex({class:$$[$0-3],sharp:$$[$0-2], name:$$[$0-1]});
- yy.extend(this.$,$$[$0]);
-
-break;
-case 725:
- this.$ = {sets:$$[$0]};
-break;
-case 726:
- this.$ = {content:$$[$0]};
-break;
-case 727:
- this.$ = {select:$$[$0]};
-break;
-case 728:
-
- this.$ = new yy.CreateEdge({from:$$[$0-3],to:$$[$0-1],name:$$[$0-5]});
- yy.extend(this.$,$$[$0]);
-
-break;
-case 729:
- this.$ = new yy.CreateGraph({graph:$$[$0]});
-break;
-case 730:
- this.$ = new yy.CreateGraph({from:$$[$0]});
-break;
-case 733:
-
- this.$ = $$[$0-2];
- if($$[$0-1]) this.$.json = new yy.Json({value:$$[$0-1]});
- if($$[$0]) this.$.as = $$[$0];
-
-break;
-case 734:
-
- this.$ = {source:$$[$0-6], target: $$[$0]};
- if($$[$0-3]) this.$.json = new yy.Json({value:$$[$0-3]});
- if($$[$0-2]) this.$.as = $$[$0-2];
- yy.extend(this.$,$$[$0-4]);
-
-break;
-case 735:
-
- this.$ = {source:$$[$0-5], target: $$[$0]};
- if($$[$0-2]) this.$.json = new yy.Json({value:$$[$0-3]});
- if($$[$0-1]) this.$.as = $$[$0-2];
-
-break;
-case 736:
-
- this.$ = {source:$$[$0-2], target: $$[$0]};
-
-break;
-case 740:
- this.$ = {vars:$$[$0], method:$$[$0-1]};
-break;
-case 743: case 744:
-
- var s3 = $$[$0-1];
- this.$ = {prop:$$[$0-3], sharp:$$[$0-2], name:(typeof s3 == 'undefined')?undefined:s3.substr(1,s3.length-2), class:$$[$0]};
-
-break;
-case 745:
-
- var s2 = $$[$0-1];
- this.$ = {sharp:$$[$0-2], name:(typeof s2 == 'undefined')?undefined:s2.substr(1,s2.length-2), class:$$[$0]};
-
-break;
-case 746:
-
- var s1 = $$[$0-1];
- this.$ = {name:(typeof s1 == 'undefined')?undefined:s1.substr(1,s1.length-2), class:$$[$0]};
-
-break;
-case 747:
-
- this.$ = {class:$$[$0]};
-
-break;
-case 753:
- this.$ = new yy.AddRule({left:$$[$0-2], right:$$[$0]});
-break;
-case 754:
- this.$ = new yy.AddRule({right:$$[$0]});
-break;
-case 757:
- this.$ = new yy.Term({termid:$$[$0]});
-break;
-case 758:
- this.$ = new yy.Term({termid:$$[$0-3],args:$$[$0-1]});
-break;
-case 761:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-5], action:$$[$0-4], table:$$[$0-2], statement:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 762:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-5], when:$$[$0-4], action:$$[$0-3], table:$$[$0-1], funcid:$$[$0]});
-
-break;
-case 763:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-4], action:$$[$0-3], table:$$[$0-5], statement:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 764: case 765: case 767:
- this.$ = 'AFTER';
-break;
-case 766:
- this.$ = 'BEFORE';
-break;
-case 768:
- this.$ = 'INSTEADOF';
-break;
-case 769:
- this.$ = 'INSERT';
-break;
-case 770:
- this.$ = 'DELETE';
-break;
-case 771:
- this.$ = 'UPDATE';
-break;
-case 772:
- this.$ = new yy.DropTrigger({trigger:$$[$0]});
-break;
-case 773:
- this.$ = new yy.Reindex({indexid:$$[$0]});
-break;
-case 1047: case 1067: case 1069: case 1071: case 1075: case 1077: case 1079: case 1081: case 1083: case 1085:
-this.$ = [];
-break;
-case 1048: case 1062: case 1064: case 1068: case 1070: case 1072: case 1076: case 1078: case 1080: case 1082: case 1084: case 1086:
-$$[$0-1].push($$[$0]);
-break;
-case 1061: case 1063:
-this.$ = [$$[$0]];
-break;
-}
-},
-table: [o([10,602,764],$V0,{8:1,9:2,12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,2:$V1,4:$V2,5:$V3,14:$V4,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),{1:[3]},{10:[1,105],11:106,602:$VH,764:$VI},o($VJ,[2,8]),o($VJ,[2,9]),o($VK,[2,12]),o($VJ,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:109,2:$V1,4:$V2,5:$V3,15:[1,110],53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VK,[2,14]),o($VK,[2,15]),o($VK,[2,16]),o($VK,[2,17]),o($VK,[2,18]),o($VK,[2,19]),o($VK,[2,20]),o($VK,[2,21]),o($VK,[2,22]),o($VK,[2,23]),o($VK,[2,24]),o($VK,[2,25]),o($VK,[2,26]),o($VK,[2,27]),o($VK,[2,28]),o($VK,[2,29]),o($VK,[2,30]),o($VK,[2,31]),o($VK,[2,32]),o($VK,[2,33]),o($VK,[2,34]),o($VK,[2,35]),o($VK,[2,36]),o($VK,[2,37]),o($VK,[2,38]),o($VK,[2,39]),o($VK,[2,40]),o($VK,[2,41]),o($VK,[2,42]),o($VK,[2,43]),o($VK,[2,44]),o($VK,[2,45]),o($VK,[2,46]),o($VK,[2,47]),o($VK,[2,48]),o($VK,[2,49]),o($VK,[2,50]),o($VK,[2,51]),o($VK,[2,52]),o($VK,[2,53]),o($VK,[2,54]),o($VK,[2,55]),o($VK,[2,56]),o($VK,[2,57]),o($VK,[2,58]),o($VK,[2,59]),o($VK,[2,60]),o($VK,[2,61]),o($VK,[2,62]),o($VK,[2,63]),o($VK,[2,64]),o($VK,[2,65]),o($VK,[2,66]),o($VK,[2,67]),{353:[1,111]},{2:$V1,3:112,4:$V2,5:$V3},{2:$V1,3:114,4:$V2,5:$V3,156:$VL,200:113,290:$VM,291:$VN,292:$VO,293:$VP},o($VQ,[2,501],{3:121,348:125,2:$V1,4:$V2,5:$V3,134:$VR,135:$VS,187:[1,123],193:[1,122],268:[1,129],269:[1,130],357:[1,131],405:[1,120],472:[1,124],509:[1,128]}),{145:$VT,449:132,450:133},{183:[1,135]},{405:[1,136]},{2:$V1,3:138,4:$V2,5:$V3,130:[1,144],193:[1,139],353:[1,143],397:140,405:[1,137],410:[1,141],509:[1,142]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:145,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vt1,$Vu1,{340:204,171:[1,205],198:$Vv1}),o($Vt1,$Vu1,{340:207,198:$Vv1}),{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,198:[1,210],199:213,200:215,201:214,202:217,209:209,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1,453:208},{2:$V1,3:221,4:$V2,5:$V3},{353:[1,222]},o($Vz1,[2,1043],{80:223,106:224,107:[1,225]}),o($VA1,[2,1047],{90:226}),{2:$V1,3:230,4:$V2,5:$V3,190:[1,228],193:[1,231],267:[1,227],353:[1,232],405:[1,229]},{353:[1,233]},{2:$V1,3:236,4:$V2,5:$V3,73:234,75:235},o([306,602,764],$V0,{12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,9:238,2:$V1,4:$V2,5:$V3,14:$V4,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,435:[1,237],436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),{435:[1,239]},{435:[1,240]},{2:$V1,3:242,4:$V2,5:$V3,405:[1,241]},{2:$V1,3:244,4:$V2,5:$V3,199:243},o($VB1,[2,311]),{113:245,132:$VW,296:$Vj1},{2:$V1,3:114,4:$V2,5:$V3,113:251,131:$VV,132:[1,248],143:$VY,144:246,145:$VC1,152:$V$,156:$VL,181:$V31,196:250,200:255,201:254,257:252,258:253,265:$VD1,274:247,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:257,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,672]),o($VK,[2,673]),{2:$V1,3:168,4:$V2,5:$V3,40:259,56:165,77:$VU,79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:258,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:266,4:$V2,5:$V3,113:263,132:$VW,296:$Vj1,444:261,445:262,446:264,447:$VE1},{2:$V1,3:267,4:$V2,5:$V3,143:$VF1,145:$VG1,431:268},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:271,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{505:[1,272]},{2:$V1,3:100,4:$V2,5:$V3,504:274,506:273},{2:$V1,3:114,4:$V2,5:$V3,156:$VL,200:275,290:$VM,291:$VN,292:$VO,293:$VP},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:276,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VH1,$VI1,{186:280,164:[1,279],185:[1,277],187:[1,278],195:$VJ1}),o($VK1,[2,757],{77:[1,282]}),o([2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,152,154,156,162,164,168,169,179,180,181,183,185,187,195,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],[2,152],{149:[1,283],150:[1,284],190:[1,285],191:[1,286],192:[1,287],193:[1,288],194:[1,289]}),o($VL1,[2,1]),o($VL1,[2,2]),{6:290,131:[1,439],172:[1,462],245:[1,411],285:[1,373],286:[1,407],370:[1,404],381:[1,295],402:[1,297],410:[1,549],414:[1,471],416:[1,443],417:[1,509],433:[1,442],435:[1,525],440:[1,342],460:[1,418],464:[1,448],470:[1,341],514:[1,307],515:[1,299],516:[1,399],518:[1,291],519:[1,292],520:[1,293],521:[1,294],522:[1,296],523:[1,298],524:[1,300],525:[1,301],526:[1,302],527:[1,303],528:[1,304],529:[1,305],530:[1,306],531:[1,308],532:[1,309],533:[1,310],534:[1,311],535:[1,312],536:[1,313],537:[1,314],538:[1,315],539:[1,316],540:[1,317],541:[1,318],542:[1,319],543:[1,320],544:[1,321],545:[1,322],546:[1,323],547:[1,324],548:[1,325],549:[1,326],550:[1,327],551:[1,328],552:[1,329],553:[1,330],554:[1,331],555:[1,332],556:[1,333],557:[1,334],558:[1,335],559:[1,336],560:[1,337],561:[1,338],562:[1,339],563:[1,340],564:[1,343],565:[1,344],566:[1,345],567:[1,346],568:[1,347],569:[1,348],570:[1,349],571:[1,350],572:[1,351],573:[1,352],574:[1,353],575:[1,354],576:[1,355],577:[1,356],578:[1,357],579:[1,358],580:[1,359],581:[1,360],582:[1,361],583:[1,362],584:[1,363],585:[1,364],586:[1,365],587:[1,366],588:[1,367],589:[1,368],590:[1,369],591:[1,370],592:[1,371],593:[1,372],594:[1,374],595:[1,375],596:[1,376],597:[1,377],598:[1,378],599:[1,379],600:[1,380],601:[1,381],602:[1,382],603:[1,383],604:[1,384],605:[1,385],606:[1,386],607:[1,387],608:[1,388],609:[1,389],610:[1,390],611:[1,391],612:[1,392],613:[1,393],614:[1,394],615:[1,395],616:[1,396],617:[1,397],618:[1,398],619:[1,400],620:[1,401],621:[1,402],622:[1,403],623:[1,405],624:[1,406],625:[1,408],626:[1,409],627:[1,410],628:[1,412],629:[1,413],630:[1,414],631:[1,415],632:[1,416],633:[1,417],634:[1,419],635:[1,420],636:[1,421],637:[1,422],638:[1,423],639:[1,424],640:[1,425],641:[1,426],642:[1,427],643:[1,428],644:[1,429],645:[1,430],646:[1,431],647:[1,432],648:[1,433],649:[1,434],650:[1,435],651:[1,436],652:[1,437],653:[1,438],654:[1,440],655:[1,441],656:[1,444],657:[1,445],658:[1,446],659:[1,447],660:[1,449],661:[1,450],662:[1,451],663:[1,452],664:[1,453],665:[1,454],666:[1,455],667:[1,456],668:[1,457],669:[1,458],670:[1,459],671:[1,460],672:[1,461],673:[1,463],674:[1,464],675:[1,465],676:[1,466],677:[1,467],678:[1,468],679:[1,469],680:[1,470],681:[1,472],682:[1,473],683:[1,474],684:[1,475],685:[1,476],686:[1,477],687:[1,478],688:[1,479],689:[1,480],690:[1,481],691:[1,482],692:[1,483],693:[1,484],694:[1,485],695:[1,486],696:[1,487],697:[1,488],698:[1,489],699:[1,490],700:[1,491],701:[1,492],702:[1,493],703:[1,494],704:[1,495],705:[1,496],706:[1,497],707:[1,498],708:[1,499],709:[1,500],710:[1,501],711:[1,502],712:[1,503],713:[1,504],714:[1,505],715:[1,506],716:[1,507],717:[1,508],718:[1,510],719:[1,511],720:[1,512],721:[1,513],722:[1,514],723:[1,515],724:[1,516],725:[1,517],726:[1,518],727:[1,519],728:[1,520],729:[1,521],730:[1,522],731:[1,523],732:[1,524],733:[1,526],734:[1,527],735:[1,528],736:[1,529],737:[1,530],738:[1,531],739:[1,532],740:[1,533],741:[1,534],742:[1,535],743:[1,536],744:[1,537],745:[1,538],746:[1,539],747:[1,540],748:[1,541],749:[1,542],750:[1,543],751:[1,544],752:[1,545],753:[1,546],754:[1,547],755:[1,548],756:[1,550],757:[1,551],758:[1,552],759:[1,553],760:[1,554],761:[1,555],762:[1,556],763:[1,557]},{1:[2,6]},o($VJ,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:558,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VM1,[2,1041]),o($VM1,[2,1042]),o($VJ,[2,10]),{16:[1,559]},{2:$V1,3:244,4:$V2,5:$V3,199:560},{405:[1,561]},o($VK,[2,760]),{77:$VN1},{77:[1,563]},{77:$VO1},{77:[1,565]},{77:[1,566]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:567,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vt1,$VP1,{350:568,156:$VQ1}),{405:[1,570]},{2:$V1,3:571,4:$V2,5:$V3},{193:[1,572]},{2:$V1,3:578,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,183:[1,574],431:585,473:573,474:575,475:576,478:577,482:582,493:579,497:581},{130:[1,589],349:586,353:[1,588],410:[1,587]},{113:591,132:$VW,183:[2,1141],296:$Vj1,471:590},o($VU1,[2,1135],{465:592,3:593,2:$V1,4:$V2,5:$V3}),{2:$V1,3:594,4:$V2,5:$V3},{4:[1,595]},{4:[1,596]},o($VQ,[2,502]),o($VK,[2,686],{74:[1,597]}),o($VV1,[2,687]),{2:$V1,3:598,4:$V2,5:$V3},{2:$V1,3:244,4:$V2,5:$V3,199:599},{2:$V1,3:600,4:$V2,5:$V3},o($Vt1,$VW1,{398:601,156:$VX1}),{405:[1,603]},{2:$V1,3:604,4:$V2,5:$V3},o($Vt1,$VW1,{398:605,156:$VX1}),o($Vt1,$VW1,{398:606,156:$VX1}),{2:$V1,3:607,4:$V2,5:$V3},o($VY1,[2,1129]),o($VY1,[2,1130]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:608,114:625,327:637,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$V22,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,146:$V9,154:$Va2,156:$Va,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,189:$Vb,266:$Vc,267:$Vd,290:$Ve,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VB1,[2,288]),o($VB1,[2,289]),o($VB1,[2,290]),o($VB1,[2,291]),o($VB1,[2,292]),o($VB1,[2,293]),o($VB1,[2,294]),o($VB1,[2,295]),o($VB1,[2,296]),o($VB1,[2,297]),o($VB1,[2,298]),o($VB1,[2,299]),o($VB1,[2,300]),o($VB1,[2,301]),o($VB1,[2,302]),o($VB1,[2,303]),o($VB1,[2,304]),o($VB1,[2,305]),{2:$V1,3:168,4:$V2,5:$V3,26:654,27:653,36:649,40:648,56:165,77:$VU,79:75,89:$V7,94:651,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,264:650,265:$V41,266:$Vc,267:[1,655],270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:[1,652],291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,339:$Vh,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,309]),o($VB1,[2,310]),{77:[1,656]},o([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vy2,{77:$VN1,116:[1,657]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:658,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:659,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:661,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:662,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,283]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,249,265,266,267,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,302,303,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,415,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764,765,766],[2,356]),o($Vz2,[2,357]),o($Vz2,[2,358]),o($Vz2,$VA2),o($Vz2,[2,360]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,361]),{2:$V1,3:664,4:$V2,5:$V3,131:[1,665],301:663},{2:$V1,3:666,4:$V2,5:$V3},o($Vz2,[2,367]),o($Vz2,[2,368]),{2:$V1,3:667,4:$V2,5:$V3,77:$VB2,113:669,131:$VV,132:$VW,143:$VY,152:$V$,181:$V31,196:670,201:672,257:671,294:$Vh1,295:$Vi1,296:$Vj1,302:$Vn1,419:673,424:$Vs1},{77:[1,674]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:675,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,304:676,307:677,308:$VC2,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,679]},{77:[1,680]},o($VD2,[2,624]),{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,300:[1,683],302:$Vn1,419:190,420:$Vr1,421:681,422:684,423:686,424:$Vs1,427:682},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:696,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:697,4:$V2,5:$V3,156:$VL,200:698,290:$VM,291:$VN,292:$VO,293:$VP},{77:[2,336]},{77:[2,337]},{77:[2,338]},{77:[2,339]},{77:[2,340]},{77:[2,341]},{77:[2,342]},{77:[2,343]},{77:[2,344]},{2:$V1,3:704,4:$V2,5:$V3,131:$VF2,132:$VG2,425:699,426:[1,700],428:701},{2:$V1,3:244,4:$V2,5:$V3,199:705},{290:[1,706]},o($Vt1,[2,472]),{2:$V1,3:244,4:$V2,5:$V3,199:707},{231:[1,709],454:708},{231:[2,695]},{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,209:710,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{40:711,79:75,89:$V7,184:99,189:$Vb},o($VH2,[2,1091],{210:712,76:[1,713]}),o($VI2,[2,185],{3:714,2:$V1,4:$V2,5:$V3,76:[1,715],154:[1,716]}),o($VI2,[2,189],{3:717,2:$V1,4:$V2,5:$V3,76:[1,718]}),o($VI2,[2,190],{3:719,2:$V1,4:$V2,5:$V3,76:[1,720]}),o($VI2,[2,193]),o($VI2,[2,194],{3:721,2:$V1,4:$V2,5:$V3,76:[1,722]}),o($VI2,[2,197],{3:723,2:$V1,4:$V2,5:$V3,76:[1,724]}),o([2,4,5,10,72,74,76,78,93,98,118,128,154,162,168,169,183,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VJ2,{77:$VN1,116:$VK2}),o([2,4,5,10,72,74,76,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],[2,200]),o($VK,[2,773]),{2:$V1,3:244,4:$V2,5:$V3,199:726},o($VL2,$VM2,{81:727,198:$VN2}),o($Vz1,[2,1044]),o($VO2,[2,1057],{108:729,190:[1,730]}),o([10,78,183,306,310,602,764],$VM2,{419:190,81:731,117:732,3:733,114:736,144:758,158:768,160:769,2:$V1,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,115:$V$1,116:$V02,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,198:$VN2,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,420:$Vr1,424:$Vs1}),{353:[1,782]},{183:[1,783]},o($VK,[2,594],{112:[1,784]}),{405:[1,785]},{183:[1,786]},o($VK,[2,598],{112:[1,787],183:[1,788]}),{2:$V1,3:244,4:$V2,5:$V3,199:789},{40:790,74:[1,791],79:75,89:$V7,184:99,189:$Vb},o($Vv3,[2,70]),{76:[1,792]},o($VK,[2,667]),{11:106,306:[1,793],602:$VH,764:$VI},o($VK,[2,665]),o($VK,[2,666]),{2:$V1,3:794,4:$V2,5:$V3},o($VK,[2,587]),{146:[1,795]},o([2,4,5,10,53,72,74,76,77,78,89,95,124,128,143,145,146,148,149,152,154,156,181,183,187,189,230,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],$VJ2,{116:$VK2}),o($VK,[2,615]),o($VK,[2,616]),o($VK,[2,617]),o($VK,$VA2,{74:[1,796]}),{77:$VB2,113:669,131:$VV,132:$VW,143:$VY,152:$V$,181:$V31,196:670,201:672,257:671,294:$Vh1,295:$Vi1,296:$Vj1,302:$Vn1,419:673,424:$Vs1},o($Vw3,[2,320]),o($Vw3,[2,321]),o($Vw3,[2,322]),o($Vw3,[2,323]),o($Vw3,[2,324]),o($Vw3,[2,325]),o($Vw3,[2,326]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,114:625,327:637,12:797,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$V22,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,146:$V9,154:$Va2,156:$Va,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,189:$Vb,266:$Vc,267:$Vd,290:$Ve,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VK,[2,675],{74:$Vx3}),o($VK,[2,676]),o($Vy3,[2,354],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VK,[2,677],{74:[1,800]}),o($VK,[2,678],{74:[1,801]}),o($VV1,[2,683]),o($VV1,[2,685]),o($VV1,[2,679]),o($VV1,[2,680]),{114:807,115:$V$1,116:$V02,124:[1,802],230:$VA3,429:803,430:804,433:$VB3},{2:$V1,3:808,4:$V2,5:$V3},o($Vt1,[2,656]),o($Vt1,[2,657]),o($VK,[2,614],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:100,4:$V2,5:$V3,504:274,506:809},o($VK,[2,754],{74:$VC3}),o($VD3,[2,756]),o($VK,[2,759]),o($VK,[2,681],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VE3,$VI1,{186:811,195:$VJ1}),o($VE3,$VI1,{186:812,195:$VJ1}),o($VE3,$VI1,{186:813,195:$VJ1}),o($VF3,[2,1087],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,188:814,174:815,253:816,94:817,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{77:[1,819],131:$VV,196:818},{2:$V1,3:100,4:$V2,5:$V3,504:274,506:820},o($VG3,[2,153]),o($VG3,[2,154]),o($VG3,[2,155]),o($VG3,[2,156]),o($VG3,[2,157]),o($VG3,[2,158]),o($VG3,[2,159]),o($VL1,[2,3]),o($VL1,[2,774]),o($VL1,[2,775]),o($VL1,[2,776]),o($VL1,[2,777]),o($VL1,[2,778]),o($VL1,[2,779]),o($VL1,[2,780]),o($VL1,[2,781]),o($VL1,[2,782]),o($VL1,[2,783]),o($VL1,[2,784]),o($VL1,[2,785]),o($VL1,[2,786]),o($VL1,[2,787]),o($VL1,[2,788]),o($VL1,[2,789]),o($VL1,[2,790]),o($VL1,[2,791]),o($VL1,[2,792]),o($VL1,[2,793]),o($VL1,[2,794]),o($VL1,[2,795]),o($VL1,[2,796]),o($VL1,[2,797]),o($VL1,[2,798]),o($VL1,[2,799]),o($VL1,[2,800]),o($VL1,[2,801]),o($VL1,[2,802]),o($VL1,[2,803]),o($VL1,[2,804]),o($VL1,[2,805]),o($VL1,[2,806]),o($VL1,[2,807]),o($VL1,[2,808]),o($VL1,[2,809]),o($VL1,[2,810]),o($VL1,[2,811]),o($VL1,[2,812]),o($VL1,[2,813]),o($VL1,[2,814]),o($VL1,[2,815]),o($VL1,[2,816]),o($VL1,[2,817]),o($VL1,[2,818]),o($VL1,[2,819]),o($VL1,[2,820]),o($VL1,[2,821]),o($VL1,[2,822]),o($VL1,[2,823]),o($VL1,[2,824]),o($VL1,[2,825]),o($VL1,[2,826]),o($VL1,[2,827]),o($VL1,[2,828]),o($VL1,[2,829]),o($VL1,[2,830]),o($VL1,[2,831]),o($VL1,[2,832]),o($VL1,[2,833]),o($VL1,[2,834]),o($VL1,[2,835]),o($VL1,[2,836]),o($VL1,[2,837]),o($VL1,[2,838]),o($VL1,[2,839]),o($VL1,[2,840]),o($VL1,[2,841]),o($VL1,[2,842]),o($VL1,[2,843]),o($VL1,[2,844]),o($VL1,[2,845]),o($VL1,[2,846]),o($VL1,[2,847]),o($VL1,[2,848]),o($VL1,[2,849]),o($VL1,[2,850]),o($VL1,[2,851]),o($VL1,[2,852]),o($VL1,[2,853]),o($VL1,[2,854]),o($VL1,[2,855]),o($VL1,[2,856]),o($VL1,[2,857]),o($VL1,[2,858]),o($VL1,[2,859]),o($VL1,[2,860]),o($VL1,[2,861]),o($VL1,[2,862]),o($VL1,[2,863]),o($VL1,[2,864]),o($VL1,[2,865]),o($VL1,[2,866]),o($VL1,[2,867]),o($VL1,[2,868]),o($VL1,[2,869]),o($VL1,[2,870]),o($VL1,[2,871]),o($VL1,[2,872]),o($VL1,[2,873]),o($VL1,[2,874]),o($VL1,[2,875]),o($VL1,[2,876]),o($VL1,[2,877]),o($VL1,[2,878]),o($VL1,[2,879]),o($VL1,[2,880]),o($VL1,[2,881]),o($VL1,[2,882]),o($VL1,[2,883]),o($VL1,[2,884]),o($VL1,[2,885]),o($VL1,[2,886]),o($VL1,[2,887]),o($VL1,[2,888]),o($VL1,[2,889]),o($VL1,[2,890]),o($VL1,[2,891]),o($VL1,[2,892]),o($VL1,[2,893]),o($VL1,[2,894]),o($VL1,[2,895]),o($VL1,[2,896]),o($VL1,[2,897]),o($VL1,[2,898]),o($VL1,[2,899]),o($VL1,[2,900]),o($VL1,[2,901]),o($VL1,[2,902]),o($VL1,[2,903]),o($VL1,[2,904]),o($VL1,[2,905]),o($VL1,[2,906]),o($VL1,[2,907]),o($VL1,[2,908]),o($VL1,[2,909]),o($VL1,[2,910]),o($VL1,[2,911]),o($VL1,[2,912]),o($VL1,[2,913]),o($VL1,[2,914]),o($VL1,[2,915]),o($VL1,[2,916]),o($VL1,[2,917]),o($VL1,[2,918]),o($VL1,[2,919]),o($VL1,[2,920]),o($VL1,[2,921]),o($VL1,[2,922]),o($VL1,[2,923]),o($VL1,[2,924]),o($VL1,[2,925]),o($VL1,[2,926]),o($VL1,[2,927]),o($VL1,[2,928]),o($VL1,[2,929]),o($VL1,[2,930]),o($VL1,[2,931]),o($VL1,[2,932]),o($VL1,[2,933]),o($VL1,[2,934]),o($VL1,[2,935]),o($VL1,[2,936]),o($VL1,[2,937]),o($VL1,[2,938]),o($VL1,[2,939]),o($VL1,[2,940]),o($VL1,[2,941]),o($VL1,[2,942]),o($VL1,[2,943]),o($VL1,[2,944]),o($VL1,[2,945]),o($VL1,[2,946]),o($VL1,[2,947]),o($VL1,[2,948]),o($VL1,[2,949]),o($VL1,[2,950]),o($VL1,[2,951]),o($VL1,[2,952]),o($VL1,[2,953]),o($VL1,[2,954]),o($VL1,[2,955]),o($VL1,[2,956]),o($VL1,[2,957]),o($VL1,[2,958]),o($VL1,[2,959]),o($VL1,[2,960]),o($VL1,[2,961]),o($VL1,[2,962]),o($VL1,[2,963]),o($VL1,[2,964]),o($VL1,[2,965]),o($VL1,[2,966]),o($VL1,[2,967]),o($VL1,[2,968]),o($VL1,[2,969]),o($VL1,[2,970]),o($VL1,[2,971]),o($VL1,[2,972]),o($VL1,[2,973]),o($VL1,[2,974]),o($VL1,[2,975]),o($VL1,[2,976]),o($VL1,[2,977]),o($VL1,[2,978]),o($VL1,[2,979]),o($VL1,[2,980]),o($VL1,[2,981]),o($VL1,[2,982]),o($VL1,[2,983]),o($VL1,[2,984]),o($VL1,[2,985]),o($VL1,[2,986]),o($VL1,[2,987]),o($VL1,[2,988]),o($VL1,[2,989]),o($VL1,[2,990]),o($VL1,[2,991]),o($VL1,[2,992]),o($VL1,[2,993]),o($VL1,[2,994]),o($VL1,[2,995]),o($VL1,[2,996]),o($VL1,[2,997]),o($VL1,[2,998]),o($VL1,[2,999]),o($VL1,[2,1000]),o($VL1,[2,1001]),o($VL1,[2,1002]),o($VL1,[2,1003]),o($VL1,[2,1004]),o($VL1,[2,1005]),o($VL1,[2,1006]),o($VL1,[2,1007]),o($VL1,[2,1008]),o($VL1,[2,1009]),o($VL1,[2,1010]),o($VL1,[2,1011]),o($VL1,[2,1012]),o($VL1,[2,1013]),o($VL1,[2,1014]),o($VL1,[2,1015]),o($VL1,[2,1016]),o($VL1,[2,1017]),o($VL1,[2,1018]),o($VL1,[2,1019]),o($VL1,[2,1020]),o($VL1,[2,1021]),o($VL1,[2,1022]),o($VL1,[2,1023]),o($VL1,[2,1024]),o($VL1,[2,1025]),o($VL1,[2,1026]),o($VL1,[2,1027]),o($VL1,[2,1028]),o($VL1,[2,1029]),o($VL1,[2,1030]),o($VL1,[2,1031]),o($VL1,[2,1032]),o($VL1,[2,1033]),o($VL1,[2,1034]),o($VL1,[2,1035]),o($VL1,[2,1036]),o($VL1,[2,1037]),o($VL1,[2,1038]),o($VL1,[2,1039]),o($VL1,[2,1040]),o($VJ,[2,7]),o($VJ,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:821,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),{396:[1,825],401:[1,822],402:[1,823],403:[1,824]},{2:$V1,3:826,4:$V2,5:$V3},o($VE3,[2,1111],{289:827,767:829,78:[1,828],164:[1,831],185:[1,830]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:832,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:833,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:834,4:$V2,5:$V3,132:[1,835]},{2:$V1,3:836,4:$V2,5:$V3,132:[1,837]},{2:$V1,3:838,4:$V2,5:$V3,99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:839,4:$V2,5:$V3},{154:[1,840]},o($VH3,$VP1,{350:841,156:$VQ1}),{230:[1,842]},{2:$V1,3:843,4:$V2,5:$V3},o($VK,[2,729],{74:$VI3}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:845,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VD3,[2,732]),o($VJ3,[2,1143],{419:190,476:846,144:847,139:$VK3,141:$VK3,145:$VC1,420:$Vr1,424:$Vs1}),{139:[1,848],141:[1,849]},o($VL3,$VM3,{490:851,493:852,77:[1,850],137:$VS1}),o($VN3,[2,1167],{494:853,132:[1,854]}),o($VO3,[2,1171],{496:855,497:856,152:$VT1}),o($VO3,[2,747]),o($VP3,[2,739]),{2:$V1,3:857,4:$V2,5:$V3,131:[1,858]},{2:$V1,3:859,4:$V2,5:$V3},{2:$V1,3:860,4:$V2,5:$V3},o($Vt1,$VP1,{350:861,156:$VQ1}),o($Vt1,$VP1,{350:862,156:$VQ1}),o($VY1,[2,491]),o($VY1,[2,492]),{183:[1,863]},{183:[2,1142]},o($VQ3,[2,1137],{466:864,469:865,137:[1,866]}),o($VU1,[2,1136]),o($VR3,$VS3,{510:867,95:$VT3,230:[1,868],514:$VU3,515:$VV3,516:$VW3}),{76:[1,873]},{76:[1,874]},{145:$VT,450:875},{4:$VX3,7:879,76:[1,877],272:876,387:878,389:$VY3},o($VK,[2,456],{128:[1,882]}),o($VK,[2,579]),{2:$V1,3:883,4:$V2,5:$V3},{298:[1,884]},o($VH3,$VW1,{398:885,156:$VX1}),o($VK,[2,593]),{2:$V1,3:244,4:$V2,5:$V3,199:887,399:886},{2:$V1,3:244,4:$V2,5:$V3,199:887,399:888},o($VK,[2,772]),o($VJ,[2,669],{438:889,310:[1,890]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:891,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:892,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:893,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:894,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:895,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:896,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:897,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:898,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:899,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:900,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:901,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:902,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:903,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:904,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:905,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:906,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:907,4:$V2,5:$V3,77:[1,909],131:$VV,156:$VL,196:908,200:910,290:$VM,291:$VN,292:$VO,293:$VP},{2:$V1,3:911,4:$V2,5:$V3,77:[1,913],131:$VV,156:$VL,196:912,200:914,290:$VM,291:$VN,292:$VO,293:$VP},o($VZ3,[2,440],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:915,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,[2,441],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:916,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,[2,442],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:917,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,[2,443],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:918,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,$V_3,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:919,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:920,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:921,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VZ3,[2,445],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:922,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:923,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:924,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{164:[1,926],166:[1,928],328:925,334:[1,927]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:929,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:930,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:695,4:$V2,5:$V3,77:[1,931],111:934,145:$V$3,156:$VL,200:935,202:933,290:$VM,291:$VN,292:$VO,293:$VP,329:932},{99:[1,937],297:[1,938]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:939,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:940,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:941,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{4:$VX3,7:879,272:942,387:878,389:$VY3},o($V04,[2,88]),o($V04,[2,89]),{78:[1,943]},{78:[1,944]},{78:[1,945]},{78:[1,946],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vt1,$Vu1,{340:207,77:$VO1,198:$Vv1}),{78:[2,1107]},{78:[2,1108]},{134:$VR,135:$VS},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:947,152:$V$,154:$V01,156:$VL,158:167,164:[1,949],179:$V11,180:$V21,181:$V31,185:[1,948],196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:950,4:$V2,5:$V3,149:$V14,180:[1,952]},o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,416],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o($V24,[2,417],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($V24,[2,418],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($V34,[2,419],{114:625,327:637,316:$Vj2}),o($V34,[2,420],{114:625,327:637,316:$Vj2}),o($Vz2,[2,365]),o($Vz2,[2,1113]),o($Vz2,[2,1114]),o($Vz2,[2,366]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,362]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:953,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VD2,[2,620]),o($VD2,[2,621]),o($VD2,[2,622]),o($VD2,[2,623]),o($VD2,[2,625]),{40:954,79:75,89:$V7,184:99,189:$Vb},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,304:955,307:677,308:$VC2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{305:956,306:$V44,307:957,308:$VC2,310:$V54},o($V64,[2,372]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:959,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:960,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{4:$VX3,7:879,272:961,387:878,389:$VY3},o($VD2,[2,626]),{74:[1,963],300:[1,962]},o($VD2,[2,642]),o($V74,[2,649]),o($V84,[2,627]),o($V84,[2,628]),o($V84,[2,629]),o($V84,[2,630]),o($V84,[2,631]),o($V84,[2,632]),o($V84,[2,633]),o($V84,[2,634]),o($V84,[2,635]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:964,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vy2,{77:$VN1,116:$V94}),{74:$Vx3,300:[1,966]},o($Va4,[2,314],{77:$VN1}),o($VB1,[2,315]),{74:[1,968],426:[1,967]},o($VD2,[2,639]),o($Vb4,[2,644]),{152:[1,969]},{152:[1,970]},{152:[1,971]},{40:976,77:[1,975],79:75,89:$V7,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,184:99,189:$Vb,201:980,302:$Vn1,341:972,342:973,343:[1,974],344:$Vd4,419:190,420:$Vr1,424:$Vs1},o($Vt1,$Vu1,{340:981,198:$Vv1}),{77:$Ve4,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,201:980,302:$Vn1,341:982,342:983,344:$Vd4,419:190,420:$Vr1,424:$Vs1},{230:[1,986],455:985},{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,209:987,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{231:[2,696]},{78:[1,988]},o($VI2,[2,1093],{211:989,3:990,2:$V1,4:$V2,5:$V3}),o($VH2,[2,1092]),o($VI2,[2,183]),{2:$V1,3:991,4:$V2,5:$V3},{212:[1,992]},o($VI2,[2,187]),{2:$V1,3:993,4:$V2,5:$V3},o($VI2,[2,191]),{2:$V1,3:994,4:$V2,5:$V3},o($VI2,[2,195]),{2:$V1,3:995,4:$V2,5:$V3},o($VI2,[2,198]),{2:$V1,3:996,4:$V2,5:$V3},{2:$V1,3:997,4:$V2,5:$V3},{148:[1,998]},o($Vf4,[2,172],{82:999,183:[1,1000]}),{2:$V1,3:219,4:$V2,5:$V3,132:[1,1005],143:$VY,145:[1,1006],152:$V$,156:$VL,181:$V31,199:1001,200:1002,201:1003,202:1004,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1},{2:$V1,3:1011,4:$V2,5:$V3,109:1007,110:1008,111:1009,112:$Vg4},o($VO2,[2,1058]),o($Vh4,[2,1049],{91:1012,182:1013,183:[1,1014]}),o($VA1,[2,1048],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o([2,4,5,10,72,74,76,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,90],{77:[1,1019]}),{119:[1,1020]},o($Vl4,[2,93]),{2:$V1,3:1021,4:$V2,5:$V3},o($Vl4,[2,95]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1022,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1023,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1025,118:$VT2,122:$VU2,123:$VV2,124:$VW2,125:1024,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{77:[1,1026]},{77:[1,1027]},{77:[1,1028]},{77:[1,1029]},o($Vl4,[2,104]),o($Vl4,[2,105]),o($Vl4,[2,106]),o($Vl4,[2,107]),o($Vl4,[2,108]),o($Vl4,[2,109]),{2:$V1,3:1030,4:$V2,5:$V3},{2:$V1,3:1031,4:$V2,5:$V3,133:[1,1032]},o($Vl4,[2,113]),o($Vl4,[2,114]),o($Vl4,[2,115]),o($Vl4,[2,116]),o($Vl4,[2,117]),o($Vl4,[2,118]),{2:$V1,3:1033,4:$V2,5:$V3,77:$VB2,113:669,131:$VV,132:$VW,143:$VY,152:$V$,181:$V31,196:670,201:672,257:671,294:$Vh1,295:$Vi1,296:$Vj1,302:$Vn1,419:673,424:$Vs1},{145:[1,1034]},{77:[1,1035]},{145:[1,1036]},o($Vl4,[2,123]),{77:[1,1037]},{2:$V1,3:1038,4:$V2,5:$V3},{77:[1,1039]},{77:[1,1040]},{77:[1,1041]},{77:[1,1042]},{77:[1,1043],164:[1,1044]},{77:[1,1045]},{77:[1,1046]},{77:[1,1047]},{77:[1,1048]},{77:[1,1049]},{77:[1,1050]},{77:[1,1051]},{77:[1,1052]},{77:[1,1053]},{77:[2,1073]},{77:[2,1074]},{2:$V1,3:244,4:$V2,5:$V3,199:1054},{2:$V1,3:244,4:$V2,5:$V3,199:1055},{113:1056,132:$VW,296:$Vj1},o($VK,[2,596],{112:[1,1057]}),{2:$V1,3:244,4:$V2,5:$V3,199:1058},{113:1059,132:$VW,296:$Vj1},{2:$V1,3:1060,4:$V2,5:$V3},o($VK,[2,693]),o($VK,[2,68]),{2:$V1,3:236,4:$V2,5:$V3,75:1061},{77:[1,1062]},o($VK,[2,674]),o($VK,[2,586]),{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1063,336:1064,337:1066},{144:1069,145:$VC1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,671]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1070,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VZ3,$V_3,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:1071,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{113:1072,132:$VW,296:$Vj1},{2:$V1,3:266,4:$V2,5:$V3,446:1073,447:$VE1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1075,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,230:$VA3,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1,429:1074,433:$VB3},o($VK,[2,651]),{114:1077,115:$V$1,116:$V02,124:[1,1076]},o($VK,[2,663]),o($VK,[2,664]),{2:$V1,3:1079,4:$V2,5:$V3,77:$Vo4,131:$Vp4,432:1078},{114:807,115:$V$1,116:$V02,124:[1,1082],430:1083},o($VK,[2,753],{74:$VC3}),{2:$V1,3:100,4:$V2,5:$V3,504:1084},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1085,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1086,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1087,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VF3,[2,151]),o($VF3,[2,1088],{74:$Vq4}),o($Vr4,[2,273]),o($Vr4,[2,280],{114:625,327:637,3:1090,113:1092,2:$V1,4:$V2,5:$V3,76:[1,1089],99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,131:[1,1091],132:$VW,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,296:$Vj1,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VH1,[2,1089],{197:1093,765:[1,1094]}),{131:$VV,196:1095},{74:$VC3,78:[1,1096]},o($VJ,[2,11]),{148:[1,1097],190:[1,1098]},{190:[1,1099]},{190:[1,1100]},{190:[1,1101]},o($VK,[2,575],{76:[1,1103],77:[1,1102]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1104,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vz2,[2,346]),o($VE3,[2,1112]),o($VE3,[2,1109]),o($VE3,[2,1110]),{74:$Vx3,78:[1,1105]},{74:$Vx3,78:[1,1106]},{74:[1,1107]},{74:[1,1108]},{74:[1,1109]},{74:[1,1110]},o($Vz2,[2,353]),o($VK,[2,580]),{298:[1,1111]},{2:$V1,3:1112,4:$V2,5:$V3,113:1113,132:$VW,296:$Vj1},{2:$V1,3:244,4:$V2,5:$V3,199:1114},{230:[1,1115]},{2:$V1,3:578,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,474:1116,475:576,478:577,482:582,493:579,497:581},o($VK,[2,730],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VD3,[2,1145],{477:1117,483:1118,76:$Vs4}),o($VJ3,[2,1144]),{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,144:1121,145:$VC1,152:$VT1,419:190,420:$Vr1,424:$Vs1,475:1120,493:579,497:581},{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,475:1124,478:1123,482:582,493:579,497:581},{2:$V1,3:578,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,473:1125,474:575,475:576,478:577,482:582,493:579,497:581},o($VN3,[2,1163],{491:1126,132:[1,1127]}),o($VL3,[2,1162]),o($VO3,[2,1169],{495:1128,497:1129,152:$VT1}),o($VN3,[2,1168]),o($VO3,[2,746]),o($VO3,[2,1172]),o($VL3,[2,749]),o($VL3,[2,750]),o($VO3,[2,748]),o($VP3,[2,740]),{2:$V1,3:244,4:$V2,5:$V3,199:1130},{2:$V1,3:244,4:$V2,5:$V3,199:1131},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1132,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vt4,[2,1139],{467:1133,113:1134,132:$VW,296:$Vj1}),o($VQ3,[2,1138]),{2:$V1,3:1135,4:$V2,5:$V3},{335:$Vu4,338:$Vv4,339:$Vw4,511:1136},{2:$V1,3:244,4:$V2,5:$V3,199:1140},o($VR3,[2,765]),o($VR3,[2,766]),o($VR3,[2,767]),{129:[1,1141]},{266:[1,1142]},{266:[1,1143]},o($VV1,[2,688]),o($VV1,[2,689],{124:[1,1144]}),{4:$VX3,7:879,272:1145,387:878,389:$VY3},o([2,4,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,542],{5:[1,1146]}),o([2,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,539],{4:[1,1148],77:[1,1147]}),{77:[1,1149]},o($Vx4,[2,4]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1150,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,588]),o($VH3,[2,568]),{2:$V1,3:1151,4:$V2,5:$V3,113:1152,132:$VW,296:$Vj1},o($VK,[2,564],{74:$Vy4}),o($VV1,[2,566]),o($VK,[2,613],{74:$Vy4}),o($VK,[2,668]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1154,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($Vz4,[2,376],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($V34,[2,377],{114:625,327:637,316:$Vj2}),o($Vz4,[2,378],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VA4,[2,379],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,314:[1,1155],316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VA4,[2,381],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,314:[1,1156],316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VB1,[2,383],{114:625,327:637}),o($V24,[2,384],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($V24,[2,385],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($VB4,[2,386],{114:625,327:637,115:$V$1,116:$V02,123:$V12,136:$V42,312:$Vg2,316:$Vj2}),o($VB4,[2,387],{114:625,327:637,115:$V$1,116:$V02,123:$V12,136:$V42,312:$Vg2,316:$Vj2}),o($VB4,[2,388],{114:625,327:637,115:$V$1,116:$V02,123:$V12,136:$V42,312:$Vg2,316:$Vj2}),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,123,124,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,389],{114:625,327:637,115:$V$1,116:$V02,136:$V42,312:$Vg2,316:$Vj2}),o($VC4,[2,390],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($VC4,[2,391],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($VC4,[2,392],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($VC4,[2,393],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($Va4,[2,394],{77:$VN1}),o($VB1,[2,395]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1157,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,397]),o($Va4,[2,398],{77:$VN1}),o($VB1,[2,399]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1158,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,401]),o($VD4,[2,402],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,403],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,404],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,405],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o([2,4,5,10,53,72,89,99,124,139,140,146,154,156,170,171,189,266,267,290,306,310,320,321,322,323,324,325,326,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$VE4,{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,407],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,408],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,409],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,410],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,411],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),{77:[1,1159]},{77:[2,446]},{77:[2,447]},{77:[2,448]},o($VF4,[2,414],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,156,162,164,166,168,169,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,415],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2}),{2:$V1,3:168,4:$V2,5:$V3,40:1160,56:165,77:$VU,78:[1,1162],79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1161,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,428]),o($VB1,[2,430]),o($VB1,[2,437]),o($VB1,[2,438]),{2:$V1,3:667,4:$V2,5:$V3,77:[1,1163]},{2:$V1,3:695,4:$V2,5:$V3,77:[1,1164],111:934,145:$V$3,156:$VL,200:935,202:1166,290:$VM,291:$VN,292:$VO,293:$VP,329:1165},o($VB1,[2,435]),o($VF4,[2,432],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o($VF4,[2,433],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,434],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VB1,[2,436]),o($VB1,[2,306]),o($VB1,[2,307]),o($VB1,[2,308]),o($VB1,[2,421]),{74:$Vx3,78:[1,1167]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1168,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1169,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,$VG4),o($VH4,[2,286]),o($VB1,[2,282]),{78:[1,1171],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1172]},{305:1173,306:$V44,307:957,308:$VC2,310:$V54},{306:[1,1174]},o($V64,[2,371]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1175,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1176],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{76:[1,1177],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1178]},o($VD2,[2,640]),{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,300:[1,1179],302:$Vn1,419:190,420:$Vr1,422:1180,423:686,424:$Vs1},{78:[1,1181],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:1182,4:$V2,5:$V3,149:$V14},o($VB1,[2,364]),o($VD2,[2,637]),{2:$V1,3:704,4:$V2,5:$V3,131:$VF2,132:$VG2,426:[1,1183],428:1184},{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,422:1185,423:686,424:$Vs1},{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,422:1186,423:686,424:$Vs1},{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,422:1187,423:686,424:$Vs1},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1188,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,458],{74:$VJ4}),{149:$Vc4,341:1190,344:$Vd4},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,100:1191,111:1193,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1192,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,466]),o($VK4,[2,469]),o($VK4,[2,470]),o($VL4,[2,474]),o($VL4,[2,475]),{2:$V1,3:244,4:$V2,5:$V3,199:1195},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1196,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,462],{74:$VJ4}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1192,419:190,420:$Vr1,424:$Vs1},{308:$VM4,456:1197,458:1198,459:1199},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1201,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{230:[2,697]},o($VI2,[2,181],{3:1202,2:$V1,4:$V2,5:$V3,76:[1,1203]}),o($VI2,[2,182]),o($VI2,[2,1094]),o($VI2,[2,184]),o($VI2,[2,186]),o($VI2,[2,188]),o($VI2,[2,192]),o($VI2,[2,196]),o($VI2,[2,199]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,118,124,128,143,145,146,148,149,152,154,156,162,168,169,181,183,187,189,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],[2,201]),{2:$V1,3:1204,4:$V2,5:$V3},o($VN4,[2,1045],{83:1205,92:1206,93:[1,1207],98:[1,1208]}),{2:$V1,3:219,4:$V2,5:$V3,77:[1,1210],132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,203:1209,209:1211,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($VL2,[2,164]),o($VL2,[2,165]),o($VL2,[2,166]),o($VL2,[2,167]),o($VL2,[2,168]),{2:$V1,3:667,4:$V2,5:$V3},o($Vz1,[2,83],{74:[1,1212]}),o($VO4,[2,85]),o($VO4,[2,86]),{113:1213,132:$VW,296:$Vj1},o([10,72,74,78,93,98,118,124,128,162,168,169,183,198,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],$Vy2,{116:$V94}),o($Vh4,[2,73]),o($Vh4,[2,1050]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1214,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,126]),o($Vl4,[2,144]),o($Vl4,[2,145]),o($Vl4,[2,146]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,78:[2,1065],94:260,111:149,113:153,127:1215,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1216,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,1217]},o($Vl4,[2,94]),o([2,4,5,10,72,74,76,77,78,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,96],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o([2,4,5,10,72,74,76,77,78,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,97],{114:625,327:637,99:$VZ1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1218],112:$VS2,114:736,115:$V$1,116:$V02,117:1219,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},o($VP4,[2,1061],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1221,118:$VT2,122:$VU2,123:$VV2,124:$VW2,126:1220,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1222,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1223,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1224,4:$V2,5:$V3},o($Vl4,[2,110]),o($Vl4,[2,111]),o($Vl4,[2,112]),o($Vl4,[2,119]),{2:$V1,3:1225,4:$V2,5:$V3},{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1226,336:1064,337:1066},{2:$V1,3:1227,4:$V2,5:$V3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1228,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,125]),o($VP4,[2,1067],{155:1229}),o($VP4,[2,1069],{157:1230}),o($VP4,[2,1071],{159:1231}),o($VP4,[2,1075],{161:1232}),o($VQ4,$VR4,{163:1233,178:1234}),{77:[1,1235]},o($VP4,[2,1077],{165:1236}),o($VP4,[2,1079],{167:1237}),o($VQ4,$VR4,{178:1234,163:1238}),o($VQ4,$VR4,{178:1234,163:1239}),o($VQ4,$VR4,{178:1234,163:1240}),o($VQ4,$VR4,{178:1234,163:1241}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1242,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1243,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VS4,[2,1081],{176:1244}),o($VK,[2,606],{183:[1,1245]}),o($VK,[2,602],{183:[1,1246]}),o($VK,[2,595]),{113:1247,132:$VW,296:$Vj1},o($VK,[2,604],{183:[1,1248]}),o($VK,[2,599]),o($VK,[2,600],{112:[1,1249]}),o($Vv3,[2,69]),{40:1250,79:75,89:$V7,184:99,189:$Vb},o($VK,[2,450],{74:$VT4,128:[1,1251]}),o($VU4,[2,451]),{124:[1,1253]},{2:$V1,3:1254,4:$V2,5:$V3},o($Vt1,[2,1115]),o($Vt1,[2,1116]),o($VK,[2,618]),o($Vy3,[2,355],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VD4,$VE4,{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VV1,[2,682]),o($VV1,[2,684]),o($VK,[2,650]),o($VK,[2,652],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1255,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1079,4:$V2,5:$V3,77:$Vo4,131:$Vp4,432:1256},o($VV4,[2,659]),o($VV4,[2,660]),o($VV4,[2,661]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1257,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1258,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{114:1077,115:$V$1,116:$V02,124:[1,1259]},o($VD3,[2,755]),o($VF3,[2,148],{74:$Vq4}),o($VF3,[2,149],{74:$Vq4}),o($VF3,[2,150],{74:$Vq4}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:1260,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1261,4:$V2,5:$V3,113:1263,131:[1,1262],132:$VW,296:$Vj1},o($Vr4,[2,275]),o($Vr4,[2,277]),o($Vr4,[2,279]),o($VH1,[2,160]),o($VH1,[2,1090]),{78:[1,1264]},o($VK1,[2,758]),{2:$V1,3:1265,4:$V2,5:$V3},{2:$V1,3:1266,4:$V2,5:$V3},{2:$V1,3:1268,4:$V2,5:$V3,384:1267},{2:$V1,3:1268,4:$V2,5:$V3,384:1269},{2:$V1,3:1270,4:$V2,5:$V3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1271,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1272,4:$V2,5:$V3},{74:$Vx3,78:[1,1273]},o($Vz2,[2,347]),o($Vz2,[2,348]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1274,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1275,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1276,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1277,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VH3,[2,504]),o($VK,$VW4,{407:1278,76:$VX4,77:[1,1279]}),o($VK,$VW4,{407:1281,76:$VX4}),{77:[1,1282]},{2:$V1,3:244,4:$V2,5:$V3,199:1283},o($VD3,[2,731]),o($VD3,[2,733]),o($VD3,[2,1146]),{143:$VF1,145:$VG1,431:1284},o($VY4,[2,1147],{419:190,479:1285,144:1286,145:$VC1,420:$Vr1,424:$Vs1}),{76:$Vs4,139:[2,1151],481:1287,483:1288},o([10,74,76,78,132,139,145,152,306,310,420,424,602,764],$VM3,{490:851,493:852,137:$VS1}),o($VD3,[2,736]),o($VD3,$VK3),{74:$VI3,78:[1,1289]},o($VO3,[2,1165],{492:1290,497:1291,152:$VT1}),o($VN3,[2,1164]),o($VO3,[2,745]),o($VO3,[2,1170]),o($VK,[2,490],{77:[1,1292]}),{76:[1,1294],77:[1,1293]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,148:[1,1295],154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VI4,$VZ4,{79:75,184:99,468:1296,40:1299,89:$V7,146:$V_4,189:$Vb,470:$V$4}),o($Vt4,[2,1140]),o($VQ3,[2,723]),{230:[1,1300]},o($V05,[2,769]),o($V05,[2,770]),o($V05,[2,771]),o($VR3,$VS3,{510:1301,95:$VT3,514:$VU3,515:$VV3,516:$VW3}),o($VR3,[2,768]),o($VK,[2,312]),o($VK,[2,313]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1302,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VV1,[2,690],{124:[1,1303]}),o($Vx4,[2,541]),{131:[1,1305],388:1304,390:[1,1306]},o($Vx4,[2,5]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1307,419:190,420:$Vr1,424:$Vs1},o($VK,[2,455],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VK,[2,589]),o($VK,[2,590]),{2:$V1,3:244,4:$V2,5:$V3,199:1308},o($VK,[2,670]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1309,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1310,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1311],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1312],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:168,4:$V2,5:$V3,40:1313,56:165,77:$VU,79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1314,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1315]},{74:$Vx3,78:[1,1316]},o($VB1,[2,426]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1317,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,40:1318,56:165,77:$VU,78:[1,1320],79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1319,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,429]),o($VB1,[2,431]),o($VB1,$V15,{275:1321,276:$V25}),{78:[1,1323],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1324],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:1325,4:$V2,5:$V3,180:[1,1326]},o($VD2,[2,619]),o($VB1,[2,363]),{306:[1,1327]},o($VB1,[2,370]),{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,306:[2,374],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1328,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{4:$VX3,7:879,272:1329,387:878,389:$VY3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1330,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VD2,[2,641]),o($V74,[2,648]),o($V84,[2,636]),o($VH4,$VG4),o($VD2,[2,638]),o($Vb4,[2,643]),o($Vb4,[2,645]),o($Vb4,[2,646]),o($Vb4,[2,647]),o($VI4,[2,457],{74:$VJ4}),{77:[1,1332],143:$VY,144:1333,145:$VC1,152:$V$,181:$V31,201:1334,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,463]),{74:$V35,78:[1,1335]},{74:$V45,78:[1,1337]},o([74,78,99,112,115,116,123,124,133,136,138,139,140,141,142,154,170,171,179,180,311,312,313,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333],$V55),o($V65,[2,479],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{40:1341,77:$Ve4,79:75,89:$V7,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,184:99,189:$Vb,201:980,302:$Vn1,341:1339,342:1340,344:$Vd4,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,461],{74:$VJ4}),o($VK,[2,717],{457:1342,458:1343,459:1344,308:$VM4,464:[1,1345]}),o($V75,[2,701]),o($V75,[2,702]),{154:[1,1347],460:[1,1346]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,308:[2,698],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VI2,[2,179]),{2:$V1,3:1348,4:$V2,5:$V3},o($VK,[2,574]),o($V85,[2,238],{84:1349,128:[1,1350]}),o($VN4,[2,1046]),{77:[1,1351]},{77:[1,1352]},o($Vf4,[2,169],{204:1353,215:1355,205:1356,216:1357,221:1360,74:$V95,206:$Va5,208:$Vb5,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5}),{2:$V1,3:219,4:$V2,5:$V3,40:711,77:$Vw1,79:75,89:$V7,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,184:99,189:$Vb,199:213,200:215,201:214,202:217,203:1369,209:1211,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($Vk5,[2,177]),{2:$V1,3:1011,4:$V2,5:$V3,110:1370,111:1009,112:$Vg4},o($VO4,[2,87]),o($Vh4,[2,147],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{78:[1,1371]},{74:$Vx3,78:[2,1066]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,78:[2,1059],94:1376,111:149,113:153,120:1372,121:1373,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,242:[1,1375],254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,98]),o($VP4,[2,1062],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1377],112:$VS2,114:736,115:$V$1,116:$V02,117:1378,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},o($VP4,[2,1063],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{78:[1,1379],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1380],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1381]},o($Vl4,[2,120]),{74:$VT4,78:[1,1382]},o($Vl4,[2,122]),{74:$Vx3,78:[1,1383]},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1384],112:$VS2,114:736,115:$V$1,116:$V02,117:1385,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1386],112:$VS2,114:736,115:$V$1,116:$V02,117:1387,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1388],112:$VS2,114:736,115:$V$1,116:$V02,117:1389,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1390],112:$VS2,114:736,115:$V$1,116:$V02,117:1391,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{74:$Vl5,78:[1,1392]},o($V65,[2,143],{419:190,3:733,114:736,144:758,158:768,160:769,117:1394,2:$V1,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,115:$V$1,116:$V02,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,420:$Vr1,424:$Vs1}),o($VQ4,$VR4,{178:1234,163:1395}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1396],112:$VS2,114:736,115:$V$1,116:$V02,117:1397,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1398],112:$VS2,114:736,115:$V$1,116:$V02,117:1399,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{74:$Vl5,78:[1,1400]},{74:$Vl5,78:[1,1401]},{74:$Vl5,78:[1,1402]},{74:$Vl5,78:[1,1403]},{78:[1,1404],153:1015,179:$Vi4,180:$Vj4,181:$Vk4},{74:$Vq4,78:[1,1405]},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,74:[1,1406],76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1407,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1408,4:$V2,5:$V3},{2:$V1,3:1409,4:$V2,5:$V3},o($VK,[2,597]),{2:$V1,3:1410,4:$V2,5:$V3},{113:1411,132:$VW,296:$Vj1},{78:[1,1412]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1413,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,336:1414,337:1066},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1415,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{124:[1,1416]},o($VK,[2,653],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VV4,[2,658]),{78:[1,1417],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VK,[2,654],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1418,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vr4,[2,272]),o($Vr4,[2,274]),o($Vr4,[2,276]),o($Vr4,[2,278]),o($VH1,[2,161]),o($VK,[2,569]),{148:[1,1419]},o($VK,[2,570]),o($VD3,[2,536],{387:878,7:879,272:1420,4:$VX3,386:[1,1421],389:$VY3}),o($VK,[2,571]),o($VK,[2,573]),{74:$Vx3,78:[1,1422]},o($VK,[2,577]),o($Vz2,[2,345]),{74:[1,1423],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1424],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1425],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1426],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VK,[2,581]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1427,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1428,4:$V2,5:$V3},o($VK,[2,583]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1429,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,1430]},{2:$V1,3:1431,4:$V2,5:$V3},{76:$Vs4,139:[2,1149],480:1432,483:1433},o($VY4,[2,1148]),{139:[1,1434]},{139:[2,1152]},o($VD3,[2,737]),o($VO3,[2,744]),o($VO3,[2,1166]),{2:$V1,3:1268,4:$V2,5:$V3,76:[1,1437],351:1435,358:1436,384:1438},{2:$V1,3:1011,4:$V2,5:$V3,100:1439,111:1440},{40:1441,79:75,89:$V7,184:99,189:$Vb},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1442,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,722]),{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1443,336:1064,337:1066},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1444,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,727]),{2:$V1,3:244,4:$V2,5:$V3,199:1445},{335:$Vu4,338:$Vv4,339:$Vw4,511:1446},o($VV1,[2,691],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1447,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{74:[1,1448],78:[1,1449]},o($V65,[2,543]),o($V65,[2,544]),{74:$V45,78:[1,1450]},o($VV1,[2,565]),o($Vz4,[2,380],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($Vz4,[2,382],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VB1,[2,396]),o($VB1,[2,400]),{78:[1,1451]},{74:$Vx3,78:[1,1452]},o($VB1,[2,422]),o($VB1,[2,424]),{78:[1,1453],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1454]},{74:$Vx3,78:[1,1455]},o($VB1,[2,427]),o($VB1,[2,327]),{77:[1,1456]},o($VB1,$V15,{275:1457,276:$V25}),o($VB1,$V15,{275:1458,276:$V25}),o($VH4,[2,284]),o($VB1,[2,281]),o($VB1,[2,369]),o($V64,[2,373],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{74:[1,1460],78:[1,1459]},{74:[1,1462],78:[1,1461],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:1325,4:$V2,5:$V3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1463,419:190,420:$Vr1,424:$Vs1},o($VL4,[2,477]),o($VL4,[2,478]),{40:1466,77:$Ve4,79:75,89:$V7,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,184:99,189:$Vb,201:980,302:$Vn1,341:1464,342:1465,344:$Vd4,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,111:1467},o($VL4,[2,473]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1468,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1469,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,460],{74:$VJ4}),o($VI4,[2,467]),o($VK,[2,694]),o($V75,[2,699]),o($V75,[2,700]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1470,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{170:[1,1472],309:[1,1471]},{460:[1,1473]},o($VI2,[2,180]),o($Vm5,[2,240],{85:1474,232:[1,1475]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1476,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1477,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1478,4:$V2,5:$V3},o($Vf4,[2,170],{216:1357,221:1360,215:1479,205:1480,206:$Va5,208:$Vb5,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5}),{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,209:1481,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($Vn5,[2,205]),o($Vn5,[2,206]),{2:$V1,3:219,4:$V2,5:$V3,77:[1,1486],143:$VY,144:1484,145:$VZ,152:$V$,156:$VL,181:$V31,199:1483,200:1487,201:1485,202:1488,217:1482,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{207:[1,1489],223:$Vo5},{207:[1,1491],223:$Vp5},o($Vq5,[2,222]),{206:[1,1495],208:[1,1494],221:1493,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5},o($Vq5,[2,224]),{223:[1,1496]},{208:[1,1498],223:[1,1497]},{208:[1,1500],223:[1,1499]},{208:[1,1501]},{223:[1,1502]},{223:[1,1503]},{74:$V95,204:1504,205:1356,206:$Va5,208:$Vb5,215:1355,216:1357,221:1360,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5},o($VO4,[2,84]),o($Vl4,[2,100]),{74:$Vr5,78:[1,1505]},{78:[1,1507]},o($Vs5,[2,261]),{78:[2,1060]},o($Vs5,[2,263],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,242:[1,1508],243:[1,1509],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($Vl4,[2,99]),o($VP4,[2,1064],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,101]),o($Vl4,[2,102]),o($Vl4,[2,103]),o($Vl4,[2,121]),o($Vl4,[2,124]),o($Vl4,[2,127]),o($VP4,[2,1068],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,128]),o($VP4,[2,1070],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,129]),o($VP4,[2,1072],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,130]),o($VP4,[2,1076],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,131]),o($VQ4,[2,1083],{177:1510}),o($VQ4,[2,1086],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{74:$Vl5,78:[1,1511]},o($Vl4,[2,133]),o($VP4,[2,1078],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,134]),o($VP4,[2,1080],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,135]),o($Vl4,[2,136]),o($Vl4,[2,137]),o($Vl4,[2,138]),o($Vl4,[2,139]),o($Vl4,[2,140]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1512,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VS4,[2,1082],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($VK,[2,607]),o($VK,[2,603]),o($VK,[2,605]),o($VK,[2,601]),o($Vv3,[2,71]),o($VK,[2,449],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VU4,[2,452]),o($VU4,[2,453],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1513,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VV4,[2,662]),o($VK,[2,655],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:1514,4:$V2,5:$V3},o($VD3,[2,545],{385:1515,391:1516,392:1517,366:1525,154:$Vt5,187:$Vu5,230:$Vv5,297:$Vw5,343:$Vx5,356:$Vy5,368:$Vz5,369:$VA5,373:$VB5,374:$VC5}),o($VD3,[2,535]),o($VK,[2,576],{76:[1,1529]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1530,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1531,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1532,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1533,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{74:$Vx3,78:[1,1534]},o($VK,[2,585]),{74:$Vr5,78:[1,1535]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1536,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o([10,74,78,139,306,310,602,764],[2,741]),{139:[1,1537]},{139:[2,1150]},{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,475:1124,478:1538,482:582,493:579,497:581},{78:[1,1539]},{74:[1,1540],78:[2,506]},{40:1541,79:75,89:$V7,184:99,189:$Vb},o($V65,[2,532]),{74:$V35,78:[1,1542]},o($Vk5,$V55),o($VK,[2,1133],{412:1543,413:1544,72:$VD5}),o($VI4,$VZ4,{79:75,184:99,114:625,327:637,40:1299,468:1546,89:$V7,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,146:$V_4,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,189:$Vb,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2,470:$V$4}),o($VI4,[2,725],{74:$VT4}),o($VI4,[2,726],{74:$Vx3}),o([10,53,72,89,124,146,156,189,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],[2,1181],{512:1547,3:1548,2:$V1,4:$V2,5:$V3,76:[1,1549]}),o($VE5,[2,1183],{513:1550,76:[1,1551]}),o($VV1,[2,692],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{131:[1,1552]},o($Vx4,[2,538]),o($Vx4,[2,540]),o($VB1,[2,412]),o($VB1,[2,413]),o($VB1,[2,439]),o($VB1,[2,423]),o($VB1,[2,425]),{118:$VF5,277:1553,278:1554,279:[1,1555]},o($VB1,[2,328]),o($VB1,[2,329]),o($VB1,[2,316]),{131:[1,1557]},o($VB1,[2,318]),{131:[1,1558]},{74:$V45,78:[1,1559]},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1560,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,465],{74:$VJ4}),o($VI4,[2,468]),o($Vk5,[2,488]),o($V65,[2,480],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VI4,[2,459],{74:$VJ4}),o($VK,[2,718],{74:$Vq4,198:[1,1561]}),{335:$VG5,338:$VH5,461:1562},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1565,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{119:[1,1567],170:[1,1568],309:[1,1566]},o($VI5,[2,259],{86:1569,118:[1,1570]}),{119:[1,1571]},o($V85,[2,239],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{95:[1,1572],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{95:[1,1573]},o($Vn5,[2,203]),o($Vn5,[2,204]),o($Vk5,[2,178]),o($Vn5,[2,237],{218:1574,230:[1,1575],231:[1,1576]}),o($VJ5,[2,208],{3:1577,2:$V1,4:$V2,5:$V3,76:[1,1578]}),o($VK5,[2,1095],{219:1579,76:[1,1580]}),{2:$V1,3:1581,4:$V2,5:$V3,76:[1,1582]},{40:1583,79:75,89:$V7,184:99,189:$Vb},o($VJ5,[2,216],{3:1584,2:$V1,4:$V2,5:$V3,76:[1,1585]}),o($VJ5,[2,219],{3:1586,2:$V1,4:$V2,5:$V3,76:[1,1587]}),{77:[1,1588]},o($Vq5,[2,234]),{77:[1,1589]},o($Vq5,[2,230]),o($Vq5,[2,223]),{223:$Vp5},{223:$Vo5},o($Vq5,[2,225]),o($Vq5,[2,226]),{223:[1,1590]},o($Vq5,[2,228]),{223:[1,1591]},{223:[1,1592]},o($Vq5,[2,232]),o($Vq5,[2,233]),{78:[1,1593],205:1480,206:$Va5,208:$Vb5,215:1479,216:1357,221:1360,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5},o($Vl4,[2,91]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1594,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,92]),o($Vs5,[2,264]),{244:[1,1595]},o($V65,[2,142],{419:190,3:733,114:736,144:758,158:768,160:769,117:1596,2:$V1,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,115:$V$1,116:$V02,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,420:$Vr1,424:$Vs1}),o($Vl4,[2,132]),{74:$Vx3,78:[1,1597]},o($VU4,[2,454],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VK,[2,572]),o($VD3,[2,534]),o($VD3,[2,546],{366:1525,392:1598,154:$Vt5,187:$Vu5,230:$Vv5,297:$Vw5,343:$Vx5,356:$Vy5,368:$Vz5,369:$VA5,373:$VB5,374:$VC5}),o($Vw3,[2,548]),{370:[1,1599]},{370:[1,1600]},{2:$V1,3:244,4:$V2,5:$V3,199:1601},o($Vw3,[2,554],{77:[1,1602]}),{2:$V1,3:114,4:$V2,5:$V3,77:[1,1604],113:251,131:$VV,132:$VW,143:$VY,152:$V$,156:$VL,181:$V31,196:250,200:1605,201:254,257:252,258:253,265:$VD1,274:1603,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1},o($Vw3,[2,558]),{297:[1,1606]},o($Vw3,[2,560]),o($Vw3,[2,561]),{335:[1,1607]},{77:[1,1608]},{2:$V1,3:1609,4:$V2,5:$V3},{78:[1,1610],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1611],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1612],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1613],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VK,$VW4,{407:1614,76:$VX4}),o($VK,[2,591]),{74:$Vr5,78:[1,1615]},{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,475:1124,478:1616,482:582,493:579,497:581},o($VD3,[2,735]),o($VK,[2,493],{352:1617,354:1618,355:1619,4:$VL5,243:$VM5,343:$VN5,356:$VO5}),o($VP5,$VQ5,{3:1268,359:1624,384:1625,360:1626,361:1627,2:$V1,4:$V2,5:$V3,367:$VR5}),{78:[2,507]},{76:[1,1629]},o($VK,[2,609]),o($VK,[2,1134]),{368:[1,1631],414:[1,1630]},o($VI4,[2,728]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1632,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VK,[2,762]),o($VE5,[2,1182]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1633,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VE5,[2,1184]),{78:[1,1634]},{78:[1,1635],118:$VF5,278:1636},{78:[1,1637]},{119:[1,1638]},{119:[1,1639]},{78:[1,1640]},{78:[1,1641]},o($VL4,[2,476]),o($VI4,[2,464],{74:$VJ4}),{2:$V1,3:244,4:$V2,5:$V3,143:$VF1,145:$VG1,199:1643,431:1642},o($V75,[2,703]),o($V75,[2,705]),{146:[1,1644]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1645],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{339:$VS5,462:1646},{417:[1,1649],463:[1,1648]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1650,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VT5,[2,267],{87:1651,245:[1,1652],247:[1,1653]}),{119:[1,1654]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1655,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1661,4:$V2,5:$V3},{2:$V1,3:1662,4:$V2,5:$V3},o($Vn5,[2,207]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1663,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,100:1664,111:1440},o($VJ5,[2,209]),{2:$V1,3:1665,4:$V2,5:$V3},o($VJ5,[2,1097],{220:1666,3:1667,2:$V1,4:$V2,5:$V3}),o($VK5,[2,1096]),o($VJ5,[2,212]),{2:$V1,3:1668,4:$V2,5:$V3},{78:[1,1669]},o($VJ5,[2,217]),{2:$V1,3:1670,4:$V2,5:$V3},o($VJ5,[2,220]),{2:$V1,3:1671,4:$V2,5:$V3},{40:1672,79:75,89:$V7,184:99,189:$Vb},{40:1673,79:75,89:$V7,184:99,189:$Vb},o($Vq5,[2,227]),o($Vq5,[2,229]),o($Vq5,[2,231]),o($Vf4,[2,171]),o($Vs5,[2,262]),o($Vs5,[2,265],{242:[1,1674]}),o($VQ4,[2,1084],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,141]),o($Vw3,[2,547]),o($Vw3,[2,550]),{374:[1,1675]},o($Vw3,[2,1127],{395:1676,393:1677,77:$VX5}),{131:$VV,196:1679},o($Vw3,[2,555]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1680,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vw3,[2,557]),o($Vw3,[2,559]),{2:$V1,3:114,4:$V2,5:$V3,77:[1,1682],113:251,131:$VV,132:$VW,143:$VY,152:$V$,156:$VL,181:$V31,196:250,200:255,201:254,257:252,258:253,265:$VD1,274:1681,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1683,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,578]),o($Vz2,[2,349]),o($Vz2,[2,350]),o($Vz2,[2,351]),o($Vz2,[2,352]),o($VK,[2,582]),o($VK,[2,592]),o($VD3,[2,734]),o($VK,[2,489]),o($VK,[2,494],{355:1684,4:$VL5,243:$VM5,343:$VN5,356:$VO5}),o($VY5,[2,496]),o($VY5,[2,497]),{124:[1,1685]},{124:[1,1686]},{124:[1,1687]},{74:[1,1688],78:[2,505]},o($V65,[2,533]),o($V65,[2,508]),{187:[1,1696],193:[1,1697],362:1689,363:1690,364:1691,365:1692,366:1693,368:$Vz5,369:[1,1694],370:[1,1698],373:[1,1695]},{2:$V1,3:1699,4:$V2,5:$V3},{40:1700,79:75,89:$V7,184:99,189:$Vb},{415:[1,1701]},{416:[1,1702]},o($VK,[2,761]),o($VK,[2,763]),o($Vx4,[2,537]),o($VB1,[2,331]),{78:[1,1703]},o($VB1,[2,332]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1704,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1705,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,317]),o($VB1,[2,319]),{2:$V1,3:1706,4:$V2,5:$V3},o($VK,[2,720],{77:[1,1707]}),{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1708,336:1064,337:1066},{335:$VG5,338:$VH5,461:1709},o($V75,[2,707]),{77:[1,1711],343:[1,1712],344:[1,1710]},{170:[1,1714],309:[1,1713]},{170:[1,1716],309:[1,1715]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1717],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vh4,[2,250],{88:1718,162:[1,1719],168:[1,1721],169:[1,1720]}),{131:$VV,196:1722},{131:$VV,196:1723},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1724,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vm5,[2,248],{234:1725,74:$VZ5,239:[1,1727]}),o($V_5,[2,242]),{146:[1,1728]},{77:[1,1729]},{77:[1,1730]},o($V_5,[2,247],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{78:[2,1051],96:1731,99:[1,1733],102:1732},{99:[1,1734]},o($Vn5,[2,235],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($Vn5,[2,236],{74:$V35}),o($VJ5,[2,210]),o($VJ5,[2,211]),o($VJ5,[2,1098]),o($VJ5,[2,213]),{2:$V1,3:1735,4:$V2,5:$V3,76:[1,1736]},o($VJ5,[2,218]),o($VJ5,[2,221]),{78:[1,1737]},{78:[1,1738]},o($Vs5,[2,266]),{2:$V1,3:244,4:$V2,5:$V3,199:1739},o($Vw3,[2,552]),o($Vw3,[2,1128]),{2:$V1,3:1740,4:$V2,5:$V3},{74:[1,1741]},{78:[1,1742],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vw3,[2,562]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1743,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1744],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VY5,[2,495]),{2:$V1,3:1745,4:$V2,5:$V3},{131:$VV,196:1746},{2:$V1,3:1747,4:$V2,5:$V3},o($VP5,$VQ5,{361:1627,360:1748,367:$VR5}),o($VD3,[2,510]),o($VD3,[2,511]),o($VD3,[2,512]),o($VD3,[2,513]),o($VD3,[2,514]),{370:[1,1749]},{370:[1,1750]},o($V$5,[2,1121],{382:1751,370:[1,1752]}),{2:$V1,3:1753,4:$V2,5:$V3},{2:$V1,3:1754,4:$V2,5:$V3},o($VP5,[2,516]),o($VK,[2,1131],{411:1755,413:1756,72:$VD5}),o($VK,[2,610]),o($VK,[2,611],{367:[1,1757]}),o($VB1,[2,333]),o([78,118],[2,334],{74:$VZ5}),{74:$Vr5,78:[2,335]},o($VK,[2,719]),{2:$V1,3:1011,4:$V2,5:$V3,100:1758,111:1440},o($V75,[2,706],{74:$VT4}),o($V75,[2,704]),{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1759,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,100:1760,111:1440},{344:[1,1761]},{339:$VS5,462:1762},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1763,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{339:$VS5,462:1764},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1765,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{339:$VS5,462:1766},o($Vh4,[2,72]),{40:1767,79:75,89:$V7,164:[1,1768],184:99,189:$Vb,240:[1,1769]},{40:1770,79:75,89:$V7,184:99,189:$Vb,240:[1,1771]},{40:1772,79:75,89:$V7,184:99,189:$Vb,240:[1,1773]},o($VT5,[2,270],{246:1774,247:[1,1775]}),{248:1776,249:[2,1099],766:[1,1777]},o($VI5,[2,260],{74:$Vr5}),o($Vm5,[2,241]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,235:1778,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1779,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,1780]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1781,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1782,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1783]},{78:[2,1052]},{77:[1,1784]},{77:[1,1785]},o($VJ5,[2,214]),{2:$V1,3:1786,4:$V2,5:$V3},{2:$V1,3:1787,4:$V2,5:$V3,76:[1,1788]},{2:$V1,3:1789,4:$V2,5:$V3,76:[1,1790]},o($Vw3,[2,1125],{394:1791,393:1792,77:$VX5}),{78:[1,1793]},{131:$VV,196:1794},o($Vw3,[2,556]),{78:[1,1795],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vw3,[2,517]),o($VY5,[2,498]),o($VY5,[2,499]),o($VY5,[2,500]),o($V65,[2,509]),{2:$V1,3:1797,4:$V2,5:$V3,77:[2,1117],371:1796},{77:[1,1798]},{2:$V1,3:1800,4:$V2,5:$V3,77:[2,1123],383:1799},o($V$5,[2,1122]),{77:[1,1801]},{77:[1,1802]},o($VK,[2,608]),o($VK,[2,1132]),o($VP5,$VQ5,{361:1627,360:1803,367:$VR5}),{74:$V35,78:[1,1804]},o($V75,[2,713],{74:$VJ4}),{74:$V35,78:[1,1805]},o($V75,[2,715]),o($V75,[2,708]),{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1806],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($V75,[2,711]),{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1807],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($V75,[2,709]),o($Vh4,[2,251]),{40:1808,79:75,89:$V7,184:99,189:$Vb,240:[1,1809]},{40:1810,79:75,89:$V7,184:99,189:$Vb},o($Vh4,[2,253]),{40:1811,79:75,89:$V7,184:99,189:$Vb},o($Vh4,[2,254]),{40:1812,79:75,89:$V7,184:99,189:$Vb},o($VT5,[2,268]),{131:$VV,196:1813},{249:[1,1814]},{249:[2,1100]},o($V_5,[2,243]),o($Vm5,[2,249],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1815,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{74:$VZ5,78:[1,1816]},{74:$VZ5,78:[1,1817]},o($VN4,[2,1053],{97:1818,104:1819,3:1821,2:$V1,4:$V2,5:$V3,76:$V06}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1824,103:1822,105:1823,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,100:1825,111:1440},o($VJ5,[2,215]),o($Vn5,[2,173]),{2:$V1,3:1826,4:$V2,5:$V3},o($Vn5,[2,175]),{2:$V1,3:1827,4:$V2,5:$V3},o($Vw3,[2,551]),o($Vw3,[2,1126]),o($Vw3,[2,549]),{78:[1,1828]},o($Vw3,[2,563]),{77:[1,1829]},{77:[2,1118]},{2:$V1,3:1831,4:$V2,5:$V3,132:$V16,372:1830},{77:[1,1833]},{77:[2,1124]},{2:$V1,3:1011,4:$V2,5:$V3,100:1834,111:1440},{2:$V1,3:1011,4:$V2,5:$V3,100:1835,111:1440},o($VK,[2,612]),o($VK,[2,721]),{343:[1,1837],344:[1,1836]},{339:$VS5,462:1838},{335:$VG5,338:$VH5,461:1839},o($Vh4,[2,252]),{40:1840,79:75,89:$V7,184:99,189:$Vb},o($Vh4,[2,255]),o($Vh4,[2,257]),o($Vh4,[2,258]),o($VT5,[2,271]),{131:[2,1101],250:1841,645:[1,1842]},{74:$VZ5,78:[1,1843]},o($V_5,[2,245]),o($V_5,[2,246]),o($VN4,[2,74]),o($VN4,[2,1054]),{2:$V1,3:1844,4:$V2,5:$V3},o($VN4,[2,78]),{74:[1,1846],78:[1,1845]},o($V65,[2,80]),o($V65,[2,81],{114:625,327:637,76:[1,1847],99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{74:$V35,78:[1,1848]},o($Vn5,[2,174]),o($Vn5,[2,176]),o($Vw3,[2,553]),{2:$V1,3:1831,4:$V2,5:$V3,132:$V16,372:1849},{74:$V26,78:[1,1850]},o($V65,[2,528]),o($V65,[2,529]),{2:$V1,3:1011,4:$V2,5:$V3,100:1852,111:1440},{74:$V35,78:[1,1853]},{74:$V35,78:[1,1854]},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1855,419:190,420:$Vr1,424:$Vs1},{344:[1,1856]},o($V75,[2,710]),o($V75,[2,712]),o($Vh4,[2,256]),{131:$VV,196:1857},{131:[2,1102]},o($V_5,[2,244]),o($VN4,[2,77]),{78:[2,76]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1824,105:1858,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1859,4:$V2,5:$V3},{78:[1,1860]},{74:$V26,78:[1,1861]},{374:[1,1862]},{2:$V1,3:1863,4:$V2,5:$V3,132:[1,1864]},{74:$V35,78:[1,1865]},o($VD3,[2,526]),o($VD3,[2,527]),o($V75,[2,714],{74:$VJ4}),o($V75,[2,716]),o($V36,[2,1103],{251:1866,766:[1,1867]}),o($V65,[2,79]),o($V65,[2,82]),o($VN4,[2,1055],{3:1821,101:1868,104:1869,2:$V1,4:$V2,5:$V3,76:$V06}),o($VD3,[2,518]),{2:$V1,3:244,4:$V2,5:$V3,199:1870},o($V65,[2,530]),o($V65,[2,531]),o($VD3,[2,525]),o($VT5,[2,1105],{252:1871,415:[1,1872]}),o($V36,[2,1104]),o($VN4,[2,75]),o($VN4,[2,1056]),o($V46,[2,1119],{375:1873,377:1874,77:[1,1875]}),o($VT5,[2,269]),o($VT5,[2,1106]),o($VD3,[2,521],{376:1876,378:1877,230:[1,1878]}),o($V46,[2,1120]),{2:$V1,3:1831,4:$V2,5:$V3,132:$V16,372:1879},o($VD3,[2,519]),{230:[1,1881],379:1880},{338:[1,1882]},{74:$V26,78:[1,1883]},o($VD3,[2,522]),{335:[1,1884]},{380:[1,1885]},o($V46,[2,520]),{380:[1,1886]},{381:[1,1887]},{381:[1,1888]},{230:[2,523]},o($VD3,[2,524])],
-defaultActions: {105:[2,6],194:[2,336],195:[2,337],196:[2,338],197:[2,339],198:[2,340],199:[2,341],200:[2,342],201:[2,343],202:[2,344],209:[2,695],591:[2,1142],653:[2,1107],654:[2,1108],710:[2,696],780:[2,1073],781:[2,1074],926:[2,446],927:[2,447],928:[2,448],987:[2,697],1288:[2,1152],1375:[2,1060],1433:[2,1150],1541:[2,507],1732:[2,1052],1777:[2,1100],1797:[2,1118],1800:[2,1124],1842:[2,1102],1845:[2,76],1887:[2,523]},
-parseError: function parseError(str, hash) {
- if (hash.recoverable) {
- this.trace(str);
- } else {
- var error = new Error(str);
- error.hash = hash;
- throw error;
- }
-},
-parse: function parse(input) {
- var self = this,
- stack = [0],
- tstack = [], // token stack
- vstack = [null], // semantic value stack
- lstack = [], // location stack
- table = this.table,
- yytext = '',
- yylineno = 0,
- yyleng = 0,
- recovering = 0,
- TERROR = 2,
- EOF = 1;
-
- var args = lstack.slice.call(arguments, 1);
-
- //this.reductionCount = this.shiftCount = 0;
-
- var lexer = Object.create(this.lexer);
- var sharedState = { yy: {} };
- // copy state
- for (var k in this.yy) {
- if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
- sharedState.yy[k] = this.yy[k];
+ function queryfn3(alasql, query) {
+ var scope = query.scope, jlen;
+ preIndex(query);
+ query.data = [];
+ query.xgroups = {};
+ query.groups = [];
+ var h = 0;
+ doJoin(alasql, query, scope, h);
+ if (query.groupfn) {
+ query.data = [];
+ if (0 === query.groups.length) {
+ var g = {};
+ if (query.selectGroup.length > 0) {
+ query.selectGroup.forEach(function (sg) {
+ if (sg.aggregatorid === 'COUNT' || sg.aggregatorid === 'SUM') {
+ g[sg.nick] = 0;
+ }
+ else {
+ g[sg.nick] = undefined;
+ }
+ });
+ }
+ query.groups = [g];
+ }
+ if (query.aggrKeys.length > 0) {
+ var gfns = '';
+ query.aggrKeys.forEach(function (col) {
+ gfns +=
+ "g['" +
+ col.nick +
+ "']=alasql.aggr['" +
+ col.funcid +
+ "'](undefined,g['" +
+ col.nick +
+ "'],3);";
+ });
+ var gfn = new Function('g,params,alasql', 'var y;' + gfns);
+ }
+ for (var i = 0, ilen = query.groups.length; i < ilen; i++) {
+ var g = query.groups[i];
+ if (gfn)
+ { gfn(g, query.params, alasql); }
+ if (!query.havingfn || query.havingfn(g, query.params, alasql)) {
+ var d = query.selectgfn(g, query.params, alasql);
+ query.data.push(d);
+ }
+ }
}
- }
-
- lexer.setInput(input, sharedState.yy);
- sharedState.yy.lexer = lexer;
- sharedState.yy.parser = this;
- if (typeof lexer.yylloc == 'undefined') {
- lexer.yylloc = {};
- }
- var yyloc = lexer.yylloc;
- lstack.push(yyloc);
-
- var ranges = lexer.options && lexer.options.ranges;
-
- if (typeof sharedState.yy.parseError === 'function') {
- this.parseError = sharedState.yy.parseError;
- } else {
- this.parseError = Object.getPrototypeOf(this).parseError;
- }
-
- function popStack (n) {
- stack.length = stack.length - 2 * n;
- vstack.length = vstack.length - n;
- lstack.length = lstack.length - n;
- }
-
-_token_stack:
- var lex = function () {
- var token;
- token = lexer.lex() || EOF;
- // if token isn't its numeric value, convert
- if (typeof token !== 'number') {
- token = self.symbols_[token] || token;
- }
- return token;
- }
-
- var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
- while (true) {
- // retreive state number from top of stack
- state = stack[stack.length - 1];
-
- // use default actions if available
- if (this.defaultActions[state]) {
- action = this.defaultActions[state];
- } else {
- if (symbol === null || typeof symbol == 'undefined') {
- symbol = lex();
- }
- // read action for current state and first input
- action = table[state] && table[state][symbol];
- }
-
-_handle_error:
- // handle parse error
- if (typeof action === 'undefined' || !action.length || !action[0]) {
- var error_rule_depth;
- var errStr = '';
-
- // Return the rule stack depth where the nearest error rule can be found.
- // Return FALSE when no error recovery rule was found.
- function locateNearestErrorRecoveryRule(state) {
- var stack_probe = stack.length - 1;
- var depth = 0;
-
- // try to recover from error
- for(;;) {
- // check for error recovery rule in this state
- if ((TERROR.toString()) in table[state]) {
- return depth;
- }
- if (state === 0 || stack_probe < 2) {
- return false; // No suitable error recovery rule available.
- }
- stack_probe -= 2; // popStack(1): [symbol, action]
- state = stack[stack_probe];
- ++depth;
- }
- }
-
- if (!recovering) {
- // first see if there's any chance at hitting an error recovery rule:
- error_rule_depth = locateNearestErrorRecoveryRule(state);
-
- // Report error
- expected = [];
- for (p in table[state]) {
- if (this.terminals_[p] && p > TERROR) {
- expected.push("'"+this.terminals_[p]+"'");
- }
- }
- if (lexer.showPosition) {
- errStr = 'Parse error on line '+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(', ') + ", got '" + (this.terminals_[symbol] || symbol)+ "'";
- } else {
- errStr = 'Parse error on line '+(yylineno+1)+": Unexpected " +
- (symbol == EOF ? "end of input" :
- ("'"+(this.terminals_[symbol] || symbol)+"'"));
- }
- this.parseError(errStr, {
- text: lexer.match,
- token: this.terminals_[symbol] || symbol,
- line: lexer.yylineno,
- loc: yyloc,
- expected: expected,
- recoverable: (error_rule_depth !== false)
- });
- } else if (preErrorSymbol !== EOF) {
- error_rule_depth = locateNearestErrorRecoveryRule(state);
- }
-
- // just recovered from another error
- if (recovering == 3) {
- if (symbol === EOF || preErrorSymbol === EOF) {
- throw new Error(errStr || 'Parsing halted while starting to recover from another error.');
- }
-
- // discard current lookahead and grab another
- yyleng = lexer.yyleng;
- yytext = lexer.yytext;
- yylineno = lexer.yylineno;
- yyloc = lexer.yylloc;
- symbol = lex();
- }
-
- // try to recover from error
- if (error_rule_depth === false) {
- throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.');
- }
- popStack(error_rule_depth);
-
- preErrorSymbol = (symbol == TERROR ? null : symbol); // save the lookahead token
- symbol = TERROR; // insert generic error symbol as new lookahead
- state = stack[stack.length-1];
- action = table[state] && table[state][TERROR];
- recovering = 3; // allow 3 real symbols to be shifted before reporting a new error
- }
-
- // this shouldn't happen, unless resolve defaults are off
- if (action[0] instanceof Array && action.length > 1) {
- throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol);
- }
-
- switch (action[0]) {
- case 1: // shift
- //this.shiftCount++;
-
- stack.push(symbol);
- vstack.push(lexer.yytext);
- lstack.push(lexer.yylloc);
- stack.push(action[1]); // push state
- symbol = null;
- if (!preErrorSymbol) { // normal execution/no error
- yyleng = lexer.yyleng;
- yytext = lexer.yytext;
- yylineno = lexer.yylineno;
- yyloc = lexer.yylloc;
- if (recovering > 0) {
- recovering--;
- }
- } else {
- // error just occurred, resume old lookahead f/ before error
- symbol = preErrorSymbol;
- preErrorSymbol = null;
- }
- break;
-
- case 2:
- // reduce
- //this.reductionCount++;
-
- len = this.productions_[action[1]][1];
-
- // perform semantic action
- yyval.$ = vstack[vstack.length-len]; // default to $$ = $1
- // default location, uses first token for firsts, last for lasts
- yyval._$ = {
- first_line: lstack[lstack.length-(len||1)].first_line,
- last_line: lstack[lstack.length-1].last_line,
- first_column: lstack[lstack.length-(len||1)].first_column,
- last_column: lstack[lstack.length-1].last_column
- };
- if (ranges) {
- yyval._$.range = [lstack[lstack.length-(len||1)].range[0], lstack[lstack.length-1].range[1]];
- }
- r = this.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));
-
- if (typeof r !== 'undefined') {
- return r;
- }
-
- // pop off stack
- if (len) {
- stack = stack.slice(0,-1*len*2);
- vstack = vstack.slice(0, -1*len);
- lstack = lstack.slice(0, -1*len);
- }
-
- stack.push(this.productions_[action[1]][0]); // push nonterminal (reduce)
- vstack.push(yyval.$);
- lstack.push(yyval._$);
- // goto new state = table[STATE][NONTERMINAL]
- newState = table[stack[stack.length-2]][stack[stack.length-1]];
- stack.push(newState);
- break;
-
- case 3:
- // accept
- return true;
- }
-
- }
+ doDistinct(query);
+ if (query.unionallfn) {
+ var ud, nd;
+ if (query.corresponding) {
+ if (!query.unionallfn.query.modifier)
+ { query.unionallfn.query.modifier = undefined; }
+ ud = query.unionallfn(query.params);
+ }
+ else {
+ if (!query.unionallfn.query.modifier)
+ { query.unionallfn.query.modifier = 'RECORDSET'; }
+ nd = query.unionallfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (var i = 0; i < ilen; i++) {
+ var r = {};
+ for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = query.data.concat(ud);
+ }
+ else if (query.unionfn) {
+ if (query.corresponding) {
+ if (!query.unionfn.query.modifier)
+ { query.unionfn.query.modifier = 'ARRAY'; }
+ ud = query.unionfn(query.params);
+ }
+ else {
+ if (!query.unionfn.query.modifier)
+ { query.unionfn.query.modifier = 'RECORDSET'; }
+ nd = query.unionfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (var i = 0; i < ilen; i++) {
+ r = {};
+ jlen = Math.min(query.columns.length, nd.columns.length);
+ for (var j = 0; j < jlen; j++) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayUnionDeep(query.data, ud);
+ }
+ else if (query.exceptfn) {
+ if (query.corresponding) {
+ if (!query.exceptfn.query.modifier)
+ { query.exceptfn.query.modifier = 'ARRAY'; }
+ var ud = query.exceptfn(query.params);
+ }
+ else {
+ if (!query.exceptfn.query.modifier)
+ { query.exceptfn.query.modifier = 'RECORDSET'; }
+ var nd = query.exceptfn(query.params);
+ var ud = [];
+ for (var i = 0, ilen = nd.data.length; i < ilen; i++) {
+ var r = {};
+ for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayExceptDeep(query.data, ud);
+ }
+ else if (query.intersectfn) {
+ if (query.corresponding) {
+ if (!query.intersectfn.query.modifier)
+ { query.intersectfn.query.modifier = undefined; }
+ ud = query.intersectfn(query.params);
+ }
+ else {
+ if (!query.intersectfn.query.modifier)
+ { query.intersectfn.query.modifier = 'RECORDSET'; }
+ nd = query.intersectfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (i = 0; i < ilen; i++) {
+ r = {};
+ jlen = Math.min(query.columns.length, nd.columns.length);
+ for (j = 0; j < jlen; j++) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayIntersectDeep(query.data, ud);
+ }
+ if (query.orderfn) {
+ if (query.explain)
+ { var ms = Date.now(); }
+ query.data = query.data.sort(query.orderfn);
+ if (query.explain) {
+ query.explaination.push({
+ explid: query.explid++,
+ description: 'QUERY BY',
+ ms: Date.now() - ms,
+ });
+ }
+ }
+ doLimit(query);
+ if (typeof angular !== 'undefined') {
+ query.removeKeys.push('$$hashKey');
+ }
+ if (query.removeKeys.length > 0) {
+ var removeKeys = query.removeKeys;
+ jlen = removeKeys.length;
+ if (jlen > 0) {
+ ilen = query.data.length;
+ for (i = 0; i < ilen; i++) {
+ for (j = 0; j < jlen; j++) {
+ delete query.data[i][removeKeys[j]];
+ }
+ }
+ }
+ if (query.columns.length > 0) {
+ query.columns = query.columns.filter(function (column) {
+ var found = false;
+ removeKeys.forEach(function (key) {
+ if (column.columnid === key)
+ { found = true; }
+ });
+ return !found;
+ });
+ }
+ }
+ if (typeof query.removeLikeKeys !== 'undefined' && query.removeLikeKeys.length > 0) {
+ var removeLikeKeys = query.removeLikeKeys;
+ for (var i = 0, ilen = query.data.length; i < ilen; i++) {
+ r = query.data[i];
+ for (var k in r) {
+ for (j = 0; j < query.removeLikeKeys.length; j++) {
+ if (alasql.utils.like(query.removeLikeKeys[j], k)) {
+ delete r[k];
+ }
+ }
+ }
+ }
+ if (query.columns.length > 0) {
+ query.columns = query.columns.filter(function (column) {
+ var found = false;
+ removeLikeKeys.forEach(function (key) {
+ if (alasql.utils.like(key, column.columnid)) {
+ found = true;
+ }
+ });
+ return !found;
+ });
+ }
+ }
+ if (query.pivotfn)
+ { query.pivotfn(); }
+ if (query.unpivotfn)
+ { query.unpivotfn(); }
+ if (query.intoallfn) {
+ var res = query.intoallfn(query.columns, query.cb, query.params, query.alasql);
+ return res;
+ }
+ else if (query.intofn) {
+ ilen = query.data.length;
+ for (i = 0; i < ilen; i++) {
+ query.intofn(query.data[i], i, query.params, query.alasql);
+ }
+ if (query.cb)
+ { query.cb(query.data.length, query.A, query.B); }
+ return query.data.length;
+ }
+ else {
+ res = query.data;
+ if (query.cb)
+ { res = query.cb(query.data, query.A, query.B); }
+ return res;
+ }
+ }
+ function doLimit(query) {
+ if (query.limit) {
+ var offset = 0;
+ if (query.offset) {
+ offset = query.offset | 0 || 0;
+ offset = offset < 0 ? 0 : offset;
+ }
+ var limit;
+ if (query.percent) {
+ limit = (((query.data.length * query.limit) / 100) | 0) + offset;
+ }
+ else {
+ limit = (query.limit | 0) + offset;
+ }
+ query.data = query.data.slice(offset, limit);
+ }
+ }
+ function doDistinct(query) {
+ if (query.distinct) {
+ var uniq = {};
+ var keys = Object.keys(query.data[0] || []);
+ for (var i = 0, ilen = query.data.length; i < ilen; i++) {
+ var uix = keys
+ .map(function (k) {
+ return query.data[i][k];
+ })
+ .join('`');
+ uniq[uix] = query.data[i];
+ }
+ query.data = [];
+ for (var ind in uniq) {
+ query.data.push(uniq[ind]);
+ }
+ }
+ }
+ var preIndex = function (query) {
+ for (var k = 0, klen = query.sources.length; k < klen; k++) {
+ var source = query.sources[k];
+ delete source.ix;
+ if (k > 0 && source.optimization === 'ix' && source.onleftfn && source.onrightfn) {
+ if (source.databaseid && alasql.databases[source.databaseid].tables[source.tableid]) {
+ if (!alasql.databases[source.databaseid].tables[source.tableid].indices)
+ { query.database.tables[source.tableid].indices = {}; }
+ var ixx = alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns + '`' + source.srcwherefns)];
+ if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
+ source.ix = ixx;
+ }
+ }
+ if (!source.ix) {
+ source.ix = {};
+ var scope = {};
+ var i = 0;
+ var ilen = source.data.length;
+ var dataw;
+ while ((dataw = source.data[i]) ||
+ (source.getfn && (dataw = source.getfn(i))) ||
+ i < ilen) {
+ if (source.getfn && !source.dontcache)
+ { source.data[i] = dataw; }
+ scope[source.alias || source.tableid] = dataw;
+ if (source.srcwherefn(scope, query.params, alasql)) {
+ var addr = source.onrightfn(scope, query.params, alasql);
+ var group = source.ix[addr];
+ if (!group) {
+ group = source.ix[addr] = [];
+ }
+ group.push(dataw);
+ }
+ i++;
+ }
+ if (source.databaseid &&
+ alasql.databases[source.databaseid].tables[source.tableid]) {
+ alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns + '`' + source.srcwherefns)] =
+ source.ix;
+ }
+ }
+ }
+ else if (source.wxleftfn) {
+ if (!alasql.databases[source.databaseid].engineid) {
+ ixx =
+ alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.wxleftfns + '`')];
+ }
+ if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
+ source.ix = ixx;
+ source.data = source.ix[source.wxrightfn(null, query.params, alasql)];
+ }
+ else {
+ source.ix = {};
+ scope = {};
+ i = 0;
+ ilen = source.data.length;
+ while ((dataw = source.data[i]) ||
+ (source.getfn && (dataw = source.getfn(i))) ||
+ i < ilen) {
+ if (source.getfn && !source.dontcache)
+ { source.data[i] = dataw; }
+ scope[source.alias || source.tableid] = source.data[i];
+ addr = source.wxleftfn(scope, query.params, alasql);
+ group = source.ix[addr];
+ if (!group) {
+ group = source.ix[addr] = [];
+ }
+ group.push(source.data[i]);
+ i++;
+ }
+ if (!alasql.databases[source.databaseid].engineid) {
+ alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.wxleftfns + '`')] =
+ source.ix;
+ }
+ }
+ if (source.srcwherefns) {
+ if (source.data) {
+ scope = {};
+ source.data = source.data.filter(function (r) {
+ scope[source.alias] = r;
+ return source.srcwherefn(scope, query.params, alasql);
+ });
+ }
+ else {
+ source.data = [];
+ }
+ }
+ }
+ else if (source.srcwherefns && !source.dontcache) {
+ if (source.data) {
+ var scope = {};
+ source.data = source.data.filter(function (r) {
+ scope[source.alias] = r;
+ return source.srcwherefn(scope, query.params, alasql);
+ });
+ scope = {};
+ i = 0;
+ ilen = source.data.length;
+ var res = [];
+ while ((dataw = source.data[i]) ||
+ (source.getfn && (dataw = source.getfn(i))) ||
+ i < ilen) {
+ if (source.getfn && !source.dontcache)
+ { source.data[i] = dataw; }
+ scope[source.alias] = dataw;
+ if (source.srcwherefn(scope, query.params, alasql))
+ { res.push(dataw); }
+ i++;
+ }
+ source.data = res;
+ }
+ else {
+ source.data = [];
+ }
+ }
+ if (source.databaseid && alasql.databases[source.databaseid].tables[source.tableid]) ;
+ }
+ };
+
+ function select (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.Select = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Select.prototype.toString = function () {
+ var s;
+ s = '';
+ if (this.explain) {
+ s += 'EXPLAIN ';
+ }
+ s += 'SELECT ';
+ if (this.modifier) {
+ s += this.modifier + ' ';
+ }
+ if (this.distinct) {
+ s += 'DISTINCT ';
+ }
+ if (this.top) {
+ s += 'TOP ' + this.top.value + ' ';
+ if (this.percent) {
+ s += 'PERCENT ';
+ }
+ }
+ s += this.columns
+ .map(function (col) {
+ var s;
+ s = col.toString();
+ if (typeof col.as !== 'undefined') {
+ s += ' AS ' + col.as;
+ }
+ return s;
+ })
+ .join(', ');
+ if (this.from) {
+ s +=
+ ' FROM ' +
+ this.from
+ .map(function (f) {
+ var ss;
+ ss = f.toString();
+ if (f.as) {
+ ss += ' AS ' + f.as;
+ }
+ return ss;
+ })
+ .join(',');
+ }
+ if (this.joins) {
+ s += this.joins
+ .map(function (jn) {
+ var ss;
+ ss = ' ';
+ if (jn.joinmode) {
+ ss += jn.joinmode + ' ';
+ }
+ if (jn.table) {
+ ss += 'JOIN ' + jn.table.toString();
+ }
+ else if (jn.select) {
+ ss += 'JOIN (' + jn.select.toString() + ')';
+ }
+ else if (jn instanceof alasql.yy.Apply) {
+ ss += jn.toString();
+ }
+ else {
+ throw new Error('Wrong type in JOIN mode');
+ }
+ if (jn.as) {
+ ss += ' AS ' + jn.as;
+ }
+ if (jn.using) {
+ ss += ' USING ' + jn.using.toString();
+ }
+ if (jn.on) {
+ ss += ' ON ' + jn.on.toString();
+ }
+ return ss;
+ })
+ .join('');
+ }
+ if (this.where) {
+ s += ' WHERE ' + this.where.toString();
+ }
+ if (this.group && this.group.length > 0) {
+ s +=
+ ' GROUP BY ' +
+ this.group
+ .map(function (grp) {
+ return grp.toString();
+ })
+ .join(', ');
+ }
+ if (this.having) {
+ s += ' HAVING ' + this.having.toString();
+ }
+ if (this.order && this.order.length > 0) {
+ s +=
+ ' ORDER BY ' +
+ this.order
+ .map(function (ord) {
+ return ord.toString();
+ })
+ .join(', ');
+ }
+ if (this.limit) {
+ s += ' LIMIT ' + this.limit.value;
+ }
+ if (this.offset) {
+ s += ' OFFSET ' + this.offset.value;
+ }
+ if (this.union) {
+ s += ' UNION ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.union.toString();
+ }
+ if (this.unionall) {
+ s +=
+ ' UNION ALL ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.unionall.toString();
+ }
+ if (this.except) {
+ s += ' EXCEPT ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.except.toString();
+ }
+ if (this.intersect) {
+ s +=
+ ' INTERSECT ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.intersect.toString();
+ }
+ return s;
+ };
+ yy.Select.prototype.toJS = function (context) {
+ var s = 'alasql.utils.flatArray(this.queriesfn[' +
+ (this.queriesidx - 1) +
+ '](this.params,null,' +
+ context +
+ '))[0]';
+ return s;
+ };
+ yy.Select.prototype.compile = function (databaseid, params) {
+ var db = alasql.databases[databaseid];
+ var query = new mem.alasql.Query();
+ query.removeKeys = [];
+ query.aggrKeys = [];
+ query.explain = this.explain;
+ query.explaination = [];
+ query.explid = 1;
+ query.modifier = this.modifier;
+ query.database = db;
+ this.compileWhereExists(query);
+ this.compileQueries(query);
+ query.defcols = this.compileDefCols(query, databaseid);
+ query.fromfn = this.compileFrom(query);
+ if (this.joins) {
+ this.compileJoins(query);
+ }
+ query.rownums = [];
+ this.compileSelectGroup0(query);
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfns = this.compileSelectGroup1(query);
+ }
+ else {
+ query.selectfns = this.compileSelect1(query, params);
+ }
+ this.compileRemoveColumns(query);
+ if (this.where) {
+ this.compileWhereJoins(query);
+ }
+ query.wherefn = this.compileWhere(query);
+ if (this.group || query.selectGroup.length > 0) {
+ query.groupfn = this.compileGroup(query);
+ }
+ if (this.having) {
+ query.havingfn = this.compileHaving(query);
+ }
+ if (this.order) {
+ query.orderfn = this.compileOrder(query);
+ }
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfn = this.compileSelectGroup2(query);
+ }
+ else {
+ query.selectfn = this.compileSelect2(query);
+ }
+ query.distinct = this.distinct;
+ if (this.pivot)
+ { query.pivotfn = this.compilePivot(query); }
+ if (this.unpivot)
+ { query.pivotfn = this.compileUnpivot(query); }
+ if (this.top) {
+ query.limit = this.top.value;
+ }
+ else if (this.limit) {
+ query.limit = this.limit.value;
+ if (this.offset) {
+ query.offset = this.offset.value;
+ }
+ }
+ query.percent = this.percent;
+ query.corresponding = this.corresponding;
+ if (this.union) {
+ query.unionfn = this.union.compile(databaseid);
+ if (this.union.order) {
+ query.orderfn = this.union.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.unionall) {
+ query.unionallfn = this.unionall.compile(databaseid);
+ if (this.unionall.order) {
+ query.orderfn = this.unionall.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.except) {
+ query.exceptfn = this.except.compile(databaseid);
+ if (this.except.order) {
+ query.orderfn = this.except.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.intersect) {
+ query.intersectfn = this.intersect.compile(databaseid);
+ if (this.intersect.order) {
+ query.intersectfn = this.intersect.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ if (this.into) {
+ if (this.into instanceof yy.Table) {
+ if (alasql.options.autocommit &&
+ alasql.databases[this.into.databaseid || databaseid].engineid) {
+ query.intoallfns =
+ 'return alasql.engines["' +
+ alasql.databases[this.into.databaseid || databaseid].engineid +
+ '"]' +
+ '.intoTable("' +
+ (this.into.databaseid || databaseid) +
+ '","' +
+ this.into.tableid +
+ '",this.data, columns, cb);';
+ }
+ else {
+ query.intofns =
+ "alasql.databases['" +
+ (this.into.databaseid || databaseid) +
+ "'].tables" +
+ "['" +
+ this.into.tableid +
+ "'].data.push(r);";
+ }
+ }
+ else if (this.into instanceof yy.VarValue) {
+ query.intoallfns =
+ 'alasql.vars["' +
+ this.into.variable +
+ '"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';
+ }
+ else if (this.into instanceof yy.FuncValue) {
+ var qs = "return alasql.into['" + this.into.funcid.toUpperCase() + "'](";
+ if (this.into.args && this.into.args.length > 0) {
+ qs += this.into.args[0].toJS() + ',';
+ if (this.into.args.length > 1) {
+ qs += this.into.args[1].toJS() + ',';
+ }
+ else {
+ qs += 'undefined,';
+ }
+ }
+ else {
+ qs += 'undefined, undefined,';
+ }
+ query.intoallfns = qs + 'this.data,columns,cb)';
+ }
+ else if (this.into instanceof yy.ParamValue) {
+ query.intofns = "params['" + this.into.param + "'].push(r)";
+ }
+ if (query.intofns) {
+ query.intofn = new Function('r,i,params,alasql', 'var y;' + query.intofns);
+ }
+ else if (query.intoallfns) {
+ query.intoallfn = new Function('columns,cb,params,alasql', 'var y;' + query.intoallfns);
+ }
+ }
+ var statement = function (params, cb, oldscope) {
+ query.params = params;
+ var res1 = queryfn(alasql, query, oldscope, function (res) {
+ if (query.rownums.length > 0) {
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ for (var j = 0, jlen = query.rownums.length; j < jlen; j++) {
+ res[i][query.rownums[j]] = i + 1;
+ }
+ }
+ }
+ var res2 = utils$6.modify(alasql, query, res);
+ if (cb) {
+ cb(res2);
+ }
+ return res2;
+ });
+ return res1;
+ };
+ statement.query = query;
+ return statement;
+ };
+ yy.Select.prototype.execute = function (databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
- return true;
-}};
+ function expression (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.ExpressionStatement = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ExpressionStatement.prototype.toString = function () {
+ return this.expression.toString();
+ };
+ yy.ExpressionStatement.prototype.execute = function (databaseid, params, cb) {
+ if (this.expression) {
+ alasql.precompile(this, databaseid, params);
+ var exprfn = new Function('params,alasql,p', 'var y;return ' + this.expression.toJS('({})', '', null)).bind(this);
+ var res = exprfn(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ }
+ };
+ yy.Expression = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Expression.prototype.toString = function (dontas) {
+ var s = this.expression.toString(dontas);
+ if (this.order) {
+ s += ' ' + this.order.toString();
+ }
+ if (this.nocase) {
+ s += ' COLLATE NOCASE';
+ }
+ if (this.direction) {
+ s += ' ' + this.direction;
+ }
+ return s;
+ };
+ yy.Expression.prototype.findAggregator = function (query) {
+ if (this.expression.findAggregator) {
+ this.expression.findAggregator(query);
+ }
+ };
+ yy.Expression.prototype.toJS = function (context, tableid, defcols) {
+ if (this.expression.reduced) {
+ return 'true';
+ }
+ return this.expression.toJS(context, tableid, defcols);
+ };
+ yy.Expression.prototype.compile = function (context, tableid, defcols) {
+ if (this.reduced) {
+ return utils$6.returnTrue();
+ }
+ return new Function('p', 'var y;return ' + this.toJS(context, tableid, defcols));
+ };
+ yy.JavaScript = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.JavaScript.prototype.toString = function () {
+ var s = '``' + this.value + '``';
+ return s;
+ };
+ yy.JavaScript.prototype.toJS = function ( ) {
+ return '(' + this.value + ')';
+ };
+ yy.JavaScript.prototype.execute = function (databaseid, params, cb) {
+ var res = 1;
+ var expr = new Function('params,alasql,p', this.value);
+ expr(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ };
+ yy.Literal = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Literal.prototype.toString = function (dontas) {
+ var s = this.value;
+ if (this.value1) {
+ s = this.value1 + '.' + s;
+ }
+ if (this.alias && !dontas)
+ { s += ' AS ' + this.alias; }
+ return s;
+ };
+ yy.Join = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Join.prototype.toString = function () {
+ var s = ' ';
+ if (this.joinmode) {
+ s += this.joinmode + ' ';
+ }
+ s += 'JOIN ' + this.table.toString();
+ return s;
+ };
+ yy.Table = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Table.prototype.toString = function () {
+ var s = this.tableid;
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+ yy.View = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.View.prototype.toString = function () {
+ var s = this.viewid;
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+ yy.Op = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Op.prototype.toString = function () {
+ if (this.op === 'IN' || this.op === 'NOT IN') {
+ return this.left.toString() + ' ' + this.op + ' (' + this.right.toString() + ')';
+ }
+ if (this.allsome) {
+ return (this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ this.allsome +
+ ' (' +
+ this.right.toString() +
+ ')');
+ }
+ if (this.op === '->' || this.op === '!') {
+ var s = this.left.toString() + this.op;
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += '(';
+ }
+ s += this.right.toString();
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += ')';
+ }
+ return s;
+ }
+ return (this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ (this.allsome ? this.allsome + ' ' : '') +
+ this.right.toString());
+ };
+ yy.Op.prototype.findAggregator = function (query) {
+ if (this.left && this.left.findAggregator) {
+ this.left.findAggregator(query);
+ }
+ if (this.right && this.right.findAggregator && !this.allsome) {
+ this.right.findAggregator(query);
+ }
+ };
+ yy.Op.prototype.toType = function (tableid) {
+ if (['-', '*', '/', '%', '^'].indexOf(this.op) > -1) {
+ return 'number';
+ }
+ if (['||'].indexOf(this.op) > -1) {
+ return 'string';
+ }
+ if (this.op === '+') {
+ if (this.left.toType(tableid) === 'string' || this.right.toType(tableid) === 'string') {
+ return 'string';
+ }
+ if (this.left.toType(tableid) === 'number' || this.right.toType(tableid) === 'number') {
+ return 'number';
+ }
+ }
+ if ([
+ 'AND',
+ 'OR',
+ 'NOT',
+ '=',
+ '==',
+ '===',
+ '!=',
+ '!==',
+ '!===',
+ '>',
+ '>=',
+ '<',
+ '<=',
+ 'IN',
+ 'NOT IN',
+ 'LIKE',
+ 'NOT LIKE',
+ 'REGEXP',
+ 'GLOB' ].indexOf(this.op) > -1) {
+ return 'boolean';
+ }
+ if (this.op === 'BETWEEN' ||
+ this.op === 'NOT BETWEEN' ||
+ this.op === 'IS NULL' ||
+ this.op === 'IS NOT NULL') {
+ return 'boolean';
+ }
+ if (this.allsome) {
+ return 'boolean';
+ }
+ if (!this.op) {
+ return this.left.toType();
+ }
+ return 'unknown';
+ };
+ yy.Op.prototype.toJS = function (context, tableid, defcols) {
+ var s;
+ var refs = [];
+ var op = this.op;
+ var _this = this;
+ var ref = function (expr) {
+ if (expr.toJS) {
+ expr = expr.toJS(context, tableid, defcols);
+ }
+ var i = refs.push(expr) - 1;
+ return 'y[' + i + ']';
+ };
+ var leftJS = function () {
+ return ref(_this.left);
+ };
+ var rightJS = function () {
+ return ref(_this.right);
+ };
+ if (this.op === '=') {
+ op = '===';
+ }
+ else if (this.op === '<>') {
+ op = '!=';
+ }
+ else if (this.op === 'OR') {
+ op = '||';
+ }
+ if (this.op === '->') {
+ var ljs = '(' + leftJS() + '||{})';
+ if (typeof this.right === 'string') {
+ s = ljs + '["' + this.right + '"]';
+ }
+ else if (typeof this.right === 'number') {
+ s = ljs + '[' + this.right + ']';
+ }
+ else if (this.right instanceof yy.FuncValue) {
+ var ss = [];
+ if (!(!this.right.args || 0 === this.right.args.length)) {
+ ss = this.right.args.map(ref);
+ }
+ s = '' + ljs + "['" + this.right.funcid + "'](" + ss.join(',') + ')';
+ }
+ else {
+ s = '' + ljs + '[' + rightJS() + ']';
+ }
+ }
+ if (this.op === '!') {
+ if (typeof this.right === 'string') {
+ s =
+ '' +
+ 'alasql.databases[alasql.useid].objects[' +
+ leftJS() +
+ ']["' +
+ this.right +
+ '"]';
+ }
+ }
+ if (this.op === 'IS') {
+ s =
+ '' +
+ '(' +
+ '(' +
+ leftJS() +
+ '==null)' +
+ ' === ' +
+ '(' +
+ rightJS() +
+ '==null)' +
+ ')';
+ }
+ if (this.op === '==') {
+ s = '' + 'alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === '===' || this.op === '!===') {
+ s =
+ '' +
+ '(' +
+ (this.op === '!===' ? '!' : '') +
+ '(' +
+ '(' +
+ leftJS() +
+ ').valueOf()' +
+ '===' +
+ '(' +
+ rightJS() +
+ ').valueOf()' +
+ ')' +
+ ')';
+ }
+ if (this.op === '!==') {
+ s = '' + '(!alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + '))';
+ }
+ if (this.op === '||') {
+ s = '' + "(''+(" + leftJS() + "||'')+(" + rightJS() + '||""))';
+ }
+ if (this.op === 'LIKE' || this.op === 'NOT LIKE') {
+ s =
+ '(' +
+ (this.op === 'NOT LIKE' ? '!' : '') +
+ 'alasql.utils.like(' +
+ rightJS() +
+ ',' +
+ leftJS();
+ if (this.escape) {
+ s += ',' + ref(this.escape);
+ }
+ s += '))';
+ }
+ if (this.op === 'REGEXP') {
+ s = 'alasql.stdfn.REGEXP_LIKE(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === 'GLOB') {
+ s = 'alasql.utils.glob(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === 'BETWEEN' || this.op === 'NOT BETWEEN') {
+ var left = leftJS();
+ s =
+ '' +
+ '(' +
+ (this.op === 'NOT BETWEEN' ? '!' : '') +
+ '(' +
+ '(' +
+ ref(this.right1) +
+ '<=' +
+ left +
+ ') && (' +
+ left +
+ '<=' +
+ ref(this.right2) +
+ ')' +
+ ')' +
+ ')';
+ }
+ if (this.op === 'IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,' +
+ context +
+ '))';
+ s += '.indexOf(';
+ s += leftJS() + ')>-1)';
+ }
+ else if (Array.isArray(this.right)) {
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(' + leftJS() + ')>-1)';
+ }
+ else {
+ s = '(' + rightJS() + '.indexOf(' + leftJS() + ')>-1)';
+ }
+ }
+ if (this.op === 'NOT IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.indexOf(';
+ s += leftJS() + ')<0)';
+ }
+ else if (Array.isArray(this.right)) {
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(';
+ s += leftJS() + ')<0)';
+ }
+ else {
+ s = '(' + rightJS() + '.indexOf(';
+ s += leftJS() + ')==-1)';
+ }
+ }
+ if (this.allsome === 'ALL') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else {
+ throw new Error('NOT IN operator without SELECT');
+ }
+ }
+ if (this.allsome === 'SOME' || this.allsome === 'ANY') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else {
+ throw new Error('SOME/ANY operator without SELECT');
+ }
+ }
+ if (this.op === 'AND') {
+ if (this.left.reduced) {
+ if (this.right.reduced) {
+ return 'true';
+ }
+ else {
+ s = rightJS();
+ }
+ }
+ else if (this.right.reduced) {
+ s = leftJS();
+ }
+ op = '&&';
+ }
+ var expr = s || '(' + leftJS() + op + rightJS() + ')';
+ var declareRefs = 'y=[(' + refs.join('), (') + ')]';
+ if (op === '&&' || op === '||' || op === 'IS' || op === 'IS NULL' || op === 'IS NOT NULL') {
+ return '(' + declareRefs + ', ' + expr + ')';
+ }
+ return ('(' +
+ declareRefs +
+ ', ' +
+ 'y.some(function(e){return e == null}) ? void 0 : ' +
+ expr +
+ ')');
+ };
+ yy.VarValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.VarValue.prototype.toString = function () {
+ return '@' + this.variable;
+ };
+ yy.VarValue.prototype.toType = function () {
+ return 'unknown';
+ };
+ yy.VarValue.prototype.toJS = function () {
+ return "alasql.vars['" + this.variable + "']";
+ };
+ yy.NumValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.NumValue.prototype.toString = function () {
+ return this.value.toString();
+ };
+ yy.NumValue.prototype.toType = function () {
+ return 'number';
+ };
+ yy.NumValue.prototype.toJS = function () {
+ return '' + this.value;
+ };
+ yy.StringValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.StringValue.prototype.toString = function () {
+ return "'" + this.value.toString() + "'";
+ };
+ yy.StringValue.prototype.toType = function () {
+ return 'string';
+ };
+ yy.StringValue.prototype.toJS = function () {
+ return "'" + utils$6.escapeq(this.value) + "'";
+ };
+ yy.DomainValueValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DomainValueValue.prototype.toString = function () {
+ return 'VALUE';
+ };
+ yy.DomainValueValue.prototype.toType = function () {
+ return 'object';
+ };
+ yy.DomainValueValue.prototype.toJS = function (context, tableid, defcols) {
+ return context;
+ };
+ yy.ArrayValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ArrayValue.prototype.toString = function () {
+ return 'ARRAY[]';
+ };
+ yy.ArrayValue.prototype.toType = function () {
+ return 'object';
+ };
+ yy.ArrayValue.prototype.toJS = function (context, tableid, defcols) {
+ return ('[(' +
+ this.value
+ .map(function (el) {
+ return el.toJS(context, tableid, defcols);
+ })
+ .join('), (') +
+ ')]');
+ };
+ yy.LogicValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.LogicValue.prototype.toString = function () {
+ return this.value ? 'TRUE' : 'FALSE';
+ };
+ yy.LogicValue.prototype.toType = function () {
+ return 'boolean';
+ };
+ yy.LogicValue.prototype.toJS = function () {
+ return this.value ? 'true' : 'false';
+ };
+ yy.NullValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.NullValue.prototype.toString = function () {
+ return 'NULL';
+ };
+ yy.NullValue.prototype.toJS = function () {
+ return 'undefined';
+ };
+ yy.ParamValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ParamValue.prototype.toString = function () {
+ return '$' + this.param;
+ };
+ yy.ParamValue.prototype.toJS = function () {
+ if (typeof this.param === 'string') {
+ return "params['" + this.param + "']";
+ }
+ return 'params[' + this.param + ']';
+ };
+ yy.UniOp = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.UniOp.prototype.toString = function () {
+ var s;
+ s = void 0;
+ if (this.op === '~') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '-') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '+') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '#') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === 'NOT') {
+ s = this.op + '(' + this.right.toString() + ')';
+ }
+ if (this.op === null) {
+ s = '(' + this.right.toString() + ')';
+ }
+ if (!s) {
+ s = '(' + this.right.toString() + ')';
+ }
+ return s;
+ };
+ yy.UniOp.prototype.findAggregator = function (query) {
+ if (this.right.findAggregator) {
+ this.right.findAggregator(query);
+ }
+ };
+ yy.UniOp.prototype.toType = function () {
+ if (this.op === '-') {
+ return 'number';
+ }
+ if (this.op === '+') {
+ return 'number';
+ }
+ if (this.op === 'NOT') {
+ return 'boolean';
+ }
+ };
+ yy.UniOp.prototype.toJS = function (context, tableid, defcols) {
+ if (this.op === '~') {
+ return '(~(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+ if (this.op === '-') {
+ return '(-(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+ if (this.op === '+') {
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ if (this.op === 'NOT') {
+ return '!(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ if (this.op === '#') {
+ if (this.right instanceof yy.Column) {
+ return "(alasql.databases[alasql.useid].objects['" + this.right.columnid + "'])";
+ }
+ else {
+ return ('(alasql.databases[alasql.useid].objects[' +
+ this.right.toJS(context, tableid, defcols) +
+ '])');
+ }
+ }
+ if (this.op == null) {
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ };
+ yy.Column = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Column.prototype.toString = function (dontas) {
+ var s;
+ if (this.columnid == +this.columnid) {
+ s = '[' + this.columnid + ']';
+ }
+ else {
+ s = this.columnid;
+ }
+ if (this.tableid) {
+ if (+this.columnid === this.columnid) {
+ s = this.tableid + s;
+ }
+ else {
+ s = this.tableid + '.' + s;
+ }
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ }
+ if (this.alias && !dontas)
+ { s += ' AS ' + this.alias; }
+ return s;
+ };
+ yy.Column.prototype.toJS = function (context, tableid, defcols) {
+ var s = '';
+ if (!this.tableid && tableid === '' && !defcols) {
+ if (this.columnid !== '_') {
+ s = context + "['" + this.columnid + "']";
+ }
+ else {
+ if (context === 'g') {
+ s = "g['_']";
+ }
+ else {
+ s = context;
+ }
+ }
+ }
+ else {
+ if (context === 'g') {
+ s = "g['" + this.nick + "']";
+ }
+ else if (this.tableid) {
+ if (this.columnid !== '_') {
+ s = context + "['" + this.tableid + "']['" + this.columnid + "']";
+ }
+ else {
+ if (context === 'g') {
+ s = "g['_']";
+ }
+ else {
+ s = context + "['" + this.tableid + "']";
+ }
+ }
+ }
+ else if (defcols) {
+ var tbid = defcols[this.columnid];
+ if (tbid === '-') {
+ throw new Error('Cannot resolve column "' +
+ this.columnid +
+ '" because it exists in two source tables');
+ }
+ else if (tbid) {
+ if (this.columnid !== '_') {
+ s = context + "['" + tbid + "']['" + this.columnid + "']";
+ }
+ else {
+ s = context + "['" + tbid + "']";
+ }
+ }
+ else {
+ if (this.columnid !== '_') {
+ s =
+ context +
+ "['" +
+ (this.tableid || tableid) +
+ "']['" +
+ this.columnid +
+ "']";
+ }
+ else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ }
+ else if (tableid === -1) {
+ s = context + "['" + this.columnid + "']";
+ }
+ else {
+ if (this.columnid !== '_') {
+ s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
+ }
+ else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ }
+ return s;
+ };
+ yy.AggrValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.AggrValue.prototype.toString = function (dontas) {
+ var s = '';
+ if (this.aggregatorid === 'REDUCE') {
+ s += this.funcid + '(';
+ }
+ else {
+ s += this.aggregatorid + '(';
+ }
+ if (this.distinct) {
+ s += 'DISTINCT ';
+ }
+ if (this.expression) {
+ s += this.expression.toString();
+ }
+ s += ')';
+ if (this.over) {
+ s += ' ' + this.over.toString();
+ }
+ if (this.alias && !dontas)
+ { s += ' AS ' + this.alias; }
+ return s;
+ };
+ yy.AggrValue.prototype.findAggregator = function (query) {
+ var colas = utils$6.escapeq(this.toString()) + ':' + query.selectGroup.length;
+ var found = false;
+ if (!found) {
+ if (!this.nick) {
+ this.nick = colas;
+ var found = false;
+ for (var i = 0; i < query.removeKeys.length; i++) {
+ if (query.removeKeys[i] === colas) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ query.removeKeys.push(colas);
+ }
+ }
+ query.selectGroup.push(this);
+ }
+ return;
+ };
+ yy.AggrValue.prototype.toType = function () {
+ if (['SUM', 'COUNT', 'AVG', 'MIN', 'MAX', 'AGGR', 'VAR', 'STDDEV'].indexOf(this.aggregatorid) > -1) {
+ return 'number';
+ }
+ if (['ARRAY'].indexOf(this.aggregatorid) > -1) {
+ return 'array';
+ }
+ if (['FIRST', 'LAST'].indexOf(this.aggregatorid) > -1) {
+ return this.expression.toType();
+ }
+ };
+ yy.AggrValue.prototype.toJS = function ( ) {
+ var colas = this.nick;
+ if (colas === undefined) {
+ colas = this.toString();
+ }
+ return "g['" + colas + "']";
+ };
+ yy.OrderExpression = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.OrderExpression.prototype.toString = yy.Expression.prototype.toString;
+ yy.GroupExpression = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.GroupExpression.prototype.toString = function () {
+ return this.type + '(' + this.group.toString() + ')';
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
-// from https://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
-// JSON.stringify([].slice.call(document.querySelectorAll('tr')).filter(x => x.children.length == 5 && x.children[2].innerText == 'reserved').map(x => x.children[0].innerText))
+ function exists (mem) {
+ var yy = mem.grammar.yy;
+ yy.ExistsValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ExistsValue.prototype.toString = function () {
+ return 'EXISTS(' + this.value.toString() + ')';
+ };
+ yy.ExistsValue.prototype.toType = function () {
+ return 'boolean';
+ };
+ yy.ExistsValue.prototype.toJS = function (context, tableid, defcols) {
+ return 'this.existsfn[' + this.existsidx + '](params,null,' + context + ').data.length';
+ };
+ yy.Select.prototype.compileWhereExists = function (query) {
+ if (!this.exists)
+ { return; }
+ query.existsfn = this.exists.map(function (ex) {
+ var nq = ex.compile(query.database.databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+ yy.Select.prototype.compileQueries = function (query) {
+ if (!this.queries)
+ { return; }
+ query.queriesfn = this.queries.map(function (q) {
+ var nq = q.compile(query.database.databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+ mem.alasql.precompile = function (statement, databaseid, params) {
+ if (!statement)
+ { return; }
+ statement.params = params;
+ if (statement.queries) {
+ statement.queriesfn = statement.queries.map(function (q) {
+ var nq = q.compile(databaseid || statement.database.databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (statement.exists) {
+ statement.existsfn = statement.exists.map(function (ex) {
+ var nq = ex.compile(databaseid || statement.database.databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ };
+ mem.grammar.yy = yy;
+ }
-var nonReserved = ["A","ABSENT","ABSOLUTE","ACCORDING","ACTION","ADA","ADD","ADMIN","AFTER","ALWAYS","ASC","ASSERTION","ASSIGNMENT","ATTRIBUTE","ATTRIBUTES","BASE64","BEFORE","BERNOULLI","BLOCKED","BOM","BREADTH","C","CASCADE","CATALOG","CATALOG_NAME","CHAIN","CHARACTERISTICS","CHARACTERS","CHARACTER_SET_CATALOG","CHARACTER_SET_NAME","CHARACTER_SET_SCHEMA","CLASS_ORIGIN","COBOL","COLLATION","COLLATION_CATALOG","COLLATION_NAME","COLLATION_SCHEMA","COLUMNS","COLUMN_NAME","COMMAND_FUNCTION","COMMAND_FUNCTION_CODE","COMMITTED","CONDITION_NUMBER","CONNECTION","CONNECTION_NAME","CONSTRAINTS","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONSTRUCTOR","CONTENT","CONTINUE","CONTROL","CURSOR_NAME","DATA","DATETIME_INTERVAL_CODE","DATETIME_INTERVAL_PRECISION","DB","DEFAULTS","DEFERRABLE","DEFERRED","DEFINED","DEFINER","DEGREE","DEPTH","DERIVED","DESC","DESCRIPTOR","DIAGNOSTICS","DISPATCH","DOCUMENT","DOMAIN","DYNAMIC_FUNCTION","DYNAMIC_FUNCTION_CODE","EMPTY","ENCODING","ENFORCED","EXCLUDE","EXCLUDING","EXPRESSION","FILE","FINAL","FIRST","FLAG","FOLLOWING","FORTRAN","FOUND","FS","G","GENERAL","GENERATED","GO","GOTO","GRANTED","HEX","HIERARCHY","ID","IGNORE","IMMEDIATE","IMMEDIATELY","IMPLEMENTATION","INCLUDING","INCREMENT","INDENT","INITIALLY","INPUT","INSTANCE","INSTANTIABLE","INSTEAD","INTEGRITY","INVOKER","ISOLATION","K","KEY","KEY_MEMBER","KEY_TYPE","LAST","LENGTH","LEVEL","LIBRARY","LIMIT","LINK","LOCATION","LOCATOR","M","MAP","MAPPING","MATCHED","MAXVALUE","MESSAGE_LENGTH","MESSAGE_OCTET_LENGTH","MESSAGE_TEXT","MINVALUE","MORE","MUMPS","NAME","NAMES","NAMESPACE","NESTING","NEXT","NFC","NFD","NFKC","NFKD","NIL","NORMALIZED","NULLABLE","NULLS","NUMBER","OBJECT","OCTETS","OFF","OPTION","OPTIONS","ORDERING","ORDINALITY","OTHERS","OUTPUT","OVERRIDING","P","PAD","PARAMETER_MODE","PARAMETER_NAME","PARAMETER_ORDINAL_POSITION","PARAMETER_SPECIFIC_CATALOG","PARAMETER_SPECIFIC_NAME","PARAMETER_SPECIFIC_SCHEMA","PARTIAL","PASCAL","PASSING","PASSTHROUGH","PATH","PERMISSION","PLACING","PLI","PRECEDING","PRESERVE","PRIOR","PRIVILEGES","PUBLIC","READ","RECOVERY","RELATIVE","REPEATABLE","REQUIRING","RESPECT","RESTART","RESTORE","RESTRICT","RETURNED_CARDINALITY","RETURNED_LENGTH","RETURNED_OCTET_LENGTH","RETURNED_SQLSTATE","RETURNING","ROLE","ROUTINE","ROUTINE_CATALOG","ROUTINE_NAME","ROUTINE_SCHEMA","ROW_COUNT","SCALE","SCHEMA","SCHEMA_NAME","SCOPE_CATALOG","SCOPE_NAME","SCOPE_SCHEMA","SECTION","SECURITY","SELECTIVE","SELF","SEQUENCE","SERIALIZABLE","SERVER","SERVER_NAME","SESSION","SETS","SIMPLE","SIZE","SOURCE","SPACE","SPECIFIC_NAME","STANDALONE","STATE","STATEMENT","STRIP","STRUCTURE","STYLE","SUBCLASS_ORIGIN","T","TABLE_NAME","TEMPORARY","TIES","TOKEN","TOP_LEVEL_COUNT","TRANSACTION","TRANSACTIONS_COMMITTED","TRANSACTIONS_ROLLED_BACK","TRANSACTION_ACTIVE","TRANSFORM","TRANSFORMS","TRIGGER_CATALOG","TRIGGER_NAME","TRIGGER_SCHEMA","TYPE","UNBOUNDED","UNCOMMITTED","UNDER","UNLINK","UNNAMED","UNTYPED","URI","USAGE","USER_DEFINED_TYPE_CATALOG","USER_DEFINED_TYPE_CODE","USER_DEFINED_TYPE_NAME","USER_DEFINED_TYPE_SCHEMA","VALID","VERSION","VIEW","WHITESPACE","WORK","WRAPPER","WRITE","XMLDECLARATION","XMLSCHEMA","YES","ZONE"]
+ function defcols (mem) {
+ var yy = mem.grammar.yy;
+ yy.Select.prototype.compileDefCols = function (query, databaseid) {
+ var defcols = { '.': {} };
+ if (this.from) {
+ this.from.forEach(function (fr) {
+ defcols['.'][fr.as || fr.tableid] = true;
+ if (fr instanceof yy.Table) {
+ var alias = fr.as || fr.tableid;
+ var table = mem.alasql.databases[fr.databaseid || databaseid].tables[fr.tableid];
+ if (undefined === table) {
+ throw new Error('Table does not exists: ' + fr.tableid);
+ }
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-';
+ }
+ else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ }
+ else if (fr instanceof yy.Select) ;
+ else if (fr instanceof yy.Search) ;
+ else if (fr instanceof yy.ParamValue) ;
+ else if (fr instanceof yy.VarValue) ;
+ else if (fr instanceof yy.FuncValue) ;
+ else if (fr instanceof yy.FromData) ;
+ else if (fr instanceof yy.Json) ;
+ else if (fr.inserted) ;
+ else {
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+ if (this.joins) {
+ this.joins.forEach(function (jn) {
+ defcols['.'][jn.as || jn.table.tableid] = true;
+ if (jn.table) {
+ var alias = jn.table.tableid;
+ if (jn.as)
+ { alias = jn.as; }
+ var alias = jn.as || jn.table.tableid;
+ var table = mem.alasql.databases[jn.table.databaseid || databaseid].tables[jn.table.tableid];
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-';
+ }
+ else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ }
+ else if (jn.select) {
+ throw new Error('Select not implemented yet');
+ }
+ else if (jn.param) {
+ throw new Error('param not implemented yet');
+ }
+ else if (jn.func) {
+ throw new Error('func not implemented yet');
+ }
+ else {
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+ return defcols;
+ };
+ mem.grammar.yy = yy;
+ }
-parser.parseError = function(str, hash) {
- if (hash.expected && hash.expected.indexOf("'LITERAL'") > -1 && /[a-zA-Z_][a-zA-Z_0-9]*/.test(hash.token) && nonReserved.indexOf(hash.token) > -1) {
- return
- }
- throw new SyntaxError(str)
-}
-/* generated by jison-lex 0.3.4 */
-var lexer = (function(){
-var lexer = ({
+ function from_ (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.Select.prototype.compileFrom = function (query) {
+ var self = this;
+ query.sources = [];
+ query.aliases = {};
+ if (!self.from)
+ { return; }
+ self.from.forEach(function (tq) {
+ var ps = '';
+ var alias = tq.as || tq.tableid;
+ if (tq instanceof yy.Table) {
+ query.aliases[alias] = {
+ tableid: tq.tableid,
+ databaseid: tq.databaseid || query.database.databaseid,
+ type: 'table',
+ };
+ }
+ else if (tq instanceof yy.Select) {
+ query.aliases[alias] = { type: 'subquery' };
+ }
+ else if (tq instanceof yy.Search) {
+ query.aliases[alias] = { type: 'subsearch' };
+ }
+ else if (tq instanceof yy.ParamValue) {
+ query.aliases[alias] = { type: 'paramvalue' };
+ }
+ else if (tq instanceof yy.FuncValue) {
+ query.aliases[alias] = { type: 'funcvalue' };
+ }
+ else if (tq instanceof yy.VarValue) {
+ query.aliases[alias] = { type: 'varvalue' };
+ }
+ else if (tq instanceof yy.FromData) {
+ query.aliases[alias] = { type: 'fromdata' };
+ }
+ else if (tq instanceof yy.Json) {
+ query.aliases[alias] = { type: 'json' };
+ }
+ else if (tq.inserted) {
+ query.aliases[alias] = { type: 'inserted' };
+ }
+ else {
+ throw new Error('Wrong table at FROM');
+ }
+ var source = {
+ alias: alias,
+ databaseid: tq.databaseid || query.database.databaseid,
+ tableid: tq.tableid,
+ joinmode: 'INNER',
+ onmiddlefn: utils$6.returnTrue,
+ srcwherefns: '',
+ srcwherefn: utils$6.returnTrue,
+ };
+ if (tq instanceof yy.Table) {
+ source.columns = alasql.databases[source.databaseid].tables[source.tableid].columns;
+ if (alasql.options.autocommit &&
+ alasql.databases[source.databaseid].engineid &&
+ !alasql.databases[source.databaseid].tables[source.tableid].view) {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(source.databaseid, source.tableid, cb, idx, query);
+ };
+ }
+ else if (alasql.databases[source.databaseid].tables[source.tableid].view) {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res = alasql.databases[source.databaseid].tables[source.tableid].select(params);
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ };
+ }
+ else {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res = alasql.databases[source.databaseid].tables[source.tableid].data;
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ };
+ }
+ }
+ else if (tq instanceof yy.Select) {
+ source.subquery = tq.compile(query.database.databaseid);
+ if (typeof source.subquery.query.modifier === 'undefined') {
+ source.subquery.query.modifier = 'RECORDSET';
+ }
+ source.columns = source.subquery.query.columns;
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res;
+ source.subquery(query.params, function (data) {
+ res = data.data;
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ });
+ return res;
+ };
+ }
+ else if (tq instanceof yy.Search) {
+ source.subsearch = tq;
+ source.columns = [];
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res;
+ source.subsearch.execute(query.database.databaseid, query.params, function (data) {
+ res = data;
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ });
+ return res;
+ };
+ }
+ else if (tq instanceof yy.ParamValue) {
+ ps = "var res = alasql.prepareFromData(params['" + tq.param + "']";
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq.inserted) {
+ ps = 'var res = alasql.prepareFromData(alasql.inserted';
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.Json) {
+ ps = 'var res = alasql.prepareFromData(' + tq.toJS();
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.VarValue) {
+ ps = "var res = alasql.prepareFromData(alasql.vars['" + tq.variable + "']";
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.FuncValue) {
+ ps = "var res=alasql.from['" + tq.funcid.toUpperCase() + "'](";
+ if (tq.args && tq.args.length > 0) {
+ if (tq.args[0]) {
+ ps += tq.args[0].toJS('query.oldscope') + ',';
+ }
+ else {
+ ps += 'null,';
+ }
+ if (tq.args[1]) {
+ ps += tq.args[1].toJS('query.oldscope') + ',';
+ }
+ else {
+ ps += 'null,';
+ }
+ }
+ else {
+ ps += 'null,null,';
+ }
+ ps += 'cb,idx,query';
+ ps += ');/*if(cb)res=cb(res,idx,query);*/return res';
+ source.datafn = new Function('query, params, cb, idx, alasql', ps);
+ }
+ else if (tq instanceof yy.FromData) {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res = tq.data;
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ };
+ }
+ else {
+ throw new Error('Wrong table at FROM');
+ }
+ query.sources.push(source);
+ });
+ query.defaultTableid = query.sources[0].alias;
+ };
+ alasql.prepareFromData = function (data, array) {
+ var i, ilen;
+ var res = data;
+ if (typeof data === 'string') {
+ res = data.split(/\r?\n/);
+ if (array) {
+ for (i = 0, ilen = res.length; i < ilen; i++) {
+ res[i] = [res[i]];
+ }
+ }
+ }
+ else if (array) {
+ res = [];
+ for (i = 0, ilen = data.length; i < ilen; i++) {
+ res.push([data[i]]);
+ }
+ }
+ else if (typeof data === 'object' && !Array.isArray(data)) {
+ if (typeof Mongo !== 'undefined' &&
+ typeof Mongo.Collection !== 'undefined' &&
+ data instanceof Mongo.Collection) {
+ res = data.find().fetch();
+ }
+ else {
+ res = [];
+ for (var key in data) {
+ if (data.hasOwnProperty(key))
+ { res.push([key, data[key]]); }
+ }
+ }
+ }
+ return res;
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
-EOF:1,
+ function compile (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ var escapeq = utils$6.escapeq;
+ function compileSelectStar(query, alias, joinstar) {
+ var sp = '', ss = [];
+ query.ixsources = {};
+ query.sources.forEach(function (source) {
+ query.ixsources[source.alias] = source;
+ });
+ var columns;
+ if (query.ixsources[alias]) {
+ var columns = query.ixsources[alias].columns;
+ }
+ if (joinstar && alasql.options.joinstar === 'json') {
+ sp += "r['" + alias + "']={};";
+ }
+ if (columns && columns.length > 0) {
+ columns.forEach(function (tcol) {
+ if (joinstar && alasql.options.joinstar === 'underscore') {
+ ss.push("'" +
+ alias +
+ '_' +
+ tcol.columnid +
+ "':p['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "']");
+ }
+ else if (joinstar && alasql.options.joinstar === 'json') {
+ sp +=
+ "r['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "']=p['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "'];";
+ }
+ else {
+ ss.push("'" + tcol.columnid + "':p['" + alias + "']['" + tcol.columnid + "']");
+ }
+ query.selectColumns[escapeq(tcol.columnid)] = true;
+ var coldef = {
+ columnid: tcol.columnid,
+ dbtypeid: tcol.dbtypeid,
+ dbsize: tcol.dbsize,
+ dbprecision: tcol.dbprecision,
+ dbenum: tcol.dbenum,
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ });
+ }
+ else {
+ sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
+ query.dirtyColumns = true;
+ }
+ return { s: ss.join(','), sp: sp };
+ }
+ yy.Select.prototype.compileSelect1 = function (query, params) {
+ var self = this;
+ query.columns = [];
+ query.xcolumns = {};
+ query.selectColumns = {};
+ query.dirtyColumns = false;
+ var s = 'var r={';
+ var sp = '';
+ var ss = [];
+ this.columns.forEach(function (col) {
+ if (col instanceof yy.Column) {
+ if (col.columnid === '*') {
+ if (col.func) {
+ sp +=
+ "r=params['" +
+ col.param +
+ "'](p['" +
+ query.sources[0].alias +
+ "'],p,params,alasql);";
+ }
+ else if (col.tableid) {
+ var ret = compileSelectStar(query, col.tableid, false);
+ if (ret.s) {
+ ss = ss.concat(ret.s);
+ }
+ sp += ret.sp;
+ }
+ else {
+ for (var alias in query.aliases) {
+ var ret = compileSelectStar(query, alias, true);
+ if (ret.s) {
+ ss = ss.concat(ret.s);
+ }
+ sp += ret.sp;
+ }
+ }
+ }
+ else {
+ var tbid = col.tableid;
+ var dbid = col.databaseid || query.sources[0].databaseid || query.database.databaseid;
+ if (!tbid)
+ { tbid = query.defcols[col.columnid]; }
+ if (!tbid)
+ { tbid = query.defaultTableid; }
+ if (col.columnid !== '_') {
+ {
+ var isMultisheetParam = params &&
+ params.length > 1 &&
+ Array.isArray(params[0]) &&
+ params[0].length >= 1 &&
+ params[0][0].hasOwnProperty('sheetid');
+ if (isMultisheetParam) {
+ sp =
+ 'var r={};var w=p["' +
+ tbid +
+ '"];' +
+ 'var cols=[' +
+ self.columns
+ .map(function (col) {
+ return "'" + col.columnid + "'";
+ })
+ .join(',') +
+ '];var colas=[' +
+ self.columns
+ .map(function (col) {
+ return "'" + (col.as || col.columnid) + "'";
+ })
+ .join(',') +
+ '];' +
+ "for (var i=0;i 0) {
+ var tcol = xcolumns[col.columnid];
+ if (undefined === tcol) {
+ throw new Error('Column does not exists: ' + col.columnid);
+ }
+ var coldef = {
+ columnid: col.as || col.columnid,
+ dbtypeid: tcol.dbtypeid,
+ dbsize: tcol.dbsize,
+ dbpecision: tcol.dbprecision,
+ dbenum: tcol.dbenum,
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ else {
+ var coldef = {
+ columnid: col.as || col.columnid,
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ query.dirtyColumns = true;
+ }
+ }
+ else {
+ var coldef = {
+ columnid: col.as || col.columnid,
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ }
+ }
+ else if (col instanceof yy.AggrValue) {
+ if (!self.group) {
+ self.group = [''];
+ }
+ if (!col.as) {
+ col.as = escapeq(col.toString());
+ }
+ if (col.aggregatorid === 'SUM' ||
+ col.aggregatorid === 'MAX' ||
+ col.aggregatorid === 'MIN' ||
+ col.aggregatorid === 'FIRST' ||
+ col.aggregatorid === 'LAST' ||
+ col.aggregatorid === 'AVG' ||
+ col.aggregatorid === 'ARRAY' ||
+ col.aggregatorid === 'REDUCE') {
+ ss.push("'" +
+ utils$6.escapeq(col.as) +
+ "':" +
+ utils$6.n2u(col.expression.toJS('p', query.defaultTableid, query.defcols)));
+ }
+ else if (col.aggregatorid === 'COUNT') {
+ ss.push("'" + utils$6.escapeq(col.as) + "':1");
+ }
+ var coldef = {
+ columnid: col.as || col.columnid || col.toString(),
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ else {
+ ss.push("'" +
+ utils$6.escapeq(col.as || col.columnid || col.toString()) +
+ "':" +
+ utils$6.n2u(col.toJS('p', query.defaultTableid, query.defcols)));
+ query.selectColumns[escapeq(col.as || col.columnid || col.toString())] = true;
+ var coldef = {
+ columnid: col.as || col.columnid || col.toString(),
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ });
+ s += ss.join(',') + '};' + sp;
+ return s;
+ };
+ yy.Select.prototype.compileSelect2 = function (query) {
+ var s = query.selectfns;
+ if (this.orderColumns && this.orderColumns.length > 0) {
+ this.orderColumns.forEach(function (v, idx) {
+ var key = '$$$' + idx;
+ if (v instanceof yy.Column && query.xcolumns[v.columnid]) {
+ s += "r['" + key + "']=r['" + v.columnid + "'];";
+ }
+ else {
+ s += "r['" + key + "']=" + v.toJS('p', query.defaultTableid, query.defcols) + ';';
+ }
+ query.removeKeys.push(key);
+ });
+ }
+ return new Function('p,params,alasql', 'var y;' + s + 'return r');
+ };
+ yy.Select.prototype.compileSelectGroup0 = function (query) {
+ var self = this;
+ self.columns.forEach(function (col, idx) {
+ if (!(col instanceof yy.Column && col.columnid === '*')) {
+ var colas;
+ if (col instanceof yy.Column) {
+ colas = utils$6.escapeq(col.columnid);
+ }
+ else {
+ colas = utils$6.escapeq(col.toString(true));
+ }
+ for (var i = 0; i < idx; i++) {
+ if (colas === self.columns[i].nick) {
+ colas = self.columns[i].nick + ':' + idx;
+ break;
+ }
+ }
+ col.nick = colas;
+ if (col.funcid &&
+ (col.funcid.toUpperCase() === 'ROWNUM' || col.funcid.toUpperCase() === 'ROW_NUMBER')) {
+ query.rownums.push(col.as);
+ }
+ }
+ else {
+ query.groupStar = col.tableid || 'default';
+ }
+ });
+ this.columns.forEach(function (col) {
+ if (col.findAggregator) {
+ col.findAggregator(query);
+ }
+ });
+ if (this.having) {
+ if (this.having.findAggregator) {
+ this.having.findAggregator(query);
+ }
+ }
+ };
+ yy.Select.prototype.compileSelectGroup1 = function (query) {
+ var self = this;
+ var s = 'var r = {};';
+ self.columns.forEach(function (col) {
+ if (col instanceof yy.Column && col.columnid === '*') {
+ s += 'for(var k in g) {r[k]=g[k]};';
+ return '';
+ }
+ else {
+ var colas = col.as;
+ if (colas === undefined) {
+ if (col instanceof yy.Column) {
+ colas = escapeq(col.columnid);
+ }
+ else {
+ colas = col.nick;
+ }
+ }
+ query.groupColumns[colas] = col.nick;
+ s += "r['" + colas + "']=";
+ s += utils$6.n2u(col.toJS('g', '')) + ';';
+ for (var i = 0; i < query.removeKeys.length; i++) {
+ if (query.removeKeys[i] === colas) {
+ query.removeKeys.splice(i, 1);
+ break;
+ }
+ }
+ }
+ });
+ return s;
+ };
+ yy.Select.prototype.compileSelectGroup2 = function (query) {
+ var self = this;
+ var s = query.selectgfns;
+ self.columns.forEach(function (col) {
+ if (query.ingroup.indexOf(col.nick) > -1) {
+ s += "r['" + (col.as || col.nick) + "']=g['" + col.nick + "'];";
+ }
+ });
+ if (this.orderColumns && this.orderColumns.length > 0) {
+ this.orderColumns.forEach(function (v, idx) {
+ var key = '$$$' + idx;
+ if (v instanceof yy.Column && query.groupColumns[v.columnid]) {
+ s += "r['" + key + "']=r['" + v.columnid + "'];";
+ }
+ else {
+ s += "r['" + key + "']=" + v.toJS('g', '') + ';';
+ }
+ query.removeKeys.push(key);
+ });
+ }
+ return new Function('g,params,alasql', 'var y;' + s + 'return r');
+ };
+ yy.Select.prototype.compileRemoveColumns = function (query) {
+ if (typeof this.removecolumns !== 'undefined') {
+ query.removeKeys = query.removeKeys.concat(this.removecolumns
+ .filter(function (column) {
+ return typeof column.like === 'undefined';
+ })
+ .map(function (column) {
+ return column.columnid;
+ }));
+ query.removeLikeKeys = this.removecolumns
+ .filter(function (column) {
+ return typeof column.like !== 'undefined';
+ })
+ .map(function (column) {
+ return column.like.value;
+ });
+ }
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
-parseError:function parseError(str, hash) {
- if (this.yy.parser) {
- this.yy.parser.parseError(str, hash);
- } else {
- throw new Error(str);
- }
- },
+ function where (mem) {
+ var yy = mem.grammar.yy;
+ yy.Select.prototype.compileWhere = function (query) {
+ if (this.where) {
+ if (typeof this.where === 'function') {
+ return this.where;
+ }
+ else {
+ var s = this.where.toJS('p', query.defaultTableid, query.defcols);
+ query.wherefns = s;
+ return new Function('p,params,alasql', 'var y;return ' + s);
+ }
+ }
+ else
+ { return function () {
+ return true;
+ }; }
+ };
+ yy.Select.prototype.compileWhereJoins = function (query) {
+ return;
+ optimizeWhereJoin(query, this.where.expression);
+ query.sources.forEach(function (source) {
+ if (source.srcwherefns) {
+ source.srcwherefn = new Function('p,params,alasql', 'var y;return ' + source.srcwherefns);
+ }
+ if (source.wxleftfns) {
+ source.wxleftfn = new Function('p,params,alasql', 'var y;return ' + source.wxleftfns);
+ }
+ if (source.wxrightfns) {
+ source.wxrightfn = new Function('p,params,alasql', 'var y;return ' + source.wxrightfns);
+ }
+ });
+ };
+ function optimizeWhereJoin(query, ast) {
+ if (!ast)
+ { return false; }
+ if (!(ast instanceof yy.Op))
+ { return; }
+ if (ast.op != '=' && ast.op != 'AND')
+ { return; }
+ if (ast.allsome)
+ { return; }
+ var s = ast.toJS('p', query.defaultTableid, query.defcols);
+ var fsrc = [];
+ query.sources.forEach(function (source, idx) {
+ if (source.tableid) {
+ if (s.indexOf("p['" + source.alias + "']") > -1)
+ { fsrc.push(source); }
+ }
+ });
+ if (fsrc.length == 0) {
+ return;
+ }
+ else if (fsrc.length == 1) {
+ if (!(s.match(/p\[\'.*?\'\]/g) || []).every(function (s) {
+ return s == "p['" + fsrc[0].alias + "']";
+ })) {
+ return;
+ }
+ var src = fsrc[0];
+ src.srcwherefns = src.srcwherefns ? src.srcwherefns + '&&' + s : s;
+ if (ast instanceof yy.Op && (ast.op == '=' && !ast.allsome)) {
+ if (ast.left instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (rs.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = ls;
+ fsrc[0].wxrightfns = rs;
+ }
+ }
+ if (ast.right instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (ls.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = rs;
+ fsrc[0].wxrightfns = ls;
+ }
+ }
+ }
+ ast.reduced = true;
+ return;
+ }
+ else {
+ if ((ast.op = 'AND')) {
+ optimizeWhereJoin(query, ast.left);
+ optimizeWhereJoin(query, ast.right);
+ }
+ }
+ }
+ mem.grammar.yy = yy;
+ }
-// resets the lexer, sets new input
-setInput:function (input, yy) {
- this.yy = yy || this.yy || {};
- this._input = input;
- this._more = this._backtrack = this.done = false;
- this.yylineno = this.yyleng = 0;
- this.yytext = this.matched = this.match = '';
- this.conditionStack = ['INITIAL'];
- this.yylloc = {
- first_line: 1,
- first_column: 0,
- last_line: 1,
- last_column: 0
- };
- if (this.options.ranges) {
- this.yylloc.range = [0,0];
- }
- this.offset = 0;
- return this;
- },
+ function useDatabase (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.CreateDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateDatabase.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.engineid)
+ { s += ' ' + this.engineid; }
+ s += ' DATABASE';
+ if (this.ifnotexists)
+ { s += ' IF NOT EXISTS'; }
+ s += ' ' + this.databaseid;
+ if (this.args && this.args.length > 0) {
+ s +=
+ '(' +
+ this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ') +
+ ')';
+ }
+ if (this.as)
+ { s += ' AS ' + this.as; }
+ return s;
+ };
+ yy.CreateDatabase.prototype.execute = function (databaseid, params, cb) {
+ var args;
+ if (this.args && this.args.length > 0) {
+ args = this.args.map(function (arg) {
+ return new Function('params,alasql', 'var y;return ' + arg.toJS())(params, alasql);
+ });
+ }
+ if (this.engineid) {
+ var res = alasql.engines[this.engineid].createDatabase(this.databaseid, this.args, this.ifnotexists, this.as, cb);
+ return res;
+ }
+ else {
+ var dbid = this.databaseid;
+ if (alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' already exists");
+ }
+ var a = alasql.newDatabase(dbid);
+ var res = 1;
+ if (cb)
+ { return cb(res); }
+ return res;
+ }
+ };
+ yy.AttachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.AttachDatabase.prototype.toString = function (args) {
+ var s = 'ATTACH';
+ if (this.engineid)
+ { s += ' ' + this.engineid; }
+ s += ' DATABASE' + ' ' + this.databaseid;
+ if (args) {
+ s += '(';
+ if (args.length > 0) {
+ s += args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ');
+ }
+ s += ')';
+ }
+ if (this.as)
+ { s += ' AS' + ' ' + this.as; }
+ return s;
+ };
+ yy.AttachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.engines[this.engineid]) {
+ throw new Error('Engine "' + this.engineid + '" is not defined.');
+ }
+ var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, this.args, params, cb);
+ return res;
+ };
+ yy.DetachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DetachDatabase.prototype.toString = function () {
+ var s = 'DETACH';
+ s += ' DATABASE' + ' ' + this.databaseid;
+ return s;
+ };
+ yy.DetachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.databases[this.databaseid].engineid) {
+ throw new Error('Cannot detach database "' + this.engineid + '", because it was not attached.');
+ }
+ var res;
+ var dbid = this.databaseid;
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ else {
+ res = 0;
+ }
+ }
+ else {
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb)
+ { cb(res); }
+ return res;
+ };
+ yy.UseDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.UseDatabase.prototype.toString = function () {
+ return 'USE' + ' ' + 'DATABASE' + ' ' + this.databaseid;
+ };
+ yy.UseDatabase.prototype.execute = function (databaseid, params, cb) {
+ var dbid = this.databaseid;
+ if (!alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ alasql.use(dbid);
+ var res = 1;
+ if (cb)
+ { cb(res); }
+ return res;
+ };
+ yy.DropDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DropDatabase.prototype.toString = function () {
+ var s = 'DROP';
+ if (this.ifexists)
+ { s += ' IF EXISTS'; }
+ s += ' DATABASE ' + this.databaseid;
+ return s;
+ };
+ yy.DropDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (this.engineid) {
+ return alasql.engines[this.engineid].dropDatabase(this.databaseid, this.ifexists, cb);
+ }
+ var res;
+ var dbid = this.databaseid;
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ else {
+ res = 0;
+ }
+ }
+ else {
+ if (alasql.databases[dbid].engineid) {
+ throw new Error("Cannot drop database '" + dbid + "', because it is attached. Detach it.");
+ }
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb)
+ { cb(res); }
+ return res;
+ };
+ mem.grammar.yy = yy;
+ }
-// consumes and returns one char from the input
-input:function () {
- var ch = this._input[0];
- this.yytext += ch;
- this.yyleng++;
- this.offset++;
- this.match += ch;
- this.matched += ch;
- var lines = ch.match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno++;
- this.yylloc.last_line++;
- } else {
- this.yylloc.last_column++;
- }
- if (this.options.ranges) {
- this.yylloc.range[1]++;
- }
+ function functions (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.FuncValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.FuncValue.prototype.toString = function (dontas) {
+ var s = '';
+ if (alasql.fn[this.funcid])
+ { s += this.funcid; }
+ else if (alasql.aggr[this.funcid])
+ { s += this.funcid; }
+ else if (alasql.stdlib[this.funcid.toUpperCase()] || alasql.stdfn[this.funcid.toUpperCase()])
+ { s += this.funcid.toUpperCase(); }
+ s += '(';
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(',');
+ }
+ s += ')';
+ if (this.as && !dontas)
+ { s += ' AS ' + this.as.toString(); }
+ return s;
+ };
+ yy.FuncValue.prototype.execute = function (databaseid, params, cb) {
+ var res = 1;
+ alasql.precompile(this, databaseid, params);
+ var expr = new Function('params,alasql', 'var y;return ' + this.toJS('', '', null));
+ expr(params, alasql);
+ if (cb)
+ { res = cb(res); }
+ return res;
+ };
+ yy.FuncValue.prototype.findAggregator = function (query) {
+ if (this.args && this.args.length > 0) {
+ this.args.forEach(function (arg) {
+ if (arg.findAggregator)
+ { arg.findAggregator(query); }
+ });
+ }
+ };
+ yy.FuncValue.prototype.toJS = function (context, tableid, defcols) {
+ var s = '';
+ var funcid = this.funcid;
+ if (!alasql.fn[funcid] && alasql.stdlib[funcid.toUpperCase()]) {
+ if (this.args && this.args.length > 0) {
+ s += alasql.stdlib[funcid.toUpperCase()].apply(this, this.args.map(function (arg) {
+ return arg.toJS(context, tableid);
+ }));
+ }
+ else {
+ s += alasql.stdlib[funcid.toUpperCase()]();
+ }
+ }
+ else if (!alasql.fn[funcid] && alasql.stdfn[funcid.toUpperCase()]) {
+ if (this.newid)
+ { s += 'new '; }
+ s += 'alasql.stdfn.' + this.funcid.toUpperCase() + '(';
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ }
+ else {
+ if (this.newid)
+ { s += 'new '; }
+ s += 'alasql.fn.' + this.funcid + '(';
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ }
+ return s;
+ };
+ mem.grammar.yy = yy;
+ }
- this._input = this._input.slice(1);
- return ch;
- },
+ var cloneDeep$1 = utils$6.cloneDeep;
+ function createtable (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.ColumnDef = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ColumnDef.prototype.toString = function () {
+ var s = this.columnid;
+ if (this.dbtypeid) {
+ s += ' ' + this.dbtypeid;
+ }
+ if (this.dbsize) {
+ s += '(' + this.dbsize;
+ if (this.dbprecision) {
+ s += ',' + this.dbprecision;
+ }
+ s += ')';
+ }
+ if (this.primarykey) {
+ s += ' PRIMARY KEY';
+ }
+ if (this.notnull) {
+ s += ' NOT NULL';
+ }
+ return s;
+ };
+ yy.CreateTable = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateTable.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.temporary) {
+ s += ' TEMPORARY';
+ }
+ if (this.view) {
+ s += ' VIEW';
+ }
+ else {
+ s += ' ' + (this.class ? 'CLASS' : 'TABLE');
+ }
+ if (this.ifnotexists) {
+ s += ' IF NOT EXISTS';
+ }
+ s += ' ' + this.table.toString();
+ if (this.viewcolumns) {
+ s +=
+ '(' +
+ this.viewcolumns
+ .map(function (vcol) {
+ return vcol.toString();
+ })
+ .join(',') +
+ ')';
+ }
+ if (this.as) {
+ s += ' AS ' + this.as;
+ }
+ else {
+ var ss = this.columns.map(function (col) {
+ return col.toString();
+ });
+ s += ' (' + ss.join(',') + ')';
+ }
+ if (this.view && this.select) {
+ s += ' AS ' + this.select.toString();
+ }
+ return s;
+ };
+ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
+ var db = alasql.databases[this.table.databaseid || databaseid];
+ var tableid = this.table.tableid;
+ if (!tableid) {
+ throw new Error('Table name is not defined');
+ }
+ var columns = this.columns;
+ var constraints = this.constraints || [];
+ if (this.ifnotexists && db.tables[tableid]) {
+ return cb ? cb(0) : 0;
+ }
+ if (db.tables[tableid]) {
+ throw new Error("Can not create table '" +
+ tableid +
+ "', because it already exists in the database '" +
+ db.databaseid +
+ "'");
+ }
+ var table = (db.tables[tableid] = alasql.newTable());
+ if (this.class) {
+ table.isclass = true;
+ }
+ var ss = [];
+ var uss = [];
+ if (columns) {
+ columns.forEach(function (col) {
+ var dbtypeid = col.dbtypeid;
+ if (!alasql.fn[dbtypeid]) {
+ dbtypeid = dbtypeid.toUpperCase();
+ }
+ if (['SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(dbtypeid) > -1) {
+ col.identity = { value: 1, step: 1 };
+ }
+ var newcol = {
+ columnid: col.columnid,
+ dbtypeid: dbtypeid,
+ dbsize: col.dbsize,
+ dbprecision: col.dbprecision,
+ notnull: col.notnull,
+ identity: col.identity,
+ };
+ if (col.identity) {
+ table.identities[col.columnid] = {
+ value: +col.identity.value,
+ step: +col.identity.step,
+ };
+ }
+ if (col.check) {
+ table.checks.push({
+ id: col.check.constrantid,
+ fn: new Function('r', 'var y;return ' + col.check.expression.toJS('r', '')),
+ });
+ }
+ if (col.default) {
+ ss.push("'" + col.columnid + "':" + col.default.toJS('r', ''));
+ }
+ if (col.primarykey) {
+ var pk = (table.pk = {});
+ pk.columns = [col.columnid];
+ pk.onrightfns = "r['" + col.columnid + "']";
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ }
+ if (col.unique) {
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = [col.columnid];
+ uk.onrightfns = "r['" + col.columnid + "']";
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ }
+ if (col.foreignkey) {
+ var fk = col.foreignkey.table;
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ if (fktable.pk.columns && fktable.pk.columns.length > 0) {
+ fk.columnid = fktable.pk.columns[0];
+ }
+ else {
+ throw new Error('FOREIGN KEY allowed only to tables with PRIMARY KEYs');
+ }
+ }
+ var fkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ throw new Error('Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid);
+ }
+ return true;
+ };
+ table.checks.push({ fn: fkfn });
+ }
+ if (col.onupdate) {
+ uss.push("r['" + col.columnid + "']=" + col.onupdate.toJS('r', ''));
+ }
+ table.columns.push(newcol);
+ table.xcolumns[newcol.columnid] = newcol;
+ });
+ }
+ table.defaultfns = ss.join(',');
+ table.onupdatefns = uss.join(';');
+ constraints.forEach(function (con) {
+ var checkfn;
+ if (con.type === 'PRIMARY KEY') {
+ if (table.pk) {
+ throw new Error('Primary key already exists');
+ }
+ var pk = (table.pk = {});
+ pk.columns = con.columns;
+ pk.onrightfns = pk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ }
+ else if (con.type === 'CHECK') {
+ checkfn = new Function('r', 'var y;return ' + con.expression.toJS('r', ''));
+ }
+ else if (con.type === 'UNIQUE') {
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = con.columns;
+ uk.onrightfns = uk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ }
+ else if (con.type === 'FOREIGN KEY') {
+ var col = table.xcolumns[con.columns[0]];
+ var fk = con.fktable;
+ if (con.fkcolumns && con.fkcolumns.length > 0) {
+ fk.columnid = con.fkcolumns[0];
+ }
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ fk.columnid = fktable.pk.columns[0];
+ }
+ checkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ throw new Error('Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid);
+ }
+ return true;
+ };
+ }
+ if (checkfn) {
+ table.checks.push({ fn: checkfn, id: con.constraintid, fk: con.type === 'FOREIGN KEY' });
+ }
+ });
+ if (this.view && this.viewcolumns) {
+ var self = this;
+ this.viewcolumns.forEach(function (vcol, idx) {
+ self.select.columns[idx].as = vcol.columnid;
+ });
+ }
+ if (this.view && this.select) {
+ table.view = true;
+ table.select = this.select.compile(this.table.databaseid || databaseid);
+ }
+ if (db.engineid) {
+ return alasql.engines[db.engineid].createTable(this.table.databaseid || databaseid, tableid, this.ifnotexists, cb);
+ }
+ table.insert = function (r, orreplace) {
+ var oldinserted = alasql.inserted;
+ alasql.inserted = [r];
+ var table = this;
+ var toreplace = false;
+ var prevent = false;
+ for (var tr in table.beforeinsert) {
+ var trigger = table.beforeinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false)
+ { prevent = prevent || true; }
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ { prevent = prevent || true; }
+ }
+ }
+ }
+ if (prevent)
+ { return; }
+ var escape = false;
+ for (tr in table.insteadofinsert) {
+ escape = true;
+ trigger = table.insteadofinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ { return; }
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ r[columnid] = ident.value;
+ }
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+ if (typeof table.uniqs[pk.hh][addr] !== 'undefined') {
+ if (orreplace)
+ { toreplace = table.uniqs[pk.hh][addr]; }
+ else
+ { throw new Error('Cannot insert record, because it already exists in primary key index'); }
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] !== 'undefined') {
+ if (orreplace)
+ { toreplace = table.uniqs[uk.hh][ukaddr]; }
+ else
+ { throw new Error('Cannot insert record, because it already exists in unique index'); }
+ }
+ });
+ }
+ if (toreplace) {
+ table.update(function (t) {
+ for (var f in r)
+ { t[f] = r[f]; }
+ }, table.data.indexOf(toreplace), params);
+ }
+ else {
+ table.data.push(r);
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ ident.value += ident.step;
+ }
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+ table.uniqs[pk.hh][addr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ table.uniqs[uk.hh][ukaddr] = r;
+ });
+ }
+ }
+ for (var tr in table.afterinsert) {
+ var trigger = table.afterinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ alasql.inserted = oldinserted;
+ };
+ table.delete = function (index) {
+ var table = this;
+ var r = table.data[index];
+ var prevent = false;
+ for (var tr in table.beforedelete) {
+ var trigger = table.beforedelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false)
+ { prevent = prevent || true; }
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ { prevent = prevent || true; }
+ }
+ }
+ }
+ if (prevent)
+ { return false; }
+ var escape = false;
+ for (var tr in table.insteadofdelete) {
+ escape = true;
+ var trigger = table.insteadofdelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ { return; }
+ if (this.pk) {
+ var pk = this.pk;
+ var addr = pk.onrightfn(r);
+ if (typeof this.uniqs[pk.hh][addr] === 'undefined') {
+ throw new Error('Something wrong with primary key index on table');
+ }
+ else {
+ this.uniqs[pk.hh][addr] = undefined;
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ table.uniqs[uk.hh][ukaddr] = undefined;
+ });
+ }
+ };
+ table.deleteall = function () {
+ this.data.length = 0;
+ if (this.pk) {
+ this.uniqs[this.pk.hh] = {};
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh] = {};
+ });
+ }
+ };
+ table.update = function (assignfn, i, params) {
+ var this$1 = this;
+ var r = cloneDeep$1(this.data[i]);
+ var pk;
+ if (this.pk) {
+ pk = this.pk;
+ pk.pkaddr = pk.onrightfn(r, params);
+ if (typeof this.uniqs[pk.hh][pk.pkaddr] === 'undefined') {
+ throw new Error('Something wrong with index on table');
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][uk.ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ });
+ }
+ assignfn(r, params, alasql);
+ var prevent = false;
+ for (var tr in table.beforeupdate) {
+ var trigger = table.beforeupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](this$1.data[i], r) === false)
+ { prevent = prevent || true; }
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ { prevent = prevent || true; }
+ }
+ }
+ }
+ if (prevent)
+ { return false; }
+ var escape = false;
+ for (var tr in table.insteadofupdate) {
+ escape = true;
+ var trigger = table.insteadofupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this$1.data[i], r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ { return; }
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (this.pk) {
+ pk.newpkaddr = pk.onrightfn(r);
+ if (typeof this.uniqs[pk.hh][pk.newpkaddr] !== 'undefined' &&
+ pk.newpkaddr !== pk.pkaddr) {
+ throw new Error('Record already exists');
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.newukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][uk.newukaddr] !== 'undefined' &&
+ uk.newukaddr !== uk.ukaddr) {
+ throw new Error('Record already exists');
+ }
+ });
+ }
+ if (this.pk) {
+ this.uniqs[pk.hh][pk.pkaddr] = undefined;
+ this.uniqs[pk.hh][pk.newpkaddr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh][uk.ukaddr] = undefined;
+ table.uniqs[uk.hh][uk.newukaddr] = r;
+ });
+ }
+ this.data[i] = r;
+ for (var tr in table.afterupdate) {
+ var trigger = table.afterupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this$1.data[i], r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ };
+ var res;
+ if (!alasql.options.nocount) {
+ res = 1;
+ }
+ if (cb)
+ { res = cb(res); }
+ return res;
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
-// unshifts one char (or a string) into the input
-unput:function (ch) {
- var len = ch.length;
- var lines = ch.split(/(?:\r\n?|\n)/g);
+ function insert (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.Insert = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Insert.prototype.toString = function () {
+ var s = 'INSERT ';
+ if (this.orreplace)
+ { s += 'OR REPLACE '; }
+ if (this.replaceonly)
+ { s = 'REPLACE '; }
+ s += 'INTO ' + this.into.toString();
+ if (this.columns)
+ { s += '(' + this.columns.toString() + ')'; }
+ if (this.values)
+ { s += ' VALUES ' + this.values.toString(); }
+ if (this.select)
+ { s += ' ' + this.select.toString(); }
+ return s;
+ };
+ yy.Insert.prototype.toJS = function (context, tableid, defcols) {
+ var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
+ return s;
+ };
+ yy.Insert.prototype.compile = function (databaseid) {
+ var self = this;
+ databaseid = self.into.databaseid || databaseid;
+ var db = alasql.databases[databaseid];
+ var tableid = self.into.tableid;
+ var table = db.tables[tableid];
+ if (!table) {
+ throw "Table '" + tableid + "' could not be found";
+ }
+ var s = '';
+ var sw = '';
+ var s = "db.tables['" + tableid + "'].dirty=true;";
+ var s3 = 'var a,aa=[],x;';
+ var s33;
+ if (this.values) {
+ if (this.exists) {
+ this.existsfn = this.exists.map(function (ex) {
+ var nq = ex.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (this.queries) {
+ this.queriesfn = this.queries.map(function (q) {
+ var nq = q.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ self.values.forEach(function (values) {
+ var ss = [];
+ if (self.columns) {
+ self.columns.forEach(function (col, idx) {
+ var q = "'" + col.columnid + "':";
+ if (table.xcolumns && table.xcolumns[col.columnid]) {
+ if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(table.xcolumns[col.columnid].dbtypeid) >= 0) {
+ q += '(x=' + values[idx].toJS() + ',x==undefined?undefined:+x)';
+ }
+ else if (alasql.fn[table.xcolumns[col.columnid].dbtypeid]) {
+ q += '(new ' + table.xcolumns[col.columnid].dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ ss.push(q);
+ });
+ }
+ else {
+ if (Array.isArray(values) && table.columns && table.columns.length > 0) {
+ table.columns.forEach(function (col, idx) {
+ var q = "'" + col.columnid + "':";
+ if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(col.dbtypeid) >= 0) {
+ q += '+' + values[idx].toJS();
+ }
+ else if (alasql.fn[col.dbtypeid]) {
+ q += '(new ' + col.dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ ss.push(q);
+ });
+ }
+ else {
+ sw = JSONtoJS(values);
+ }
+ }
+ if (db.tables[tableid].defaultfns) {
+ ss.unshift(db.tables[tableid].defaultfns);
+ }
+ if (sw) {
+ s += 'a=' + sw + ';';
+ }
+ else {
+ s += 'a={' + ss.join(',') + '};';
+ }
+ if (db.tables[tableid].isclass) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s += 'a.$class="' + tableid + '";';
+ s += 'a.$id=db.counter++;';
+ s += 'db.objects[a.$id]=a;';
+ }
+ if (db.tables[tableid].insert) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s +=
+ "db.tables['" +
+ tableid +
+ "'].insert(a," +
+ (self.orreplace ? 'true' : 'false') +
+ ');';
+ }
+ else {
+ s += 'aa.push(a);';
+ }
+ });
+ s33 = s3 + s;
+ if (db.tables[tableid].insert) ;
+ else {
+ s +=
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data=" +
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data.concat(aa);";
+ }
+ if (db.tables[tableid].insert) {
+ if (db.tables[tableid].isclass) {
+ s += 'return a.$id;';
+ }
+ else {
+ s += 'return ' + self.values.length;
+ }
+ }
+ else {
+ s += 'return ' + self.values.length;
+ }
+ var insertfn = new Function('db, params, alasql', 'var y;' + s3 + s).bind(this);
+ }
+ else if (this.select) {
+ this.select.modifier = 'RECORDSET';
+ var selectfn = this.select.compile(databaseid);
+ if (db.engineid && alasql.engines[db.engineid].intoTable) {
+ var statement = function (params, cb) {
+ var aa = selectfn(params);
+ var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa.data, null, cb);
+ return res;
+ };
+ return statement;
+ }
+ else {
+ var defaultfns = 'return alasql.utils.extend(r,{' + table.defaultfns + '})';
+ var defaultfn = new Function('r,db,params,alasql', defaultfns);
+ var insertfn = function (db, params, alasql) {
+ var res = selectfn(params).data;
+ if (db.tables[tableid].insert) {
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ var r = cloneDeep(res[i]);
+ defaultfn(r, db, params, alasql);
+ db.tables[tableid].insert(r, self.orreplace);
+ }
+ }
+ else {
+ db.tables[tableid].data = db.tables[tableid].data.concat(res);
+ }
+ if (alasql.options.nocount)
+ { return; }
+ else
+ { return res.length; }
+ };
+ }
+ }
+ else if (this.default) {
+ var insertfns = "db.tables['" + tableid + "'].data.push({" + table.defaultfns + '});return 1;';
+ var insertfn = new Function('db,params,alasql', insertfns);
+ }
+ else {
+ throw new Error('Wrong INSERT parameters');
+ }
+ if (db.engineid && alasql.engines[db.engineid].intoTable && alasql.options.autocommit) {
+ var statement = function (params, cb) {
+ var aa = new Function('db,params', 'var y;' + s33 + 'return aa;')(db, params);
+ var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa, null, cb);
+ return res;
+ };
+ }
+ else {
+ var statement = function (params, cb) {
+ var db = alasql.databases[databaseid];
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].loadTableData(databaseid, tableid);
+ }
+ var res = insertfn(db, params, alasql);
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].saveTableData(databaseid, tableid);
+ }
+ if (alasql.options.nocount)
+ { res = undefined; }
+ if (cb)
+ { cb(res); }
+ return res;
+ };
+ }
+ return statement;
+ };
+ yy.Insert.prototype.execute = function (databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
- this._input = ch + this._input;
- this.yytext = this.yytext.substr(0, this.yytext.length - len);
- //this.yyleng -= len;
- this.offset -= len;
- var oldLines = this.match.split(/(?:\r\n?|\n)/g);
- this.match = this.match.substr(0, this.match.length - 1);
- this.matched = this.matched.substr(0, this.matched.length - 1);
+ function expandGrammar (mem) {
+ mem.alasql.parser = alasqlparser;
+ base(mem);
+ statements(mem);
+ select(mem);
+ expression(mem);
+ exists(mem);
+ defcols(mem);
+ from_(mem);
+ compile(mem);
+ where(mem);
+ useDatabase(mem);
+ functions(mem);
+ createtable(mem);
+ insert(mem);
+ }
- if (lines.length - 1) {
- this.yylineno -= lines.length - 1;
- }
- var r = this.yylloc.range;
+ function logic(mem) {
+ var yy = mem.grammar.yy;
+ return function (sql, params, cb, scope) {
+ params = params || [];
+ if (typeof importScripts !== 'function' && mem.alasql.webworker) {
+ var id = mem.alasql.lastid++;
+ mem.alasql.buffer[id] = cb;
+ mem.alasql.webworker.postMessage({ id: id, sql: sql, params: params });
+ return;
+ }
+ if (arguments.length === 0) {
+ return new yy.Select({
+ columns: [new yy.Column({ columnid: '*' })],
+ from: [new yy.ParamValue({ param: 0 })],
+ });
+ }
+ else if (arguments.length === 1) {
+ if (sql.constructor === Array) {
+ return mem.alasql.promise(sql);
+ }
+ }
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = [];
+ }
+ if (typeof params !== 'object') {
+ params = [params];
+ }
+ if (typeof sql === 'function') {
+ sql = sql.toString();
+ sql = (/\/\*([\S\s]+)\*\//m.exec(sql) || [
+ '',
+ 'Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function.' ])[1];
+ }
+ return mem.alasql.exec(sql, params, cb, scope);
+ };
+ }
- this.yylloc = {
- first_line: this.yylloc.first_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.first_column,
- last_column: lines ?
- (lines.length === oldLines.length ? this.yylloc.first_column : 0)
- + oldLines[oldLines.length - lines.length].length - lines[0].length :
- this.yylloc.first_column - len
- };
+ function database (mem) {
+ mem.alasql.databasenum = 0;
+ mem.alasql.databases = {};
+ var Database = function Database(databaseid, alasql) {
+ this.dbversion = 0;
+ this.counter = 0;
+ this.tables = {};
+ this.views = {};
+ this.triggers = {};
+ this.indices = {};
+ this.objects = {};
+ this.sqlCache = {};
+ this.sqlCacheSize = 0;
+ this.alasql = alasql;
+ this.databaseid = databaseid;
+ return this;
+ };
+ Database.prototype.resetSqlCache = function resetSqlCache () {
+ this.sqlCache = {};
+ this.sqlCacheSize = 0;
+ };
+ Database.prototype.exec = function exec (sql, params, cb) {
+ return this.alasql.dexec(this.databaseid, sql, params, cb);
+ };
+ Database.prototype.autoval = function autoval (tablename, colname, getNext) {
+ return this.alasql.autoval(tablename, colname, getNext, this.databaseid);
+ };
+ mem.alasql.newDatabase = function (dbName, useNewDatabase) {
+ if ( useNewDatabase === void 0 ) useNewDatabase = true;
+ if (!dbName) {
+ dbName = 'db' + mem.alasql.databasenum++;
+ }
+ var db = new Database(dbName, mem.alasql);
+ mem.alasql.databases[db.databaseid] = db;
+ if (useNewDatabase) {
+ mem.alasql.use('alasql');
+ }
+ };
+ }
- if (this.options.ranges) {
- this.yylloc.range = [r[0], r[0] + this.yyleng - len];
- }
- this.yyleng = this.yytext.length;
- return this;
- },
+ var Query = function Query(params) {
+ this.columns = [];
+ this.xcolumns = {};
+ this.selectGroup = [];
+ this.groupColumns = {};
+ utils$6.extend(this, params);
+ return this;
+ };
+ var Recordset = function Recordset(params) {
+ utils$6.extend(this, params);
+ };
+ function query (mem) {
+ mem.alasql.Query = Query;
+ mem.alasql.QueRecordsetry = Recordset;
+ }
-// When called from action, caches matched text and appends it on next action
-more:function () {
- this._more = true;
- return this;
- },
+ function table (mem) {
+ var Table = function Table(params) {
+ this.data = [];
+ this.columns = [];
+ this.xcolumns = {};
+ this.inddefs = {};
+ this.indices = {};
+ this.uniqs = {};
+ this.uniqdefs = {};
+ this.identities = {};
+ this.checks = [];
+ this.checkfns = [];
+ this.beforeinsert = {};
+ this.afterinsert = {};
+ this.insteadofinsert = {};
+ this.beforedelete = {};
+ this.afterdelete = {};
+ this.insteadofdelete = {};
+ this.beforeupdate = {};
+ this.afterupdate = {};
+ this.insteadofupdate = {};
+ utils$6.extend(this, params);
+ return this;
+ };
+ Table.prototype.indexColumns = function indexColumns () {
+ this.xcolumns = {};
+ this.columns.forEach(function (col) {
+ this.xcolumns[col.columnid] = col;
+ });
+ };
+ mem.alasql.newTable = function (params) {
+ if ( params === void 0 ) params = [];
+ return new Table(params);
+ };
+ }
-// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
-reject:function () {
- if (this.options.backtrack_lexer) {
- this._backtrack = true;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
+ function addDataStruct (mem) {
+ database(mem);
+ query(mem);
+ table(mem);
+ }
- }
- return this;
- },
+ var und = utils$6.und;
+ function stdlib (mem) {
+ var stdlib = {};
+ stdlib.ABS = function (a) {
+ return 'Math.abs(' + a + ')';
+ };
+ stdlib.CLONEDEEP = function (a) {
+ return 'alasql.utils.cloneDeep(' + a + ')';
+ };
+ stdlib.EXP = function (a) {
+ return 'Math.pow(Math.E,' + a + ')';
+ };
+ stdlib.IIF = function (a, b, c) {
+ if (arguments.length == 3) {
+ return '((' + a + ')?(' + b + '):(' + c + '))';
+ }
+ else {
+ throw new Error('Number of arguments of IFF is not equals to 3');
+ }
+ };
+ stdlib.IFNULL = function (a, b) {
+ return '(' + a + '||' + b + ')';
+ };
+ stdlib.INSTR = function (s, p) {
+ return '((' + s + ').indexOf(' + p + ')+1)';
+ };
+ stdlib.LEN = stdlib.LENGTH = function (s) {
+ return und(s, 'y.length');
+ };
+ stdlib.LOWER = stdlib.LCASE = function (s) {
+ return und(s, 'String(y).toLowerCase()');
+ };
+ stdlib.LTRIM = function (s) {
+ return und(s, 'y.replace(/^[ ]+/,"")');
+ };
+ stdlib.RTRIM = function (s) {
+ return und(s, 'y.replace(/[ ]+$/,"")');
+ };
+ stdlib.MAX = stdlib.GREATEST = function () {
+ return 'Math.max(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+ stdlib.MIN = stdlib.LEAST = function () {
+ return 'Math.min(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+ stdlib.SUBSTRING = stdlib.SUBSTR = stdlib.MID = function (a, b, c) {
+ if (arguments.length == 2)
+ { return und(a, 'y.substr(' + b + '-1)'); }
+ else if (arguments.length == 3)
+ { return und(a, 'y.substr(' + b + '-1,' + c + ')'); }
+ };
+ stdlib.ISNULL = stdlib.NULLIF = function (a, b) {
+ return '(' + a + '==' + b + '?undefined:' + a + ')';
+ };
+ stdlib.POWER = function (a, b) {
+ return 'Math.pow(' + a + ',' + b + ')';
+ };
+ stdlib.RANDOM = function (r) {
+ if (arguments.length == 0) {
+ return 'Math.random()';
+ }
+ else {
+ return '(Math.random()*(' + r + ')|0)';
+ }
+ };
+ stdlib.ROUND = function (s, d) {
+ if (arguments.length == 2) {
+ return 'Math.round((' + s + ')*Math.pow(10,(' + d + ')))/Math.pow(10,(' + d + '))';
+ }
+ else {
+ return 'Math.round(' + s + ')';
+ }
+ };
+ stdlib.CEIL = stdlib.CEILING = function (s) {
+ return 'Math.ceil(' + s + ')';
+ };
+ stdlib.FLOOR = function (s) {
+ return 'Math.floor(' + s + ')';
+ };
+ stdlib.ROWNUM = function () {
+ return '1';
+ };
+ stdlib.ROW_NUMBER = function () {
+ return '1';
+ };
+ stdlib.SQRT = function (s) {
+ return 'Math.sqrt(' + s + ')';
+ };
+ stdlib.TRIM = function (s) {
+ return und(s, 'y.trim()');
+ };
+ stdlib.UPPER = stdlib.UCASE = function (s) {
+ return und(s, 'String(y).toUpperCase()');
+ };
+ mem.alasql.stdlib = stdlib;
+ }
-// retain first n characters of the match
-less:function (n) {
- this.unput(this.match.slice(n));
- },
+ function stdfn (mem) {
+ var stdfn = {};
+ stdfn.CONCAT = function () {
+ var args = [], len = arguments.length;
+ while ( len-- ) args[ len ] = arguments[ len ];
+ return Array.prototype.slice.call(args).join('');
+ };
+ stdfn.REGEXP_LIKE = function (a, b, c) {
+ return (a || '').search(RegExp(b, c)) > -1;
+ };
+ stdfn.CONCAT_WS = function () {
+ var args = [], len = arguments.length;
+ while ( len-- ) args[ len ] = arguments[ len ];
+ return args.slice(1, args.length).join(args[0]);
+ };
+ stdfn.REPLACE = function (target, pattern, replacement) {
+ return (target || '').split(pattern).join(replacement);
+ };
+ stdfn.CHAR = String.fromCharCode.bind(String);
+ stdfn.ASCII = function (a) {
+ return a.charCodeAt(0);
+ };
+ var lut = [];
+ for (var i = 0; i < 256; i++) {
+ lut[i] = (i < 16 ? '0' : '') + i.toString(16);
+ }
+ stdfn.NEWID = stdfn.UUID = stdfn.GEN_RANDOM_UUID = function () {
+ var d0 = (Math.random() * 0xffffffff) | 0;
+ var d1 = (Math.random() * 0xffffffff) | 0;
+ var d2 = (Math.random() * 0xffffffff) | 0;
+ var d3 = (Math.random() * 0xffffffff) | 0;
+ return (lut[d0 & 0xff] +
+ lut[(d0 >> 8) & 0xff] +
+ lut[(d0 >> 16) & 0xff] +
+ lut[(d0 >> 24) & 0xff] +
+ '-' +
+ lut[d1 & 0xff] +
+ lut[(d1 >> 8) & 0xff] +
+ '-' +
+ lut[((d1 >> 16) & 0x0f) | 0x40] +
+ lut[(d1 >> 24) & 0xff] +
+ '-' +
+ lut[(d2 & 0x3f) | 0x80] +
+ lut[(d2 >> 8) & 0xff] +
+ '-' +
+ lut[(d2 >> 16) & 0xff] +
+ lut[(d2 >> 24) & 0xff] +
+ lut[d3 & 0xff] +
+ lut[(d3 >> 8) & 0xff] +
+ lut[(d3 >> 16) & 0xff] +
+ lut[(d3 >> 24) & 0xff]);
+ };
+ mem.alasql.stdfn = stdfn;
+ }
-// displays already matched input, i.e. for error messages
-pastInput:function () {
- var past = this.matched.substr(0, this.matched.length - this.match.length);
- return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, "");
- },
+ function aggr (mem) {
+ var alasql = mem.alasql;
+ alasql.aggr.GROUP_CONCAT = function (v, s, stage) {
+ if (stage === 1) {
+ return '' + v;
+ }
+ else if (stage === 2) {
+ s += ',' + v;
+ return s;
+ }
+ return s;
+ };
+ alasql.aggr.MEDIAN = function (v, s, stage) {
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ }
+ else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ }
+ else {
+ if (!s.length) {
+ return s;
+ }
+ var r = s.sort();
+ var p = (r.length + 1) / 2;
+ if (Number.isInteger(p)) {
+ return r[p - 1];
+ }
+ return (r[Math.floor(p - 1)] + r[Math.ceil(p - 1)]) / 2;
+ }
+ };
+ alasql.aggr.QUART = function (v, s, stage, nth) {
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ }
+ else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ }
+ else {
+ if (!s.length) {
+ return s;
+ }
+ nth = !nth ? 1 : nth;
+ var r = s.sort();
+ var p = (nth * (r.length + 1)) / 4;
+ if (Number.isInteger(p)) {
+ return r[p - 1];
+ }
+ return r[Math.floor(p)];
+ }
+ };
+ alasql.aggr.QUART2 = function (v, s, stage) {
+ return alasql.aggr.QUART(v, s, stage, 2);
+ };
+ alasql.aggr.QUART3 = function (v, s, stage) {
+ return alasql.aggr.QUART(v, s, stage, 3);
+ };
+ alasql.aggr.VAR = function (v, s, stage) {
+ if (stage === 1) {
+ if (v === null) {
+ return { arr: [], sum: 0 };
+ }
+ return { arr: [v], sum: v };
+ }
+ else if (stage === 2) {
+ if (v === null) {
+ return s;
+ }
+ s.arr.push(v);
+ s.sum += v;
+ return s;
+ }
+ else {
+ var N = s.arr.length;
+ var avg = s.sum / N;
+ var std = 0;
+ for (var i = 0; i < N; i++) {
+ std += (s.arr[i] - avg) * (s.arr[i] - avg);
+ }
+ std = std / (N - 1);
+ return std;
+ }
+ };
+ alasql.aggr.STDEV = function (v, s, stage) {
+ if (stage === 1 || stage === 2) {
+ return alasql.aggr.VAR(v, s, stage);
+ }
+ else {
+ return Math.sqrt(alasql.aggr.VAR(v, s, stage));
+ }
+ };
+ alasql.aggr.VARP = function (v, s, stage) {
+ if (stage === 1) {
+ return { arr: [v], sum: v };
+ }
+ else if (stage === 2) {
+ s.arr.push(v);
+ s.sum += v;
+ return s;
+ }
+ else {
+ var N = s.arr.length;
+ var avg = s.sum / N;
+ var std = 0;
+ for (var i = 0; i < N; i++) {
+ std += (s.arr[i] - avg) * (s.arr[i] - avg);
+ }
+ return std / N;
+ }
+ };
+ alasql.aggr.STD = alasql.aggr.STDDEV = alasql.aggr.STDEVP = function (v, s, stage) {
+ if (stage == 1 || stage == 2) {
+ return alasql.aggr.VARP(v, s, stage);
+ }
+ else {
+ return Math.sqrt(alasql.aggr.VARP(v, s, stage));
+ }
+ };
+ alasql._aggrOriginal = alasql.aggr;
+ alasql.aggr = {};
+ Object.keys(alasql._aggrOriginal).forEach(function (k) {
+ alasql.aggr[k] = function (v, s, stage) {
+ if (stage === 3 && typeof s === 'undefined')
+ { return undefined; }
+ return alasql._aggrOriginal[k].apply(null, arguments);
+ };
+ });
+ mem.alasql = alasql;
+ }
-// displays upcoming input, i.e. for error messages
-upcomingInput:function () {
- var next = this.match;
- if (next.length < 20) {
- next += this._input.substr(0, 20-next.length);
- }
- return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
- },
-
-// displays the character position where the lexing error occurred, i.e. for error messages
-showPosition:function () {
- var pre = this.pastInput();
- var c = new Array(pre.length + 1).join("-");
- return pre + this.upcomingInput() + "\n" + c + "^";
- },
-
-// test the lexed token: return FALSE when not a match, otherwise return token
-test_match:function (match, indexed_rule) {
- var token,
- lines,
- backup;
-
- if (this.options.backtrack_lexer) {
- // save context
- backup = {
- yylineno: this.yylineno,
- yylloc: {
- first_line: this.yylloc.first_line,
- last_line: this.last_line,
- first_column: this.yylloc.first_column,
- last_column: this.yylloc.last_column
- },
- yytext: this.yytext,
- match: this.match,
- matches: this.matches,
- matched: this.matched,
- yyleng: this.yyleng,
- offset: this.offset,
- _more: this._more,
- _input: this._input,
- yy: this.yy,
- conditionStack: this.conditionStack.slice(0),
- done: this.done
- };
- if (this.options.ranges) {
- backup.yylloc.range = this.yylloc.range.slice(0);
- }
- }
-
- lines = match[0].match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno += lines.length;
- }
- this.yylloc = {
- first_line: this.yylloc.last_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.last_column,
- last_column: lines ?
- lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length :
- this.yylloc.last_column + match[0].length
- };
- this.yytext += match[0];
- this.match += match[0];
- this.matches = match;
- this.yyleng = this.yytext.length;
- if (this.options.ranges) {
- this.yylloc.range = [this.offset, this.offset += this.yyleng];
- }
- this._more = false;
- this._backtrack = false;
- this._input = this._input.slice(match[0].length);
- this.matched += match[0];
- token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
- if (this.done && this._input) {
- this.done = false;
- }
- if (token) {
- return token;
- } else if (this._backtrack) {
- // recover context
- for (var k in backup) {
- this[k] = backup[k];
- }
- return false; // rule action called reject() implying the next rule should be tested instead.
- }
- return false;
- },
-
-// return next match in input
-next:function () {
- if (this.done) {
- return this.EOF;
- }
- if (!this._input) {
- this.done = true;
- }
-
- var token,
- match,
- tempMatch,
- index;
- if (!this._more) {
- this.yytext = '';
- this.match = '';
- }
- var rules = this._currentRules();
- for (var i = 0; i < rules.length; i++) {
- tempMatch = this._input.match(this.rules[rules[i]]);
- if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
- match = tempMatch;
- index = i;
- if (this.options.backtrack_lexer) {
- token = this.test_match(tempMatch, rules[i]);
- if (token !== false) {
- return token;
- } else if (this._backtrack) {
- match = false;
- continue; // rule action called reject() implying a rule MISmatch.
- } else {
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- } else if (!this.options.flex) {
- break;
- }
- }
- }
- if (match) {
- token = this.test_match(match, rules[index]);
- if (token !== false) {
- return token;
- }
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- if (this._input === "") {
- return this.EOF;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
- }
- },
-
-// return next match that has a token
-lex:function lex() {
- var r = this.next();
- if (r) {
- return r;
- } else {
- return this.lex();
- }
- },
-
-// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
-begin:function begin(condition) {
- this.conditionStack.push(condition);
- },
-
-// pop the previously active lexer condition state off the condition stack
-popState:function popState() {
- var n = this.conditionStack.length - 1;
- if (n > 0) {
- return this.conditionStack.pop();
- } else {
- return this.conditionStack[0];
- }
- },
-
-// produce the lexer rule set which is active for the currently active lexer condition state
-_currentRules:function _currentRules() {
- if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
- return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
- } else {
- return this.conditions["INITIAL"].rules;
- }
- },
-
-// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
-topState:function topState(n) {
- n = this.conditionStack.length - 1 - Math.abs(n || 0);
- if (n >= 0) {
- return this.conditionStack[n];
- } else {
- return "INITIAL";
- }
- },
-
-// alias for begin(condition)
-pushState:function pushState(condition) {
- this.begin(condition);
- },
-
-// return the number of states currently on the stack
-stateStackSize:function stateStackSize() {
- return this.conditionStack.length;
- },
-options: {"case-insensitive":true},
-performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
-var YYSTATE=YY_START;
-switch($avoiding_name_collisions) {
-case 0:return 266
-break;
-case 1:return 302
-break;
-case 2:return 420
-break;
-case 3:return 299
-break;
-case 4:return 5
-break;
-case 5:return 5
-break;
-case 6:return 296
-break;
-case 7:return 296
-break;
-case 8:return 132
-break;
-case 9:return 132
-break;
-case 10:return /* its a COMMENT */
-break;
-case 11:/* skip whitespace */
-break;
-case 12:return 316
-break;
-case 13:return 319
-break;
-case 14:yy_.yytext = 'VALUE';return 89
-break;
-case 15:yy_.yytext = 'VALUE';return 189
-break;
-case 16:yy_.yytext = 'ROW';return 189
-break;
-case 17:yy_.yytext = 'COLUMN';return 189
-break;
-case 18:yy_.yytext = 'MATRIX';return 189
-break;
-case 19:yy_.yytext = 'INDEX';return 189
-break;
-case 20:yy_.yytext = 'RECORDSET';return 189
-break;
-case 21:yy_.yytext = 'TEXT';return 189
-break;
-case 22:yy_.yytext = 'SELECT';return 189
-break;
-case 23:return 520
-break;
-case 24:return 381
-break;
-case 25:return 402
-break;
-case 26:return 515
-break;
-case 27:return 287
-break;
-case 28:return 269
-break;
-case 29:return 269
-break;
-case 30:return 164
-break;
-case 31:return 400
-break;
-case 32:return 170
-break;
-case 33:return 229
-break;
-case 34:return 166
-break;
-case 35:return 207
-break;
-case 36:return 288
-break;
-case 37:return 76
-break;
-case 38:return 418
-break;
-case 39:return 242
-break;
-case 40:return 404
-break;
-case 41:return 356
-break;
-case 42:return 284
-break;
-case 43:return 514
-break;
-case 44:return 437
-break;
-case 45:return 330
-break;
-case 46:return 441
-break;
-case 47:return 331
-break;
-case 48:return 315
-break;
-case 49:return 119
-break;
-case 50:return 112
-break;
-case 51:return 315
-break;
-case 52:return 112
-break;
-case 53:return 315
-break;
-case 54:return 112
-break;
-case 55:return 315
-break;
-case 56:return 508
-break;
-case 57:return 303
-break;
-case 58:return 271
-break;
-case 59:return 368
-break;
-case 60:return 130
-break;
-case 61:return 'CLOSE'
-break;
-case 62:return 243
-break;
-case 63:return 190
-break;
-case 64:return 190
-break;
-case 65:return 434
-break;
-case 66:return 367
-break;
-case 67:return 470
-break;
-case 68:return 440
-break;
-case 69:return 273
-break;
-case 70:return 240
-break;
-case 71:return 281
-break;
-case 72:return 267
-break;
-case 73:return 206
-break;
-case 74:return 238
-break;
-case 75:return 265
-break;
-case 76:return 'CURSOR'
-break;
-case 77:return 405
-break;
-case 78:return 291
-break;
-case 79:return 292
-break;
-case 80:return 448
-break;
-case 81:return 343
-break;
-case 82:return 338
-break;
-case 83:return 'DELETED'
-break;
-case 84:return 242
-break;
-case 85:return 406
-break;
-case 86:return 185
-break;
-case 87:return 396
-break;
-case 88:return 447
-break;
-case 89:return 135
-break;
-case 90:return 306
-break;
-case 91:return 389
-break;
-case 92:return 310
-break;
-case 93:return 314
-break;
-case 94:return 169
-break;
-case 95:return 508
-break;
-case 96:return 508
-break;
-case 97:return 298
-break;
-case 98:return 14
-break;
-case 99:return 295
-break;
-case 100:return 249
-break;
-case 101:return 285
-break;
-case 102:return 95
-break;
-case 103:return 373
-break;
-case 104:return 183
-break;
-case 105:return 227
-break;
-case 106:return 268
-break;
-case 107:return 313
-break;
-case 108:return 602
-break;
-case 109:return 472
-break;
-case 110:return 232
-break;
-case 111:return 236
-break;
-case 112:return 239
-break;
-case 113:return 156
-break;
-case 114:return 356
-break;
-case 115:return 332
-break;
-case 116:return 99
-break;
-case 117:return 193
-break;
-case 118:return 212
-break;
-case 119:return 224
-break;
-case 120:return 516
-break;
-case 121:return 339
-break;
-case 122:return 213
-break;
-case 123:return 168
-break;
-case 124:return 293
-break;
-case 125:return 198
-break;
-case 126:return 223
-break;
-case 127:return 370
-break;
-case 128:return 286
-break;
-case 129:return 'LET'
-break;
-case 130:return 225
-break;
-case 131:return 112
-break;
-case 132:return 245
-break;
-case 133:return 460
-break;
-case 134:return 191
-break;
-case 135:return 283
-break;
-case 136:return 390
-break;
-case 137:return 282
-break;
-case 138:return 452
-break;
-case 139:return 169
-break;
-case 140:return 403
-break;
-case 141:return 222
-break;
-case 142:return 645
-break;
-case 143:return 270
-break;
-case 144:return 244
-break;
-case 145:return 380
-break;
-case 146:return 154
-break;
-case 147:return 297
-break;
-case 148:return 433
-break;
-case 149:return 230
-break;
-case 150:return 415
-break;
-case 151:return 129
-break;
-case 152:return 247
-break;
-case 153:return 'OPEN'
-break;
-case 154:return 416
-break;
-case 155:return 171
-break;
-case 156:return 118
-break;
-case 157:return 208
-break;
-case 158:return 276
-break;
-case 159:return 172
-break;
-case 160:return 279
-break;
-case 161:return 765
-break;
-case 162:return 93
-break;
-case 163:return 16
-break;
-case 164:return 369
-break;
-case 165:return 442
-break;
-case 166:return 678
-break;
-case 167:return 15
-break;
-case 168:return 414
-break;
-case 169:return 194
-break;
-case 170:return 'REDUCE'
-break;
-case 171:return 374
-break;
-case 172:return 311
-break;
-case 173:return 517
-break;
-case 174:return 682
-break;
-case 175:return 107
-break;
-case 176:return 401
-break;
-case 177:return 175
-break;
-case 178:return 290
-break;
-case 179:return 443
-break;
-case 180:return 687
-break;
-case 181:return 173
-break;
-case 182:return 173
-break;
-case 183:return 226
-break;
-case 184:return 436
-break;
-case 185:return 237
-break;
-case 186:return 150
-break;
-case 187:return 766
-break;
-case 188:return 405
-break;
-case 189:return 89
-break;
-case 190:return 228
-break;
-case 191:return 146
-break;
-case 192:return 146
-break;
-case 193:return 409
-break;
-case 194:return 334
-break;
-case 195:return 417
-break;
-case 196:return 'STRATEGY'
-break;
-case 197:return 'STORE'
-break;
-case 198:return 280
-break;
-case 199:return 353
-break;
-case 200:return 353
-break;
-case 201:return 463
-break;
-case 202:return 357
-break;
-case 203:return 357
-break;
-case 204:return 192
-break;
-case 205:return 309
-break;
-case 206:return 'TIMEOUT'
-break;
-case 207:return 148
-break;
-case 208:return 195
-break;
-case 209:return 435
-break;
-case 210:return 435
-break;
-case 211:return 509
-break;
-case 212:return 294
-break;
-case 213:return 451
-break;
-case 214:return 162
-break;
-case 215:return 187
-break;
-case 216:return 98
-break;
-case 217:return 335
-break;
-case 218:return 408
-break;
-case 219:return 231
-break;
-case 220:return 149
-break;
-case 221:return 344
-break;
-case 222:return 134
-break;
-case 223:return 410
-break;
-case 224:return 308
-break;
-case 225:return 128
-break;
-case 226:return 439
-break;
-case 227:return 72
-break;
-case 228:return 435 /* Is this keyword required? */
-break;
-case 229:return 131
-break;
-case 230:return 131
-break;
-case 231:return 115
-break;
-case 232:return 137
-break;
-case 233:return 179
-break;
-case 234:return 317
-break;
-case 235:return 180
-break;
-case 236:return 133
-break;
-case 237:return 138
-break;
-case 238:return 326
-break;
-case 239:return 323
-break;
-case 240:return 325
-break;
-case 241:return 322
-break;
-case 242:return 320
-break;
-case 243:return 318
-break;
-case 244:return 319
-break;
-case 245:return 142
-break;
-case 246:return 141
-break;
-case 247:return 139
-break;
-case 248:return 321
-break;
-case 249:return 324
-break;
-case 250:return 140
-break;
-case 251:return 124
-break;
-case 252:return 324
-break;
-case 253:return 77
-break;
-case 254:return 78
-break;
-case 255:return 145
-break;
-case 256:return 424
-break;
-case 257:return 426
-break;
-case 258:return 300
-break;
-case 259:return 505
-break;
-case 260:return 507
-break;
-case 261:return 122
-break;
-case 262:return 116
-break;
-case 263:return 74
-break;
-case 264:return 333
-break;
-case 265:return 152
-break;
-case 266:return 764
-break;
-case 267:return 143
-break;
-case 268:return 181
-break;
-case 269:return 136
-break;
-case 270:return 123
-break;
-case 271:return 312
-break;
-case 272:return 4
-break;
-case 273:return 10
-break;
-case 274:return 'INVALID'
-break;
-}
-},
-rules: [/^(?:``([^\`])+``)/i,/^(?:\[\?\])/i,/^(?:@\[)/i,/^(?:ARRAY\[)/i,/^(?:\[([^\]])*?\])/i,/^(?:`([^\`])*?`)/i,/^(?:N(['](\\.|[^']|\\')*?['])+)/i,/^(?:X(['](\\.|[^']|\\')*?['])+)/i,/^(?:(['](\\.|[^']|\\')*?['])+)/i,/^(?:(["](\\.|[^"]|\\")*?["])+)/i,/^(?:--(.*?)($|\r\n|\r|\n))/i,/^(?:\s+)/i,/^(?:\|\|)/i,/^(?:\|)/i,/^(?:VALUE\s+OF\s+SEARCH\b)/i,/^(?:VALUE\s+OF\s+SELECT\b)/i,/^(?:ROW\s+OF\s+SELECT\b)/i,/^(?:COLUMN\s+OF\s+SELECT\b)/i,/^(?:MATRIX\s+OF\s+SELECT\b)/i,/^(?:INDEX\s+OF\s+SELECT\b)/i,/^(?:RECORDSET\s+OF\s+SELECT\b)/i,/^(?:TEXT\s+OF\s+SELECT\b)/i,/^(?:SELECT\b)/i,/^(?:ABSOLUTE\b)/i,/^(?:ACTION\b)/i,/^(?:ADD\b)/i,/^(?:AFTER\b)/i,/^(?:AGGR\b)/i,/^(?:AGGREGATE\b)/i,/^(?:AGGREGATOR\b)/i,/^(?:ALL\b)/i,/^(?:ALTER\b)/i,/^(?:AND\b)/i,/^(?:ANTI\b)/i,/^(?:ANY\b)/i,/^(?:APPLY\b)/i,/^(?:ARRAY\b)/i,/^(?:AS\b)/i,/^(?:ASSERT\b)/i,/^(?:ASC\b)/i,/^(?:ATTACH\b)/i,/^(?:AUTO(_)?INCREMENT\b)/i,/^(?:AVG\b)/i,/^(?:BEFORE\b)/i,/^(?:BEGIN\b)/i,/^(?:BETWEEN\b)/i,/^(?:BREAK\b)/i,/^(?:NOT\s+BETWEEN\b)/i,/^(?:NOT\s+LIKE\b)/i,/^(?:BY\b)/i,/^(?:~~\*)/i,/^(?:!~~\*)/i,/^(?:~~)/i,/^(?:!~~)/i,/^(?:ILIKE\b)/i,/^(?:NOT\s+ILIKE\b)/i,/^(?:CALL\b)/i,/^(?:CASE\b)/i,/^(?:CAST\b)/i,/^(?:CHECK\b)/i,/^(?:CLASS\b)/i,/^(?:CLOSE\b)/i,/^(?:COLLATE\b)/i,/^(?:COLUMN\b)/i,/^(?:COLUMNS\b)/i,/^(?:COMMIT\b)/i,/^(?:CONSTRAINT\b)/i,/^(?:CONTENT\b)/i,/^(?:CONTINUE\b)/i,/^(?:CONVERT\b)/i,/^(?:CORRESPONDING\b)/i,/^(?:COUNT\b)/i,/^(?:CREATE\b)/i,/^(?:CROSS\b)/i,/^(?:CUBE\b)/i,/^(?:CURRENT_TIMESTAMP\b)/i,/^(?:CURSOR\b)/i,/^(?:DATABASE(S)?)/i,/^(?:DATEADD\b)/i,/^(?:DATEDIFF\b)/i,/^(?:DECLARE\b)/i,/^(?:DEFAULT\b)/i,/^(?:DELETE\b)/i,/^(?:DELETED\b)/i,/^(?:DESC\b)/i,/^(?:DETACH\b)/i,/^(?:DISTINCT\b)/i,/^(?:DROP\b)/i,/^(?:ECHO\b)/i,/^(?:EDGE\b)/i,/^(?:END\b)/i,/^(?:ENUM\b)/i,/^(?:ELSE\b)/i,/^(?:ESCAPE\b)/i,/^(?:EXCEPT\b)/i,/^(?:EXEC\b)/i,/^(?:EXECUTE\b)/i,/^(?:EXISTS\b)/i,/^(?:EXPLAIN\b)/i,/^(?:FALSE\b)/i,/^(?:FETCH\b)/i,/^(?:FIRST\b)/i,/^(?:FOR\b)/i,/^(?:FOREIGN\b)/i,/^(?:FROM\b)/i,/^(?:FULL\b)/i,/^(?:FUNCTION\b)/i,/^(?:GLOB\b)/i,/^(?:GO\b)/i,/^(?:GRAPH\b)/i,/^(?:GROUP\b)/i,/^(?:GROUPING\b)/i,/^(?:HAVING\b)/i,/^(?:IF\b)/i,/^(?:IDENTITY\b)/i,/^(?:IS\b)/i,/^(?:IN\b)/i,/^(?:INDEX\b)/i,/^(?:INDEXED\b)/i,/^(?:INNER\b)/i,/^(?:INSTEAD\b)/i,/^(?:INSERT\b)/i,/^(?:INSERTED\b)/i,/^(?:INTERSECT\b)/i,/^(?:INTERVAL\b)/i,/^(?:INTO\b)/i,/^(?:JOIN\b)/i,/^(?:KEY\b)/i,/^(?:LAST\b)/i,/^(?:LET\b)/i,/^(?:LEFT\b)/i,/^(?:LIKE\b)/i,/^(?:LIMIT\b)/i,/^(?:MATCHED\b)/i,/^(?:MATRIX\b)/i,/^(?:MAX(\s+)?(?=\())/i,/^(?:MAX(\s+)?(?=(,|\))))/i,/^(?:MIN(\s+)?(?=\())/i,/^(?:MERGE\b)/i,/^(?:MINUS\b)/i,/^(?:MODIFY\b)/i,/^(?:NATURAL\b)/i,/^(?:NEXT\b)/i,/^(?:NEW\b)/i,/^(?:NOCASE\b)/i,/^(?:NO\b)/i,/^(?:NOT\b)/i,/^(?:NULL\b)/i,/^(?:OFF\b)/i,/^(?:ON\b)/i,/^(?:ONLY\b)/i,/^(?:OF\b)/i,/^(?:OFFSET\b)/i,/^(?:OPEN\b)/i,/^(?:OPTION\b)/i,/^(?:OR\b)/i,/^(?:ORDER\b)/i,/^(?:OUTER\b)/i,/^(?:OVER\b)/i,/^(?:PATH\b)/i,/^(?:PARTITION\b)/i,/^(?:PERCENT\b)/i,/^(?:PIVOT\b)/i,/^(?:PLAN\b)/i,/^(?:PRIMARY\b)/i,/^(?:PRINT\b)/i,/^(?:PRIOR\b)/i,/^(?:QUERY\b)/i,/^(?:READ\b)/i,/^(?:RECORDSET\b)/i,/^(?:REDUCE\b)/i,/^(?:REFERENCES\b)/i,/^(?:REGEXP\b)/i,/^(?:REINDEX\b)/i,/^(?:RELATIVE\b)/i,/^(?:REMOVE\b)/i,/^(?:RENAME\b)/i,/^(?:REPEAT\b)/i,/^(?:REPLACE\b)/i,/^(?:REQUIRE\b)/i,/^(?:RESTORE\b)/i,/^(?:RETURN\b)/i,/^(?:RETURNS\b)/i,/^(?:RIGHT\b)/i,/^(?:ROLLBACK\b)/i,/^(?:ROLLUP\b)/i,/^(?:ROW\b)/i,/^(?:ROWS\b)/i,/^(?:SCHEMA(S)?)/i,/^(?:SEARCH\b)/i,/^(?:SEMI\b)/i,/^(?:SET\b)/i,/^(?:SETS\b)/i,/^(?:SHOW\b)/i,/^(?:SOME\b)/i,/^(?:SOURCE\b)/i,/^(?:STRATEGY\b)/i,/^(?:STORE\b)/i,/^(?:SUM\b)/i,/^(?:TABLE\b)/i,/^(?:TABLES\b)/i,/^(?:TARGET\b)/i,/^(?:TEMP\b)/i,/^(?:TEMPORARY\b)/i,/^(?:TEXTSTRING\b)/i,/^(?:THEN\b)/i,/^(?:TIMEOUT\b)/i,/^(?:TO\b)/i,/^(?:TOP\b)/i,/^(?:TRAN\b)/i,/^(?:TRANSACTION\b)/i,/^(?:TRIGGER\b)/i,/^(?:TRUE\b)/i,/^(?:TRUNCATE\b)/i,/^(?:UNION\b)/i,/^(?:UNIQUE\b)/i,/^(?:UNPIVOT\b)/i,/^(?:UPDATE\b)/i,/^(?:USE\b)/i,/^(?:USING\b)/i,/^(?:VALUE\b)/i,/^(?:VALUES\b)/i,/^(?:VERTEX\b)/i,/^(?:VIEW\b)/i,/^(?:WHEN\b)/i,/^(?:WHERE\b)/i,/^(?:WHILE\b)/i,/^(?:WITH\b)/i,/^(?:WORK\b)/i,/^(?:(\d*[.])?\d+[eE]\d+)/i,/^(?:(\d*[.])?\d+)/i,/^(?:->)/i,/^(?:#)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:&)/i,/^(?:\|)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?::-)/i,/^(?:\?-)/i,/^(?:\.\.)/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:!)/i,/^(?:\^)/i,/^(?:~)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],
-conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274],"inclusive":true}}
-});
-return lexer;
-})();
-parser.lexer = lexer;
-function Parser () {
- this.yy = {};
-}
-Parser.prototype = parser;parser.Parser = Parser;
-return new Parser;
-})();
-
-if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
-exports.parser = alasqlparser;
-exports.Parser = alasqlparser.Parser;
-exports.parse = function () { return alasqlparser.parse.apply(alasqlparser, arguments); };
-exports.main = function commonjsMain(args) {
- if (!args[1]) {
- console.log('Usage: '+args[0]+' FILE');
- process.exit(1);
- }
- var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
- return exports.parser.parse(source);
-};
-if (typeof module !== 'undefined' && require.main === module) {
- exports.main(process.argv.slice(1));
-}
-}
-/**
- 12prettyflag.js - prettify
- @todo move this functionality to plugin
-*/
-
-/**
- Pretty flag - nice HTML output or standard text without any tags
- @type {boolean}
-*/
-
-alasql.prettyflag = false;
-
-/**
- Pretty output of SQL functions
- @function
- @param {string} sql SQL statement
- @param {boolean} flag value
- @return {string} HTML or text string with pretty output
-*/
-
-alasql.pretty = function(sql, flag) {
- var pf = alasql.prettyflag;
- alasql.prettyflag = !flag;
- var s = alasql.parse(sql).toString();
- alasql.prettyflag = pf;
- return s;
-};
-
-/*jshint unused:false*/
-/*
- Utilities for Alasql.js
-
- @todo Review the list of utilities
- @todo Find more effective utilities
-*/
-
-/**
- Alasql utility functions
- @type {object}
- */
-var utils = (alasql.utils = {});
-
-/**
- Convert NaN to undefined
- @function
- @param {string} s JavaScript string to be modified
- @return {string} Covered expression
-
- @example
-
- 123 => 123
- undefined => undefined
- NaN => undefined
-
-*/
-function n2u(s) {
- return '(y=' + s + ',y===y?y:undefined)';
-}
-
-/**
- Return undefined if s undefined
- @param {string} s JavaScript string to be modified
- @return {string} Covered expression
-
- @example
-
- 123,a => a
- undefined,a => undefined
- NaN,a => undefined
-
-*/
-function und(s, r) {
- return '(y=' + s + ',typeof y=="undefined"?undefined:' + r + ')';
-}
-
-/**
- Return always true. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
- @function
- @return {boolean} Always true
-*/
-function returnTrue() {
- return true;
-}
-
-/**
- Return undefined. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
- @function
- @return {undefined} Always undefined
-*/
-function returnUndefined() {}
-
-/**
- Escape string
- @function
- @param {string} s Source string
- @return {string} Escaped string
- @example
-
- Pit\er's => Pit\\er\'s
-
-*/
-// based on joliss/js-string-escape
-var escapeq = (utils.escapeq = function(s) {
-
- return ('' + s).replace(/["'\\\n\r\u2028\u2029]/g, function(character) {
- // Escape all characters not included in SingleStringCharacters and
- // DoubleStringCharacters on
- // http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
- switch (character) {
- case '"':
- case "'":
- case '\\':
- return '\\' + character;
- // Four possible LineTerminator characters need to be escaped:
- case '\n':
- return '\\n';
- case '\r':
- return '\\r';
- case '\u2028':
- return '\\u2028';
- case '\u2029':
- return '\\u2029';
- }
- });
-});
-
-/**
- Double quotes for SQL statements
- @param {string} s Source string
- @return {string} Escaped string
-
- @example
-
- Piter's => Piter''s
-
- */
-var escapeqq = (utils.undoubleq = function(s) {
- return s.replace(/(\')/g, "''");
-});
-
-/**
- Replace double quotes with single quote
- @param {string} s Source string
- @return {string} Replaced string
- @example
-
- Piter''s => Piter's
-
- */
-var doubleq = (utils.doubleq = function(s) {
- return s.replace(/(\'\')/g, "\\'");
-});
-
-/**
- Replace sigle quote to escaped single quote
- @param {string} s Source string
- @return {string} Replaced string
-
- @todo Chack this functions
-
-*/
-var doubleqq = (utils.doubleqq = function(s) {
- return s.replace(/\'/g, "'");
-});
-
-/**
- Cut BOM first character for UTF-8 files (for merging two files)
- @param {string} s Source string
- @return {string} Replaced string
-*/
-
-var cutbom = function(s) {
- if (s[0] === String.fromCharCode(65279)) {
- s = s.substr(1);
- }
- return s;
-};
-
-/**
- Get the blobal scope
- Inspired by System.global
- @return {object} The global scope
-*/
-utils.global = (function() {
- try {
- return Function('return this')();
- } catch (e) {
- //If Content Security Policy
- var global = self || window || global;
-
- if (global) {
- return global;
- } else {
- throw new Error('Unable to locate global object');
- }
- }
-})();
-
-/**
- Find out if a function is native to the enviroment
- @param {function} Function to check
- @return {boolean} True if function is native
-*/
-var isNativeFunction = (utils.isNativeFunction = function(fn) {
- return typeof fn === 'function' && !!~fn.toString().indexOf('[native code]');
-});
-
-/**
- Find out if code is running in a web worker enviroment
- @return {boolean} True if code is running in a web worker enviroment
-*/
-utils.isWebWorker = (function() {
- try {
- var importScripts = utils.global.importScripts;
- return utils.isNativeFunction(importScripts);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a node enviroment
- @return {boolean} True if code is running in a node enviroment
-*/
-utils.isNode = (function() {
- try {
- return utils.isNativeFunction(utils.global.process.reallyExit);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a browser enviroment
- @return {boolean} True if code is running in a browser enviroment
-*/
-utils.isBrowser = (function() {
- try {
- return utils.isNativeFunction(utils.global.location.reload);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a browser with a browserify setup
- @return {boolean} True if code is running in a browser with a browserify setup
-*/
-utils.isBrowserify = (function() {
- return utils.isBrowser && typeof process !== 'undefined' && process.browser;
-})();
-
-/**
- Find out if code is running in a browser with a requireJS setup
- @return {boolean} True if code is running in a browser with a requireJS setup
-*/
-utils.isRequireJS = (function() {
- return (
- utils.isBrowser && typeof require === 'function' && typeof require.specified === 'function'
- );
-})();
-
-/**
- Find out if code is running with Meteor in the enviroment
- @return {boolean} True if code is running with Meteor in the enviroment
-
- @todo Find out if this is the best way to do this
-*/
-utils.isMeteor = (function() {
- return typeof Meteor !== 'undefined' && Meteor.release;
-})();
-
-/**
- Find out if code is running on a Meteor client
- @return {boolean} True if code is running on a Meteor client
-*/
-utils.isMeteorClient = utils.isMeteorClient = (function() {
- return utils.isMeteor && Meteor.isClient;
-})();
-
-/**
- Find out if code is running on a Meteor server
- @return {boolean} True if code is running on a Meteor server
-*/
-utils.isMeteorServer = (function() {
- return utils.isMeteor && Meteor.isServer;
-})();
-
-/**
- Find out code is running in a cordovar enviroment
- @return {boolean} True if code is running in a web worker enviroment
-
- @todo Find out if this is the best way to do this
-*/
-utils.isCordova = (function() {
- return typeof cordova === 'object';
-})();
-
-utils.isReactNative = (function() {
- var isReact = false;
- //*not-for-browser/*
- try {
- if (typeof require('react-native') === 'object') {
- isReact = true;
- }
- } catch (e) {
- void 0;
- }
- //*/
- return isReact;
-})();
-
-utils.hasIndexedDB = (function() {
- return !!utils.global.indexedDB;
-})();
-
-utils.isArray = function(obj) {
- return '[object Array]' === Object.prototype.toString.call(obj);
-};
-/**
- Load text file from anywhere
- @param {string|object} path File path or HTML event
- @param {boolean} asy True - async call, false - sync call
- @param {function} success Success function
- @param {function} error Error function
- @return {string} Read data
-
- @todo Define Event type
- @todo Smaller if-else structures.
-*/
-var loadFile = (utils.loadFile = function(path, asy, success, error) {
- var data, fs;
- if (utils.isNode || utils.isMeteorServer) {
- //*not-for-browser/*
- if (utils.isMeteor) {
- fs = Npm.require('fs');
- } else {
- fs = require('fs');
- }
-
- // If path is empty, than read data from stdin (for Node)
- if (typeof path === 'undefined') {
- var buff = '';
- process.stdin.setEncoding('utf8');
- process.stdin.on('readable', function() {
- var chunk = process.stdin.read();
- if (chunk !== null) {
- buff += chunk.toString();
- }
- });
- process.stdin.on('end', function() {
- success(cutbom(buff));
- });
- } else {
- if (/^[a-z]+:\/\//i.test(path)) {
- var request = require('request');
- request(path, function(err, response, body) {
- if (err) {
- throw err;
- }
- success(cutbom(body.toString()));
- });
- } else {
- //If async callthen call async
- if (asy) {
- fs.readFile(path, function(err, data) {
- if (err) {
- throw err;
- }
- success(cutbom(data.toString()));
- });
- } else {
- // Call sync version
- data = fs.readFileSync(path);
- success(cutbom(data.toString()));
- }
- }
- }
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.readFile(path, 'utf8')
- .then(function(contents) {
- success(cutbom(contents));
- })
- .catch(function(err) {
- throw err;
- });
- //*/
- } else if (utils.isCordova) {
- /* If Cordova */
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(path, {create: false}, function(fileEntry) {
- fileEntry.file(function(file) {
- var fileReader = new FileReader();
- fileReader.onloadend = function(e) {
- success(cutbom(this.result));
- };
- fileReader.readAsText(file);
- });
- });
- });
-
- /** @todo Check eliminated code below */
-
- } else {
- /* For string */
- if (typeof path === 'string') {
- // For browser read from tag
- /*
- SELECT * FROM TXT('#one') -- read data from HTML element with id="one"
- */
- if (path.substr(0, 1) === '#' && typeof document !== 'undefined') {
- data = document.querySelector(path).textContent;
- success(data);
- } else {
- /*
- Simply read file from HTTP request, like:
- SELECT * FROM TXT('http://alasql.org/README.md');
- */
- var xhr = new XMLHttpRequest();
- xhr.onreadystatechange = function() {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- if (success) {
- success(cutbom(xhr.responseText));
- }
- } else if (error) {
- error(xhr);
- }
- // Todo: else...?
- }
- };
- xhr.open('GET', path, asy); // Async
- xhr.responseType = 'text';
- xhr.send();
- }
- } else if (path instanceof Event) {
- /*
- For browser read from files input element
-
-
- */
- /** @type {array} List of files from element */
- var files = path.target.files;
- /** type {object} */
- var reader = new FileReader();
- /** type {string} */
- var name = files[0].name;
- reader.onload = function(e) {
- var data = e.target.result;
- success(cutbom(data));
- };
- reader.readAsText(files[0]);
- }
- }
-});
-
-/**
- @function Load binary file from anywhere
- @param {string} path File path
- @param {boolean} asy True - async call, false - sync call
- @param {function} success Success function
- @param {function} error Error function
- @return 1 for Async, data - for sync version
-
- @todo merge functionality from loadFile and LoadBinaryFile
-*/
-
-var loadBinaryFile = (utils.loadBinaryFile = function(path, asy, success, error) {
- var fs;
- if (utils.isNode || utils.isMeteorServer) {
- //*not-for-browser/*
- if (utils.isMeteorServer) {
- fs = Npm.require('fs'); // For Meteor
- } else {
- fs = require('fs');
- }
-
- if (/^[a-z]+:\/\//i.test(path)) {
- var request = require('request');
- request({url: path, encoding: null}, function(err, response, data) {
- if (err) {
- throw err;
- }
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- });
- } else {
- if (asy) {
- fs.readFile(path, function(err, data) {
- if (err) {
- throw err;
- }
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- });
- } else {
- var data = fs.readFileSync(path);
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- }
- }
- } else if (utils.isReactNative) {
- // If ReactNative
- //var RNFS = require('react-native-fs');
- var RNFetchBlob = require('react-native-fetch-blob').default;
- var dirs = RNFetchBlob.fs.dirs;
- //should use readStream instead if the file is large
- RNFetchBlob.fs.readFile(path, 'base64').then(function(data) {
- //RNFetchBlob.base64.decode(data) //need more test on excel
- success(data);
- });
- //*/
- } else {
- if (typeof path === 'string') {
- // For browser
- var xhr = new XMLHttpRequest();
- xhr.open('GET', path, asy); // Async
- xhr.responseType = 'arraybuffer';
- xhr.onload = function() {
- var data = new Uint8Array(xhr.response);
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- };
- // xhr.responseType = "blob";
- xhr.send();
- } else if (path instanceof Event) {
-
- var files = path.target.files;
- var reader = new FileReader();
- var name = files[0].name;
- reader.onload = function(e) {
- var data = e.target.result;
- success(data);
- };
- reader.readAsArrayBuffer(files[0]);
- } else if (path instanceof Blob) {
- success(path);
- }
- }
-});
-
-var removeFile = (utils.removeFile = function(path, cb) {
- if (utils.isNode) {
- //*not-for-browser/*
- var fs = require('fs');
- fs.remove(path, cb);
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(
- path,
- {create: false},
- function(fileEntry) {
- fileEntry.remove(cb);
- cb && cb(); // jshint ignore:line
- },
- function() {
- cb && cb(); // jshint ignore:line
- }
- );
- });
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.unlink(path)
- .then(function() {
- cb && cb();
- })
- .catch(function(err) {
- throw err;
- });
- //*/
- } else {
- throw new Error('You can remove files only in Node.js and Apache Cordova');
- }
-});
-
-// Todo: check if it makes sense to support cordova and Meteor server
-var deleteFile = (utils.deleteFile = function(path, cb) {
- //*not-for-browser/*
- if (utils.isNode) {
- var fs = require('fs');
- fs.unlink(path, cb);
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.unlink(path)
- .then(function() {
- cb && cb();
- })
- .catch(function(err) {
- throw err;
- });
- }
- //*/
-});
-
-utils.autoExtFilename = function(filename, ext, config) {
- config = config || {};
- if (
- typeof filename !== 'string' ||
- filename.match(/^[A-z]+:\/\/|\n|\..{2,4}$/) ||
- config.autoExt === 0 ||
- config.autoExt === false
- ) {
- return filename;
- }
- return filename + '.' + ext;
-};
-
-var fileExists = (utils.fileExists = function(path, cb) {
- if (utils.isNode) {
- //*not-for-browser/*
- var fs = require('fs');
- fs.exists(path, cb);
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(
- path,
- {create: false},
- function(fileEntry) {
- cb(true);
- },
- function() {
- cb(false);
- }
- );
- });
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.exists(path)
- .then(function(yes) {
- cb && cb(yes);
- })
- .catch(function(err) {
- throw err;
- });
- //*/
- } else {
- // TODO Cordova, etc.
- throw new Error('You can use exists() only in Node.js or Apach Cordova');
- }
-});
-
-/**
- Save text file from anywhere
- @param {string} path File path
- @param {array} data Data object
- @param {function} cb Callback
- @param {object=} opts
-*/
-
-var saveFile = (utils.saveFile = function(path, data, cb, opts) {
- var res = 1;
- if (path === undefined) {
- //
- // Return data into result variable
- // like: alasql('SELECT * INTO TXT() FROM ?',[data]);
- //
- res = data;
- if (cb) {
- res = cb(res);
- }
- } else {
- if (utils.isNode) {
- //*not-for-browser/*
- var fs = require('fs');
- data = fs.writeFileSync(path, data);
- if (cb) {
- res = cb(res);
- }
- } else if (utils.isReactNative) {
- var RNFS = require('react-native-fs');
- RNFS.writeFile(path, data)
- .then(function(success) {
- //, 'utf8'
- if (cb) res = cb(res);
- })
- .catch(function(err) {
- console.error(err.message);
- });
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- // alasql.utils.removeFile(path,function(){
- fileSystem.root.getFile(path, {create: true}, function(fileEntry) {
- fileEntry.createWriter(function(fileWriter) {
- fileWriter.onwriteend = function() {
- if (cb) {
- res = cb(res);
- }
- };
- fileWriter.write(data);
- });
- });
- });
- //*/
-
- // });
- // });
- // });
- } else {
- if (isIE() === 9) {
- // Solution was taken from
- // http://megatuto.com/formation-JAVASCRIPT.php?JAVASCRIPT_Example=Javascript+Save+CSV+file+in+IE+8/IE+9+without+using+window.open()+Categorie+javascript+internet-explorer-8&category=&article=7993
- // var URI = 'data:text/plain;charset=utf-8,';
-
- // Prepare data
- var ndata = data.replace(/\r\n/g, 'A;D;');
- ndata = ndata.replace(/\n/g, 'D;');
- ndata = ndata.replace(/\t/g, ' ');
- var testlink = utils.global.open('about:blank', '_blank');
- testlink.document.write(ndata); //fileData has contents for the file
- testlink.document.close();
- testlink.document.execCommand('SaveAs', false, path);
- testlink.close();
- } else {
- var opt = {
- disableAutoBom: false,
- };
- alasql.utils.extend(opt, opts);
- var blob = new Blob([data], {type: 'text/plain;charset=utf-8'});
- saveAs(blob, path, opt.disableAutoBom);
- if (cb) {
- res = cb(res);
- }
- }
- }
- }
-
- return res;
-});
-
-/**
- @function Is this IE9
- @return {boolean} True for IE9 and false for other browsers
-
- For IE9 compatibility issues
-*/
-function isIE() {
- var myNav = navigator.userAgent.toLowerCase();
- return myNav.indexOf('msie') !== -1 ? parseInt(myNav.split('msie')[1]) : false;
-}
-
-/**
- @function Hash a string to signed integer
- @param {string} source string
- @return {integer} hash number
-*/
-
-// FNV-1a inspired hashing
-var hash = (utils.hash = function(str) {
- var hash = 0x811c9dc5,
- i = str.length;
- while (i) {
- hash = hash ^ str.charCodeAt(--i);
- hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
- }
- return hash;
-});
-
-/**
- Union arrays
- @function
- @param {array} a
- @param {array} b
- @return {array}
-*/
-var arrayUnion = (utils.arrayUnion = function(a, b) {
- var r = b.slice(0);
- a.forEach(function(i) {
- if (r.indexOf(i) < 0) {
- r.push(i);
- }
- });
- return r;
-});
-
-/**
- Array Difference
- */
-var arrayDiff = (utils.arrayDiff = function(a, b) {
- return a.filter(function(i) {
- return b.indexOf(i) < 0;
- });
-});
-
-/**
- Arrays deep intersect (with records)
- */
-var arrayIntersect = (utils.arrayIntersect = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- found = found || ai === bi;
- });
-
- if (found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep union (with records)
- */
-var arrayUnionDeep = (utils.arrayUnionDeep = function(a, b) {
- var r = b.slice(0);
- a.forEach(function(ai) {
- var found = false;
-
- r.forEach(function(ri) {
- // found = found || equalDeep(ai, ri, true);
- found = found || deepEqual(ai, ri);
- });
-
- if (!found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep union (with records)
- */
-var arrayExceptDeep = (utils.arrayExceptDeep = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- // found = found || equalDeep(ai, bi, true);
- found = found || deepEqual(ai, bi);
- });
-
- if (!found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep intersect (with records)
- */
-var arrayIntersectDeep = (utils.arrayIntersectDeep = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- // found = found || equalDeep(ai, bi, true);
- found = found || deepEqual(ai, bi, true);
- });
-
- if (found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Deep clone objects
- */
-var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
- if (null === obj || typeof obj !== 'object') {
- return obj;
- }
-
- if (obj instanceof Date) {
- return new Date(obj);
- }
-
- var temp = obj.constructor(); // changed
-
- for (var key in obj) {
- if (obj.hasOwnProperty(key)) {
- temp[key] = cloneDeep(obj[key]);
- }
- }
- return temp;
-});
-
-/**
- Check equality of objects
-*/
-
-/**
- Compare two objects in deep
- */
-var deepEqual = (utils.deepEqual = function(x, y) {
- if (x === y) {
- return true;
- }
-
- if (typeof x === 'object' && null !== x && (typeof y === 'object' && null !== y)) {
- if (Object.keys(x).length !== Object.keys(y).length) {
- return false;
- }
- for (var prop in x) {
- if (!deepEqual(x[prop], y[prop])) {
- return false;
- }
- }
- return true;
- }
-
- return false;
-});
-/**
- Array with distinct records
- @param {array} data
- @return {array}
-*/
-var distinctArray = (utils.distinctArray = function(data) {
- var uniq = {};
- // TODO: Speedup, because Object.keys is slow
- for (var i = 0, ilen = data.length; i < ilen; i++) {
- var uix;
- if (typeof data[i] === 'object') {
- uix = Object.keys(data[i])
- .sort()
- .map(function(k) {
- return k + '`' + data[i][k];
- })
- .join('`');
- } else {
- uix = data[i];
- }
- uniq[uix] = data[i];
- }
- var res = [];
- for (var key in uniq) {
- res.push(uniq[key]);
- }
- return res;
-});
-
-/**
- Extend object a with properties of b
- @function
- @param {object} a
- @param {object} b
- @return {object}
-*/
-var extend = (utils.extend = function extend(a, b) {
- a = a || {};
- for (var key in b) {
- if (b.hasOwnProperty(key)) {
- a[key] = b[key];
- }
- }
- return a;
-});
-
-/**
- Flat array by first row
- */
-var flatArray = (utils.flatArray = function(a) {
-
- if (!a || 0 === a.length) {
- return [];
- }
-
- // For recordsets
- if (typeof a === 'object' && a instanceof alasql.Recordset) {
- return a.data.map(function(ai) {
- return ai[a.columns[0].columnid];
- });
- }
- // Else for other arrays
- var key = Object.keys(a[0])[0];
- if (key === undefined) {
- return [];
- }
- return a.map(function(ai) {
- return ai[key];
- });
-});
-
-/**
- Convert array of objects to array of arrays
- */
-var arrayOfArrays = (utils.arrayOfArrays = function(a) {
- return a.map(function(aa) {
- var ar = [];
- for (var key in aa) {
- ar.push(aa[key]);
- }
- return ar;
- });
-});
-
-if (!Array.isArray) {
- Array.isArray = function(arg) {
- return Object.prototype.toString.call(arg) === '[object Array]';
- };
-}
-
-/**
- Excel:convert number to Excel column, like 1 => 'A'
- @param {integer} i Column number, starting with 0
- @return {string} Column name, starting with 'A'
-*/
-
-var xlsnc = (utils.xlsnc = function(i) {
- var addr = String.fromCharCode(65 + (i % 26));
- if (i >= 26) {
- i = ((i / 26) | 0) - 1;
- addr = String.fromCharCode(65 + (i % 26)) + addr;
- if (i > 26) {
- i = ((i / 26) | 0) - 1;
- addr = String.fromCharCode(65 + (i % 26)) + addr;
- }
- }
- return addr;
-});
-
-/**
- Excel:conver Excel column name to number
- @param {string} s Column number, like 'A' or 'BE'
- @return {string} Column name, starting with 0
-*/
-var xlscn = (utils.xlscn = function(s) {
- var n = s.charCodeAt(0) - 65;
- if (s.length > 1) {
- n = (n + 1) * 26 + s.charCodeAt(1) - 65;
-
- if (s.length > 2) {
- n = (n + 1) * 26 + s.charCodeAt(2) - 65;
- }
- }
- return n;
-});
-
-var domEmptyChildren = (utils.domEmptyChildren = function(container) {
- var len = container.childNodes.length;
- while (len--) {
- container.removeChild(container.lastChild);
- }
-});
-
-/**
- SQL LIKE emulation
- @parameter {string} pattern Search pattern
- @parameter {string} value Searched value
- @parameter {string} escape Escape character (optional)
- @return {boolean} If value LIKE pattern ESCAPE escape
-*/
-
-var like = (utils.like = function(pattern, value, escape) {
- // Verify escape character
- if (!escape) escape = '';
-
- var i = 0;
- var s = '^';
-
- while (i < pattern.length) {
- var c = pattern[i],
- c1 = '';
- if (i < pattern.length - 1) c1 = pattern[i + 1];
-
- if (c === escape) {
- s += '\\' + c1;
- i++;
- } else if (c === '[' && c1 === '^') {
- s += '[^';
- i++;
- } else if (c === '[' || c === ']') {
- s += c;
- } else if (c === '%') {
- s += '.*';
- } else if (c === '_') {
- s += '.';
- } else if ('/.*+?|(){}'.indexOf(c) > -1) {
- s += '\\' + c;
- } else {
- s += c;
- }
- i++;
- }
-
- s += '$';
- // if(value == undefined) return false;
-
- return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
-});
-
-utils.glob = function(value, pattern) {
- var i = 0;
- var s = '^';
-
- while (i < pattern.length) {
- var c = pattern[i],
- c1 = '';
- if (i < pattern.length - 1) c1 = pattern[i + 1];
-
- if (c === '[' && c1 === '^') {
- s += '[^';
- i++;
- } else if (c === '[' || c === ']') {
- s += c;
- } else if (c === '*') {
- s += '.*';
- } else if (c === '?') {
- s += '.';
- } else if ('/.*+?|(){}'.indexOf(c) > -1) {
- s += '\\' + c;
- } else {
- s += c;
- }
- i++;
- }
-
- s += '$';
- return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
-};
-
-/**
- Get path of alasql.js
- @todo Rewrite and simplify the code. Review, is this function is required separately
-*/
-utils.findAlaSQLPath = function() {
- /** type {string} Path to alasql library and plugins */
-
- if (utils.isWebWorker) {
- return '';
- /** @todo Check how to get path in worker */
- } else if (utils.isMeteorClient) {
- return '/packages/dist/';
- } else if (utils.isMeteorServer) {
- return 'assets/packages/dist/';
- } else if (utils.isNode) {
- return __dirname;
- } else if (utils.isBrowser) {
- var sc = document.getElementsByTagName('script');
-
- for (var i = 0; i < sc.length; i++) {
- if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
- return sc[i].src.substr(0, sc[i].src.length - 16);
- } else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
- return sc[i].src.substr(0, sc[i].src.length - 20);
- } else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
- return sc[i].src.substr(0, sc[i].src.length - 9);
- } else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
- return sc[i].src.substr(0, sc[i].src.length - 13);
- }
- }
- }
- return '';
-};
-
-var getXLSX = function() {
- var XLSX = null;
- /* If require() shuold be supported else take from global scope */
- if (utils.isNode || utils.isBrowserify || utils.isMeteorServer) {
- //*not-for-browser/*
- XLSX = require('xlsx') || null;
- //*/
- } else {
- XLSX = utils.global.XLSX || null;
- }
-
- if (null === XLSX) {
- throw new Error('Please include the xlsx.js library');
- }
-
- return XLSX;
-};
-
-// set AlaSQl path
-alasql.path = alasql.utils.findAlaSQLPath();
-
-/**
- Strip all comments.
- @function
- @param {string} str
- @return {string}
- Based om the https://github.com/lehni/uncomment.js/blob/master/uncomment.js
- I just replaced JavaScript's '//' to SQL's '--' and remove other stuff
-
- @todo Fixed [aaa/*bbb] for column names
- @todo Bug if -- comments in the last line
- @todo Check if it possible to model it with Jison parser
- @todo Remove unused code
- */
-
-/* global alasql */
-
-alasql.utils.uncomment = function(str) {
- // Add some padding so we can always look ahead and behind by two chars
- str = ('__' + str + '__').split('');
- var quote = false,
- quoteSign,
- // regularExpression = false,
- // characterClass = false,
- blockComment = false,
- lineComment = false;
- // preserveComment = false;
-
- for (var i = 0, l = str.length; i < l; i++) {
-
- // When checking for quote escaping, we also need to check that the
- // escape sign itself is not escaped, as otherwise '\\' would cause
- // the wrong impression of an unclosed string:
- var unescaped = str[i - 1] !== '\\' || str[i - 2] === '\\';
-
- if (quote) {
- if (str[i] === quoteSign && unescaped) {
- quote = false;
- }
-
- } else if (blockComment) {
- // Is the block comment closing?
- if (str[i] === '*' && str[i + 1] === '/') {
- // if (!preserveComment)
- str[i] = str[i + 1] = '';
- blockComment /* = preserveComment*/ = false;
- // Increase by 1 to skip closing '/', as it would be mistaken
- // for a regexp otherwise
- i++;
- } else {
- //if (!preserveComment) {
- str[i] = '';
- }
- } else if (lineComment) {
- // One-line comments end with the line-break
- if (str[i + 1] === '\n' || str[i + 1] === '\r') {
- lineComment = false;
- }
- str[i] = '';
- } else {
- if (str[i] === '"' || str[i] === "'") {
- quote = true;
- quoteSign = str[i];
- } else if (str[i] === '[' && str[i - 1] !== '@') {
- quote = true;
- quoteSign = ']';
- // } else if (str[i] === '-' && str[i + 1] === '-') {
- // str[i] = '';
- // lineComment = true;
- } else if (str[i] === '/' && str[i + 1] === '*') {
- // Do not filter out conditional comments /*@ ... */
- // and comments marked as protected /*! ... */
- // preserveComment = /[@!]/.test(str[i + 2]);
- // if (!preserveComment)
- str[i] = '';
- blockComment = true;
-
- }
- }
- }
- // Remove padding again.
- str = str.join('').slice(2, -2);
-
- return str;
-};
-
-/**
- Database class for Alasql.js
-*/
-
-// Initial parameters
-
-/**
- Jison parser
-*/
-alasql.parser = alasqlparser;
-
-alasql.parser.parseError = function(str, hash) {
- throw new Error('Have you used a reserved keyword without `escaping` it?\n' + str);
-};
-
-/**
- Jison parser
- @param {string} sql SQL statement
- @return {object} AST (Abstract Syntax Tree)
-
- @todo Create class AST
- @todo Add other parsers
-
- @example
- alasql.parse = function(sql) {
- // My own parser here
- }
- */
-alasql.parse = function(sql) {
- return alasqlparser.parse(alasql.utils.uncomment(sql));
-};
-
-/**
- List of engines of external databases
- @type {object}
- @todo Create collection type
- */
-alasql.engines = {};
-
-/**
- List of databases
- @type {object}
- */
-alasql.databases = {};
-
-/**
- Number of databases
- @type {number}
-*/
-alasql.databasenum = 0;
-
-/**
- Alasql options object
- */
-alasql.options = {};
-alasql.options.errorlog = false; // Log or throw error
-alasql.options.valueof = false; // Use valueof in orderfn
-alasql.options.dropifnotexists = false; // DROP database in any case
-alasql.options.datetimeformat = 'sql'; // How to handle DATE and DATETIME types
-// Another value is 'javascript'
-alasql.options.casesensitive = true; // Table and column names are case sensitive and converted to lower-case
-alasql.options.logtarget = 'output'; // target for log. Values: 'console', 'output', 'id' of html tag
-alasql.options.logprompt = true; // Print SQL at log
-
-alasql.options.progress = false; // Callback for async queries progress
-
-// Default modifier
-// values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX
-alasql.options.modifier = undefined;
-// How many rows to lookup to define columns
-alasql.options.columnlookup = 10;
-// Create vertex if not found
-alasql.options.autovertex = true;
-
-// Use dbo as current database (for partial T-SQL comaptibility)
-alasql.options.usedbo = true;
-
-// AUTOCOMMIT ON | OFF
-alasql.options.autocommit = true;
-
-// Use cache
-alasql.options.cache = true;
-
-// Compatibility flags
-alasql.options.tsql = true;
-
-alasql.options.mysql = true;
-
-alasql.options.postgres = true;
-
-alasql.options.oracle = true;
-
-alasql.options.sqlite = true;
-
-alasql.options.orientdb = true;
-
-// for SET NOCOUNT OFF
-alasql.options.nocount = false;
-
-// Check for NaN and convert it to undefined
-alasql.options.nan = false;
-
-alasql.options.joinstar = 'overwrite'; // Option for SELECT * FROM a,b
-
-//alasql.options.worker = false;
-
-// Variables
-alasql.vars = {};
-
-alasql.declares = {};
-
-alasql.prompthistory = [];
-
-alasql.plugins = {}; // If plugin already loaded
-
-alasql.from = {}; // FROM functions
-
-alasql.into = {}; // INTO functions
-
-alasql.fn = {};
-
-alasql.aggr = {};
-
-alasql.busy = 0;
-
-// Cache
-alasql.MAXSQLCACHESIZE = 10000;
-alasql.DEFAULTDATABASEID = 'alasql';
-
-/* WebWorker */
-alasql.lastid = 0;
-
-alasql.buffer = {};
-
-/**
- Select current database
- @param {string} databaseid Selected database identificator
- */
-alasql.use = function(databaseid) {
- if (!databaseid) {
- databaseid = alasql.DEFAULTDATABASEID;
- }
- if (alasql.useid === databaseid) {
- return;
- }
- alasql.useid = databaseid;
- var db = alasql.databases[alasql.useid];
- alasql.tables = db.tables;
- // alasql.fn = db.fn;
- db.resetSqlCache();
- if (alasql.options.usedbo) {
- alasql.databases.dbo = db; // Operator???
- }
-};
-
-alasql.autoval = function(tablename, colname, getNext, databaseid) {
- var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];
-
- if (!db.tables[tablename]) {
- throw new Error('Tablename not found: ' + tablename);
- }
-
- if (!db.tables[tablename].identities[colname]) {
- throw new Error('Colname not found: ' + colname);
- }
-
- if (getNext) {
- return db.tables[tablename].identities[colname].value || null;
- }
-
- return (
- db.tables[tablename].identities[colname].value -
- db.tables[tablename].identities[colname].step || null
- );
-};
-
-/**
- Run single SQL statement on current database
- */
-alasql.exec = function(sql, params, cb, scope) {
- // Avoid setting params if not needed even with callback
- if (typeof params === 'function') {
- scope = cb;
- cb = params;
- params = {};
- }
-
- delete alasql.error;
- params = params || {};
- if (alasql.options.errorlog) {
- try {
- return alasql.dexec(alasql.useid, sql, params, cb, scope);
- } catch (err) {
- alasql.error = err;
- if (cb) {
- cb(null, alasql.error);
- }
- }
- } else {
- return alasql.dexec(alasql.useid, sql, params, cb, scope);
- }
-};
-
-/**
- Run SQL statement on specific database
- */
-alasql.dexec = function(databaseid, sql, params, cb, scope) {
- var db = alasql.databases[databaseid];
- // if(db.databaseid != databaseid) console.trace('got!');
-
- var hh;
- // Create hash
- if (alasql.options.cache) {
- hh = hash(sql);
- var statement = db.sqlCache[hh];
- // If database structure was not changed since last time return cache
- if (statement && db.dbversion === statement.dbversion) {
- return statement(params, cb);
- }
- }
-
- // Create AST
- var ast = alasql.parse(sql);
- if (!ast.statements) {
- return;
- }
- if (0 === ast.statements.length) {
- return 0;
- } else if (1 === ast.statements.length) {
- if (ast.statements[0].compile) {
- // Compile and Execute
- var statement = ast.statements[0].compile(databaseid, params);
- if (!statement) {
- return;
- }
- statement.sql = sql;
- statement.dbversion = db.dbversion;
-
- if (alasql.options.cache) {
- // Secure sqlCache size
- if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
- db.resetSqlCache();
- }
- db.sqlCacheSize++;
- db.sqlCache[hh] = statement;
- }
- var res = (alasql.res = statement(params, cb, scope));
- return res;
- } else {
-
- alasql.precompile(ast.statements[0], alasql.useid, params);
- var res = (alasql.res = ast.statements[0].execute(databaseid, params, cb, scope));
- return res;
- }
- } else {
- // Multiple statements
- if (cb) {
- alasql.adrun(databaseid, ast, params, cb, scope);
- } else {
- return alasql.drun(databaseid, ast, params, cb, scope);
- }
- }
-};
-
-/**
- Run multiple statements and return array of results sync
- */
-alasql.drun = function(databaseid, ast, params, cb, scope) {
- var useid = alasql.useid;
-
- if (useid !== databaseid) {
- alasql.use(databaseid);
- }
-
- var res = [];
- for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {
- if (ast.statements[i]) {
- if (ast.statements[i].compile) {
- var statement = ast.statements[i].compile(alasql.useid);
- res.push((alasql.res = statement(params, null, scope)));
- } else {
- alasql.precompile(ast.statements[i], alasql.useid, params);
- res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));
- }
- }
- }
- if (useid !== databaseid) {
- alasql.use(useid);
- }
-
- if (cb) {
- cb(res);
- }
-
- alasql.res = res;
-
- return res;
-};
-
-/**
- Run multiple statements and return array of results async
- */
-alasql.adrun = function(databaseid, ast, params, cb, scope) {
- var idx = 0;
- var noqueries = ast.statements.length;
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
-
- // alasql.busy++;
- var useid = alasql.useid;
- if (useid !== databaseid) {
- alasql.use(databaseid);
- }
- var res = [];
-
- function adrunone(data) {
- if (data !== undefined) {
- res.push(data);
- }
- var astatement = ast.statements.shift();
- if (!astatement) {
- if (useid !== databaseid) {
- alasql.use(useid);
- }
- cb(res);
- // alasql.busy--;
- // if(alasql.busy<0) alasql.busy = 0;
- } else {
- if (astatement.compile) {
- var statement = astatement.compile(alasql.useid);
- statement(params, adrunone, scope);
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
- } else {
- alasql.precompile(ast.statements[0], alasql.useid, params);
- astatement.execute(alasql.useid, params, adrunone);
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
- }
- }
- }
-
- adrunone(); /** @todo Check, why data is empty here */
-};
-
-/**
- Compile statement to JavaScript function
- @param {string} sql SQL statement
- @param {string} databaseid Database identificator
- @return {functions} Compiled statement functions
-*/
-alasql.compile = function(sql, databaseid) {
- databaseid = databaseid || alasql.useid;
-
- var ast = alasql.parse(sql); // Create AST
-
- if (1 === ast.statements.length) {
- var statement = ast.statements[0].compile(databaseid);
- statement.promise = function(params) {
- return new Promise(function(resolve, reject) {
- statement(params, function(data, err) {
- if (err) {
- reject(err);
- } else {
- resolve(data);
- }
- });
- });
- };
-
- return statement;
-
- } else {
- throw new Error('Cannot compile, because number of statements in SQL is not equal to 1');
- }
-};
-
-//
-// Promises for AlaSQL
-//
-
-if (!utils.global.Promise) {
- if (utils.isNode) {
- //*not-for-browser/*
- utils.global.Promise = require('es6-promise').Promise;
- //*/
- } else {
- /*!
- * @overview es6-promise - a tiny implementation of Promises/A+.
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
- * @license Licensed under MIT license
- * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
- * @version 3.2.1
- */
- (function() {
- 'use strict';
- function t(t) {
- return 'function' == typeof t || ('object' == typeof t && null !== t);
- }
- function e(t) {
- return 'function' == typeof t;
- }
- function n(t) {
- G = t;
- }
- function r(t) {
- Q = t;
- }
- function o() {
- return function() {
- process.nextTick(a);
- };
- }
- function i() {
- return function() {
- B(a);
- };
- }
- function s() {
- var t = 0,
- e = new X(a),
- n = document.createTextNode('');
- return (
- e.observe(n, {characterData: !0}),
- function() {
- n.data = t = ++t % 2;
- }
- );
- }
- function u() {
- var t = new MessageChannel();
- return (
- (t.port1.onmessage = a),
- function() {
- t.port2.postMessage(0);
- }
- );
- }
- function c() {
- return function() {
- setTimeout(a, 1);
- };
- }
- function a() {
- for (var t = 0; J > t; t += 2) {
- var e = tt[t],
- n = tt[t + 1];
- e(n), (tt[t] = void 0), (tt[t + 1] = void 0);
- }
- J = 0;
- }
- function f() {
- try {
- var t = require,
- e = t('vertx');
- return (B = e.runOnLoop || e.runOnContext), i();
- } catch (n) {
- return c();
- }
- }
- function l(t, e) {
- var n = this,
- r = new this.constructor(p);
- void 0 === r[rt] && k(r);
- var o = n._state;
- if (o) {
- var i = arguments[o - 1];
- Q(function() {
- x(o, r, i, n._result);
- });
- } else E(n, r, t, e);
- return r;
- }
- function h(t) {
- var e = this;
- if (t && 'object' == typeof t && t.constructor === e) return t;
- var n = new e(p);
- return g(n, t), n;
- }
- function p() {}
- function _() {
- return new TypeError('You cannot resolve a promise with itself');
- }
- function d() {
- return new TypeError('A promises callback cannot return that same promise.');
- }
- function v(t) {
- try {
- return t.then;
- } catch (e) {
- return (ut.error = e), ut;
- }
- }
- function y(t, e, n, r) {
- try {
- t.call(e, n, r);
- } catch (o) {
- return o;
- }
- }
- function m(t, e, n) {
- Q(function(t) {
- var r = !1,
- o = y(
- n,
- e,
- function(n) {
- r || ((r = !0), e !== n ? g(t, n) : S(t, n));
- },
- function(e) {
- r || ((r = !0), j(t, e));
- },
- 'Settle: ' + (t._label || ' unknown promise')
- );
- !r && o && ((r = !0), j(t, o));
- }, t);
- }
- function b(t, e) {
- e._state === it
- ? S(t, e._result)
- : e._state === st
- ? j(t, e._result)
- : E(
- e,
- void 0,
- function(e) {
- g(t, e);
- },
- function(e) {
- j(t, e);
- }
- );
- }
- function w(t, n, r) {
- n.constructor === t.constructor && r === et && constructor.resolve === nt
- ? b(t, n)
- : r === ut
- ? j(t, ut.error)
- : void 0 === r
- ? S(t, n)
- : e(r)
- ? m(t, n, r)
- : S(t, n);
- }
- function g(e, n) {
- e === n ? j(e, _()) : t(n) ? w(e, n, v(n)) : S(e, n);
- }
- function A(t) {
- t._onerror && t._onerror(t._result), T(t);
- }
- function S(t, e) {
- t._state === ot &&
- ((t._result = e), (t._state = it), 0 !== t._subscribers.length && Q(T, t));
- }
- function j(t, e) {
- t._state === ot && ((t._state = st), (t._result = e), Q(A, t));
- }
- function E(t, e, n, r) {
- var o = t._subscribers,
- i = o.length;
- (t._onerror = null),
- (o[i] = e),
- (o[i + it] = n),
- (o[i + st] = r),
- 0 === i && t._state && Q(T, t);
- }
- function T(t) {
- var e = t._subscribers,
- n = t._state;
- if (0 !== e.length) {
- for (var r, o, i = t._result, s = 0; s < e.length; s += 3)
- (r = e[s]), (o = e[s + n]), r ? x(n, r, o, i) : o(i);
- t._subscribers.length = 0;
- }
- }
- function M() {
- this.error = null;
- }
- function P(t, e) {
- try {
- return t(e);
- } catch (n) {
- return (ct.error = n), ct;
- }
- }
- function x(t, n, r, o) {
- var i,
- s,
- u,
- c,
- a = e(r);
- if (a) {
- if (
- ((i = P(r, o)),
- i === ct ? ((c = !0), (s = i.error), (i = null)) : (u = !0),
- n === i)
- )
- return void j(n, d());
- } else (i = o), (u = !0);
- n._state !== ot ||
- (a && u ? g(n, i) : c ? j(n, s) : t === it ? S(n, i) : t === st && j(n, i));
- }
- function C(t, e) {
- try {
- e(
- function(e) {
- g(t, e);
- },
- function(e) {
- j(t, e);
- }
- );
- } catch (n) {
- j(t, n);
- }
- }
- function O() {
- return at++;
- }
- function k(t) {
- (t[rt] = at++), (t._state = void 0), (t._result = void 0), (t._subscribers = []);
- }
- function Y(t) {
- return new _t(this, t).promise;
- }
- function q(t) {
- var e = this;
- return new e(
- I(t)
- ? function(n, r) {
- for (var o = t.length, i = 0; o > i; i++)
- e.resolve(t[i]).then(n, r);
- }
- : function(t, e) {
- e(new TypeError('You must pass an array to race.'));
- }
- );
- }
- function F(t) {
- var e = this,
- n = new e(p);
- return j(n, t), n;
- }
- function D() {
- throw new TypeError(
- 'You must pass a resolver function as the first argument to the promise constructor'
- );
- }
- function K() {
- throw new TypeError(
- "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."
- );
- }
- function L(t) {
- (this[rt] = O()),
- (this._result = this._state = void 0),
- (this._subscribers = []),
- p !== t &&
- ('function' != typeof t && D(), this instanceof L ? C(this, t) : K());
- }
- function N(t, e) {
- (this._instanceConstructor = t),
- (this.promise = new t(p)),
- this.promise[rt] || k(this.promise),
- Array.isArray(e)
- ? ((this._input = e),
- (this.length = e.length),
- (this._remaining = e.length),
- (this._result = new Array(this.length)),
- 0 === this.length
- ? S(this.promise, this._result)
- : ((this.length = this.length || 0),
- this._enumerate(),
- 0 === this._remaining && S(this.promise, this._result)))
- : j(this.promise, U());
- }
- function U() {
- return new Error('Array Methods must be provided an Array');
- }
- function W() {
- var t;
- if ('undefined' != typeof global) t = global;
- else if ('undefined' != typeof self) t = self;
- else
- try {
- t = Function('return this')();
- } catch (e) {
- throw new Error(
- 'polyfill failed because global object is unavailable in this environment'
- );
- }
- var n = t.Promise;
- (!n ||
- '[object Promise]' !== Object.prototype.toString.call(n.resolve()) ||
- n.cast) &&
- (t.Promise = pt);
- }
- var z;
- z = Array.isArray
- ? Array.isArray
- : function(t) {
- return '[object Array]' === Object.prototype.toString.call(t);
- };
- var B,
- G,
- H,
- I = z,
- J = 0,
- Q = function(t, e) {
- (tt[J] = t), (tt[J + 1] = e), (J += 2), 2 === J && (G ? G(a) : H());
- },
- R = 'undefined' != typeof window ? window : void 0,
- V = R || {},
- X = V.MutationObserver || V.WebKitMutationObserver,
- Z =
- 'undefined' == typeof self &&
- 'undefined' != typeof process &&
- '[object process]' === {}.toString.call(process),
- $ =
- 'undefined' != typeof Uint8ClampedArray &&
- 'undefined' != typeof importScripts &&
- 'undefined' != typeof MessageChannel,
- tt = new Array(1e3);
- H = Z
- ? o()
- : X
- ? s()
- : $
- ? u()
- : void 0 === R && 'function' == typeof require
- ? f()
- : c();
- var et = l,
- nt = h,
- rt = Math.random()
- .toString(36)
- .substring(16),
- ot = void 0,
- it = 1,
- st = 2,
- ut = new M(),
- ct = new M(),
- at = 0,
- ft = Y,
- lt = q,
- ht = F,
- pt = L;
- (L.all = ft),
- (L.race = lt),
- (L.resolve = nt),
- (L.reject = ht),
- (L._setScheduler = n),
- (L._setAsap = r),
- (L._asap = Q),
- (L.prototype = {
- constructor: L,
- then: et,
- catch: function(t) {
- return this.then(null, t);
- },
- });
- var _t = N;
- (N.prototype._enumerate = function() {
- for (var t = this.length, e = this._input, n = 0; this._state === ot && t > n; n++)
- this._eachEntry(e[n], n);
- }),
- (N.prototype._eachEntry = function(t, e) {
- var n = this._instanceConstructor,
- r = n.resolve;
- if (r === nt) {
- var o = v(t);
- if (o === et && t._state !== ot) this._settledAt(t._state, e, t._result);
- else if ('function' != typeof o) this._remaining--, (this._result[e] = t);
- else if (n === pt) {
- var i = new n(p);
- w(i, t, o), this._willSettleAt(i, e);
- } else
- this._willSettleAt(
- new n(function(e) {
- e(t);
- }),
- e
- );
- } else this._willSettleAt(r(t), e);
- }),
- (N.prototype._settledAt = function(t, e, n) {
- var r = this.promise;
- r._state === ot &&
- (this._remaining--, t === st ? j(r, n) : (this._result[e] = n)),
- 0 === this._remaining && S(r, this._result);
- }),
- (N.prototype._willSettleAt = function(t, e) {
- var n = this;
- E(
- t,
- void 0,
- function(t) {
- n._settledAt(it, e, t);
- },
- function(t) {
- n._settledAt(st, e, t);
- }
- );
- });
- var dt = W,
- vt = {Promise: pt, polyfill: dt};
- 'function' == typeof define && define.amd
- ? define(function() {
- return vt;
- })
- : 'undefined' != typeof module && module.exports
- ? (module.exports = vt)
- : 'undefined' != typeof this && (this.ES6Promise = vt),
- dt();
- }.call(this));
-
- }
-}
-
-var promiseExec = function(sql, params, counterStep, counterTotal) {
- return new utils.global.Promise(function(resolve, reject) {
- alasql(sql, params, function(data, err) {
- if (err) {
- reject(err);
- } else {
- if (counterStep && counterTotal && alasql.options.progress !== false) {
- alasql.options.progress(counterStep, counterTotal);
- }
- resolve(data);
- }
- });
- });
-};
-
-var promiseAll = function(sqlParamsArray) {
- if (sqlParamsArray.length < 1) {
- return;
- }
-
- var active, sql, params;
-
- var execArray = [];
-
- for (var i = 0; i < sqlParamsArray.length; i++) {
- active = sqlParamsArray[i];
-
- if (typeof active === 'string') {
- active = [active];
- }
-
- if (!utils.isArray(active) || active.length < 1 || 2 < active.length) {
- throw new Error('Error in .promise parameter');
- }
-
- sql = active[0];
- params = active[1] || undefined;
-
- execArray.push(promiseExec(sql, params, i, sqlParamsArray.length));
- }
-
- return utils.global.Promise.all(execArray);
-};
-
-alasql.promise = function(sql, params) {
- if (typeof Promise === 'undefined') {
- throw new Error('Please include a Promise/A+ library');
- }
-
- if (typeof sql === 'string') {
- return promiseExec(sql, params);
- }
-
- if (!utils.isArray(sql) || sql.length < 1 || typeof params !== 'undefined') {
- throw new Error('Error in .promise parameters');
- }
- return promiseAll(sql);
-};
-
-/*
-//
-// Database class for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Main Database class
-
-/**
- @class Database
- */
-
-var Database = (alasql.Database = function(databaseid) {
- var self = this;
-
- // self.prototype = this;
-
- if (self === alasql) {
- if (databaseid) {
- // if(alasql.databases[databaseid]) {
- self = alasql.databases[databaseid];
- // } else {
- alasql.databases[databaseid] = self;
- // }
- if (!self) {
- throw new Error('Database "' + databaseid + '" not found');
- }
- } else {
- // Create new database (or get alasql?)
- self = alasql.databases.alasql;
- // For SQL Server examples, USE tempdb
- if (alasql.options.tsql) {
- alasql.databases.tempdb = alasql.databases.alasql;
- }
- // self = new Database(databaseid); // to call without new
- }
- }
- if (!databaseid) {
- databaseid = 'db' + alasql.databasenum++; // Random name
- }
-
- // Step 1
- self.databaseid = databaseid;
- alasql.databases[databaseid] = self;
- self.dbversion = 0;
-
- //Steps 2-5
- self.tables = {};
- self.views = {};
- self.triggers = {};
- self.indices = {};
-
- // Step 6: Objects storage
- self.objects = {};
- self.counter = 0;
-
- self.resetSqlCache();
- return self;
-});
-
-/**
- Reset SQL statements cache
- */
-
-Database.prototype.resetSqlCache = function() {
- this.sqlCache = {}; // Cache for compiled SQL statements
- this.sqlCacheSize = 0;
-};
-
-// Main SQL function
-
-/**
- Run SQL statement on database
- @param {string} sql SQL statement
- @param [object] params Parameters
- @param {function} cb callback
- */
-
-Database.prototype.exec = function(sql, params, cb) {
- return alasql.dexec(this.databaseid, sql, params, cb);
-};
-
-Database.prototype.autoval = function(tablename, colname, getNext) {
- return alasql.autoval(tablename, colname, getNext, this.databaseid);
-};
-
-// Aliases like MS SQL
-
-/*
-//
-// Transactio class for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-Database.prototype.transaction = function(cb) {
- var tx = new alasql.Transaction(this.databaseid);
- var res = cb(tx);
- return res;
-};
-
-// Transaction class (for WebSQL compatibility)
-
-/**
- Transaction class
- @class Transaction
- */
-
-var Transaction = (alasql.Transaction = function(databaseid) {
- this.transactionid = Date.now();
- this.databaseid = databaseid;
- this.commited = false;
- this.dbversion = alasql.databases[databaseid].dbversion;
- // this.bank = cloneDeep(alasql.databases[databaseid]);
- this.bank = JSON.stringify(alasql.databases[databaseid]);
- // TODO CLone Tables with insertfns
-
- return this;
-});
-
-// Main class
-
-// Commit
-
-/**
- Commit transaction
- */
-Transaction.prototype.commit = function() {
- this.commited = true;
- alasql.databases[this.databaseid].dbversion = Date.now();
- delete this.bank;
-};
-
-// Rollback
-/**
- Rollback transaction
- */
-Transaction.prototype.rollback = function() {
- if (!this.commited) {
- alasql.databases[this.databaseid] = JSON.parse(this.bank);
- // alasql.databases[this.databaseid].tables = this.bank;
- // alasql.databases[this.databaseid].dbversion = this.dbversion;
- delete this.bank;
- } else {
- throw new Error('Transaction already commited');
- }
-};
-
-// Transactions stub
-
-/**
- Execute SQL statement
- @param {string} sql SQL statement
- @param {object} params Parameters
- @param {function} cb Callback function
- @return result
- */
-Transaction.prototype.exec = function(sql, params, cb) {
-
- return alasql.dexec(this.databaseid, sql, params, cb);
-};
-
-Transaction.prototype.executeSQL = Transaction.prototype.exec;
-
-/*
-//
-// Table class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-var Table = (alasql.Table = function(params) {
- // Step 1: Data array
- this.data = [];
-
- // Step 2: Columns
- this.columns = [];
- this.xcolumns = {};
-
- // Step 3: indices
- this.inddefs = {};
- this.indices = {};
- this.uniqs = {};
- this.uniqdefs = {};
-
- // Step 4: identities
- this.identities = {};
-
- // Step 5: checkfn...
- this.checks = [];
- this.checkfns = []; // For restore... to be done...
-
- // Step 6: INSERT/DELETE/UPDATE
-
- // Step 7: Triggers...
- // Create trigger hubs
- this.beforeinsert = {};
- this.afterinsert = {};
- this.insteadofinsert = {};
-
- this.beforedelete = {};
- this.afterdelete = {};
- this.insteadofdelete = {};
-
- this.beforeupdate = {};
- this.afterupdate = {};
- this.insteadofupdate = {};
-
- // Done
- extend(this, params);
-});
-
-Table.prototype.indexColumns = function() {
- var self = this;
- self.xcolumns = {};
- self.columns.forEach(function(col) {
- self.xcolumns[col.columnid] = col;
- });
-};
-
-/*
-//
-// View class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-var View = (alasql.View = function(params) {
- // Columns
- this.columns = [];
- this.xcolumns = {};
- // Data array
- this.query = [];
-
- extend(this, params);
-});
-
-/*
-//
-// Query class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-
-/**
- @class Query Main query class
- */
-var Query = (alasql.Query = function(params) {
- this.alasql = alasql;
-
- // Columns
- this.columns = [];
- this.xcolumns = {};
- this.selectGroup = [];
- this.groupColumns = {};
- // Data array
- extend(this, params);
-});
-
-/**
- @class Recordset data object
- */
-var Recordset = (alasql.Recordset = function(params) {
- // Data array
- extend(this, params);
-});
-
-/*
-//
-// Parser helper for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-var yy = (alasqlparser.yy = alasql.yy = {});
-
-// Utility
-yy.extend = extend;
-// Option for case sensitive
-yy.casesensitive = alasql.options.casesensitive;
-
-// Base class for all yy classes
-var Base = (yy.Base = function(params) {
- return yy.extend(this, params);
-});
-
-Base.prototype.toString = function() {};
-Base.prototype.toType = function() {};
-Base.prototype.toJS = function() {};
-
-Base.prototype.compile = returnUndefined;
-Base.prototype.exec = function() {};
-
-Base.prototype.compile = returnUndefined;
-Base.prototype.exec = function() {};
-
-/*
-//
-// Statements class for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Statements container
-yy.Statements = function(params) {
- return yy.extend(this, params);
-};
-
-yy.Statements.prototype.toString = function() {
- return this.statements
- .map(function(st) {
- return st.toString();
- })
- .join('; ');
-};
-
-// Compile array of statements into single statement
-yy.Statements.prototype.compile = function(db) {
- var statements = this.statements.map(function(st) {
- return st.compile(db);
- });
- if (statements.length === 1) {
- return statements[0];
- } else {
- return function(params, cb) {
- var res = statements.map(function(st) {
- return st(params);
- });
- if (cb) {
- cb(res);
- }
- return res;
- };
- }
-};
-
-/* global alasql */
-/* global yy */
-/*
-//
-// SEARCH for Alasql.js
-// Date: 04.05.2015
-// (c) 2015, Andrey Gershun
-//
-*/
-
-function doSearch(databaseid, params, cb) {
- var res;
- var stope = {};
- var fromdata;
- var selectors = cloneDeep(this.selectors);
-
- function processSelector(selectors, sidx, value) {
- // var val;
-
- var val, // temp values use many places
- nest, // temp value used many places
- r, // temp value used many places
- sel = selectors[sidx];
-
- // if(!alasql.srch[sel.srchid]) {
- // throw new Error('Selector "'+sel.srchid+'" not found');
- // };
-
- var SECURITY_BREAK = 100000;
-
- if (sel.selid) {
- // TODO Process Selector
- if (sel.selid === 'PATH') {
- var queue = [{node: value, stack: []}];
- var visited = {};
- //var path = [];
- var objects = alasql.databases[alasql.useid].objects;
- while (queue.length > 0) {
- var q = queue.shift();
- var node = q.node;
- var stack = q.stack;
- var r = processSelector(sel.args, 0, node);
- if (r.length > 0) {
- if (sidx + 1 + 1 > selectors.length) {
- return stack;
- } else {
- var rv = [];
- if (stack && stack.length > 0) {
- stack.forEach(function(stv) {
- rv = rv.concat(processSelector(selectors, sidx + 1, stv));
- });
- }
- return rv;
- // return processSelector(selectors,sidx+1,stack);
- }
- } else {
- if (typeof visited[node.$id] !== 'undefined') {
- continue;
- } else {
-
- visited[node.$id] = true;
- if (node.$out && node.$out.length > 0) {
- node.$out.forEach(function(edgeid) {
- var edge = objects[edgeid];
- var stack2 = stack.concat(edge);
- stack2.push(objects[edge.$out[0]]);
- queue.push({
- node: objects[edge.$out[0]],
- stack: stack2,
- });
- });
- }
- }
- }
- }
- // Else return fail
- return [];
- }
- if (sel.selid === 'NOT') {
- var nest = processSelector(sel.args, 0, value);
-
- if (nest.length > 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'DISTINCT') {
- var nest;
- if (typeof sel.args === 'undefined' || sel.args.length === 0) {
- nest = distinctArray(value);
- } else {
- nest = processSelector(sel.args, 0, value);
- }
- if (nest.length === 0) {
- return [];
- } else {
- var res = distinctArray(nest);
- if (sidx + 1 + 1 > selectors.length) {
- return res;
- } else {
- return processSelector(selectors, sidx + 1, res);
- }
- }
- } else if (sel.selid === 'AND') {
- var res = true;
- sel.args.forEach(function(se) {
- res = res && processSelector(se, 0, value).length > 0;
- });
- if (!res) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'OR') {
- var res = false;
- sel.args.forEach(function(se) {
- res = res || processSelector(se, 0, value).length > 0;
- });
- if (!res) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'ALL') {
- var nest = processSelector(sel.args[0], 0, value);
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return nest;
- } else {
- return processSelector(selectors, sidx + 1, nest);
- }
- }
- } else if (sel.selid === 'ANY') {
- var nest = processSelector(sel.args[0], 0, value);
-
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [nest[0]];
- } else {
- return processSelector(selectors, sidx + 1, [nest[0]]);
- }
- }
- } else if (sel.selid === 'UNIONALL') {
- var nest = [];
- sel.args.forEach(function(se) {
- nest = nest.concat(processSelector(se, 0, value));
- });
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return nest;
- } else {
- return processSelector(selectors, sidx + 1, nest);
- }
- }
- } else if (sel.selid === 'UNION') {
- var nest = [];
- sel.args.forEach(function(se) {
- nest = nest.concat(processSelector(se, 0, value));
- });
- var nest = distinctArray(nest);
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return nest;
- } else {
- return processSelector(selectors, sidx + 1, nest);
- }
- }
- } else if (sel.selid === 'IF') {
- var nest = processSelector(sel.args, 0, value);
-
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'REPEAT') {
-
- var lvar,
- lmax,
- lmin = sel.args[0].value;
- if (!sel.args[1]) {
- lmax = lmin; // Add security break
- } else {
- lmax = sel.args[1].value;
- }
- if (sel.args[2]) {
- lvar = sel.args[2].variable;
- }
- //var lsel = sel.sels;
-
- var retval = [];
-
- if (lmin === 0) {
- if (sidx + 1 + 1 > selectors.length) {
- retval = [value];
- } else {
- if (lvar) {
- alasql.vars[lvar] = 0;
- }
- retval = retval.concat(processSelector(selectors, sidx + 1, value));
- }
- }
-
- // var nests = processSelector(sel.sels,0,value).slice();
- if (lmax > 0) {
- var nests = [{value: value, lvl: 1}];
-
- var i = 0;
- while (nests.length > 0) {
- var nest = nests[0];
-
- nests.shift();
- if (nest.lvl <= lmax) {
- if (lvar) {
- alasql.vars[lvar] = nest.lvl;
- }
-
- var nest1 = processSelector(sel.sels, 0, nest.value);
-
- nest1.forEach(function(n) {
- nests.push({value: n, lvl: nest.lvl + 1});
- });
- if (nest.lvl >= lmin) {
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nest1);
- //return nests;
- } else {
- nest1.forEach(function(n) {
- retval = retval.concat(
- processSelector(selectors, sidx + 1, n)
- );
- });
- }
- }
- }
- // Security brake
- i++;
- if (i > SECURITY_BREAK) {
- throw new Error('Security brake. Number of iterations = ' + i);
- }
- }
- }
- return retval;
- } else if (sel.selid === 'OF') {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- var r1 = [];
- Object.keys(value).forEach(function(keyv) {
- alasql.vars[sel.args[0].variable] = keyv;
- r1 = r1.concat(processSelector(selectors, sidx + 1, value[keyv]));
- });
- return r1;
- }
- } else if (sel.selid === 'TO') {
-
- var oldv = alasql.vars[sel.args[0]];
- var newv = [];
- if (oldv !== undefined) {
-
- newv = oldv.slice(0);
-
- } else {
- newv = [];
- }
- newv.push(value);
-
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- alasql.vars[sel.args[0]] = newv;
- var r1 = processSelector(selectors, sidx + 1, value);
-
- alasql.vars[sel.args[0]] = oldv;
- return r1;
- }
-
- } else if (sel.selid === 'ARRAY') {
- var nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest;
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'SUM') {
- var nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- var val = nest.reduce(function(sum, current) {
- return sum + current;
- }, 0);
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'AVG') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val =
- nest.reduce(function(sum, current) {
- return sum + current;
- }, 0) / nest.length;
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'COUNT') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest.length;
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'FIRST') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest[0];
- } else {
- return [];
- }
-
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'LAST') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest[nest.length - 1];
- } else {
- return [];
- }
-
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'MIN') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length === 0) {
- return [];
- }
- var val = nest.reduce(function(min, current) {
- return Math.min(min, current);
- }, Infinity);
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'MAX') {
- var nest = processSelector(sel.args, 0, value);
- if (nest.length === 0) {
- return [];
- }
- var val = nest.reduce(function(max, current) {
- return Math.max(max, current);
- }, -Infinity);
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'PLUS') {
- var retval = [];
- // retval = retval.concat(processSelector(selectors,sidx+1,n))
- var nests = processSelector(sel.args, 0, value).slice();
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nests);
- } else {
- nests.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
-
- var i = 0;
- while (nests.length > 0) {
- // nest = nests[0];
- // nests.shift();
- var nest = nests.shift();
-
- nest = processSelector(sel.args, 0, nest);
-
- nests = nests.concat(nest);
-
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nest);
- //return retval;
- } else {
- nest.forEach(function(n) {
-
- var rn = processSelector(selectors, sidx + 1, n);
-
- retval = retval.concat(rn);
- });
- }
-
- // Security brake
- i++;
- if (i > SECURITY_BREAK) {
- throw new Error('Security brake. Number of iterations = ' + i);
- }
- }
- return retval;
-
- } else if (sel.selid === 'STAR') {
- var retval = [];
- retval = processSelector(selectors, sidx + 1, value);
- var nests = processSelector(sel.args, 0, value).slice();
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nests);
- //return nests;
- } else {
- nests.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
- var i = 0;
- while (nests.length > 0) {
- var nest = nests[0];
- nests.shift();
-
- nest = processSelector(sel.args, 0, nest);
-
- nests = nests.concat(nest);
-
- if (sidx + 1 + 1 <= selectors.length) {
- nest.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
-
- // Security brake
- i++;
- if (i > SECURITY_BREAK) {
- throw new Error('Loop brake. Number of iterations = ' + i);
- }
- }
-
- return retval;
- } else if (sel.selid === 'QUESTION') {
- var retval = [];
- retval = retval.concat(processSelector(selectors, sidx + 1, value));
- var nest = processSelector(sel.args, 0, value);
- if (sidx + 1 + 1 <= selectors.length) {
- nest.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
- return retval;
- } else if (sel.selid === 'WITH') {
- var nest = processSelector(sel.args, 0, value);
-
- if (nest.length === 0) {
- return [];
- } else {
-
- var r = {status: 1, values: nest};
- }
- } else if (sel.selid === 'ROOT') {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, fromdata);
- }
- } else {
- throw new Error('Wrong selector ' + sel.selid);
- }
- } else if (sel.srchid) {
- var r = alasql.srch[sel.srchid.toUpperCase()](value, sel.args, stope, params);
-
- } else {
- throw new Error('Selector not found');
- }
-
- if (typeof r === 'undefined') {
- r = {status: 1, values: [value]};
- }
-
- var res = [];
- if (r.status === 1) {
- var arr = r.values;
-
- if (sidx + 1 + 1 > selectors.length) {
- // if(sidx+1+1 > selectors.length) {
- res = arr;
-
- } else {
- for (var i = 0; i < r.values.length; i++) {
- res = res.concat(processSelector(selectors, sidx + 1, arr[i]));
- }
- }
- }
- return res;
- }
-
- if (selectors !== undefined && selectors.length > 0) {
-
- if (
- selectors &&
- selectors[0] &&
- selectors[0].srchid === 'PROP' &&
- selectors[0].args &&
- selectors[0].args[0]
- ) {
-
- if (selectors[0].args[0].toUpperCase() === 'XML') {
- stope.mode = 'XML';
- selectors.shift();
- } else if (selectors[0].args[0].toUpperCase() === 'HTML') {
- stope.mode = 'HTML';
- selectors.shift();
- } else if (selectors[0].args[0].toUpperCase() === 'JSON') {
- stope.mode = 'JSON';
- selectors.shift();
- }
- }
- if (selectors.length > 0 && selectors[0].srchid === 'VALUE') {
- stope.value = true;
- selectors.shift();
- }
- }
-
- if (this.from instanceof yy.Column) {
- var dbid = this.from.databaseid || databaseid;
- fromdata = alasql.databases[dbid].tables[this.from.columnid].data;
- //selectors.unshift({srchid:'CHILD'});
- } else if (this.from instanceof yy.FuncValue && alasql.from[this.from.funcid.toUpperCase()]) {
- var args = this.from.args.map(function(arg) {
- var as = arg.toJS();
-
- var fn = new Function('params,alasql', 'var y;return ' + as).bind(this);
- return fn(params, alasql);
- });
-
- fromdata = alasql.from[this.from.funcid.toUpperCase()].apply(this, args);
-
- } else if (typeof this.from === 'undefined') {
- fromdata = alasql.databases[databaseid].objects;
- } else {
- var fromfn = new Function('params,alasql', 'var y;return ' + this.from.toJS());
- fromdata = fromfn(params, alasql);
- // Check for Mogo Collections
- if (
- typeof Mongo === 'object' &&
- typeof Mongo.Collection !== 'object' &&
- fromdata instanceof Mongo.Collection
- ) {
- fromdata = fromdata.find().fetch();
- }
-
- // if(typeof fromdata == 'object' && Array.isArray(fromdata)) {
- // selectors.unshift({srchid:'CHILD'});
- // }
- }
-
- // If source data is array than first step is to run over array
- // var selidx = 0;
- // var selvalue = fromdata;
-
- if (selectors !== undefined && selectors.length > 0) {
- // Init variables for TO() selectors
-
- if (false) {
- selectors.forEach(function(selector) {
- if (selector.srchid === 'TO') {
- //* @todo move to TO selector
- alasql.vars[selector.args[0]] = [];
- // TODO - process nested selectors
- }
- });
- }
-
- res = processSelector(selectors, 0, fromdata);
- } else {
- res = fromdata;
- }
-
- if (this.into) {
- var a1, a2;
- if (typeof this.into.args[0] !== 'undefined') {
- a1 = new Function('params,alasql', 'var y;return ' + this.into.args[0].toJS())(
- params,
- alasql
- );
- }
- if (typeof this.into.args[1] !== 'undefined') {
- a2 = new Function('params,alasql', 'var y;return ' + this.into.args[1].toJS())(
- params,
- alasql
- );
- }
- res = alasql.into[this.into.funcid.toUpperCase()](a1, a2, res, [], cb);
- } else {
- if (stope.value && res.length > 0) {
- res = res[0];
- }
- if (cb) {
- res = cb(res);
- }
- }
- return res;
-}
-
-/**
- Search class
- @class
- @example
- SEARCH SUM(/a) FROM ? -- search over parameter object
-*/
-
-yy.Search = function(params) {
- return yy.extend(this, params);
-};
-
-yy.Search.prototype.toString = function() {
- var s = 'SEARCH' + ' ';
- if (this.selectors) {
- s += this.selectors.toString();
- }
- if (this.from) {
- s += 'FROM' + ' ' + this.from.toString();
- }
-
- return s;
-};
-
-yy.Search.prototype.toJS = function(context) {
-
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
- // var s = '';
- return s;
-};
-
-yy.Search.prototype.compile = function(databaseid) {
- var dbid = databaseid;
- var self = this;
-
- var statement = function(params, cb) {
-
- var res;
- doSearch.bind(self)(dbid, params, function(data) {
-
- res = modify(statement.query, data);
-
- if (cb) {
- res = cb(res);
- }
- });
-
- // if(cb) res = cb(res);
- return res;
- };
- statement.query = {};
- return statement;
-};
-
-// List of search functions
-alasql.srch = {};
-
-alasql.srch.PROP = function(val, args, stope) {
-
- if (stope.mode === 'XML') {
- var arr = [];
- val.children.forEach(function(v) {
- if (v.name.toUpperCase() === args[0].toUpperCase()) {
- arr.push(v);
- }
- });
- if (arr.length > 0) {
- return {status: 1, values: arr};
- } else {
- return {status: -1, values: []};
- }
- } else {
- if (
- typeof val !== 'object' ||
- val === null ||
- typeof args !== 'object' ||
- typeof val[args[0]] === 'undefined'
- ) {
- return {status: -1, values: []};
- } else {
- return {status: 1, values: [val[args[0]]]};
- }
- }
-};
-
-alasql.srch.APROP = function(val, args) {
- if (
- typeof val !== 'object' ||
- val === null ||
- typeof args !== 'object' ||
- typeof val[args[0]] === 'undefined'
- ) {
- return {status: 1, values: [undefined]};
- } else {
- return {status: 1, values: [val[args[0]]]};
- }
-};
-
-// Test expression
-alasql.srch.EQ = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (val === exprfn(val, alasql, params)) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Test expression
-alasql.srch.LIKE = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (
- val.toUpperCase().match(
- new RegExp(
- '^' +
- exprfn(val, alasql, params)
- .toUpperCase()
- .replace(/%/g, '.*')
- .replace(/\?|_/g, '.') +
- '$'
- ),
- 'g'
- )
- ) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.ATTR = function(val, args, stope) {
- if (stope.mode === 'XML') {
- if (typeof args === 'undefined') {
- return {status: 1, values: [val.attributes]};
- } else {
- if (
- typeof val === 'object' &&
- typeof val.attributes === 'object' &&
- typeof val.attributes[args[0]] !== 'undefined'
- ) {
- return {status: 1, values: [val.attributes[args[0]]]};
- } else {
- return {status: -1, values: []};
- }
- }
- } else {
- throw new Error('ATTR is not using in usual mode');
- }
-};
-
-alasql.srch.CONTENT = function(val, args, stope) {
- if (stope.mode === 'XML') {
- return {status: 1, values: [val.content]};
- } else {
- throw new Error('ATTR is not using in usual mode');
- }
-};
-
-alasql.srch.SHARP = function(val, args) {
- var obj = alasql.databases[alasql.useid].objects[args[0]];
- if (typeof val !== 'undefined' && val === obj) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.PARENT = function(/*val,args,stope*/) {
- // TODO: implement
- console.error('PARENT not implemented', arguments);
-
- return {status: -1, values: []};
-};
-
-alasql.srch.CHILD = function(val, args, stope) {
-
- if (typeof val === 'object') {
- if (Array.isArray(val)) {
- return {status: 1, values: val};
- } else {
- if (stope.mode === 'XML') {
- return {
- status: 1,
- values: Object.keys(val.children).map(function(key) {
- return val.children[key];
- }),
- };
- } else {
- return {
- status: 1,
- values: Object.keys(val).map(function(key) {
- return val[key];
- }),
- };
- }
- }
- } else {
- // If primitive value
- return {status: 1, values: []};
- }
-};
-
-// Return all keys
-alasql.srch.KEYS = function(val) {
- if (typeof val === 'object' && val !== null) {
- return {status: 1, values: Object.keys(val)};
- } else {
- // If primitive value
- return {status: 1, values: []};
- }
-};
-
-// Test expression
-alasql.srch.WHERE = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (exprfn(val, alasql, params)) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.NAME = function(val, args) {
- if (val.name === args[0]) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.CLASS = function(val, args) {
-
- // Please avoid `===` here
- if (val.$class == args) {
- // jshint ignore:line
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.VERTEX = function(val) {
- if (val.$node === 'VERTEX') {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.INSTANCEOF = function(val, args) {
- if (val instanceof alasql.fn[args[0]]) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.EDGE = function(val) {
- if (val.$node === 'EDGE') {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.EX = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- return {status: 1, values: [exprfn(val, alasql, params)]};
-};
-
-// Transform expression
-alasql.srch.RETURN = function(val, args, stope, params) {
- var res = {};
- if (args && args.length > 0) {
- args.forEach(function(arg) {
- var exprs = arg.toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (typeof arg.as === 'undefined') {
- arg.as = arg.toString();
- }
- res[arg.as] = exprfn(val, alasql, params);
- });
- }
- return {status: 1, values: [res]};
-};
-
-// Transform expression
-alasql.srch.REF = function(val) {
- return {status: 1, values: [alasql.databases[alasql.useid].objects[val]]};
-};
-
-// Transform expression
-alasql.srch.OUT = function(val) {
- if (val.$out && val.$out.length > 0) {
- var res = val.$out.map(function(v) {
- return alasql.databases[alasql.useid].objects[v];
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.OUTOUT = function(val) {
- if (val.$out && val.$out.length > 0) {
- var res = [];
- val.$out.forEach(function(v) {
- var av = alasql.databases[alasql.useid].objects[v];
- if (av && av.$out && av.$out.length > 0) {
- av.$out.forEach(function(vv) {
- res = res.concat(alasql.databases[alasql.useid].objects[vv]);
- });
- }
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.IN = function(val) {
- if (val.$in && val.$in.length > 0) {
- var res = val.$in.map(function(v) {
- return alasql.databases[alasql.useid].objects[v];
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.ININ = function(val) {
- if (val.$in && val.$in.length > 0) {
- var res = [];
- val.$in.forEach(function(v) {
- var av = alasql.databases[alasql.useid].objects[v];
- if (av && av.$in && av.$in.length > 0) {
- av.$in.forEach(function(vv) {
- res = res.concat(alasql.databases[alasql.useid].objects[vv]);
- });
- }
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.AS = function(val, args) {
- alasql.vars[args[0]] = val;
- return {status: 1, values: [val]};
-};
-
-// Transform expression
-alasql.srch.AT = function(val, args) {
- var v = alasql.vars[args[0]];
- return {status: 1, values: [v]};
-};
-
-// Transform expression
-alasql.srch.CLONEDEEP = function(val) {
- // TODO something wrong
- var z = cloneDeep(val);
- return {status: 1, values: [z]};
-};
-
-// // Transform expression
-// alasql.srch.DELETE = function(val,args) {
-
-// };
-
-// Transform expression
-alasql.srch.SET = function(val, args, stope, params) {
-
- var s = args
- .map(function(st) {
-
- if (st.method === '@') {
- return "alasql.vars['" + st.variable + "']=" + st.expression.toJS('x', '');
- } else if (st.method === '$') {
- return "params['" + st.variable + "']=" + st.expression.toJS('x', '');
- } else {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- }
- })
- .join(';');
- var setfn = new Function('x,params,alasql', s);
-
- setfn(val, params, alasql);
-
- return {status: 1, values: [val]};
-};
-
-alasql.srch.ROW = function(val, args, stope, params) {
- var s = 'var y;return [';
-
- s += args
- .map(function(arg) {
- return arg.toJS('x', '');
- })
- .join(',');
- s += ']';
- var setfn = new Function('x,params,alasql', s);
- var rv = setfn(val, params, alasql);
-
- return {status: 1, values: [rv]};
-};
-
-alasql.srch.D3 = function(val) {
- if (val.$node !== 'VERTEX' && val.$node === 'EDGE') {
- val.source = val.$in[0];
- val.target = val.$out[0];
- }
-
- return {status: 1, values: [val]};
-};
-
-var compileSearchOrder = function(order) {
- if (order) {
-
- if (
- order &&
- order.length === 1 &&
- order[0].expression &&
- typeof order[0].expression === 'function'
- ) {
-
- var func = order[0].expression;
-
- return function(a, b) {
- var ra = func(a),
- rb = func(b);
- if (ra > rb) {
- return 1;
- }
- if (ra === rb) {
- return 0;
- }
- return -1;
- };
- }
-
- var s = '';
- var sk = '';
- order.forEach(function(ord) {
-
- // Date conversion
- var dg = '';
-
- if (ord.expression instanceof yy.NumValue) {
- ord.expression = self.columns[ord.expression.value - 1];
- }
-
- if (ord.expression instanceof yy.Column) {
- var columnid = ord.expression.columnid;
-
- if (alasql.options.valueof) {
- dg = '.valueOf()'; // TODO Check
- }
- // COLLATE NOCASE
- if (ord.nocase) {
- dg += '.toUpperCase()';
- }
-
- if (columnid === '_') {
- s +=
- 'if(a' +
- dg +
- (ord.direction === 'ASC' ? '>' : '<') +
- 'b' +
- dg +
- ')return 1;';
- s += 'if(a' + dg + '==b' + dg + '){';
- } else {
- s +=
- "if((a['" +
- columnid +
- "']||'')" +
- dg +
- (ord.direction === 'ASC' ? '>' : '<') +
- "(b['" +
- columnid +
- "']||'')" +
- dg +
- ')return 1;';
- s +=
- "if((a['" +
- columnid +
- "']||'')" +
- dg +
- "==(b['" +
- columnid +
- "']||'')" +
- dg +
- '){';
- }
- } else {
- dg = '.valueOf()';
- // COLLATE NOCASE
- if (ord.nocase) {
- dg += '.toUpperCase()';
- }
- s +=
- 'if((' +
- ord.toJS('a', '') +
- "||'')" +
- dg +
- (ord.direction === 'ASC' ? '>(' : '<(') +
- ord.toJS('b', '') +
- "||'')" +
- dg +
- ')return 1;';
- s +=
- 'if((' +
- ord.toJS('a', '') +
- "||'')" +
- dg +
- '==(' +
- ord.toJS('b', '') +
- "||'')" +
- dg +
- '){';
- }
-
- // TODO Add date comparision
- // s += 'if(a[\''+columnid+"']"+dg+(ord.direction == 'ASC'?'>':'<')+'b[\''+columnid+"']"+dg+')return 1;';
- // s += 'if(a[\''+columnid+"']"+dg+'==b[\''+columnid+"']"+dg+'){';
- // }
- sk += '}';
- });
- s += 'return 0;';
- s += sk + 'return -1';
-
- return new Function('a,b', s);
- }
-};
-
-alasql.srch.ORDERBY = function(val, args /*,stope*/) {
-
- var res = val.sort(compileSearchOrder(args));
- return {status: 1, values: res};
-};
-
-// Main query procedure
-function queryfn(query, oldscope, cb, A, B) {
- var aaa = query.sources.length;
-
- var ms;
- query.sourceslen = query.sources.length;
- var slen = query.sourceslen;
- query.query = query; // TODO Remove to prevent memory leaks
- query.A = A;
- query.B = B;
- query.cb = cb;
- query.oldscope = oldscope;
-
- // Run all subqueries before main statement
- if (query.queriesfn) {
- query.sourceslen += query.queriesfn.length;
- slen += query.queriesfn.length;
-
- query.queriesdata = [];
-
- query.queriesfn.forEach(function(q, idx) {
- // if(query.explain) ms = Date.now();
-
- // var res = flatArray(q(query.params,null,queryfn2,(-idx-1),query));
-
- // var res = flatArray(queryfn(q.query,null,queryfn2,(-idx-1),query));
-
- q.query.params = query.params;
- // query.queriesdata[idx] =
-
- // if(false) {
- // queryfn(q.query,query.oldscope,queryfn2,(-idx-1),query);
- // } else {
- queryfn2([], -idx - 1, query);
- // }
-
- // query.explaination.push({explid: query.explid++, description:'Query '+idx,ms:Date.now()-ms});
- // query.queriesdata[idx] = res;
- // return res;
- });
-
- }
-
- var scope;
- if (!oldscope) scope = {};
- else scope = cloneDeep(oldscope);
- query.scope = scope;
-
- // First - refresh data sources
-
- var result;
- query.sources.forEach(function(source, idx) {
- // source.data = query.database.tables[source.tableid].data;
-
- source.query = query;
- var rs = source.datafn(query, query.params, queryfn2, idx, alasql);
-
- if (typeof rs !== 'undefined') {
- // TODO - this is a hack: check if result is array - check all cases and
- // make it more logical
- if ((query.intofn || query.intoallfn) && Array.isArray(rs)) rs = rs.length;
- result = rs;
- }
- //
- // Ugly hack to use in query.wherefn and source.srcwherefns functions
- // constructions like this.queriesdata['test'].
- // I can elimite it with source.srcwherefn.bind(this)()
- // but it may be slow.
- //
- source.queriesdata = query.queriesdata;
- });
- if (query.sources.length == 0 || 0 === slen) result = queryfn3(query);
-
- return result;
-}
-
-function queryfn2(data, idx, query) {
-
- //console.trace();
-
- if (idx >= 0) {
- var source = query.sources[idx];
- source.data = data;
- if (typeof source.data == 'function') {
- source.getfn = source.data;
- source.dontcache = source.getfn.dontcache;
-
- // var prevsource = query.sources[h-1];
- if (
- source.joinmode == 'OUTER' ||
- source.joinmode == 'RIGHT' ||
- source.joinmode == 'ANTI'
- ) {
- source.dontcache = false;
- }
- source.data = {};
- }
- } else {
- // subqueries
-
- query.queriesdata[-idx - 1] = flatArray(data);
-
- }
-
- query.sourceslen--;
- if (query.sourceslen > 0) return;
-
- return queryfn3(query);
-}
-
-function queryfn3(query) {
- var scope = query.scope,
- jlen;
-
- // Preindexation of data sources
- // if(!oldscope) {
- preIndex(query);
- // }
-
- // query.sources.forEach(function(source) {
-
- // });
-
- // Prepare variables
- query.data = [];
- query.xgroups = {};
- query.groups = [];
-
- // Level of Joins
- var h = 0;
-
- // Start walking over data
-
- doJoin(query, scope, h);
-
- // If groupping, then filter groups with HAVING function
-
- if (query.groupfn) {
- query.data = [];
- if (0 === query.groups.length) {
- var g = {};
- if (query.selectGroup.length > 0) {
-
- query.selectGroup.forEach(function(sg) {
- if (sg.aggregatorid == 'COUNT' || sg.aggregatorid == 'SUM') {
- g[sg.nick] = 0;
- } else {
- g[sg.nick] = undefined;
- }
- });
- }
- query.groups = [g];
-
- }
-
- // ******
-
- if (query.aggrKeys.length > 0) {
- var gfns = '';
- query.aggrKeys.forEach(function(col) {
- gfns +=
- "g['" +
- col.nick +
- "']=alasql.aggr['" +
- col.funcid +
- "'](undefined,g['" +
- col.nick +
- "'],3);";
- // gfns += 'return g[\''+col.nick+'\];';
- });
-
- var gfn = new Function('g,params,alasql', 'var y;' + gfns);
- }
-
- // return "'"+colas+'\':alasql.aggr[\''+col.funcid+'\']('+colexp+',undefined,(acc={}),1),'
- // +'\'__REDUCE__'+colas+'\':acc,';
-
- // *******
-
- // debugger;
- // if(false && (query.groups.length == 1) && (Object.keys(query.groups[0]).length == 0)) {
-
- // } else {
- for (var i = 0, ilen = query.groups.length; i < ilen; i++) {
- var g = query.groups[i];
-
- if (gfn) gfn(g, query.params, alasql);
-
- if (!query.havingfn || query.havingfn(g, query.params, alasql)) {
-
- var d = query.selectgfn(g, query.params, alasql);
- query.data.push(d);
- }
- }
- // }
-
- // query.groups = query.groups.filter();
- }
- // Remove distinct values
- doDistinct(query);
-
- // UNION / UNION ALL
- if (query.unionallfn) {
- // TODO Simplify this part of program
- var ud, nd;
- if (query.corresponding) {
- if (!query.unionallfn.query.modifier) query.unionallfn.query.modifier = undefined;
- ud = query.unionallfn(query.params);
- } else {
- if (!query.unionallfn.query.modifier) query.unionallfn.query.modifier = 'RECORDSET';
- nd = query.unionallfn(query.params);
- ud = [];
- ilen = nd.data.length;
- for (var i = 0; i < ilen; i++) {
- var r = {};
- for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
- query.data = query.data.concat(ud);
- } else if (query.unionfn) {
- if (query.corresponding) {
- if (!query.unionfn.query.modifier) query.unionfn.query.modifier = 'ARRAY';
- ud = query.unionfn(query.params);
- } else {
- if (!query.unionfn.query.modifier) query.unionfn.query.modifier = 'RECORDSET';
- nd = query.unionfn(query.params);
- ud = [];
- ilen = nd.data.length;
- for (var i = 0; i < ilen; i++) {
- r = {};
- jlen = Math.min(query.columns.length, nd.columns.length);
- for (var j = 0; j < jlen; j++) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
-
- query.data = arrayUnionDeep(query.data, ud);
- } else if (query.exceptfn) {
- if (query.corresponding) {
- if (!query.exceptfn.query.modifier) query.exceptfn.query.modifier = 'ARRAY';
- var ud = query.exceptfn(query.params);
- } else {
- if (!query.exceptfn.query.modifier) query.exceptfn.query.modifier = 'RECORDSET';
- var nd = query.exceptfn(query.params);
- var ud = [];
- for (var i = 0, ilen = nd.data.length; i < ilen; i++) {
- var r = {};
- for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
-
- query.data = arrayExceptDeep(query.data, ud);
- } else if (query.intersectfn) {
- if (query.corresponding) {
- if (!query.intersectfn.query.modifier) query.intersectfn.query.modifier = undefined;
- ud = query.intersectfn(query.params);
- } else {
- if (!query.intersectfn.query.modifier) query.intersectfn.query.modifier = 'RECORDSET';
- nd = query.intersectfn(query.params);
- ud = [];
- ilen = nd.data.length;
- for (i = 0; i < ilen; i++) {
- r = {};
- jlen = Math.min(query.columns.length, nd.columns.length);
- for (j = 0; j < jlen; j++) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
-
- query.data = arrayIntersectDeep(query.data, ud);
- }
-
- // Ordering
- if (query.orderfn) {
- if (query.explain) var ms = Date.now();
- query.data = query.data.sort(query.orderfn);
- if (query.explain) {
- query.explaination.push({
- explid: query.explid++,
- description: 'QUERY BY',
- ms: Date.now() - ms,
- });
- }
- }
-
- // Reduce to limit and offset
- doLimit(query);
-
- // Remove Angular.js artifacts and other unnecessary columns
- // Issue #25
-
- // TODO: Check what artefacts rest from Angular.js
- if (typeof angular != 'undefined') {
- query.removeKeys.push('$$hashKey');
- }
-
- if (query.removeKeys.length > 0) {
- var removeKeys = query.removeKeys;
-
- // Remove from data
- jlen = removeKeys.length;
- if (jlen > 0) {
- ilen = query.data.length;
- for (i = 0; i < ilen; i++) {
- for (j = 0; j < jlen; j++) {
- delete query.data[i][removeKeys[j]];
- }
- }
- }
-
- // Remove from columns list
- if (query.columns.length > 0) {
- query.columns = query.columns.filter(function(column) {
- var found = false;
- removeKeys.forEach(function(key) {
- if (column.columnid == key) found = true;
- });
- return !found;
- });
- }
- }
-
- if (typeof query.removeLikeKeys != 'undefined' && query.removeLikeKeys.length > 0) {
- var removeLikeKeys = query.removeLikeKeys;
-
- // Remove unused columns
- // SELECT * REMOVE COLUMNS LIKE "%b"
- for (var i = 0, ilen = query.data.length; i < ilen; i++) {
- r = query.data[i];
- for (var k in r) {
- for (j = 0; j < query.removeLikeKeys.length; j++) {
- if (alasql.utils.like(query.removeLikeKeys[j], k)) {
- // if(k.match(query.removeLikeKeys[j])) {
- delete r[k];
- }
- }
- }
- }
-
- if (query.columns.length > 0) {
- query.columns = query.columns.filter(function(column) {
- var found = false;
- removeLikeKeys.forEach(function(key) {
- // if(column.columnid.match(key)) found = true;
- if (alasql.utils.like(key, column.columnid)) {
- found = true;
- }
- });
- return !found;
- });
- }
- }
-
- if (query.pivotfn) query.pivotfn();
- if (query.unpivotfn) query.unpivotfn();
-
- if (query.intoallfn) {
-
- // var res = query.intoallfn(query.columns,query.cb,query.A, query.B, alasql);
- var res = query.intoallfn(query.columns, query.cb, query.params, query.alasql);
-
- // if(query.cb) res = query.cb(res,query.A, query.B);
-
- // debugger;
- return res;
- } else if (query.intofn) {
- ilen = query.data.length;
- for (i = 0; i < ilen; i++) {
- query.intofn(query.data[i], i, query.params, query.alasql);
- }
-
- if (query.cb) query.cb(query.data.length, query.A, query.B);
- return query.data.length;
- } else {
-
- res = query.data;
- if (query.cb) res = query.cb(query.data, query.A, query.B);
- return res;
- }
-}
-
-// Limiting
-function doLimit(query) {
-
- if (query.limit) {
- var offset = 0;
- if (query.offset) {
- offset = query.offset | 0 || 0;
- offset = offset < 0 ? 0 : offset;
- }
- var limit;
- if (query.percent) {
- limit = (((query.data.length * query.limit) / 100) | 0) + offset;
- } else {
- limit = (query.limit | 0) + offset;
- }
- query.data = query.data.slice(offset, limit);
- }
-}
-
-// Distinct
-function doDistinct(query) {
- if (query.distinct) {
- var uniq = {};
- // TODO: Speedup, because Object.keys is slow**
- // TODO: Problem with DISTINCT on objects
- var keys = Object.keys(query.data[0] || []);
- for (var i = 0, ilen = query.data.length; i < ilen; i++) {
- var uix = keys
- .map(function(k) {
- return query.data[i][k];
- })
- .join('`');
- uniq[uix] = query.data[i];
- }
- query.data = [];
- for (var key in uniq) {
- query.data.push(uniq[key]);
- }
- }
-}
-
-// Optimization: preliminary indexation of joins
-var preIndex = function(query) {
-
- // Loop over all sources
- // Todo: make this loop smaller and more graspable
- for (var k = 0, klen = query.sources.length; k < klen; k++) {
- var source = query.sources[k];
- delete source.ix;
- // If there is indexation rule
-
- if (k > 0 && source.optimization == 'ix' && source.onleftfn && source.onrightfn) {
- // If there is no table.indices - create it
- if (source.databaseid && alasql.databases[source.databaseid].tables[source.tableid]) {
- if (!alasql.databases[source.databaseid].tables[source.tableid].indices)
- query.database.tables[source.tableid].indices = {};
- // Check if index already exists
- var ixx =
- alasql.databases[source.databaseid].tables[source.tableid].indices[
- hash(source.onrightfns + '`' + source.srcwherefns)
- ];
- if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
- source.ix = ixx;
- }
- }
-
- if (!source.ix) {
- source.ix = {};
- // Walking over source data
- var scope = {};
- var i = 0;
- var ilen = source.data.length;
- var dataw;
- // while(source.getfn i= query.sources.length) {
- // Todo: check if this runs once too many
-
- // Then apply where and select
-
- if (query.wherefn(scope, query.params, alasql)) {
-
- // var res = query.selectfn(scope, query.params, alasql);
-
- // If there is a GROUP BY then pipe to groupping function
- if (query.groupfn) {
- query.groupfn(scope, query.params, alasql);
- } else {
- // query.qwerty = 999;
-
- query.data.push(query.selectfn(scope, query.params, alasql));
- }
- }
- } else if (query.sources[h].applyselect) {
-
- var source = query.sources[h];
- source.applyselect(
- query.params,
- function(data) {
- if (data.length > 0) {
-
- for (var i = 0; i < data.length; i++) {
- scope[source.alias] = data[i];
- doJoin(query, scope, h + 1);
- }
- } else {
- if (source.applymode == 'OUTER') {
- scope[source.alias] = {};
- doJoin(query, scope, h + 1);
- }
- }
- },
- scope
- );
-
- } else {
- // STEP 1
-
- var source = query.sources[h];
- var nextsource = query.sources[h + 1];
-
- // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "RIGHT"
- // || source.joinmode == "OUTER" || source.joinmode == "SEMI") {
- // Todo: check if this is smart
- if (true) {
- //source.joinmode != "ANTI") {
-
- var tableid = source.alias || source.tableid;
- var pass = false; // For LEFT JOIN
- var data = source.data;
- var opt = false;
-
- // Reduce data for looping if there is optimization hint
- if (!source.getfn || (source.getfn && !source.dontcache)) {
- if (
- source.joinmode != 'RIGHT' &&
- source.joinmode != 'OUTER' &&
- source.joinmode != 'ANTI' &&
- source.optimization == 'ix'
- ) {
- data = source.ix[source.onleftfn(scope, query.params, alasql)] || [];
- opt = true;
-
- }
- }
-
- // Main cycle
- var i = 0;
- if (typeof data == 'undefined') {
- throw new Error('Data source number ' + h + ' in undefined');
- }
- var ilen = data.length;
- var dataw;
-
- while (
- (dataw = data[i]) ||
- (!opt && (source.getfn && (dataw = source.getfn(i)))) ||
- i < ilen
- ) {
- if (!opt && source.getfn && !source.dontcache) data[i] = dataw;
-
- scope[tableid] = dataw;
- // Reduce with ON and USING clause
- if (
- !source.onleftfn ||
- source.onleftfn(scope, query.params, alasql) ==
- source.onrightfn(scope, query.params, alasql)
- ) {
- // For all non-standard JOINs like a-b=0
- if (source.onmiddlefn(scope, query.params, alasql)) {
- // Recursively call new join
- // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "OUTER" || source.joinmode == "RIGHT" ) {
- if (source.joinmode != 'SEMI' && source.joinmode != 'ANTI') {
-
- doJoin(query, scope, h + 1);
- }
-
- // if(source.data[i].f = 200) debugger;
-
- // if(source.joinmode == "RIGHT" || source.joinmode == "ANTI" || source.joinmode == "OUTER") {
- if (source.joinmode != 'LEFT' && source.joinmode != 'INNER') {
- dataw._rightjoin = true;
- }
-
- // for LEFT JOIN
- pass = true;
- }
- }
- i++;
- }
-
- // Additional join for LEFT JOINS
- if (
- (source.joinmode == 'LEFT' ||
- source.joinmode == 'OUTER' ||
- source.joinmode == 'SEMI') &&
- !pass
- ) {
- // Clear the scope after the loop
- scope[tableid] = {};
- doJoin(query, scope, h + 1);
- }
- }
-
- // When there is no records
- // if(data.length == 0 && query.groupfn) {
- // scope[tableid] = undefined;
- // doJoin(query,scope,h+1);
- // }
-
- // STEP 2
-
- if (h + 1 < query.sources.length) {
- if (
- nextsource.joinmode == 'OUTER' ||
- nextsource.joinmode == 'RIGHT' ||
- nextsource.joinmode == 'ANTI'
- ) {
- scope[source.alias] = {};
-
- var j = 0;
- var jlen = nextsource.data.length;
- var dataw;
-
- while (
- (dataw = nextsource.data[j]) ||
- (nextsource.getfn && (dataw = nextsource.getfn(j))) ||
- j < jlen
- ) {
- if (nextsource.getfn && !nextsource.dontcache) {
- nextsource.data[j] = dataw;
- }
-
- if (dataw._rightjoin) {
- delete dataw._rightjoin;
- } else {
- // delete dataw._rightjoin;
-
- if (h == 0) {
- scope[nextsource.alias] = dataw;
- doJoin(query, scope, h + 2);
- } else {
- //scope[nextsource.alias] = dataw;
- //doJoin(query, scope, h+2);
-
- }
- }
- j++;
- }
- // debugger;
- } else {
-
- }
- } else {
-
- }
-
- scope[tableid] = undefined;
-
- }
-}
-
-function swapSources(query, h) {
- var source = query.sources[h];
- var nextsource = query.sources[h + 1];
-
- var onleftfn = source.onleftfn;
- var onleftfns = source.onleftfns;
- var onrightfn = source.onrightfn;
- var onrightfns = source.onrightfns;
- var optimization = source.optimization;
-
- source.onleftfn = nextsource.onrightfn;
- source.onleftfns = nextsource.onrightfns;
- source.onrightfn = nextsource.onleftfn;
- source.onrightfns = nextsource.onleftfns;
- source.optimization = nextsource.optimization;
-
- nextsource.onleftfn = onleftfn;
- nextsource.onleftfns = onleftfns;
- nextsource.onrightfn = onrightfn;
- nextsource.onrightfns = onrightfns;
- nextsource.optimization = optimization;
-
- query.sources[h] = nextsource;
- query.sources[h + 1] = source;
-}
-
-/*
-//
-// Select run-time part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-//
-// Main part of SELECT procedure
-//
-
-/* global yy */
-
-yy.Select = function(params) {
- return yy.extend(this, params);
-};
-yy.Select.prototype.toString = function() {
- var s;
- s = '';
- if (this.explain) {
- s += 'EXPLAIN ';
- }
- s += 'SELECT ';
- if (this.modifier) {
- s += this.modifier + ' ';
- }
- if (this.distinct) {
- s += 'DISTINCT ';
- }
- if (this.top) {
- s += 'TOP ' + this.top.value + ' ';
- if (this.percent) {
- s += 'PERCENT ';
- }
- }
- s += this.columns
- .map(function(col) {
- var s;
- s = col.toString();
- if (typeof col.as !== 'undefined') {
- s += ' AS ' + col.as;
- }
- return s;
- })
- .join(', ');
- if (this.from) {
- s +=
- ' FROM ' +
- this.from
- .map(function(f) {
- var ss;
- ss = f.toString();
- if (f.as) {
- ss += ' AS ' + f.as;
- }
- return ss;
- })
- .join(',');
- }
- if (this.joins) {
- s += this.joins
- .map(function(jn) {
- var ss;
- ss = ' ';
- if (jn.joinmode) {
- ss += jn.joinmode + ' ';
- }
- if (jn.table) {
- ss += 'JOIN ' + jn.table.toString();
- } else if (jn.select) {
- ss += 'JOIN (' + jn.select.toString() + ')';
- } else if (jn instanceof alasql.yy.Apply) {
- ss += jn.toString();
- } else {
- throw new Error('Wrong type in JOIN mode');
- }
- if (jn.as) {
- ss += ' AS ' + jn.as;
- }
- if (jn.using) {
- ss += ' USING ' + jn.using.toString();
- }
- if (jn.on) {
- ss += ' ON ' + jn.on.toString();
- }
- return ss;
- })
- .join('');
- }
- if (this.where) {
- s += ' WHERE ' + this.where.toString();
- }
- if (this.group && this.group.length > 0) {
- s +=
- ' GROUP BY ' +
- this.group
- .map(function(grp) {
- return grp.toString();
- })
- .join(', ');
- }
- if (this.having) {
- s += ' HAVING ' + this.having.toString();
- }
- if (this.order && this.order.length > 0) {
- s +=
- ' ORDER BY ' +
- this.order
- .map(function(ord) {
- return ord.toString();
- })
- .join(', ');
- }
- if (this.limit) {
- s += ' LIMIT ' + this.limit.value;
- }
- if (this.offset) {
- s += ' OFFSET ' + this.offset.value;
- }
- if (this.union) {
- s += ' UNION ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.union.toString();
- }
- if (this.unionall) {
- s +=
- ' UNION ALL ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.unionall.toString();
- }
- if (this.except) {
- s += ' EXCEPT ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.except.toString();
- }
- if (this.intersect) {
- s +=
- ' INTERSECT ' +
- (this.corresponding ? 'CORRESPONDING ' : '') +
- this.intersect.toString();
- }
- return s;
-};
-
-/**
- Select statement in expression
- */
-yy.Select.prototype.toJS = function(context) {
-
- // if(this.expression.reduced) return 'true';
- // return this.expression.toJS(context, tableid, defcols);
-
- // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
-
- var s =
- 'alasql.utils.flatArray(this.queriesfn[' +
- (this.queriesidx - 1) +
- '](this.params,null,' +
- context +
- '))[0]';
-
- return s;
-};
-
-// Compile SELECT statement
-yy.Select.prototype.compile = function(databaseid, params) {
- var db = alasql.databases[databaseid];
- // Create variable for query
- var query = new Query();
-
- // Array with columns to be removed
- query.removeKeys = [];
- query.aggrKeys = [];
-
- query.explain = this.explain; // Explain
- query.explaination = [];
- query.explid = 1;
-
- query.modifier = this.modifier;
-
- query.database = db;
- // 0. Precompile whereexists
- this.compileWhereExists(query);
-
- // 0. Precompile queries for IN, NOT IN, ANY and ALL operators
- this.compileQueries(query);
-
- query.defcols = this.compileDefCols(query, databaseid);
-
- // 1. Compile FROM clause
- query.fromfn = this.compileFrom(query);
-
- // 2. Compile JOIN clauses
- if (this.joins) {
- this.compileJoins(query);
- }
-
- // todo?: 3. Compile SELECT clause
-
- // For ROWNUM()
- query.rownums = [];
-
- this.compileSelectGroup0(query);
-
- if (this.group || query.selectGroup.length > 0) {
- query.selectgfns = this.compileSelectGroup1(query);
- } else {
- query.selectfns = this.compileSelect1(query, params);
- }
-
- // Remove columns clause
- this.compileRemoveColumns(query);
-
- // 5. Optimize WHERE and JOINS
- if (this.where) {
- this.compileWhereJoins(query);
- }
-
- // 4. Compile WHERE clause
- query.wherefn = this.compileWhere(query);
-
- // 6. Compile GROUP BY
- if (this.group || query.selectGroup.length > 0) {
- query.groupfn = this.compileGroup(query);
- }
-
- // 6. Compile HAVING
- if (this.having) {
- query.havingfn = this.compileHaving(query);
- }
-
- // 8. Compile ORDER BY clause
- if (this.order) {
- query.orderfn = this.compileOrder(query);
- }
-
- if (this.group || query.selectGroup.length > 0) {
- query.selectgfn = this.compileSelectGroup2(query);
- } else {
- query.selectfn = this.compileSelect2(query);
- }
-
- // 7. Compile DISTINCT, LIMIT and OFFSET
- query.distinct = this.distinct;
-
- // 9. Compile PIVOT clause
- if (this.pivot) query.pivotfn = this.compilePivot(query);
- if (this.unpivot) query.pivotfn = this.compileUnpivot(query);
-
- // 10. Compile TOP/LIMIT/OFFSET/FETCH cleuse
- if (this.top) {
- query.limit = this.top.value;
- } else if (this.limit) {
- query.limit = this.limit.value;
- if (this.offset) {
- query.offset = this.offset.value;
- }
- }
-
- query.percent = this.percent;
-
- // 9. Compile ordering function for UNION and UNIONALL
- query.corresponding = this.corresponding; // If CORRESPONDING flag exists
- if (this.union) {
- query.unionfn = this.union.compile(databaseid);
- if (this.union.order) {
- query.orderfn = this.union.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.unionall) {
- query.unionallfn = this.unionall.compile(databaseid);
- if (this.unionall.order) {
- query.orderfn = this.unionall.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.except) {
- query.exceptfn = this.except.compile(databaseid);
- if (this.except.order) {
- query.orderfn = this.except.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.intersect) {
- query.intersectfn = this.intersect.compile(databaseid);
- if (this.intersect.order) {
- query.intersectfn = this.intersect.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- }
-
- // SELECT INTO
- if (this.into) {
- if (this.into instanceof yy.Table) {
- //
- // Save into the table in database
- //
- if (
- alasql.options.autocommit &&
- alasql.databases[this.into.databaseid || databaseid].engineid
- ) {
- // For external database when AUTOCOMMIT is ONs
- query.intoallfns =
- 'return alasql.engines["' +
- alasql.databases[this.into.databaseid || databaseid].engineid +
- '"]' +
- '.intoTable("' +
- (this.into.databaseid || databaseid) +
- '","' +
- this.into.tableid +
- '",this.data, columns, cb);';
- } else {
- // Into AlaSQL tables
- query.intofns =
- "alasql.databases['" +
- (this.into.databaseid || databaseid) +
- "'].tables" +
- "['" +
- this.into.tableid +
- "'].data.push(r);";
- }
- } else if (this.into instanceof yy.VarValue) {
- //
- // Save into local variable
- // SELECT * INTO @VAR1 FROM ?
- //
- query.intoallfns =
- 'alasql.vars["' +
- this.into.variable +
- '"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';
- } else if (this.into instanceof yy.FuncValue) {
- //
- // If this is INTO() function, then call it
- // with one or two parameters
- //
- var qs = "return alasql.into['" + this.into.funcid.toUpperCase() + "'](";
- if (this.into.args && this.into.args.length > 0) {
- qs += this.into.args[0].toJS() + ',';
- if (this.into.args.length > 1) {
- qs += this.into.args[1].toJS() + ',';
- } else {
- qs += 'undefined,';
- }
- } else {
- qs += 'undefined, undefined,';
- }
- query.intoallfns = qs + 'this.data,columns,cb)';
-
- } else if (this.into instanceof yy.ParamValue) {
- //
- // Save data into parameters array
- // like alasql('SELECT * INTO ? FROM ?',[outdata,srcdata]);
- //
- query.intofns = "params['" + this.into.param + "'].push(r)";
- }
-
- if (query.intofns) {
- // Create intofn function
-
- query.intofn = new Function('r,i,params,alasql', 'var y;' + query.intofns);
- } else if (query.intoallfns) {
- // Create intoallfn function
-
- query.intoallfn = new Function('columns,cb,params,alasql', 'var y;' + query.intoallfns);
- }
- }
-
- // Now, compile all togeather into one function with query object in scope
- var statement = function(params, cb, oldscope) {
- query.params = params;
- var res1 = queryfn(query, oldscope, function(res) {
-
- if (query.rownums.length > 0) {
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- for (var j = 0, jlen = query.rownums.length; j < jlen; j++) {
- res[i][query.rownums[j]] = i + 1;
- }
- }
- }
-
- var res2 = modify(query, res);
-
- if (cb) {
- cb(res2);
- }
-
- return res2;
- });
-
- // if(typeof res1 != 'undefined') res1 = modify(query,res1);
-
- return res1;
- };
-
- // statement.dbversion = ;
-
- statement.query = query;
- return statement;
-};
-
-/**
- Modify res according modifier
- @function
- @param {object} query Query object
- @param res {object|number|string|boolean} res Data to be converted
-*/
-function modify(query, res) {
- // jshint ignore:line
-
- /* If source is a primitive value then return it */
- if (
- typeof res === 'undefined' ||
- typeof res === 'number' ||
- typeof res === 'string' ||
- typeof res == 'boolean'
- ) {
- return res;
- }
-
- var modifier = query.modifier || alasql.options.modifier;
- var columns = query.columns;
- if (typeof columns === 'undefined' || columns.length == 0) {
- // Try to create columns
- if (res.length > 0) {
- var allcol = {};
- for (var i = Math.min(res.length, alasql.options.columnlookup || 10) - 1; 0 <= i; i--) {
- for (var key in res[i]) {
- allcol[key] = true;
- }
- }
-
- columns = Object.keys(allcol).map(function(columnid) {
- return {columnid: columnid};
- });
- } else {
- // Cannot recognize columns
- columns = [];
- }
- }
-
- if (modifier === 'VALUE') {
-
- if (res.length > 0) {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
- res = res[0][key];
- } else {
- res = undefined;
- }
- } else if (modifier === 'ROW') {
- if (res.length > 0) {
- var key;
- var a = [];
- for (var key in res[0]) {
- a.push(res[0][key]);
- }
- res = a;
- } else {
- res = undefined;
- }
- } else if (modifier === 'COLUMN') {
- var ar = [];
- if (res.length > 0) {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
-
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- ar.push(res[i][key]);
- }
- }
- res = ar;
- } else if (modifier === 'MATRIX') {
- // Returns square matrix of rows
- var ar = [];
- for (var i = 0; i < res.length; i++) {
- var a = [];
- var r = res[i];
- for (var j = 0; j < columns.length; j++) {
- a.push(r[columns[j].columnid]);
- }
- ar.push(a);
- }
- res = ar;
- } else if (modifier === 'INDEX') {
- var ar = {};
- var key, val;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- val = columns[1].columnid;
- } else {
- var okeys = Object.keys(res[0]);
- key = okeys[0];
- val = okeys[1];
- }
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- ar[res[i][key]] = res[i][val];
- }
- res = ar;
- // res = arrayOfArrays(res);
- } else if (modifier === 'RECORDSET') {
- res = new alasql.Recordset({columns: columns, data: res});
- // res = arrayOfArrays(res);
- } else if (modifier === 'TEXTSTRING') {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
-
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- res[i] = res[i][key];
- }
- res = res.join('\n');
- // res = arrayOfArrays(res);
- }
- return res;
-}
-
-yy.Select.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
- // throw new Error('Insert statement is should be compiled')
-};
-
-/*
-//
-// EXISTS and other subqueries functions functions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.ExistsValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ExistsValue.prototype.toString = function() {
- return 'EXISTS(' + this.value.toString() + ')';
-};
-
-yy.ExistsValue.prototype.toType = function() {
- return 'boolean';
-};
-
-yy.ExistsValue.prototype.toJS = function(context, tableid, defcols) {
-
- return 'this.existsfn[' + this.existsidx + '](params,null,' + context + ').data.length';
-};
-
-yy.Select.prototype.compileWhereExists = function(query) {
- if (!this.exists) return;
- query.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(query.database.databaseid);
-
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
-};
-
-yy.Select.prototype.compileQueries = function(query) {
- if (!this.queries) return;
- query.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(query.database.databaseid);
-
- // if(!nq.query) nq.query = {};
- nq.query.modifier = 'RECORDSET';
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- return nq;
- });
-};
-
-//
-// Prepare subqueries and exists
-//
-alasql.precompile = function(statement, databaseid, params) {
-
- if (!statement) return;
- statement.params = params;
- if (statement.queries) {
-
- statement.queriesfn = statement.queries.map(function(q) {
- var nq = q.compile(databaseid || statement.database.databaseid);
-
- // nq.query.modifier = undefined;
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (statement.exists) {
-
- statement.existsfn = statement.exists.map(function(ex) {
- var nq = ex.compile(databaseid || statement.database.databaseid);
-
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- // if(!nq.query.modifier) nq.query.modifier = 'ARRAY';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-};
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy, alasql, Mongo, returnTrue */
-
-yy.Select.prototype.compileFrom = function(query) {
-
- var self = this;
- query.sources = [];
- // var tableid = this.from[0].tableid;
- // var as = '';
- // if(self.from[0].as) as = this.from[0].as;
-
- query.aliases = {};
- if (!self.from) return;
-
- self.from.forEach(function(tq) {
-
- var ps = '';
-
- var alias = tq.as || tq.tableid;
-
- if (tq instanceof yy.Table) {
-
- query.aliases[alias] = {
- tableid: tq.tableid,
- databaseid: tq.databaseid || query.database.databaseid,
- type: 'table',
- };
- } else if (tq instanceof yy.Select) {
- query.aliases[alias] = {type: 'subquery'};
- } else if (tq instanceof yy.Search) {
- query.aliases[alias] = {type: 'subsearch'};
- } else if (tq instanceof yy.ParamValue) {
- query.aliases[alias] = {type: 'paramvalue'};
- } else if (tq instanceof yy.FuncValue) {
- query.aliases[alias] = {type: 'funcvalue'};
- } else if (tq instanceof yy.VarValue) {
- query.aliases[alias] = {type: 'varvalue'};
- } else if (tq instanceof yy.FromData) {
- query.aliases[alias] = {type: 'fromdata'};
- } else if (tq instanceof yy.Json) {
- query.aliases[alias] = {type: 'json'};
- } else if (tq.inserted) {
- query.aliases[alias] = {type: 'inserted'};
- } else {
- throw new Error('Wrong table at FROM');
- }
-
- var source = {
- alias: alias,
- databaseid: tq.databaseid || query.database.databaseid,
- tableid: tq.tableid,
- joinmode: 'INNER',
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- // columns: []
- };
-
- if (tq instanceof yy.Table) {
- // Get columns from table
- source.columns = alasql.databases[source.databaseid].tables[source.tableid].columns;
-
- if (
- alasql.options.autocommit &&
- alasql.databases[source.databaseid].engineid &&
- !alasql.databases[source.databaseid].tables[source.tableid].view
- ) {
-
- // TODO -- make view for external engine
- source.datafn = function(query, params, cb, idx, alasql) {
- return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(
- source.databaseid,
- source.tableid,
- cb,
- idx,
- query
- );
- };
- } else if (alasql.databases[source.databaseid].tables[source.tableid].view) {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = alasql.databases[source.databaseid].tables[source.tableid].select(
- params
- );
- if (cb) res = cb(res, idx, query);
- return res;
- };
- } else {
-
- source.datafn = function(query, params, cb, idx, alasql) {
- /*
-
-*/
- var res = alasql.databases[source.databaseid].tables[source.tableid].data;
-
- if (cb) res = cb(res, idx, query);
-
- return res;
- // return alasql.databases[source.databaseid].tables[source.tableid].data;
- };
- }
- } else if (tq instanceof yy.Select) {
- source.subquery = tq.compile(query.database.databaseid);
- if (typeof source.subquery.query.modifier === 'undefined') {
- source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
- }
- source.columns = source.subquery.query.columns;
-
- // tq.columns;
-
- source.datafn = function(query, params, cb, idx, alasql) {
- // return source.subquery(query.params, cb, idx, query);
- var res;
- source.subquery(query.params, function(data) {
- res = data.data;
- if (cb) res = cb(res, idx, query);
- return res;
- // return data.data;
- });
-
- return res;
- };
- } else if (tq instanceof yy.Search) {
- source.subsearch = tq;
- source.columns = [];
-
- source.datafn = function(query, params, cb, idx, alasql) {
- // return source.subquery(query.params, cb, idx, query);
- var res;
- source.subsearch.execute(query.database.databaseid, query.params, function(data) {
- res = data;
- if (cb) res = cb(res, idx, query);
- return res;
- // return data.data;
- });
-
- return res;
- };
- } else if (tq instanceof yy.ParamValue) {
- ps = "var res = alasql.prepareFromData(params['" + tq.param + "']";
-
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq.inserted) {
- ps = 'var res = alasql.prepareFromData(alasql.inserted';
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq instanceof yy.Json) {
- ps = 'var res = alasql.prepareFromData(' + tq.toJS();
-
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq instanceof yy.VarValue) {
- ps = "var res = alasql.prepareFromData(alasql.vars['" + tq.variable + "']";
-
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq instanceof yy.FuncValue) {
- ps = "var res=alasql.from['" + tq.funcid.toUpperCase() + "'](";
-
- if (tq.args && tq.args.length > 0) {
- if (tq.args[0]) {
- ps += tq.args[0].toJS('query.oldscope') + ',';
- } else {
- ps += 'null,';
- }
- if (tq.args[1]) {
- ps += tq.args[1].toJS('query.oldscope') + ',';
- } else {
- ps += 'null,';
- }
- } else {
- ps += 'null,null,';
- }
- ps += 'cb,idx,query';
- ps += ');/*if(cb)res=cb(res,idx,query);*/return res';
-
- source.datafn = new Function('query, params, cb, idx, alasql', ps);
- } else if (tq instanceof yy.FromData) {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = tq.data;
- if (cb) res = cb(res, idx, query);
- return res;
- };
- } else {
- throw new Error('Wrong table at FROM');
- }
- // source.data = alasql.databases[source.databaseid].tables[source.tableid].data;
- query.sources.push(source);
- });
- // TODO Add joins
- query.defaultTableid = query.sources[0].alias;
-
-};
-
-alasql.prepareFromData = function(data, array) {
-
- var i, ilen;
- var res = data;
- if (typeof data === 'string') {
- res = data.split(/\r?\n/);
- if (array) {
- for (i = 0, ilen = res.length; i < ilen; i++) {
- res[i] = [res[i]];
- }
- }
- } else if (array) {
- res = [];
- for (i = 0, ilen = data.length; i < ilen; i++) {
- res.push([data[i]]);
- }
-
- } else if (typeof data === 'object' && !Array.isArray(data)) {
- // } else if(typeof data == 'object' && !(typeof data.length == 'undefined')) {
- if (
- typeof Mongo !== 'undefined' &&
- typeof Mongo.Collection !== 'undefined' &&
- data instanceof Mongo.Collection
- ) {
- res = data.find().fetch();
- } else {
- res = [];
- for (var key in data) {
- if (data.hasOwnProperty(key)) res.push([key, data[key]]);
- }
- }
-
- }
-
- return res;
-};
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// SELECT Compile functions
-
-/* global yy, alasql, returnTrue, arrayIntersect */
-
-// Compile JOIN caluese
-yy.Select.prototype.compileJoins = function(query) {
-
- // debugger;
- var self = this;
-
- this.joins.forEach(function(jn) {
- // Test CROSS-JOIN
- var tq, ps, source;
- if (jn.joinmode === 'CROSS') {
- if (jn.using || jn.on) {
- throw new Error('CROSS JOIN cannot have USING or ON clauses');
- } else {
- jn.joinmode = 'INNER';
- }
- }
-
- if (jn instanceof yy.Apply) {
-
- source = {
- alias: jn.as,
- applymode: jn.applymode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- columns: [], // TODO check this
- };
- source.applyselect = jn.select.compile(query.database.databaseid);
- source.columns = source.applyselect.query.columns;
-
- source.datafn = function(query, params, cb, idx, alasql) {
- var res;
- if (cb) res = cb(res, idx, query);
- return res;
- };
-
- query.sources.push(source);
-
- return;
- }
-
- if (jn.table) {
- tq = jn.table;
- source = {
- alias: jn.as || tq.tableid,
- databaseid: tq.databaseid || query.database.databaseid,
- tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- columns: [],
- };
- //
-
- if (!alasql.databases[source.databaseid].tables[source.tableid]) {
- throw new Error(
- "Table '" +
- source.tableid +
- "' is not exists in database '" +
- source.databaseid +
- "'"
- );
- }
-
- source.columns = alasql.databases[source.databaseid].tables[source.tableid].columns;
-
- // source.data = query.database.tables[source.tableid].data;
- if (alasql.options.autocommit && alasql.databases[source.databaseid].engineid) {
-
- source.datafn = function(query, params, cb, idx, alasql) {
-
- return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(
- source.databaseid,
- source.tableid,
- cb,
- idx,
- query
- );
- };
- } else if (alasql.databases[source.databaseid].tables[source.tableid].view) {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = alasql.databases[source.databaseid].tables[source.tableid].select(
- params
- );
- if (cb) res = cb(res, idx, query);
- return res;
- };
- } else {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = alasql.databases[source.databaseid].tables[source.tableid].data;
- if (cb) res = cb(res, idx, query);
- return res;
- };
- }
-
- // var alias = jn.as || tq.tableid;
- // if(tq) {
- query.aliases[source.alias] = {
- tableid: tq.tableid,
- databaseid: tq.databaseid || query.database.databaseid,
- };
- // }
- } else if (jn.select) {
- tq = jn.select;
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- columns: [],
- };
-
- source.subquery = tq.compile(query.database.databaseid);
- if (typeof source.subquery.query.modifier === 'undefined') {
- source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
- }
- source.columns = source.subquery.query.columns;
-
- // if(jn instanceof yy.Apply) {
- source.datafn = function(query, params, cb, idx, alasql) {
- // return cb(null,idx,alasql);
- return source.subquery(query.params, null, cb, idx).data;
- };
- // } else {
- // source.datafn = function(query, params, cb, idx, alasql) {
- // return source.subquery(query.params, null, cb, idx);
- // }
- // }
- query.aliases[source.alias] = {type: 'subquery'};
- } else if (jn.param) {
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- };
- // source.data = ;
- var jnparam = jn.param.param;
-
- ps = "var res=alasql.prepareFromData(params['" + jnparam + "']";
- if (jn.array) ps += ',true';
- ps += ');if(cb)res=cb(res, idx, query);return res';
-
- source.datafn = new Function('query,params,cb,idx, alasql', ps);
- query.aliases[source.alias] = {type: 'paramvalue'};
- } else if (jn.variable) {
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- };
- // source.data = ;
- // var jnparam = jn.param.param;
-
- ps = "var res=alasql.prepareFromData(alasql.vars['" + jn.variable + "']";
- if (jn.array) ps += ',true';
- ps += ');if(cb)res=cb(res, idx, query);return res';
-
- source.datafn = new Function('query,params,cb,idx, alasql', ps);
- query.aliases[source.alias] = {type: 'varvalue'};
- } else if (jn.funcid) {
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- };
- // source.data = ;
-
- var s = "var res=alasql.from['" + jn.funcid.toUpperCase() + "'](";
-
- if (jn.args && jn.args.length > 0) {
- if (jn.args[0]) {
- s += jn.args[0].toJS('query.oldscope') + ',';
- } else {
- s += 'null,';
- }
- if (jn.args[1]) {
- s += jn.args[1].toJS('query.oldscope') + ',';
- } else {
- s += 'null,';
- }
- } else {
- s += 'null,null,';
- }
- s += 'cb,idx,query';
- s += ');/*if(cb)res=cb(res,idx,query);*/return res';
-
- source.datafn = new Function('query, params, cb, idx, alasql', s);
-
- query.aliases[source.alias] = {type: 'funcvalue'};
- }
-
- var alias = source.alias;
-
- // Test NATURAL-JOIN
- if (jn.natural) {
- if (jn.using || jn.on) {
- throw new Error('NATURAL JOIN cannot have USING or ON clauses');
- } else {
- // source.joinmode == "INNER";
- if (query.sources.length > 0) {
- var prevSource = query.sources[query.sources.length - 1];
- var prevTable =
- alasql.databases[prevSource.databaseid].tables[prevSource.tableid];
- var table = alasql.databases[source.databaseid].tables[source.tableid];
-
- if (prevTable && table) {
- var c1 = prevTable.columns.map(function(col) {
- return col.columnid;
- });
- var c2 = table.columns.map(function(col) {
- return col.columnid;
- });
- jn.using = arrayIntersect(c1, c2).map(function(colid) {
- return {columnid: colid};
- });
-
- } else {
- throw new Error(
- 'In this version of Alasql NATURAL JOIN ' +
- 'works for tables with predefined columns only'
- );
- }
- }
- }
- }
-
- if (jn.using) {
- prevSource = query.sources[query.sources.length - 1];
-
- source.onleftfns = jn.using
- .map(function(col) {
-
- return (
- "p['" +
- (prevSource.alias || prevSource.tableid) +
- "']['" +
- col.columnid +
- "']"
- );
- })
- .join('+"`"+');
-
- source.onleftfn = new Function('p,params,alasql', 'var y;return ' + source.onleftfns);
-
- source.onrightfns = jn.using
- .map(function(col) {
- return "p['" + (source.alias || source.tableid) + "']['" + col.columnid + "']";
- })
- .join('+"`"+');
- source.onrightfn = new Function('p,params,alasql', 'var y;return ' + source.onrightfns);
- source.optimization = 'ix';
-
- } else if (jn.on) {
-
- if (jn.on instanceof yy.Op && jn.on.op === '=' && !jn.on.allsome) {
-
- source.optimization = 'ix';
-
- var lefts = '';
- var rights = '';
- var middles = '';
- var middlef = false;
- // Test right and left sides
- var ls = jn.on.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = jn.on.right.toJS('p', query.defaultTableid, query.defcols);
-
- if (
- ls.indexOf("p['" + alias + "']") > -1 &&
- !(rs.indexOf("p['" + alias + "']") > -1)
- ) {
- if (
- (ls.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- rights = ls;
- } else {
- middlef = true;
- }
- } else if (
- !(ls.indexOf("p['" + alias + "']") > -1) &&
- rs.indexOf("p['" + alias + "']") > -1
- ) {
- if (
- (rs.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- lefts = ls;
- } else {
- middlef = true;
- }
- } else {
- middlef = true;
- }
-
- if (
- rs.indexOf("p['" + alias + "']") > -1 &&
- !(ls.indexOf("p['" + alias + "']") > -1)
- ) {
- if (
- (rs.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- rights = rs;
- } else {
- middlef = true;
- }
- } else if (
- !(rs.indexOf("p['" + alias + "']") > -1) &&
- ls.indexOf("p['" + alias + "']") > -1
- ) {
- if (
- (ls.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- lefts = rs;
- } else {
- middlef = true;
- }
- } else {
- middlef = true;
- }
-
- if (middlef) {
- // middles = jn.on.toJS('p',query.defaultTableid);
- // } else {
- rights = '';
- lefts = '';
- middles = jn.on.toJS('p', query.defaultTableid, query.defcols);
- source.optimization = 'no';
- // What to here?
- }
-
- source.onleftfns = lefts;
- source.onrightfns = rights;
- source.onmiddlefns = middles || 'true';
-
- source.onleftfn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.onleftfns
- );
- source.onrightfn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.onrightfns
- );
- source.onmiddlefn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.onmiddlefns
- );
-
- // } else if(jn.on instanceof yy.Op && jn.on.op == 'AND') {
-
- } else {
-
- source.optimization = 'no';
- // source.onleftfn = returnTrue;
- // source.onleftfns = "true";
- source.onmiddlefns = jn.on.toJS('p', query.defaultTableid, query.defcols);
- source.onmiddlefn = new Function(
- 'p,params,alasql',
- 'var y;return ' + jn.on.toJS('p', query.defaultTableid, query.defcols)
- );
- }
-
- // Optimization function
- }
-
- // source.data = alasql.databases[source.databaseid].tables[source.tableid].data;
-
- // TODO SubQueries
-
- query.sources.push(source);
- });
-
-};
-
-yy.Select.prototype.compileWhere = function(query) {
- if (this.where) {
- if (typeof this.where == 'function') {
- return this.where;
- } else {
- var s = this.where.toJS('p', query.defaultTableid, query.defcols);
- query.wherefns = s;
-
- return new Function('p,params,alasql', 'var y;return ' + s);
- }
- } else
- return function() {
- return true;
- };
-};
-
-yy.Select.prototype.compileWhereJoins = function(query) {
- return;
-
- // TODO Fix Where optimization
-
- optimizeWhereJoin(query, this.where.expression);
-
- //for sources compile wherefs
- query.sources.forEach(function(source) {
- if (source.srcwherefns) {
- source.srcwherefn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.srcwherefns
- );
- }
- if (source.wxleftfns) {
- source.wxleftfn = new Function('p,params,alasql', 'var y;return ' + source.wxleftfns);
- }
- if (source.wxrightfns) {
- source.wxrightfn = new Function('p,params,alasql', 'var y;return ' + source.wxrightfns);
- }
-
- });
-};
-
-function optimizeWhereJoin(query, ast) {
- if (!ast) return false;
- if (!(ast instanceof yy.Op)) return;
- if (ast.op != '=' && ast.op != 'AND') return;
- if (ast.allsome) return;
-
- var s = ast.toJS('p', query.defaultTableid, query.defcols);
- var fsrc = [];
- query.sources.forEach(function(source, idx) {
- // Optimization allowed only for tables only
- if (source.tableid) {
- // This is a good place to remove all unnecessary optimizations
- if (s.indexOf("p['" + source.alias + "']") > -1) fsrc.push(source);
- }
- });
-
- // if(fsrc.length < query.sources.length) return;
-
- if (fsrc.length == 0) {
-
- return;
- } else if (fsrc.length == 1) {
- if (
- !(s.match(/p\[\'.*?\'\]/g) || []).every(function(s) {
- return s == "p['" + fsrc[0].alias + "']";
- })
- ) {
- return;
- // This is means, that we have column from parent query
- // So we return without optimization
- }
-
- var src = fsrc[0]; // optmiization source
- src.srcwherefns = src.srcwherefns ? src.srcwherefns + '&&' + s : s;
-
- if (ast instanceof yy.Op && (ast.op == '=' && !ast.allsome)) {
- if (ast.left instanceof yy.Column) {
- var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
- if (rs.indexOf("p['" + fsrc[0].alias + "']") == -1) {
- fsrc[0].wxleftfns = ls;
- fsrc[0].wxrightfns = rs;
- }
- }
- if (ast.right instanceof yy.Column) {
- var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
- if (ls.indexOf("p['" + fsrc[0].alias + "']") == -1) {
- fsrc[0].wxleftfns = rs;
- fsrc[0].wxrightfns = ls;
- }
- }
- }
- ast.reduced = true; // To do not duplicate wherefn and srcwherefn
- return;
- } else {
- if ((ast.op = 'AND')) {
- optimizeWhereJoin(query, ast.left);
- optimizeWhereJoin(query, ast.right);
- }
- }
-}
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Compile group of statements
- */
-yy.Select.prototype.compileGroup = function(query) {
-
- if (query.sources.length > 0) {
- var tableid = query.sources[0].alias;
- } else {
- // If SELECT contains group aggregators without source tables
- var tableid = '';
- }
- var defcols = query.defcols;
-
- var allgroup = [[]];
- if (this.group) {
- allgroup = decartes(this.group, query);
- }
-
- // Prepare groups
- //var allgroup = [['a'], ['a','b'], ['a', 'b', 'c']];
-
- // Union all arrays to get a maximum
- var allgroups = [];
- allgroup.forEach(function(a) {
- allgroups = arrayUnion(allgroups, a);
- });
-
- query.allgroups = allgroups;
-
- query.ingroup = [];
-
- // Create negative array
-
- var s = '';
- // s+= query.selectfns;
- allgroup.forEach(function(agroup) {
- // Start of group function
- s += 'var g=this.xgroups[';
-
- // var gcols = this.group.map(function(col){return col.columnid}); // Group fields with r
- // Array with group columns from record
- var rg = agroup.map(function(col2) {
- var columnid = col2.split('\t')[0];
- var coljs = col2.split('\t')[1];
- // Check, if aggregator exists but GROUP BY is not exists
- if (columnid === '') {
- return '1'; // Create fictive groupping column for fictive GROUP BY
- }
- // else return "r['"+columnid+"']";
- query.ingroup.push(columnid);
-
- return coljs;
- });
-
- if (rg.length === 0) {
- rg = ["''"];
- }
-
- s += rg.join('+"`"+');
- s += '];if(!g) {this.groups.push((g=this.xgroups[';
- s += rg.join('+"`"+');
- s += '] = {';
- // s += ']=r';
- s += agroup
- .map(function(col2) {
- var columnid = col2.split('\t')[0];
- var coljs = col2.split('\t')[1];
-
- if (columnid === '') {
- return '';
- }
- return "'" + columnid + "':" + coljs + ',';
- })
- .join('');
-
- var neggroup = arrayDiff(allgroups, agroup);
-
- s += neggroup
- .map(function(col2) {
- var columnid = col2.split('\t')[0];
- // var coljs = col2.split('\t')[1]
- return "'" + columnid + "':null,";
- })
- .join('');
-
- var aft = '',
- aft2 = '';
-
- if (typeof query.groupStar !== 'undefined') {
- aft2 +=
- "for(var f in p['" +
- query.groupStar +
- "']) {g[f]=p['" +
- query.groupStar +
- "'][f];};";
- }
-
- /*
- */
- // s += self.columns.map(function(col){
-
- s += query.selectGroup
- .map(function(col) {
-
- var colexp = col.expression.toJS('p', tableid, defcols);
- var colas = col.nick;
- // if(typeof colas == 'undefined') {
- // if(col instanceof yy.Column) colas = col.columnid;
- // else colas = col.toString();
- // };
- if (col instanceof yy.AggrValue) {
- if (col.distinct) {
- aft +=
- ",g['$$_VALUES_" +
- colas +
- "']={},g['$$_VALUES_" +
- colas +
- "'][" +
- colexp +
- ']=true';
- }
- if (col.aggregatorid === 'SUM') {
- return "'" + colas + "':(" + colexp + ')||0,';
- } else if (
- col.aggregatorid === 'MIN' ||
- col.aggregatorid === 'MAX' ||
- col.aggregatorid === 'FIRST' ||
- col.aggregatorid === 'LAST'
- // || col.aggregatorid == 'AVG'
- // ) { return "'"+col.as+'\':r[\''+col.as+'\'],'; }//f.field.arguments[0].toJS();
- ) {
- return "'" + colas + "':" + colexp + ','; //f.field.arguments[0].toJS();
- } else if (col.aggregatorid === 'ARRAY') {
- return "'" + colas + "':[" + colexp + '],';
- } else if (col.aggregatorid === 'COUNT') {
- if (col.expression.columnid === '*') {
- return "'" + colas + "':1,";
- } else {
- // return "'"+colas+'\':(typeof '+colexp+' != "undefined")?1:0,';
- // } else {
- return "'" + colas + "':(typeof " + colexp + ' != "undefined")?1:0,';
- }
-
- // else if(col.aggregatorid == 'MIN') { return "'"+col.as+'\':r[\''+col.as+'\'],'; }
- // else if(col.aggregatorid == 'MAX') { return "'"+col.as+'\':r[\''+col.as+'\'],'; }
- } else if (col.aggregatorid === 'AVG') {
- query.removeKeys.push('_SUM_' + colas);
- query.removeKeys.push('_COUNT_' + colas);
-
- return (
- '' +
- "'" +
- colas +
- "':" +
- colexp +
- ",'_SUM_" +
- colas +
- "':(" +
- colexp +
- ")||0,'_COUNT_" +
- colas +
- "':(typeof " +
- colexp +
- ' != "undefined")?1:0,'
- );
- } else if (col.aggregatorid === 'AGGR') {
- aft += ",g['" + colas + "']=" + col.expression.toJS('g', -1);
- return '';
- } else if (col.aggregatorid === 'REDUCE') {
- // query.removeKeys.push('_REDUCE_'+colas);
- query.aggrKeys.push(col);
-
- // return "'"+colas+'\':alasql.aggr[\''+col.funcid+'\']('+colexp+',undefined,(acc={}),1),'
- // +'\'__REDUCE__'+colas+'\':acc,';
- return (
- "'" +
- colas +
- "':alasql.aggr['" +
- col.funcid +
- "'](" +
- colexp +
- ',undefined,1),'
- );
- }
- return '';
- }
-
- return '';
- })
- .join('');
-
- s += '}' + aft + ',g));' + aft2 + '} else {';
-
- /*
- // var neggroup = arrayDiff(allgroups,agroup);
-
- // s += neggroup.map(function(columnid){
- // return "g['"+columnid+"']=null;";
- // }).join('');
-*/
-
- // s += self.columns.map(function(col){
- s += query.selectGroup
- .map(function(col) {
- var colas = col.nick;
-
- var colexp = col.expression.toJS('p', tableid, defcols);
-
- if (col instanceof yy.AggrValue) {
- var pre = '',
- post = '';
- if (col.distinct) {
- var pre =
- 'if(typeof ' +
- colexp +
- '!="undefined" && (!g[\'$$_VALUES_' +
- colas +
- "'][" +
- colexp +
- '])) \
- {';
- var post = "g['$$_VALUES_" + colas + "'][" + colexp + ']=true;}';
- }
- if (col.aggregatorid === 'SUM') {
- return pre + "g['" + colas + "']+=(" + colexp + '||0);' + post; //f.field.arguments[0].toJS();
- } else if (col.aggregatorid === 'COUNT') {
-
- if (col.expression.columnid === '*') {
- return pre + "g['" + colas + "']++;" + post;
- } else {
- return (
- pre +
- 'if(typeof ' +
- colexp +
- '!="undefined") g[\'' +
- colas +
- "']++;" +
- post
- );
- }
- } else if (col.aggregatorid === 'ARRAY') {
- return pre + "g['" + colas + "'].push(" + colexp + ');' + post;
- } else if (col.aggregatorid === 'MIN') {
- return (
- pre +
- "g['" +
- colas +
- "']=Math.min(g['" +
- colas +
- "']," +
- colexp +
- ');' +
- post
- );
- } else if (col.aggregatorid === 'MAX') {
- return (
- pre +
- "g['" +
- colas +
- "']=Math.max(g['" +
- colas +
- "']," +
- colexp +
- ');' +
- post
- );
- } else if (col.aggregatorid === 'FIRST') {
- return '';
- } else if (col.aggregatorid === 'LAST') {
- return pre + "g['" + colas + "']=" + colexp + ';' + post;
- } else if (col.aggregatorid === 'AVG') {
- return (
- '' +
- pre +
- "g['_SUM_" +
- colas +
- "']+=(y=" +
- colexp +
- ')||0;' +
- "g['_COUNT_" +
- colas +
- '\']+=(typeof y!="undefined")?1:0;' +
- "g['" +
- colas +
- "']=g['_SUM_" +
- colas +
- "']/g['_COUNT_" +
- colas +
- "'];" +
- post
- );
- // }
- // else if(col.aggregatorid == 'AVG') { srg.push(colas+':0'); }
- } else if (col.aggregatorid === 'AGGR') {
- return (
- '' +
- pre +
- "g['" +
- colas +
- "']=" +
- col.expression.toJS('g', -1) +
- ';' +
- post
- );
- } else if (col.aggregatorid === 'REDUCE') {
- return (
- '' +
- pre +
- "g['" +
- colas +
- "']=alasql.aggr." +
- col.funcid +
- '(' +
- colexp +
- ",g['" +
- colas +
- "'],2);" +
- post
- );
- }
-
- return '';
- }
-
- return '';
- })
- .join('');
-
- // s += selectFields.map(function(f){
-
- // if(f.constructor.name == 'LiteralValue') return '';
- // if (f.field instanceof SQLParser.nodes.FunctionValue
- // && (f.field.name.toUpperCase() == 'SUM' || f.field.name.toUpperCase() == 'COUNT')) {
- // return 'group.'+f.name.value+'=+(+group.'+f.name.value+'||0)+'+f.field.arguments[0].toJS('rec','')+';'; //f.field.arguments[0].toJS();
- // return 'group.'+f.name.value+'+='+f.field.arguments[0].toJS('rec','')+';'; //f.field.arguments[0].toJS();
- // return 'group.'+f.name.value+'+=rec.'+f.name.value+';'; //f.field.arguments[0].toJS();
- // };
- // return '';
- // }).join('');
-
- // s += ' group.amt += rec.emplid;';
- // s += 'group.count++;';
- s += '}';
- });
-
- return new Function('p,params,alasql', 'var y;' + s);
-};
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// yy.Select.prototype.compileSources = function(query) {
-
-// };
-
-function compileSelectStar(query, alias, joinstar) {
-
- var sp = '',
- ss = [];
- // if(!alias) {
- // sp += 'for(var k1 in p) var w=p[k1];for(var k2 in w){r[k2]=w[k2]};';
- // } else {
-
- // TODO move this out of this function
- query.ixsources = {};
- query.sources.forEach(function(source) {
- query.ixsources[source.alias] = source;
- });
-
- // Fixed
- var columns;
- if (query.ixsources[alias]) {
- var columns = query.ixsources[alias].columns;
- }
-
- // if(columns.length == 0 && query.aliases[alias].tableid) {
- // var columns = alasql.databases[query.aliases[alias].databaseid].tables[query.aliases[alias].tableid].columns;
- // };
-
- // Check if this is a Table or other
- if (joinstar && alasql.options.joinstar == 'json') {
- sp += "r['" + alias + "']={};";
- }
-
- if (columns && columns.length > 0) {
- columns.forEach(function(tcol) {
- if (joinstar && alasql.options.joinstar == 'underscore') {
- ss.push(
- "'" +
- alias +
- '_' +
- tcol.columnid +
- "':p['" +
- alias +
- "']['" +
- tcol.columnid +
- "']"
- );
- } else if (joinstar && alasql.options.joinstar == 'json') {
- // ss.push('\''+alias+'_'+tcol.columnid+'\':p[\''+alias+'\'][\''+tcol.columnid+'\']');
- sp +=
- "r['" +
- alias +
- "']['" +
- tcol.columnid +
- "']=p['" +
- alias +
- "']['" +
- tcol.columnid +
- "'];";
- } else {
- ss.push("'" + tcol.columnid + "':p['" + alias + "']['" + tcol.columnid + "']");
- }
-
- query.selectColumns[escapeq(tcol.columnid)] = true;
-
- var coldef = {
- columnid: tcol.columnid,
- dbtypeid: tcol.dbtypeid,
- dbsize: tcol.dbsize,
- dbprecision: tcol.dbprecision,
- dbenum: tcol.dbenum,
- };
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- });
-
- } else {
-
- // if column not exists, then copy all
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
-
- query.dirtyColumns = true;
- }
- // }
-
- return {s: ss.join(','), sp: sp};
-}
-
-yy.Select.prototype.compileSelect1 = function(query, params) {
- var self = this;
- query.columns = [];
- query.xcolumns = {};
- query.selectColumns = {};
- query.dirtyColumns = false;
- var s = 'var r={';
- var sp = '';
- var ss = [];
-
- this.columns.forEach(function(col) {
-
- if (col instanceof yy.Column) {
- if (col.columnid === '*') {
- if (col.func) {
- sp +=
- "r=params['" +
- col.param +
- "'](p['" +
- query.sources[0].alias +
- "'],p,params,alasql);";
- } else if (col.tableid) {
- //Copy all
- var ret = compileSelectStar(query, col.tableid, false);
- if (ret.s) {
- ss = ss.concat(ret.s);
- }
- sp += ret.sp;
- } else {
-
- for (var alias in query.aliases) {
- var ret = compileSelectStar(query, alias, true); //query.aliases[alias].tableid);
- if (ret.s) {
- ss = ss.concat(ret.s);
- }
- sp += ret.sp;
- }
- // TODO Remove these lines
- // In case of no information
- // sp += 'for(var k1 in p){var w=p[k1];'+
- // 'for(k2 in w) {r[k2]=w[k2]}}'
- }
- } else {
- // If field, otherwise - expression
- var tbid = col.tableid;
-
- var dbid =
- col.databaseid || query.sources[0].databaseid || query.database.databaseid;
- if (!tbid) tbid = query.defcols[col.columnid];
- if (!tbid) tbid = query.defaultTableid;
- if (col.columnid !== '_') {
- if (
- false &&
- tbid &&
- !query.defcols['.'][col.tableid] &&
- !query.defcols[col.columnid]
- ) {
- ss.push(
- "'" +
- escapeq(col.as || col.columnid) +
- "':p['" +
- query.defaultTableid +
- "']['" +
- col.tableid +
- "']['" +
- col.columnid +
- "']"
- );
- } else {
- // workaround for multisheet xlsx export with custom COLUMNS
- var isMultisheetParam =
- params &&
- params.length > 1 &&
- Array.isArray(params[0]) &&
- params[0].length >= 1 &&
- params[0][0].hasOwnProperty('sheetid');
- if (isMultisheetParam) {
- sp =
- 'var r={};var w=p["' +
- tbid +
- '"];' +
- 'var cols=[' +
- self.columns
- .map(function(col) {
- return "'" + col.columnid + "'";
- })
- .join(',') +
- '];var colas=[' +
- self.columns
- .map(function(col) {
- return "'" + (col.as || col.columnid) + "'";
- })
- .join(',') +
- '];' +
- "for (var i=0;i 0) {
-
- var tcol = xcolumns[col.columnid];
-
- if (undefined === tcol) {
- throw new Error('Column does not exists: ' + col.columnid);
- }
-
- var coldef = {
- columnid: col.as || col.columnid,
- dbtypeid: tcol.dbtypeid,
- dbsize: tcol.dbsize,
- dbpecision: tcol.dbprecision,
- dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- } else {
- var coldef = {
- columnid: col.as || col.columnid,
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
-
- query.dirtyColumns = true;
- }
- } else {
- var coldef = {
- columnid: col.as || col.columnid,
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- // This is a subquery?
- // throw new Error('There is now such table \''+col.tableid+'\'');
- }
- }
- } else if (col instanceof yy.AggrValue) {
- if (!self.group) {
- // self.group=[new yy.Column({columnid:'q',as:'q' })];
- self.group = [''];
- }
- if (!col.as) {
- col.as = escapeq(col.toString());
- }
-
- if (
- col.aggregatorid === 'SUM' ||
- col.aggregatorid === 'MAX' ||
- col.aggregatorid === 'MIN' ||
- col.aggregatorid === 'FIRST' ||
- col.aggregatorid === 'LAST' ||
- col.aggregatorid === 'AVG' ||
- col.aggregatorid === 'ARRAY' ||
- col.aggregatorid === 'REDUCE'
- ) {
- ss.push(
- "'" +
- escapeq(col.as) +
- "':" +
- n2u(col.expression.toJS('p', query.defaultTableid, query.defcols))
- );
- } else if (col.aggregatorid === 'COUNT') {
- ss.push("'" + escapeq(col.as) + "':1");
- // Nothing
- }
- // todo: confirm that no default action must be implemented
-
- // query.selectColumns[col.aggregatorid+'('+escapeq(col.expression.toString())+')'] = thtd;
-
- var coldef = {
- columnid: col.as || col.columnid || col.toString(),
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
-
- // else if (col.aggregatorid == 'MAX') {
- // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
- // } else if (col.aggregatorid == 'MIN') {
- // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
- // }
- } else {
-
- ss.push(
- "'" +
- escapeq(col.as || col.columnid || col.toString()) +
- "':" +
- n2u(col.toJS('p', query.defaultTableid, query.defcols))
- );
- // ss.push('\''+escapeq(col.toString())+'\':'+col.toJS("p",query.defaultTableid));
- //if(col instanceof yy.Expression) {
- query.selectColumns[escapeq(col.as || col.columnid || col.toString())] = true;
-
- var coldef = {
- columnid: col.as || col.columnid || col.toString(),
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- }
- });
- s += ss.join(',') + '};' + sp;
- return s;
-
-};
-yy.Select.prototype.compileSelect2 = function(query) {
- var s = query.selectfns;
- if (this.orderColumns && this.orderColumns.length > 0) {
- this.orderColumns.forEach(function(v, idx) {
- var key = '$$$' + idx;
- if (v instanceof yy.Column && query.xcolumns[v.columnid]) {
- s += "r['" + key + "']=r['" + v.columnid + "'];";
- } else {
- s += "r['" + key + "']=" + v.toJS('p', query.defaultTableid, query.defcols) + ';';
- }
- query.removeKeys.push(key);
- });
- }
-
- return new Function('p,params,alasql', 'var y;' + s + 'return r');
-};
-
-yy.Select.prototype.compileSelectGroup0 = function(query) {
- var self = this;
- self.columns.forEach(function(col, idx) {
- if (!(col instanceof yy.Column && col.columnid === '*')) {
- var colas;
- // = col.as;
- if (col instanceof yy.Column) {
- colas = escapeq(col.columnid);
- } else {
- colas = escapeq(col.toString(true));
-
- }
- for (var i = 0; i < idx; i++) {
- if (colas === self.columns[i].nick) {
- colas = self.columns[i].nick + ':' + idx;
- break;
- }
- }
- // }
- col.nick = colas;
- if (
- col.funcid &&
- (col.funcid.toUpperCase() === 'ROWNUM' || col.funcid.toUpperCase() === 'ROW_NUMBER')
- ) {
- query.rownums.push(col.as);
- }
-
- // }
- } else {
- query.groupStar = col.tableid || 'default';
- }
- });
-
- this.columns.forEach(function(col) {
- if (col.findAggregator) {
- col.findAggregator(query);
- }
- });
-
- if (this.having) {
- if (this.having.findAggregator) {
- this.having.findAggregator(query);
- }
- }
-};
-
-yy.Select.prototype.compileSelectGroup1 = function(query) {
- var self = this;
- var s = 'var r = {};';
-
- self.columns.forEach(function(col) {
-
- if (col instanceof yy.Column && col.columnid === '*') {
- // s += 'for(var k in g){r[k]=g[k]};';
- // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
-
- s += 'for(var k in g) {r[k]=g[k]};';
- return '';
-
- } else {
- // var colas = col.as;
- var colas = col.as;
- if (colas === undefined) {
- if (col instanceof yy.Column) {
- colas = escapeq(col.columnid);
- } else {
- colas = col.nick;
- }
- }
- query.groupColumns[colas] = col.nick;
-
- // if(col.as) {
- s += "r['" + colas + "']=";
- // // } else {
- // // s += 'r[\''+escapeq()+'\']=';
- // // };
- // // s += ';';
-
- s += n2u(col.toJS('g', '')) + ';';
-
- for (var i = 0; i < query.removeKeys.length; i++) {
- // THis part should be intellectual
- if (query.removeKeys[i] === colas) {
- query.removeKeys.splice(i, 1);
- break;
- }
- }
- }
- });
- // return new Function('g,params,alasql',s+'return r');
- return s;
-};
-
-yy.Select.prototype.compileSelectGroup2 = function(query) {
- var self = this;
- var s = query.selectgfns;
- self.columns.forEach(function(col) {
-
- if (query.ingroup.indexOf(col.nick) > -1) {
- s += "r['" + (col.as || col.nick) + "']=g['" + col.nick + "'];";
- }
- });
-
- if (this.orderColumns && this.orderColumns.length > 0) {
- this.orderColumns.forEach(function(v, idx) {
-
- var key = '$$$' + idx;
-
- if (v instanceof yy.Column && query.groupColumns[v.columnid]) {
- s += "r['" + key + "']=r['" + v.columnid + "'];";
- } else {
- s += "r['" + key + "']=" + v.toJS('g', '') + ';';
- }
- query.removeKeys.push(key);
- });
- }
-
- return new Function('g,params,alasql', 'var y;' + s + 'return r');
-};
-
-// SELECY * REMOVE [COLUMNS] col-list, LIKE ''
-yy.Select.prototype.compileRemoveColumns = function(query) {
- var self = this;
- if (typeof this.removecolumns !== 'undefined') {
- query.removeKeys = query.removeKeys.concat(
- this.removecolumns
- .filter(function(column) {
- return typeof column.like === 'undefined';
- })
- .map(function(column) {
- return column.columnid;
- })
- );
-
- query.removeLikeKeys = this.removecolumns
- .filter(function(column) {
- return typeof column.like !== 'undefined';
- })
- .map(function(column) {
- // return new RegExp((column.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g');
- return column.like.value;
- });
- }
-};
-
-/* global yy */
-
-yy.Select.prototype.compileHaving = function(query) {
- if (this.having) {
- var s = this.having.toJS('g', -1);
- query.havingfns = s;
-
- return new Function('g,params,alasql', 'var y;return ' + s);
- }
-
- return function() {
- return true;
- };
-};
-
-yy.Select.prototype.compileOrder = function(query) {
- var self = this;
- self.orderColumns = [];
- if (this.order) {
-
- if (
- this.order &&
- this.order.length == 1 &&
- this.order[0].expression &&
- typeof this.order[0].expression == 'function'
- ) {
-
- var func = this.order[0].expression;
-
- return function(a, b) {
- var ra = func(a),
- rb = func(b);
- if (ra > rb) return 1;
- if (ra == rb) return 0;
- return -1;
- };
- }
-
- var s = '';
- var sk = '';
- this.order.forEach(function(ord, idx) {
-
- if (ord.expression instanceof yy.NumValue) {
- var v = self.columns[ord.expression.value - 1];
- } else {
- var v = ord.expression;
- }
- self.orderColumns.push(v);
-
- var key = '$$$' + idx;
-
- // Date conversion
- var dg = '';
- //if(alasql.options.valueof)
- if (ord.expression instanceof yy.Column) {
- var columnid = ord.expression.columnid;
- if (query.xcolumns[columnid]) {
- var dbtypeid = query.xcolumns[columnid].dbtypeid;
- if (dbtypeid == 'DATE' || dbtypeid == 'DATETIME' || dbtypeid == 'DATETIME2')
- dg = '.valueOf()';
- // TODO Add other types mapping
- } else {
- if (alasql.options.valueof) dg = '.valueOf()'; // TODO Check
- }
- // dg = '.valueOf()';
- }
- // COLLATE NOCASE
- if (ord.nocase) dg += '.toUpperCase()';
- s +=
- "if((a['" +
- key +
- "']||'')" +
- dg +
- (ord.direction == 'ASC' ? '>' : '<') +
- "(b['" +
- key +
- "']||'')" +
- dg +
- ')return 1;';
- s += "if((a['" + key + "']||'')" + dg + "==(b['" + key + "']||'')" + dg + '){';
-
- /*
-if(false) {
-
- if(ord.expression instanceof yy.NumValue) {
- ord.expression = self.columns[ord.expression.value-1];
-
- ord.expression = new yy.Column({columnid:ord.expression.nick});
- };
-
- if(ord.expression instanceof yy.Column) {
- var columnid = ord.expression.columnid;
- if(query.xcolumns[columnid]) {
- var dbtypeid = query.xcolumns[columnid].dbtypeid;
- if( dbtypeid == 'DATE' || dbtypeid == 'DATETIME' || dbtypeid == 'DATETIME2') dg = '.valueOf()';
- // TODO Add other types mapping
- } else {
- if(alasql.options.valueof) dg = '.valueOf()'; // TODO Check
- }
- // COLLATE NOCASE
- if(ord.nocase) dg += '.toUpperCase()';
-
- s += 'if((a[\''+columnid+"']||'')"+dg+(ord.direction == 'ASC'?'>':'<')+'(b[\''+columnid+"']||'')"+dg+')return 1;';
- s += 'if((a[\''+columnid+"']||'')"+dg+'==(b[\''+columnid+"']||'')"+dg+'){';
-
- } else {
- dg = '.valueOf()';
- // COLLATE NOCASE
- if(ord.nocase) dg += '.toUpperCase()';
- s += 'if(('+ord.toJS('a','')+"||'')"+dg+(ord.direction == 'ASC'?'>(':'<(')+ord.toJS('b','')+"||'')"+dg+')return 1;';
- s += 'if(('+ord.toJS('a','')+"||'')"+dg+'==('+ord.toJS('b','')+"||'')"+dg+'){';
- }
-
- // TODO Add date comparision
-
-}
-*/
- sk += '}';
- });
- s += 'return 0;';
- s += sk + 'return -1';
- query.orderfns = s;
-
- return new Function('a,b', 'var y;' + s);
- }
-};
-
-// Pivot functions
-/**
- Compile Pivot functions
- @param {object} query Source query
- @return {function} Pivoting functions
-*/
-yy.Select.prototype.compilePivot = function(query) {
- var self = this;
- /** @type {string} Main pivoting column */
-
- var columnid = self.pivot.columnid;
- var exprcolid = self.pivot.expr.expression.columnid;
- var aggr = self.pivot.expr.aggregatorid;
- var inlist = self.pivot.inlist;
-
- if (inlist) {
- inlist = inlist.map(function(l) {
- return l.expr.columnid;
- });
- }
-
- // Function for PIVOT post production
- return function() {
- var query = this;
- var cols = query.columns
- .filter(function(col) {
- return col.columnid != columnid && col.columnid != exprcolid;
- })
- .map(function(col) {
- return col.columnid;
- });
-
- var newcols = [];
- var gnewcols = {};
- var gr = {};
- var ga = {};
- var data = [];
- query.data.forEach(function(d) {
- if (!inlist || inlist.indexOf(d[columnid]) > -1) {
- var gx = cols
- .map(function(colid) {
- return d[colid];
- })
- .join('`');
- var g = gr[gx];
- if (!g) {
- g = {};
- gr[gx] = g;
- data.push(g);
- cols.forEach(function(colid) {
- g[colid] = d[colid];
- });
- }
-
- if (!ga[gx]) {
- ga[gx] = {};
- }
-
- if (ga[gx][d[columnid]]) {
- ga[gx][d[columnid]]++;
- } else {
- ga[gx][d[columnid]] = 1;
- }
-
- if (!gnewcols[d[columnid]]) {
- gnewcols[d[columnid]] = true;
- newcols.push(d[columnid]);
- }
-
- if (aggr == 'SUM' || aggr == 'AVG') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = 0;
- g[d[columnid]] += d[exprcolid];
- } else if (aggr == 'COUNT') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = 0;
- g[d[columnid]]++;
- } else if (aggr == 'MIN') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = Infinity;
- if (d[exprcolid] < g[d[columnid]]) g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'MAX') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = -Infinity;
- if (d[exprcolid] > g[d[columnid]]) g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'FIRST') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'LAST') {
- g[d[columnid]] = d[exprcolid];
- } else if (alasql.aggr[aggr]) {
- // Custom aggregator
- alasql.aggr[aggr](g[d[columnid]], d[exprcolid]);
- } else {
- throw new Error('Wrong aggregator in PIVOT clause');
- }
- }
- });
-
- if (aggr == 'AVG') {
- for (var gx in gr) {
- var d = gr[gx];
- for (var colid in d) {
- if (cols.indexOf(colid) == -1 && colid != exprcolid) {
- d[colid] = d[colid] / ga[gx][colid];
- }
- }
- }
- }
-
- // columns
- query.data = data;
-
- if (inlist) newcols = inlist;
-
- var ncol = query.columns.filter(function(col) {
- return col.columnid == exprcolid;
- })[0];
- query.columns = query.columns.filter(function(col) {
- return !(col.columnid == columnid || col.columnid == exprcolid);
- });
- newcols.forEach(function(colid) {
- var nc = cloneDeep(ncol);
- nc.columnid = colid;
- query.columns.push(nc);
- });
- };
-};
-
-// var columnid = this.pivot.columnid;
-
-// return function(data){
-
-// if(false) {
-
-// }
-
-// if(false) {
-
-// }
-// };
-
-/**
- Compile UNPIVOT clause
- @param {object} query Query object
- @return {function} Function for unpivoting
-*/
-yy.Select.prototype.compileUnpivot = function(query) {
- var self = this;
- var tocolumnid = self.unpivot.tocolumnid;
- var forcolumnid = self.unpivot.forcolumnid;
- var inlist = self.unpivot.inlist.map(function(l) {
- return l.columnid;
- });
-
- return function() {
- var data = [];
-
- var xcols = query.columns
- .map(function(col) {
- return col.columnid;
- })
- .filter(function(colid) {
- return inlist.indexOf(colid) == -1 && colid != forcolumnid && colid != tocolumnid;
- });
-
- query.data.forEach(function(d) {
- inlist.forEach(function(colid) {
- var nd = {};
- xcols.forEach(function(xcolid) {
- nd[xcolid] = d[xcolid];
- });
- nd[forcolumnid] = colid;
- nd[tocolumnid] = d[colid];
- data.push(nd);
- });
- });
-
- query.data = data;
-
- // });
- };
-};
-
-/*
-//
-// ROLLUP(), CUBE(), GROUPING SETS() for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Calculate ROLLUP() combination
- */
-
-var rollup = function(a, query) {
- var rr = [];
- var mask = 0;
- var glen = a.length;
- for (var g = 0; g < glen + 1; g++) {
- var ss = [];
- for (var i = 0; i < glen; i++) {
- if (a[i] instanceof yy.Column) {
- a[i].nick = escapeq(a[i].columnid);
-
- query.groupColumns[escapeq(a[i].columnid)] = a[i].nick;
- var aaa = a[i].nick + '\t' + a[i].toJS('p', query.sources[0].alias, query.defcols);
- } else {
- query.groupColumns[escapeq(a[i].toString())] = escapeq(a[i].toString());
- var aaa =
- escapeq(a[i].toString()) +
- '\t' +
- a[i].toJS('p', query.sources[0].alias, query.defcols);
- }
-
- if (mask & (1 << i)) ss.push(aaa);
- }
- rr.push(ss);
- mask = (mask << 1) + 1;
- }
- return rr;
-};
-
-/**
- Calculate CUBE()
- */
-var cube = function(a, query) {
- var rr = [];
- var glen = a.length;
- var glenCube = 1 << glen;
- for (var g = 0; g < glenCube; g++) {
- var ss = [];
- for (var i = 0; i < glen; i++) {
- if (g & (1 << i))
- //ss.push(a[i]);
- //ss = cartes(ss,decartes(a[i]));
-
- // var aaa = a[i].toString()+'\t'
- // +a[i].toJS('p',query.sources[0].alias,query.defcols);
-
- ss = ss.concat(decartes(a[i], query));
- //
- }
- rr.push(ss);
- }
- return rr;
-};
-
-/**
- GROUPING SETS()
- */
-var groupingsets = function(a, query) {
- return a.reduce(function(acc, d) {
- acc = acc.concat(decartes(d, query));
- return acc;
- }, []);
-};
-
-/**
- Cartesian production
- */
-var cartes = function(a1, a2) {
- var rrr = [];
- for (var i1 = 0; i1 < a1.length; i1++) {
- for (var i2 = 0; i2 < a2.length; i2++) {
- rrr.push(a1[i1].concat(a2[i2]));
- }
- }
- return rrr;
-};
-
-/**
- Prepare groups function
- */
-function decartes(gv, query) {
-
- if (Array.isArray(gv)) {
- var res = [[]];
- for (var t = 0; t < gv.length; t++) {
- if (gv[t] instanceof yy.Column) {
-
- gv[t].nick = escapeq(gv[t].columnid);
- query.groupColumns[gv[t].nick] = gv[t].nick;
- res = res.map(function(r) {
- return r.concat(
- gv[t].nick + '\t' + gv[t].toJS('p', query.sources[0].alias, query.defcols)
- );
- });
- // res = res.map(function(r){return r.concat(gv[t].columnid)});
- } else if (gv[t] instanceof yy.FuncValue) {
- query.groupColumns[escapeq(gv[t].toString())] = escapeq(gv[t].toString());
- res = res.map(function(r) {
- return r.concat(
- escapeq(gv[t].toString()) +
- '\t' +
- gv[t].toJS('p', query.sources[0].alias, query.defcols)
- );
- });
- // to be defined
- } else if (gv[t] instanceof yy.GroupExpression) {
- if (gv[t].type == 'ROLLUP') res = cartes(res, rollup(gv[t].group, query));
- else if (gv[t].type == 'CUBE') res = cartes(res, cube(gv[t].group, query));
- else if (gv[t].type == 'GROUPING SETS')
- res = cartes(res, groupingsets(gv[t].group, query));
- else throw new Error('Unknown grouping function');
- } else if (gv[t] === '') {
-
- res = [['1\t1']];
- } else {
- // if(gv[t])
-
- res = res.map(function(r) {
- query.groupColumns[escapeq(gv[t].toString())] = escapeq(gv[t].toString());
- return r.concat(
- escapeq(gv[t].toString()) +
- '\t' +
- gv[t].toJS('p', query.sources[0].alias, query.defcols)
- );
- });
- // res = res.concat(gv[t]);
- }
-
- }
- return res;
- } else if (gv instanceof yy.FuncValue) {
-
- query.groupColumns[escapeq(gv.toString())] = escapeq(gv.toString());
- return [gv.toString() + '\t' + gv.toJS('p', query.sources[0].alias, query.defcols)];
- } else if (gv instanceof yy.Column) {
- gv.nick = escapeq(gv.columnid);
- query.groupColumns[gv.nick] = gv.nick;
- return [gv.nick + '\t' + gv.toJS('p', query.sources[0].alias, query.defcols)]; // Is this ever happened?
- // } else if(gv instanceof yy.Expression) {
- // return [gv.columnid]; // Is this ever happened?
- } else {
- query.groupColumns[escapeq(gv.toString())] = escapeq(gv.toString());
- return [
- escapeq(gv.toString()) + '\t' + gv.toJS('p', query.sources[0].alias, query.defcols),
- ];
- // throw new Error('Single argument in the group without array');
- }
-
-}
-
-/*
-//
-// Select run-time part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Select.prototype.compileDefCols = function(query, databaseid) {
-
- var defcols = {'.': {}};
- if (this.from) {
- this.from.forEach(function(fr) {
- defcols['.'][fr.as || fr.tableid] = true;
- if (fr instanceof yy.Table) {
- var alias = fr.as || fr.tableid;
-
- var table = alasql.databases[fr.databaseid || databaseid].tables[fr.tableid];
-
- if (undefined === table) {
- throw new Error('Table does not exists: ' + fr.tableid);
- }
-
- if (table.columns) {
- table.columns.forEach(function(col) {
- if (defcols[col.columnid]) {
- defcols[col.columnid] = '-'; // Ambigous
- } else {
- defcols[col.columnid] = alias;
- }
- });
- }
- } else if (fr instanceof yy.Select) {
- } else if (fr instanceof yy.Search) {
- } else if (fr instanceof yy.ParamValue) {
- } else if (fr instanceof yy.VarValue) {
- } else if (fr instanceof yy.FuncValue) {
- } else if (fr instanceof yy.FromData) {
- } else if (fr instanceof yy.Json) {
- } else if (fr.inserted) {
- } else {
-
- throw new Error('Unknown type of FROM clause');
- }
- });
- }
-
- if (this.joins) {
- this.joins.forEach(function(jn) {
- defcols['.'][jn.as || jn.table.tableid] = true;
-
- if (jn.table) {
- var alias = jn.table.tableid;
- if (jn.as) alias = jn.as;
- var alias = jn.as || jn.table.tableid;
- var table =
- alasql.databases[jn.table.databaseid || databaseid].tables[jn.table.tableid];
-
- if (table.columns) {
- table.columns.forEach(function(col) {
- if (defcols[col.columnid]) {
- defcols[col.columnid] = '-'; // Ambigous
- } else {
- defcols[col.columnid] = alias;
- }
- });
- }
- } else if (jn.select) {
- } else if (jn.param) {
- } else if (jn.func) {
- } else {
- throw new Error('Unknown type of FROM clause');
- }
- });
- }
- // for(var k in defcols) {
- // if(defcols[k] == '-') defcols[k] = undefined;
- // }
-
- return defcols;
-};
-
-/*
-//
-// UNION for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// SELECT UNION statement
-
-yy.Union = function(params) {
- return yy.extend(this, params);
-};
-yy.Union.prototype.toString = function() {
- return 'UNION';
-};
-
-yy.Union.prototype.compile = function(tableid) {
- return null;
-};
-
-/*
-//
-// CROSS AND OUTER APPLY for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Apply = function(params) {
- return yy.extend(this, params);
-};
-
-yy.Apply.prototype.toString = function() {
- var s = this.applymode + ' APPLY (' + this.select.toString() + ')';
-
- if (this.as) s += ' AS ' + this.as;
-
- return s;
-};
-
-/*
-//
-// CROSS AND OUTER APPLY for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Over = function(params) {
- return yy.extend(this, params);
-};
-yy.Over.prototype.toString = function() {
- var s = 'OVER (';
- if (this.partition) {
- s += 'PARTITION BY ' + this.partition.toString();
- if (this.order) s += ' ';
- }
- if (this.order) {
- s += 'ORDER BY ' + this.order.toString();
- }
- s += ')';
- return s;
-};
-
-/*
-//
-// Expressions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Expression statement ( = 2*2; )
- @class
- @param {object} params Initial parameters
-*/
-yy.ExpressionStatement = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Convert AST to string
- @this ExpressionStatement
- @return {string}
-*/
-yy.ExpressionStatement.prototype.toString = function() {
- return this.expression.toString();
-};
-/**
- Execute statement
- @param {string} databaseid Database identificatro
- @param {object} params Statement parameters
- @param {statement-callback} cb Callback
- @return {object} Result value
-*/
-yy.ExpressionStatement.prototype.execute = function(databaseid, params, cb) {
- if (this.expression) {
-
- alasql.precompile(this, databaseid, params); // Precompile queries
- var exprfn = new Function(
- 'params,alasql,p',
- 'var y;return ' + this.expression.toJS('({})', '', null)
- ).bind(this);
- var res = exprfn(params, alasql);
- if (cb) {
- res = cb(res);
- }
- return res;
- }
-};
-
-/**
- Expression class
- @class
- @param {object} params Initial parameters
-*/
-
-yy.Expression = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Convert AST to string
- @this ExpressionStatement
- @return {string}
-*/
-yy.Expression.prototype.toString = function(dontas) {
- var s = this.expression.toString(dontas);
- if (this.order) {
- s += ' ' + this.order.toString();
- }
- if (this.nocase) {
- s += ' COLLATE NOCASE';
- }
- if (this.direction) {
- s += ' ' + this.direction;
- }
- return s;
-};
-
-/**
- Find aggregator in AST subtree
- @this ExpressionStatement
- @param {object} query Query object
-*/
-yy.Expression.prototype.findAggregator = function(query) {
- if (this.expression.findAggregator) {
- this.expression.findAggregator(query);
- }
-};
-
-/**
- Convert AST to JavaScript expression
- @this ExpressionStatement
- @param {string} context Context string, e.g. 'p','g', or 'x'
- @param {string} tableid Default table name
- @param {object} defcols Default columns dictionary
- @return {string} JavaScript expression
-*/
-
-yy.Expression.prototype.toJS = function(context, tableid, defcols) {
-
- if (this.expression.reduced) {
- return 'true';
- }
- return this.expression.toJS(context, tableid, defcols);
-};
-
-/**
- Compile AST to JavaScript expression
- @this ExpressionStatement
- @param {string} context Context string, e.g. 'p','g', or 'x'
- @param {string} tableid Default table name
- @param {object} defcols Default columns dictionary
- @return {string} JavaScript expression
-*/
-
-yy.Expression.prototype.compile = function(context, tableid, defcols) {
-
- if (this.reduced) {
- return returnTrue();
- }
- return new Function('p', 'var y;return ' + this.toJS(context, tableid, defcols));
-};
-
-/**
- JavaScript class
- @class
-*/
-yy.JavaScript = function(params) {
- return yy.extend(this, params);
-};
-yy.JavaScript.prototype.toString = function() {
- var s = '``' + this.value + '``';
- return s;
-};
-
-yy.JavaScript.prototype.toJS = function(/* context, tableid, defcols*/) {
-
- return '(' + this.value + ')';
-};
-yy.JavaScript.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- var expr = new Function('params,alasql,p', this.value);
- expr(params, alasql);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-/**
- Literal class
- @class
- @example
- MyVar, [My vairable], `MySQL variable`
-*/
-
-yy.Literal = function(params) {
- return yy.extend(this, params);
-};
-yy.Literal.prototype.toString = function(dontas) {
- var s = this.value;
- if (this.value1) {
- s = this.value1 + '.' + s;
- }
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- // else s = tableid+'.'+s;
- return s;
-};
-
-/**
- Join class
- @class
-*/
-
-yy.Join = function(params) {
- return yy.extend(this, params);
-};
-yy.Join.prototype.toString = function() {
- var s = ' ';
- if (this.joinmode) {
- s += this.joinmode + ' ';
- }
- s += 'JOIN ' + this.table.toString();
- return s;
-};
-
-// }
-
-/**
- Table class
- @class
-*/
-
-yy.Table = function(params) {
- return yy.extend(this, params);
-};
-yy.Table.prototype.toString = function() {
- var s = this.tableid;
- // if(this.joinmode)
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- return s;
-};
-
-/**
- View class
- @class
-*/
-
-yy.View = function(params) {
- return yy.extend(this, params);
-};
-yy.View.prototype.toString = function() {
- var s = this.viewid;
- // if(this.joinmode)
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- return s;
-};
-
-/**
- Binary operation class
- @class
-*/
-yy.Op = function(params) {
- return yy.extend(this, params);
-};
-yy.Op.prototype.toString = function() {
- if (this.op === 'IN' || this.op === 'NOT IN') {
- return this.left.toString() + ' ' + this.op + ' (' + this.right.toString() + ')';
- }
- if (this.allsome) {
- return (
- this.left.toString() +
- ' ' +
- this.op +
- ' ' +
- this.allsome +
- ' (' +
- this.right.toString() +
- ')'
- );
- }
- if (this.op === '->' || this.op === '!') {
- var s = this.left.toString() + this.op;
-
- if (typeof this.right !== 'string' && typeof this.right !== 'number') {
- s += '(';
- }
-
- s += this.right.toString();
-
- if (typeof this.right !== 'string' && typeof this.right !== 'number') {
- s += ')';
- }
-
- return s;
- }
- return (
- this.left.toString() +
- ' ' +
- this.op +
- ' ' +
- (this.allsome ? this.allsome + ' ' : '') +
- this.right.toString()
- );
-};
-
-yy.Op.prototype.findAggregator = function(query) {
-
- if (this.left && this.left.findAggregator) {
- this.left.findAggregator(query);
- }
- // Do not go in > ALL
- if (this.right && this.right.findAggregator && !this.allsome) {
- this.right.findAggregator(query);
- }
-};
-
-yy.Op.prototype.toType = function(tableid) {
- if (['-', '*', '/', '%', '^'].indexOf(this.op) > -1) {
- return 'number';
- }
- if (['||'].indexOf(this.op) > -1) {
- return 'string';
- }
- if (this.op === '+') {
- if (this.left.toType(tableid) === 'string' || this.right.toType(tableid) === 'string') {
- return 'string';
- }
- if (this.left.toType(tableid) === 'number' || this.right.toType(tableid) === 'number') {
- return 'number';
- }
- }
-
- if (
- [
- 'AND',
- 'OR',
- 'NOT',
- '=',
- '==',
- '===',
- '!=',
- '!==',
- '!===',
- '>',
- '>=',
- '<',
- '<=',
- 'IN',
- 'NOT IN',
- 'LIKE',
- 'NOT LIKE',
- 'REGEXP',
- 'GLOB',
- ].indexOf(this.op) > -1
- ) {
- return 'boolean';
- }
-
- if (
- this.op === 'BETWEEN' ||
- this.op === 'NOT BETWEEN' ||
- this.op === 'IS NULL' ||
- this.op === 'IS NOT NULL'
- ) {
- return 'boolean';
- }
-
- if (this.allsome) {
- return 'boolean';
- }
-
- if (!this.op) {
- return this.left.toType();
- }
-
- return 'unknown';
-};
-
-yy.Op.prototype.toJS = function(context, tableid, defcols) {
-
- var s;
- var refs = [];
- var op = this.op;
- var _this = this;
- //var leftJS = function(){return _this.left.toJS(context,tableid, defcols)};
- //var rightJS = function(){return _this.right.toJS(context,tableid, defcols)};
- var accessedLeft = false,
- accessedRight = false;
- var ref = function(expr) {
- if (expr.toJS) {
- expr = expr.toJS(context, tableid, defcols);
- }
- var i = refs.push(expr) - 1;
- return 'y[' + i + ']';
- };
- var leftJS = function() {
- return ref(_this.left);
- };
- var rightJS = function() {
- return ref(_this.right);
- };
-
- if (this.op === '=') {
- op = '===';
- } else if (this.op === '<>') {
- op = '!=';
- } else if (this.op === 'OR') {
- op = '||';
- }
-
- // Arrow operator
- if (this.op === '->') {
- // Expression to prevent error if object is empty (#344)
- var ljs = '(' + leftJS() + '||{})';
-
- if (typeof this.right === 'string') {
- s = ljs + '["' + this.right + '"]';
- } else if (typeof this.right === 'number') {
- s = ljs + '[' + this.right + ']';
- } else if (this.right instanceof yy.FuncValue) {
- var ss = [];
- if (!(!this.right.args || 0 === this.right.args.length)) {
- var ss = this.right.args.map(ref);
- }
- s = '' + ljs + "['" + this.right.funcid + "'](" + ss.join(',') + ')';
- } else {
- s = '' + ljs + '[' + rightJS() + ']';
- }
- }
-
- if (this.op === '!') {
- if (typeof this.right === 'string') {
- s =
- '' +
- 'alasql.databases[alasql.useid].objects[' +
- leftJS() +
- ']["' +
- this.right +
- '"]';
- }
- // TODO - add other cases
- }
-
- if (this.op === 'IS') {
- s =
- '' +
- '(' +
- '(' +
- leftJS() +
- '==null)' + // Cant be ===
- ' === ' +
- '(' +
- rightJS() +
- '==null)' + // Cant be ===
- ')';
- }
-
- if (this.op === '==') {
- s = '' + 'alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + ')';
- }
-
- if (this.op === '===' || this.op === '!===') {
- s =
- '' +
- '(' +
- (this.op === '!===' ? '!' : '') +
- '(' +
- '(' +
- leftJS() +
- ').valueOf()' +
- '===' +
- '(' +
- rightJS() +
- ').valueOf()' +
- ')' +
- ')';
- }
-
- if (this.op === '!==') {
- s = '' + '(!alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + '))';
- }
- if (this.op === '||') {
- s = '' + "(''+(" + leftJS() + "||'')+(" + rightJS() + '||""))';
- }
- if (this.op === 'LIKE' || this.op === 'NOT LIKE') {
- var s =
- '(' +
- (this.op === 'NOT LIKE' ? '!' : '') +
- 'alasql.utils.like(' +
- rightJS() +
- ',' +
- leftJS();
- if (this.escape) {
- s += ',' + ref(this.escape);
- }
- s += '))';
- }
- if (this.op === 'REGEXP') {
- s = 'alasql.stdfn.REGEXP_LIKE(' + leftJS() + ',' + rightJS() + ')';
- }
- if (this.op === 'GLOB') {
- s = 'alasql.utils.glob(' + leftJS() + ',' + rightJS() + ')';
- }
-
- if (this.op === 'BETWEEN' || this.op === 'NOT BETWEEN') {
- var left = leftJS();
- s =
- '' +
- '(' +
- (this.op === 'NOT BETWEEN' ? '!' : '') +
- '(' +
- '(' +
- ref(this.right1) +
- '<=' +
- left +
- ') && (' +
- left +
- '<=' +
- ref(this.right2) +
- ')' +
- ')' +
- ')';
-
- }
-
- if (this.op === 'IN') {
- if (this.right instanceof yy.Select) {
- s = '(';
- // s += 'this.query.queriesdata['+this.queriesidx+']';
- // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,context))';
- s +=
- 'alasql.utils.flatArray(this.queriesfn[' +
- this.queriesidx +
- '](params,null,' +
- context +
- '))';
- s += '.indexOf(';
- s += leftJS() + ')>-1)';
- } else if (Array.isArray(this.right)) {
- // if(this.right.length == 0) return 'false';
- s = '([' + this.right.map(ref).join(',') + '].indexOf(' + leftJS() + ')>-1)';
-
- } else {
- s = '(' + rightJS() + '.indexOf(' + leftJS() + ')>-1)';
-
- // } else {
- // throw new Error('Wrong IN operator without SELECT part');
- }
- }
-
- if (this.op === 'NOT IN') {
- if (this.right instanceof yy.Select) {
- s = '(';
- //this.query.queriesdata['+this.queriesidx+']
- // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,p))';
- s += 'alasql.utils.flatArray(this.queriesfn[' + this.queriesidx + '](params,null,p))';
- s += '.indexOf(';
- s += leftJS() + ')<0)';
- } else if (Array.isArray(this.right)) {
- // if(this.right.length == 0) return 'true';
- s = '([' + this.right.map(ref).join(',') + '].indexOf(';
- s += leftJS() + ')<0)';
- } else {
- s = '(' + rightJS() + '.indexOf(';
- s += leftJS() + ')==-1)';
-
- // throw new Error('Wrong NOT IN operator without SELECT part');
- }
- }
-
- if (this.allsome === 'ALL') {
- var s;
- if (this.right instanceof yy.Select) {
- // var s = 'this.query.queriesdata['+this.queriesidx+']';
- s =
- 'alasql.utils.flatArray(this.query.queriesfn[' +
- this.queriesidx +
- '](params,null,p))';
-
- s += '.every(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else if (Array.isArray(this.right)) {
- s =
- '' +
- (this.right.length == 1
- ? ref(this.right[0])
- : '[' + this.right.map(ref).join(',') + ']');
- s += '.every(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else {
- throw new Error('NOT IN operator without SELECT');
- }
- }
-
- if (this.allsome === 'SOME' || this.allsome === 'ANY') {
- var s;
- if (this.right instanceof yy.Select) {
- // var s = 'this.query.queriesdata['+this.queriesidx+']';
- s =
- 'alasql.utils.flatArray(this.query.queriesfn[' +
- this.queriesidx +
- '](params,null,p))';
- s += '.some(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else if (Array.isArray(this.right)) {
- s =
- '' +
- (this.right.length == 1
- ? ref(this.right[0])
- : '[' + this.right.map(ref).join(',') + ']');
- s += '.some(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else {
- throw new Error('SOME/ANY operator without SELECT');
- }
- }
-
- // Special case for AND optimization (if reduced)
- if (this.op === 'AND') {
- if (this.left.reduced) {
- if (this.right.reduced) {
- return 'true';
- } else {
- s = rightJS();
- }
- } else if (this.right.reduced) {
- s = leftJS();
- }
-
- // Otherwise process as regular operation (see below)
- op = '&&';
- }
-
- // if(this.op === '^') {
- // // return 'Math.pow('
- // // + leftJS()
- // // + ','
- // // + rightJS()
- // // + ')';
- // }
-
- // Change names
-
- var expr = s || '(' + leftJS() + op + rightJS() + ')';
-
- var declareRefs = 'y=[(' + refs.join('), (') + ')]';
-
- if (op === '&&' || op === '||' || op === 'IS' || op === 'IS NULL' || op === 'IS NOT NULL') {
- return '(' + declareRefs + ', ' + expr + ')';
- }
-
- return (
- '(' + declareRefs + ', ' + 'y.some(function(e){return e == null}) ? void 0 : ' + expr + ')'
- );
-};
-
-yy.VarValue = function(params) {
- return yy.extend(this, params);
-};
-yy.VarValue.prototype.toString = function() {
- return '@' + this.variable;
-};
-
-yy.VarValue.prototype.toType = function() {
- return 'unknown';
-};
-
-yy.VarValue.prototype.toJS = function() {
- return "alasql.vars['" + this.variable + "']";
-};
-
-yy.NumValue = function(params) {
- return yy.extend(this, params);
-};
-yy.NumValue.prototype.toString = function() {
- return this.value.toString();
-};
-
-yy.NumValue.prototype.toType = function() {
- return 'number';
-};
-
-yy.NumValue.prototype.toJS = function() {
- return '' + this.value;
-};
-
-yy.StringValue = function(params) {
- return yy.extend(this, params);
-};
-yy.StringValue.prototype.toString = function() {
- return "'" + this.value.toString() + "'";
-};
-
-yy.StringValue.prototype.toType = function() {
- return 'string';
-};
-
-yy.StringValue.prototype.toJS = function() {
-
- // return "'"+doubleqq(this.value)+"'";
- return "'" + escapeq(this.value) + "'";
-};
-
-yy.DomainValueValue = function(params) {
- return yy.extend(this, params);
-};
-yy.DomainValueValue.prototype.toString = function() {
- return 'VALUE';
-};
-
-yy.DomainValueValue.prototype.toType = function() {
- return 'object';
-};
-
-yy.DomainValueValue.prototype.toJS = function(context, tableid, defcols) {
-
- // return "'"+doubleqq(this.value)+"'";
- return context;
-};
-
-yy.ArrayValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ArrayValue.prototype.toString = function() {
- return 'ARRAY[]';
-};
-
-yy.ArrayValue.prototype.toType = function() {
- return 'object';
-};
-
-yy.ArrayValue.prototype.toJS = function(context, tableid, defcols) {
-
- // return "'"+doubleqq(this.value)+"'";
- return (
- '[(' +
- this.value
- .map(function(el) {
- return el.toJS(context, tableid, defcols);
- })
- .join('), (') +
- ')]'
- );
-};
-
-yy.LogicValue = function(params) {
- return yy.extend(this, params);
-};
-yy.LogicValue.prototype.toString = function() {
- return this.value ? 'TRUE' : 'FALSE';
-};
-
-yy.LogicValue.prototype.toType = function() {
- return 'boolean';
-};
-
-yy.LogicValue.prototype.toJS = function() {
- return this.value ? 'true' : 'false';
-};
-
-yy.NullValue = function(params) {
- return yy.extend(this, params);
-};
-yy.NullValue.prototype.toString = function() {
- return 'NULL';
-};
-yy.NullValue.prototype.toJS = function() {
- return 'undefined';
- // return 'undefined';
-};
-
-yy.ParamValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ParamValue.prototype.toString = function() {
- return '$' + this.param;
-};
-yy.ParamValue.prototype.toJS = function() {
- if (typeof this.param === 'string') {
- return "params['" + this.param + "']";
- }
-
- return 'params[' + this.param + ']';
-};
-
-yy.UniOp = function(params) {
- return yy.extend(this, params);
-};
-yy.UniOp.prototype.toString = function() {
- var s;
- s = void 0;
- if (this.op === '~') {
- s = this.op + this.right.toString();
- }
- if (this.op === '-') {
- s = this.op + this.right.toString();
- }
- if (this.op === '+') {
- s = this.op + this.right.toString();
- }
- if (this.op === '#') {
- s = this.op + this.right.toString();
- }
- if (this.op === 'NOT') {
- s = this.op + '(' + this.right.toString() + ')';
- }
- if (this.op === null) {
- s = '(' + this.right.toString() + ')';
- }
- if (!s) {
- s = '(' + this.right.toString() + ')';
- }
- return s;
-};
-
-yy.UniOp.prototype.findAggregator = function(query) {
- if (this.right.findAggregator) {
- this.right.findAggregator(query);
- }
-};
-
-yy.UniOp.prototype.toType = function() {
- if (this.op === '-') {
- return 'number';
- }
-
- if (this.op === '+') {
- return 'number';
- }
-
- if (this.op === 'NOT') {
- return 'boolean';
- }
-
- // Todo: implement default case
-};
-
-yy.UniOp.prototype.toJS = function(context, tableid, defcols) {
- if (this.op === '~') {
- return '(~(' + this.right.toJS(context, tableid, defcols) + '))';
- }
-
- if (this.op === '-') {
- return '(-(' + this.right.toJS(context, tableid, defcols) + '))';
- }
-
- if (this.op === '+') {
- return '(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- if (this.op === 'NOT') {
- return '!(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- if (this.op === '#') {
- if (this.right instanceof yy.Column) {
- return "(alasql.databases[alasql.useid].objects['" + this.right.columnid + "'])";
- } else {
- return (
- '(alasql.databases[alasql.useid].objects[' +
- this.right.toJS(context, tableid, defcols) +
- '])'
- );
- }
- }
-
- // Please avoid === here
- if (this.op == null) {
- // jshint ignore:line
- return '(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- // Todo: implement default case.
-};
-
-yy.Column = function(params) {
- return yy.extend(this, params);
-};
-yy.Column.prototype.toString = function(dontas) {
- var s;
- if (this.columnid == +this.columnid) {
- // jshint ignore:line
- s = '[' + this.columnid + ']';
- } else {
- s = this.columnid;
- }
- if (this.tableid) {
- if (+this.columnid === this.columnid) {
- s = this.tableid + s;
- } else {
- s = this.tableid + '.' + s;
- }
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- }
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- return s;
-};
-
-yy.Column.prototype.toJS = function(context, tableid, defcols) {
-
- var s = '';
- if (!this.tableid && tableid === '' && !defcols) {
- if (this.columnid !== '_') {
- s = context + "['" + this.columnid + "']";
- } else {
- if (context === 'g') {
- s = "g['_']";
- } else {
- s = context;
- }
- }
- } else {
- if (context === 'g') {
- // if(this.columnid == '_') {
- // } else {
- s = "g['" + this.nick + "']";
- // }
- } else if (this.tableid) {
- if (this.columnid !== '_') {
- // if() {
- // s = context+'[\''+tableid + '\'][\''+this.tableid+'\'][\''+this.columnid+'\']';
- // } else {
- s = context + "['" + this.tableid + "']['" + this.columnid + "']";
- // }
- } else {
- if (context === 'g') {
- s = "g['_']";
- } else {
- s = context + "['" + this.tableid + "']";
- }
- }
- } else if (defcols) {
- var tbid = defcols[this.columnid];
- if (tbid === '-') {
- throw new Error(
- 'Cannot resolve column "' +
- this.columnid +
- '" because it exists in two source tables'
- );
- } else if (tbid) {
- if (this.columnid !== '_') {
- s = context + "['" + tbid + "']['" + this.columnid + "']";
- } else {
- s = context + "['" + tbid + "']";
- }
-
- } else {
- if (this.columnid !== '_') {
- // if(defcols['.'][this.tableid]) {
-
- // s = context+'[\''+tableid + '\'][\''+this.tableid + '\'][\''+this.columnid+'\']';
- // } else {
- s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
- // }
- } else {
- s = context + "['" + (this.tableid || tableid) + "']";
- }
- }
- } else if (tableid === -1) {
- // if(this.columnid != '') {
- s = context + "['" + this.columnid + "']";
- // } else {
- // s = context;
- // }
- } else {
- if (this.columnid !== '_') {
- s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
- } else {
- s = context + "['" + (this.tableid || tableid) + "']";
- }
- }
- }
-
- // console.trace(new Error());
-
- return s;
-};
-
-yy.AggrValue = function(params) {
- return yy.extend(this, params);
-};
-yy.AggrValue.prototype.toString = function(dontas) {
- var s = '';
- if (this.aggregatorid === 'REDUCE') {
- s += this.funcid + '(';
- } else {
- s += this.aggregatorid + '(';
- }
-
- if (this.distinct) {
- s += 'DISTINCT ';
- }
-
- if (this.expression) {
- s += this.expression.toString();
- }
-
- s += ')';
-
- if (this.over) {
- s += ' ' + this.over.toString();
- }
-
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-yy.AggrValue.prototype.findAggregator = function(query) {
-
- // var colas = this.as || this.toString();
-
- var colas = escapeq(this.toString()) + ':' + query.selectGroup.length;
-
- // if(!query.selectColumns[colas]) {
- // }
-
- var found = false;
-
- if (!found) {
- if (!this.nick) {
- this.nick = colas;
- var found = false;
- for (var i = 0; i < query.removeKeys.length; i++) {
- if (query.removeKeys[i] === colas) {
- found = true;
- break;
- }
- }
- if (!found) {
- query.removeKeys.push(colas);
- }
- }
- query.selectGroup.push(this);
- }
-
- // this.reduced = true;
- return;
-};
-
-yy.AggrValue.prototype.toType = function() {
- if (
- ['SUM', 'COUNT', 'AVG', 'MIN', 'MAX', 'AGGR', 'VAR', 'STDDEV'].indexOf(this.aggregatorid) >
- -1
- ) {
- return 'number';
- }
-
- if (['ARRAY'].indexOf(this.aggregatorid) > -1) {
- return 'array';
- }
-
- if (['FIRST', 'LAST'].indexOf(this.aggregatorid) > -1) {
- return this.expression.toType();
- }
-
- // todo: implement default;
-};
-
-yy.AggrValue.prototype.toJS = function(/*context, tableid, defcols*/) {
-
- var colas = this.nick;
- if (colas === undefined) {
- colas = this.toString();
- }
- return "g['" + colas + "']";
-};
-
-yy.OrderExpression = function(params) {
- return yy.extend(this, params);
-};
-yy.OrderExpression.prototype.toString = yy.Expression.prototype.toString;
-
-yy.GroupExpression = function(params) {
- return yy.extend(this, params);
-};
-yy.GroupExpression.prototype.toString = function() {
- return this.type + '(' + this.group.toString() + ')';
-};
-
-// Alasql Linq library
-
-yy.FromData = function(params) {
- return yy.extend(this, params);
-};
-yy.FromData.prototype.toString = function() {
- if (this.data) return 'DATA(' + ((Math.random() * 10e15) | 0) + ')';
- else return '?';
-};
-yy.FromData.prototype.toJS = function() {
-
-};
-
-yy.Select.prototype.exec = function(params, cb) {
- if (this.preparams) params = this.preparams.concat(params);
-
- var databaseid = alasql.useid;
- db = alasql.databases[databaseid];
- var sql = this.toString();
- var hh = hash(sql);
-
- var statement = this.compile(databaseid);
- if (!statement) return;
- statement.sql = sql;
- statement.dbversion = db.dbversion;
-
- // Secure sqlCache size
- if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
- db.resetSqlCache();
- }
- db.sqlCacheSize++;
- db.sqlCache[hh] = statement;
- var res = (alasql.res = statement(params, cb));
- return res;
-};
-
-yy.Select.prototype.Select = function() {
- var self = this;
- var agrs = [];
- if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
- } else if (arguments.length == 1) {
- if (Array.isArray(arguments[0])) {
- args = arguments[0];
- } else {
- args = [arguments[0]];
- }
- } else {
- throw new Error('Wrong number of arguments of Select() function');
- }
-
- self.columns = [];
-
- args.forEach(function(arg) {
- if (typeof arg == 'string') {
- self.columns.push(new yy.Column({columnid: arg}));
- } else if (typeof arg == 'function') {
- var pari = 0;
- if (self.preparams) {
- pari = self.preparams.length;
- } else {
- self.preparams = [];
- }
- self.preparams.push(arg);
- self.columns.push(new yy.Column({columnid: '*', func: arg, param: pari}));
- } else {
- // Unknown type
- }
- });
-
- return self;
-};
-
-yy.Select.prototype.From = function(tableid) {
- var self = this;
- if (!self.from) self.from = [];
- if (Array.isArray(tableid)) {
- var pari = 0;
- if (self.preparams) {
- pari = self.preparams.length;
- } else {
- self.preparams = [];
- }
- self.preparams.push(tableid);
- self.from.push(new yy.ParamValue({param: pari}));
- } else if (typeof tableid == 'string') {
- self.from.push(new yy.Table({tableid: tableid}));
- } else {
- throw new Error('Unknown arguments in From() function');
- }
- return self;
-};
-
-yy.Select.prototype.OrderBy = function() {
- var self = this;
- var agrs = [];
-
- self.order = [];
-
- if (arguments.length == 0) {
- // self.order.push(new yy.OrderExpression({expression: new yy.Column({columnid:"_"}), direction:'ASC'}));
- args = ['_'];
- } else if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
- } else if (arguments.length == 1) {
- if (Array.isArray(arguments[0])) {
- args = arguments[0];
- } else {
- args = [arguments[0]];
- }
- } else {
- throw new Error('Wrong number of arguments of Select() function');
- }
-
- if (args.length > 0) {
- args.forEach(function(arg) {
- var expr = new yy.Column({columnid: arg});
- if (typeof arg == 'function') {
- expr = arg;
- }
- self.order.push(new yy.OrderExpression({expression: expr, direction: 'ASC'}));
- });
- }
- return self;
-};
-
-yy.Select.prototype.Top = function(topnum) {
- var self = this;
- self.top = new yy.NumValue({value: topnum});
- return self;
-};
-
-yy.Select.prototype.GroupBy = function() {
- var self = this;
- var agrs = [];
-
- if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
- } else if (arguments.length == 1) {
- if (Array.isArray(arguments[0])) {
- args = arguments[0];
- } else {
- args = [arguments[0]];
- }
- } else {
- throw new Error('Wrong number of arguments of Select() function');
- }
-
- self.group = [];
-
- args.forEach(function(arg) {
- var expr = new yy.Column({columnid: arg});
- self.group.push(expr);
- });
-
- return self;
-};
-
-yy.Select.prototype.Where = function(expr) {
- var self = this;
- if (typeof expr == 'function') {
- self.where = expr;
- }
- return self;
-};
-
-/*
-//
-// Functions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.FuncValue = function(params) {
- return yy.extend(this, params);
-};
-yy.FuncValue.prototype.toString = function(dontas) {
- var s = '';
-
- if (alasql.fn[this.funcid]) s += this.funcid;
- else if (alasql.aggr[this.funcid]) s += this.funcid;
- else if (alasql.stdlib[this.funcid.toUpperCase()] || alasql.stdfn[this.funcid.toUpperCase()])
- s += this.funcid.toUpperCase();
-
- s += '(';
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toString();
- })
- .join(',');
- }
- s += ')';
- if (this.as && !dontas) s += ' AS ' + this.as.toString();
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-yy.FuncValue.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- alasql.precompile(this, databaseid, params); // Precompile queries
-
- var expr = new Function('params,alasql', 'var y;return ' + this.toJS('', '', null));
- expr(params, alasql);
- if (cb) res = cb(res);
- return res;
-};
-
-yy.FuncValue.prototype.findAggregator = function(query) {
- if (this.args && this.args.length > 0) {
- this.args.forEach(function(arg) {
- if (arg.findAggregator) arg.findAggregator(query);
- });
- }
-};
-
-yy.FuncValue.prototype.toJS = function(context, tableid, defcols) {
- var s = '';
- var funcid = this.funcid;
- // IF this is standard compile functions
- if (!alasql.fn[funcid] && alasql.stdlib[funcid.toUpperCase()]) {
- if (this.args && this.args.length > 0) {
- s += alasql.stdlib[funcid.toUpperCase()].apply(
- this,
- this.args.map(function(arg) {
- return arg.toJS(context, tableid);
- })
- );
- } else {
- s += alasql.stdlib[funcid.toUpperCase()]();
- }
- } else if (!alasql.fn[funcid] && alasql.stdfn[funcid.toUpperCase()]) {
- if (this.newid) s += 'new ';
- s += 'alasql.stdfn.' + this.funcid.toUpperCase() + '(';
- // if(this.args) s += this.args.toJS(context, tableid);
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toJS(context, tableid, defcols);
- })
- .join(',');
- }
- s += ')';
- } else {
- // This is user-defined run-time function
- // TODO arguments!!!
- // var s = '';
- if (this.newid) s += 'new ';
- s += 'alasql.fn.' + this.funcid + '(';
- // if(this.args) s += this.args.toJS(context, tableid);
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toJS(context, tableid, defcols);
- })
- .join(',');
- }
- s += ')';
- }
-
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-var stdlib = (alasql.stdlib = {});
-var stdfn = (alasql.stdfn = {});
-
-stdlib.ABS = function(a) {
- return 'Math.abs(' + a + ')';
-};
-stdlib.CLONEDEEP = function(a) {
- return 'alasql.utils.cloneDeep(' + a + ')';
-};
-
-stdfn.CONCAT = function() {
- return Array.prototype.slice.call(arguments).join('');
-};
-stdlib.EXP = function(a) {
- return 'Math.pow(Math.E,' + a + ')';
-};
-
-stdlib.IIF = function(a, b, c) {
- if (arguments.length == 3) {
- return '((' + a + ')?(' + b + '):(' + c + '))';
- } else {
- throw new Error('Number of arguments of IFF is not equals to 3');
- }
-};
-stdlib.IFNULL = function(a, b) {
- return '(' + a + '||' + b + ')';
-};
-stdlib.INSTR = function(s, p) {
- return '((' + s + ').indexOf(' + p + ')+1)';
-};
-
-//stdlib.LEN = stdlib.LENGTH = function(s) {return '('+s+'+"").length';};
-
-stdlib.LEN = stdlib.LENGTH = function(s) {
- return und(s, 'y.length');
-};
-//stdlib.LENGTH = function(s) {return '('+s+').length'};
-
-stdlib.LOWER = stdlib.LCASE = function(s) {
- return und(s, 'String(y).toLowerCase()');
-};
-//stdlib.LCASE = function(s) {return '('+s+').toLowerCase()';}
-
-// Returns a character expression after it removes leading blanks.
-// see https://docs.microsoft.com/en-us/sql/t-sql/functions/ltrim-transact-sql
-stdlib.LTRIM = function(s) {
- return und(s, 'y.replace(/^[ ]+/,"")');
-};
-
-// Returns a character string after truncating all trailing spaces.
-// see https://docs.microsoft.com/en-us/sql/t-sql/functions/rtrim-transact-sql
-stdlib.RTRIM = function(s) {
- return und(s, 'y.replace(/[ ]+$/,"")');
-};
-
-stdlib.MAX = stdlib.GREATEST = function() {
- return 'Math.max(' + Array.prototype.join.call(arguments, ',') + ')';
-};
-
-stdlib.MIN = stdlib.LEAST = function() {
- return 'Math.min(' + Array.prototype.join.call(arguments, ',') + ')';
-};
-
-stdlib.SUBSTRING = stdlib.SUBSTR = stdlib.MID = function(a, b, c) {
- if (arguments.length == 2) return und(a, 'y.substr(' + b + '-1)');
- else if (arguments.length == 3) return und(a, 'y.substr(' + b + '-1,' + c + ')');
-};
-
-stdfn.REGEXP_LIKE = function(a, b, c) {
-
- return (a || '').search(RegExp(b, c)) > -1;
-};
-
-// Here we uses undefined instead of null
-stdlib.ISNULL = stdlib.NULLIF = function(a, b) {
- return '(' + a + '==' + b + '?undefined:' + a + ')';
-};
-
-stdlib.POWER = function(a, b) {
- return 'Math.pow(' + a + ',' + b + ')';
-};
-
-stdlib.RANDOM = function(r) {
- if (arguments.length == 0) {
- return 'Math.random()';
- } else {
- return '(Math.random()*(' + r + ')|0)';
- }
-};
-stdlib.ROUND = function(s, d) {
- if (arguments.length == 2) {
- return 'Math.round((' + s + ')*Math.pow(10,(' + d + ')))/Math.pow(10,(' + d + '))';
- } else {
- return 'Math.round(' + s + ')';
- }
-};
-stdlib.CEIL = stdlib.CEILING = function(s) {
- return 'Math.ceil(' + s + ')';
-};
-stdlib.FLOOR = function(s) {
- return 'Math.floor(' + s + ')';
-};
-
-stdlib.ROWNUM = function() {
- return '1';
-};
-stdlib.ROW_NUMBER = function() {
- return '1';
-};
-
-stdlib.SQRT = function(s) {
- return 'Math.sqrt(' + s + ')';
-};
-
-stdlib.TRIM = function(s) {
- return und(s, 'y.trim()');
-};
-
-stdlib.UPPER = stdlib.UCASE = function(s) {
- return und(s, 'String(y).toUpperCase()');
-};
-
-// Concatination of strings
-stdfn.CONCAT_WS = function() {
- var args = Array.prototype.slice.call(arguments);
- return args.slice(1, args.length).join(args[0]);
-};
-
-//stdlib.UCASE = function(s) {return '('+s+').toUpperCase()';}
-//REPLACE
-// RTRIM
-// SUBSTR
-// TRIM
-//REPLACE
-// RTRIM
-// SUBSTR
-// TRIM
-
-// Aggregator for joining strings
-alasql.aggr.GROUP_CONCAT = function(v, s, stage) {
- if (stage === 1) {
- return '' + v;
- } else if (stage === 2) {
- s += ',' + v;
- return s;
- }
- return s;
-};
-
-alasql.aggr.MEDIAN = function(v, s, stage) {
- if (stage === 2) {
- if (v !== null) {
- s.push(v);
- }
- return s;
- } else if (stage === 1) {
- if (v === null) {
- return [];
- }
- return [v];
- } else {
- if (!s.length) {
- return s;
- }
-
- var r = s.sort();
- var p = (r.length + 1) / 2;
- if (Number.isInteger(p)) {
- return r[p - 1];
- }
-
- return (r[Math.floor(p - 1)] + r[Math.ceil(p - 1)]) / 2;
- }
-};
-
-alasql.aggr.QUART = function(v, s, stage, nth) {
- //Quartile (first quartile per default or input param)
- if (stage === 2) {
- if (v !== null) {
- s.push(v);
- }
- return s;
- } else if (stage === 1) {
- if (v === null) {
- return [];
- }
- return [v];
- } else {
- if (!s.length) {
- return s;
- }
-
- nth = !nth ? 1 : nth;
- var r = s.sort();
- var p = (nth * (r.length + 1)) / 4;
- if (Number.isInteger(p)) {
- return r[p - 1]; //Integer value
- }
- return r[Math.floor(p)]; //Math.ceil -1 or Math.floor
- }
-};
-
-alasql.aggr.QUART2 = function(v, s, stage) {
- //Second Quartile
- return alasql.aggr.QUART(v, s, stage, 2);
-};
-alasql.aggr.QUART3 = function(v, s, stage) {
- //Third Quartile
- return alasql.aggr.QUART(v, s, stage, 3);
-};
-
-// Standard deviation
-alasql.aggr.VAR = function(v, s, stage) {
- if (stage === 1) {
- if (v === null) {
- return {arr: [], sum: 0};
- }
- return {arr: [v], sum: v};
- } else if (stage === 2) {
- if (v === null) {
- return s;
- }
- s.arr.push(v);
- s.sum += v;
- return s;
- } else {
- var N = s.arr.length;
- var avg = s.sum / N;
- var std = 0;
- for (var i = 0; i < N; i++) {
- std += (s.arr[i] - avg) * (s.arr[i] - avg);
- }
- std = std / (N - 1);
- return std;
- }
-};
-
-alasql.aggr.STDEV = function(v, s, stage) {
- if (stage === 1 || stage === 2) {
- return alasql.aggr.VAR(v, s, stage);
- } else {
- return Math.sqrt(alasql.aggr.VAR(v, s, stage));
- }
-};
-
-// Standard deviation
-// alasql.aggr.VARP = function(v,s,acc){
-
-// };
-
-alasql.aggr.VARP = function(v, s, stage) {
- if (stage == 1) {
- return {arr: [v], sum: v};
- } else if (stage == 2) {
- s.arr.push(v);
- s.sum += v;
- return s;
- } else {
- var N = s.arr.length;
- var avg = s.sum / N;
- var std = 0;
- for (var i = 0; i < N; i++) {
- std += (s.arr[i] - avg) * (s.arr[i] - avg);
- }
- std = std / N;
- return std;
- }
-};
-
-alasql.aggr.STD = alasql.aggr.STDDEV = alasql.aggr.STDEVP = function(v, s, stage) {
- if (stage == 1 || stage == 2) {
- return alasql.aggr.VARP(v, s, stage);
- } else {
- return Math.sqrt(alasql.aggr.VARP(v, s, stage));
- }
-};
-
-alasql._aggrOriginal = alasql.aggr;
-alasql.aggr = {};
-Object.keys(alasql._aggrOriginal).forEach(function(k) {
- alasql.aggr[k] = function(v, s, stage) {
- if (stage === 3 && typeof s === 'undefined') return undefined;
- return alasql._aggrOriginal[k].apply(null, arguments);
- };
-});
-
-// String functions
-stdfn.REPLACE = function(target, pattern, replacement) {
- return (target || '').split(pattern).join(replacement);
-};
-
-// This array is required for fast GUID generation
-var lut = [];
-for (var i = 0; i < 256; i++) {
- lut[i] = (i < 16 ? '0' : '') + i.toString(16);
-}
-
-stdfn.NEWID = stdfn.UUID = stdfn.GEN_RANDOM_UUID = function() {
- var d0 = (Math.random() * 0xffffffff) | 0;
- var d1 = (Math.random() * 0xffffffff) | 0;
- var d2 = (Math.random() * 0xffffffff) | 0;
- var d3 = (Math.random() * 0xffffffff) | 0;
- return (
- lut[d0 & 0xff] +
- lut[(d0 >> 8) & 0xff] +
- lut[(d0 >> 16) & 0xff] +
- lut[(d0 >> 24) & 0xff] +
- '-' +
- lut[d1 & 0xff] +
- lut[(d1 >> 8) & 0xff] +
- '-' +
- lut[((d1 >> 16) & 0x0f) | 0x40] +
- lut[(d1 >> 24) & 0xff] +
- '-' +
- lut[(d2 & 0x3f) | 0x80] +
- lut[(d2 >> 8) & 0xff] +
- '-' +
- lut[(d2 >> 16) & 0xff] +
- lut[(d2 >> 24) & 0xff] +
- lut[d3 & 0xff] +
- lut[(d3 >> 8) & 0xff] +
- lut[(d3 >> 16) & 0xff] +
- lut[(d3 >> 24) & 0xff]
- );
-};
-
-/*
-//
-// CASE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.CaseValue = function(params) {
- return yy.extend(this, params);
-};
-yy.CaseValue.prototype.toString = function() {
- var s = 'CASE ';
- if (this.expression) s += this.expression.toString();
- if (this.whens) {
- s += this.whens
- .map(function(w) {
- return ' WHEN ' + w.when.toString() + ' THEN ' + w.then.toString();
- })
- .join();
- }
- s += ' END';
- return s;
-};
-
-yy.CaseValue.prototype.findAggregator = function(query) {
-
- if (this.expression && this.expression.findAggregator) this.expression.findAggregator(query);
- if (this.whens && this.whens.length > 0) {
- this.whens.forEach(function(w) {
- if (w.when.findAggregator) w.when.findAggregator(query);
- if (w.then.findAggregator) w.then.findAggregator(query);
- });
- }
- if (this.elses && this.elses.findAggregator) this.elses.findAggregator(query);
-};
-
-yy.CaseValue.prototype.toJS = function(context, tableid, defcols) {
- var s = '((function(' + context + ',params,alasql){var y,r;';
- if (this.expression) {
- // this.expression.toJS(context, tableid)
- s += 'v=' + this.expression.toJS(context, tableid, defcols) + ';';
- s += (this.whens || [])
- .map(function(w) {
- return (
- ' if(v==' +
- w.when.toJS(context, tableid, defcols) +
- ') {r=' +
- w.then.toJS(context, tableid, defcols) +
- '}'
- );
- })
- .join(' else ');
- if (this.elses) s += ' else {r=' + this.elses.toJS(context, tableid, defcols) + '}';
- } else {
- s += (this.whens || [])
- .map(function(w) {
- return (
- ' if(' +
- w.when.toJS(context, tableid, defcols) +
- ') {r=' +
- w.then.toJS(context, tableid, defcols) +
- '}'
- );
- })
- .join(' else ');
- if (this.elses) s += ' else {r=' + this.elses.toJS(context, tableid, defcols) + '}';
- }
- // TODO remove bind from CASE
- s += ';return r;}).bind(this))(' + context + ',params,alasql)';
-
- return s;
-};
-
-/*
-//
-// JSON for Alasql.js
-// Date: 19.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Json = function(params) {
- return yy.extend(this, params);
-};
-yy.Json.prototype.toString = function() {
- var s = ''; // '@'
- s += JSONtoString(this.value);
- s += '';
- return s;
-};
-
-var JSONtoString = (alasql.utils.JSONtoString = function(obj) {
- var s = '';
- if (typeof obj == 'string') s = '"' + obj + '"';
- else if (typeof obj == 'number') s = obj;
- else if (typeof obj == 'boolean') s = obj;
- else if (typeof obj == 'object') {
- if (Array.isArray(obj)) {
- s +=
- '[' +
- obj
- .map(function(b) {
- return JSONtoString(b);
- })
- .join(',') +
- ']';
- } else if (!obj.toJS || obj instanceof yy.Json) {
- // to prevent recursion
- s = '{';
- var ss = [];
- for (var k in obj) {
- var s1 = '';
- if (typeof k == 'string') s1 += '"' + k + '"';
- else if (typeof k == 'number') s1 += k;
- else if (typeof k == 'boolean') s1 += k;
- else {
- throw new Error('THis is not ES6... no expressions on left side yet');
- }
- s1 += ':' + JSONtoString(obj[k]);
- ss.push(s1);
- }
- s += ss.join(',') + '}';
- } else if (obj.toString) {
- s = obj.toString();
- } else {
- throw new Error('1Can not show JSON object ' + JSON.stringify(obj));
- }
- } else {
- throw new Error('2Can not show JSON object ' + JSON.stringify(obj));
- }
-
- return s;
-});
-
-function JSONtoJS(obj, context, tableid, defcols) {
- var s = '';
- if (typeof obj == 'string') s = '"' + obj + '"';
- else if (typeof obj == 'number') s = '(' + obj + ')';
- else if (typeof obj == 'boolean') s = obj;
- else if (typeof obj == 'object') {
- if (Array.isArray(obj)) {
- s +=
- '[' +
- obj
- .map(function(b) {
- return JSONtoJS(b, context, tableid, defcols);
- })
- .join(',') +
- ']';
- } else if (!obj.toJS || obj instanceof yy.Json) {
- // to prevent recursion
- s = '{';
- var ss = [];
- for (var k in obj) {
- var s1 = '';
- if (typeof k == 'string') s1 += '"' + k + '"';
- else if (typeof k == 'number') s1 += k;
- else if (typeof k == 'boolean') s1 += k;
- else {
- throw new Error('THis is not ES6... no expressions on left side yet');
- }
- s1 += ':' + JSONtoJS(obj[k], context, tableid, defcols);
- ss.push(s1);
- }
- s += ss.join(',') + '}';
- } else if (obj.toJS) {
- s = obj.toJS(context, tableid, defcols);
- } else {
- throw new Error('1Can not parse JSON object ' + JSON.stringify(obj));
- }
- } else {
- throw new Error('2Can not parse JSON object ' + JSON.stringify(obj));
- }
-
- return s;
-}
-
-yy.Json.prototype.toJS = function(context, tableid, defcols) {
- // TODO redo
- return JSONtoJS(this.value, context, tableid, defcols);
-};
-
-/*
-//
-// CAST and CONVERT functions
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Convert = function(params) {
- return yy.extend(this, params);
-};
-yy.Convert.prototype.toString = function() {
- var s = 'CONVERT(';
- s += this.dbtypeid;
- if (typeof this.dbsize != 'undefined') {
- s += '(' + this.dbsize;
- if (this.dbprecision) s += ',' + dbprecision;
- s += ')';
- }
- s += ',' + this.expression.toString();
- if (this.style) s += ',' + this.style;
- s += ')';
- return s;
-};
-yy.Convert.prototype.toJS = function(context, tableid, defcols) {
- // if(this.style) {
- return (
- 'alasql.stdfn.CONVERT(' +
- this.expression.toJS(context, tableid, defcols) +
- ',{dbtypeid:"' +
- this.dbtypeid +
- '",dbsize:' +
- this.dbsize +
- ',style:' +
- this.style +
- '})'
- );
- // }
-
- throw new Error('There is not such type conversion for ' + this.toString());
-};
-
-/**
- Convert one type to another
- */
-alasql.stdfn.CONVERT = function(value, args) {
- var val = value;
-
- if (args.style) {
- // TODO 9,109, 20,120,21,121,126,130,131 conversions
- var t;
- if (/\d{8}/.test(val)) {
- t = new Date(+val.substr(0, 4), +val.substr(4, 2) - 1, +val.substr(6, 2));
- } else {
- t = new Date(val);
- }
- switch (args.style) {
- case 1: // mm/dd/yy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2) +
- '/' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 2: // yy.mm.dd
- val =
- ('0' + t.getYear()).substr(-2) +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + t.getDate()).substr(-2);
- break;
- case 3: // dd/mm/yy
- val =
- ('0' + t.getDate()).substr(-2) +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 4: // dd.mm.yy
- val =
- ('0' + t.getDate()).substr(-2) +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 5: // dd-mm-yy
- val =
- ('0' + t.getDate()).substr(-2) +
- '-' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 6: // dd mon yy
- val =
- ('0' + t.getDate()).substr(-2) +
- ' ' +
- t
- .toString()
- .substr(4, 3)
- .toLowerCase() +
- ' ' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 7: // Mon dd,yy
- val =
- t.toString().substr(4, 3) +
- ' ' +
- ('0' + t.getDate()).substr(-2) +
- ',' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 8: // hh:mm:ss
- case 108: // hh:mm:ss
- val =
- ('0' + t.getHours()).substr(-2) +
- ':' +
- ('0' + t.getMinutes()).substr(-2) +
- ':' +
- ('0' + t.getSeconds()).substr(-2);
- break;
- case 10: // mm-dd-yy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- ('0' + t.getDate()).substr(-2) +
- '-' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 11: // yy/mm/dd
- val =
- ('0' + t.getYear()).substr(-2) +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2);
- break;
- case 12: // yymmdd
- val =
- ('0' + t.getYear()).substr(-2) +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- ('0' + t.getDate()).substr(-2);
- break;
- case 101: // mm/dd/yyyy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2) +
- '/' +
- t.getFullYear();
- break;
- case 102: // yyyy.mm.dd
- val =
- t.getFullYear() +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + t.getDate()).substr(-2);
- break;
- case 103: // dd/mm/yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- t.getFullYear();
- break;
- case 104: // dd.mm.yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- t.getFullYear();
- break;
- case 105: // dd-mm-yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- '-' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- t.getFullYear();
- break;
- case 106: // dd mon yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- ' ' +
- t
- .toString()
- .substr(4, 3)
- .toLowerCase() +
- ' ' +
- t.getFullYear();
- break;
- case 107: // Mon dd,yyyy
- val =
- t.toString().substr(4, 3) +
- ' ' +
- ('0' + t.getDate()).substr(-2) +
- ',' +
- t.getFullYear();
- break;
- case 110: // mm-dd-yyyy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- ('0' + t.getDate()).substr(-2) +
- '-' +
- t.getFullYear();
- break;
- case 111: // yyyy/mm/dd
- val =
- t.getFullYear() +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2);
- break;
-
- case 112: // yyyymmdd
- val =
- t.getFullYear() +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- ('0' + t.getDate()).substr(-2);
- break;
- default:
- throw new Error('The CONVERT style ' + args.style + ' is not realized yet.');
- }
- }
-
- var udbtypeid = args.dbtypeid.toUpperCase();
-
- if (args.dbtypeid == 'Date') {
- return new Date(val);
- } else if (udbtypeid == 'DATE') {
- var d = new Date(val);
- var s =
- d.getFullYear() +
- '.' +
- ('0' + (d.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + d.getDate()).substr(-2);
- return s;
- } else if (udbtypeid == 'DATETIME' || udbtypeid == 'DATETIME2') {
- var d = new Date(val);
- var s =
- d.getFullYear() +
- '.' +
- ('0' + (d.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + d.getDate()).substr(-2);
- s +=
- ' ' +
- ('0' + d.getHours()).substr(-2) +
- ':' +
- ('0' + d.getMinutes()).substr(-2) +
- ':' +
- ('0' + d.getSeconds()).substr(-2);
- s += '.' + ('00' + d.getMilliseconds()).substr(-3);
- return s;
- } else if (['MONEY'].indexOf(udbtypeid) > -1) {
- var m = +val;
- return (m | 0) + ((m * 100) % 100) / 100;
- } else if (['BOOLEAN'].indexOf(udbtypeid) > -1) {
- return !!val;
- } else if (
- ['INT', 'INTEGER', 'SMALLINT', 'BIGINT', 'SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(
- args.dbtypeid.toUpperCase()
- ) > -1
- ) {
- return val | 0;
- } else if (
- ['STRING', 'VARCHAR', 'NVARCHAR', 'CHARACTER VARIABLE'].indexOf(
- args.dbtypeid.toUpperCase()
- ) > -1
- ) {
- if (args.dbsize) return ('' + val).substr(0, args.dbsize);
- else return '' + val;
- } else if (['CHAR', 'CHARACTER', 'NCHAR'].indexOf(udbtypeid) > -1) {
- return (val + new Array(args.dbsize + 1).join(' ')).substr(0, args.dbsize);
- //else return ""+val.substr(0,1);
- } else if (['NUMBER', 'FLOAT'].indexOf(udbtypeid) > -1) {
- if (typeof args.dbprecision != 'undefined') {
- var m = +val;
- var fxd = Math.pow(10, args.dbprecision);
- return (m | 0) + ((m * fxd) % fxd) / fxd;
- } else {
- return +val;
- }
- } else if (['DECIMAL', 'NUMERIC'].indexOf(udbtypeid) > -1) {
- var m = +val;
- var fxd = Math.pow(10, args.dbprecision);
- return (m | 0) + ((m * fxd) % fxd) / fxd;
- } else if (['JSON'].indexOf(udbtypeid) > -1) {
- if (typeof val == 'object') return val;
- try {
- return JSON.parse(val);
- } catch (err) {
- throw new Error('Cannot convert string to JSON');
- }
- }
- return val;
-};
-
-/*
-//
-// CREATE TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global alasql, yy, hash */
-
-yy.ColumnDef = function(params) {
- return yy.extend(this, params);
-};
-yy.ColumnDef.prototype.toString = function() {
- var s = this.columnid;
- if (this.dbtypeid) {
- s += ' ' + this.dbtypeid;
- }
-
- if (this.dbsize) {
- s += '(' + this.dbsize;
- if (this.dbprecision) {
- s += ',' + this.dbprecision;
- }
- s += ')';
- }
-
- if (this.primarykey) {
- s += ' PRIMARY KEY';
- }
-
- if (this.notnull) {
- s += ' NOT NULL';
- }
-
- return s;
-};
-
-yy.CreateTable = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateTable.prototype.toString = function() {
- var s = 'CREATE';
- if (this.temporary) {
- s += ' TEMPORARY';
- }
-
- if (this.view) {
- s += ' VIEW';
- } else {
- s += ' ' + (this.class ? 'CLASS' : 'TABLE');
- }
- if (this.ifnotexists) {
- s += ' IF NOT EXISTS';
- }
- s += ' ' + this.table.toString();
- if (this.viewcolumns) {
- s +=
- '(' +
- this.viewcolumns
- .map(function(vcol) {
- return vcol.toString();
- })
- .join(',') +
- ')';
- }
- if (this.as) {
- s += ' AS ' + this.as;
- } else {
- var ss = this.columns.map(function(col) {
- return col.toString();
- });
- s += ' (' + ss.join(',') + ')';
- }
-
- if (this.view && this.select) {
- s += ' AS ' + this.select.toString();
- }
-
- return s;
-};
-
-// CREATE TABLE
-//yy.CreateTable.prototype.compile = returnUndefined;
-yy.CreateTable.prototype.execute = function(databaseid, params, cb) {
- // var self = this;
- var db = alasql.databases[this.table.databaseid || databaseid];
-
- var tableid = this.table.tableid;
- if (!tableid) {
- throw new Error('Table name is not defined');
- }
-
- // var ifnotexists = this.ifnotexists;
- var columns = this.columns;
- // if(false) {
- // if(!columns) {
- // throw new Error('Columns are not defined');
- // }
- // }
- var constraints = this.constraints || [];
-
- // IF NOT EXISTS
- if (this.ifnotexists && db.tables[tableid]) {
- return cb ? cb(0) : 0;
- }
-
- if (db.tables[tableid]) {
- throw new Error(
- "Can not create table '" +
- tableid +
- "', because it already exists in the database '" +
- db.databaseid +
- "'"
- );
- }
-
- var table = (db.tables[tableid] = new alasql.Table()); // TODO Can use special object?
- // If this is a class
- if (this.class) {
- table.isclass = true;
- }
-
- var ss = []; // DEFAULT function components
- var uss = []; // ON UPDATE function components
- if (columns) {
- columns.forEach(function(col) {
- var dbtypeid = col.dbtypeid;
- if (!alasql.fn[dbtypeid]) {
- dbtypeid = dbtypeid.toUpperCase();
- }
-
- // Process SERIAL data type like Postgress
- if (['SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(dbtypeid) > -1) {
- col.identity = {value: 1, step: 1};
- }
-
- var newcol = {
- columnid: col.columnid,
- dbtypeid: dbtypeid,
- dbsize: col.dbsize, // Fixed issue #150
- dbprecision: col.dbprecision, // Fixed issue #150
- notnull: col.notnull,
- identity: col.identity,
- };
- if (col.identity) {
- table.identities[col.columnid] = {
- value: +col.identity.value,
- step: +col.identity.step,
- };
- // ss.push('\''+col.columnid+'\':(alasql.databases[\''+db.databaseid+'\'].tables[\''
- // +tableid+'\'].identities[\''+col.columnid+'\'].value)');
- }
- if (col.check) {
- table.checks.push({
- id: col.check.constrantid,
- fn: new Function('r', 'var y;return ' + col.check.expression.toJS('r', '')),
- });
- }
-
- if (col.default) {
- ss.push("'" + col.columnid + "':" + col.default.toJS('r', ''));
- }
-
- // Check for primary key
- if (col.primarykey) {
- var pk = (table.pk = {});
- pk.columns = [col.columnid];
- pk.onrightfns = "r['" + col.columnid + "']";
- pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
- pk.hh = hash(pk.onrightfns);
- table.uniqs[pk.hh] = {};
- }
-
- // UNIQUE clause
- if (col.unique) {
- var uk = {};
- table.uk = table.uk || [];
- table.uk.push(uk);
- uk.columns = [col.columnid];
- uk.onrightfns = "r['" + col.columnid + "']";
- uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
- uk.hh = hash(uk.onrightfns);
- table.uniqs[uk.hh] = {};
- }
-
- // UNIQUE clause
- if (col.foreignkey) {
-
- var fk = col.foreignkey.table;
- var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
- if (typeof fk.columnid === 'undefined') {
- if (fktable.pk.columns && fktable.pk.columns.length > 0) {
- fk.columnid = fktable.pk.columns[0];
- } else {
- throw new Error('FOREIGN KEY allowed only to tables with PRIMARY KEYs');
- }
- }
-
- var fkfn = function(r) {
- var rr = {};
- if (typeof r[col.columnid] === 'undefined') {
- return true;
- }
- rr[fk.columnid] = r[col.columnid];
- var addr = fktable.pk.onrightfn(rr);
-
- if (!fktable.uniqs[fktable.pk.hh][addr]) {
- throw new Error(
- 'Foreign key "' +
- r[col.columnid] +
- '" is not found in table ' +
- fktable.tableid
- );
- }
- return true;
- };
- table.checks.push({fn: fkfn});
-
- }
-
- if (col.onupdate) {
- uss.push("r['" + col.columnid + "']=" + col.onupdate.toJS('r', ''));
- }
-
- table.columns.push(newcol);
- table.xcolumns[newcol.columnid] = newcol;
- });
- }
- table.defaultfns = ss.join(',');
- table.onupdatefns = uss.join(';');
-
- // if(constraints) {
- constraints.forEach(function(con) {
-
- var checkfn;
-
- if (con.type === 'PRIMARY KEY') {
- if (table.pk) {
- throw new Error('Primary key already exists');
- }
- var pk = (table.pk = {});
- pk.columns = con.columns;
- pk.onrightfns = pk.columns
- .map(function(columnid) {
- return "r['" + columnid + "']";
- })
- .join("+'`'+");
- pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
- pk.hh = hash(pk.onrightfns);
- table.uniqs[pk.hh] = {};
- } else if (con.type === 'CHECK') {
-
- checkfn = new Function('r', 'var y;return ' + con.expression.toJS('r', ''));
- } else if (con.type === 'UNIQUE') {
-
- var uk = {};
- table.uk = table.uk || [];
- table.uk.push(uk);
- uk.columns = con.columns;
- uk.onrightfns = uk.columns
- .map(function(columnid) {
- return "r['" + columnid + "']";
- })
- .join("+'`'+");
- uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
- uk.hh = hash(uk.onrightfns);
- table.uniqs[uk.hh] = {};
- } else if (con.type === 'FOREIGN KEY') {
-
- var col = table.xcolumns[con.columns[0]];
- var fk = con.fktable;
- if (con.fkcolumns && con.fkcolumns.length > 0) {
- fk.columnid = con.fkcolumns[0];
- }
- var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
- if (typeof fk.columnid === 'undefined') {
- fk.columnid = fktable.pk.columns[0];
- }
-
- checkfn = function(r) {
- var rr = {};
- if (typeof r[col.columnid] === 'undefined') {
- return true;
- }
- rr[fk.columnid] = r[col.columnid];
- var addr = fktable.pk.onrightfn(rr);
-
- if (!fktable.uniqs[fktable.pk.hh][addr]) {
-
- throw new Error(
- 'Foreign key "' +
- r[col.columnid] +
- '" is not found in table ' +
- fktable.tableid
- );
- }
- return true;
- };
- }
- if (checkfn) {
- table.checks.push({fn: checkfn, id: con.constraintid, fk: con.type === 'FOREIGN KEY'});
- }
- });
-
- if (this.view && this.viewcolumns) {
- var self = this;
- this.viewcolumns.forEach(function(vcol, idx) {
- self.select.columns[idx].as = vcol.columnid;
- });
- }
-
- //Used in 420from queryfn when table.view = true!
- if (this.view && this.select) {
- table.view = true;
-
- table.select = this.select.compile(this.table.databaseid || databaseid);
- }
-
- if (db.engineid) {
-
- return alasql.engines[db.engineid].createTable(
- this.table.databaseid || databaseid,
- tableid,
- this.ifnotexists,
- cb
- );
-
- // return res1;
- }
-
- // }
- // if(table.pk) {
-
- table.insert = function(r, orreplace) {
- var oldinserted = alasql.inserted;
- alasql.inserted = [r];
-
- var table = this;
-
- var toreplace = false; // For INSERT OR REPLACE
-
- /*
- // IDENTINY or AUTO_INCREMENT
- // if(table.identities && table.identities.length>0) {
- // table.identities.forEach(function(ident){
- // r[ident.columnid] = ident.value;
- // });
- // }
-*/
- // Trigger prevent functionality
- var prevent = false;
- for (var tr in table.beforeinsert) {
- var trigger = table.beforeinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return;
-
- // Trigger prevent functionality
- var escape = false;
- for (tr in table.insteadofinsert) {
- escape = true;
- trigger = table.insteadofinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- for (var columnid in table.identities) {
- var ident = table.identities[columnid];
-
- r[columnid] = ident.value;
-
- }
-
- if (table.checks && table.checks.length > 0) {
- table.checks.forEach(function(check) {
- if (!check.fn(r)) {
- // if(orreplace) toreplace=true; else
- throw new Error('Violation of CHECK constraint ' + (check.id || ''));
- }
- });
- }
-
- table.columns.forEach(function(column) {
- if (column.notnull && typeof r[column.columnid] === 'undefined') {
- throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
- }
- });
- if (table.pk) {
- var pk = table.pk;
- var addr = pk.onrightfn(r);
-
- if (typeof table.uniqs[pk.hh][addr] !== 'undefined') {
-
- if (orreplace) toreplace = table.uniqs[pk.hh][addr];
- else
- throw new Error(
- 'Cannot insert record, because it already exists in primary key index'
- );
- }
- // table.uniqs[pk.hh][addr]=r;
- }
-
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][ukaddr] !== 'undefined') {
- if (orreplace) toreplace = table.uniqs[uk.hh][ukaddr];
- else
- throw new Error(
- 'Cannot insert record, because it already exists in unique index'
- );
- }
- // table.uniqs[uk.hh][ukaddr]=r;
- });
- }
-
- if (toreplace) {
- // Do UPDATE!!!
-
- table.update(
- function(t) {
- for (var f in r) t[f] = r[f];
- },
- table.data.indexOf(toreplace),
- params
- );
- } else {
- table.data.push(r);
-
- // Final change before insert
-
- // Update indices
-
- for (var columnid in table.identities) {
- var ident = table.identities[columnid];
-
- ident.value += ident.step;
-
- }
-
- if (table.pk) {
- var pk = table.pk;
- var addr = pk.onrightfn(r);
- table.uniqs[pk.hh][addr] = r;
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- table.uniqs[uk.hh][ukaddr] = r;
- });
- }
- }
-
- // Trigger prevent functionality
- for (var tr in table.afterinsert) {
- var trigger = table.afterinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- alasql.inserted = oldinserted;
- };
-
- table.delete = function(index) {
- var table = this;
- var r = table.data[index];
-
- // Prevent trigger
- var prevent = false;
- for (var tr in table.beforedelete) {
- var trigger = table.beforedelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return false;
-
- // Trigger prevent functionality
- var escape = false;
- for (var tr in table.insteadofdelete) {
- escape = true;
- var trigger = table.insteadofdelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- if (this.pk) {
- var pk = this.pk;
- var addr = pk.onrightfn(r);
- if (typeof this.uniqs[pk.hh][addr] === 'undefined') {
- throw new Error('Something wrong with primary key index on table');
- } else {
- this.uniqs[pk.hh][addr] = undefined;
- }
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][ukaddr] === 'undefined') {
- throw new Error('Something wrong with unique index on table');
- }
- table.uniqs[uk.hh][ukaddr] = undefined;
- });
- }
- };
-
- table.deleteall = function() {
- this.data.length = 0;
- if (this.pk) {
- // var r = this.data[i];
- this.uniqs[this.pk.hh] = {};
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- table.uniqs[uk.hh] = {};
- });
- }
- };
-
- table.update = function(assignfn, i, params) {
- // TODO: Analyze the speed
- var r = cloneDeep(this.data[i]);
-
- var pk;
- // PART 1 - PRECHECK
- if (this.pk) {
- pk = this.pk;
- pk.pkaddr = pk.onrightfn(r, params);
- if (typeof this.uniqs[pk.hh][pk.pkaddr] === 'undefined') {
- throw new Error('Something wrong with index on table');
- }
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- uk.ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][uk.ukaddr] === 'undefined') {
- throw new Error('Something wrong with unique index on table');
- }
- });
- }
-
- assignfn(r, params, alasql);
-
- // Prevent trigger
- var prevent = false;
- for (var tr in table.beforeupdate) {
- var trigger = table.beforeupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](this.data[i], r) === false)
- prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return false;
-
- // Trigger prevent functionality
- var escape = false;
- for (var tr in table.insteadofupdate) {
- escape = true;
- var trigger = table.insteadofupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](this.data[i], r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- // PART 2 - POST CHECK
- if (table.checks && table.checks.length > 0) {
- table.checks.forEach(function(check) {
- if (!check.fn(r)) {
- throw new Error('Violation of CHECK constraint ' + (check.id || ''));
- }
- });
- }
-
- table.columns.forEach(function(column) {
- if (column.notnull && typeof r[column.columnid] === 'undefined') {
- throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
- }
- });
- if (this.pk) {
- pk.newpkaddr = pk.onrightfn(r);
- if (
- typeof this.uniqs[pk.hh][pk.newpkaddr] !== 'undefined' &&
- pk.newpkaddr !== pk.pkaddr
- ) {
- throw new Error('Record already exists');
- }
- }
-
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- uk.newukaddr = uk.onrightfn(r);
- if (
- typeof table.uniqs[uk.hh][uk.newukaddr] !== 'undefined' &&
- uk.newukaddr !== uk.ukaddr
- ) {
- throw new Error('Record already exists');
- }
- });
- }
-
- // PART 3 UPDATE
- if (this.pk) {
- this.uniqs[pk.hh][pk.pkaddr] = undefined;
- this.uniqs[pk.hh][pk.newpkaddr] = r;
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- table.uniqs[uk.hh][uk.ukaddr] = undefined;
- table.uniqs[uk.hh][uk.newukaddr] = r;
- });
- }
-
- this.data[i] = r;
-
- // Trigger prevent functionality
- for (var tr in table.afterupdate) {
- var trigger = table.afterupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](this.data[i], r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- };
-
- var res;
-
- if (!alasql.options.nocount) {
- res = 1;
- }
-
- if (cb) res = cb(res);
- return res;
-};
-
-//
-// Date functions
-//
-// (c) 2014, Andrey Gershun
-//
-
-/** Standard JavaScript data types */
-
-alasql.fn.Date = Object;
-alasql.fn.Date = Date;
-alasql.fn.Number = Number;
-alasql.fn.String = String;
-alasql.fn.Boolean = Boolean;
-
-/** Extend Object with properties */
-stdfn.EXTEND = alasql.utils.extend;
-
-stdfn.CHAR = String.fromCharCode.bind(String);
-stdfn.ASCII = function(a) {
- return a.charCodeAt(0);
-};
-
-/**
- Return first non-null argument
- See https://msdn.microsoft.com/en-us/library/ms190349.aspx
-*/
-stdfn.COALESCE = function() {
- for (var i = 0; i < arguments.length; i++) {
- if (typeof arguments[i] == 'undefined') continue;
- if (typeof arguments[i] == 'number' && isNaN(arguments[i])) continue;
- return arguments[i];
- }
- return undefined;
-};
-
-stdfn.USER = function() {
- return 'alasql';
-};
-
-stdfn.OBJECT_ID = function(objid) {
- return !!alasql.tables[objid];
-};
-
-stdfn.DATE = function(d) {
- if (/\d{8}/.test(d)) return new Date(+d.substr(0, 4), +d.substr(4, 2) - 1, +d.substr(6, 2));
- return new Date(d);
-};
-
-stdfn.NOW = function() {
- var d = new Date();
- var s =
- d.getFullYear() +
- '.' +
- ('0' + (d.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + d.getDate()).substr(-2);
- s +=
- ' ' +
- ('0' + d.getHours()).substr(-2) +
- ':' +
- ('0' + d.getMinutes()).substr(-2) +
- ':' +
- ('0' + d.getSeconds()).substr(-2);
- s += '.' + ('00' + d.getMilliseconds()).substr(-3);
- return s;
-};
-
-stdfn.GETDATE = stdfn.NOW;
-stdfn.CURRENT_TIMESTAMP = stdfn.NOW;
-
-stdfn.SECOND = function(d) {
- var d = new Date(d);
- return d.getSeconds();
-};
-
-stdfn.MINUTE = function(d) {
- var d = new Date(d);
- return d.getMinutes();
-};
-
-stdfn.HOUR = function(d) {
- var d = new Date(d);
- return d.getHours();
-};
-
-stdfn.DAYOFWEEK = stdfn.WEEKDAY = function(d) {
- var d = new Date(d);
- return d.getDay();
-};
-
-stdfn.DAY = stdfn.DAYOFMONTH = function(d) {
- var d = new Date(d);
- return d.getDate();
-};
-
-stdfn.MONTH = function(d) {
- var d = new Date(d);
- return d.getMonth() + 1;
-};
-
-stdfn.YEAR = function(d) {
- var d = new Date(d);
- return d.getFullYear();
-};
-
-var PERIODS = {
- year: 1000 * 3600 * 24 * 365,
- quarter: (1000 * 3600 * 24 * 365) / 4,
- month: 1000 * 3600 * 24 * 30,
- week: 1000 * 3600 * 24 * 7,
- day: 1000 * 3600 * 24,
- dayofyear: 1000 * 3600 * 24,
- weekday: 1000 * 3600 * 24,
- hour: 1000 * 3600,
- minute: 1000 * 60,
- second: 1000,
- millisecond: 1,
- microsecond: 0.001,
-};
-
-alasql.stdfn.DATEDIFF = function(period, d1, d2) {
- var interval = new Date(d2).getTime() - new Date(d1).getTime();
- return interval / PERIODS[period.toLowerCase()];
-};
-
-alasql.stdfn.DATEADD = function(period, interval, d) {
- var nd = new Date(d).getTime() + interval * PERIODS[period.toLowerCase()];
- return new Date(nd);
-};
-
-alasql.stdfn.INTERVAL = function(interval, period) {
- return interval * PERIODS[period.toLowerCase()];
-};
-
-alasql.stdfn.DATE_ADD = alasql.stdfn.ADDDATE = function(d, interval) {
- var nd = new Date(d).getTime() + interval;
- return new Date(nd);
-};
-
-alasql.stdfn.DATE_SUB = alasql.stdfn.SUBDATE = function(d, interval) {
- var nd = new Date(d).getTime() - interval;
- return new Date(nd);
-};
-
-/*
-//
-// DROP TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.DropTable = function(params) {
- return yy.extend(this, params);
-};
-yy.DropTable.prototype.toString = function() {
- var s = 'DROP' + ' ';
- if (this.view) s += 'VIEW';
- else s += 'TABLE';
- if (this.ifexists) s += ' IF EXISTS';
- s += ' ' + this.tables.toString();
- return s;
-};
-
-// DROP TABLE
-/**
- Drop tables
- @param {string} databaseid Database id
- @param {object} params Parameters
- @param {callback} cb Callback function
- @return Number of dropped tables
- @example
- DROP TABLE one;
- DROP TABLE IF NOT EXISTS two, three;
-*/
-yy.DropTable.prototype.execute = function(databaseid, params, cb) {
- var ifexists = this.ifexists;
- var res = 0; // No tables removed
- var count = 0;
- var tlen = this.tables.length;
-
- // For each table in the list
- this.tables.forEach(function(table) {
- var db = alasql.databases[table.databaseid || databaseid];
- var tableid = table.tableid;
-
- /** @todo Test with AUTOCOMMIT flag is ON */
- /** @todo Test with IndexedDB and multiple tables */
-
- if (!ifexists || (ifexists && db.tables[tableid])) {
- if (!db.tables[tableid]) {
- if (!alasql.options.dropifnotexists) {
- throw new Error(
- "Can not drop table '" +
- table.tableid +
- "', because it does not exist in the database."
- );
- }
- } else {
- if (db.engineid /*&& alasql.options.autocommit*/) {
- alasql.engines[db.engineid].dropTable(
- table.databaseid || databaseid,
- tableid,
- ifexists,
- function(res1) {
- delete db.tables[tableid];
- res += res1;
- count++;
- if (count == tlen && cb) cb(res);
- }
- );
- } else {
- delete db.tables[tableid];
- res++;
- count++;
- if (count == tlen && cb) cb(res);
- }
- }
- } else {
- count++;
- if (count == tlen && cb) cb(res);
- }
- });
- // if(cb) res = cb(res);
- return res;
-};
-
-yy.TruncateTable = function(params) {
- return yy.extend(this, params);
-};
-yy.TruncateTable.prototype.toString = function() {
- var s = 'TRUNCATE TABLE';
- s += ' ' + this.table.toString();
- return s;
-};
-
-yy.TruncateTable.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- var tableid = this.table.tableid;
- if (db.engineid) {
- return alasql.engines[db.engineid].truncateTable(
- this.table.databaseid || databaseid,
- tableid,
- this.ifexists,
- cb
- );
- }
- if (db.tables[tableid]) {
- db.tables[tableid].data = [];
- } else {
- throw new Error('Cannot truncate table becaues it does not exist');
- }
- return cb ? cb(0) : 0;
-};
-
-/*
-//
-// CREATE VERTEX for AlaSQL
-// Date: 21.04.2015
-// (c) 2015, Andrey Gershun
-//
-*/
-
-yy.CreateVertex = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateVertex.prototype.toString = function() {
- var s = 'CREATE VERTEX ';
- if (this.class) {
- s += this.class + ' ';
- }
- if (this.sharp) {
- s += '#' + this.sharp + ' ';
- }
- if (this.sets) {
- s += this.sets.toString();
- } else if (this.content) {
- s += this.content.toString();
- } else if (this.select) {
- s += this.select.toString();
- }
-
- return s;
-};
-
-yy.CreateVertex.prototype.toJS = function(context) {
-
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
- // var s = '';
- return s;
-};
-
-// CREATE TABLE
-
-yy.CreateVertex.prototype.compile = function(databaseid) {
- var dbid = databaseid;
-
- // CREATE VERTEX #id
- var sharp = this.sharp;
-
- // CREATE VERTEX "Name"
- if (typeof this.name !== 'undefined') {
- var s = 'x.name=' + this.name.toJS();
- var namefn = new Function('x', s);
- }
-
- if (this.sets && this.sets.length > 0) {
- var s = this.sets
- .map(function(st) {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- })
- .join(';');
- var setfn = new Function('x,params,alasql', s);
- }
-
- // Todo: check for content, select and default
-
- var statement = function(params, cb) {
- var res;
-
- // CREATE VERTEX without parameters
- var db = alasql.databases[dbid];
- var id;
- if (typeof sharp !== 'undefined') {
- id = sharp;
- } else {
- id = db.counter++;
- }
- var vertex = {$id: id, $node: 'VERTEX'};
- db.objects[vertex.$id] = vertex;
- res = vertex;
- if (namefn) {
- namefn(vertex);
- }
- if (setfn) {
- setfn(vertex, params, alasql);
- }
-
- if (cb) {
- res = cb(res);
- }
- return res;
- };
- return statement;
-};
-
-yy.CreateEdge = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateEdge.prototype.toString = function() {
-
- var s = 'CREATE EDGE' + ' ';
- if (this.class) {
- s += this.class + ' ';
- }
- // todo: SET
- // todo: CONTENT
- // todo: SELECT
- return s;
-};
-
-yy.CreateEdge.prototype.toJS = function(context) {
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
- return s;
-};
-
-// CREATE TABLE
-
-yy.CreateEdge.prototype.compile = function(databaseid) {
- var dbid = databaseid;
- var fromfn = new Function('params,alasql', 'var y;return ' + this.from.toJS());
- var tofn = new Function('params,alasql', 'var y;return ' + this.to.toJS());
-
- // CREATE VERTEX "Name"
- if (typeof this.name !== 'undefined') {
- var s = 'x.name=' + this.name.toJS();
- var namefn = new Function('x', s);
- }
-
- if (this.sets && this.sets.length > 0) {
- var s = this.sets
- .map(function(st) {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- })
- .join(';');
- var setfn = new Function('x,params,alasql', 'var y;' + s);
- }
-
- /*
- todo: handle content, select and default
- else if(this.content) {
-
- } else if(this.select) {
-
- } else {
- }
- */
-
- var statement = function(params, cb) {
- var res = 0;
- // CREATE VERTEX without parameters
- var db = alasql.databases[dbid];
- var edge = {$id: db.counter++, $node: 'EDGE'};
- var v1 = fromfn(params, alasql);
- var v2 = tofn(params, alasql);
- // Set link
- edge.$in = [v1.$id];
- edge.$out = [v2.$id];
- // Set sides
- if (v1.$out === undefined) {
- v1.$out = [];
- }
- v1.$out.push(edge.$id);
-
- if (typeof v2.$in === undefined) {
- v2.$in = [];
- }
- v2.$in.push(edge.$id);
-
- // Save in objects
- db.objects[edge.$id] = edge;
- res = edge;
- if (namefn) {
- namefn(edge);
- }
-
- if (setfn) {
- setfn(edge, params, alasql);
- }
-
- if (cb) {
- res = cb(res);
- }
-
- return res;
- };
- return statement;
-};
-
-yy.CreateGraph = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateGraph.prototype.toString = function() {
- var s = 'CREATE GRAPH' + ' ';
- if (this.class) {
- s += this.class + ' ';
- }
- return s;
-};
-
-yy.CreateGraph.prototype.execute = function(databaseid, params, cb) {
- var res = [];
- if (this.from) {
- if (alasql.from[this.from.funcid]) {
- this.graph = alasql.from[this.from.funcid.toUpperCase()];
- }
- }
-
- // stop;
- this.graph.forEach(function(g) {
- if (g.source) {
- // GREATE EDGE
- var e = {};
- if (typeof g.as !== 'undefined') {
- alasql.vars[g.as] = e;
- }
-
- if (typeof g.prop !== 'undefined') {
- // e[g.prop] = e;
- // v.$id = g.prop; // We do not create $id for edge automatically
- e.name = g.prop;
- }
- if (typeof g.sharp !== 'undefined') {
- e.$id = g.sharp;
- }
- if (typeof g.name !== 'undefined') {
- e.name = g.name;
- }
- if (typeof g.class !== 'undefined') {
- e.$class = g.class;
- }
-
- var db = alasql.databases[databaseid];
- if (typeof e.$id === 'undefined') {
- e.$id = db.counter++;
- }
- e.$node = 'EDGE';
- if (typeof g.json !== 'undefined') {
- extend(
- e,
- new Function('params,alasql', 'var y;return ' + g.json.toJS())(params, alasql)
- );
- }
-
- var v1;
- if (g.source.vars) {
- var vo = alasql.vars[g.source.vars];
- if (typeof vo === 'object') {
- v1 = vo;
- } else {
- v1 = db.objects[vo];
- }
- } else {
- var av1 = g.source.sharp;
- if (typeof av1 === 'undefined') {
- av1 = g.source.prop;
- }
- v1 = alasql.databases[databaseid].objects[av1];
- if (
- typeof v1 === 'undefined' &&
- alasql.options.autovertex &&
- (typeof g.source.prop !== 'undefined' || typeof g.source.name !== 'undefined')
- ) {
- v1 = findVertex(g.source.prop || g.source.name);
- if (typeof v1 === 'undefined') {
- v1 = createVertex(g.source);
- }
- }
- }
-
- var v2;
- if (g.source.vars) {
- var vo = alasql.vars[g.target.vars];
- if (typeof vo === 'object') {
- v2 = vo;
- } else {
- v2 = db.objects[vo];
- }
- } else {
- var av2 = g.target.sharp;
- if (typeof av2 === 'undefined') {
- av2 = g.target.prop;
- }
- v2 = alasql.databases[databaseid].objects[av2];
- if (
- typeof v2 === 'undefined' &&
- alasql.options.autovertex &&
- (typeof g.target.prop !== 'undefined' || typeof g.target.name !== 'undefined')
- ) {
- v2 = findVertex(g.target.prop || g.target.name);
- if (typeof v2 === 'undefined') {
- v2 = createVertex(g.target);
- }
- }
- }
-
- // Set link
- e.$in = [v1.$id];
- e.$out = [v2.$id];
- // Set sides
- if (typeof v1.$out === 'undefined') {
- v1.$out = [];
- }
- v1.$out.push(e.$id);
- if (typeof v2.$in === 'undefined') {
- v2.$in = [];
- }
- v2.$in.push(e.$id);
-
- db.objects[e.$id] = e;
- if (typeof e.$class !== 'undefined') {
- if (typeof alasql.databases[databaseid].tables[e.$class] === 'undefined') {
- throw new Error('No such class. Pleace use CREATE CLASS');
- } else {
- // TODO - add insert()
- alasql.databases[databaseid].tables[e.$class].data.push(e);
- }
- }
-
- res.push(e.$id);
- } else {
- createVertex(g);
- }
- });
-
- if (cb) {
- res = cb(res);
- }
- return res;
-
- // Find vertex by name
- function findVertex(name) {
- var objects = alasql.databases[alasql.useid].objects;
- for (var k in objects) {
- if (objects[k].name === name) {
- return objects[k];
- }
- }
- return undefined;
- }
-
- function createVertex(g) {
- // GREATE VERTEX
- var v = {};
- if (typeof g.as !== 'undefined') {
- alasql.vars[g.as] = v;
- }
-
- if (typeof g.prop !== 'undefined') {
- // v[g.prop] = true;
- v.$id = g.prop;
- v.name = g.prop;
- }
-
- if (typeof g.sharp !== 'undefined') {
- v.$id = g.sharp;
- }
- if (typeof g.name !== 'undefined') {
- v.name = g.name;
- }
- if (typeof g.class !== 'undefined') {
- v.$class = g.class;
- }
-
- var db = alasql.databases[databaseid];
- if (typeof v.$id === 'undefined') {
- v.$id = db.counter++;
- }
- v.$node = 'VERTEX';
- if (typeof g.json !== 'undefined') {
- extend(
- v,
- new Function('params,alasql', 'var y;return ' + g.json.toJS())(params, alasql)
- );
- }
- db.objects[v.$id] = v;
- if (typeof v.$class !== 'undefined') {
- if (typeof alasql.databases[databaseid].tables[v.$class] === 'undefined') {
- throw new Error('No such class. Pleace use CREATE CLASS');
- } else {
- // TODO - add insert()
- alasql.databases[databaseid].tables[v.$class].data.push(v);
- }
- }
-
- res.push(v.$id);
- return v;
- }
-};
-
-yy.CreateGraph.prototype.compile1 = function(databaseid) {
- var dbid = databaseid;
- var fromfn = new Function('params,alasql', 'var y;return ' + this.from.toJS());
- var tofn = new Function('params,alasql', 'var y;return ' + this.to.toJS());
-
- // CREATE VERTEX "Name"
- if (typeof this.name !== 'undefined') {
- var s = 'x.name=' + this.name.toJS();
- var namefn = new Function('x', s);
- }
-
- if (this.sets && this.sets.length > 0) {
- var s = this.sets
- .map(function(st) {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- })
- .join(';');
- var setfn = new Function('x,params,alasql', 'var y;' + s);
- }
-
- // Todo: handle content, select and default
-
- var statement = function(params, cb) {
- var res = 0;
- // CREATE VERTEX without parameters
- var db = alasql.databases[dbid];
- var edge = {$id: db.counter++, $node: 'EDGE'};
- var v1 = fromfn(params, alasql);
- var v2 = tofn(params, alasql);
- // Set link
- edge.$in = [v1.$id];
- edge.$out = [v2.$id];
- // Set sides
- if (typeof v1.$out === 'undefined') {
- v1.$out = [];
- }
- v1.$out.push(edge.$id);
-
- if (typeof v2.$in === 'undefined') {
- v2.$in = [];
- }
- v2.$in.push(edge.$id);
- // Save in objects
- db.objects[edge.$id] = edge;
- res = edge;
- if (namefn) {
- namefn(edge);
- }
- if (setfn) {
- setfn(edge, params, alasql);
- }
-
- if (cb) {
- res = cb(res);
- }
- return res;
- };
- return statement;
-};
-
-/*
-//
-// ALTER TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-/* global alasql yy */
-
-// ALTER TABLE table1 RENAME TO table2
-yy.AlterTable = function(params) {
- return yy.extend(this, params);
-};
-yy.AlterTable.prototype.toString = function() {
- var s = 'ALTER TABLE ' + this.table.toString();
- if (this.renameto) s += ' RENAME TO ' + this.renameto;
- return s;
-};
-
-yy.AlterTable.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[databaseid];
- db.dbversion = Date.now();
-
- if (this.renameto) {
- var oldtableid = this.table.tableid;
- var newtableid = this.renameto;
- var res = 1;
- if (db.tables[newtableid]) {
- throw new Error(
- "Can not rename a table '" +
- oldtableid +
- "' to '" +
- newtableid +
- "', because the table with this name already exists"
- );
- } else if (newtableid === oldtableid) {
- throw new Error("Can not rename a table '" + oldtableid + "' to itself");
- } else {
- db.tables[newtableid] = db.tables[oldtableid];
- delete db.tables[oldtableid];
- res = 1;
- }
- if (cb) cb(res);
- return res;
- } else if (this.addcolumn) {
- db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.addcolumn.columnid;
- if (table.xcolumns[columnid]) {
- throw new Error(
- 'Cannot add column "' +
- columnid +
- '", because it already exists in the table "' +
- tableid +
- '"'
- );
- }
-
- var col = {
- columnid: columnid,
- dbtypeid: this.dbtypeid,
- dbsize: this.dbsize,
- dbprecision: this.dbprecision,
- dbenum: this.dbenum,
- defaultfns: null, // TODO defaultfns!!!
- };
-
- var defaultfn = function() {};
-
- table.columns.push(col);
- table.xcolumns[columnid] = col;
-
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
-
- table.data[i][columnid] = defaultfn();
- }
-
- // TODO
- return cb ? cb(1) : 1;
- } else if (this.modifycolumn) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.modifycolumn.columnid;
-
- if (!table.xcolumns[columnid]) {
- throw new Error(
- 'Cannot modify column "' +
- columnid +
- '", because it was not found in the table "' +
- tableid +
- '"'
- );
- }
-
- col = table.xcolumns[columnid];
- col.dbtypeid = this.dbtypeid;
- col.dbsize = this.dbsize;
- col.dbprecision = this.dbprecision;
- col.dbenum = this.dbenum;
-
- // TODO
- return cb ? cb(1) : 1;
- } else if (this.renamecolumn) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
-
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.renamecolumn;
- var tocolumnid = this.to;
-
- var col;
- if (!table.xcolumns[columnid]) {
- throw new Error(
- 'Column "' + columnid + '" is not found in the table "' + tableid + '"'
- );
- }
- if (table.xcolumns[tocolumnid]) {
- throw new Error(
- 'Column "' + tocolumnid + '" already exists in the table "' + tableid + '"'
- );
- }
-
- if (columnid != tocolumnid) {
- for (var j = 0; j < table.columns.length; j++) {
- if (table.columns[j].columnid == columnid) {
- table.columns[j].columnid = tocolumnid;
- }
- }
-
- table.xcolumns[tocolumnid] = table.xcolumns[columnid];
- delete table.xcolumns[columnid];
-
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
-
- table.data[i][tocolumnid] = table.data[i][columnid];
- delete table.data[i][columnid];
- }
- return table.data.length;
- } else {
- return cb ? cb(0) : 0;
- }
- } else if (this.dropcolumn) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.dropcolumn;
-
- var found = false;
- for (var j = 0; j < table.columns.length; j++) {
- if (table.columns[j].columnid == columnid) {
- found = true;
- table.columns.splice(j, 1);
- break;
- }
- }
-
- if (!found) {
- throw new Error(
- 'Cannot drop column "' +
- columnid +
- '", because it was not found in the table "' +
- tableid +
- '"'
- );
- }
-
- delete table.xcolumns[columnid];
-
- for (i = 0, ilen = table.data.length; i < ilen; i++) {
- delete table.data[i][columnid];
- }
- return cb ? cb(table.data.length) : table.data.length;
- } else {
- throw Error('Unknown ALTER TABLE method');
- }
-};
-
-/*
-//
-// CREATE TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.CreateIndex = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateIndex.prototype.toString = function() {
- var s = 'CREATE';
- if (this.unique) s += ' UNIQUE';
- s += ' INDEX ' + this.indexid + ' ON ' + this.table.toString();
- s += '(' + this.columns.toString() + ')';
- return s;
-};
-
-// CREATE TABLE
-yy.CreateIndex.prototype.execute = function(databaseid, params, cb) {
- // var self = this;
- var db = alasql.databases[databaseid];
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var indexid = this.indexid;
- db.indices[indexid] = tableid;
-
- var rightfns = this.columns
- .map(function(expr) {
- return expr.expression.toJS('r', '');
- })
- .join("+'`'+");
-
- var rightfn = new Function('r,params,alasql', 'return ' + rightfns);
-
- if (this.unique) {
- table.uniqdefs[indexid] = {
- rightfns: rightfns,
- };
- var ux = (table.uniqs[indexid] = {});
- if (table.data.length > 0) {
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- var addr = rightfns(table.data[i]);
- if (!ux[addr]) {
- ux[addr] = {num: 0};
- }
- ux[addr].num++;
- }
- }
- } else {
- var hh = hash(rightfns);
- table.inddefs[indexid] = {rightfns: rightfns, hh: hh};
- table.indices[hh] = {};
-
- var ix = (table.indices[hh] = {});
- if (table.data.length > 0) {
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- var addr = rightfn(table.data[i], params, alasql);
- if (!ix[addr]) {
- ix[addr] = [];
- }
- ix[addr].push(table.data[i]);
- }
- }
- }
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-yy.Reindex = function(params) {
- return yy.extend(this, params);
-};
-yy.Reindex.prototype.toString = function() {
- var s = 'REINDEX ' + this.indexid;
- return s;
-};
-
-// CREATE TABLE
-yy.Reindex.prototype.execute = function(databaseid, params, cb) {
- // var self = this;
- var db = alasql.databases[databaseid];
- var indexid = this.indexid;
-
- var tableid = db.indices[indexid];
- var table = db.tables[tableid];
- table.indexColumns();
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// DROP TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.DropIndex = function(params) {
- return yy.extend(this, params);
-};
-yy.DropIndex.prototype.toString = function() {
- return 'DROP INDEX' + this.indexid;
-};
-
-// DROP TABLE
-yy.DropIndex.prototype.compile = function(db) {
- var indexid = this.indexid;
- return function() {
- return 1;
- };
-};
-
-/*
-//
-// WITH SELECT for Alasql.js
-// Date: 11.01.2015
-// (c) 2015, Andrey Gershun
-//
-*/
-
-yy.WithSelect = function(params) {
- return yy.extend(this, params);
-};
-yy.WithSelect.prototype.toString = function() {
- var s = 'WITH ';
- s +=
- this.withs
- .map(function(w) {
- return w.name + ' AS (' + w.select.toString() + ')';
- })
- .join(',') + ' ';
- s += this.select.toString();
- return s;
-};
-
-yy.WithSelect.prototype.execute = function(databaseid, params, cb) {
- var self = this;
- // Create temporary tables
- var savedTables = [];
- self.withs.forEach(function(w) {
- savedTables.push(alasql.databases[databaseid].tables[w.name]);
- var tb = (alasql.databases[databaseid].tables[w.name] = new Table({tableid: w.name}));
- tb.data = w.select.execute(databaseid, params);
- });
-
- var res = 1;
- res = this.select.execute(databaseid, params, function(data) {
- // Clear temporary tables
- // setTimeout(function(){
- self.withs.forEach(function(w, idx) {
- if (savedTables[idx]) alasql.databases[databaseid].tables[w.name] = savedTables[idx];
- else delete alasql.databases[databaseid].tables[w.name];
- });
- // },0);
-
- if (cb) data = cb(data);
- return data;
- });
- return res;
-};
-
-/*
-//
-// IF for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.If = function(params) {
- return yy.extend(this, params);
-};
-yy.If.prototype.toString = function() {
- var s = 'IF' + ' ';
- s += this.expression.toString();
- s += ' ' + this.thenstat.toString();
- if (this.elsestat) s += ' ELSE ' + this.thenstat.toString();
- return s;
-};
-
-// CREATE TABLE
-
-yy.If.prototype.execute = function(databaseid, params, cb) {
- var res;
-
- var fn = new Function(
- 'params,alasql,p',
- 'var y;return ' + this.expression.toJS('({})', '', null)
- ).bind(this);
-
- if (fn(params, alasql)) res = this.thenstat.execute(databaseid, params, cb);
- else {
- if (this.elsestat) res = this.elsestat.execute(databaseid, params, cb);
- else {
- if (cb) res = cb(res);
- }
- }
- // else res = this.elsestat.execute(databaseid,params,cb,scope);
- return res;
-};
-
-/*
-//
-// CREATE VIEW for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.While = function(params) {
- return yy.extend(this, params);
-};
-yy.While.prototype.toString = function() {
- var s = 'WHILE ';
- s += this.expression.toString();
- s += ' ' + this.loopstat.toString();
- return s;
-};
-
-yy.While.prototype.execute = function(databaseid, params, cb) {
- var self = this;
- var res = [];
-
- var fn = new Function('params,alasql,p', 'var y;return ' + this.expression.toJS());
-
- if (cb) {
- var first = false;
- loop();
- function loop(data) {
- if (first) {
- res.push(data);
- } else {
- first = true;
- }
- setTimeout(function() {
- if (fn(params, alasql)) {
- self.loopstat.execute(databaseid, params, loop);
- } else {
- res = cb(res);
- }
- }, 0);
- }
- } else {
- while (fn(params, alasql)) {
- var res1 = self.loopstat.execute(databaseid, params);
- res.push(res1);
- }
- }
- return res;
-};
-
-yy.Break = function(params) {
- return yy.extend(this, params);
-};
-yy.Break.prototype.toString = function() {
- var s = 'BREAK';
- return s;
-};
-
-yy.Break.prototype.execute = function(databaseid, params, cb, scope) {
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-yy.Continue = function(params) {
- return yy.extend(this, params);
-};
-yy.Continue.prototype.toString = function() {
- var s = 'CONTINUE';
- return s;
-};
-
-yy.Continue.prototype.execute = function(databaseid, params, cb, scope) {
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-yy.BeginEnd = function(params) {
- return yy.extend(this, params);
-};
-yy.BeginEnd.prototype.toString = function() {
- var s = 'BEGIN ' + this.statements.toString() + ' END';
- return s;
-};
-
-yy.BeginEnd.prototype.execute = function(databaseid, params, cb, scope) {
- var self = this;
- var res = [];
-
- var idx = 0;
- runone();
- function runone() {
- self.statements[idx].execute(databaseid, params, function(data) {
- res.push(data);
- idx++;
- if (idx < self.statements.length) return runone();
- if (cb) res = cb(res);
- });
- }
- return res;
-};
-
-/*
-//
-// INSERT for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql*/
-yy.Insert = function(params) {
- return yy.extend(this, params);
-};
-yy.Insert.prototype.toString = function() {
- var s = 'INSERT ';
- if (this.orreplace) s += 'OR REPLACE ';
- if (this.replaceonly) s = 'REPLACE ';
- s += 'INTO ' + this.into.toString();
- if (this.columns) s += '(' + this.columns.toString() + ')';
- if (this.values) s += ' VALUES ' + this.values.toString();
- if (this.select) s += ' ' + this.select.toString();
- return s;
-};
-
-yy.Insert.prototype.toJS = function(context, tableid, defcols) {
-
- // if(this.expression.reduced) return 'true';
- // return this.expression.toJS(context, tableid, defcols);
-
- // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
-
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
-
- return s;
-};
-
-yy.Insert.prototype.compile = function(databaseid) {
- var self = this;
- databaseid = self.into.databaseid || databaseid;
- var db = alasql.databases[databaseid];
-
- var tableid = self.into.tableid;
- var table = db.tables[tableid];
-
- if (!table) {
- throw "Table '" + tableid + "' could not be found";
- }
-
- // Check, if this dirty flag is required
- var s = '';
- var sw = '';
- var s = "db.tables['" + tableid + "'].dirty=true;";
- var s3 = 'var a,aa=[],x;';
-
- var s33;
-
- // INSERT INTO table VALUES
- if (this.values) {
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-
- self.values.forEach(function(values) {
- var ss = [];
-
- // s += 'db.tables[\''+tableid+'\'].data.push({';
-
- // s += '';
- if (self.columns) {
- self.columns.forEach(function(col, idx) {
-
- // ss.push(col.columnid +':'+ self.values[idx].value.toString());
-
- // if(rec[f.name.value] == "NULL") rec[f.name.value] = undefined;
-
- // if(table.xflds[f.name.value].dbtypeid == "INT") rec[f.name.value] = +rec[f.name.value]|0;
- // else if(table.xflds[f.name.value].dbtypeid == "FLOAT") rec[f.name.value] = +rec[f.name.value];
- var q = "'" + col.columnid + "':";
- if (table.xcolumns && table.xcolumns[col.columnid]) {
- if (
- ['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(
- table.xcolumns[col.columnid].dbtypeid
- ) >= 0
- ) {
- //q += ''
- q += '(x=' + values[idx].toJS() + ',x==undefined?undefined:+x)';
- } else if (alasql.fn[table.xcolumns[col.columnid].dbtypeid]) {
- q += '(new ' + table.xcolumns[col.columnid].dbtypeid + '(';
- q += values[idx].toJS();
- q += '))';
- } else {
- q += values[idx].toJS();
- }
- } else {
- q += values[idx].toJS();
- }
- ss.push(q);
- });
- } else {
- // var table = db.tables[tableid];
-
- if (Array.isArray(values) && table.columns && table.columns.length > 0) {
- table.columns.forEach(function(col, idx) {
- var q = "'" + col.columnid + "':";
- // var val = values[idx].toJS();
-
- if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(col.dbtypeid) >= 0) {
- q += '+' + values[idx].toJS();
- } else if (alasql.fn[col.dbtypeid]) {
- q += '(new ' + col.dbtypeid + '(';
- q += values[idx].toJS();
- q += '))';
- } else {
- q += values[idx].toJS();
- }
-
- ss.push(q);
-
- });
- } else {
-
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
- sw = JSONtoJS(values);
- }
- }
-
- if (db.tables[tableid].defaultfns) {
- ss.unshift(db.tables[tableid].defaultfns);
- }
- if (sw) {
- s += 'a=' + sw + ';';
- } else {
- s += 'a={' + ss.join(',') + '};';
- }
-
- // If this is a class
- if (db.tables[tableid].isclass) {
- s += "var db=alasql.databases['" + databaseid + "'];";
- s += 'a.$class="' + tableid + '";';
- s += 'a.$id=db.counter++;';
- s += 'db.objects[a.$id]=a;';
- }
- // s += 'db.tables[\''+tableid+'\'].insert(r);';
- if (db.tables[tableid].insert) {
- s += "var db=alasql.databases['" + databaseid + "'];";
- s +=
- "db.tables['" +
- tableid +
- "'].insert(a," +
- (self.orreplace ? 'true' : 'false') +
- ');';
- } else {
- s += 'aa.push(a);';
- }
- });
-
- s33 = s3 + s;
-
- if (db.tables[tableid].insert) {
- // s += 'alasql.databases[\''+databaseid+'\'].tables[\''+tableid+'\'].insert(r);';
- } else {
- s +=
- "alasql.databases['" +
- databaseid +
- "'].tables['" +
- tableid +
- "'].data=" +
- "alasql.databases['" +
- databaseid +
- "'].tables['" +
- tableid +
- "'].data.concat(aa);";
- }
-
- if (db.tables[tableid].insert) {
- if (db.tables[tableid].isclass) {
- s += 'return a.$id;';
- } else {
- s += 'return ' + self.values.length;
- }
- } else {
- s += 'return ' + self.values.length;
- }
-
- var insertfn = new Function('db, params, alasql', 'var y;' + s3 + s).bind(this);
-
- // INSERT INTO table SELECT
- } else if (this.select) {
- this.select.modifier = 'RECORDSET';
- var selectfn = this.select.compile(databaseid);
- if (db.engineid && alasql.engines[db.engineid].intoTable) {
- var statement = function(params, cb) {
- var aa = selectfn(params);
- var res = alasql.engines[db.engineid].intoTable(
- db.databaseid,
- tableid,
- aa.data,
- null,
- cb
- );
- return res;
- };
- return statement;
- } else {
-
- var defaultfns = 'return alasql.utils.extend(r,{' + table.defaultfns + '})';
- var defaultfn = new Function('r,db,params,alasql', defaultfns);
- var insertfn = function(db, params, alasql) {
- var res = selectfn(params).data;
- if (db.tables[tableid].insert) {
- // If insert() function exists (issue #92)
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- var r = cloneDeep(res[i]);
- defaultfn(r, db, params, alasql);
- db.tables[tableid].insert(r, self.orreplace);
- }
- } else {
- db.tables[tableid].data = db.tables[tableid].data.concat(res);
- }
- if (alasql.options.nocount) return;
- else return res.length;
- };
- }
- } else if (this.default) {
- var insertfns =
- "db.tables['" + tableid + "'].data.push({" + table.defaultfns + '});return 1;';
- var insertfn = new Function('db,params,alasql', insertfns);
- } else {
- throw new Error('Wrong INSERT parameters');
- }
-
- if (db.engineid && alasql.engines[db.engineid].intoTable && alasql.options.autocommit) {
- var statement = function(params, cb) {
- var aa = new Function('db,params', 'var y;' + s33 + 'return aa;')(db, params);
-
- var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa, null, cb);
- // if(cb) cb(res);
- return res;
- };
- } else {
- var statement = function(params, cb) {
-
- var db = alasql.databases[databaseid];
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var res = insertfn(db, params, alasql);
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
- // var res = insertfn(db, params);
- if (alasql.options.nocount) res = undefined;
- if (cb) cb(res);
- return res;
- };
- }
-
- return statement;
-};
-
-yy.Insert.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
- // throw new Error('Insert statement is should be compiled')
-};
-
-/*
-//
-// TRIGGER for Alasql.js
-// Date: 29.12.2015
-//
-*/
-
-yy.CreateTrigger = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateTrigger.prototype.toString = function() {
- var s = 'CREATE TRIGGER ' + this.trigger + ' ';
- if (this.when) s += this.when + ' ';
- s += this.action + ' ON ';
- if (this.table.databaseid) s += this.table.databaseid + '.';
- s += this.table.tableid + ' ';
- s += this.statement.toString();
- return s;
-};
-
-yy.CreateTrigger.prototype.execute = function(databaseid, params, cb) {
- var res = 1; // No tables removed
- var triggerid = this.trigger;
- databaseid = this.table.databaseid || databaseid;
- var db = alasql.databases[databaseid];
- var tableid = this.table.tableid;
-
- var trigger = {
- action: this.action,
- when: this.when,
- statement: this.statement,
- funcid: this.funcid,
- };
-
- db.triggers[triggerid] = trigger;
- if (trigger.action == 'INSERT' && trigger.when == 'BEFORE') {
- db.tables[tableid].beforeinsert[triggerid] = trigger;
- } else if (trigger.action == 'INSERT' && trigger.when == 'AFTER') {
- db.tables[tableid].afterinsert[triggerid] = trigger;
- } else if (trigger.action == 'INSERT' && trigger.when == 'INSTEADOF') {
- db.tables[tableid].insteadofinsert[triggerid] = trigger;
- } else if (trigger.action == 'DELETE' && trigger.when == 'BEFORE') {
- db.tables[tableid].beforedelete[triggerid] = trigger;
- } else if (trigger.action == 'DELETE' && trigger.when == 'AFTER') {
- db.tables[tableid].afterdelete[triggerid] = trigger;
- } else if (trigger.action == 'DELETE' && trigger.when == 'INSTEADOF') {
- db.tables[tableid].insteadofdelete[triggerid] = trigger;
- } else if (trigger.action == 'UPDATE' && trigger.when == 'BEFORE') {
- db.tables[tableid].beforeupdate[triggerid] = trigger;
- } else if (trigger.action == 'UPDATE' && trigger.when == 'AFTER') {
- db.tables[tableid].afterupdate[triggerid] = trigger;
- } else if (trigger.action == 'UPDATE' && trigger.when == 'INSTEADOF') {
- db.tables[tableid].insteadofupdate[triggerid] = trigger;
- }
-
- if (cb) res = cb(res);
- return res;
-};
-
-yy.DropTrigger = function(params) {
- return yy.extend(this, params);
-};
-yy.DropTrigger.prototype.toString = function() {
- var s = 'DROP TRIGGER ' + this.trigger;
- return s;
-};
-
-/**
- Drop trigger
- @param {string} databaseid Database id
- @param {object} params Parameters
- @param {callback} cb Callback function
- @return Number of dropped triggers
- @example
- DROP TRIGGER one;
-*/
-yy.DropTrigger.prototype.execute = function(databaseid, params, cb) {
- var res = 0; // No tables removed
- var db = alasql.databases[databaseid];
- var triggerid = this.trigger;
- // For each table in the list
- var tableid = db.triggers[triggerid];
- if (tableid) {
- res = 1;
- delete db.tables[tableid].beforeinsert[triggerid];
- delete db.tables[tableid].afterinsert[triggerid];
- delete db.tables[tableid].insteadofinsert[triggerid];
- delete db.tables[tableid].beforedelte[triggerid];
- delete db.tables[tableid].afterdelete[triggerid];
- delete db.tables[tableid].insteadofdelete[triggerid];
- delete db.tables[tableid].beforeupdate[triggerid];
- delete db.tables[tableid].afterupdate[triggerid];
- delete db.tables[tableid].insteadofupdate[triggerid];
- delete db.triggers[triggerid];
- } else {
- throw new Error('Trigger not found');
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// DELETE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Delete = function(params) {
- return yy.extend(this, params);
-};
-yy.Delete.prototype.toString = function() {
- var s = 'DELETE FROM ' + this.table.toString();
- if (this.where) s += ' WHERE ' + this.where.toString();
- return s;
-};
-
-yy.Delete.prototype.compile = function(databaseid) {
-
- databaseid = this.table.databaseid || databaseid;
- var tableid = this.table.tableid;
- var statement;
- var db = alasql.databases[databaseid];
-
- if (this.where) {
-
- // this.query = {};
-
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-
- // try {
-
- // var query = {};
-
- var wherefn = new Function(
- 'r,params,alasql',
- 'var y;return (' + this.where.toJS('r', '') + ')'
- ).bind(this);
-
- statement = function(params, cb) {
- if (db.engineid && alasql.engines[db.engineid].deleteFromTable) {
- return alasql.engines[db.engineid].deleteFromTable(
- databaseid,
- tableid,
- wherefn,
- params,
- cb
- );
- }
-
- if (alasql.options.autocommit && db.engineid && db.engineid == 'LOCALSTORAGE') {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var table = db.tables[tableid];
- // table.dirty = true;
- var orignum = table.data.length;
-
- var newtable = [];
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- if (wherefn(table.data[i], params, alasql)) {
- // Check for transaction - if it is not possible then return all back
- if (table.delete) {
- table.delete(i, params, alasql);
- } else {
- // Simply do not push
- }
- } else newtable.push(table.data[i]);
- }
- // table.data = table.data.filter(function(r){return !;});
- table.data = newtable;
-
- // Trigger prevent functionality
- for (var tr in table.afterdelete) {
- var trigger = table.afterdelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid]();
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
-
- var res = orignum - table.data.length;
- if (alasql.options.autocommit && db.engineid && db.engineid == 'LOCALSTORAGE') {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
-
- if (cb) cb(res);
- return res;
- };
- // .bind(query);
-
- // if(!this.queries) return;
- // query.queriesfn = this.queries.map(function(q) {
- // return q.compile(alasql.useid);
- // });
- } else {
- statement = function(params, cb) {
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var table = db.tables[tableid];
- table.dirty = true;
- var orignum = db.tables[tableid].data.length;
- //table.deleteall();
- // Delete all records from the array
- db.tables[tableid].data.length = 0;
-
- // Reset PRIMARY KEY and indexes
- for (var ix in db.tables[tableid].uniqs) {
- db.tables[tableid].uniqs[ix] = {};
- }
-
- for (var ix in db.tables[tableid].indices) {
- db.tables[tableid].indices[ix] = {};
- }
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
-
- if (cb) cb(orignum);
- return orignum;
- };
- }
-
- return statement;
-};
-
-yy.Delete.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
-};
-
-/*
-//
-// UPDATE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql */
-
-yy.Update = function(params) {
- return yy.extend(this, params);
-};
-yy.Update.prototype.toString = function() {
- var s = 'UPDATE ' + this.table.toString();
- if (this.columns) s += ' SET ' + this.columns.toString();
- if (this.where) s += ' WHERE ' + this.where.toString();
- return s;
-};
-
-yy.SetColumn = function(params) {
- return yy.extend(this, params);
-};
-yy.SetColumn.prototype.toString = function() {
- return this.column.toString() + '=' + this.expression.toString();
-};
-
-yy.Update.prototype.compile = function(databaseid) {
-
- databaseid = this.table.databaseid || databaseid;
- var tableid = this.table.tableid;
-
- if (this.where) {
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-
- var wherefn = new Function(
- 'r,params,alasql',
- 'var y;return ' + this.where.toJS('r', '')
- ).bind(this);
- }
-
- // Construct update function
- var s = alasql.databases[databaseid].tables[tableid].onupdatefns || '';
- s += ';';
- this.columns.forEach(function(col) {
- s += "r['" + col.column.columnid + "']=" + col.expression.toJS('r', '') + ';';
- });
-
- var assignfn = new Function('r,params,alasql', 'var y;' + s);
-
- var statement = function(params, cb) {
- var db = alasql.databases[databaseid];
-
- if (db.engineid && alasql.engines[db.engineid].updateTable) {
-
- return alasql.engines[db.engineid].updateTable(
- databaseid,
- tableid,
- assignfn,
- wherefn,
- params,
- cb
- );
- }
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var table = db.tables[tableid];
- if (!table) {
- throw new Error("Table '" + tableid + "' not exists");
- }
- // table.dirty = true;
- var numrows = 0;
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- if (!wherefn || wherefn(table.data[i], params, alasql)) {
- if (table.update) {
- table.update(assignfn, i, params);
- } else {
- assignfn(table.data[i], params, alasql);
- }
- numrows++;
- }
- }
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
-
- if (cb) cb(numrows);
- return numrows;
- };
- return statement;
-};
-
-yy.Update.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
-};
-
-/*
-//
-// SET for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global alasql, yy */
-
-yy.Merge = function(params) {
- return yy.extend(this, params);
-};
-yy.Merge.prototype.toString = function() {
- var s = 'MERGE ';
- s += this.into.tableid + ' ';
- if (this.into.as) s += 'AS ' + this.into.as + ' ';
- s += 'USING ' + this.using.tableid + ' ';
- if (this.using.as) s += 'AS ' + this.using.as + ' ';
- s += 'ON ' + this.on.toString() + ' ';
- this.matches.forEach(function(m) {
- s += 'WHEN ';
- if (!m.matched) s += 'NOT ';
- s += 'MATCHED ';
- if (m.bytarget) s += 'BY TARGET ';
- if (m.bysource) s += 'BY SOURCE ';
- if (m.expr) s += 'AND' + ' ' + m.expr.toString() + ' ';
- s += 'THEN ';
- if (m.action.delete) s += 'DELETE ';
- if (m.action.insert) {
- s += 'INSERT ';
- if (m.action.columns) s += '(' + m.action.columns.toString() + ') ';
- if (m.action.values) s += 'VALUES (' + m.action.values.toString() + ') ';
- if (m.action.defaultvalues) s += 'DEFAULT VALUES ';
- }
- if (m.action.update) {
- s += 'UPDATE ';
- s +=
- m.action.update
- .map(function(u) {
- return u.toString();
- })
- .join(',') + ' ';
- }
- });
-
- return s;
-};
-
-yy.Merge.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
-
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// UPDATE for Alasql.js
-// Date: 03.11.2014
-// Modified: 16.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql */
-
-// CREATE DATABASE databaseid
-yy.CreateDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateDatabase.prototype.toString = function() {
- var s = 'CREATE';
- if (this.engineid) s += ' ' + this.engineid;
- s += ' DATABASE';
- if (this.ifnotexists) s += ' IF NOT EXISTS';
- s += ' ' + this.databaseid;
- if (this.args && this.args.length > 0) {
- s +=
- '(' +
- this.args
- .map(function(arg) {
- return arg.toString();
- })
- .join(', ') +
- ')';
- }
- if (this.as) s += ' AS ' + this.as;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.CreateDatabase.prototype.execute = function(databaseid, params, cb) {
- var args;
- if (this.args && this.args.length > 0) {
- args = this.args.map(function(arg) {
-
- return new Function('params,alasql', 'var y;return ' + arg.toJS())(params, alasql);
- });
- }
- if (this.engineid) {
- var res = alasql.engines[this.engineid].createDatabase(
- this.databaseid,
- this.args,
- this.ifnotexists,
- this.as,
- cb
- );
- return res;
- } else {
- var dbid = this.databaseid;
- if (alasql.databases[dbid]) {
- throw new Error("Database '" + dbid + "' already exists");
- }
- var a = new alasql.Database(dbid);
- var res = 1;
- if (cb) return cb(res);
- return res;
- }
-};
-
-// CREATE DATABASE databaseid
-yy.AttachDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.AttachDatabase.prototype.toString = function(args) {
- var s = 'ATTACH';
- if (this.engineid) s += ' ' + this.engineid;
- s += ' DATABASE' + ' ' + this.databaseid;
- // TODO add params
- if (args) {
- s += '(';
- if (args.length > 0) {
- s += args
- .map(function(arg) {
- return arg.toString();
- })
- .join(', ');
- }
- s += ')';
- }
- if (this.as) s += ' AS' + ' ' + this.as;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.AttachDatabase.prototype.execute = function(databaseid, params, cb) {
- if (!alasql.engines[this.engineid]) {
- throw new Error('Engine "' + this.engineid + '" is not defined.');
- }
- var res = alasql.engines[this.engineid].attachDatabase(
- this.databaseid,
- this.as,
- this.args,
- params,
- cb
- );
- return res;
-};
-
-// CREATE DATABASE databaseid
-yy.DetachDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.DetachDatabase.prototype.toString = function() {
- var s = 'DETACH';
- s += ' DATABASE' + ' ' + this.databaseid;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.DetachDatabase.prototype.execute = function(databaseid, params, cb) {
- if (!alasql.databases[this.databaseid].engineid) {
- throw new Error(
- 'Cannot detach database "' + this.engineid + '", because it was not attached.'
- );
- }
- var res;
-
- var dbid = this.databaseid;
-
- if (dbid === alasql.DEFAULTDATABASEID) {
- throw new Error('Drop of default database is prohibited');
- }
-
- if (!alasql.databases[dbid]) {
- if (!this.ifexists) {
- throw new Error("Database '" + dbid + "' does not exist");
- } else {
- res = 0;
- }
- } else {
- delete alasql.databases[dbid];
- if (dbid === alasql.useid) {
- alasql.use();
- }
- res = 1;
- }
- if (cb) cb(res);
- return res;
- // var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, cb);
- // return res;
-};
-
-// USE DATABSE databaseid
-// USE databaseid
-yy.UseDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.UseDatabase.prototype.toString = function() {
- return 'USE' + ' ' + 'DATABASE' + ' ' + this.databaseid;
-};
-//yy.UseDatabase.prototype.compile = returnUndefined;
-yy.UseDatabase.prototype.execute = function(databaseid, params, cb) {
- var dbid = this.databaseid;
- if (!alasql.databases[dbid]) {
- throw new Error("Database '" + dbid + "' does not exist");
- }
- alasql.use(dbid);
- var res = 1;
- if (cb) cb(res);
- return res;
-};
-
-// DROP DATABASE databaseid
-yy.DropDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.DropDatabase.prototype.toString = function() {
- var s = 'DROP';
- if (this.ifexists) s += ' IF EXISTS';
- s += ' DATABASE ' + this.databaseid;
- return s;
-};
-//yy.DropDatabase.prototype.compile = returnUndefined;
-yy.DropDatabase.prototype.execute = function(databaseid, params, cb) {
- if (this.engineid) {
- return alasql.engines[this.engineid].dropDatabase(this.databaseid, this.ifexists, cb);
- }
- var res;
-
- var dbid = this.databaseid;
-
- if (dbid === alasql.DEFAULTDATABASEID) {
- throw new Error('Drop of default database is prohibited');
- }
- if (!alasql.databases[dbid]) {
- if (!this.ifexists) {
- throw new Error("Database '" + dbid + "' does not exist");
- } else {
- res = 0;
- }
- } else {
- if (alasql.databases[dbid].engineid) {
- throw new Error(
- "Cannot drop database '" + dbid + "', because it is attached. Detach it."
- );
- }
-
- delete alasql.databases[dbid];
- if (dbid === alasql.useid) {
- alasql.use();
- }
- res = 1;
- }
- if (cb) cb(res);
- return res;
-};
-
-/*
-//
-// SET for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Declare = function(params) {
- return yy.extend(this, params);
-};
-yy.Declare.prototype.toString = function() {
- var s = 'DECLARE ';
- if (this.declares && this.declares.length > 0) {
- s = this.declares
- .map(function(declare) {
- var s = '';
- s += '@' + declare.variable + ' ';
- s += declare.dbtypeid;
- if (this.dbsize) {
- s += '(' + this.dbsize;
- if (this.dbprecision) {
- s += ',' + this.dbprecision;
- }
- s += ')';
- }
- if (declare.expression) {
- s += ' = ' + declare.expression.toString();
- }
- return s;
- })
- .join(',');
- }
- return s;
-};
-
-yy.Declare.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (this.declares && this.declares.length > 0) {
- this.declares.map(function(declare) {
- var dbtypeid = declare.dbtypeid;
- if (!alasql.fn[dbtypeid]) {
- dbtypeid = dbtypeid.toUpperCase();
- }
- alasql.declares[declare.variable] = {
- dbtypeid: dbtypeid,
- dbsize: declare.dbsize,
- dbprecision: declare.dbprecision,
- };
-
- // Set value
- if (declare.expression) {
-
- alasql.vars[declare.variable] = new Function(
- 'params,alasql',
- 'return ' + declare.expression.toJS('({})', '', null)
- )(params, alasql);
- if (alasql.declares[declare.variable]) {
- alasql.vars[declare.variable] = alasql.stdfn.CONVERT(
- alasql.vars[declare.variable],
- alasql.declares[declare.variable]
- );
- }
- }
- });
- }
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-/*
-//
-// SHOW for Alasql.js
-// Date: 19.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.ShowDatabases = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowDatabases.prototype.toString = function() {
- var s = 'SHOW DATABASES';
- if (this.like) s += 'LIKE ' + this.like.toString();
- return s;
-};
-yy.ShowDatabases.prototype.execute = function(databaseid, params, cb) {
- if (this.engineid) {
- return alasql.engines[this.engineid].showDatabases(this.like, cb);
- } else {
- var self = this;
- var res = [];
- for (var dbid in alasql.databases) {
- res.push({databaseid: dbid});
- }
- if (self.like && res && res.length > 0) {
- res = res.filter(function(d) {
- // return d.databaseid.match(new RegExp((self.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g'));
- return alasql.utils.like(self.like.value, d.databaseid);
- });
- }
- if (cb) cb(res);
- return res;
- }
-};
-
-yy.ShowTables = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowTables.prototype.toString = function() {
- var s = 'SHOW TABLES';
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- if (this.like) s += ' LIKE ' + this.like.toString();
- return s;
-};
-yy.ShowTables.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.databaseid || databaseid];
-
- var self = this;
- var res = [];
- for (var tableid in db.tables) {
- res.push({tableid: tableid});
- }
- if (self.like && res && res.length > 0) {
- res = res.filter(function(d) {
- //return d.tableid.match(new RegExp((self.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g'));
- return alasql.utils.like(self.like.value, d.tableid);
- });
- }
- if (cb) cb(res);
- return res;
-};
-
-yy.ShowColumns = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowColumns.prototype.toString = function() {
- var s = 'SHOW COLUMNS';
- if (this.table.tableid) s += ' FROM ' + this.table.tableid;
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- return s;
-};
-
-yy.ShowColumns.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.databaseid || databaseid];
- var table = db.tables[this.table.tableid];
-
- if (table && table.columns) {
- var res = table.columns.map(function(col) {
- return {columnid: col.columnid, dbtypeid: col.dbtypeid, dbsize: col.dbsize};
- });
- if (cb) cb(res);
- return res;
- } else {
- if (cb) cb([]);
- return [];
- }
-};
-
-yy.ShowIndex = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowIndex.prototype.toString = function() {
- var s = 'SHOW INDEX';
- if (this.table.tableid) s += ' FROM ' + this.table.tableid;
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- return s;
-};
-yy.ShowIndex.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.databaseid || databaseid];
- var table = db.tables[this.table.tableid];
- var res = [];
- if (table && table.indices) {
- for (var ind in table.indices) {
- res.push({hh: ind, len: Object.keys(table.indices[ind]).length});
- }
- }
-
- if (cb) cb(res);
- return res;
-};
-
-yy.ShowCreateTable = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowCreateTable.prototype.toString = function() {
- var s = 'SHOW CREATE TABLE ' + this.table.tableid;
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- return s;
-};
-yy.ShowCreateTable.prototype.execute = function(databaseid) {
- var db = alasql.databases[this.databaseid || databaseid];
- var table = db.tables[this.table.tableid];
- if (table) {
- var s = 'CREATE TABLE ' + this.table.tableid + ' (';
- var ss = [];
- if (table.columns) {
- table.columns.forEach(function(col) {
- var a = col.columnid + ' ' + col.dbtypeid;
- if (col.dbsize) a += '(' + col.dbsize + ')';
- if (col.primarykey) a += ' PRIMARY KEY';
- // TODO extend
- ss.push(a);
- });
- s += ss.join(', ');
- }
- s += ')';
- return s;
- } else {
- throw new Error('There is no such table "' + this.table.tableid + '"');
- }
-};
-
-/*
-//
-// SET for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.SetVariable = function(params) {
- return yy.extend(this, params);
-};
-yy.SetVariable.prototype.toString = function() {
- var s = 'SET ';
- if (typeof this.value != 'undefined')
- s += this.variable.toUpperCase() + ' ' + (this.value ? 'ON' : 'OFF');
- if (this.expression) s += this.method + this.variable + ' = ' + this.expression.toString();
- return s;
-};
-
-yy.SetVariable.prototype.execute = function(databaseid, params, cb) {
-
- if (typeof this.value != 'undefined') {
- var val = this.value;
- if (val == 'ON') val = true;
- else if (val == 'OFF') val = false;
- // if(this.method == '@') {
- alasql.options[this.variable] = val;
- // } else {
- // params[this.variable] = val;
- // }
- } else if (this.expression) {
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- if (nq.query && !nq.query.modifier) nq.query.modifier = 'RECORDSET';
- return nq;
- // return ex.compile(databaseid);
- // TODO Include modifier
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- if (nq.query && !nq.query.modifier) nq.query.modifier = 'RECORDSET';
- return nq;
- // TODO Include modifier
- });
- }
-
- var res = new Function(
- 'params,alasql',
- 'return ' + this.expression.toJS('({})', '', null)
- ).bind(this)(params, alasql);
- if (alasql.declares[this.variable]) {
- res = alasql.stdfn.CONVERT(res, alasql.declares[this.variable]);
- }
- if (this.props && this.props.length > 0) {
- if (this.method == '@') {
- var fs = "alasql.vars['" + this.variable + "']";
- } else {
- var fs = "params['" + this.variable + "']";
- }
- fs += this.props
- .map(function(prop) {
- if (typeof prop == 'string') {
- return "['" + prop + "']";
- } else if (typeof prop == 'number') {
- return '[' + prop + ']';
- } else {
-
- return '[' + prop.toJS() + ']';
- // } else {
-
- // throw new Error('Wrong SET property');
- }
- })
- .join();
-
- new Function('value,params,alasql', 'var y;' + fs + '=value')(res, params, alasql);
- } else {
- if (this.method == '@') {
- alasql.vars[this.variable] = res;
- } else {
- params[this.variable] = res;
- }
- }
- }
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-// Console functions
-
-/* global alasql, yy */
-
-alasql.test = function(name, times, fn) {
- if (arguments.length === 0) {
- alasql.log(alasql.con.results);
- return;
- }
-
- var tm = Date.now();
-
- if (arguments.length === 1) {
- fn();
- alasql.con.log(Date.now() - tm);
- return;
- }
-
- if (arguments.length === 2) {
- fn = times;
- times = 1;
- }
-
- for (var i = 0; i < times; i++) {
- fn();
- }
- alasql.con.results[name] = Date.now() - tm;
-};
-
-// Console
-// alasql.log = function(sql, params) {
-
-// };
-
-/* global alasql, yy, utils */
-
-// Console
-alasql.log = function(sql, params) {
- var olduseid = alasql.useid;
- var target = alasql.options.logtarget;
- // For node other
- if (utils.isNode) {
- target = 'console';
- }
-
- var res;
- if (typeof sql === 'string') {
- res = alasql(sql, params);
- } else {
- res = sql;
- }
-
- // For Node and console.output
- if (target === 'console' || utils.isNode) {
- if (typeof sql === 'string' && alasql.options.logprompt) {
- console.log(olduseid + '>', sql);
- }
-
- if (Array.isArray(res)) {
- if (console.table) {
- // For Chrome and other consoles
- console.table(res);
- } else {
- // Add print procedure
- console.log(JSONtoString(res));
- }
- } else {
- console.log(JSONtoString(res));
- }
- } else {
- var el;
- if (target === 'output') {
- el = document.getElementsByTagName('output')[0];
- } else {
- if (typeof target === 'string') {
- el = document.getElementById(target);
- } else {
- // in case of DOM
- el = target;
- }
- }
-
- var s = '';
-
- if (typeof sql === 'string' && alasql.options.logprompt) {
- // s += ''+olduseid+'> '+alasql.pretty(sql)+'
';
- s += '' + alasql.pretty(sql) + '
';
- }
-
- if (Array.isArray(res)) {
- if (res.length === 0) {
- s += '[ ]
';
- } else if (typeof res[0] !== 'object' || Array.isArray(res[0])) {
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- s += '' + loghtml(res[i]) + '
';
- }
- } else {
- s += loghtml(res);
- }
- } else {
- s += loghtml(res);
- }
- el.innerHTML += s;
- }
-};
-
-alasql.clear = function() {
- var target = alasql.options.logtarget;
- // For node other
-
- if (utils.isNode || utils.isMeteorServer) {
- if (console.clear) {
- console.clear();
- }
- } else {
- var el;
- if (target === 'output') {
- el = document.getElementsByTagName('output')[0];
- } else {
- if (typeof target === 'string') {
- el = document.getElementById(target);
- } else {
- // in case of DOM
- el = target;
- }
- }
- el.innerHTML = '';
- }
-};
-
-alasql.write = function(s) {
-
- var target = alasql.options.logtarget;
- // For node other
- if (utils.isNode || utils.isMeteorServer) {
- if (console.log) {
- console.log(s);
- }
- } else {
- var el;
- if (target === 'output') {
- el = document.getElementsByTagName('output')[0];
- } else {
- if (typeof target === 'string') {
- el = document.getElementById(target);
- } else {
- // in case of DOM
- el = target;
- }
- }
- el.innerHTML += s;
- }
-};
-
-function loghtml(res) {
-
- var s = '';
- if (res === undefined) {
- s += 'undefined';
- } else if (Array.isArray(res)) {
- s += '';
- s += '';
- var cols = [];
- for (var colid in res[0]) {
- cols.push(colid);
- }
- s += '#';
- cols.forEach(function(colid) {
- s += ' ' + colid;
- });
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- s += ' ' + (i + 1);
- cols.forEach(function(colid) {
- s += ' ';
- if (res[i][colid] == +res[i][colid]) {
- // jshint ignore:line
- s += '';
- if (typeof res[i][colid] === 'undefined') {
- s += 'NULL';
- } else {
- s += res[i][colid];
- }
- s += '
';
- } else {
- if (typeof res[i][colid] === 'undefined') {
- s += 'NULL';
- } else if (typeof res[i][colid] === 'string') {
- s += res[i][colid];
- } else {
- s += JSONtoString(res[i][colid]);
- }
- // s += res[i][colid];
- }
- });
- }
-
- s += '
';
- } else {
- s += '' + JSONtoString(res) + '
';
- }
- // if() {}
-
- // if(typeof res == 'object') {
- // s += ''+JSON.stringify(res)+'
';
- // } else {
- // }
- return s;
-}
-
-function scrollTo(element, to, duration) {
- if (duration <= 0) {
- return;
- }
- var difference = to - element.scrollTop;
- var perTick = (difference / duration) * 10;
-
- setTimeout(function() {
- if (element.scrollTop === to) {
- return;
- }
- element.scrollTop = element.scrollTop + perTick;
- scrollTo(element, to, duration - 10);
- }, 10);
-}
-
-alasql.prompt = function(el, useidel, firstsql) {
- if (utils.isNode) {
- throw new Error('The prompt not realized for Node.js');
- }
-
- var prompti = 0;
-
- if (typeof el === 'string') {
- el = document.getElementById(el);
- }
-
- if (typeof useidel === 'string') {
- useidel = document.getElementById(useidel);
- }
-
- useidel.textContent = alasql.useid;
-
- if (firstsql) {
- alasql.prompthistory.push(firstsql);
- prompti = alasql.prompthistory.length;
- try {
- var tm = Date.now();
- alasql.log(firstsql);
- alasql.write('' + (Date.now() - tm) + ' ms
');
- } catch (err) {
- alasql.write('' + olduseid + '> ' + sql + '
');
- alasql.write('' + err + '
');
- }
- }
-
- var y = el.getBoundingClientRect().top + document.getElementsByTagName('body')[0].scrollTop;
- scrollTo(document.getElementsByTagName('body')[0], y, 500);
-
- el.onkeydown = function(event) {
- if (event.which === 13) {
- var sql = el.value;
- var olduseid = alasql.useid;
- el.value = '';
- alasql.prompthistory.push(sql);
- prompti = alasql.prompthistory.length;
- try {
- var tm = Date.now();
- alasql.log(sql);
- alasql.write('
' + (Date.now() - tm) + ' ms
');
- } catch (err) {
- alasql.write('' + olduseid + '> ' + alasql.pretty(sql, false) + '
');
- alasql.write('' + err + '
');
- }
- el.focus();
-
- useidel.textContent = alasql.useid;
- var y =
- el.getBoundingClientRect().top + document.getElementsByTagName('body')[0].scrollTop;
- scrollTo(document.getElementsByTagName('body')[0], y, 500);
- } else if (event.which === 38) {
- prompti--;
- if (prompti < 0) {
- prompti = 0;
- }
- if (alasql.prompthistory[prompti]) {
- el.value = alasql.prompthistory[prompti];
- event.preventDefault();
- }
- } else if (event.which === 40) {
- prompti++;
- if (prompti >= alasql.prompthistory.length) {
- prompti = alasql.prompthistory.length;
- el.value = '';
- } else if (alasql.prompthistory[prompti]) {
- el.value = alasql.prompthistory[prompti];
- event.preventDefault();
- }
- }
- };
-};
-
-/*
-//
-// Commit for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-yy.BeginTransaction = function(params) {
- return yy.extend(this, params);
-};
-yy.BeginTransaction.prototype.toString = function() {
- return 'BEGIN TRANSACTION';
-};
-
-yy.BeginTransaction.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid].engineid) {
- return alasql.engines[alasql.databases[alasql.useid].engineid].begin(databaseid, cb);
- } else {
- // alasql commit!!!
- }
- if (cb) cb(res);
- return res;
-};
-
-yy.CommitTransaction = function(params) {
- return yy.extend(this, params);
-};
-yy.CommitTransaction.prototype.toString = function() {
- return 'COMMIT TRANSACTION';
-};
-
-yy.CommitTransaction.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid].engineid) {
- return alasql.engines[alasql.databases[alasql.useid].engineid].commit(databaseid, cb);
- } else {
- // alasql commit!!!
- }
- if (cb) cb(res);
- return res;
-};
-
-yy.RollbackTransaction = function(params) {
- return yy.extend(this, params);
-};
-yy.RollbackTransaction.prototype.toString = function() {
- return 'ROLLBACK TRANSACTION';
-};
-
-yy.RollbackTransaction.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid].engineid) {
- return alasql.engines[alasql.databases[databaseid].engineid].rollback(databaseid, cb);
- } else {
- // alasql commit!!!
- }
- if (cb) cb(res);
- return res;
-};
-
-if (alasql.options.tsql) {
- //
- // Check tables and views
- // IF OBJECT_ID('dbo.Employees') IS NOT NULL
- // DROP TABLE dbo.Employees;
- // IF OBJECT_ID('dbo.VSortedOrders', 'V') IS NOT NULL
- // DROP VIEW dbo.VSortedOrders;
-
- alasql.stdfn.OBJECT_ID = function(name, type) {
- if (typeof type == 'undefined') type = 'T';
- type = type.toUpperCase();
-
- var sname = name.split('.');
- var dbid = alasql.useid;
- var objname = sname[0];
- if (sname.length == 2) {
- dbid = sname[0];
- objname = sname[1];
- }
-
- var tables = alasql.databases[dbid].tables;
- dbid = alasql.databases[dbid].databaseid;
- for (var tableid in tables) {
- if (tableid == objname) {
- // TODO: What OBJECT_ID actually returns
-
- if (tables[tableid].view && type == 'V') return dbid + '.' + tableid;
- if (!tables[tableid].view && type == 'T') return dbid + '.' + tableid;
- return undefined;
- }
- }
-
- return undefined;
- };
-}
-
-if (alasql.options.mysql) {
-}
-
-if (alasql.options.mysql || alasql.options.sqlite) {
- // Pseudo INFORMATION_SCHEMA function
- alasql.from.INFORMATION_SCHEMA = function(filename, opts, cb, idx, query) {
- if (filename == 'VIEWS' || filename == 'TABLES') {
- var res = [];
- for (var databaseid in alasql.databases) {
- var tables = alasql.databases[databaseid].tables;
- for (var tableid in tables) {
- if (
- (tables[tableid].view && filename == 'VIEWS') ||
- (!tables[tableid].view && filename == 'TABLES')
- ) {
- res.push({TABLE_CATALOG: databaseid, TABLE_NAME: tableid});
- }
- }
- }
- if (cb) res = cb(res, idx, query);
- return res;
- }
- throw new Error('Unknown INFORMATION_SCHEMA table');
- };
-}
-
-if (alasql.options.postgres) {
-}
-
-if (alasql.options.oracle) {
-}
-
-if (alasql.options.sqlite) {
-}
-
-//
-// into functions
-//
-// (c) 2014 Andrey Gershun
-//
-
-alasql.into.SQL = function(filename, opts, data, columns, cb) {
- var res;
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
- var opt = {};
- alasql.utils.extend(opt, opts);
- if (typeof opt.tableid === 'undefined') {
- throw new Error('Table for INSERT TO is not defined.');
- }
-
- var s = '';
- if (columns.length === 0) {
- if (typeof data[0] === 'object') {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- } else {
- // What should I do?
- // columns = [{columnid:"_"}];
- }
- }
-
- for (var i = 0, ilen = data.length; i < ilen; i++) {
- s += 'INSERT INTO ' + opts.tableid + '(';
- s += columns
- .map(function(col) {
- return col.columnid;
- })
- .join(',');
- s += ') VALUES (';
- s += columns.map(function(col) {
- var val = data[i][col.columnid];
- if (col.typeid) {
- if (
- col.typeid === 'STRING' ||
- col.typeid === 'VARCHAR' ||
- col.typeid === 'NVARCHAR' ||
- col.typeid === 'CHAR' ||
- col.typeid === 'NCHAR'
- ) {
- val = "'" + escapeqq(val) + "'";
- }
- } else {
- if (typeof val == 'string') {
- val = "'" + escapeqq(val) + "'";
- }
- }
- return val;
- });
- s += ');\n';
- }
- // if(filename === '') {
- // res = s;
- // } else {
- // res = data.length;
- filename = alasql.utils.autoExtFilename(filename, 'sql', opts);
- res = alasql.utils.saveFile(filename, s);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.HTML = function(selector, opts, data, columns, cb) {
- var res = 1;
- if (typeof exports !== 'object') {
- var opt = {headers: true};
- alasql.utils.extend(opt, opts);
-
- var sel = document.querySelector(selector);
- if (!sel) {
- throw new Error('Selected HTML element is not found');
- }
-
- if (columns.length === 0) {
- if (typeof data[0] === 'object') {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- } else {
- // What should I do?
- // columns = [{columnid:"_"}];
- }
- }
-
- var tbe = document.createElement('table');
- var thead = document.createElement('thead');
- tbe.appendChild(thead);
- if (opt.headers) {
- var tre = document.createElement('tr');
- for (var i = 0; i < columns.length; i++) {
- var the = document.createElement('th');
- the.textContent = columns[i].columnid;
- tre.appendChild(the);
- }
- thead.appendChild(tre);
- }
-
- var tbody = document.createElement('tbody');
- tbe.appendChild(tbody);
- for (var j = 0; j < data.length; j++) {
- var tre = document.createElement('tr');
- for (var i = 0; i < columns.length; i++) {
- var the = document.createElement('td');
- the.textContent = data[j][columns[i].columnid];
- tre.appendChild(the);
- }
- tbody.appendChild(tre);
- }
- alasql.utils.domEmptyChildren(sel);
-
- sel.appendChild(tbe);
- }
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.JSON = function(filename, opts, data, columns, cb) {
- var res = 1;
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
- var s = JSON.stringify(data);
-
- filename = alasql.utils.autoExtFilename(filename, 'json', opts);
- res = alasql.utils.saveFile(filename, s);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.TXT = function(filename, opts, data, columns, cb) {
- // If columns is empty
- if (columns.length === 0 && data.length > 0) {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- // If one parameter
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
-
- var res = data.length;
- var s = '';
- if (data.length > 0) {
- var key = columns[0].columnid;
- s += data
- .map(function(d) {
- return d[key];
- })
- .join('\n');
- }
-
- // } else {
- // if(utils.isNode) {
- // process.stdout.write(s);
- // } else {
-
- // };
- // }
- filename = alasql.utils.autoExtFilename(filename, 'txt', opts);
- res = alasql.utils.saveFile(filename, s);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.TAB = alasql.into.TSV = function(filename, opts, data, columns, cb) {
- var opt = {};
- alasql.utils.extend(opt, opts);
- opt.separator = '\t';
- filename = alasql.utils.autoExtFilename(filename, 'tab', opts);
- opt.autoExt = false;
- return alasql.into.CSV(filename, opt, data, columns, cb);
-};
-
-alasql.into.CSV = function(filename, opts, data, columns, cb) {
- if (columns.length === 0 && data.length > 0) {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
-
- var opt = {headers: true};
- //opt.separator = ',';
- opt.separator = ';';
- opt.quote = '"';
-
- opt.utf8Bom = true;
- if (opts && !opts.headers && typeof opts.headers !== 'undefined') {
- opt.utf8Bom = false;
- }
-
- alasql.utils.extend(opt, opts);
- var res = data.length;
- var s = opt.utf8Bom ? '\ufeff' : '';
- if (opt.headers) {
- s +=
- opt.quote +
- columns
- .map(function(col) {
- return col.columnid.trim();
- })
- .join(opt.quote + opt.separator + opt.quote) +
- opt.quote +
- '\r\n';
- }
-
- data.forEach(function(d) {
- s +=
- columns
- .map(function(col) {
- var s = d[col.columnid];
- // escape the character wherever it appears in the field
- if (opt.quote !== '') {
- s = (s + '').replace(
- new RegExp('\\' + opt.quote, 'g'),
- opt.quote + opt.quote
- );
- }
- // if((s+"").indexOf(opt.separator) > -1 || (s+"").indexOf(opt.quote) > -1) s = opt.quote + s + opt.quote;
-
- //Excel 2013 needs quotes around strings - thanks for _not_ complying with RFC for CSV
- if (+s != s) {
- // jshint ignore:line
- s = opt.quote + s + opt.quote;
- }
-
- return s;
- })
- .join(opt.separator) + '\r\n';
- });
-
- filename = alasql.utils.autoExtFilename(filename, 'csv', opts);
- res = alasql.utils.saveFile(filename, s, null, {disableAutoBom: true});
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-//
-// 831xl.js - Coloring Excel
-// 18.04.2015
-// Generate XLS file with colors and styles
-// with Excel
-
-alasql.into.XLS = function(filename, opts, data, columns, cb) {
- // If filename is not defined then output to the result
- if (typeof filename == 'object') {
- opts = filename;
- filename = undefined;
- }
-
- // Set sheets
- var sheets = {};
- if (opts && opts.sheets) {
- sheets = opts.sheets;
- }
-
- // Default sheet
- var sheet = {headers: true};
- if (typeof sheets['Sheet1'] != 'undefined') {
- sheet = sheets[0];
- } else {
- if (typeof opts != 'undefined') {
- sheet = opts;
- }
- }
-
- // Set sheet name and default is 'Sheet1'
- if (typeof sheet.sheetid == 'undefined') {
- sheet.sheetid = 'Sheet1';
- }
-
- var s = toHTML();
-
- // File is ready to save
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- var res = alasql.utils.saveFile(filename, s);
- if (cb) res = cb(res);
- return res;
-
- function toHTML() {
- // Generate prologue
- var s =
- '
\
- \
- ';
-
- // Generate body
- s += '';
- s += '';
- if (typeof sheet.caption != 'undefined') {
- var caption = sheet.caption;
- if (typeof caption == 'string') {
- caption = {title: caption};
- }
- s += '';
- s += caption.title;
- s += ' ';
- }
-
- // Columns
-
- // var columns = [];
-
- // If columns defined in sheet, then take them
- if (typeof sheet.columns != 'undefined') {
- columns = sheet.columns;
- } else {
- // Autogenerate columns if they are passed as parameters
- if (columns.length == 0 && data.length > 0) {
- if (typeof data[0] == 'object') {
- if (Array.isArray(data[0])) {
- columns = data[0].map(function(d, columnidx) {
- return {columnid: columnidx};
- });
- } else {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- }
- }
- }
-
- // Prepare columns
- columns.forEach(function(column, columnidx) {
- if (typeof sheet.column != 'undefined') {
- extend(column, sheet.column);
- }
-
- if (typeof column.width == 'undefined') {
- if (sheet.column && sheet.column.width != 'undefined') {
- column.width = sheet.column.width;
- } else {
- column.width = '120px';
- }
- }
- if (typeof column.width == 'number') column.width = column.width + 'px';
- if (typeof column.columnid == 'undefined') column.columnid = columnidx;
- if (typeof column.title == 'undefined') column.title = '' + column.columnid.trim();
- if (sheet.headers && Array.isArray(sheet.headers))
- column.title = sheet.headers[columnidx];
- });
-
- // Set columns widths
- s += '';
- columns.forEach(function(column) {
- s += ' ';
- });
- s += ' ';
-
- // Headers
- if (sheet.headers) {
- s += '';
- s += '';
-
- // TODO: Skip columns to body
-
- // Headers
- columns.forEach(function(column, columnidx) {
- s += '';
-
- // Column title
- if (typeof column.title != 'undefined') {
- if (typeof column.title == 'function') {
- s += column.title(sheet, column, columnidx);
- } else {
- s += column.title;
- }
- }
- s += ' ';
- });
-
- s += ' ';
- s += ' ';
- }
-
- s += '';
-
- // TODO: Skip lines between header and body
-
- if (data && data.length > 0) {
- // TODO: Skip columns to body
-
- // Loop over data rows
- data.forEach(function(row, rowidx) {
- // Limit number of rows on the sheet
- if (rowidx > sheet.limit) return;
- // Create row
- s += '';
- // Loop over columns
- columns.forEach(function(column, columnidx) {
- // Parameters
- var cell = {};
- extend(cell, sheet.cell);
- extend(cell, srow.cell);
- if (typeof sheet.column != 'undefined') {
- extend(cell, sheet.column.cell);
- }
- extend(cell, column.cell);
- if (sheet.cells && sheet.cells[rowidx] && sheet.cells[rowidx][columnidx]) {
- extend(cell, sheet.cells[rowidx][columnidx]);
- }
-
- // Create value
- var value = row[column.columnid];
- if (typeof cell.value == 'function') {
- value = cell.value(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- // Define cell type
- var typeid = cell.typeid;
- if (typeof typeid == 'function') {
- typeid = typeid(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- if (typeof typeid == 'undefined') {
- if (typeof value == 'number') typeid = 'number';
- else if (typeof value == 'string') typeid = 'string';
- else if (typeof value == 'boolean') typeid = 'boolean';
- else if (typeof value == 'object') {
- if (value instanceof Date) typeid = 'date';
- }
- }
-
- var typestyle = '';
-
- if (typeid == 'money') {
- typestyle =
- 'mso-number-format:"\\#\\,\\#\\#0\\\\ _р_\\.";white-space:normal;';
- } else if (typeid == 'number') {
- typestyle = ' ';
- } else if (typeid == 'date') {
- typestyle = 'mso-number-format:"Short Date";';
- } else {
- // FOr other types is saved
- if (opts.types && opts.types[typeid] && opts.types[typeid].typestyle) {
- typestyle = opts.types[typeid].typestyle;
- }
- }
-
- // TODO Replace with extend...
- typestyle = typestyle || 'mso-number-format:"\\@";'; // Default type style
-
- s += "';
-
- // TODO Replace with extend...
- var format = cell.format;
- if (typeof value == 'undefined') {
- s += '';
- } else if (typeof format != 'undefined') {
- if (typeof format == 'function') {
- s += format(value);
- } else if (typeof format == 'string') {
- s += value; // TODO - add string format
- } else {
- throw new Error('Unknown format type. Should be function or string');
- }
- } else {
- if (typeid == 'number' || typeid == 'date') {
- s += value.toString();
- } else if (typeid == 'money') {
- s += (+value).toFixed(2);
- } else {
- s += value;
- }
- }
- s += ' ';
- });
-
- s += ' ';
- });
- }
-
- s += ' ';
-
- // Generate epilogue
- s += '
';
- s += '';
- s += '';
-
- return s;
- }
-
- // Style function
- function style(a) {
- var s = ' style="';
- if (a && typeof a.style != 'undefined') {
- s += a.style + ';';
- }
- s += '" ';
- return s;
- }
-};
-
-alasql.into.XLSXML = function(filename, opts, data, columns, cb) {
- opts = opts || {};
-
- // If filename is not defined then output to the result
- if (typeof filename == 'object') {
- opts = filename;
- filename = undefined;
- }
-
- // Set sheets
- var sheets = {};
- if (opts && opts.sheets) {
- sheets = opts.sheets;
- } else {
- sheets.Sheet1 = opts;
- }
-
- // File is ready to save
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- var res = alasql.utils.saveFile(filename, toXML());
- if (cb) res = cb(res);
- return res;
-
- function toXML() {
- var s1 =
- ' \
- \
- \
- \
- \
- \
- \
- \
- 0 \
- \
- \
- ';
-
- var s2 = ''; // for styles
-
- var s3 = ' ';
-
- var styles = {}; // hash based storage for styles
- var stylesn = 62; // First style
-
- // Generate style
- function hstyle(st) {
- // Prepare string
- var s = '';
- for (var key in st) {
- s += '<' + key;
- for (var attr in st[key]) {
- s += ' ';
- if (attr.substr(0, 2) == 'x:') {
- s += attr;
- } else {
- s += 'ss:';
- }
- s += attr + '="' + st[key][attr] + '"';
- }
- s += '/>';
- }
-
- var hh = hash(s);
- // Store in hash
- if (styles[hh]) {
- } else {
- styles[hh] = {styleid: stylesn};
- s2 += '';
- stylesn++;
- }
- return 's' + styles[hh].styleid;
- }
-
- for (var sheetid in sheets) {
- var sheet = sheets[sheetid];
-
- // If columns defined in sheet, then take them
- if (typeof sheet.columns != 'undefined') {
- columns = sheet.columns;
- } else {
- // Autogenerate columns if they are passed as parameters
- if (columns.length == 0 && data.length > 0) {
- if (typeof data[0] == 'object') {
- if (Array.isArray(data[0])) {
- columns = data[0].map(function(d, columnidx) {
- return {columnid: columnidx};
- });
- } else {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- }
- }
- }
-
- // Prepare columns
- columns.forEach(function(column, columnidx) {
- if (typeof sheet.column != 'undefined') {
- extend(column, sheet.column);
- }
-
- if (typeof column.width == 'undefined') {
- if (sheet.column && typeof sheet.column.width != 'undefined') {
- column.width = sheet.column.width;
- } else {
- column.width = 120;
- }
- }
- if (typeof column.width == 'number') column.width = column.width;
- if (typeof column.columnid == 'undefined') column.columnid = columnidx;
- if (typeof column.title == 'undefined') column.title = '' + column.columnid.trim();
- if (sheet.headers && Array.isArray(sheet.headers))
- column.title = sheet.headers[idx];
- });
-
- // Header
- s3 +=
- ' \
- ';
-
- columns.forEach(function(column, columnidx) {
- s3 +=
- ' ';
- });
-
- // Headers
- if (sheet.headers) {
- s3 += '';
-
- // TODO: Skip columns to body
-
- // Headers
- columns.forEach(function(column, columnidx) {
- s3 += '';
-
- // Column title
- if (typeof column.title != 'undefined') {
- if (typeof column.title == 'function') {
- s3 += column.title(sheet, column, columnidx);
- } else {
- s3 += column.title;
- }
- }
- s3 += ' | ';
- });
-
- s3 += '
';
- }
-
- // Data
- if (data && data.length > 0) {
- // Loop over data rows
- data.forEach(function(row, rowidx) {
- // Limit number of rows on the sheet
- if (rowidx > sheet.limit) return;
-
- // Extend row properties
- var srow = {};
- extend(srow, sheet.row);
- if (sheet.rows && sheet.rows[rowidx]) {
- extend(srow, sheet.rows[rowidx]);
- }
-
- s3 += ''; //'ss:AutoFitHeight="0">'
-
- // Data
- columns.forEach(function(column, columnidx) {
- // Parameters
- var cell = {};
- extend(cell, sheet.cell);
- extend(cell, srow.cell);
- if (typeof sheet.column != 'undefined') {
- extend(cell, sheet.column.cell);
- }
- extend(cell, column.cell);
- if (sheet.cells && sheet.cells[rowidx] && sheet.cells[rowidx][columnidx]) {
- extend(cell, sheet.cells[rowidx][columnidx]);
- }
-
- // Create value
- var value = row[column.columnid];
- if (typeof cell.value == 'function') {
- value = cell.value(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- // Define cell type
- var typeid = cell.typeid;
- if (typeof typeid == 'function') {
- typeid = typeid(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- if (typeof typeid == 'undefined') {
- if (typeof value == 'number') typeid = 'number';
- else if (typeof value == 'string') typeid = 'string';
- else if (typeof value == 'boolean') typeid = 'boolean';
- else if (typeof value == 'object') {
- if (value instanceof Date) typeid = 'date';
- }
- }
-
- var Type = 'String';
- if (typeid == 'number') Type = 'Number';
- else if (typeid == 'date') Type = 'Date';
- // TODO: What else?
-
- // Prepare Data types styles
- var typestyle = '';
-
- if (typeid == 'money') {
- typestyle =
- 'mso-number-format:"\\#\\,\\#\\#0\\\\ _р_\\.";white-space:normal;';
- } else if (typeid == 'number') {
- typestyle = ' ';
- } else if (typeid == 'date') {
- typestyle = 'mso-number-format:"Short Date";';
- } else {
- // For other types is saved
- if (opts.types && opts.types[typeid] && opts.types[typeid].typestyle) {
- typestyle = opts.types[typeid].typestyle;
- }
- }
-
- // TODO Replace with extend...
- typestyle = typestyle || 'mso-number-format:"\\@";'; // Default type style
-
- s3 += '';
-
- s3 += '';
-
- // TODO Replace with extend...
- var format = cell.format;
- if (typeof value == 'undefined') {
- s3 += '';
- } else if (typeof format != 'undefined') {
- if (typeof format == 'function') {
- s3 += format(value);
- } else if (typeof format == 'string') {
- s3 += value; // TODO - add string format
- } else {
- throw new Error(
- 'Unknown format type. Should be function or string'
- );
- }
- } else {
- if (typeid == 'number' || typeid == 'date') {
- s3 += value.toString();
- } else if (typeid == 'money') {
- s3 += (+value).toFixed(2);
- } else {
- s3 += value;
- }
- }
-
- // s3 += row[column.columnid];
- s3 += ' | ';
- });
-
- s3 += '
';
- });
- }
- // Finish
- s3 += '
';
- }
-
- s3 += ' ';
-
- return s1 + s2 + s3;
- }
-};
-
-/**
- Export to XLSX function
- @function
- @param {string|object} filename Filename or options
- @param {object|undefined} opts Options or undefined
- @param {array} data Data
- @param {array} columns Columns
- @parab {callback} cb Callback function
- @return {number} Number of files processed
-*/
-
-alasql.into.XLSX = function(filename, opts, data, columns, cb) {
- /** @type {number} result */
- var res = 1;
-
- if (deepEqual(columns, [{columnid: '_'}])) {
- data = data.map(function(dat) {
- return dat._;
- });
- columns = undefined;
- // res = [{_:1}];
- } else {
- // data = data1;
- }
-
- filename = alasql.utils.autoExtFilename(filename, 'xlsx', opts);
-
- var XLSX = getXLSX();
-
- /* If called without filename, use opts */
- if (typeof filename == 'object') {
- opts = filename;
- filename = undefined;
- }
-
- /** @type {object} Workbook */
- var wb = {SheetNames: [], Sheets: {}};
-
- // ToDo: check if cb must be treated differently here
- if (opts.sourcefilename) {
- alasql.utils.loadBinaryFile(opts.sourcefilename, !!cb, function(data) {
- wb = XLSX.read(data, {type: 'binary'});
- doExport();
- });
- } else {
- doExport();
- }
-
- /* Return result */
- if (cb) res = cb(res);
- return res;
-
- /**
- Export workbook
- @function
- */
- function doExport() {
- /*
- If opts is array of arrays then this is a
- multisheet workboook, else it is a singlesheet
- */
- if (typeof opts == 'object' && Array.isArray(opts)) {
- if (data && data.length > 0) {
- data.forEach(function(dat, idx) {
- prepareSheet(opts[idx], dat, undefined, idx + 1);
- });
- }
- } else {
- prepareSheet(opts, data, columns, 1);
- }
-
- saveWorkbook(cb);
- }
-
- /**
- Prepare sheet
- @params {object} opts
- @params {array|object} data
- @params {array} columns Columns
- */
- function prepareSheet(opts, data, columns, idx) {
- /** Default options for sheet */
- var opt = {sheetid: 'Sheet ' + idx, headers: true};
- alasql.utils.extend(opt, opts);
-
- var dataLength = Object.keys(data).length;
-
- // Generate columns if they are not defined
- if ((!columns || columns.length == 0) && dataLength > 0) {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
-
- var cells = {};
-
- if (wb.SheetNames.indexOf(opt.sheetid) > -1) {
- cells = wb.Sheets[opt.sheetid];
- } else {
- wb.SheetNames.push(opt.sheetid);
- wb.Sheets[opt.sheetid] = {};
- cells = wb.Sheets[opt.sheetid];
- }
-
- var range = 'A1';
- if (opt.range) range = opt.range;
-
- var col0 = alasql.utils.xlscn(range.match(/[A-Z]+/)[0]);
- var row0 = +range.match(/[0-9]+/)[0] - 1;
-
- if (wb.Sheets[opt.sheetid]['!ref']) {
- var rangem = wb.Sheets[opt.sheetid]['!ref'];
- var colm = alasql.utils.xlscn(rangem.match(/[A-Z]+/)[0]);
- var rowm = +rangem.match(/[0-9]+/)[0] - 1;
- } else {
- var colm = 1,
- rowm = 1;
- }
- var colmax = Math.max(col0 + columns.length, colm);
- var rowmax = Math.max(row0 + dataLength + 2, rowm);
-
- var i = row0 + 1;
-
- wb.Sheets[opt.sheetid]['!ref'] = 'A1:' + alasql.utils.xlsnc(colmax) + rowmax;
- // var i = 1;
-
- if (opt.headers) {
- columns.forEach(function(col, idx) {
- cells[alasql.utils.xlsnc(col0 + idx) + '' + i] = {v: col.columnid.trim()};
- });
- i++;
- }
-
- for (var j = 0; j < dataLength; j++) {
- columns.forEach(function(col, idx) {
- var cell = {v: data[j][col.columnid]};
- if (typeof data[j][col.columnid] == 'number') {
- cell.t = 'n';
- } else if (typeof data[j][col.columnid] == 'string') {
- cell.t = 's';
- } else if (typeof data[j][col.columnid] == 'boolean') {
- cell.t = 'b';
- } else if (typeof data[j][col.columnid] == 'object') {
- if (data[j][col.columnid] instanceof Date) {
- cell.t = 'd';
- }
- }
- cells[alasql.utils.xlsnc(col0 + idx) + '' + i] = cell;
- });
- i++;
- }
- }
-
- /**
- Save Workbook
- @params {array} wb Workbook
- @params {callback} cb Callback
- */
- function saveWorkbook(cb) {
-
- var XLSX;
-
- if (typeof filename == 'undefined') {
- res = wb;
- } else {
- XLSX = getXLSX();
-
- if (utils.isNode || utils.isMeteorServer) {
- XLSX.writeFile(wb, filename);
- } else {
- var wopts = {bookType: 'xlsx', bookSST: false, type: 'binary'};
- var wbout = XLSX.write(wb, wopts);
-
- function s2ab(s) {
- var buf = new ArrayBuffer(s.length);
- var view = new Uint8Array(buf);
- for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xff;
- return buf;
- }
-
- /* the saveAs call downloads a file on the local machine */
- // saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), '"'+filename+'"')
- // saveAs(new Blob([s2ab(wbout)],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}), filename)
- // saveAs(new Blob([s2ab(wbout)],{type:"application/vnd.ms-excel"}), '"'+filename+'"');
- if (isIE() == 9) {
- throw new Error(
- 'Cannot save XLSX files in IE9. Please use XLS() export function'
- );
- // var URI = 'data:text/plain;charset=utf-8,';
-
- /** @todo Check if this code is required */
-
- // alert('ie9');
- } else {
- saveAs(new Blob([s2ab(wbout)], {type: 'application/octet-stream'}), filename);
- }
- }
- }
-
- }
-};
-
-/*
-//
-// FROM functions Alasql.js
-// Date: 11.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Meteor
-*/
-
-/* global alasql Tabletop document Event */
-
-alasql.from.METEOR = function(filename, opts, cb, idx, query) {
- var res = filename.find(opts).fetch();
- if (cb) {
- res = cb(res, idx, query);
- }
- return res;
-};
-
-/**
- Google Spreadsheet reader
- */
-alasql.from.TABLETOP = function(key, opts, cb, idx, query) {
- var res = [];
-
- var opt = {headers: true, simpleSheet: true, key: key};
- alasql.utils.extend(opt, opts);
- opt.callback = function(data) {
- res = data;
- if (cb) {
- res = cb(res, idx, query);
- }
- };
-
- Tabletop.init(opt);
- return null;
-};
-
-alasql.from.HTML = function(selector, opts, cb, idx, query) {
- var opt = {};
- alasql.utils.extend(opt, opts);
-
- var sel = document.querySelector(selector);
- if (!sel && sel.tagName !== 'TABLE') {
- throw new Error('Selected HTML element is not a TABLE');
- }
-
- var res = [];
- var headers = opt.headers;
-
- if (headers && !Array.isArray(headers)) {
- headers = [];
- var ths = sel.querySelector('thead tr').children;
- for (var i = 0; i < ths.length; i++) {
- if (
- !(ths.item(i).style && ths.item(i).style.display === 'none' && opt.skipdisplaynone)
- ) {
- headers.push(ths.item(i).textContent);
- } else {
- headers.push(undefined);
- }
- }
- }
-
- var trs = sel.querySelectorAll('tbody tr');
-
- for (var j = 0; j < trs.length; j++) {
- var tds = trs.item(j).children;
- var r = {};
- for (i = 0; i < tds.length; i++) {
- if (
- !(tds.item(i).style && tds.item(i).style.display === 'none' && opt.skipdisplaynone)
- ) {
- if (headers) {
- r[headers[i]] = tds.item(i).textContent;
- } else {
- r[i] = tds.item(i).textContent;
-
- }
- }
- }
- res.push(r);
- }
-
- if (cb) {
- res = cb(res, idx, query);
- }
- return res;
-};
-
-alasql.from.RANGE = function(start, finish, cb, idx, query) {
- var res = [];
- for (var i = start; i <= finish; i++) {
- res.push(i);
- }
- // res = new alasql.Recordset({data:res,columns:{columnid:'_'}});
- if (cb) {
- res = cb(res, idx, query);
- }
- return res;
-};
-
-// Read data from any file
-alasql.from.FILE = function(filename, opts, cb, idx, query) {
- var fname;
- if (typeof filename === 'string') {
- fname = filename;
- } else if (filename instanceof Event) {
- fname = filename.target.files[0].name;
- } else {
- throw new Error('Wrong usage of FILE() function');
- }
-
- var parts = fname.split('.');
-
- var ext = parts[parts.length - 1].toUpperCase();
-
- if (alasql.from[ext]) {
-
- return alasql.from[ext](filename, opts, cb, idx, query);
- } else {
- throw new Error('Cannot recognize file type for loading');
- }
-};
-
-// Read JSON file
-
-alasql.from.JSON = function(filename, opts, cb, idx, query) {
- var res;
-
- filename = alasql.utils.autoExtFilename(filename, 'json', opts);
- alasql.utils.loadFile(filename, !!cb, function(data) {
-
- // res = [{a:1}];
- res = JSON.parse(data);
- if (cb) {
- res = cb(res, idx, query);
- }
- });
- return res;
-};
-
-alasql.from.TXT = function(filename, opts, cb, idx, query) {
- var res;
- filename = alasql.utils.autoExtFilename(filename, 'txt', opts);
- alasql.utils.loadFile(filename, !!cb, function(data) {
- res = data.split(/\r?\n/);
-
- // Remove last line if empty
- if (res[res.length - 1] === '') {
- res.pop();
- }
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- // Please avoid '===' here
- if (res[i] == +res[i]) {
- // eslint:ignore
- // jshint ignore:line
- res[i] = +res[i];
- }
- res[i] = [res[i]];
- }
- if (cb) {
- res = cb(res, idx, query);
- }
- });
- return res;
-};
-
-alasql.from.TAB = alasql.from.TSV = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- opts.separator = '\t';
- filename = alasql.utils.autoExtFilename(filename, 'tab', opts);
- opts.autoext = false;
- return alasql.from.CSV(filename, opts, cb, idx, query);
-};
-
-alasql.from.CSV = function(contents, opts, cb, idx, query) {
- var opt = {
- separator: ',',
- quote: '"',
- headers: true,
- };
- alasql.utils.extend(opt, opts);
- var res;
- var hs = [];
- function parseText(text) {
- var delimiterCode = opt.separator.charCodeAt(0);
- var quoteCode = opt.quote.charCodeAt(0);
-
- var EOL = {},
- EOF = {},
- rows = [],
- N = text.length,
- I = 0,
- n = 0,
- t,
- eol;
- function token() {
- if (I >= N) {
- return EOF;
- }
- if (eol) {
- return (eol = false), EOL;
- }
- var j = I;
- if (text.charCodeAt(j) === quoteCode) {
- var i = j;
- while (i++ < N) {
- if (text.charCodeAt(i) === quoteCode) {
- if (text.charCodeAt(i + 1) !== quoteCode) {
- break;
- }
- ++i;
- }
- }
- I = i + 2;
- var c = text.charCodeAt(i + 1);
- if (c === 13) {
- eol = true;
- if (text.charCodeAt(i + 2) === 10) {
- ++I;
- }
- } else if (c === 10) {
- eol = true;
- }
- return text.substring(j + 1, i).replace(/""/g, '"');
- }
- while (I < N) {
- var c = text.charCodeAt(I++),
- k = 1;
- if (c === 10) {
- eol = true;
- } else if (c === 13) {
- eol = true;
- if (text.charCodeAt(I) === 10) {
- ++I;
- ++k;
- }
- } else if (c !== delimiterCode) {
- continue;
- }
- return text.substring(j, I - k);
- }
- return text.substring(j);
- }
-
- while ((t = token()) !== EOF) {
- var a = [];
- while (t !== EOL && t !== EOF) {
- a.push(t.trim());
- t = token();
- }
-
- if (opt.headers) {
- if (n === 0) {
- if (typeof opt.headers === 'boolean') {
- hs = a;
- } else if (Array.isArray(opt.headers)) {
- hs = opt.headers;
- var r = {};
- hs.forEach(function(h, idx) {
- r[h] = a[idx];
- // Please avoid === here
- if (
- typeof r[h] !== 'undefined' &&
- r[h].length !== 0 &&
- r[h].trim() == +r[h]
- ) {
- // jshint ignore:line
- r[h] = +r[h];
- }
- });
- rows.push(r);
- }
- } else {
- var r = {};
- hs.forEach(function(h, idx) {
- r[h] = a[idx];
- if (
- typeof r[h] !== 'undefined' &&
- r[h].length !== 0 &&
- r[h].trim() == +r[h]
- ) {
- // jshint ignore:line
- r[h] = +r[h];
- }
- });
- rows.push(r);
- }
- n++;
- } else {
- rows.push(a);
- }
- }
-
- res = rows;
-
- if (opt.headers) {
- if (query && query.sources && query.sources[idx]) {
- var columns = (query.sources[idx].columns = []);
- hs.forEach(function(h) {
- columns.push({columnid: h});
- });
- }
- }
-
- if (cb) {
- res = cb(res, idx, query);
- }
- }
- if (new RegExp('\n').test(contents)) {
- parseText(contents);
- } else {
- contents = alasql.utils.autoExtFilename(contents, 'csv', opts);
- alasql.utils.loadFile(contents, !!cb, parseText);
- }
- return res;
-};
-
-function XLSXLSX(X, filename, opts, cb, idx, query) {
- var opt = {};
- opts = opts || {};
- alasql.utils.extend(opt, opts);
- if (typeof opt.headers === 'undefined') {
- opt.headers = true;
- }
- var res;
-
- /**
- * see https://github.com/SheetJS/js-xlsx/blob/5ae6b1965bfe3764656a96f536b356cd1586fec7/README.md
- * for example of using readAsArrayBuffer under `Parsing Workbooks`
- */
- function fixdata(data) {
- var o = '',
- l = 0,
- w = 10240;
- for (; l < data.byteLength / w; ++l)
- o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
- o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
- return o;
- }
- function getHeaderText(text) {
- // if casesensitive option is set to false and there is a text value return lowercase value of text
- if (text && alasql.options.casesensitive === false) {
- return text.toLowerCase();
- } else {
- return text;
- }
- }
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- alasql.utils.loadBinaryFile(
- filename,
- !!cb,
- function(data) {
- // function processData(data) {
- if (data instanceof ArrayBuffer) {
- var arr = fixdata(data);
- var workbook = X.read(btoa(arr), {type: 'base64'});
- } else {
- var workbook = X.read(data, {type: 'binary'});
- }
-
- var sheetid;
- if (typeof opt.sheetid === 'undefined') {
- sheetid = workbook.SheetNames[0];
- } else {
- sheetid = opt.sheetid;
- }
- var range;
- var res = [];
- if (typeof opt.range === 'undefined') {
- range = workbook.Sheets[sheetid]['!ref'];
- } else {
- range = opt.range;
- if (workbook.Sheets[sheetid][range]) {
- range = workbook.Sheets[sheetid][range];
- }
- }
- // if range has some value then data is present in the current sheet
- // else current sheet is empty
- if (range) {
- var rg = range.split(':');
- var col0 = rg[0].match(/[A-Z]+/)[0];
- var row0 = +rg[0].match(/[0-9]+/)[0];
- var col1 = rg[1].match(/[A-Z]+/)[0];
- var row1 = +rg[1].match(/[0-9]+/)[0];
-
- var hh = {};
- var xlscnCol0 = alasql.utils.xlscn(col0);
- var xlscnCol1 = alasql.utils.xlscn(col1);
- for (var j = xlscnCol0; j <= xlscnCol1; j++) {
- var col = alasql.utils.xlsnc(j);
- if (opt.headers) {
- if (workbook.Sheets[sheetid][col + '' + row0]) {
- hh[col] = getHeaderText(workbook.Sheets[sheetid][col + '' + row0].v);
- } else {
- hh[col] = getHeaderText(col);
- }
- } else {
- hh[col] = col;
- }
- }
- if (opt.headers) {
- row0++;
- }
- for (var i = row0; i <= row1; i++) {
- var row = {};
- for (var j = xlscnCol0; j <= xlscnCol1; j++) {
- var col = alasql.utils.xlsnc(j);
- if (workbook.Sheets[sheetid][col + '' + i]) {
- row[hh[col]] = workbook.Sheets[sheetid][col + '' + i].v;
- }
- }
- res.push(row);
- }
- } else {
- res.push([]);
- }
-
- // Remove last empty line (issue #548)
- if (
- res.length > 0 &&
- res[res.length - 1] &&
- Object.keys(res[res.length - 1]).length == 0
- ) {
- res.pop();
- }
-
- if (cb) {
- res = cb(res, idx, query);
- }
- },
- function(err) {
- throw err;
- }
- );
-
- return res;
-}
-
-alasql.from.XLS = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- opts.autoExt = false;
- return XLSXLSX(getXLSX(), filename, opts, cb, idx, query);
-};
-
-alasql.from.XLSX = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- filename = alasql.utils.autoExtFilename(filename, 'xlsx', opts);
- opts.autoExt = false;
- return XLSXLSX(getXLSX(), filename, opts, cb, idx, query);
-};
-
-alasql.from.ODS = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- filename = alasql.utils.autoExtFilename(filename, 'ods', opts);
- opts.autoExt = false;
- return XLSXLSX(getXLSX(), filename, opts, cb, idx, query);
-};
-
-alasql.from.XML = function(filename, opts, cb, idx, query) {
- var res;
-
- alasql.utils.loadFile(filename, !!cb, function(data) {
-
- // res = [{a:1}];
-
- res = xmlparse(data).root;
-
- if (cb) res = cb(res, idx, query);
- });
- return res;
-};
-
-/**
- * Parse the given string of `xml`.
- *
- * @param {String} xml
- * @return {Object}
- * @api public
- */
-
-function xmlparse(xml) {
- xml = xml.trim();
-
- // strip comments
- xml = xml.replace(//g, '');
-
- return document();
-
- /**
- * XML document.
- */
-
- function document() {
- return {
- declaration: declaration(),
- root: tag(),
- };
- }
-
- /**
- * Declaration.
- */
-
- function declaration() {
- var m = match(/^<\?xml\s*/);
- if (!m) return;
-
- // tag
- var node = {
- attributes: {},
- };
-
- // attributes
- while (!(eos() || is('?>'))) {
- var attr = attribute();
- if (!attr) return node;
- node.attributes[attr.name] = attr.value;
- }
-
- match(/\?>\s*/);
-
- return node;
- }
-
- /**
- * Tag.
- */
-
- function tag() {
- var m = match(/^<([\w-:.]+)\s*/);
- if (!m) return;
-
- // name
- var node = {
- name: m[1],
- attributes: {},
- children: [],
- };
-
- // attributes
- while (!(eos() || is('>') || is('?>') || is('/>'))) {
- var attr = attribute();
- if (!attr) return node;
- node.attributes[attr.name] = attr.value;
- }
-
- // self closing tag
- if (match(/^\s*\/>\s*/)) {
- return node;
- }
-
- match(/\??>\s*/);
-
- // content
- node.content = content();
-
- // children
- var child;
- while ((child = tag())) {
- node.children.push(child);
- }
-
- // closing
- match(/^<\/[\w-:.]+>\s*/);
-
- return node;
- }
-
- /**
- * Text content.
- */
-
- function content() {
- var m = match(/^([^<]*)/);
- if (m) return m[1];
- return '';
- }
-
- /**
- * Attribute.
- */
-
- function attribute() {
- var m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);
- if (!m) return;
- return {name: m[1], value: strip(m[2])};
- }
-
- /**
- * Strip quotes from `val`.
- */
-
- function strip(val) {
- return val.replace(/^['"]|['"]$/g, '');
- }
-
- /**
- * Match `re` and advance the string.
- */
-
- function match(re) {
- var m = xml.match(re);
- if (!m) return;
- xml = xml.slice(m[0].length);
- return m;
- }
-
- /**
- * End-of-source.
- */
-
- function eos() {
- return 0 == xml.length;
- }
-
- /**
- * Check for `prefix`.
- */
-
- function is(prefix) {
- return 0 == xml.indexOf(prefix);
- }
-}
-
-alasql.from.GEXF = function(filename, opts, cb, idx, query) {
- var res;
- alasql('SEARCH FROM XML(' + filename + ')', [], function(data) {
- res = data;
-
- if (cb) res = cb(res);
- });
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* globals: alasql, yy */
-
-/**
- Print statement
- @class
- @param {object} params Initial setup properties
-*/
-
-/* global alasql, yy */
-
-yy.Print = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Generate SQL string
- @this Print statement object
-*/
-yy.Print.prototype.toString = function() {
- var s = 'PRINT';
- if (this.statement) s += ' ' + this.statement.toString();
- return s;
-};
-
-/**
- Print result of select statement or expression
- @param {string} databaseid Database identificator
- @param {object} params Query parameters
- @param {statement-callback} cb Callback function
- @this Print statement object
-*/
-yy.Print.prototype.execute = function(databaseid, params, cb) {
-
- var self = this;
- var res = 1;
-
- alasql.precompile(this, databaseid, params); /** @todo Change from alasql to this */
-
- if (this.exprs && this.exprs.length > 0) {
- var rs = this.exprs.map(function(expr) {
-
- var exprfn = new Function(
- 'params,alasql,p',
- 'var y;return ' + expr.toJS('({})', '', null)
- ).bind(self);
- var r = exprfn(params, alasql);
- return JSONtoString(r);
- });
- console.log.apply(console, rs);
- } else if (this.select) {
- var r = this.select.execute(databaseid, params);
- console.log(JSONtoString(r));
- } else {
- console.log();
- }
-
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Source = function(params) {
- return yy.extend(this, params);
-};
-yy.Source.prototype.toString = function() {
- var s = 'SOURCE';
- if (this.url) s += " '" + this.url + " '";
- return s;
-};
-
-// SOURCE FILE
-yy.Source.prototype.execute = function(databaseid, params, cb) {
-
- var res;
- loadFile(
- this.url,
- !!cb,
- function(data) {
-
- // res = 1;
- res = alasql(data);
- if (cb) res = cb(res);
- return res;
- },
- function(err) {
- throw err;
- }
- );
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global alasql, yy */
-
-yy.Require = function(params) {
- return yy.extend(this, params);
-};
-yy.Require.prototype.toString = function() {
- var s = 'REQUIRE';
- if (this.paths && this.paths.length > 0) {
- s += this.paths
- .map(function(path) {
- return path.toString();
- })
- .join(',');
- }
- if (this.plugins && this.plugins.length > 0) {
- s += this.plugins
- .map(function(plugin) {
- return plugin.toUpperCase();
- })
- .join(',');
- }
- return s;
-};
-
-/**
- Attach plug-in for Alasql
- */
-yy.Require.prototype.execute = function(databaseid, params, cb) {
- var self = this;
- var res = 0;
- var ss = '';
-
- if (this.paths && this.paths.length > 0) {
- this.paths.forEach(function(path) {
- loadFile(path.value, !!cb, function(data) {
- res++;
-
- ss += data;
- if (res < self.paths.length) return;
-
- new Function('params,alasql', ss)(params, alasql);
- if (cb) res = cb(res);
- });
- });
- } else if (this.plugins && this.plugins.length > 0) {
- this.plugins.forEach(function(plugin) {
- // If plugin is not loaded already
- if (!alasql.plugins[plugin]) {
- loadFile(alasql.path + '/alasql-' + plugin.toLowerCase() + '.js', !!cb, function(
- data
- ) {
- // Execute all plugins at the same time
- res++;
- ss += data;
- if (res < self.plugins.length) return;
-
- new Function('params,alasql', ss)(params, alasql);
- alasql.plugins[plugin] = true; // Plugin is loaded
- if (cb) res = cb(res);
- });
- }
- });
- } else {
- if (cb) res = cb(res);
- }
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Assert = function(params) {
- return yy.extend(this, params);
-};
-yy.Source.prototype.toString = function() {
- var s = 'ASSERT';
- if (this.value) s += ' ' + JSON.stringify(this.value);
- return s;
-};
-
-// SOURCE FILE
-yy.Assert.prototype.execute = function(databaseid) {
-
- if (!deepEqual(alasql.res, this.value)) {
- // if(this.message) {
- // throw this.
- // } else {
- throw new Error(
- (this.message || 'Assert wrong') +
- ': ' +
- JSON.stringify(alasql.res) +
- ' == ' +
- JSON.stringify(this.value)
- );
- // }
- }
- return 1;
-};
-
-//
-// 91websql.js
-// WebSQL database support
-// (c) 2014, Andrey Gershun
-//
-
-var WEBSQL = (alasql.engines.WEBSQL = function() {});
-
-WEBSQL.createDatabase = function(wdbid, args, dbid, cb) {
- var res = 1;
- var wdb = openDatabase(wdbid, args[0], args[1], args[2]);
- if (this.dbid) {
- var db = alasql.createDatabase(this.dbid);
- db.engineid = 'WEBSQL';
- db.wdbid = wdbid;
- sb.wdb = db;
- }
- if (!wdb) {
- throw new Error('Cannot create WebSQL database "' + databaseid + '"');
- }
- if (cb) cb(res);
- return res;
-};
-
-WEBSQL.dropDatabase = function(databaseid) {
- throw new Error('This is impossible to drop WebSQL database.');
-};
-
-WEBSQL.attachDatabase = function(databaseid, dbid, args, params, cb) {
- var res = 1;
- if (alasql.databases[dbid]) {
- throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
- }
- alasqlopenDatabase(databaseid, args[0], args[1], args[2]);
- return res;
-};
-
-//
-// 91indexeddb.js
-// AlaSQL IndexedDB module
-// Date: 18.04.2015
-// (c) Andrey Gershun
-//
-
-/* global alasql, yy, utils*/
-
-var IDB = (alasql.engines.INDEXEDDB = function() {
- '';
-});
-
-if (utils.hasIndexedDB) {
- // For Chrome it work normally, for Firefox - simple shim
- if (typeof utils.global.indexedDB.webkitGetDatabaseNames == 'function') {
- IDB.getDatabaseNames = utils.global.indexedDB.webkitGetDatabaseNames.bind(
- utils.global.indexedDB
- );
- } else {
- IDB.getDatabaseNames = function() {
- var request = {};
- var result = {
- contains: function(name) {
- return true; // Always return true
- },
- notsupported: true,
- };
- setTimeout(function() {
- var event = {target: {result: result}};
- request.onsuccess(event);
- }, 0);
- return request;
- };
- IDB.getDatabaseNamesNotSupported = true;
- }
-}
-
-//
-// SHOW DATABASES
-// work only in chrome
-//
-IDB.showDatabases = function(like, cb) {
-
- var request = IDB.getDatabaseNames();
- request.onsuccess = function(event) {
- var dblist = event.target.result;
- if (IDB.getDatabaseNamesNotSupported) {
- throw new Error('SHOW DATABASE is not supported in this browser');
- }
- var res = [];
- if (like) {
- var relike = new RegExp(like.value.replace(/\%/g, '.*'), 'g');
- }
- for (var i = 0; i < dblist.length; i++) {
- if (!like || dblist[i].match(relike)) {
- res.push({databaseid: dblist[i]});
- }
- }
- cb(res);
- };
-};
-
-IDB.createDatabase = function(ixdbid, args, ifnotexists, dbid, cb) {
-
- var indexedDB = utils.global.indexedDB;
- if (ifnotexists) {
- var request2 = indexedDB.open(ixdbid, 1);
- request2.onsuccess = function(event) {
- event.target.result.close();
- if (cb) cb(1);
- };
- } else {
- var request1 = indexedDB.open(ixdbid, 1);
- request1.onupgradeneeded = function(e) {
-
- e.target.transaction.abort();
- };
- request1.onsuccess = function(e) {
-
- if (ifnotexists) {
- if (cb) cb(0);
- } else {
- throw new Error(
- 'IndexedDB: Cannot create new database "' +
- ixdbid +
- '" because it already exists'
- );
- }
- };
- }
-
-};
-
-IDB.createDatabase = function(ixdbid, args, ifnotexists, dbid, cb) {
- var indexedDB = utils.global.indexedDB;
- if (IDB.getDatabaseNamesNotSupported) {
- // Hack for Firefox
- if (ifnotexists) {
-
- var dbExists = true;
- var request2 = indexedDB.open(ixdbid);
-
- request2.onupgradeneeded = function(e) {
-
- dbExists = false;
- // e.target.transaction.abort();
- // cb(0);
- };
- request2.onsuccess = function(event) {
-
- event.target.result.close();
- if (dbExists) {
- if (cb) cb(0);
- } else {
- if (cb) cb(1);
- }
- };
- } else {
-
- var request1 = indexedDB.open(ixdbid);
- request1.onupgradeneeded = function(e) {
- e.target.transaction.abort();
- };
- request1.onabort = function(event) {
- if (cb) cb(1);
- };
- request1.onsuccess = function(event) {
- event.target.result.close();
- throw new Error(
- 'IndexedDB: Cannot create new database "' +
- ixdbid +
- '" because it already exists'
- );
- // cb(0);
- };
- }
- } else {
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
- if (dblist.contains(ixdbid)) {
- if (ifnotexists) {
- if (cb) cb(0);
- return;
- } else {
- throw new Error(
- 'IndexedDB: Cannot create new database "' +
- ixdbid +
- '" because it already exists'
- );
- }
- }
-
- var request2 = indexedDB.open(ixdbid, 1);
- request2.onsuccess = function(event) {
- event.target.result.close();
- if (cb) cb(1);
- };
- };
- }
-};
-
-IDB.dropDatabase = function(ixdbid, ifexists, cb) {
- var indexedDB = utils.global.indexedDB;
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
- if (!dblist.contains(ixdbid)) {
- if (ifexists) {
- if (cb) cb(0);
- return;
- } else {
- throw new Error(
- 'IndexedDB: Cannot drop new database "' + ixdbid + '" because it does not exist'
- );
- }
- }
- var request2 = indexedDB.deleteDatabase(ixdbid);
- request2.onsuccess = function(event) {
-
- if (cb) cb(1);
- };
- };
-};
-
-IDB.attachDatabase = function(ixdbid, dbid, args, params, cb) {
- if (!utils.hasIndexedDB) {
- throw new Error('The current browser does not support IndexedDB');
- }
- var indexedDB = utils.global.indexedDB;
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
- if (!dblist.contains(ixdbid)) {
- throw new Error(
- 'IndexedDB: Cannot attach database "' + ixdbid + '" because it does not exist'
- );
- }
- var request2 = indexedDB.open(ixdbid);
- request2.onsuccess = function(event) {
- var ixdb = event.target.result;
- var db = new alasql.Database(dbid || ixdbid);
- db.engineid = 'INDEXEDDB';
- db.ixdbid = ixdbid;
- db.tables = [];
- var tblist = ixdb.objectStoreNames;
- for (var i = 0; i < tblist.length; i++) {
- db.tables[tblist[i]] = {};
- }
-
- event.target.result.close();
- if (cb) cb(1);
- };
- };
-};
-
-IDB.createTable = function(databaseid, tableid, ifnotexists, cb) {
- var indexedDB = utils.global.indexedDB;
-
- var ixdbid = alasql.databases[databaseid].ixdbid;
-
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event__) {
- var dblist = event__.target.result;
- if (!dblist.contains(ixdbid)) {
- throw new Error(
- 'IndexedDB: Cannot create table in database "' +
- ixdbid +
- '" because it does not exist'
- );
- }
- var request2 = indexedDB.open(ixdbid);
- request2.onversionchange = function(event_) {
-
- event_.target.result.close();
- };
- request2.onsuccess = function(event_) {
- var version = event_.target.result.version;
- event_.target.result.close();
-
- var request3 = indexedDB.open(ixdbid, version + 1);
- request3.onupgradeneeded = function(event) {
- var ixdb = event.target.result;
-
- var store = ixdb.createObjectStore(tableid, {autoIncrement: true});
-
- };
- request3.onsuccess = function(event) {
-
- event.target.result.close();
- if (cb) cb(1);
- };
- request3.onerror = function(event) {
- throw event;
-
- };
- request3.onblocked = function(event) {
- throw new Error(
- 'Cannot create table "' +
- tableid +
- '" because database "' +
- databaseid +
- '" is blocked'
- );
-
- };
- };
- };
-};
-
-IDB.dropTable = function(databaseid, tableid, ifexists, cb) {
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
-
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
-
- if (!dblist.contains(ixdbid)) {
- throw new Error(
- 'IndexedDB: Cannot drop table in database "' +
- ixdbid +
- '" because it does not exist'
- );
- }
-
- var request2 = indexedDB.open(ixdbid);
- request2.onversionchange = function(event) {
- event.target.result.close();
- };
-
- request2.onsuccess = function(event) {
- var version = event.target.result.version;
- event.target.result.close();
-
- var request3 = indexedDB.open(ixdbid, version + 1);
- request3.onupgradeneeded = function(event) {
- var ixdb = event.target.result;
- if (ixdb.objectStoreNames.contains(tableid)) {
- ixdb.deleteObjectStore(tableid);
- delete alasql.databases[databaseid].tables[tableid];
- } else {
- if (!ifexists) {
- throw new Error(
- 'IndexedDB: Cannot drop table "' +
- tableid +
- '" because it does not exist'
- );
- }
- }
- // var store = ixdb.createObjectStore(tableid);
-
- };
- request3.onsuccess = function(event) {
-
- event.target.result.close();
- if (cb) cb(1);
- };
- request3.onerror = function(event) {
-
- throw event;
- };
- request3.onblocked = function(event) {
- throw new Error(
- 'Cannot drop table "' +
- tableid +
- '" because database "' +
- databaseid +
- '" is blocked'
- );
-
- };
- };
- };
-};
-
-IDB.intoTable = function(databaseid, tableid, value, columns, cb) {
-
- // console.trace();
-
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request1 = indexedDB.open(ixdbid);
- request1.onsuccess = function(event) {
- var ixdb = event.target.result;
- var tx = ixdb.transaction([tableid], 'readwrite');
- var tb = tx.objectStore(tableid);
-
- for (var i = 0, ilen = value.length; i < ilen; i++) {
- tb.add(value[i]);
- }
- tx.oncomplete = function() {
- ixdb.close();
-
- if (cb) cb(ilen);
- };
- };
-
-};
-
-IDB.fromTable = function(databaseid, tableid, cb, idx, query) {
-
- // console.trace();
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request = indexedDB.open(ixdbid);
- request.onsuccess = function(event) {
- var res = [];
- var ixdb = event.target.result;
-
- var tx = ixdb.transaction([tableid]);
- var store = tx.objectStore(tableid);
- var cur = store.openCursor();
-
- cur.onblocked = function(event) {
-
- };
- cur.onerror = function(event) {
-
- };
- cur.onsuccess = function(event) {
-
- var cursor = event.target.result;
-
- if (cursor) {
- res.push(cursor.value);
- cursor.continue();
- } else {
-
- ixdb.close();
- if (cb) cb(res, idx, query);
- }
- };
- };
-};
-
-IDB.deleteFromTable = function(databaseid, tableid, wherefn, params, cb) {
-
- // console.trace();
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request = indexedDB.open(ixdbid);
- request.onsuccess = function(event) {
- var res = [];
- var ixdb = event.target.result;
-
- var tx = ixdb.transaction([tableid], 'readwrite');
- var store = tx.objectStore(tableid);
- var cur = store.openCursor();
- var num = 0;
-
- cur.onblocked = function(event) {
-
- };
- cur.onerror = function(event) {
-
- };
- cur.onsuccess = function(event) {
-
- var cursor = event.target.result;
-
- if (cursor) {
- if (!wherefn || wherefn(cursor.value, params)) {
-
- cursor.delete();
- num++;
- }
- cursor.continue();
- } else {
-
- ixdb.close();
- if (cb) cb(num);
- }
- };
- };
-};
-
-IDB.updateTable = function(databaseid, tableid, assignfn, wherefn, params, cb) {
-
- // console.trace();
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request = indexedDB.open(ixdbid);
- request.onsuccess = function(event) {
- var res = [];
- var ixdb = event.target.result;
-
- var tx = ixdb.transaction([tableid], 'readwrite');
- var store = tx.objectStore(tableid);
- var cur = store.openCursor();
- var num = 0;
-
- cur.onblocked = function(event) {
-
- };
- cur.onerror = function(event) {
-
- };
- cur.onsuccess = function(event) {
-
- var cursor = event.target.result;
-
- if (cursor) {
- if (!wherefn || wherefn(cursor.value, params)) {
-
- var r = cursor.value;
- assignfn(r, params);
-
- cursor.update(r);
- num++;
- }
- cursor.continue();
- } else {
-
- ixdb.close();
- if (cb) cb(num);
- }
- };
- };
-};
-
-//
-// 91localstorage.js
-// localStorage and DOM-Storage engine
-// Date: 09.12.2014
-// (c) Andrey Gershun
-//
-
-/* global alasql, yy, localStorage*/
-
-var LS = (alasql.engines.LOCALSTORAGE = function() {});
-
-/**
- Read data from localStorage with security breaks
- @param key {string} Address in localStorage
- @return {object} JSON object
-*/
-LS.get = function(key) {
- var s = localStorage.getItem(key);
- if (typeof s === 'undefined') return;
- var v;
- try {
- v = JSON.parse(s);
- } catch (err) {
- throw new Error('Cannot parse JSON object from localStorage' + s);
- }
- return v;
-};
-
-/**
- Store data into localStorage with security breaks
- @param key {string} Address in localStorage
- @return {object} JSON object
-*/
-LS.set = function(key, value) {
- if (typeof value === 'undefined') localStorage.removeItem(key);
- else localStorage.setItem(key, JSON.stringify(value));
-};
-
-/**
- Store table structure and data into localStorage
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
- @return Nothing
-*/
-LS.storeTable = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var table = db.tables[tableid];
- // Create empty structure for table
- var tbl = {};
- tbl.columns = table.columns;
- tbl.data = table.data;
- tbl.identities = table.identities;
- // TODO: May be add indexes, objects and other fields?
- LS.set(db.lsdbid + '.' + tableid, tbl);
-};
-
-/**
- Restore table structure and data
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
- @return Nothing
-*/
-LS.restoreTable = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var tbl = LS.get(db.lsdbid + '.' + tableid);
- var table = new alasql.Table();
- for (var f in tbl) {
- table[f] = tbl[f];
- }
- db.tables[tableid] = table;
- table.indexColumns();
- // We need to add other things here
- return table;
-};
-
-/**
- Remove table from localStorage
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
-*/
-
-LS.removeTable = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- localStorage.removeItem(db.lsdbid + '.' + tableid);
-};
-
-/**
- Create database in localStorage
- @param lsdbid {string} localStorage database id
- @param args {array} List of parameters (not used in localStorage)
- @param ifnotexists {boolean} Check if database does not exist
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param cb {function} Callback
-*/
-
-LS.createDatabase = function(lsdbid, args, ifnotexists, databaseid, cb) {
- var res = 1;
- var ls = LS.get('alasql'); // Read list of all databases
- if (!(ifnotexists && ls && ls.databases && ls.databases[lsdbid])) {
- if (!ls) ls = {databases: {}}; // Empty record
- if (ls.databases && ls.databases[lsdbid]) {
- throw new Error(
- 'localStorage: Cannot create new database "' +
- lsdbid +
- '" because it already exists'
- );
- }
- ls.databases[lsdbid] = true;
- LS.set('alasql', ls);
- LS.set(lsdbid, {databaseid: lsdbid, tables: {}}); // Create database record
- } else {
- res = 0;
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Drop external database
- @param lsdbid {string} localStorage database id
- @param ifexists {boolean} Check if database exists
- @param cb {function} Callback
-*/
-LS.dropDatabase = function(lsdbid, ifexists, cb) {
- var res = 1;
- var ls = LS.get('alasql');
- if (!(ifexists && ls && ls.databases && !ls.databases[lsdbid])) {
- // 1. Remove record from 'alasql' record
- if (!ls) {
- if (!ifexists) {
- throw new Error('There is no any AlaSQL databases in localStorage');
- } else {
- return cb ? cb(0) : 0;
- }
- }
-
- if (ls.databases && !ls.databases[lsdbid]) {
- throw new Error(
- 'localStorage: Cannot drop database "' +
- lsdbid +
- '" because there is no such database'
- );
- }
- delete ls.databases[lsdbid];
- LS.set('alasql', ls);
-
- // 2. Remove tables definitions
- var db = LS.get(lsdbid);
- for (var tableid in db.tables) {
- localStorage.removeItem(lsdbid + '.' + tableid);
- }
-
- // 3. Remove database definition
- localStorage.removeItem(lsdbid);
- } else {
- res = 0;
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Attach existing localStorage database to AlaSQL database
- @param lsdibid {string} localStorage database id
- @param
-*/
-
-LS.attachDatabase = function(lsdbid, databaseid, args, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid]) {
- throw new Error(
- 'Unable to attach database as "' + databaseid + '" because it already exists'
- );
- }
- if (!databaseid) databaseid = lsdbid;
- var db = new alasql.Database(databaseid);
- db.engineid = 'LOCALSTORAGE';
- db.lsdbid = lsdbid;
- db.tables = LS.get(lsdbid).tables;
- // IF AUTOABORT IS OFF then copy data to memory
- if (!alasql.options.autocommit) {
- if (db.tables) {
- for (var tbid in db.tables) {
- LS.restoreTable(databaseid, tbid);
- // db.tables[tbid].data = LS.get(db.lsdbid+'.'+tbid);
- }
- }
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Show list of databases from localStorage
- @param like {string} Mathing pattern
- @param cb {function} Callback
-*/
-LS.showDatabases = function(like, cb) {
- var res = [];
- var ls = LS.get('alasql');
- if (like) {
- // TODO: If we have a special function for LIKE patterns?
- var relike = new RegExp(like.value.replace(/%/g, '.*'), 'g');
- }
- if (ls && ls.databases) {
- for (var dbid in ls.databases) {
- res.push({databaseid: dbid});
- }
- if (like && res && res.length > 0) {
- res = res.filter(function(d) {
- return d.databaseid.match(relike);
- });
- }
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Create table in localStorage database
- @param databaseid {string} AlaSQL database id
- @param tableid {string} Table id
- @param ifnotexists {boolean} If not exists flag
- @param cb {function} Callback
-*/
-
-LS.createTable = function(databaseid, tableid, ifnotexists, cb) {
- var res = 1;
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var tb = LS.get(lsdbid + '.' + tableid);
- // Check if such record exists
- if (tb && !ifnotexists) {
- throw new Error(
- 'Table "' + tableid + '" alsready exists in localStorage database "' + lsdbid + '"'
- );
- }
- var lsdb = LS.get(lsdbid);
- var table = alasql.databases[databaseid].tables[tableid];
-
- // TODO: Check if required
- lsdb.tables[tableid] = true;
-
- LS.set(lsdbid, lsdb);
- LS.storeTable(databaseid, tableid);
-
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Empty table and reset identities
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
- @param ifexists {boolean} If exists flag
- @param cb {function} Callback
- @return 1 on success
-*/
-LS.truncateTable = function(databaseid, tableid, ifexists, cb) {
- var res = 1;
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb;
- if (alasql.options.autocommit) {
- lsdb = LS.get(lsdbid);
- } else {
- lsdb = alasql.databases[databaseid];
- }
-
- if (!ifexists && !lsdb.tables[tableid]) {
- throw new Error(
- 'Cannot truncate table "' + tableid + '" in localStorage, because it does not exist'
- );
- }
-
- //load table
- var tbl = LS.restoreTable(databaseid, tableid);
-
- //clear data from table
- tbl.data = [];
- //TODO reset all identities
- //but identities are not working on LOCALSTORAGE
- //See test 607 for details
-
- //store table
- LS.storeTable(databaseid, tableid);
-
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Create table in localStorage database
- @param databaseid {string} AlaSQL database id
- @param tableid {string} Table id
- @param ifexists {boolean} If exists flag
- @param cb {function} Callback
-*/
-
-LS.dropTable = function(databaseid, tableid, ifexists, cb) {
- var res = 1;
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb;
-
- if (alasql.options.autocommit) {
- lsdb = LS.get(lsdbid);
- } else {
- lsdb = alasql.databases[databaseid];
- }
- if (!ifexists && !lsdb.tables[tableid]) {
- throw new Error(
- 'Cannot drop table "' + tableid + '" in localStorage, because it does not exist'
- );
- }
- delete lsdb.tables[tableid];
- LS.set(lsdbid, lsdb);
- // localStorage.removeItem(lsdbid+'.'+tableid);
- LS.removeTable(databaseid, tableid);
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Read all data from table
-*/
-
-LS.fromTable = function(databaseid, tableid, cb, idx, query) {
-
- var lsdbid = alasql.databases[databaseid].lsdbid;
- // var res = LS.get(lsdbid+'.'+tableid);
-
- var res = LS.restoreTable(databaseid, tableid).data;
-
- if (cb) res = cb(res, idx, query);
- return res;
-};
-
-/**
- Insert data into the table
- @param databaseid {string} Database id
- @param tableid {string} Table id
- @param value {array} Array of values
- @param columns {array} Columns (not used)
- @param cb {function} Callback
-*/
-
-LS.intoTable = function(databaseid, tableid, value, columns, cb) {
-
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var res = value.length;
- // var tb = LS.get(lsdbid+'.'+tableid);
- var tb = LS.restoreTable(databaseid, tableid);
- if (!tb.data) tb.data = [];
- tb.data = tb.data.concat(value);
- // LS.set(lsdbid+'.'+tableid, tb);
- LS.storeTable(databaseid, tableid);
-
- if (cb) res = cb(res);
-
- return res;
-};
-
-/**
- Laad data from table
-*/
-LS.loadTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var lsdbid = alasql.databases[databaseid].lsdbid;
- LS.restoreTable(databaseid, tableid);
- // db.tables[tableid].data = LS.get(lsdbid+'.'+tableid);
-};
-
-/**
- Save data to the table
-*/
-
-LS.saveTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var lsdbid = alasql.databases[databaseid].lsdbid;
- LS.storeTable(lsdbid, tableid);
- // LS.set(lsdbid+'.'+tableid,db.tables[tableid].data);
- db.tables[tableid].data = undefined;
-};
-
-/**
- Commit
-*/
-
-LS.commit = function(databaseid, cb) {
-
- var db = alasql.databases[databaseid];
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb = {databaseid: lsdbid, tables: {}};
- if (db.tables) {
- for (var tbid in db.tables) {
- // TODO: Question - do we need this line
- lsdb.tables[tbid] = true;
- LS.storeTable(databaseid, tbid);
- // LS.set(lsdbid+'.'+tbid, db.tables[tbid].data);
- }
- }
- LS.set(lsdbid, lsdb);
- return cb ? cb(1) : 1;
-};
-
-/**
- Alias BEGIN = COMMIT
-*/
-LS.begin = LS.commit;
-
-/**
- ROLLBACK
-*/
-
-LS.rollback = function(databaseid, cb) {
- // This does not work and should be fixed
- // Plus test 151 and 231
-
- return;
-
- var db = alasql.databases[databaseid];
- db.dbversion++;
-
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb = LS.get(lsdbid);
- // if(!alasql.options.autocommit) {
-
- delete alasql.databases[databaseid];
- alasql.databases[databaseid] = new alasql.Database(databaseid);
- extend(alasql.databases[databaseid], lsdb);
- alasql.databases[databaseid].databaseid = databaseid;
- alasql.databases[databaseid].engineid = 'LOCALSTORAGE';
-
- if (lsdb.tables) {
- for (var tbid in lsdb.tables) {
- // var tb = new alasql.Table({columns: db.tables[tbid].columns});
- // extend(tb,lsdb.tables[tbid]);
- // lsdb.tables[tbid] = true;
-
- // if(!alasql.options.autocommit) {
-
- // lsdb.tables[tbid].data = LS.get(db.lsdbid+'.'+tbid);
- LS.restoreTable(databaseid, tbid);
- // }
- // lsdb.tables[tbid].indexColumns();
-
- // index columns
- // convert types
- }
- }
- // }
-
-};
-
-//
-// 91websql.js
-// WebSQL database support
-// (c) 2014, Andrey Gershun
-//
-
-var SQLITE = (alasql.engines.SQLITE = function() {});
-
-SQLITE.createDatabase = function(wdbid, args, ifnotexists, dbid, cb) {
- throw new Error('Connot create SQLITE database in memory. Attach it.');
-};
-
-SQLITE.dropDatabase = function(databaseid) {
- throw new Error('This is impossible to drop SQLite database. Detach it.');
-};
-
-SQLITE.attachDatabase = function(sqldbid, dbid, args, params, cb) {
- var res = 1;
- if (alasql.databases[dbid]) {
- throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
- }
-
- if ((args[0] && args[0] instanceof yy.StringValue) || args[0] instanceof yy.ParamValue) {
- if (args[0] instanceof yy.StringValue) {
- var value = args[0].value;
- } else if (args[0] instanceof yy.ParamValue) {
- var value = params[args[0].param];
- }
- alasql.utils.loadBinaryFile(
- value,
- true,
- function(data) {
- var db = new alasql.Database(dbid || sqldbid);
- db.engineid = 'SQLITE';
- db.sqldbid = sqldbid;
- var sqldb = (db.sqldb = new SQL.Database(data));
- db.tables = [];
- var tables = sqldb.exec("SELECT * FROM sqlite_master WHERE type='table'")[0].values;
-
- tables.forEach(function(tbl) {
- db.tables[tbl[1]] = {};
- var columns = (db.tables[tbl[1]].columns = []);
- var ast = alasql.parse(tbl[4]);
-
- var coldefs = ast.statements[0].columns;
- if (coldefs && coldefs.length > 0) {
- coldefs.forEach(function(cd) {
- columns.push(cd);
- });
- }
- });
-
- cb(1);
- },
- function(err) {
- throw new Error('Cannot open SQLite database file "' + args[0].value + '"');
- }
- );
- return res;
- } else {
- throw new Error('Cannot attach SQLite database without a file');
- }
-
- return res;
-};
-
-SQLITE.fromTable = function(databaseid, tableid, cb, idx, query) {
- var data = alasql.databases[databaseid].sqldb.exec('SELECT * FROM ' + tableid);
- var columns = (query.sources[idx].columns = []);
- if (data[0].columns.length > 0) {
- data[0].columns.forEach(function(columnid) {
- columns.push({columnid: columnid});
- });
- }
-
- var res = [];
- if (data[0].values.length > 0) {
- data[0].values.forEach(function(d) {
- var r = {};
- columns.forEach(function(col, idx) {
- r[col.columnid] = d[idx];
- });
- res.push(r);
- });
- }
- if (cb) cb(res, idx, query);
-};
-
-SQLITE.intoTable = function(databaseid, tableid, value, columns, cb) {
- var sqldb = alasql.databases[databaseid].sqldb;
- for (var i = 0, ilen = value.length; i < ilen; i++) {
- var s = 'INSERT INTO ' + tableid + ' (';
- var d = value[i];
- var keys = Object.keys(d);
- s += keys.join(',');
- s += ') VALUES (';
- s += keys
- .map(function(k) {
- v = d[k];
- if (typeof v == 'string') v = "'" + v + "'";
- return v;
- })
- .join(',');
- s += ')';
- sqldb.exec(s);
- }
- var res = ilen;
- if (cb) cb(res);
- return res;
-};
-
-//
-// 91localstorage.js
-// localStorage and DOM-Storage engine
-// Date: 09.12.2014
-// (c) Andrey Gershun
-//
-
-var FS = (alasql.engines.FILESTORAGE = alasql.engines.FILE = function() {});
-
-FS.createDatabase = function(fsdbid, args, ifnotexists, dbid, cb) {
-
- var res = 1;
- var filename = args[0].value;
-
- alasql.utils.fileExists(filename, function(fex) {
-
- if (fex) {
- if (ifnotexists) {
- res = 0;
- if (cb) res = cb(res);
- return res;
- } else {
- throw new Error('Cannot create new database file, because it already exists');
- }
- } else {
- var data = {tables: {}};
- alasql.utils.saveFile(filename, JSON.stringify(data), function(data) {
- if (cb) res = cb(res);
- });
- }
- });
- return res;
-};
-
-FS.dropDatabase = function(fsdbid, ifexists, cb) {
- var res;
- var filename = fsdbid.value;
-
- alasql.utils.fileExists(filename, function(fex) {
- if (fex) {
- res = 1;
- alasql.utils.deleteFile(filename, function() {
- res = 1;
- if (cb) res = cb(res);
- });
- } else {
- if (!ifexists) {
- throw new Error('Cannot drop database file, because it does not exist');
- }
- res = 0;
- if (cb) res = cb(res);
- }
- });
- return res;
-};
-
-FS.attachDatabase = function(fsdbid, dbid, args, params, cb) {
-
- var res = 1;
- if (alasql.databases[dbid]) {
- throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
- }
- var db = new alasql.Database(dbid || fsdbid);
- db.engineid = 'FILESTORAGE';
- // db.fsdbid = fsdbid;
- db.filename = args[0].value;
- loadFile(db.filename, !!cb, function(s) {
- try {
- db.data = JSON.parse(s);
- } catch (err) {
- throw new Error('Data in FileStorage database are corrupted');
- }
- db.tables = db.data.tables;
- // IF AUTOCOMMIT IS OFF then copy data to memory
- if (!alasql.options.autocommit) {
- if (db.tables) {
- for (var tbid in db.tables) {
- db.tables[tbid].data = db.data[tbid];
- }
- }
- }
- if (cb) res = cb(res);
- });
- return res;
-};
-
-FS.createTable = function(databaseid, tableid, ifnotexists, cb) {
- var db = alasql.databases[databaseid];
- var tb = db.data[tableid];
- var res = 1;
-
- if (tb && !ifnotexists) {
- throw new Error('Table "' + tableid + '" alsready exists in the database "' + fsdbid + '"');
- }
- var table = alasql.databases[databaseid].tables[tableid];
- db.data.tables[tableid] = {columns: table.columns};
- db.data[tableid] = [];
-
- FS.updateFile(databaseid);
-
- if (cb) cb(res);
- return res;
-};
-
-FS.updateFile = function(databaseid) {
-
- var db = alasql.databases[databaseid];
- if (db.issaving) {
- db.postsave = true;
- return;
- }
- db.issaving = true;
- db.postsave = false;
- alasql.utils.saveFile(db.filename, JSON.stringify(db.data), function() {
- db.issaving = false;
-
- if (db.postsave) {
- setTimeout(function() {
- FS.updateFile(databaseid);
- }, 50); // TODO Test with different timeout parameters
- }
- });
-};
-
-FS.dropTable = function(databaseid, tableid, ifexists, cb) {
- var res = 1;
- var db = alasql.databases[databaseid];
- if (!ifexists && !db.tables[tableid]) {
- throw new Error(
- 'Cannot drop table "' + tableid + '" in fileStorage, because it does not exist'
- );
- }
- delete db.tables[tableid];
- delete db.data.tables[tableid];
- delete db.data[tableid];
- FS.updateFile(databaseid);
- if (cb) cb(res);
- return res;
-};
-
-FS.fromTable = function(databaseid, tableid, cb, idx, query) {
-
- var db = alasql.databases[databaseid];
- var res = db.data[tableid];
- if (cb) res = cb(res, idx, query);
- return res;
-};
-
-FS.intoTable = function(databaseid, tableid, value, columns, cb) {
- var db = alasql.databases[databaseid];
- var res = value.length;
- var tb = db.data[tableid];
- if (!tb) tb = [];
- db.data[tableid] = tb.concat(value);
- FS.updateFile(databaseid);
- if (cb) cb(res);
- return res;
-};
-
-FS.loadTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- db.tables[tableid].data = db.data[tableid];
-};
-
-FS.saveTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- db.data[tableid] = db.tables[tableid].data;
- db.tables[tableid].data = null;
- FS.updateFile(databaseid);
-};
-
-FS.commit = function(databaseid, cb) {
-
- var db = alasql.databases[databaseid];
- var fsdb = {tables: {}};
- if (db.tables) {
- for (var tbid in db.tables) {
- db.data.tables[tbid] = {columns: db.tables[tbid].columns};
- db.data[tbid] = db.tables[tbid].data;
- }
- }
- FS.updateFile(databaseid);
- return cb ? cb(1) : 1;
-};
-
-FS.begin = FS.commit;
-
-FS.rollback = function(databaseid, cb) {
- var res = 1;
- var db = alasql.databases[databaseid];
- db.dbversion++;
-
- // var lsdbid = alasql.databases[databaseid].lsdbid;
- // lsdb = LS.get(lsdbid);
- wait();
- function wait() {
- setTimeout(function() {
- if (db.issaving) {
- return wait();
- } else {
- alasql.loadFile(db.filename, !!cb, function(data) {
- db.data = data;
- db.tables = {};
- for (var tbid in db.data.tables) {
- var tb = new alasql.Table({columns: db.data.tables[tbid].columns});
- extend(tb, db.data.tables[tbid]);
- db.tables[tbid] = tb;
- if (!alasql.options.autocommit) {
- db.tables[tbid].data = db.data[tbid];
- }
- db.tables[tbid].indexColumns();
-
- // index columns
- // convert types
- }
-
- delete alasql.databases[databaseid];
- alasql.databases[databaseid] = new alasql.Database(databaseid);
- extend(alasql.databases[databaseid], db);
- alasql.databases[databaseid].engineid = 'FILESTORAGE';
- alasql.databases[databaseid].filename = db.filename;
-
- if (cb) res = cb(res);
- // Todo: check why no return
- });
- }
- }, 100);
- }
-
- // if(!alasql.options.autocommit) {
-
-};
-
-if(utils.isBrowser && !utils.isWebWorker) {
-
-alasql = alasql || false;
-
-if (!alasql) {
- throw new Error('alasql was not found');
-}
-
-alasql.worker = function() {
- throw new Error('Can find webworker in this enviroment');
-};
-
-if (typeof Worker !== 'undefined') {
- alasql.worker = function(path, paths, cb) {
- // var path;
- if (path === true) {
- path = undefined;
- }
-
- if (typeof path === 'undefined') {
- var sc = document.getElementsByTagName('script');
- for (var i = 0; i < sc.length; i++) {
- if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
- path = sc[i].src.substr(0, sc[i].src.length - 16) + 'alasql.js';
- break;
- } else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
- path = sc[i].src.substr(0, sc[i].src.length - 20) + 'alasql.min.js';
- break;
- } else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
- path = sc[i].src;
- break;
- } else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
- path = sc[i].src.substr(0, sc[i].src.length - 13) + 'alasql.min.js';
- break;
- }
- }
- }
-
- if (typeof path === 'undefined') {
- throw new Error('Path to alasql.js is not specified');
- } else if (path !== false) {
- var js = "importScripts('";
- js += path;
- js +=
- "');self.onmessage = function(event) {" +
- 'alasql(event.data.sql,event.data.params, function(data){' +
- 'postMessage({id:event.data.id, data:data});});}';
-
- var blob = new Blob([js], {type: 'text/plain'});
- alasql.webworker = new Worker(URL.createObjectURL(blob));
-
- alasql.webworker.onmessage = function(event) {
- var id = event.data.id;
-
- alasql.buffer[id](event.data.data);
- delete alasql.buffer[id];
- };
-
- alasql.webworker.onerror = function(e) {
- throw e;
- };
-
- if (arguments.length > 1) {
- var sql =
- 'REQUIRE ' +
- paths
- .map(function(p) {
- return '"' + p + '"';
- })
- .join(',');
- alasql(sql, [], cb);
- }
- } else if (path === false) {
- delete alasql.webworker;
- return;
- }
- };
-}
-
-/* FileSaver.js
- * A saveAs() FileSaver implementation.
- * 1.3.2
- * 2016-06-16 18:25:19
- *
- * By Eli Grey, http://eligrey.com
- * License: MIT
- * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
- */
-
-/*global self */
-/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
-
-/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
-
-var saveAs =
- saveAs ||
- (function(view) {
- 'use strict';
- // IE <10 is explicitly unsupported
- if (
- typeof view === 'undefined' ||
- (typeof navigator !== 'undefined' && /MSIE [1-9]\./.test(navigator.userAgent))
- ) {
- return;
- }
- var doc = view.document,
- // only get URL when necessary in case Blob.js hasn't overridden it yet
- get_URL = function() {
- return view.URL || view.webkitURL || view;
- },
- save_link = doc.createElementNS('http://www.w3.org/1999/xhtml', 'a'),
- can_use_save_link = 'download' in save_link,
- click = function(node) {
- var event = new MouseEvent('click');
- node.dispatchEvent(event);
- },
- is_safari = /constructor/i.test(view.HTMLElement) || view.safari,
- is_chrome_ios = /CriOS\/[\d]+/.test(navigator.userAgent),
- throw_outside = function(ex) {
- (view.setImmediate || view.setTimeout)(function() {
- throw ex;
- }, 0);
- },
- force_saveable_type = 'application/octet-stream',
- // the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
- arbitrary_revoke_timeout = 1000 * 40, // in ms
- revoke = function(file) {
- var revoker = function() {
- if (typeof file === 'string') {
- // file is an object URL
- get_URL().revokeObjectURL(file);
- } else {
- // file is a File
- file.remove();
- }
- };
- setTimeout(revoker, arbitrary_revoke_timeout);
- },
- dispatch = function(filesaver, event_types, event) {
- event_types = [].concat(event_types);
- var i = event_types.length;
- while (i--) {
- var listener = filesaver['on' + event_types[i]];
- if (typeof listener === 'function') {
- try {
- listener.call(filesaver, event || filesaver);
- } catch (ex) {
- throw_outside(ex);
- }
- }
- }
- },
- auto_bom = function(blob) {
- // prepend BOM for UTF-8 XML and text/* types (including HTML)
- // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
- if (
- /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(
- blob.type
- )
- ) {
- return new Blob([String.fromCharCode(0xfeff), blob], {type: blob.type});
- }
- return blob;
- },
- FileSaver = function(blob, name, no_auto_bom) {
- if (!no_auto_bom) {
- blob = auto_bom(blob);
- }
- // First try a.download, then web filesystem, then object URLs
- var filesaver = this,
- type = blob.type,
- force = type === force_saveable_type,
- object_url,
- dispatch_all = function() {
- dispatch(filesaver, 'writestart progress write writeend'.split(' '));
- },
- // on any filesys errors revert to saving with object URLs
- fs_error = function() {
- if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
- // Safari doesn't allow downloading of blob urls
- var reader = new FileReader();
- reader.onloadend = function() {
- var url = is_chrome_ios
- ? reader.result
- : reader.result.replace(
- /^data:[^;]*;/,
- 'data:attachment/file;'
- );
- var popup = view.open(url, '_blank');
- if (!popup) view.location.href = url;
- url = undefined; // release reference before dispatching
- filesaver.readyState = filesaver.DONE;
- dispatch_all();
- };
- reader.readAsDataURL(blob);
- filesaver.readyState = filesaver.INIT;
- return;
- }
- // don't create more object URLs than needed
- if (!object_url) {
- object_url = get_URL().createObjectURL(blob);
- }
- if (force) {
- view.location.href = object_url;
- } else {
- var opened = view.open(object_url, '_blank');
- if (!opened) {
- // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
- view.location.href = object_url;
- }
- }
- filesaver.readyState = filesaver.DONE;
- dispatch_all();
- revoke(object_url);
- };
- filesaver.readyState = filesaver.INIT;
-
- if (can_use_save_link) {
- object_url = get_URL().createObjectURL(blob);
- setTimeout(function() {
- save_link.href = object_url;
- save_link.download = name;
- click(save_link);
- dispatch_all();
- revoke(object_url);
- filesaver.readyState = filesaver.DONE;
- });
- return;
- }
-
- fs_error();
- },
- FS_proto = FileSaver.prototype,
- saveAs = function(blob, name, no_auto_bom) {
- return new FileSaver(blob, name || blob.name || 'download', no_auto_bom);
- };
- // IE 10+ (native saveAs)
- if (typeof navigator !== 'undefined' && navigator.msSaveOrOpenBlob) {
- return function(blob, name, no_auto_bom) {
- name = name || blob.name || 'download';
-
- if (!no_auto_bom) {
- blob = auto_bom(blob);
- }
- return navigator.msSaveOrOpenBlob(blob, name);
- };
- }
-
- FS_proto.abort = function() {};
- FS_proto.readyState = FS_proto.INIT = 0;
- FS_proto.WRITING = 1;
- FS_proto.DONE = 2;
-
- FS_proto.error = FS_proto.onwritestart = FS_proto.onprogress = FS_proto.onwrite = FS_proto.onabort = FS_proto.onerror = FS_proto.onwriteend = null;
-
- return saveAs;
- })(
- (typeof self !== 'undefined' && self) ||
- (typeof window !== 'undefined' && window) ||
- this.content
- );
-// `self` is undefined in Firefox for Android content script context
-// while `this` is nsIContentFrameMessageManager
-// with an attribute `content` that corresponds to the window
-
-if (typeof module !== 'undefined' && module.exports) {
- module.exports.saveAs = saveAs;
-} else if (typeof define !== 'undefined' && define !== null && define.amd !== null) {
- define('FileSaver.js', function() {
- return saveAs;
- });
-}
-
-/* eslint-disable */
-
-/*
-//
-// Last part of Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// This is a final part of Alasql
-
-/*only-for-browser/*
-if(utils.isCordova || utils.isMeteorServer || utils.isNode ){
- console.warn('It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead.')
-}
-//*/
-
-// FileSaveAs
-alasql.utils.saveAs = saveAs;
-
-};
-
-// Create default database
-new Database("alasql");
-
-// Set default database
-alasql.use("alasql");
-
-return alasql;
-}));
+ function addlogic (mem) {
+ stdlib(mem);
+ stdfn(mem);
+ aggr(mem);
+ }
+ /**
+ @module alasql
+ @version 0.5.0-modular-typescript
+ AlaSQL - JavaScript SQL database
+ © 2014-2018 Andrey Gershun & Mathias Rangel Wulff
+ @license
+ The MIT License (MIT)
+ Copyright 2014-2016 Andrey Gershun (agershun@gmail.com) & Mathias Rangel Wulff (m@rawu.dk)
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+ */
+ var alasql$1 = function () { };
+ var mem = { grammar: alasqlparser, alasql: alasql$1 };
+ mem.alasql = logic(mem);
+ mem.alasql.version = '0.5.0-modular-typescript';
+ mem.alasql.debug = false;
+ addOptions(mem);
+ expandGrammar(mem);
+ addDataStruct(mem);
+ addlogic(mem);
+ mem.alasql.newDatabase('alasql');
+ var main = mem.alasql;
+
+ return main;
+
+})));
diff --git a/dist/alasql.js b/dist/alasql.js
old mode 100755
new mode 100644
index 319c7a8bc3..3bf2098b79
--- a/dist/alasql.js
+++ b/dist/alasql.js
@@ -1,19739 +1,10616 @@
-//! AlaSQL v0.4.6 | © 2014-2016 Andrey Gershun & Mathias Rangel Wulff | License: MIT
-/*
-@module alasql
-@version 0.4.6
-
-AlaSQL - JavaScript SQL database
-© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
-
-@license
-The MIT License (MIT)
-
-Copyright 2014-2016 Andrey Gershun (agershun@gmail.com) & Mathias Rangel Wulff (m@rawu.dk)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-*/
-
-/* eslint-disable */
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global.alasql = factory());
+}(this, (function () { 'use strict';
+
+ var utils = {};
+ /**
+ Convert NaN to undefined
+ @function
+ @param {string} s JavaScript string to be modified
+ @return {string} Covered expression
+
+ @example
+
+ 123 => 123
+ undefined => undefined
+ NaN => undefined
+
+ */
+ utils.n2u = function (s) {
+ return '(y=' + s + ',y===y?y:undefined)';
+ };
+ /**
+ Return undefined if s undefined
+ @param {string} s JavaScript string to be modified
+ @return {string} Covered expression
+
+ @example
+
+ 123,a => a
+ undefined,a => undefined
+ NaN,a => undefined
+
+ */
+ utils.und = function (s, r) {
+ return '(y=' + s + ',typeof y=="undefined"?undefined:' + r + ')';
+ };
+ /**
+ Return always true. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
+ @function
+ @return {boolean} Always true
+ */
+ utils.returnTrue = function () {
+ return true;
+ };
+ /**
+ Return undefined. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
+ @function
+ @return {undefined} Always undefined
+ */
+ utils.returnUndefined = function () { };
+ /**
+ Escape string
+ @function
+ @param {string} s Source string
+ @return {string} Escaped string
+ @example
+
+ Pit\er's => Pit\\er\'s
+
+ */
+ /**
+ Get the global scope
+ Inspired by System.global
+ @return {object} The global scope
+ */
+ utils.global = (function () {
+ if (typeof self !== 'undefined') {
+ return self;
+ }
+ if (typeof window !== 'undefined') {
+ return window;
+ }
+ if (typeof global !== 'undefined') {
+ return global;
+ }
+ return Function('return this')();
+ }());
+ /**
+ * Find out if a function is native to the enviroment
+ * @param {function} Function to check
+ * @return {boolean} True if function is native
+ */
+ utils.isNativeFunction = function (fn) {
+ return typeof fn === 'function' && !!~fn.toString().indexOf('[native code]');
+ };
+ utils.isArray = function (obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+ };
+ /**
+ * Extend object a with properties of b
+ * @function
+ * @param {object} a
+ * @param {object} b
+ * @return {object}
+ */
+ utils.extend = function (a, b) {
+ a = a || {};
+ for (var key in b) {
+ if (b.hasOwnProperty(key)) {
+ a[key] = b[key];
+ }
+ }
+ return a;
+ };
+
+ // Todo: prepend .gen in the code
+ var global$1 = utils.global;
+ var isNativeFunction = utils.isNativeFunction;
+ // const utils : {[key: string]: any} = {};
+ var utils$1 = {};
+ /**
+ Find out if code is running in a web worker enviroment
+ @return {boolean} True if code is running in a web worker enviroment
+ */
+ utils$1.isWebWorker = (function () {
+ try {
+ var importScripts = global$1.importScripts;
+ return isNativeFunction(importScripts);
+ }
+ catch (e) {
+ return false;
+ }
+ })();
+ /**
+ Find out if code is running in a node enviroment
+ @return {boolean} True if code is running in a node enviroment
+ */
+ utils$1.isNode = (function () {
+ try {
+ return isNativeFunction(global$1.process.reallyExit);
+ }
+ catch (e) {
+ return false;
+ }
+ })();
+ /**
+ Find out if code is running in a browser enviroment
+ @return {boolean} True if code is running in a browser enviroment
+ */
+ utils$1.isBrowser = (function () {
+ try {
+ return isNativeFunction(global$1.location.reload);
+ }
+ catch (e) {
+ return false;
+ }
+ })();
+ /**
+ Find out if code is running in a browser with a browserify setup
+ @return {boolean} True if code is running in a browser with a browserify setup
+ */
+ utils$1.isBrowserify = (function () {
+ return utils$1.isBrowser && typeof process !== 'undefined' && process.browser;
+ })();
+ /**
+ Find out if code is running in a browser with a requireJS setup
+ @return {boolean} True if code is running in a browser with a requireJS setup
+ */
+ utils$1.isRequireJS = (function () {
+ return (utils$1.isBrowser &&
+ typeof require === 'function' &&
+ typeof require.specified === 'function');
+ })();
+ /**
+ Find out if code is running with Meteor in the enviroment
+ @return {boolean} True if code is running with Meteor in the enviroment
+
+ @todo Find out if this is the best way to do this
+ */
+ utils$1.isMeteor = (function () {
+ return typeof Meteor !== 'undefined' && Meteor.release;
+ })();
+ /**
+ Find out if code is running on a Meteor client
+ @return {boolean} True if code is running on a Meteor client
+ */
+ utils$1.isMeteorClient = utils$1.isMeteor && Meteor.isClient;
+ /**
+ Find out if code is running on a Meteor server
+ @return {boolean} True if code is running on a Meteor server
+ */
+ utils$1.isMeteorServer = utils$1.isMeteor && Meteor.isServer;
+ /**
+ Find out code is running in a cordovar enviroment
+ @return {boolean} True if code is running in a web worker enviroment
+
+ @todo Find out if this is the best way to do this
+ */
+ utils$1.isCordova = typeof cordova === 'object';
+ utils$1.isReactNative = (function () {
+ var isReact = false;
+ //*not-for-browser/*
+ try {
+ if (typeof require('react-native') === 'object') {
+ isReact = true;
+ }
+ }
+ catch (e) {
+ }
+ //*/
+ return isReact;
+ })();
+ utils$1.hasIndexedDB = !!global$1.indexedDB;
+ /**
+ @function Is this IE9
+ @return {boolean} True for IE9 and false for other browsers
+
+ For IE9 compatibility issues
+ */
+ utils$1.isIE = (function () {
+ /*only-for-browser/*
+ var myNav = navigator.userAgent.toLowerCase();
+ return myNav.indexOf('msie') !== -1 ? parseInt(myNav.split('msie')[1]) : false;
+ //*/
+ return false;
+ })();
+ /**
+ Get path of alasql.js
+ @todo Rewrite and simplify the code. Review, is this function is required separately
+ */
+ utils$1.findAlaSQLPath = function () {
+ /** type {string} Path to alasql library and plugins */
+ if (utils$1.isWebWorker) {
+ return '';
+ /** @todo Check how to get path in worker */
+ }
+ else if (utils$1.isMeteorClient) {
+ return '/packages/dist/';
+ }
+ else if (utils$1.isMeteorServer) {
+ return 'assets/packages/dist/';
+ }
+ else if (utils$1.isNode) {
+ return __dirname;
+ }
+ else if (utils$1.isBrowser) {
+ var sc = document.getElementsByTagName('script');
+ for (var i = 0; i < sc.length; i++) {
+ if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 16);
+ }
+ else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 20);
+ }
+ else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 9);
+ }
+ else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 13);
+ }
+ }
+ }
+ return '';
+ };
+
+ var utils$2 = {};
+ /**
+ Cut BOM first character for UTF-8 files (for merging two files)
+ @param {string} s Source string
+ @return {string} Replaced string
+ */
+ utils$2.cutbom = function (s) {
+ if (s[0] === String.fromCharCode(65279)) {
+ s = s.substr(1);
+ }
+ return s;
+ };
+ // based on joliss/js-string-escape
+ utils$2.escapeq = function (s) {
+ // console.log(s);
+ return ('' + s).replace(/["'\\\n\r\u2028\u2029]/g, function (character) {
+ // Escape all characters not included in SingleStringCharacters and
+ // DoubleStringCharacters on
+ // http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
+ switch (character) {
+ case '"':
+ case "'":
+ case '\\':
+ return '\\' + character;
+ // Four possible LineTerminator characters need to be escaped:
+ case '\n':
+ return '\\n';
+ case '\r':
+ return '\\r';
+ case '\u2028':
+ return '\\u2028';
+ case '\u2029':
+ return '\\u2029';
+ default:
+ }
+ });
+ };
+ /**
+ Double quotes for SQL statements
+ @param {string} s Source string
+ @return {string} Escaped string
+
+ @example
+
+ Piter's => Piter''s
+
+ */
+ utils$2.undoubleq = function (s) {
+ return s.replace(/(\')/g, "''");
+ };
+ /**
+ Replace double quotes with single quote
+ @param {string} s Source string
+ @return {string} Replaced string
+ @example
+
+ Piter''s => Piter's
+
+ */
+ utils$2.doubleq = function (s) {
+ return s.replace(/(\'\')/g, "\\'");
+ };
+ /**
+ Replace sigle quote to escaped single quote
+ @param {string} s Source string
+ @return {string} Replaced string
+
+ @todo Chack this functions
+
+ */
+ utils$2.doubleqq = function (s) {
+ return s.replace(/\'/g, "'");
+ };
+ /**
+ @function Hash a string to signed integer
+ @param {string} source string
+ @return {integer} hash number
+ */
+ // FNV-1a inspired hashing
+ utils$2.hash = function (str) {
+ var hash = 0x811c9dc5, i = str.length;
+ while (i) {
+ hash ^= str.charCodeAt(--i);
+ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
+ }
+ return hash;
+ };
+ utils$2.glob = function (value, pattern) {
+ var i = 0;
+ var s = '^';
+ while (i < pattern.length) {
+ var c = pattern[i], c1 = '';
+ if (i < pattern.length - 1)
+ { c1 = pattern[i + 1]; }
+ if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ }
+ else if (c === '[' || c === ']') {
+ s += c;
+ }
+ else if (c === '*') {
+ s += '.*';
+ }
+ else if (c === '?') {
+ s += '.';
+ }
+ else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ }
+ else {
+ s += c;
+ }
+ i++;
+ }
+ s += '$';
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+ };
+ /**
+ Modify res according modifier
+ @function
+ @param {object} query Query object
+ @param res {object|number|string|boolean} res Data to be converted
+ */
+ utils$2.modify = function (alasql, query, res) {
+ // jshint ignore:line
+ // console.log(arguments);
+ /* If source is a primitive value then return it */
+ if (typeof res === 'undefined' ||
+ typeof res === 'number' ||
+ typeof res === 'string' ||
+ typeof res === 'boolean') {
+ return res;
+ }
+ var modifier = query.modifier || alasql.options.modifier;
+ var columns = query.columns;
+ if (typeof columns === 'undefined' || columns.length === 0) {
+ // Try to create columns
+ if (res.length > 0) {
+ var allcol = {};
+ for (var i = Math.min(res.length, alasql.options.columnlookup || 10) - 1; 0 <= i; i--) {
+ for (var key$1 in res[i]) {
+ allcol[key$1] = true;
+ }
+ }
+ columns = Object.keys(allcol).map(function (columnid) {
+ return { columnid: columnid };
+ });
+ }
+ else {
+ // Cannot recognize columns
+ columns = [];
+ }
+ }
+ // console.log(columns);
+ var key;
+ if (modifier === 'VALUE') {
+ // console.log(222,res);
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ res = res[0][key];
+ }
+ else {
+ res = undefined;
+ }
+ }
+ else if (modifier === 'ROW') {
+ if (res.length > 0) {
+ var a = [];
+ for (var ind in res[0]) {
+ a.push(res[0][ind]);
+ }
+ res = a;
+ }
+ else {
+ res = undefined;
+ }
+ }
+ else if (modifier === 'COLUMN') {
+ var ar = [];
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar.push(res[i][key]);
+ }
+ }
+ res = ar;
+ }
+ else if (modifier === 'MATRIX') {
+ // Returns square matrix of rows
+ var ar = [];
+ for (var i = 0; i < res.length; i++) {
+ var a = [];
+ var r = res[i];
+ for (var j = 0; j < columns.length; j++) {
+ a.push(r[columns[j].columnid]);
+ }
+ ar.push(a);
+ }
+ res = ar;
+ }
+ else if (modifier === 'INDEX') {
+ var ar$1 = {};
+ var val;
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ val = columns[1].columnid;
+ }
+ else {
+ var okeys = Object.keys(res[0]);
+ key = okeys[0];
+ val = okeys[1];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar$1[res[i][key]] = res[i][val];
+ }
+ res = ar$1;
+ // res = arrayOfArrays(res);
+ }
+ else if (modifier === 'RECORDSET') {
+ res = new alasql.Recordset({ columns: columns, data: res });
+ // res = arrayOfArrays(res);
+ }
+ else if (modifier === 'TEXTSTRING') {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ }
+ else {
+ key = Object.keys(res[0])[0];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ res[i] = res[i][key];
+ }
+ res = res.join('\n');
+ // res = arrayOfArrays(res);
+ }
+ return res;
+ };
+
+ var utils$3 = {};
+ /**
+ SQL LIKE emulation
+ @parameter {string} pattern Search pattern
+ @parameter {string} value Searched value
+ @parameter {string} escape Escape character (optional)
+ @return {boolean} If value LIKE pattern ESCAPE escape
+ */
+ utils$3.like = function (pattern, value, escape) {
+ // Verify escape character
+ if (!escape)
+ { escape = ''; }
+ var i = 0;
+ var s = '^';
+ while (i < pattern.length) {
+ var c = pattern[i], c1 = '';
+ if (i < pattern.length - 1)
+ { c1 = pattern[i + 1]; }
+ if (c === escape) {
+ s += '\\' + c1;
+ i++;
+ }
+ else if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ }
+ else if (c === '[' || c === ']') {
+ s += c;
+ }
+ else if (c === '%') {
+ s += '.*';
+ }
+ else if (c === '_') {
+ s += '.';
+ }
+ else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ }
+ else {
+ s += c;
+ }
+ i++;
+ }
+ s += '$';
+ // if(value == undefined) return false;
+ //console.log(s,value,(value||'').search(RegExp(s))>-1);
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+ };
+ /**
+ Strip all comments.
+ @function
+ @param {string} str
+ @return {string}
+ Based om the https://github.com/lehni/uncomment.js/blob/master/uncomment.js
+ I just replaced JavaScript's '//' to SQL's '--' and remove other stuff
+
+ @todo Fixed [aaa/*bbb] for column names
+ @todo Bug if -- comments in the last line
+ @todo Check if it possible to model it with Jison parser
+ @todo Remove unused code
+ */
+ utils$3.uncomment = function (str) {
+ // Add some padding so we can always look ahead and behind by two chars
+ str = ('__' + str + '__').split('');
+ var quote = false, quoteSign,
+ // regularExpression = false,
+ // characterClass = false,
+ blockComment = false, lineComment = false;
+ // preserveComment = false;
+ for (var i = 0, l = str.length; i < l; i++) {
+ // console.log(i,str[i]);
+ // When checking for quote escaping, we also need to check that the
+ // escape sign itself is not escaped, as otherwise '\\' would cause
+ // the wrong impression of an unclosed string:
+ var unescaped = str[i - 1] !== '\\' || str[i - 2] === '\\';
+ if (quote) {
+ if (str[i] === quoteSign && unescaped) {
+ quote = false;
+ }
+ /*/* // } else if (regularExpression) {
+ // Make sure '/'' inside character classes is not considered the end
+ // of the regular expression.
+ // if (str[i] === '[' && unescaped) {
+ // characterClass = true;
+ // } else if (str[i] === ']' && unescaped && characterClass) {
+ // characterClass = false;
+ // } else if (str[i] === '/' && unescaped && !characterClass) {
+ // regularExpression = false;
+ // }
+ */
+ }
+ else if (blockComment) {
+ // Is the block comment closing?
+ if (str[i] === '*' && str[i + 1] === '/') {
+ // if (!preserveComment)
+ str[i] = str[i + 1] = '';
+ blockComment /* = preserveComment*/ = false;
+ // Increase by 1 to skip closing '/', as it would be mistaken
+ // for a regexp otherwise
+ i++;
+ }
+ else {
+ //if (!preserveComment) {
+ str[i] = '';
+ }
+ }
+ else if (lineComment) {
+ // One-line comments end with the line-break
+ if (str[i + 1] === '\n' || str[i + 1] === '\r') {
+ lineComment = false;
+ }
+ str[i] = '';
+ }
+ else {
+ if (str[i] === '"' || str[i] === "'") {
+ quote = true;
+ quoteSign = str[i];
+ }
+ else if (str[i] === '[' && str[i - 1] !== '@') {
+ quote = true;
+ quoteSign = ']';
+ // } else if (str[i] === '-' && str[i + 1] === '-') {
+ // str[i] = '';
+ // lineComment = true;
+ }
+ else if (str[i] === '/' && str[i + 1] === '*') {
+ // Do not filter out conditional comments /*@ ... */
+ // and comments marked as protected /*! ... */
+ // preserveComment = /[@!]/.test(str[i + 2]);
+ // if (!preserveComment)
+ str[i] = '';
+ blockComment = true;
+ // console.log('block');
+ /*/* // } else if (str[i + 1] === '/') {
+ // str[i] = '';
+ // lineComment = true;
+ // } else {
+ // We need to make sure we don't count normal divisions as
+ // regular expresions. Matching this properly is difficult,
+ // but if we assume that normal division always have a space
+ // after /, a simple check for white space or '='' (for /=)
+ // is enough to distinguish divisions from regexps.
+ // TODO: Develop a proper check for regexps.
+ // if (!/[\s=]/.test(str[i + 1])) {
+ // regularExpression = true;
+ // }
+ // }
+ */
+ }
+ }
+ }
+ // Remove padding again.
+ str = str.join('').slice(2, -2);
+ /*/*
+ // Strip empty lines that contain only white space and line breaks, as they
+ // are left-overs from comment removal.
+ str = str.replace(/^[ \t]+(\r\n|\n|\r)/gm, function(all) {
+ return '';
+ });
+ // Replace a sequence of more than two line breaks with only two.
+ str = str.replace(/(\r\n|\n|\r)(\r\n|\n|\r)+/g, function(all, lineBreak) {
+ return lineBreak + lineBreak;
+ });
+ */
+ return str;
+ };
+
+ var cutbom = utils$2.cutbom;
+ var utils$4 = {};
+ /**
+ Load text file from anywhere
+ @param {string|object} path File path or HTML event
+ @param {boolean} asy True - async call, false - sync call
+ @param {function} success Success function
+ @param {function} error Error function
+ @return {string} Read data
+
+ @todo Define Event type
+ @todo Smaller if-else structures.
+ */
+ utils$4.loadFile = function (path, asy, success, error) {
+ var data, fs;
+ if (utils$1.isNode || utils$1.isMeteorServer) {
+ //*not-for-browser/*
+ if (utils$4.isMeteor) {
+ fs = Npm.require('fs');
+ }
+ else {
+ fs = require('fs');
+ }
+ // If path is empty, than read data from stdin (for Node)
+ if (typeof path === 'undefined') {
+ var buff = '';
+ process.stdin.setEncoding('utf8');
+ process.stdin.on('readable', function () {
+ var chunk = process.stdin.read();
+ if (chunk !== null) {
+ buff += chunk.toString();
+ }
+ });
+ process.stdin.on('end', function () {
+ success(cutbom(buff));
+ });
+ }
+ else {
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request(path, function (err, response, body) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(body.toString()));
+ });
+ }
+ else {
+ //If async callthen call async
+ if (asy) {
+ fs.readFile(path, function (err, data) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(data.toString()));
+ });
+ }
+ else {
+ // Call sync version
+ data = fs.readFileSync(path);
+ success(cutbom(data.toString()));
+ }
+ }
+ }
+ }
+ else if (utils$4.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.readFile(path, 'utf8')
+ .then(function (contents) {
+ success(cutbom(contents));
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ //*/
+ }
+ else if (utils$4.isCordova) {
+ /* If Cordova */
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ fileEntry.file(function (file) {
+ var fileReader = new FileReader();
+ fileReader.onloadend = function (e) {
+ success(cutbom(this.result));
+ };
+ fileReader.readAsText(file);
+ });
+ });
+ });
+ /** @todo Check eliminated code below */
+ /*/*
+
+ var paths = path.split('/');
+ var filename = paths[paths.length-1];
+ var dirpath = path.substr(0,path.length-filename.length);
+ // console.log('CORDOVA',filename,dirpath);
+ //return success('[{"a":"'+filename+'"}]');
+
+ window.resolveLocalFileSystemURL(dirpath, function(dir) {
+ dir.getFile(filename, null, function(file) {
+ file.file(function(file) {
+ var reader = new FileReader();
+ // console.log('READ FILE 2');
+ reader.onloadend = function(e) {
+ // console.log('READ FILE 3',this.result);
+ success(this.result);
+ };
+ reader.readAsText(file);
+ });
+ });
+ });
+ */
+ }
+ else {
+ /* For string */
+ if (typeof path === 'string') {
+ // For browser read from tag
+ /*
+ SELECT * FROM TXT('#one') -- read data from HTML element with id="one"
+ */
+ if (path.substr(0, 1) === '#' && typeof document !== 'undefined') {
+ data = document.querySelector(path).textContent;
+ success(data);
+ }
+ else {
+ /*
+ Simply read file from HTTP request, like:
+ SELECT * FROM TXT('http://alasql.org/README.md');
+ */
+ var xhr = new XMLHttpRequest();
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200) {
+ if (success) {
+ success(cutbom(xhr.responseText));
+ }
+ }
+ else if (error) {
+ error(xhr);
+ }
+ // Todo: else...?
+ }
+ };
+ xhr.open('GET', path, asy); // Async
+ xhr.responseType = 'text';
+ xhr.send();
+ }
+ }
+ else if (path instanceof Event) {
+ /*
+ For browser read from files input element
+
+
+ */
+ /** @type {array} List of files from element */
+ var files = path.target.files;
+ /** type {object} */
+ var reader = new FileReader();
+ /** type {string} */
+ var name = files[0].name;
+ reader.onload = function (e) {
+ var data = e.target.result;
+ success(cutbom(data));
+ };
+ reader.readAsText(files[0]);
+ }
+ }
+ };
+ /**
+ @function Load binary file from anywhere
+ @param {string} path File path
+ @param {boolean} asy True - async call, false - sync call
+ @param {function} success Success function
+ @param {function} error Error function
+ @return 1 for Async, data - for sync version
-"use strict";
+ @todo merge functionality from loadFile and LoadBinaryFile
+ */
+ utils$4.loadBinaryFile = function (path, asy, success, error) {
+ var fs;
+ if (utils$4.isNode || utils$4.isMeteorServer) {
+ //*not-for-browser/*
+ if (utils$4.isMeteorServer) {
+ fs = Npm.require('fs'); // For Meteor
+ }
+ else {
+ fs = require('fs');
+ }
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request({ url: path, encoding: null }, function (err, response, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ }
+ else {
+ if (asy) {
+ fs.readFile(path, function (err, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ }
+ else {
+ var data = fs.readFileSync(path);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ }
+ }
+ }
+ else if (utils$4.isReactNative) {
+ // If ReactNative
+ //var RNFS = require('react-native-fs');
+ var RNFetchBlob = require('react-native-fetch-blob').default;
+ var dirs = RNFetchBlob.fs.dirs;
+ //should use readStream instead if the file is large
+ RNFetchBlob.fs.readFile(path, 'base64').then(function (data) {
+ //RNFetchBlob.base64.decode(data) //need more test on excel
+ success(data);
+ });
+ //*/
+ }
+ else {
+ if (typeof path === 'string') {
+ // For browser
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', path, asy); // Async
+ xhr.responseType = 'arraybuffer';
+ xhr.onload = function () {
+ var data = new Uint8Array(xhr.response);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ };
+ // xhr.responseType = "blob";
+ xhr.send();
+ }
+ else if (path instanceof Event) {
+ // console.log("event");
+ var files = path.target.files;
+ var reader = new FileReader();
+ var name = files[0].name;
+ reader.onload = function (e) {
+ var data = e.target.result;
+ success(data);
+ };
+ reader.readAsArrayBuffer(files[0]);
+ }
+ else if (path instanceof Blob) {
+ success(path);
+ }
+ }
+ };
+ var removeFile = (utils$4.removeFile = function (path, cb) {
+ if (utils$4.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ fs.remove(path, cb);
+ }
+ else if (utils$4.isCordova) {
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ fileEntry.remove(cb);
+ if (cb)
+ { cb(); } // jshint ignore:line
+ }, function () {
+ if (cb)
+ { cb(); } // jshint ignore:line
+ });
+ });
+ }
+ else if (utils$4.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function () {
+ if (cb)
+ { cb(); }
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ //*/
+ }
+ else {
+ throw new Error('You can remove files only in Node.js and Apache Cordova');
+ }
+ });
+ // Todo: check if it makes sense to support cordova and Meteor server
+ utils$4.deleteFile = function (path, cb) {
+ //*not-for-browser/*
+ if (utils$4.isNode) {
+ var fs = require('fs');
+ fs.unlink(path, cb);
+ }
+ else if (utils$4.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function () {
+ if (cb)
+ { cb(); }
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ }
+ //*/
+ };
+ utils$4.autoExtFilename = function (filename, ext, config) {
+ config = config || {};
+ if (typeof filename !== 'string' ||
+ filename.match(/^[A-z]+:\/\/|\n|\..{2,4}$/) ||
+ config.autoExt === 0 ||
+ config.autoExt === false) {
+ return filename;
+ }
+ return filename + '.' + ext;
+ };
+ utils$4.fileExists = function (path, cb) {
+ if (utils$4.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ fs.exists(path, cb);
+ }
+ else if (utils$4.isCordova) {
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ fileSystem.root.getFile(path, { create: false }, function (fileEntry) {
+ cb(true);
+ }, function () {
+ cb(false);
+ });
+ });
+ }
+ else if (utils$4.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.exists(path)
+ .then(function (yes) {
+ if (cb)
+ { cb(yes); }
+ })
+ .catch(function (err) {
+ throw err;
+ });
+ //*/
+ }
+ else {
+ // TODO Cordova, etc.
+ throw new Error('You can use exists() only in Node.js or Apach Cordova');
+ }
+ };
+ /**
+ Save text file from anywhere
+ @param {string} path File path
+ @param {array} data Data object
+ @param {function} cb Callback
+ @param {object=} opts
+ */
+ utils$4.saveFile = function (path, data, cb, opts) {
+ var res = 1;
+ if (path === undefined) {
+ //
+ // Return data into result variable
+ // like: alasql('SELECT * INTO TXT() FROM ?',[data]);
+ //
+ res = data;
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ else {
+ if (utils$4.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ data = fs.writeFileSync(path, data);
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ else if (utils$4.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.writeFile(path, data)
+ .then(function (success) {
+ //, 'utf8'
+ if (cb)
+ { res = cb(res); }
+ })
+ .catch(function (err) {
+ console.error(err.message);
+ });
+ }
+ else if (utils$4.isCordova) {
+ utils$4.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
+ // alasql.utils.removeFile(path,function(){
+ fileSystem.root.getFile(path, { create: true }, function (fileEntry) {
+ fileEntry.createWriter(function (fileWriter) {
+ fileWriter.onwriteend = function () {
+ if (cb) {
+ res = cb(res);
+ }
+ };
+ fileWriter.write(data);
+ });
+ });
+ });
+ //*/
+ /*/*
+ } else if((typeof cordova == 'object') && cordova.file) {
+ // console.log('saveFile 1');
+ // Cordova
+ var paths = path.split('/');
+ var filename = paths[paths.length-1];
+ var dirpath = path.substr(0,path.length-filename.length);
+ // console.log('CORDOVA',filename,dirpath);
+ //return success('[{"a":"'+filename+'"}]');
+
+ window.resolveLocalFileSystemURL(dirpath, function(dir) {
+ // console.log('saveFile 2');
+
+ dir.getFile(filename, {create:true}, function(file) {
+ // console.log('saveFile 3');
+
+ // file.file(function(file) {
+ // console.log('saveFile 4');
+
+ file.createWriter(function(fileWriter) {
+
+ // fileWriter.seek(fileWriter.length);
+
+ var blob = new Blob([data], {type:'text/plain'});
+ fileWriter.write(blob);
+ fileWriter.onwriteend = function(){
+ if(cb) cb();
+ };
+ // console.log("ok, in theory i worked");
+ });
+ */
+ /*/*
+ // Corodva
+ function writeFinish() {
+ // ... your done code here...
+ return cb()
+ };
+ var written = 0;
+ var BLOCK_SIZE = 1*1024*1024; // write 1M every time of write
+ function writeNext(cbFinish) {
+ var sz = Math.min(BLOCK_SIZE, data.length - written);
+ var sub = data.slice(written, written+sz);
+ writer.write(sub);
+ written += sz;
+ writer.onwrite = function(evt) {
+ if (written < data.length)
+ writeNext(cbFinish);
+ else
+ cbFinish();
+ };
+ }
+ writeNext(writeFinish);
+ }
+ */
+ // });
+ // });
+ // });
+ }
+ else {
+ if (utils$4.isIE() === 9) {
+ // Solution was taken from
+ // http://megatuto.com/formation-JAVASCRIPT.php?JAVASCRIPT_Example=Javascript+Save+CSV+file+in+IE+8/IE+9+without+using+window.open()+Categorie+javascript+internet-explorer-8&category=&article=7993
+ // var URI = 'data:text/plain;charset=utf-8,';
+ // Prepare data
+ var ndata = data.replace(/\r\n/g, 'A;D;');
+ ndata = ndata.replace(/\n/g, 'D;');
+ ndata = ndata.replace(/\t/g, ' ');
+ var testlink = utils$4.global.open('about:blank', '_blank');
+ testlink.document.write(ndata); //fileData has contents for the file
+ testlink.document.close();
+ testlink.document.execCommand('SaveAs', false, path);
+ testlink.close();
+ }
+ else {
+ var opt = {
+ disableAutoBom: false,
+ };
+ utils$4.extend(opt, opts);
+ var blob = new Blob([data], { type: 'text/plain;charset=utf-8' });
+ utils$4.saveAs(blob, path, opt.disableAutoBom);
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ }
+ }
+ return res;
+ };
+
+ var domTools = { domEmptyChildren: function (container) {
+ var len = container.childNodes.length;
+ while (len--) {
+ container.removeChild(container.lastChild);
+ }
+ } };
+
+ var utils$5 = {};
+ utils$5.getXLSX = function () {
+ var XLSX = null;
+ /* If require() shuold be supported else take from global scope */
+ if (utils$1.isNode || utils$1.isBrowserify || utils$1.isMeteorServer) {
+ //*not-for-browser/*
+ XLSX = require('xlsx') || null;
+ //*/
+ }
+ else {
+ XLSX = global.XLSX || null;
+ }
+ if (null === XLSX) {
+ throw new Error('Please include the xlsx.js library');
+ }
+ return XLSX;
+ };
+ /**
+ Excel:convert number to Excel column, like 1 => 'A'
+ @param {integer} i Column number, starting with 0
+ @return {string} Column name, starting with 'A'
+ */
+ utils$5.xlsnc = function (i) {
+ var addr = String.fromCharCode(65 + (i % 26));
+ if (i >= 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ if (i > 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ }
+ }
+ return addr;
+ };
+ /**
+ Excel:conver Excel column name to number
+ @param {string} s Column number, like 'A' or 'BE'
+ @return {string} Column name, starting with 0
+ */
+ utils$5.xlscn = function (s) {
+ var n = s.charCodeAt(0) - 65;
+ if (s.length > 1) {
+ n = (n + 1) * 26 + s.charCodeAt(1) - 65;
+ // console.log(n, s.charCodeAt(0)-65, s.charCodeAt(1)-65);
+ if (s.length > 2) {
+ n = (n + 1) * 26 + s.charCodeAt(2) - 65;
+ }
+ }
+ return n;
+ };
+
+ var utils$6 = Object.assign({}, utils, utils$1, utils$2, utils$3, utils$4, domTools, utils$3, utils$5);
+
+ /**
+ Database class for Alasql.js
+ */
+ var hash$1 = function (x) { return x; };
+ function addOptions (mem) {
+ // Initial parameters
+ var alasql = mem.alasql;
+ /**
+ Jison parser
+ */
+ //alasql.parser = alasqlparser;
+ /*/* This is not working :-/ * /
+ alasql.parser.parseError = function(str, hash) {
+ throw new Error('Have you used a reserved keyword without `escaping` it?\n' + str);
+ };/*
+
+ /**
+ Jison parser
+ @param {string} sql SQL statement
+ @return {object} AST (Abstract Syntax Tree)
+
+
+ @todo Create class AST
+ @todo Add other parsers
+
+ @example
+ alasql.parse = function(sql) {
+ // My own parser here
+ }
+ */
+ alasql.parse = function (sql) {
+ return mem.grammar.parse(utils$6.uncomment(sql));
+ };
+ /**
+ List of engines of external databases
+ @type {object}
+ @todo Create collection type
+ */
+ alasql.engines = {};
+ /**
+ List of databases
+ @type {object}
+ */
+ alasql.databases = {};
+ /**
+ Number of databases
+ @type {number}
+ */
+ alasql.databasenum = 0;
+ /**
+ Alasql options object
+ */
+ alasql.options = {};
+ alasql.options.errorlog = false; // Log or throw error
+ alasql.options.valueof = false; // Use valueof in orderfn
+ alasql.options.dropifnotexists = false; // DROP database in any case
+ alasql.options.datetimeformat = 'sql'; // How to handle DATE and DATETIME types
+ // Another value is 'javascript'
+ alasql.options.casesensitive = true; // Table and column names are case sensitive and converted to lower-case
+ alasql.options.logtarget = 'output'; // target for log. Values: 'console', 'output', 'id' of html tag
+ alasql.options.logprompt = true; // Print SQL at log
+ alasql.options.progress = false; // Callback for async queries progress
+ // Default modifier
+ // values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX
+ alasql.options.modifier = undefined;
+ // How many rows to lookup to define columns
+ alasql.options.columnlookup = 10;
+ // Create vertex if not found
+ alasql.options.autovertex = true;
+ // Use dbo as current database (for partial T-SQL comaptibility)
+ alasql.options.usedbo = true;
+ // AUTOCOMMIT ON | OFF
+ alasql.options.autocommit = true;
+ // Use cache
+ alasql.options.cache = true;
+ // Compatibility flags
+ alasql.options.tsql = true;
+ alasql.options.mysql = true;
+ alasql.options.postgres = true;
+ alasql.options.oracle = true;
+ alasql.options.sqlite = true;
+ alasql.options.orientdb = true;
+ // for SET NOCOUNT OFF
+ alasql.options.nocount = false;
+ // Check for NaN and convert it to undefined
+ alasql.options.nan = false;
+ alasql.options.joinstar = 'overwrite'; // Option for SELECT * FROM a,b
+ //alasql.options.worker = false;
+ // Variables
+ alasql.vars = {};
+ alasql.declares = {};
+ alasql.prompthistory = [];
+ alasql.plugins = {}; // If plugin already loaded
+ alasql.from = {}; // FROM functions
+ alasql.into = {}; // INTO functions
+ alasql.fn = {};
+ alasql.aggr = {};
+ alasql.busy = 0;
+ // Cache
+ alasql.MAXSQLCACHESIZE = 10000;
+ alasql.DEFAULTDATABASEID = 'alasql';
+ /* WebWorker */
+ alasql.lastid = 0;
+ alasql.buffer = {};
+ /**
+ Select current database
+ @param {string} databaseid Selected database identificator
+ */
+ alasql.use = function (databaseid) {
+ if (!databaseid) {
+ databaseid = alasql.DEFAULTDATABASEID;
+ }
+ if (alasql.useid === databaseid) {
+ return;
+ }
+ alasql.useid = databaseid;
+ var db = alasql.databases[alasql.useid];
+ alasql.tables = db.tables;
+ // alasql.fn = db.fn;
+ db.resetSqlCache();
+ if (alasql.options.usedbo) {
+ alasql.databases.dbo = db; // Operator???
+ }
+ };
+ alasql.autoval = function (tablename, colname, getNext, databaseid) {
+ var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];
+ if (!db.tables[tablename]) {
+ throw new Error('Tablename not found: ' + tablename);
+ }
+ if (!db.tables[tablename].identities[colname]) {
+ throw new Error('Colname not found: ' + colname);
+ }
+ if (getNext) {
+ return db.tables[tablename].identities[colname].value || null;
+ }
+ return (db.tables[tablename].identities[colname].value -
+ db.tables[tablename].identities[colname].step || null);
+ };
+ /**
+ Run single SQL statement on current database
+ */
+ alasql.exec = function (sql, params, cb, scope) {
+ // Avoid setting params if not needed even with callback
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = {};
+ }
+ delete alasql.error;
+ params = params || {};
+ if (alasql.options.errorlog) {
+ try {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ }
+ catch (err) {
+ alasql.error = err;
+ if (cb) {
+ cb(null, alasql.error);
+ }
+ }
+ }
+ else {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ }
+ };
+ /**
+ Run SQL statement on specific database
+ */
+ alasql.dexec = function (databaseid, sql, params, cb, scope) {
+ var db = alasql.databases[databaseid];
+ // if(db.databaseid != databaseid) console.trace('got!');
+ // console.log(3, databaseid, alasql.databases);
+ var hh;
+ // Create hash
+ if (alasql.options.cache) {
+ hh = hash$1(sql);
+ var statement = db.sqlCache[hh];
+ // If database structure was not changed since last time return cache
+ if (statement && db.dbversion === statement.dbversion) {
+ return statement(params, cb);
+ }
+ }
+ // Create AST
+ var ast = alasql.parse(sql);
+ if (!ast.statements) {
+ return;
+ }
+ if (0 === ast.statements.length) {
+ return 0;
+ }
+ else if (1 === ast.statements.length) {
+ if (ast.statements[0].compile) {
+ // Compile and Execute
+ statement = ast.statements[0].compile(databaseid, params);
+ if (!statement) {
+ return;
+ }
+ statement.sql = sql;
+ statement.dbversion = db.dbversion;
+ if (alasql.options.cache) {
+ // Secure sqlCache size
+ if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
+ db.resetSqlCache();
+ }
+ db.sqlCacheSize++;
+ db.sqlCache[hh] = statement;
+ }
+ var res = (alasql.res = statement(params, cb, scope));
+ return res;
+ }
+ else {
+ // console.log(ast.statements[0]);
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ res = alasql.res = ast.statements[0].execute(databaseid, params, cb, scope);
+ return res;
+ }
+ }
+ else {
+ // Multiple statements
+ if (cb) {
+ alasql.adrun(databaseid, ast, params, cb, scope);
+ }
+ else {
+ return alasql.drun(databaseid, ast, params, cb, scope);
+ }
+ }
+ };
+ /**
+ Run multiple statements and return array of results sync
+ */
+ alasql.drun = function (databaseid, ast, params, cb, scope) {
+ var useid = alasql.useid;
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+ var res = [];
+ for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {
+ if (ast.statements[i]) {
+ if (ast.statements[i].compile) {
+ var statement = ast.statements[i].compile(alasql.useid);
+ res.push((alasql.res = statement(params, null, scope)));
+ }
+ else {
+ alasql.precompile(ast.statements[i], alasql.useid, params);
+ res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));
+ }
+ }
+ }
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+ if (cb) {
+ cb(res);
+ }
+ alasql.res = res;
+ return res;
+ };
+ /**
+ Run multiple statements and return array of results async
+ */
+ alasql.adrun = function (databaseid, ast, params, cb, scope) {
+ var idx = 0;
+ var noqueries = ast.statements.length;
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ // alasql.busy++;
+ var useid = alasql.useid;
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+ var res = [];
+ var adrunone = function (data) {
+ if (data !== undefined) {
+ res.push(data);
+ }
+ var astatement = ast.statements.shift();
+ if (!astatement) {
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+ cb(res);
+ // alasql.busy--;
+ // if(alasql.busy<0) alasql.busy = 0;
+ }
+ else {
+ if (astatement.compile) {
+ var statement = astatement.compile(alasql.useid);
+ statement(params, adrunone, scope);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ }
+ else {
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ astatement.execute(alasql.useid, params, adrunone);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ }
+ }
+ };
+ adrunone(); /** @todo Check, why data is empty here */
+ };
+ /**
+ Compile statement to JavaScript function
+ @param {string} sql SQL statement
+ @param {string} databaseid Database identificator
+ @return {functions} Compiled statement functions
+ */
+ alasql.compile = function (sql, databaseid) {
+ databaseid = databaseid || alasql.useid;
+ var ast = alasql.parse(sql); // Create AST
+ if (1 === ast.statements.length) {
+ var statement = ast.statements[0].compile(databaseid);
+ statement.promise = function (params) {
+ return new Promise(function (resolve, reject) {
+ statement(params, function (data, err) {
+ if (err) {
+ reject(err);
+ }
+ else {
+ resolve(data);
+ }
+ });
+ });
+ };
+ return statement;
+ /*/*
+ if(kind == 'value') {
+ return function(params,cb) {
+ var res = statementfn(params);
+ var key = Object.keys(res[0])[0];
+ if(cb) cb(res[0][key]);
+ return res[0][key];
+ };
+ } else if(kind == 'single') {
+ return function(params,cb) {
+ var res = statementfn(params);
+ if(cb) cb(res[0]);
+ return res[0];
+ }
+ } else if(kind == 'row') {
+ return function(params,cb) {
+ var res = statementfn(params,cb);
+ var a = [];
+ for(var key in res[0]) {
+ a.push(res[0][key]);
+ };
+ if(cb) cb(a);
+ return a;
+ }
+ } else if(kind == 'column') {
+ return function(params,cb) {
+ var res = statementfn(params,cb);
+ var ar = [];
+ var key = Object.keys(res)[0];
+ for(var i=0, ilen=res.length; i number},
+ terminals_: {associative list: number ==> name},
+ productions_: [...],
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
+ table: [...],
+ defaultActions: {...},
+ parseError: function(str, hash),
+ parse: function(input),
+
+ lexer: {
+ EOF: 1,
+ parseError: function(str, hash),
+ setInput: function(input),
+ input: function(),
+ unput: function(str),
+ more: function(),
+ less: function(n),
+ pastInput: function(),
+ upcomingInput: function(),
+ showPosition: function(),
+ test_match: function(regex_match_array, rule_index),
+ next: function(),
+ lex: function(),
+ begin: function(condition),
+ popState: function(),
+ _currentRules: function(),
+ topState: function(),
+ pushState: function(condition),
+
+ options: {
+ ranges: boolean (optional: true ==> token location info will include a .range[] member)
+ flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
+ backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
+ },
+
+ performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
+ rules: [...],
+ conditions: {associative list: name ==> set},
+ }
+ }
-/**
- Debug flag
- @type {boolean}
-*/
-alasql.debug = undefined; // Initial debug variable
-//*only-for-browser/*
-var require = function(){return null}; // as alasqlparser.js is generated, we can not "remove" referenses to
-var __dirname = '';
-//*/
+ token location info (@$, _$, etc.): {
+ first_line: n,
+ last_line: n,
+ first_column: n,
+ last_column: n,
+ range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
+ }
-/* parser generated by jison 0.4.18 */
-/*
- Returns a Parser object of the following structure:
- Parser: {
- yy: {}
+ the parseError function receives a 'hash' object with these members for lexer and parser errors: {
+ text: (matched text)
+ token: (the produced terminal token, if any)
+ line: (yylineno)
+ }
+ while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
+ loc: (yylloc)
+ expected: (string describing the set of expected tokens)
+ recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
+ }
+ */
+ var alasqlparser = (function () {
+ var o = function (k, v, o, l) { for (o = o || {}, l = k.length; l--; o[k[l]] = v)
+ { } return o; }, $V0 = [2, 13], $V1 = [1, 104], $V2 = [1, 102], $V3 = [1, 103], $V4 = [1, 6], $V5 = [1, 42], $V6 = [1, 79], $V7 = [1, 76], $V8 = [1, 94], $V9 = [1, 93], $Va = [1, 69], $Vb = [1, 101], $Vc = [1, 85], $Vd = [1, 64], $Ve = [1, 71], $Vf = [1, 84], $Vg = [1, 66], $Vh = [1, 70], $Vi = [1, 68], $Vj = [1, 61], $Vk = [1, 74], $Vl = [1, 62], $Vm = [1, 67], $Vn = [1, 83], $Vo = [1, 77], $Vp = [1, 86], $Vq = [1, 87], $Vr = [1, 81], $Vs = [1, 82], $Vt = [1, 80], $Vu = [1, 88], $Vv = [1, 89], $Vw = [1, 90], $Vx = [1, 91], $Vy = [1, 92], $Vz = [1, 98], $VA = [1, 65], $VB = [1, 78], $VC = [1, 72], $VD = [1, 96], $VE = [1, 97], $VF = [1, 63], $VG = [1, 73], $VH = [1, 108], $VI = [1, 107], $VJ = [10, 306, 602, 764], $VK = [10, 306, 310, 602, 764], $VL = [1, 115], $VM = [1, 116], $VN = [1, 117], $VO = [1, 118], $VP = [1, 119], $VQ = [130, 353, 410], $VR = [1, 127], $VS = [1, 126], $VT = [1, 134], $VU = [1, 164], $VV = [1, 175], $VW = [1, 178], $VX = [1, 173], $VY = [1, 181], $VZ = [1, 185], $V_ = [1, 160], $V$ = [1, 182], $V01 = [1, 169], $V11 = [1, 171], $V21 = [1, 174], $V31 = [1, 183], $V41 = [1, 166], $V51 = [1, 193], $V61 = [1, 188], $V71 = [1, 189], $V81 = [1, 194], $V91 = [1, 195], $Va1 = [1, 196], $Vb1 = [1, 197], $Vc1 = [1, 198], $Vd1 = [1, 199], $Ve1 = [1, 200], $Vf1 = [1, 201], $Vg1 = [1, 202], $Vh1 = [1, 176], $Vi1 = [1, 177], $Vj1 = [1, 179], $Vk1 = [1, 180], $Vl1 = [1, 186], $Vm1 = [1, 192], $Vn1 = [1, 184], $Vo1 = [1, 187], $Vp1 = [1, 172], $Vq1 = [1, 170], $Vr1 = [1, 191], $Vs1 = [1, 203], $Vt1 = [2, 4, 5], $Vu1 = [2, 471], $Vv1 = [1, 206], $Vw1 = [1, 211], $Vx1 = [1, 220], $Vy1 = [1, 216], $Vz1 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VA1 = [2, 4, 5, 10, 72, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], $VB1 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VC1 = [1, 249], $VD1 = [1, 256], $VE1 = [1, 265], $VF1 = [1, 270], $VG1 = [1, 269], $VH1 = [2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 149, 152, 154, 156, 162, 168, 169, 179, 180, 181, 183, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], $VI1 = [2, 162], $VJ1 = [1, 281], $VK1 = [10, 74, 78, 306, 310, 505, 602, 764], $VL1 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 193, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 302, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 344, 356, 368, 369, 370, 373, 374, 386, 389, 396, 400, 401, 402, 403, 404, 405, 406, 408, 409, 417, 418, 420, 424, 426, 433, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 514, 515, 516, 517, 602, 764], $VM1 = [2, 4, 5, 10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VN1 = [1, 562], $VO1 = [1, 564], $VP1 = [2, 503], $VQ1 = [1, 569], $VR1 = [1, 580], $VS1 = [1, 583], $VT1 = [1, 584], $VU1 = [10, 78, 89, 132, 137, 146, 189, 296, 306, 310, 470, 602, 764], $VV1 = [10, 74, 306, 310, 602, 764], $VW1 = [2, 567], $VX1 = [1, 602], $VY1 = [2, 4, 5, 156], $VZ1 = [1, 640], $V_1 = [1, 612], $V$1 = [1, 646], $V02 = [1, 647], $V12 = [1, 620], $V22 = [1, 631], $V32 = [1, 618], $V42 = [1, 626], $V52 = [1, 619], $V62 = [1, 627], $V72 = [1, 629], $V82 = [1, 621], $V92 = [1, 622], $Va2 = [1, 641], $Vb2 = [1, 638], $Vc2 = [1, 639], $Vd2 = [1, 615], $Ve2 = [1, 617], $Vf2 = [1, 609], $Vg2 = [1, 610], $Vh2 = [1, 611], $Vi2 = [1, 613], $Vj2 = [1, 614], $Vk2 = [1, 616], $Vl2 = [1, 623], $Vm2 = [1, 624], $Vn2 = [1, 628], $Vo2 = [1, 630], $Vp2 = [1, 632], $Vq2 = [1, 633], $Vr2 = [1, 634], $Vs2 = [1, 635], $Vt2 = [1, 636], $Vu2 = [1, 642], $Vv2 = [1, 643], $Vw2 = [1, 644], $Vx2 = [1, 645], $Vy2 = [2, 287], $Vz2 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VA2 = [2, 359], $VB2 = [1, 668], $VC2 = [1, 678], $VD2 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VE2 = [1, 694], $VF2 = [1, 703], $VG2 = [1, 702], $VH2 = [2, 4, 5, 10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VI2 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VJ2 = [2, 202], $VK2 = [1, 725], $VL2 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 183, 232, 245, 247, 306, 310, 602, 764], $VM2 = [2, 163], $VN2 = [1, 728], $VO2 = [2, 4, 5, 112], $VP2 = [1, 741], $VQ2 = [1, 760], $VR2 = [1, 740], $VS2 = [1, 739], $VT2 = [1, 734], $VU2 = [1, 735], $VV2 = [1, 737], $VW2 = [1, 738], $VX2 = [1, 742], $VY2 = [1, 743], $VZ2 = [1, 744], $V_2 = [1, 745], $V$2 = [1, 746], $V03 = [1, 747], $V13 = [1, 748], $V23 = [1, 749], $V33 = [1, 750], $V43 = [1, 751], $V53 = [1, 752], $V63 = [1, 753], $V73 = [1, 754], $V83 = [1, 755], $V93 = [1, 756], $Va3 = [1, 757], $Vb3 = [1, 759], $Vc3 = [1, 761], $Vd3 = [1, 762], $Ve3 = [1, 763], $Vf3 = [1, 764], $Vg3 = [1, 765], $Vh3 = [1, 766], $Vi3 = [1, 767], $Vj3 = [1, 770], $Vk3 = [1, 771], $Vl3 = [1, 772], $Vm3 = [1, 773], $Vn3 = [1, 774], $Vo3 = [1, 775], $Vp3 = [1, 776], $Vq3 = [1, 777], $Vr3 = [1, 778], $Vs3 = [1, 779], $Vt3 = [1, 780], $Vu3 = [1, 781], $Vv3 = [74, 89, 189], $Vw3 = [10, 74, 78, 154, 187, 230, 297, 306, 310, 343, 356, 368, 369, 373, 374, 602, 764], $Vx3 = [1, 798], $Vy3 = [10, 74, 78, 300, 306, 310, 602, 764], $Vz3 = [1, 799], $VA3 = [1, 805], $VB3 = [1, 806], $VC3 = [1, 810], $VD3 = [10, 74, 78, 306, 310, 602, 764], $VE3 = [2, 4, 5, 77, 131, 132, 137, 143, 145, 149, 152, 154, 156, 179, 180, 181, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 312, 317, 420, 424], $VF3 = [10, 72, 78, 93, 98, 107, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VG3 = [2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 149, 152, 154, 156, 162, 164, 168, 169, 179, 180, 181, 183, 185, 187, 195, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], $VH3 = [2, 4, 5, 132, 296], $VI3 = [1, 844], $VJ3 = [10, 74, 76, 78, 306, 310, 602, 764], $VK3 = [2, 738], $VL3 = [10, 74, 76, 78, 132, 139, 141, 145, 152, 306, 310, 420, 424, 602, 764], $VM3 = [2, 1161], $VN3 = [10, 74, 76, 78, 139, 141, 145, 152, 306, 310, 420, 424, 602, 764], $VO3 = [10, 74, 76, 78, 139, 141, 145, 306, 310, 420, 424, 602, 764], $VP3 = [10, 74, 78, 139, 141, 306, 310, 602, 764], $VQ3 = [10, 78, 89, 132, 146, 189, 296, 306, 310, 470, 602, 764], $VR3 = [335, 338, 339], $VS3 = [2, 764], $VT3 = [1, 869], $VU3 = [1, 870], $VV3 = [1, 871], $VW3 = [1, 872], $VX3 = [1, 881], $VY3 = [1, 880], $VZ3 = [164, 166, 334], $V_3 = [2, 444], $V$3 = [1, 936], $V04 = [2, 4, 5, 77, 131, 156, 290, 291, 292, 293], $V14 = [1, 951], $V24 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $V34 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $V44 = [2, 375], $V54 = [1, 958], $V64 = [306, 308, 310], $V74 = [74, 300], $V84 = [74, 300, 426], $V94 = [1, 965], $Va4 = [2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vb4 = [74, 426], $Vc4 = [1, 978], $Vd4 = [1, 977], $Ve4 = [1, 984], $Vf4 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $Vg4 = [1, 1010], $Vh4 = [10, 72, 78, 306, 310, 602, 764], $Vi4 = [1, 1016], $Vj4 = [1, 1017], $Vk4 = [1, 1018], $Vl4 = [2, 4, 5, 10, 72, 74, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], $Vm4 = [1, 1068], $Vn4 = [1, 1067], $Vo4 = [1, 1081], $Vp4 = [1, 1080], $Vq4 = [1, 1088], $Vr4 = [10, 72, 74, 78, 93, 98, 107, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $Vs4 = [1, 1119], $Vt4 = [10, 78, 89, 146, 189, 306, 310, 470, 602, 764], $Vu4 = [1, 1139], $Vv4 = [1, 1138], $Vw4 = [1, 1137], $Vx4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy4 = [1, 1153], $Vz4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VA4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 315, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VB4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VC4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VD4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 320, 321, 322, 323, 324, 325, 326, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VE4 = [2, 406], $VF4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VG4 = [2, 285], $VH4 = [2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $VI4 = [10, 78, 306, 310, 602, 764], $VJ4 = [1, 1189], $VK4 = [10, 77, 78, 143, 145, 152, 181, 302, 306, 310, 420, 424, 602, 764], $VL4 = [10, 74, 78, 306, 308, 310, 464, 602, 764], $VM4 = [1, 1200], $VN4 = [10, 72, 78, 118, 128, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $VO4 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 183, 198, 232, 245, 247, 306, 310, 602, 764], $VP4 = [2, 4, 5, 72, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VQ4 = [2, 4, 5, 72, 74, 76, 77, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VR4 = [2, 1085], $VS4 = [2, 4, 5, 72, 74, 76, 77, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 185, 187, 280, 281, 282, 283, 284, 285, 286, 287, 288, 420, 424], $VT4 = [1, 1252], $VU4 = [10, 74, 78, 128, 306, 308, 310, 464, 602, 764], $VV4 = [115, 116, 124], $VW4 = [2, 584], $VX4 = [1, 1280], $VY4 = [76, 139], $VZ4 = [2, 724], $V_4 = [1, 1297], $V$4 = [1, 1298], $V05 = [2, 4, 5, 10, 53, 72, 76, 89, 124, 146, 156, 189, 230, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $V15 = [2, 330], $V25 = [1, 1322], $V35 = [1, 1336], $V45 = [1, 1338], $V55 = [2, 487], $V65 = [74, 78], $V75 = [10, 306, 308, 310, 464, 602, 764], $V85 = [10, 72, 78, 118, 162, 168, 169, 232, 245, 247, 306, 310, 602, 764], $V95 = [1, 1354], $Va5 = [1, 1358], $Vb5 = [1, 1359], $Vc5 = [1, 1361], $Vd5 = [1, 1362], $Ve5 = [1, 1363], $Vf5 = [1, 1364], $Vg5 = [1, 1365], $Vh5 = [1, 1366], $Vi5 = [1, 1367], $Vj5 = [1, 1368], $Vk5 = [10, 72, 74, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vl5 = [1, 1393], $Vm5 = [10, 72, 78, 118, 162, 168, 169, 245, 247, 306, 310, 602, 764], $Vn5 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vo5 = [1, 1490], $Vp5 = [1, 1492], $Vq5 = [2, 4, 5, 77, 143, 145, 152, 156, 181, 290, 291, 292, 293, 302, 420, 424], $Vr5 = [1, 1506], $Vs5 = [10, 72, 74, 78, 162, 168, 169, 245, 247, 306, 310, 602, 764], $Vt5 = [1, 1524], $Vu5 = [1, 1526], $Vv5 = [1, 1527], $Vw5 = [1, 1523], $Vx5 = [1, 1522], $Vy5 = [1, 1521], $Vz5 = [1, 1528], $VA5 = [1, 1518], $VB5 = [1, 1519], $VC5 = [1, 1520], $VD5 = [1, 1545], $VE5 = [2, 4, 5, 10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VF5 = [1, 1556], $VG5 = [1, 1564], $VH5 = [1, 1563], $VI5 = [10, 72, 78, 162, 168, 169, 245, 247, 306, 310, 602, 764], $VJ5 = [10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VK5 = [2, 4, 5, 10, 72, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VL5 = [1, 1621], $VM5 = [1, 1623], $VN5 = [1, 1620], $VO5 = [1, 1622], $VP5 = [187, 193, 368, 369, 370, 373], $VQ5 = [2, 515], $VR5 = [1, 1628], $VS5 = [1, 1647], $VT5 = [10, 72, 78, 162, 168, 169, 306, 310, 602, 764], $VU5 = [1, 1657], $VV5 = [1, 1658], $VW5 = [1, 1659], $VX5 = [1, 1678], $VY5 = [4, 10, 243, 306, 310, 343, 356, 602, 764], $VZ5 = [1, 1726], $V_5 = [10, 72, 74, 78, 118, 162, 168, 169, 239, 245, 247, 306, 310, 602, 764], $V$5 = [2, 4, 5, 77], $V06 = [1, 1820], $V16 = [1, 1832], $V26 = [1, 1851], $V36 = [10, 72, 78, 162, 168, 169, 306, 310, 415, 602, 764], $V46 = [10, 74, 78, 230, 306, 310, 602, 764];
+ var parser = { trace: function trace() { },
+ yy: {},
+ symbols_: { "error": 2, "Literal": 3, "LITERAL": 4, "BRALITERAL": 5, "NonReserved": 6, "LiteralWithSpaces": 7, "main": 8, "Statements": 9, "EOF": 10, "Statements_group0": 11, "AStatement": 12, "ExplainStatement": 13, "EXPLAIN": 14, "QUERY": 15, "PLAN": 16, "Statement": 17, "AlterTable": 18, "AttachDatabase": 19, "Call": 20, "CreateDatabase": 21, "CreateIndex": 22, "CreateGraph": 23, "CreateTable": 24, "CreateView": 25, "CreateEdge": 26, "CreateVertex": 27, "Declare": 28, "Delete": 29, "DetachDatabase": 30, "DropDatabase": 31, "DropIndex": 32, "DropTable": 33, "DropView": 34, "If": 35, "Insert": 36, "Merge": 37, "Reindex": 38, "RenameTable": 39, "Select": 40, "ShowCreateTable": 41, "ShowColumns": 42, "ShowDatabases": 43, "ShowIndex": 44, "ShowTables": 45, "TruncateTable": 46, "WithSelect": 47, "CreateTrigger": 48, "DropTrigger": 49, "BeginTransaction": 50, "CommitTransaction": 51, "RollbackTransaction": 52, "EndTransaction": 53, "UseDatabase": 54, "Update": 55, "JavaScript": 56, "Source": 57, "Assert": 58, "While": 59, "Continue": 60, "Break": 61, "BeginEnd": 62, "Print": 63, "Require": 64, "SetVariable": 65, "ExpressionStatement": 66, "AddRule": 67, "Query": 68, "Echo": 69, "CreateFunction": 70, "CreateAggregate": 71, "WITH": 72, "WithTablesList": 73, "COMMA": 74, "WithTable": 75, "AS": 76, "LPAR": 77, "RPAR": 78, "SelectClause": 79, "Select_option0": 80, "IntoClause": 81, "FromClause": 82, "Select_option1": 83, "WhereClause": 84, "GroupClause": 85, "OrderClause": 86, "LimitClause": 87, "UnionClause": 88, "SEARCH": 89, "Select_repetition0": 90, "Select_option2": 91, "PivotClause": 92, "PIVOT": 93, "Expression": 94, "FOR": 95, "PivotClause_option0": 96, "PivotClause_option1": 97, "UNPIVOT": 98, "IN": 99, "ColumnsList": 100, "PivotClause_option2": 101, "PivotClause2": 102, "AsList": 103, "AsLiteral": 104, "AsPart": 105, "RemoveClause": 106, "REMOVE": 107, "RemoveClause_option0": 108, "RemoveColumnsList": 109, "RemoveColumn": 110, "Column": 111, "LIKE": 112, "StringValue": 113, "ArrowDot": 114, "ARROW": 115, "DOT": 116, "SearchSelector": 117, "ORDER": 118, "BY": 119, "OrderExpressionsList": 120, "SearchSelector_option0": 121, "DOTDOT": 122, "CARET": 123, "EQ": 124, "SearchSelector_repetition_plus0": 125, "SearchSelector_repetition_plus1": 126, "SearchSelector_option1": 127, "WHERE": 128, "OF": 129, "CLASS": 130, "NUMBER": 131, "STRING": 132, "SLASH": 133, "VERTEX": 134, "EDGE": 135, "EXCLAMATION": 136, "SHARP": 137, "MODULO": 138, "GT": 139, "LT": 140, "GTGT": 141, "LTLT": 142, "DOLLAR": 143, "Json": 144, "AT": 145, "SET": 146, "SetColumnsList": 147, "TO": 148, "VALUE": 149, "ROW": 150, "ExprList": 151, "COLON": 152, "PlusStar": 153, "NOT": 154, "SearchSelector_repetition2": 155, "IF": 156, "SearchSelector_repetition3": 157, "Aggregator": 158, "SearchSelector_repetition4": 159, "SearchSelector_group0": 160, "SearchSelector_repetition5": 161, "UNION": 162, "SearchSelectorList": 163, "ALL": 164, "SearchSelector_repetition6": 165, "ANY": 166, "SearchSelector_repetition7": 167, "INTERSECT": 168, "EXCEPT": 169, "AND": 170, "OR": 171, "PATH": 172, "RETURN": 173, "ResultColumns": 174, "REPEAT": 175, "SearchSelector_repetition8": 176, "SearchSelectorList_repetition0": 177, "SearchSelectorList_repetition1": 178, "PLUS": 179, "STAR": 180, "QUESTION": 181, "SearchFrom": 182, "FROM": 183, "SelectModifier": 184, "DISTINCT": 185, "TopClause": 186, "UNIQUE": 187, "SelectClause_option0": 188, "SELECT": 189, "COLUMN": 190, "MATRIX": 191, "TEXTSTRING": 192, "INDEX": 193, "RECORDSET": 194, "TOP": 195, "NumValue": 196, "TopClause_option0": 197, "INTO": 198, "Table": 199, "FuncValue": 200, "ParamValue": 201, "VarValue": 202, "FromTablesList": 203, "JoinTablesList": 204, "ApplyClause": 205, "CROSS": 206, "APPLY": 207, "OUTER": 208, "FromTable": 209, "FromTable_option0": 210, "FromTable_option1": 211, "INDEXED": 212, "INSERTED": 213, "FromString": 214, "JoinTable": 215, "JoinMode": 216, "JoinTableAs": 217, "OnClause": 218, "JoinTableAs_option0": 219, "JoinTableAs_option1": 220, "JoinModeMode": 221, "NATURAL": 222, "JOIN": 223, "INNER": 224, "LEFT": 225, "RIGHT": 226, "FULL": 227, "SEMI": 228, "ANTI": 229, "ON": 230, "USING": 231, "GROUP": 232, "GroupExpressionsList": 233, "HavingClause": 234, "GroupExpression": 235, "GROUPING": 236, "ROLLUP": 237, "CUBE": 238, "HAVING": 239, "CORRESPONDING": 240, "OrderExpression": 241, "DIRECTION": 242, "COLLATE": 243, "NOCASE": 244, "LIMIT": 245, "OffsetClause": 246, "OFFSET": 247, "LimitClause_option0": 248, "FETCH": 249, "LimitClause_option1": 250, "LimitClause_option2": 251, "LimitClause_option3": 252, "ResultColumn": 253, "Star": 254, "AggrValue": 255, "Op": 256, "LogicValue": 257, "NullValue": 258, "ExistsValue": 259, "CaseValue": 260, "CastClause": 261, "ArrayValue": 262, "NewClause": 263, "Expression_group0": 264, "CURRENT_TIMESTAMP": 265, "JAVASCRIPT": 266, "CREATE": 267, "FUNCTION": 268, "AGGREGATE": 269, "NEW": 270, "CAST": 271, "ColumnType": 272, "CONVERT": 273, "PrimitiveValue": 274, "OverClause": 275, "OVER": 276, "OverPartitionClause": 277, "OverOrderByClause": 278, "PARTITION": 279, "SUM": 280, "COUNT": 281, "MIN": 282, "MAX": 283, "AVG": 284, "FIRST": 285, "LAST": 286, "AGGR": 287, "ARRAY": 288, "FuncValue_option0": 289, "REPLACE": 290, "DATEADD": 291, "DATEDIFF": 292, "INTERVAL": 293, "TRUE": 294, "FALSE": 295, "NSTRING": 296, "NULL": 297, "EXISTS": 298, "ARRAYLBRA": 299, "RBRA": 300, "ParamValue_group0": 301, "BRAQUESTION": 302, "CASE": 303, "WhensList": 304, "ElseClause": 305, "END": 306, "When": 307, "WHEN": 308, "THEN": 309, "ELSE": 310, "REGEXP": 311, "TILDA": 312, "GLOB": 313, "ESCAPE": 314, "NOT_LIKE": 315, "BARBAR": 316, "MINUS": 317, "AMPERSAND": 318, "BAR": 319, "GE": 320, "LE": 321, "EQEQ": 322, "EQEQEQ": 323, "NE": 324, "NEEQEQ": 325, "NEEQEQEQ": 326, "CondOp": 327, "AllSome": 328, "ColFunc": 329, "BETWEEN": 330, "NOT_BETWEEN": 331, "IS": 332, "DOUBLECOLON": 333, "SOME": 334, "UPDATE": 335, "SetColumn": 336, "SetColumn_group0": 337, "DELETE": 338, "INSERT": 339, "Into": 340, "Values": 341, "ValuesListsList": 342, "DEFAULT": 343, "VALUES": 344, "ValuesList": 345, "Value": 346, "DateValue": 347, "TemporaryClause": 348, "TableClass": 349, "IfNotExists": 350, "CreateTableDefClause": 351, "CreateTableOptionsClause": 352, "TABLE": 353, "CreateTableOptions": 354, "CreateTableOption": 355, "IDENTITY": 356, "TEMP": 357, "ColumnDefsList": 358, "ConstraintsList": 359, "Constraint": 360, "ConstraintName": 361, "PrimaryKey": 362, "ForeignKey": 363, "UniqueKey": 364, "IndexKey": 365, "Check": 366, "CONSTRAINT": 367, "CHECK": 368, "PRIMARY": 369, "KEY": 370, "PrimaryKey_option0": 371, "ColsList": 372, "FOREIGN": 373, "REFERENCES": 374, "ForeignKey_option0": 375, "OnForeignKeyClause": 376, "ParColsList": 377, "OnDeleteClause": 378, "OnUpdateClause": 379, "NO": 380, "ACTION": 381, "UniqueKey_option0": 382, "UniqueKey_option1": 383, "ColumnDef": 384, "ColumnConstraintsClause": 385, "ColumnConstraints": 386, "SingularColumnType": 387, "NumberMax": 388, "ENUM": 389, "MAXNUM": 390, "ColumnConstraintsList": 391, "ColumnConstraint": 392, "ParLiteral": 393, "ColumnConstraint_option0": 394, "ColumnConstraint_option1": 395, "DROP": 396, "DropTable_group0": 397, "IfExists": 398, "TablesList": 399, "ALTER": 400, "RENAME": 401, "ADD": 402, "MODIFY": 403, "ATTACH": 404, "DATABASE": 405, "DETACH": 406, "AsClause": 407, "USE": 408, "SHOW": 409, "VIEW": 410, "CreateView_option0": 411, "CreateView_option1": 412, "SubqueryRestriction": 413, "READ": 414, "ONLY": 415, "OPTION": 416, "SOURCE": 417, "ASSERT": 418, "JsonObject": 419, "ATLBRA": 420, "JsonArray": 421, "JsonValue": 422, "JsonPrimitiveValue": 423, "LCUR": 424, "JsonPropertiesList": 425, "RCUR": 426, "JsonElementsList": 427, "JsonProperty": 428, "OnOff": 429, "SetPropsList": 430, "AtDollar": 431, "SetProp": 432, "OFF": 433, "COMMIT": 434, "TRANSACTION": 435, "ROLLBACK": 436, "BEGIN": 437, "ElseStatement": 438, "WHILE": 439, "CONTINUE": 440, "BREAK": 441, "PRINT": 442, "REQUIRE": 443, "StringValuesList": 444, "PluginsList": 445, "Plugin": 446, "ECHO": 447, "DECLARE": 448, "DeclaresList": 449, "DeclareItem": 450, "TRUNCATE": 451, "MERGE": 452, "MergeInto": 453, "MergeUsing": 454, "MergeOn": 455, "MergeMatchedList": 456, "OutputClause": 457, "MergeMatched": 458, "MergeNotMatched": 459, "MATCHED": 460, "MergeMatchedAction": 461, "MergeNotMatchedAction": 462, "TARGET": 463, "OUTPUT": 464, "CreateVertex_option0": 465, "CreateVertex_option1": 466, "CreateVertex_option2": 467, "CreateVertexSet": 468, "SharpValue": 469, "CONTENT": 470, "CreateEdge_option0": 471, "GRAPH": 472, "GraphList": 473, "GraphVertexEdge": 474, "GraphElement": 475, "GraphVertexEdge_option0": 476, "GraphVertexEdge_option1": 477, "GraphElementVar": 478, "GraphVertexEdge_option2": 479, "GraphVertexEdge_option3": 480, "GraphVertexEdge_option4": 481, "GraphVar": 482, "GraphAsClause": 483, "GraphAtClause": 484, "GraphElement2": 485, "GraphElement2_option0": 486, "GraphElement2_option1": 487, "GraphElement2_option2": 488, "GraphElement2_option3": 489, "GraphElement_option0": 490, "GraphElement_option1": 491, "GraphElement_option2": 492, "SharpLiteral": 493, "GraphElement_option3": 494, "GraphElement_option4": 495, "GraphElement_option5": 496, "ColonLiteral": 497, "DeleteVertex": 498, "DeleteVertex_option0": 499, "DeleteEdge": 500, "DeleteEdge_option0": 501, "DeleteEdge_option1": 502, "DeleteEdge_option2": 503, "Term": 504, "COLONDASH": 505, "TermsList": 506, "QUESTIONDASH": 507, "CALL": 508, "TRIGGER": 509, "BeforeAfter": 510, "InsertDeleteUpdate": 511, "CreateTrigger_option0": 512, "CreateTrigger_option1": 513, "BEFORE": 514, "AFTER": 515, "INSTEAD": 516, "REINDEX": 517, "A": 518, "ABSENT": 519, "ABSOLUTE": 520, "ACCORDING": 521, "ADA": 522, "ADMIN": 523, "ALWAYS": 524, "ASC": 525, "ASSERTION": 526, "ASSIGNMENT": 527, "ATTRIBUTE": 528, "ATTRIBUTES": 529, "BASE64": 530, "BERNOULLI": 531, "BLOCKED": 532, "BOM": 533, "BREADTH": 534, "C": 535, "CASCADE": 536, "CATALOG": 537, "CATALOG_NAME": 538, "CHAIN": 539, "CHARACTERISTICS": 540, "CHARACTERS": 541, "CHARACTER_SET_CATALOG": 542, "CHARACTER_SET_NAME": 543, "CHARACTER_SET_SCHEMA": 544, "CLASS_ORIGIN": 545, "COBOL": 546, "COLLATION": 547, "COLLATION_CATALOG": 548, "COLLATION_NAME": 549, "COLLATION_SCHEMA": 550, "COLUMNS": 551, "COLUMN_NAME": 552, "COMMAND_FUNCTION": 553, "COMMAND_FUNCTION_CODE": 554, "COMMITTED": 555, "CONDITION_NUMBER": 556, "CONNECTION": 557, "CONNECTION_NAME": 558, "CONSTRAINTS": 559, "CONSTRAINT_CATALOG": 560, "CONSTRAINT_NAME": 561, "CONSTRAINT_SCHEMA": 562, "CONSTRUCTOR": 563, "CONTROL": 564, "CURSOR_NAME": 565, "DATA": 566, "DATETIME_INTERVAL_CODE": 567, "DATETIME_INTERVAL_PRECISION": 568, "DB": 569, "DEFAULTS": 570, "DEFERRABLE": 571, "DEFERRED": 572, "DEFINED": 573, "DEFINER": 574, "DEGREE": 575, "DEPTH": 576, "DERIVED": 577, "DESC": 578, "DESCRIPTOR": 579, "DIAGNOSTICS": 580, "DISPATCH": 581, "DOCUMENT": 582, "DOMAIN": 583, "DYNAMIC_FUNCTION": 584, "DYNAMIC_FUNCTION_CODE": 585, "EMPTY": 586, "ENCODING": 587, "ENFORCED": 588, "EXCLUDE": 589, "EXCLUDING": 590, "EXPRESSION": 591, "FILE": 592, "FINAL": 593, "FLAG": 594, "FOLLOWING": 595, "FORTRAN": 596, "FOUND": 597, "FS": 598, "G": 599, "GENERAL": 600, "GENERATED": 601, "GO": 602, "GOTO": 603, "GRANTED": 604, "HEX": 605, "HIERARCHY": 606, "ID": 607, "IGNORE": 608, "IMMEDIATE": 609, "IMMEDIATELY": 610, "IMPLEMENTATION": 611, "INCLUDING": 612, "INCREMENT": 613, "INDENT": 614, "INITIALLY": 615, "INPUT": 616, "INSTANCE": 617, "INSTANTIABLE": 618, "INTEGRITY": 619, "INVOKER": 620, "ISOLATION": 621, "K": 622, "KEY_MEMBER": 623, "KEY_TYPE": 624, "LENGTH": 625, "LEVEL": 626, "LIBRARY": 627, "LINK": 628, "LOCATION": 629, "LOCATOR": 630, "M": 631, "MAP": 632, "MAPPING": 633, "MAXVALUE": 634, "MESSAGE_LENGTH": 635, "MESSAGE_OCTET_LENGTH": 636, "MESSAGE_TEXT": 637, "MINVALUE": 638, "MORE": 639, "MUMPS": 640, "NAME": 641, "NAMES": 642, "NAMESPACE": 643, "NESTING": 644, "NEXT": 645, "NFC": 646, "NFD": 647, "NFKC": 648, "NFKD": 649, "NIL": 650, "NORMALIZED": 651, "NULLABLE": 652, "NULLS": 653, "OBJECT": 654, "OCTETS": 655, "OPTIONS": 656, "ORDERING": 657, "ORDINALITY": 658, "OTHERS": 659, "OVERRIDING": 660, "P": 661, "PAD": 662, "PARAMETER_MODE": 663, "PARAMETER_NAME": 664, "PARAMETER_ORDINAL_POSITION": 665, "PARAMETER_SPECIFIC_CATALOG": 666, "PARAMETER_SPECIFIC_NAME": 667, "PARAMETER_SPECIFIC_SCHEMA": 668, "PARTIAL": 669, "PASCAL": 670, "PASSING": 671, "PASSTHROUGH": 672, "PERMISSION": 673, "PLACING": 674, "PLI": 675, "PRECEDING": 676, "PRESERVE": 677, "PRIOR": 678, "PRIVILEGES": 679, "PUBLIC": 680, "RECOVERY": 681, "RELATIVE": 682, "REPEATABLE": 683, "REQUIRING": 684, "RESPECT": 685, "RESTART": 686, "RESTORE": 687, "RESTRICT": 688, "RETURNED_CARDINALITY": 689, "RETURNED_LENGTH": 690, "RETURNED_OCTET_LENGTH": 691, "RETURNED_SQLSTATE": 692, "RETURNING": 693, "ROLE": 694, "ROUTINE": 695, "ROUTINE_CATALOG": 696, "ROUTINE_NAME": 697, "ROUTINE_SCHEMA": 698, "ROW_COUNT": 699, "SCALE": 700, "SCHEMA": 701, "SCHEMA_NAME": 702, "SCOPE_CATALOG": 703, "SCOPE_NAME": 704, "SCOPE_SCHEMA": 705, "SECTION": 706, "SECURITY": 707, "SELECTIVE": 708, "SELF": 709, "SEQUENCE": 710, "SERIALIZABLE": 711, "SERVER": 712, "SERVER_NAME": 713, "SESSION": 714, "SETS": 715, "SIMPLE": 716, "SIZE": 717, "SPACE": 718, "SPECIFIC_NAME": 719, "STANDALONE": 720, "STATE": 721, "STATEMENT": 722, "STRIP": 723, "STRUCTURE": 724, "STYLE": 725, "SUBCLASS_ORIGIN": 726, "T": 727, "TABLE_NAME": 728, "TEMPORARY": 729, "TIES": 730, "TOKEN": 731, "TOP_LEVEL_COUNT": 732, "TRANSACTIONS_COMMITTED": 733, "TRANSACTIONS_ROLLED_BACK": 734, "TRANSACTION_ACTIVE": 735, "TRANSFORM": 736, "TRANSFORMS": 737, "TRIGGER_CATALOG": 738, "TRIGGER_NAME": 739, "TRIGGER_SCHEMA": 740, "TYPE": 741, "UNBOUNDED": 742, "UNCOMMITTED": 743, "UNDER": 744, "UNLINK": 745, "UNNAMED": 746, "UNTYPED": 747, "URI": 748, "USAGE": 749, "USER_DEFINED_TYPE_CATALOG": 750, "USER_DEFINED_TYPE_CODE": 751, "USER_DEFINED_TYPE_NAME": 752, "USER_DEFINED_TYPE_SCHEMA": 753, "VALID": 754, "VERSION": 755, "WHITESPACE": 756, "WORK": 757, "WRAPPER": 758, "WRITE": 759, "XMLDECLARATION": 760, "XMLSCHEMA": 761, "YES": 762, "ZONE": 763, "SEMICOLON": 764, "PERCENT": 765, "ROWS": 766, "FuncValue_option0_group0": 767, "$accept": 0, "$end": 1 },
+ terminals_: { 2: "error", 4: "LITERAL", 5: "BRALITERAL", 10: "EOF", 14: "EXPLAIN", 15: "QUERY", 16: "PLAN", 53: "EndTransaction", 72: "WITH", 74: "COMMA", 76: "AS", 77: "LPAR", 78: "RPAR", 89: "SEARCH", 93: "PIVOT", 95: "FOR", 98: "UNPIVOT", 99: "IN", 107: "REMOVE", 112: "LIKE", 115: "ARROW", 116: "DOT", 118: "ORDER", 119: "BY", 122: "DOTDOT", 123: "CARET", 124: "EQ", 128: "WHERE", 129: "OF", 130: "CLASS", 131: "NUMBER", 132: "STRING", 133: "SLASH", 134: "VERTEX", 135: "EDGE", 136: "EXCLAMATION", 137: "SHARP", 138: "MODULO", 139: "GT", 140: "LT", 141: "GTGT", 142: "LTLT", 143: "DOLLAR", 145: "AT", 146: "SET", 148: "TO", 149: "VALUE", 150: "ROW", 152: "COLON", 154: "NOT", 156: "IF", 162: "UNION", 164: "ALL", 166: "ANY", 168: "INTERSECT", 169: "EXCEPT", 170: "AND", 171: "OR", 172: "PATH", 173: "RETURN", 175: "REPEAT", 179: "PLUS", 180: "STAR", 181: "QUESTION", 183: "FROM", 185: "DISTINCT", 187: "UNIQUE", 189: "SELECT", 190: "COLUMN", 191: "MATRIX", 192: "TEXTSTRING", 193: "INDEX", 194: "RECORDSET", 195: "TOP", 198: "INTO", 206: "CROSS", 207: "APPLY", 208: "OUTER", 212: "INDEXED", 213: "INSERTED", 222: "NATURAL", 223: "JOIN", 224: "INNER", 225: "LEFT", 226: "RIGHT", 227: "FULL", 228: "SEMI", 229: "ANTI", 230: "ON", 231: "USING", 232: "GROUP", 236: "GROUPING", 237: "ROLLUP", 238: "CUBE", 239: "HAVING", 240: "CORRESPONDING", 242: "DIRECTION", 243: "COLLATE", 244: "NOCASE", 245: "LIMIT", 247: "OFFSET", 249: "FETCH", 265: "CURRENT_TIMESTAMP", 266: "JAVASCRIPT", 267: "CREATE", 268: "FUNCTION", 269: "AGGREGATE", 270: "NEW", 271: "CAST", 273: "CONVERT", 276: "OVER", 279: "PARTITION", 280: "SUM", 281: "COUNT", 282: "MIN", 283: "MAX", 284: "AVG", 285: "FIRST", 286: "LAST", 287: "AGGR", 288: "ARRAY", 290: "REPLACE", 291: "DATEADD", 292: "DATEDIFF", 293: "INTERVAL", 294: "TRUE", 295: "FALSE", 296: "NSTRING", 297: "NULL", 298: "EXISTS", 299: "ARRAYLBRA", 300: "RBRA", 302: "BRAQUESTION", 303: "CASE", 306: "END", 308: "WHEN", 309: "THEN", 310: "ELSE", 311: "REGEXP", 312: "TILDA", 313: "GLOB", 314: "ESCAPE", 315: "NOT_LIKE", 316: "BARBAR", 317: "MINUS", 318: "AMPERSAND", 319: "BAR", 320: "GE", 321: "LE", 322: "EQEQ", 323: "EQEQEQ", 324: "NE", 325: "NEEQEQ", 326: "NEEQEQEQ", 330: "BETWEEN", 331: "NOT_BETWEEN", 332: "IS", 333: "DOUBLECOLON", 334: "SOME", 335: "UPDATE", 338: "DELETE", 339: "INSERT", 343: "DEFAULT", 344: "VALUES", 347: "DateValue", 353: "TABLE", 356: "IDENTITY", 357: "TEMP", 367: "CONSTRAINT", 368: "CHECK", 369: "PRIMARY", 370: "KEY", 373: "FOREIGN", 374: "REFERENCES", 380: "NO", 381: "ACTION", 386: "ColumnConstraints", 389: "ENUM", 390: "MAXNUM", 396: "DROP", 400: "ALTER", 401: "RENAME", 402: "ADD", 403: "MODIFY", 404: "ATTACH", 405: "DATABASE", 406: "DETACH", 408: "USE", 409: "SHOW", 410: "VIEW", 414: "READ", 415: "ONLY", 416: "OPTION", 417: "SOURCE", 418: "ASSERT", 420: "ATLBRA", 424: "LCUR", 426: "RCUR", 433: "OFF", 434: "COMMIT", 435: "TRANSACTION", 436: "ROLLBACK", 437: "BEGIN", 439: "WHILE", 440: "CONTINUE", 441: "BREAK", 442: "PRINT", 443: "REQUIRE", 447: "ECHO", 448: "DECLARE", 451: "TRUNCATE", 452: "MERGE", 460: "MATCHED", 463: "TARGET", 464: "OUTPUT", 470: "CONTENT", 472: "GRAPH", 505: "COLONDASH", 507: "QUESTIONDASH", 508: "CALL", 509: "TRIGGER", 514: "BEFORE", 515: "AFTER", 516: "INSTEAD", 517: "REINDEX", 518: "A", 519: "ABSENT", 520: "ABSOLUTE", 521: "ACCORDING", 522: "ADA", 523: "ADMIN", 524: "ALWAYS", 525: "ASC", 526: "ASSERTION", 527: "ASSIGNMENT", 528: "ATTRIBUTE", 529: "ATTRIBUTES", 530: "BASE64", 531: "BERNOULLI", 532: "BLOCKED", 533: "BOM", 534: "BREADTH", 535: "C", 536: "CASCADE", 537: "CATALOG", 538: "CATALOG_NAME", 539: "CHAIN", 540: "CHARACTERISTICS", 541: "CHARACTERS", 542: "CHARACTER_SET_CATALOG", 543: "CHARACTER_SET_NAME", 544: "CHARACTER_SET_SCHEMA", 545: "CLASS_ORIGIN", 546: "COBOL", 547: "COLLATION", 548: "COLLATION_CATALOG", 549: "COLLATION_NAME", 550: "COLLATION_SCHEMA", 551: "COLUMNS", 552: "COLUMN_NAME", 553: "COMMAND_FUNCTION", 554: "COMMAND_FUNCTION_CODE", 555: "COMMITTED", 556: "CONDITION_NUMBER", 557: "CONNECTION", 558: "CONNECTION_NAME", 559: "CONSTRAINTS", 560: "CONSTRAINT_CATALOG", 561: "CONSTRAINT_NAME", 562: "CONSTRAINT_SCHEMA", 563: "CONSTRUCTOR", 564: "CONTROL", 565: "CURSOR_NAME", 566: "DATA", 567: "DATETIME_INTERVAL_CODE", 568: "DATETIME_INTERVAL_PRECISION", 569: "DB", 570: "DEFAULTS", 571: "DEFERRABLE", 572: "DEFERRED", 573: "DEFINED", 574: "DEFINER", 575: "DEGREE", 576: "DEPTH", 577: "DERIVED", 578: "DESC", 579: "DESCRIPTOR", 580: "DIAGNOSTICS", 581: "DISPATCH", 582: "DOCUMENT", 583: "DOMAIN", 584: "DYNAMIC_FUNCTION", 585: "DYNAMIC_FUNCTION_CODE", 586: "EMPTY", 587: "ENCODING", 588: "ENFORCED", 589: "EXCLUDE", 590: "EXCLUDING", 591: "EXPRESSION", 592: "FILE", 593: "FINAL", 594: "FLAG", 595: "FOLLOWING", 596: "FORTRAN", 597: "FOUND", 598: "FS", 599: "G", 600: "GENERAL", 601: "GENERATED", 602: "GO", 603: "GOTO", 604: "GRANTED", 605: "HEX", 606: "HIERARCHY", 607: "ID", 608: "IGNORE", 609: "IMMEDIATE", 610: "IMMEDIATELY", 611: "IMPLEMENTATION", 612: "INCLUDING", 613: "INCREMENT", 614: "INDENT", 615: "INITIALLY", 616: "INPUT", 617: "INSTANCE", 618: "INSTANTIABLE", 619: "INTEGRITY", 620: "INVOKER", 621: "ISOLATION", 622: "K", 623: "KEY_MEMBER", 624: "KEY_TYPE", 625: "LENGTH", 626: "LEVEL", 627: "LIBRARY", 628: "LINK", 629: "LOCATION", 630: "LOCATOR", 631: "M", 632: "MAP", 633: "MAPPING", 634: "MAXVALUE", 635: "MESSAGE_LENGTH", 636: "MESSAGE_OCTET_LENGTH", 637: "MESSAGE_TEXT", 638: "MINVALUE", 639: "MORE", 640: "MUMPS", 641: "NAME", 642: "NAMES", 643: "NAMESPACE", 644: "NESTING", 645: "NEXT", 646: "NFC", 647: "NFD", 648: "NFKC", 649: "NFKD", 650: "NIL", 651: "NORMALIZED", 652: "NULLABLE", 653: "NULLS", 654: "OBJECT", 655: "OCTETS", 656: "OPTIONS", 657: "ORDERING", 658: "ORDINALITY", 659: "OTHERS", 660: "OVERRIDING", 661: "P", 662: "PAD", 663: "PARAMETER_MODE", 664: "PARAMETER_NAME", 665: "PARAMETER_ORDINAL_POSITION", 666: "PARAMETER_SPECIFIC_CATALOG", 667: "PARAMETER_SPECIFIC_NAME", 668: "PARAMETER_SPECIFIC_SCHEMA", 669: "PARTIAL", 670: "PASCAL", 671: "PASSING", 672: "PASSTHROUGH", 673: "PERMISSION", 674: "PLACING", 675: "PLI", 676: "PRECEDING", 677: "PRESERVE", 678: "PRIOR", 679: "PRIVILEGES", 680: "PUBLIC", 681: "RECOVERY", 682: "RELATIVE", 683: "REPEATABLE", 684: "REQUIRING", 685: "RESPECT", 686: "RESTART", 687: "RESTORE", 688: "RESTRICT", 689: "RETURNED_CARDINALITY", 690: "RETURNED_LENGTH", 691: "RETURNED_OCTET_LENGTH", 692: "RETURNED_SQLSTATE", 693: "RETURNING", 694: "ROLE", 695: "ROUTINE", 696: "ROUTINE_CATALOG", 697: "ROUTINE_NAME", 698: "ROUTINE_SCHEMA", 699: "ROW_COUNT", 700: "SCALE", 701: "SCHEMA", 702: "SCHEMA_NAME", 703: "SCOPE_CATALOG", 704: "SCOPE_NAME", 705: "SCOPE_SCHEMA", 706: "SECTION", 707: "SECURITY", 708: "SELECTIVE", 709: "SELF", 710: "SEQUENCE", 711: "SERIALIZABLE", 712: "SERVER", 713: "SERVER_NAME", 714: "SESSION", 715: "SETS", 716: "SIMPLE", 717: "SIZE", 718: "SPACE", 719: "SPECIFIC_NAME", 720: "STANDALONE", 721: "STATE", 722: "STATEMENT", 723: "STRIP", 724: "STRUCTURE", 725: "STYLE", 726: "SUBCLASS_ORIGIN", 727: "T", 728: "TABLE_NAME", 729: "TEMPORARY", 730: "TIES", 731: "TOKEN", 732: "TOP_LEVEL_COUNT", 733: "TRANSACTIONS_COMMITTED", 734: "TRANSACTIONS_ROLLED_BACK", 735: "TRANSACTION_ACTIVE", 736: "TRANSFORM", 737: "TRANSFORMS", 738: "TRIGGER_CATALOG", 739: "TRIGGER_NAME", 740: "TRIGGER_SCHEMA", 741: "TYPE", 742: "UNBOUNDED", 743: "UNCOMMITTED", 744: "UNDER", 745: "UNLINK", 746: "UNNAMED", 747: "UNTYPED", 748: "URI", 749: "USAGE", 750: "USER_DEFINED_TYPE_CATALOG", 751: "USER_DEFINED_TYPE_CODE", 752: "USER_DEFINED_TYPE_NAME", 753: "USER_DEFINED_TYPE_SCHEMA", 754: "VALID", 755: "VERSION", 756: "WHITESPACE", 757: "WORK", 758: "WRAPPER", 759: "WRITE", 760: "XMLDECLARATION", 761: "XMLSCHEMA", 762: "YES", 763: "ZONE", 764: "SEMICOLON", 765: "PERCENT", 766: "ROWS" },
+ productions_: [0, [3, 1], [3, 1], [3, 2], [7, 1], [7, 2], [8, 2], [9, 3], [9, 1], [9, 1], [13, 2], [13, 4], [12, 1], [17, 0], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [47, 3], [73, 3], [73, 1], [75, 5], [40, 10], [40, 4], [92, 8], [92, 11], [102, 4], [104, 2], [104, 1], [103, 3], [103, 1], [105, 1], [105, 3], [106, 3], [109, 3], [109, 1], [110, 1], [110, 2], [114, 1], [114, 1], [117, 1], [117, 5], [117, 5], [117, 1], [117, 2], [117, 1], [117, 2], [117, 2], [117, 3], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 2], [117, 2], [117, 2], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 1], [117, 2], [117, 3], [117, 4], [117, 3], [117, 1], [117, 4], [117, 2], [117, 2], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 5], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 4], [117, 6], [163, 3], [163, 1], [153, 1], [153, 1], [153, 1], [182, 2], [79, 4], [79, 4], [79, 4], [79, 3], [184, 1], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [184, 2], [186, 3], [186, 4], [186, 0], [81, 0], [81, 2], [81, 2], [81, 2], [81, 2], [81, 2], [82, 2], [82, 3], [82, 5], [82, 0], [205, 6], [205, 7], [205, 6], [205, 7], [203, 1], [203, 3], [209, 4], [209, 5], [209, 3], [209, 3], [209, 2], [209, 3], [209, 1], [209, 3], [209, 2], [209, 3], [209, 1], [209, 1], [209, 2], [209, 3], [209, 1], [209, 1], [209, 2], [209, 3], [209, 1], [209, 2], [209, 3], [214, 1], [199, 3], [199, 1], [204, 2], [204, 2], [204, 1], [204, 1], [215, 3], [217, 1], [217, 2], [217, 3], [217, 3], [217, 2], [217, 3], [217, 4], [217, 5], [217, 1], [217, 2], [217, 3], [217, 1], [217, 2], [217, 3], [216, 1], [216, 2], [221, 1], [221, 2], [221, 2], [221, 3], [221, 2], [221, 3], [221, 2], [221, 3], [221, 2], [221, 2], [221, 2], [218, 2], [218, 2], [218, 0], [84, 0], [84, 2], [85, 0], [85, 4], [233, 1], [233, 3], [235, 5], [235, 4], [235, 4], [235, 1], [234, 0], [234, 2], [88, 0], [88, 2], [88, 3], [88, 2], [88, 2], [88, 3], [88, 4], [88, 3], [88, 3], [86, 0], [86, 3], [120, 1], [120, 3], [241, 1], [241, 2], [241, 3], [241, 4], [87, 0], [87, 3], [87, 8], [246, 0], [246, 2], [174, 3], [174, 1], [253, 3], [253, 2], [253, 3], [253, 2], [253, 3], [253, 2], [253, 1], [254, 5], [254, 3], [254, 1], [111, 5], [111, 3], [111, 3], [111, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 1], [94, 3], [94, 3], [94, 3], [94, 1], [94, 1], [56, 1], [70, 5], [71, 5], [263, 2], [263, 2], [261, 6], [261, 8], [261, 6], [261, 8], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [274, 1], [255, 5], [255, 6], [255, 6], [275, 0], [275, 4], [275, 4], [275, 5], [277, 3], [278, 3], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [158, 1], [200, 5], [200, 3], [200, 4], [200, 4], [200, 8], [200, 8], [200, 8], [200, 8], [200, 3], [151, 1], [151, 3], [196, 1], [257, 1], [257, 1], [113, 1], [113, 1], [258, 1], [202, 2], [259, 4], [262, 3], [201, 2], [201, 2], [201, 1], [201, 1], [260, 5], [260, 4], [304, 2], [304, 1], [307, 4], [305, 2], [305, 0], [256, 3], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 5], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [256, 6], [256, 6], [256, 3], [256, 3], [256, 2], [256, 2], [256, 2], [256, 2], [256, 2], [256, 3], [256, 5], [256, 6], [256, 5], [256, 6], [256, 4], [256, 5], [256, 3], [256, 4], [256, 3], [256, 4], [256, 3], [256, 3], [256, 3], [256, 3], [256, 3], [329, 1], [329, 1], [329, 4], [327, 1], [327, 1], [327, 1], [327, 1], [327, 1], [327, 1], [328, 1], [328, 1], [328, 1], [55, 6], [55, 4], [147, 1], [147, 3], [336, 3], [336, 4], [29, 5], [29, 3], [36, 5], [36, 4], [36, 7], [36, 6], [36, 5], [36, 4], [36, 5], [36, 8], [36, 7], [36, 4], [36, 6], [36, 7], [341, 1], [341, 1], [340, 0], [340, 1], [342, 3], [342, 1], [342, 1], [342, 5], [342, 3], [342, 3], [345, 1], [345, 3], [346, 1], [346, 1], [346, 1], [346, 1], [346, 1], [346, 1], [100, 1], [100, 3], [24, 9], [24, 5], [349, 1], [349, 1], [352, 0], [352, 1], [354, 2], [354, 1], [355, 1], [355, 3], [355, 3], [355, 3], [348, 0], [348, 1], [350, 0], [350, 3], [351, 3], [351, 1], [351, 2], [359, 1], [359, 3], [360, 2], [360, 2], [360, 2], [360, 2], [360, 2], [361, 0], [361, 2], [366, 4], [362, 6], [363, 9], [377, 3], [376, 0], [376, 2], [378, 4], [379, 4], [364, 6], [365, 5], [365, 5], [372, 1], [372, 1], [372, 3], [372, 3], [358, 1], [358, 3], [384, 3], [384, 2], [384, 1], [387, 6], [387, 4], [387, 1], [387, 4], [272, 2], [272, 1], [388, 1], [388, 1], [385, 0], [385, 1], [391, 2], [391, 1], [393, 3], [392, 2], [392, 5], [392, 3], [392, 6], [392, 1], [392, 2], [392, 4], [392, 2], [392, 1], [392, 2], [392, 1], [392, 1], [392, 3], [392, 5], [33, 4], [399, 3], [399, 1], [398, 0], [398, 2], [18, 6], [18, 6], [18, 6], [18, 8], [18, 6], [39, 5], [19, 4], [19, 7], [19, 6], [19, 9], [30, 3], [21, 4], [21, 6], [21, 9], [21, 6], [407, 0], [407, 2], [54, 3], [54, 2], [31, 4], [31, 5], [31, 5], [22, 8], [22, 9], [32, 3], [43, 2], [43, 4], [43, 3], [43, 5], [45, 2], [45, 4], [45, 4], [45, 6], [42, 4], [42, 6], [44, 4], [44, 6], [41, 4], [41, 6], [25, 11], [25, 8], [413, 3], [413, 3], [413, 5], [34, 4], [66, 2], [57, 2], [58, 2], [58, 2], [58, 4], [144, 4], [144, 2], [144, 2], [144, 2], [144, 2], [144, 1], [144, 2], [144, 2], [422, 1], [422, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 1], [423, 3], [419, 3], [419, 4], [419, 2], [421, 2], [421, 3], [421, 1], [425, 3], [425, 1], [428, 3], [428, 3], [428, 3], [427, 3], [427, 1], [65, 4], [65, 3], [65, 4], [65, 5], [65, 5], [65, 6], [431, 1], [431, 1], [430, 3], [430, 2], [432, 1], [432, 1], [432, 3], [429, 1], [429, 1], [51, 2], [52, 2], [50, 2], [35, 4], [35, 3], [438, 2], [59, 3], [60, 1], [61, 1], [62, 3], [63, 2], [63, 2], [64, 2], [64, 2], [446, 1], [446, 1], [69, 2], [444, 3], [444, 1], [445, 3], [445, 1], [28, 2], [449, 1], [449, 3], [450, 3], [450, 4], [450, 5], [450, 6], [46, 3], [37, 6], [453, 1], [453, 2], [454, 2], [455, 2], [456, 2], [456, 2], [456, 1], [456, 1], [458, 4], [458, 6], [461, 1], [461, 3], [459, 5], [459, 7], [459, 7], [459, 9], [459, 7], [459, 9], [462, 3], [462, 6], [462, 3], [462, 6], [457, 0], [457, 2], [457, 5], [457, 4], [457, 7], [27, 6], [469, 2], [468, 0], [468, 2], [468, 2], [468, 1], [26, 8], [23, 3], [23, 4], [473, 3], [473, 1], [474, 3], [474, 7], [474, 6], [474, 3], [474, 4], [478, 1], [478, 1], [482, 2], [483, 3], [484, 2], [485, 4], [475, 4], [475, 3], [475, 2], [475, 1], [497, 2], [493, 2], [493, 2], [498, 4], [500, 6], [67, 3], [67, 2], [506, 3], [506, 1], [504, 1], [504, 4], [68, 2], [20, 2], [48, 9], [48, 8], [48, 9], [510, 0], [510, 1], [510, 1], [510, 1], [510, 2], [511, 1], [511, 1], [511, 1], [49, 3], [38, 2], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [11, 1], [11, 1], [80, 0], [80, 1], [83, 0], [83, 1], [90, 0], [90, 2], [91, 0], [91, 1], [96, 0], [96, 1], [97, 0], [97, 1], [101, 0], [101, 1], [108, 0], [108, 1], [121, 0], [121, 1], [125, 1], [125, 2], [126, 1], [126, 2], [127, 0], [127, 1], [155, 0], [155, 2], [157, 0], [157, 2], [159, 0], [159, 2], [160, 1], [160, 1], [161, 0], [161, 2], [165, 0], [165, 2], [167, 0], [167, 2], [176, 0], [176, 2], [177, 0], [177, 2], [178, 0], [178, 2], [188, 0], [188, 1], [197, 0], [197, 1], [210, 0], [210, 1], [211, 0], [211, 1], [219, 0], [219, 1], [220, 0], [220, 1], [248, 0], [248, 1], [250, 0], [250, 1], [251, 0], [251, 1], [252, 0], [252, 1], [264, 1], [264, 1], [767, 1], [767, 1], [289, 0], [289, 1], [301, 1], [301, 1], [337, 1], [337, 1], [371, 0], [371, 1], [375, 0], [375, 1], [382, 0], [382, 1], [383, 0], [383, 1], [394, 0], [394, 1], [395, 0], [395, 1], [397, 1], [397, 1], [411, 0], [411, 1], [412, 0], [412, 1], [465, 0], [465, 1], [466, 0], [466, 1], [467, 0], [467, 1], [471, 0], [471, 1], [476, 0], [476, 1], [477, 0], [477, 1], [479, 0], [479, 1], [480, 0], [480, 1], [481, 0], [481, 1], [486, 0], [486, 1], [487, 0], [487, 1], [488, 0], [488, 1], [489, 0], [489, 1], [490, 0], [490, 1], [491, 0], [491, 1], [492, 0], [492, 1], [494, 0], [494, 1], [495, 0], [495, 1], [496, 0], [496, 1], [499, 0], [499, 2], [501, 0], [501, 2], [502, 0], [502, 2], [503, 0], [503, 2], [512, 0], [512, 1], [513, 0], [513, 1]],
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
+ /* this == yyval */
+ var $0 = $$.length - 1;
+ switch (yystate) {
+ case 1:
+ this.$ = yy.casesensitive ? $$[$0] : $$[$0].toLowerCase();
+ break;
+ case 2:
+ this.$ = doubleq($$[$0].substr(1, $$[$0].length - 2));
+ break;
+ case 3:
+ this.$ = $$[$0].toLowerCase();
+ break;
+ case 4:
+ this.$ = $$[$0];
+ break;
+ case 5:
+ this.$ = $$[$0] ? $$[$0 - 1] + ' ' + $$[$0] : $$[$0 - 1];
+ break;
+ case 6:
+ return new yy.Statements({ statements: $$[$0 - 1] });
+ break;
+ case 7:
+ this.$ = $$[$0 - 2];
+ if ($$[$0])
+ { $$[$0 - 2].push($$[$0]); }
+ break;
+ case 8:
+ case 9:
+ case 70:
+ case 80:
+ case 85:
+ case 143:
+ case 177:
+ case 205:
+ case 206:
+ case 242:
+ case 261:
+ case 273:
+ case 354:
+ case 372:
+ case 451:
+ case 474:
+ case 475:
+ case 479:
+ case 487:
+ case 528:
+ case 529:
+ case 566:
+ case 649:
+ case 659:
+ case 683:
+ case 685:
+ case 687:
+ case 701:
+ case 702:
+ case 732:
+ case 756:
+ this.$ = [$$[$0]];
+ break;
+ case 10:
+ this.$ = $$[$0];
+ $$[$0].explain = true;
+ break;
+ case 11:
+ this.$ = $$[$0];
+ $$[$0].explain = true;
+ break;
+ case 12:
+ this.$ = $$[$0];
+ // TODO combine exists and queries
+ if (yy.exists)
+ { this.$.exists = yy.exists; }
+ delete yy.exists;
+ if (yy.queries)
+ { this.$.queries = yy.queries; }
+ delete yy.queries;
+ break;
+ case 13:
+ case 162:
+ case 172:
+ case 237:
+ case 238:
+ case 240:
+ case 248:
+ case 250:
+ case 259:
+ case 267:
+ case 270:
+ case 375:
+ case 491:
+ case 501:
+ case 503:
+ case 515:
+ case 521:
+ case 522:
+ case 567:
+ this.$ = undefined;
+ break;
+ case 68:
+ this.$ = new yy.WithSelect({ withs: $$[$0 - 1], select: $$[$0] });
+ break;
+ case 69:
+ case 565:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 71:
+ this.$ = { name: $$[$0 - 4], select: $$[$0 - 1] };
+ break;
+ case 72:
+ yy.extend(this.$, $$[$0 - 9]);
+ yy.extend(this.$, $$[$0 - 8]);
+ yy.extend(this.$, $$[$0 - 7]);
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 5]);
+ yy.extend(this.$, $$[$0 - 4]);
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ this.$ = $$[$0 - 9];
+ /* if(yy.exists) this.$.exists = yy.exists;
+ delete yy.exists;
+ if(yy.queries) this.$.queries = yy.queries;
+ delete yy.queries;
+ */
+ break;
+ case 73:
+ this.$ = new yy.Search({ selectors: $$[$0 - 2], from: $$[$0] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 74:
+ this.$ = { pivot: { expr: $$[$0 - 5], columnid: $$[$0 - 3], inlist: $$[$0 - 2], as: $$[$0] } };
+ break;
+ case 75:
+ this.$ = { unpivot: { tocolumnid: $$[$0 - 8], forcolumnid: $$[$0 - 6], inlist: $$[$0 - 3], as: $$[$0] } };
+ break;
+ case 76:
+ case 520:
+ case 549:
+ case 585:
+ case 619:
+ case 636:
+ case 637:
+ case 640:
+ case 662:
+ this.$ = $$[$0 - 1];
+ break;
+ case 77:
+ case 78:
+ case 86:
+ case 147:
+ case 185:
+ case 247:
+ case 280:
+ case 288:
+ case 289:
+ case 290:
+ case 291:
+ case 292:
+ case 293:
+ case 294:
+ case 295:
+ case 296:
+ case 297:
+ case 298:
+ case 299:
+ case 300:
+ case 301:
+ case 304:
+ case 305:
+ case 320:
+ case 321:
+ case 322:
+ case 323:
+ case 324:
+ case 325:
+ case 374:
+ case 440:
+ case 441:
+ case 442:
+ case 443:
+ case 444:
+ case 445:
+ case 516:
+ case 542:
+ case 546:
+ case 548:
+ case 623:
+ case 624:
+ case 625:
+ case 626:
+ case 627:
+ case 628:
+ case 632:
+ case 634:
+ case 635:
+ case 644:
+ case 660:
+ case 661:
+ case 723:
+ case 738:
+ case 739:
+ case 741:
+ case 742:
+ case 748:
+ case 749:
+ this.$ = $$[$0];
+ break;
+ case 79:
+ case 84:
+ case 731:
+ case 755:
+ this.$ = $$[$0 - 2];
+ this.$.push($$[$0]);
+ break;
+ case 81:
+ this.$ = { expr: $$[$0] };
+ break;
+ case 82:
+ this.$ = { expr: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 83:
+ this.$ = { removecolumns: $$[$0] };
+ break;
+ case 87:
+ this.$ = { like: $$[$0] };
+ break;
+ case 90:
+ case 104:
+ this.$ = { srchid: "PROP", args: [$$[$0]] };
+ break;
+ case 91:
+ this.$ = { srchid: "ORDERBY", args: $$[$0 - 1] };
+ break;
+ case 92:
+ var dir = $$[$0 - 1];
+ if (!dir)
+ { dir = 'ASC'; }
+ this.$ = { srchid: "ORDERBY", args: [{ expression: new yy.Column({ columnid: '_' }), direction: dir }] };
+ break;
+ case 93:
+ this.$ = { srchid: "PARENT" };
+ break;
+ case 94:
+ this.$ = { srchid: "APROP", args: [$$[$0]] };
+ break;
+ case 95:
+ this.$ = { selid: "ROOT" };
+ break;
+ case 96:
+ this.$ = { srchid: "EQ", args: [$$[$0]] };
+ break;
+ case 97:
+ this.$ = { srchid: "LIKE", args: [$$[$0]] };
+ break;
+ case 98:
+ case 99:
+ this.$ = { selid: "WITH", args: $$[$0 - 1] };
+ break;
+ case 100:
+ this.$ = { srchid: $$[$0 - 3].toUpperCase(), args: $$[$0 - 1] };
+ break;
+ case 101:
+ this.$ = { srchid: "WHERE", args: [$$[$0 - 1]] };
+ break;
+ case 102:
+ this.$ = { selid: "OF", args: [$$[$0 - 1]] };
+ break;
+ case 103:
+ this.$ = { srchid: "CLASS", args: [$$[$0 - 1]] };
+ break;
+ case 105:
+ this.$ = { srchid: "NAME", args: [$$[$0].substr(1, $$[$0].length - 2)] };
+ break;
+ case 106:
+ this.$ = { srchid: "CHILD" };
+ break;
+ case 107:
+ this.$ = { srchid: "VERTEX" };
+ break;
+ case 108:
+ this.$ = { srchid: "EDGE" };
+ break;
+ case 109:
+ this.$ = { srchid: "REF" };
+ break;
+ case 110:
+ this.$ = { srchid: "SHARP", args: [$$[$0]] };
+ break;
+ case 111:
+ this.$ = { srchid: "ATTR", args: ((typeof $$[$0] == 'undefined') ? undefined : [$$[$0]]) };
+ break;
+ case 112:
+ this.$ = { srchid: "ATTR" };
+ break;
+ case 113:
+ this.$ = { srchid: "OUT" };
+ break;
+ case 114:
+ this.$ = { srchid: "IN" };
+ break;
+ case 115:
+ this.$ = { srchid: "OUTOUT" };
+ break;
+ case 116:
+ this.$ = { srchid: "ININ" };
+ break;
+ case 117:
+ this.$ = { srchid: "CONTENT" };
+ break;
+ case 118:
+ this.$ = { srchid: "EX", args: [new yy.Json({ value: $$[$0] })] };
+ break;
+ case 119:
+ this.$ = { srchid: "AT", args: [$$[$0]] };
+ break;
+ case 120:
+ this.$ = { srchid: "AS", args: [$$[$0]] };
+ break;
+ case 121:
+ this.$ = { srchid: "SET", args: $$[$0 - 1] };
+ break;
+ case 122:
+ this.$ = { selid: "TO", args: [$$[$0]] };
+ break;
+ case 123:
+ this.$ = { srchid: "VALUE" };
+ break;
+ case 124:
+ this.$ = { srchid: "ROW", args: $$[$0 - 1] };
+ break;
+ case 125:
+ this.$ = { srchid: "CLASS", args: [$$[$0]] };
+ break;
+ case 126:
+ this.$ = { selid: $$[$0], args: [$$[$0 - 1]] };
+ break;
+ case 127:
+ this.$ = { selid: "NOT", args: $$[$0 - 1] };
+ break;
+ case 128:
+ this.$ = { selid: "IF", args: $$[$0 - 1] };
+ break;
+ case 129:
+ this.$ = { selid: $$[$0 - 3], args: $$[$0 - 1] };
+ break;
+ case 130:
+ this.$ = { selid: 'DISTINCT', args: $$[$0 - 1] };
+ break;
+ case 131:
+ this.$ = { selid: 'UNION', args: $$[$0 - 1] };
+ break;
+ case 132:
+ this.$ = { selid: 'UNIONALL', args: $$[$0 - 1] };
+ break;
+ case 133:
+ this.$ = { selid: 'ALL', args: [$$[$0 - 1]] };
+ break;
+ case 134:
+ this.$ = { selid: 'ANY', args: [$$[$0 - 1]] };
+ break;
+ case 135:
+ this.$ = { selid: 'INTERSECT', args: $$[$0 - 1] };
+ break;
+ case 136:
+ this.$ = { selid: 'EXCEPT', args: $$[$0 - 1] };
+ break;
+ case 137:
+ this.$ = { selid: 'AND', args: $$[$0 - 1] };
+ break;
+ case 138:
+ this.$ = { selid: 'OR', args: $$[$0 - 1] };
+ break;
+ case 139:
+ this.$ = { selid: 'PATH', args: [$$[$0 - 1]] };
+ break;
+ case 140:
+ this.$ = { srchid: 'RETURN', args: $$[$0 - 1] };
+ break;
+ case 141:
+ this.$ = { selid: 'REPEAT', sels: $$[$0 - 3], args: $$[$0 - 1] };
+ break;
+ case 142:
+ this.$ = $$[$0 - 2];
+ this.$.push($$[$0]);
+ break;
+ case 144:
+ this.$ = "PLUS";
+ break;
+ case 145:
+ this.$ = "STAR";
+ break;
+ case 146:
+ this.$ = "QUESTION";
+ break;
+ case 148:
+ this.$ = new yy.Select({ columns: $$[$0], distinct: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 149:
+ this.$ = new yy.Select({ columns: $$[$0], distinct: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 150:
+ this.$ = new yy.Select({ columns: $$[$0], all: true });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 151:
+ if (!$$[$0]) {
+ this.$ = new yy.Select({ columns: [new yy.Column({ columnid: '_', })], modifier: 'COLUMN' });
+ }
+ else {
+ this.$ = new yy.Select({ columns: $$[$0] });
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ }
+ break;
+ case 152:
+ if ($$[$0] == 'SELECT')
+ { this.$ = undefined; }
+ else
+ { this.$ = { modifier: $$[$0] }; }
+ break;
+ case 153:
+ this.$ = { modifier: 'VALUE' };
+ break;
+ case 154:
+ this.$ = { modifier: 'ROW' };
+ break;
+ case 155:
+ this.$ = { modifier: 'COLUMN' };
+ break;
+ case 156:
+ this.$ = { modifier: 'MATRIX' };
+ break;
+ case 157:
+ this.$ = { modifier: 'TEXTSTRING' };
+ break;
+ case 158:
+ this.$ = { modifier: 'INDEX' };
+ break;
+ case 159:
+ this.$ = { modifier: 'RECORDSET' };
+ break;
+ case 160:
+ this.$ = { top: $$[$0 - 1], percent: (typeof $$[$0] != 'undefined' ? true : undefined) };
+ break;
+ case 161:
+ this.$ = { top: $$[$0 - 1] };
+ break;
+ case 163:
+ case 330:
+ case 523:
+ case 524:
+ case 724:
+ this.$ = undefined;
+ break;
+ case 164:
+ case 165:
+ case 166:
+ case 167:
+ this.$ = { into: $$[$0] };
+ break;
+ case 168:
+ var s = $$[$0];
+ s = s.substr(1, s.length - 2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ if (s[0] == '#') {
+ this.$ = { into: new yy.FuncValue({ funcid: 'HTML', args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ else if (x3 == 'XLS' || x3 == 'CSV' || x3 == 'TAB') {
+ this.$ = { into: new yy.FuncValue({ funcid: x3, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ else if (x4 == 'XLSX' || x4 == 'JSON') {
+ this.$ = { into: new yy.FuncValue({ funcid: x4, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] }) };
+ }
+ break;
+ case 169:
+ this.$ = { from: $$[$0] };
+ break;
+ case 170:
+ this.$ = { from: $$[$0 - 1], joins: $$[$0] };
+ break;
+ case 171:
+ this.$ = { from: $$[$0 - 2], joins: $$[$0 - 1] };
+ break;
+ case 173:
+ this.$ = new yy.Apply({ select: $$[$0 - 2], applymode: 'CROSS', as: $$[$0] });
+ break;
+ case 174:
+ this.$ = new yy.Apply({ select: $$[$0 - 3], applymode: 'CROSS', as: $$[$0] });
+ break;
+ case 175:
+ this.$ = new yy.Apply({ select: $$[$0 - 2], applymode: 'OUTER', as: $$[$0] });
+ break;
+ case 176:
+ this.$ = new yy.Apply({ select: $$[$0 - 3], applymode: 'OUTER', as: $$[$0] });
+ break;
+ case 178:
+ case 243:
+ case 452:
+ case 530:
+ case 531:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 179:
+ this.$ = $$[$0 - 2];
+ this.$.as = $$[$0];
+ break;
+ case 180:
+ this.$ = $$[$0 - 3];
+ this.$.as = $$[$0];
+ break;
+ case 181:
+ this.$ = $$[$0 - 1];
+ this.$.as = 'default';
+ break;
+ case 182:
+ this.$ = new yy.Json({ value: $$[$0 - 2] });
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 183:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].as = $$[$0];
+ break;
+ case 184:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 186:
+ case 638:
+ case 641:
+ this.$ = $$[$0 - 2];
+ break;
+ case 187:
+ case 191:
+ case 195:
+ case 198:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].as = $$[$0];
+ break;
+ case 188:
+ case 192:
+ case 196:
+ case 199:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].as = $$[$0];
+ break;
+ case 189:
+ case 190:
+ case 194:
+ case 197:
+ this.$ = $$[$0];
+ $$[$0].as = 'default';
+ break;
+ case 193:
+ this.$ = { inserted: true };
+ $$[$0].as = 'default';
+ break;
+ case 200:
+ var s = $$[$0];
+ s = s.substr(1, s.length - 2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ var r;
+ if (s[0] == '#') {
+ r = new yy.FuncValue({ funcid: 'HTML', args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else if (x3 == 'XLS' || x3 == 'CSV' || x3 == 'TAB') {
+ r = new yy.FuncValue({ funcid: x3, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else if (x4 == 'XLSX' || x4 == 'JSON') {
+ r = new yy.FuncValue({ funcid: x4, args: [new yy.StringValue({ value: s }), new yy.Json({ value: { headers: true } })] });
+ }
+ else {
+ throw new Error('Unknown string in FROM clause');
+ }
+ this.$ = r;
+ break;
+ case 201:
+ if ($$[$0 - 2] == 'INFORMATION_SCHEMA') {
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 2], args: [new yy.StringValue({ value: $$[$0] })] });
+ }
+ else {
+ this.$ = new yy.Table({ databaseid: $$[$0 - 2], tableid: $$[$0] });
+ }
+ break;
+ case 202:
+ this.$ = new yy.Table({ tableid: $$[$0] });
+ break;
+ case 203:
+ case 204:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].push($$[$0]);
+ break;
+ case 207:
+ this.$ = new yy.Join($$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 208:
+ this.$ = { table: $$[$0] };
+ break;
+ case 209:
+ this.$ = { table: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 210:
+ this.$ = { table: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 211:
+ this.$ = { json: new yy.Json({ value: $$[$0 - 2], as: $$[$0] }) };
+ break;
+ case 212:
+ this.$ = { param: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 213:
+ this.$ = { param: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 214:
+ this.$ = { select: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 215:
+ this.$ = { select: $$[$0 - 3], as: $$[$0] };
+ break;
+ case 216:
+ this.$ = { funcid: $$[$0], as: 'default' };
+ break;
+ case 217:
+ this.$ = { funcid: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 218:
+ this.$ = { funcid: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 219:
+ this.$ = { variable: $$[$0], as: 'default' };
+ break;
+ case 220:
+ this.$ = { variable: $$[$0 - 1], as: $$[$0] };
+ break;
+ case 221:
+ this.$ = { variable: $$[$0 - 2], as: $$[$0] };
+ break;
+ case 222:
+ this.$ = { joinmode: $$[$0] };
+ break;
+ case 223:
+ this.$ = { joinmode: $$[$0 - 1], natural: true };
+ break;
+ case 224:
+ case 225:
+ this.$ = "INNER";
+ break;
+ case 226:
+ case 227:
+ this.$ = "LEFT";
+ break;
+ case 228:
+ case 229:
+ this.$ = "RIGHT";
+ break;
+ case 230:
+ case 231:
+ this.$ = "OUTER";
+ break;
+ case 232:
+ this.$ = "SEMI";
+ break;
+ case 233:
+ this.$ = "ANTI";
+ break;
+ case 234:
+ this.$ = "CROSS";
+ break;
+ case 235:
+ this.$ = { on: $$[$0] };
+ break;
+ case 236:
+ case 697:
+ this.$ = { using: $$[$0] };
+ break;
+ case 239:
+ this.$ = { where: new yy.Expression({ expression: $$[$0] }) };
+ break;
+ case 241:
+ this.$ = { group: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 244:
+ this.$ = new yy.GroupExpression({ type: 'GROUPING SETS', group: $$[$0 - 1] });
+ break;
+ case 245:
+ this.$ = new yy.GroupExpression({ type: 'ROLLUP', group: $$[$0 - 1] });
+ break;
+ case 246:
+ this.$ = new yy.GroupExpression({ type: 'CUBE', group: $$[$0 - 1] });
+ break;
+ case 249:
+ this.$ = { having: $$[$0] };
+ break;
+ case 251:
+ this.$ = { union: $$[$0] };
+ break;
+ case 252:
+ this.$ = { unionall: $$[$0] };
+ break;
+ case 253:
+ this.$ = { except: $$[$0] };
+ break;
+ case 254:
+ this.$ = { intersect: $$[$0] };
+ break;
+ case 255:
+ this.$ = { union: $$[$0], corresponding: true };
+ break;
+ case 256:
+ this.$ = { unionall: $$[$0], corresponding: true };
+ break;
+ case 257:
+ this.$ = { except: $$[$0], corresponding: true };
+ break;
+ case 258:
+ this.$ = { intersect: $$[$0], corresponding: true };
+ break;
+ case 260:
+ this.$ = { order: $$[$0] };
+ break;
+ case 262:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 263:
+ this.$ = new yy.Expression({ expression: $$[$0], direction: 'ASC' });
+ break;
+ case 264:
+ this.$ = new yy.Expression({ expression: $$[$0 - 1], direction: $$[$0].toUpperCase() });
+ break;
+ case 265:
+ this.$ = new yy.Expression({ expression: $$[$0 - 2], direction: 'ASC', nocase: true });
+ break;
+ case 266:
+ this.$ = new yy.Expression({ expression: $$[$0 - 3], direction: $$[$0].toUpperCase(), nocase: true });
+ break;
+ case 268:
+ this.$ = { limit: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 269:
+ this.$ = { limit: $$[$0 - 2], offset: $$[$0 - 6] };
+ break;
+ case 271:
+ this.$ = { offset: $$[$0] };
+ break;
+ case 272:
+ case 509:
+ case 533:
+ case 648:
+ case 658:
+ case 682:
+ case 684:
+ case 688:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 274:
+ case 276:
+ case 278:
+ $$[$0 - 2].as = $$[$0];
+ this.$ = $$[$0 - 2];
+ break;
+ case 275:
+ case 277:
+ case 279:
+ $$[$0 - 1].as = $$[$0];
+ this.$ = $$[$0 - 1];
+ break;
+ case 281:
+ this.$ = new yy.Column({ columid: $$[$0], tableid: $$[$0 - 2], databaseid: $$[$0 - 4] });
+ break;
+ case 282:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2] });
+ break;
+ case 283:
+ this.$ = new yy.Column({ columnid: $$[$0] });
+ break;
+ case 284:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2], databaseid: $$[$0 - 4] });
+ break;
+ case 285:
+ case 286:
+ this.$ = new yy.Column({ columnid: $$[$0], tableid: $$[$0 - 2] });
+ break;
+ case 287:
+ this.$ = new yy.Column({ columnid: $$[$0] });
+ break;
+ case 302:
+ this.$ = new yy.DomainValueValue();
+ break;
+ case 303:
+ this.$ = new yy.Json({ value: $$[$0] });
+ break;
+ case 306:
+ case 307:
+ case 308:
+ if (!yy.queries)
+ { yy.queries = []; }
+ yy.queries.push($$[$0 - 1]);
+ $$[$0 - 1].queriesidx = yy.queries.length;
+ this.$ = $$[$0 - 1];
+ break;
+ case 309:
+ this.$ = $$[$0];
+ break;
+ case 310:
+ this.$ = new yy.FuncValue({ funcid: 'CURRENT_TIMESTAMP' });
+ break;
+ case 311:
+ this.$ = new yy.JavaScript({ value: $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 312:
+ this.$ = new yy.JavaScript({ value: 'alasql.fn["' + $$[$0 - 2] + '"] = ' + $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 313:
+ this.$ = new yy.JavaScript({ value: 'alasql.aggr["' + $$[$0 - 2] + '"] = ' + $$[$0].substr(2, $$[$0].length - 4) });
+ break;
+ case 314:
+ this.$ = new yy.FuncValue({ funcid: $$[$0], newid: true });
+ break;
+ case 315:
+ this.$ = $$[$0];
+ yy.extend(this.$, { newid: true });
+ break;
+ case 316:
+ this.$ = new yy.Convert({ expression: $$[$0 - 3] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 317:
+ this.$ = new yy.Convert({ expression: $$[$0 - 5], style: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 3]);
+ break;
+ case 318:
+ this.$ = new yy.Convert({ expression: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 3]);
+ break;
+ case 319:
+ this.$ = new yy.Convert({ expression: $$[$0 - 3], style: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 5]);
+ break;
+ case 326:
+ this.$ = new yy.FuncValue({ funcid: 'CURRENT_TIMESTAMP' });
+ break;
+ case 327:
+ if ($$[$0 - 2].length > 1 && ($$[$0 - 4].toUpperCase() == 'MAX' || $$[$0 - 4].toUpperCase() == 'MIN')) {
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 4], args: $$[$0 - 2] });
+ }
+ else {
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 4].toUpperCase(), expression: $$[$0 - 2].pop(), over: $$[$0] });
+ }
+ break;
+ case 328:
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 5].toUpperCase(), expression: $$[$0 - 2], distinct: true, over: $$[$0] });
+ break;
+ case 329:
+ this.$ = new yy.AggrValue({ aggregatorid: $$[$0 - 5].toUpperCase(), expression: $$[$0 - 2],
+ over: $$[$0] });
+ break;
+ case 331:
+ case 332:
+ this.$ = new yy.Over();
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 333:
+ this.$ = new yy.Over();
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 334:
+ this.$ = { partition: $$[$0] };
+ break;
+ case 335:
+ this.$ = { order: $$[$0] };
+ break;
+ case 336:
+ this.$ = "SUM";
+ break;
+ case 337:
+ this.$ = "COUNT";
+ break;
+ case 338:
+ this.$ = "MIN";
+ break;
+ case 339:
+ case 544:
+ this.$ = "MAX";
+ break;
+ case 340:
+ this.$ = "AVG";
+ break;
+ case 341:
+ this.$ = "FIRST";
+ break;
+ case 342:
+ this.$ = "LAST";
+ break;
+ case 343:
+ this.$ = "AGGR";
+ break;
+ case 344:
+ this.$ = "ARRAY";
+ break;
+ case 345:
+ var funcid = $$[$0 - 4];
+ var exprlist = $$[$0 - 1];
+ if (exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
+ this.$ = new yy.FuncValue({ funcid: funcid, args: exprlist });
+ }
+ else if (yy.isInAggr($$[$0 - 4])) {
+ this.$ = new yy.AggrValue({ aggregatorid: 'REDUCE',
+ funcid: funcid, expression: exprlist.pop(), distinct: ($$[$0 - 2] == 'DISTINCT') });
+ }
+ else {
+ this.$ = new yy.FuncValue({ funcid: funcid, args: exprlist });
+ }
+ break;
+ case 346:
+ this.$ = new yy.FuncValue({ funcid: $$[$0 - 2] });
+ break;
+ case 347:
+ this.$ = new yy.FuncValue({ funcid: 'IIF', args: $$[$0 - 1] });
+ break;
+ case 348:
+ this.$ = new yy.FuncValue({ funcid: 'REPLACE', args: $$[$0 - 1] });
+ break;
+ case 349:
+ this.$ = new yy.FuncValue({ funcid: 'DATEADD', args: [new yy.StringValue({ value: $$[$0 - 5] }), $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 350:
+ this.$ = new yy.FuncValue({ funcid: 'DATEADD', args: [$$[$0 - 5], $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 351:
+ this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args: [new yy.StringValue({ value: $$[$0 - 5] }), $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 352:
+ this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args: [$$[$0 - 5], $$[$0 - 3], $$[$0 - 1]] });
+ break;
+ case 353:
+ this.$ = new yy.FuncValue({ funcid: 'INTERVAL', args: [$$[$0 - 1], new yy.StringValue({ value: ($$[$0]).toLowerCase() })] });
+ break;
+ case 355:
+ $$[$0 - 2].push($$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 356:
+ this.$ = new yy.NumValue({ value: +$$[$0] });
+ break;
+ case 357:
+ this.$ = new yy.LogicValue({ value: true });
+ break;
+ case 358:
+ this.$ = new yy.LogicValue({ value: false });
+ break;
+ case 359:
+ this.$ = new yy.StringValue({ value: $$[$0].substr(1, $$[$0].length - 2).replace(/(\\\')/g, "'").replace(/(\'\')/g, "'") });
+ break;
+ case 360:
+ this.$ = new yy.StringValue({ value: $$[$0].substr(2, $$[$0].length - 3).replace(/(\\\')/g, "'").replace(/(\'\')/g, "'") });
+ break;
+ case 361:
+ this.$ = new yy.NullValue({ value: undefined });
+ break;
+ case 362:
+ this.$ = new yy.VarValue({ variable: $$[$0] });
+ break;
+ case 363:
+ if (!yy.exists)
+ { yy.exists = []; }
+ this.$ = new yy.ExistsValue({ value: $$[$0 - 1], existsidx: yy.exists.length });
+ yy.exists.push($$[$0 - 1]);
+ break;
+ case 364:
+ this.$ = new yy.ArrayValue({ value: $$[$0 - 1] });
+ break;
+ case 365:
+ case 366:
+ this.$ = new yy.ParamValue({ param: $$[$0] });
+ break;
+ case 367:
+ if (typeof yy.question == 'undefined')
+ { yy.question = 0; }
+ this.$ = new yy.ParamValue({ param: yy.question++ });
+ break;
+ case 368:
+ if (typeof yy.question == 'undefined')
+ { yy.question = 0; }
+ this.$ = new yy.ParamValue({ param: yy.question++, array: true });
+ break;
+ case 369:
+ this.$ = new yy.CaseValue({ expression: $$[$0 - 3], whens: $$[$0 - 2], elses: $$[$0 - 1] });
+ break;
+ case 370:
+ this.$ = new yy.CaseValue({ whens: $$[$0 - 2], elses: $$[$0 - 1] });
+ break;
+ case 371:
+ case 699:
+ case 700:
+ this.$ = $$[$0 - 1];
+ this.$.push($$[$0]);
+ break;
+ case 373:
+ this.$ = { when: $$[$0 - 2], then: $$[$0] };
+ break;
+ case 376:
+ case 377:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'REGEXP', right: $$[$0] });
+ break;
+ case 378:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'GLOB', right: $$[$0] });
+ break;
+ case 379:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'LIKE', right: $$[$0] });
+ break;
+ case 380:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'LIKE', right: $$[$0 - 2], escape: $$[$0] });
+ break;
+ case 381:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'NOT LIKE', right: $$[$0] });
+ break;
+ case 382:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'NOT LIKE', right: $$[$0 - 2], escape: $$[$0] });
+ break;
+ case 383:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '||', right: $$[$0] });
+ break;
+ case 384:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '+', right: $$[$0] });
+ break;
+ case 385:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '-', right: $$[$0] });
+ break;
+ case 386:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '*', right: $$[$0] });
+ break;
+ case 387:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '/', right: $$[$0] });
+ break;
+ case 388:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '%', right: $$[$0] });
+ break;
+ case 389:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '^', right: $$[$0] });
+ break;
+ case 390:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>>', right: $$[$0] });
+ break;
+ case 391:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<<', right: $$[$0] });
+ break;
+ case 392:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '&', right: $$[$0] });
+ break;
+ case 393:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '|', right: $$[$0] });
+ break;
+ case 394:
+ case 395:
+ case 397:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '->', right: $$[$0] });
+ break;
+ case 396:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: '->', right: $$[$0 - 1] });
+ break;
+ case 398:
+ case 399:
+ case 401:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!', right: $$[$0] });
+ break;
+ case 400:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: '!', right: $$[$0 - 1] });
+ break;
+ case 402:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>', right: $$[$0] });
+ break;
+ case 403:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '>=', right: $$[$0] });
+ break;
+ case 404:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<', right: $$[$0] });
+ break;
+ case 405:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '<=', right: $$[$0] });
+ break;
+ case 406:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '=', right: $$[$0] });
+ break;
+ case 407:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '==', right: $$[$0] });
+ break;
+ case 408:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '===', right: $$[$0] });
+ break;
+ case 409:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!=', right: $$[$0] });
+ break;
+ case 410:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!==', right: $$[$0] });
+ break;
+ case 411:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: '!===', right: $$[$0] });
+ break;
+ case 412:
+ if (!yy.queries)
+ { yy.queries = []; }
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: $$[$0 - 4], allsome: $$[$0 - 3], right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 413:
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: $$[$0 - 4], allsome: $$[$0 - 3], right: $$[$0 - 1] });
+ break;
+ case 414:
+ if ($$[$0 - 2].op == 'BETWEEN1') {
+ if ($$[$0 - 2].left.op == 'AND') {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left.left, op: 'AND', right: new yy.Op({ left: $$[$0 - 2].left.right, op: 'BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] })
+ });
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left, op: 'BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] });
+ }
+ }
+ else if ($$[$0 - 2].op == 'NOT BETWEEN1') {
+ if ($$[$0 - 2].left.op == 'AND') {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left.left, op: 'AND', right: new yy.Op({ left: $$[$0 - 2].left.right, op: 'NOT BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] })
+ });
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2].left, op: 'NOT BETWEEN',
+ right1: $$[$0 - 2].right, right2: $$[$0] });
+ }
+ }
+ else {
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'AND', right: $$[$0] });
+ }
+ break;
+ case 415:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'OR', right: $$[$0] });
+ break;
+ case 416:
+ this.$ = new yy.UniOp({ op: 'NOT', right: $$[$0] });
+ break;
+ case 417:
+ this.$ = new yy.UniOp({ op: '-', right: $$[$0] });
+ break;
+ case 418:
+ this.$ = new yy.UniOp({ op: '+', right: $$[$0] });
+ break;
+ case 419:
+ this.$ = new yy.UniOp({ op: '~', right: $$[$0] });
+ break;
+ case 420:
+ this.$ = new yy.UniOp({ op: '#', right: $$[$0] });
+ break;
+ case 421:
+ this.$ = new yy.UniOp({ right: $$[$0 - 1] });
+ break;
+ case 422:
+ if (!yy.queries)
+ { yy.queries = []; }
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'IN', right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 423:
+ if (!yy.queries)
+ { yy.queries = []; }
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: 'NOT IN', right: $$[$0 - 1], queriesidx: yy.queries.length });
+ yy.queries.push($$[$0 - 1]);
+ break;
+ case 424:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'IN', right: $$[$0 - 1] });
+ break;
+ case 425:
+ this.$ = new yy.Op({ left: $$[$0 - 5], op: 'NOT IN', right: $$[$0 - 1] });
+ break;
+ case 426:
+ this.$ = new yy.Op({ left: $$[$0 - 3], op: 'IN', right: [] });
+ break;
+ case 427:
+ this.$ = new yy.Op({ left: $$[$0 - 4], op: 'NOT IN', right: [] });
+ break;
+ case 428:
+ case 430:
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'IN', right: $$[$0] });
+ break;
+ case 429:
+ case 431:
+ this.$ = new yy.Op({ left: $$[$0 - 3], op: 'NOT IN', right: $$[$0] });
+ break;
+ case 432:
+ /* var expr = $$[$0];
+ if(expr.left && expr.left.op == 'AND') {
+ this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
+ } else {
+ */
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'BETWEEN1', right: $$[$0] });
+ // }
+ break;
+ case 433:
+ // var expr = $$[$0];
+ // if(expr.left && expr.left.op == 'AND') {
+ // this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'NOT BETWEEN', right:expr.left}), op:'AND', right:expr.right });
+ // } else {
+ this.$ = new yy.Op({ left: $$[$0 - 2], op: 'NOT BETWEEN1', right: $$[$0] });
+ // }
+ break;
+ case 434:
+ this.$ = new yy.Op({ op: 'IS', left: $$[$0 - 2], right: $$[$0] });
+ break;
+ case 435:
+ this.$ = new yy.Op({
+ op: 'IS',
+ left: $$[$0 - 2],
+ right: new yy.UniOp({
+ op: 'NOT',
+ right: new yy.NullValue({ value: undefined })
+ })
+ });
+ break;
+ case 436:
+ this.$ = new yy.Convert({ expression: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 437:
+ case 438:
+ this.$ = $$[$0];
+ break;
+ case 439:
+ this.$ = $$[$0 - 1];
+ break;
+ case 446:
+ this.$ = 'ALL';
+ break;
+ case 447:
+ this.$ = 'SOME';
+ break;
+ case 448:
+ this.$ = 'ANY';
+ break;
+ case 449:
+ this.$ = new yy.Update({ table: $$[$0 - 4], columns: $$[$0 - 2], where: $$[$0] });
+ break;
+ case 450:
+ this.$ = new yy.Update({ table: $$[$0 - 2], columns: $$[$0] });
+ break;
+ case 453:
+ this.$ = new yy.SetColumn({ column: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 454:
+ this.$ = new yy.SetColumn({ variable: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 3] });
+ break;
+ case 455:
+ this.$ = new yy.Delete({ table: $$[$0 - 2], where: $$[$0] });
+ break;
+ case 456:
+ this.$ = new yy.Delete({ table: $$[$0] });
+ break;
+ case 457:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], values: $$[$0] });
+ break;
+ case 458:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], values: $$[$0] });
+ break;
+ case 459:
+ case 461:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], values: $$[$0], orreplace: true });
+ break;
+ case 460:
+ case 462:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], values: $$[$0], orreplace: true });
+ break;
+ case 463:
+ this.$ = new yy.Insert({ into: $$[$0 - 2], "default": true });
+ break;
+ case 464:
+ this.$ = new yy.Insert({ into: $$[$0 - 5], columns: $$[$0 - 3], values: $$[$0] });
+ break;
+ case 465:
+ this.$ = new yy.Insert({ into: $$[$0 - 4], columns: $$[$0 - 2], values: $$[$0] });
+ break;
+ case 466:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], select: $$[$0] });
+ break;
+ case 467:
+ this.$ = new yy.Insert({ into: $$[$0 - 1], select: $$[$0], orreplace: true });
+ break;
+ case 468:
+ this.$ = new yy.Insert({ into: $$[$0 - 4], columns: $$[$0 - 2], select: $$[$0] });
+ break;
+ case 473:
+ this.$ = [$$[$0 - 1]];
+ break;
+ case 476:
+ this.$ = $$[$0 - 4];
+ $$[$0 - 4].push($$[$0 - 1]);
+ break;
+ case 477:
+ case 478:
+ case 480:
+ case 488:
+ this.$ = $$[$0 - 2];
+ $$[$0 - 2].push($$[$0]);
+ break;
+ case 489:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 4] });
+ yy.extend(this.$, $$[$0 - 7]);
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 5]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 490:
+ this.$ = new yy.CreateTable({ table: $$[$0] });
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 492:
+ this.$ = { class: true };
+ break;
+ case 502:
+ this.$ = { temporary: true };
+ break;
+ case 504:
+ this.$ = { ifnotexists: true };
+ break;
+ case 505:
+ this.$ = { columns: $$[$0 - 2], constraints: $$[$0] };
+ break;
+ case 506:
+ this.$ = { columns: $$[$0] };
+ break;
+ case 507:
+ this.$ = { as: $$[$0] };
+ break;
+ case 508:
+ case 532:
+ this.$ = [$$[$0]];
+ break;
+ case 510:
+ case 511:
+ case 512:
+ case 513:
+ case 514:
+ $$[$0].constraintid = $$[$0 - 1];
+ this.$ = $$[$0];
+ break;
+ case 517:
+ this.$ = { type: 'CHECK', expression: $$[$0 - 1] };
+ break;
+ case 518:
+ this.$ = { type: 'PRIMARY KEY', columns: $$[$0 - 1], clustered: ($$[$0 - 3] + '').toUpperCase() };
+ break;
+ case 519:
+ this.$ = { type: 'FOREIGN KEY', columns: $$[$0 - 5], fktable: $$[$0 - 2], fkcolumns: $$[$0 - 1] };
+ break;
+ case 525:
+ this.$ = { type: 'UNIQUE', columns: $$[$0 - 1], clustered: ($$[$0 - 3] + '').toUpperCase() };
+ break;
+ case 534:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0 - 1]);
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 535:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 536:
+ this.$ = new yy.ColumnDef({ columnid: $$[$0], dbtypeid: '' });
+ break;
+ case 537:
+ this.$ = { dbtypeid: $$[$0 - 5], dbsize: $$[$0 - 3], dbprecision: +$$[$0 - 1] };
+ break;
+ case 538:
+ this.$ = { dbtypeid: $$[$0 - 3], dbsize: $$[$0 - 1] };
+ break;
+ case 539:
+ this.$ = { dbtypeid: $$[$0] };
+ break;
+ case 540:
+ this.$ = { dbtypeid: 'ENUM', enumvalues: $$[$0 - 1] };
+ break;
+ case 541:
+ this.$ = $$[$0 - 1];
+ $$[$0 - 1].dbtypeid += '[' + $$[$0] + ']';
+ break;
+ case 543:
+ case 750:
+ this.$ = +$$[$0];
+ break;
+ case 545:
+ this.$ = undefined;
+ break;
+ case 547:
+ yy.extend($$[$0 - 1], $$[$0]);
+ this.$ = $$[$0 - 1];
+ break;
+ case 550:
+ this.$ = { primarykey: true };
+ break;
+ case 551:
+ case 552:
+ this.$ = { foreignkey: { table: $$[$0 - 1], columnid: $$[$0] } };
+ break;
+ case 553:
+ this.$ = { identity: { value: $$[$0 - 3], step: $$[$0 - 1] } };
+ break;
+ case 554:
+ this.$ = { identity: { value: 1, step: 1 } };
+ break;
+ case 555:
+ case 557:
+ this.$ = { "default": $$[$0] };
+ break;
+ case 556:
+ this.$ = { "default": $$[$0 - 1] };
+ break;
+ case 558:
+ this.$ = { null: true };
+ break;
+ case 559:
+ this.$ = { notnull: true };
+ break;
+ case 560:
+ this.$ = { check: $$[$0] };
+ break;
+ case 561:
+ this.$ = { unique: true };
+ break;
+ case 562:
+ this.$ = { "onupdate": $$[$0] };
+ break;
+ case 563:
+ this.$ = { "onupdate": $$[$0 - 1] };
+ break;
+ case 564:
+ this.$ = new yy.DropTable({ tables: $$[$0], type: $$[$0 - 2] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 568:
+ this.$ = { ifexists: true };
+ break;
+ case 569:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], renameto: $$[$0] });
+ break;
+ case 570:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], addcolumn: $$[$0] });
+ break;
+ case 571:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], modifycolumn: $$[$0] });
+ break;
+ case 572:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 5], renamecolumn: $$[$0 - 2], to: $$[$0] });
+ break;
+ case 573:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 3], dropcolumn: $$[$0] });
+ break;
+ case 574:
+ this.$ = new yy.AlterTable({ table: $$[$0 - 2], renameto: $$[$0] });
+ break;
+ case 575:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0], engineid: $$[$0 - 2].toUpperCase() });
+ break;
+ case 576:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 3], engineid: $$[$0 - 5].toUpperCase(), args: $$[$0 - 1] });
+ break;
+ case 577:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 2], engineid: $$[$0 - 4].toUpperCase(), as: $$[$0] });
+ break;
+ case 578:
+ this.$ = new yy.AttachDatabase({ databaseid: $$[$0 - 5], engineid: $$[$0 - 7].toUpperCase(), as: $$[$0], args: $$[$0 - 3] });
+ break;
+ case 579:
+ this.$ = new yy.DetachDatabase({ databaseid: $$[$0] });
+ break;
+ case 580:
+ this.$ = new yy.CreateDatabase({ databaseid: $$[$0] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 581:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 4].toUpperCase(), databaseid: $$[$0 - 1], as: $$[$0] });
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 582:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 7].toUpperCase(), databaseid: $$[$0 - 4], args: $$[$0 - 2], as: $$[$0] });
+ yy.extend(this.$, $$[$0 - 5]);
+ break;
+ case 583:
+ this.$ = new yy.CreateDatabase({ engineid: $$[$0 - 4].toUpperCase(),
+ as: $$[$0], args: [$$[$0 - 1]] });
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 584:
+ this.$ = undefined;
+ break;
+ case 586:
+ case 587:
+ this.$ = new yy.UseDatabase({ databaseid: $$[$0] });
+ break;
+ case 588:
+ this.$ = new yy.DropDatabase({ databaseid: $$[$0] });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 589:
+ case 590:
+ this.$ = new yy.DropDatabase({ databaseid: $$[$0], engineid: $$[$0 - 3].toUpperCase() });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 591:
+ this.$ = new yy.CreateIndex({ indexid: $$[$0 - 5], table: $$[$0 - 3], columns: $$[$0 - 1] });
+ break;
+ case 592:
+ this.$ = new yy.CreateIndex({ indexid: $$[$0 - 5], table: $$[$0 - 3], columns: $$[$0 - 1], unique: true });
+ break;
+ case 593:
+ this.$ = new yy.DropIndex({ indexid: $$[$0] });
+ break;
+ case 594:
+ this.$ = new yy.ShowDatabases();
+ break;
+ case 595:
+ this.$ = new yy.ShowDatabases({ like: $$[$0] });
+ break;
+ case 596:
+ this.$ = new yy.ShowDatabases({ engineid: $$[$0 - 1].toUpperCase() });
+ break;
+ case 597:
+ this.$ = new yy.ShowDatabases({ engineid: $$[$0 - 3].toUpperCase(), like: $$[$0] });
+ break;
+ case 598:
+ this.$ = new yy.ShowTables();
+ break;
+ case 599:
+ this.$ = new yy.ShowTables({ like: $$[$0] });
+ break;
+ case 600:
+ this.$ = new yy.ShowTables({ databaseid: $$[$0] });
+ break;
+ case 601:
+ this.$ = new yy.ShowTables({ like: $$[$0], databaseid: $$[$0 - 2] });
+ break;
+ case 602:
+ this.$ = new yy.ShowColumns({ table: $$[$0] });
+ break;
+ case 603:
+ this.$ = new yy.ShowColumns({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 604:
+ this.$ = new yy.ShowIndex({ table: $$[$0] });
+ break;
+ case 605:
+ this.$ = new yy.ShowIndex({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 606:
+ this.$ = new yy.ShowCreateTable({ table: $$[$0] });
+ break;
+ case 607:
+ this.$ = new yy.ShowCreateTable({ table: $$[$0 - 2], databaseid: $$[$0] });
+ break;
+ case 608:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 6], view: true, select: $$[$0 - 1], viewcolumns: $$[$0 - 4] });
+ yy.extend(this.$, $$[$0 - 9]);
+ yy.extend(this.$, $$[$0 - 7]);
+ break;
+ case 609:
+ this.$ = new yy.CreateTable({ table: $$[$0 - 3], view: true, select: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0 - 6]);
+ yy.extend(this.$, $$[$0 - 4]);
+ break;
+ case 613:
+ this.$ = new yy.DropTable({ tables: $$[$0], view: true });
+ yy.extend(this.$, $$[$0 - 1]);
+ break;
+ case 614:
+ case 760:
+ this.$ = new yy.ExpressionStatement({ expression: $$[$0] });
+ break;
+ case 615:
+ this.$ = new yy.Source({ url: $$[$0].value });
+ break;
+ case 616:
+ this.$ = new yy.Assert({ value: $$[$0] });
+ break;
+ case 617:
+ this.$ = new yy.Assert({ value: $$[$0].value });
+ break;
+ case 618:
+ this.$ = new yy.Assert({ value: $$[$0], message: $$[$0 - 2] });
+ break;
+ case 620:
+ case 631:
+ case 633:
+ this.$ = $$[$0].value;
+ break;
+ case 621:
+ case 629:
+ this.$ = +$$[$0].value;
+ break;
+ case 622:
+ this.$ = (!!$$[$0].value);
+ break;
+ case 630:
+ this.$ = "" + $$[$0].value;
+ break;
+ case 639:
+ this.$ = {};
+ break;
+ case 642:
+ this.$ = [];
+ break;
+ case 643:
+ yy.extend($$[$0 - 2], $$[$0]);
+ this.$ = $$[$0 - 2];
+ break;
+ case 645:
+ this.$ = {};
+ this.$[$$[$0 - 2].substr(1, $$[$0 - 2].length - 2)] = $$[$0];
+ break;
+ case 646:
+ case 647:
+ this.$ = {};
+ this.$[$$[$0 - 2]] = $$[$0];
+ break;
+ case 650:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2].toLowerCase(), value: $$[$0] });
+ break;
+ case 651:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 1].toLowerCase(), value: $$[$0] });
+ break;
+ case 652:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 653:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 3], props: $$[$0 - 2], expression: $$[$0] });
+ break;
+ case 654:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 3] });
+ break;
+ case 655:
+ this.$ = new yy.SetVariable({ variable: $$[$0 - 3], props: $$[$0 - 2], expression: $$[$0], method: $$[$0 - 4] });
+ break;
+ case 656:
+ this.$ = '@';
+ break;
+ case 657:
+ this.$ = '$';
+ break;
+ case 663:
+ this.$ = true;
+ break;
+ case 664:
+ this.$ = false;
+ break;
+ case 665:
+ this.$ = new yy.CommitTransaction();
+ break;
+ case 666:
+ this.$ = new yy.RollbackTransaction();
+ break;
+ case 667:
+ this.$ = new yy.BeginTransaction();
+ break;
+ case 668:
+ this.$ = new yy.If({ expression: $$[$0 - 2], thenstat: $$[$0 - 1], elsestat: $$[$0] });
+ if ($$[$0 - 1].exists)
+ { this.$.exists = $$[$0 - 1].exists; }
+ if ($$[$0 - 1].queries)
+ { this.$.queries = $$[$0 - 1].queries; }
+ break;
+ case 669:
+ this.$ = new yy.If({ expression: $$[$0 - 1], thenstat: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 670:
+ this.$ = $$[$0];
+ break;
+ case 671:
+ this.$ = new yy.While({ expression: $$[$0 - 1], loopstat: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 672:
+ this.$ = new yy.Continue();
+ break;
+ case 673:
+ this.$ = new yy.Break();
+ break;
+ case 674:
+ this.$ = new yy.BeginEnd({ statements: $$[$0 - 1] });
+ break;
+ case 675:
+ this.$ = new yy.Print({ exprs: $$[$0] });
+ break;
+ case 676:
+ this.$ = new yy.Print({ select: $$[$0] });
+ break;
+ case 677:
+ this.$ = new yy.Require({ paths: $$[$0] });
+ break;
+ case 678:
+ this.$ = new yy.Require({ plugins: $$[$0] });
+ break;
+ case 679:
+ case 680:
+ this.$ = $$[$0].toUpperCase();
+ break;
+ case 681:
+ this.$ = new yy.Echo({ expr: $$[$0] });
+ break;
+ case 686:
+ this.$ = new yy.Declare({ declares: $$[$0] });
+ break;
+ case 689:
+ this.$ = { variable: $$[$0 - 1] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 690:
+ this.$ = { variable: $$[$0 - 2] };
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 691:
+ this.$ = { variable: $$[$0 - 3], expression: $$[$0] };
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 692:
+ this.$ = { variable: $$[$0 - 4], expression: $$[$0] };
+ yy.extend(this.$, $$[$0 - 2]);
+ break;
+ case 693:
+ this.$ = new yy.TruncateTable({ table: $$[$0] });
+ break;
+ case 694:
+ this.$ = new yy.Merge();
+ yy.extend(this.$, $$[$0 - 4]);
+ yy.extend(this.$, $$[$0 - 3]);
+ yy.extend(this.$, $$[$0 - 2]);
+ yy.extend(this.$, { matches: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 695:
+ case 696:
+ this.$ = { into: $$[$0] };
+ break;
+ case 698:
+ this.$ = { on: $$[$0] };
+ break;
+ case 703:
+ this.$ = { matched: true, action: $$[$0] };
+ break;
+ case 704:
+ this.$ = { matched: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 705:
+ this.$ = { delete: true };
+ break;
+ case 706:
+ this.$ = { update: $$[$0] };
+ break;
+ case 707:
+ case 708:
+ this.$ = { matched: false, bytarget: true, action: $$[$0] };
+ break;
+ case 709:
+ case 710:
+ this.$ = { matched: false, bytarget: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 711:
+ this.$ = { matched: false, bysource: true, action: $$[$0] };
+ break;
+ case 712:
+ this.$ = { matched: false, bysource: true, expr: $$[$0 - 2], action: $$[$0] };
+ break;
+ case 713:
+ this.$ = { insert: true, values: $$[$0] };
+ break;
+ case 714:
+ this.$ = { insert: true, values: $$[$0], columns: $$[$0 - 3] };
+ break;
+ case 715:
+ this.$ = { insert: true, defaultvalues: true };
+ break;
+ case 716:
+ this.$ = { insert: true, defaultvalues: true, columns: $$[$0 - 3] };
+ break;
+ case 718:
+ this.$ = { output: { columns: $$[$0] } };
+ break;
+ case 719:
+ this.$ = { output: { columns: $$[$0 - 3], intovar: $$[$0], method: $$[$0 - 1] } };
+ break;
+ case 720:
+ this.$ = { output: { columns: $$[$0 - 2], intotable: $$[$0] } };
+ break;
+ case 721:
+ this.$ = { output: { columns: $$[$0 - 5], intotable: $$[$0 - 3], intocolumns: $$[$0 - 1] } };
+ break;
+ case 722:
+ this.$ = new yy.CreateVertex({ class: $$[$0 - 3], sharp: $$[$0 - 2], name: $$[$0 - 1] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 725:
+ this.$ = { sets: $$[$0] };
+ break;
+ case 726:
+ this.$ = { content: $$[$0] };
+ break;
+ case 727:
+ this.$ = { select: $$[$0] };
+ break;
+ case 728:
+ this.$ = new yy.CreateEdge({ from: $$[$0 - 3], to: $$[$0 - 1], name: $$[$0 - 5] });
+ yy.extend(this.$, $$[$0]);
+ break;
+ case 729:
+ this.$ = new yy.CreateGraph({ graph: $$[$0] });
+ break;
+ case 730:
+ this.$ = new yy.CreateGraph({ from: $$[$0] });
+ break;
+ case 733:
+ this.$ = $$[$0 - 2];
+ if ($$[$0 - 1])
+ { this.$.json = new yy.Json({ value: $$[$0 - 1] }); }
+ if ($$[$0])
+ { this.$.as = $$[$0]; }
+ break;
+ case 734:
+ this.$ = { source: $$[$0 - 6], target: $$[$0] };
+ if ($$[$0 - 3])
+ { this.$.json = new yy.Json({ value: $$[$0 - 3] }); }
+ if ($$[$0 - 2])
+ { this.$.as = $$[$0 - 2]; }
+ yy.extend(this.$, $$[$0 - 4]);
+ break;
+ case 735:
+ this.$ = { source: $$[$0 - 5], target: $$[$0] };
+ if ($$[$0 - 2])
+ { this.$.json = new yy.Json({ value: $$[$0 - 3] }); }
+ if ($$[$0 - 1])
+ { this.$.as = $$[$0 - 2]; }
+ break;
+ case 736:
+ this.$ = { source: $$[$0 - 2], target: $$[$0] };
+ break;
+ case 740:
+ this.$ = { vars: $$[$0], method: $$[$0 - 1] };
+ break;
+ case 743:
+ case 744:
+ var s3 = $$[$0 - 1];
+ this.$ = { prop: $$[$0 - 3], sharp: $$[$0 - 2], name: (typeof s3 == 'undefined') ? undefined : s3.substr(1, s3.length - 2), class: $$[$0] };
+ break;
+ case 745:
+ var s2 = $$[$0 - 1];
+ this.$ = { sharp: $$[$0 - 2], name: (typeof s2 == 'undefined') ? undefined : s2.substr(1, s2.length - 2), class: $$[$0] };
+ break;
+ case 746:
+ var s1 = $$[$0 - 1];
+ this.$ = { name: (typeof s1 == 'undefined') ? undefined : s1.substr(1, s1.length - 2), class: $$[$0] };
+ break;
+ case 747:
+ this.$ = { class: $$[$0] };
+ break;
+ case 753:
+ this.$ = new yy.AddRule({ left: $$[$0 - 2], right: $$[$0] });
+ break;
+ case 754:
+ this.$ = new yy.AddRule({ right: $$[$0] });
+ break;
+ case 757:
+ this.$ = new yy.Term({ termid: $$[$0] });
+ break;
+ case 758:
+ this.$ = new yy.Term({ termid: $$[$0 - 3], args: $$[$0 - 1] });
+ break;
+ case 761:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 6], when: $$[$0 - 5], action: $$[$0 - 4], table: $$[$0 - 2], statement: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 762:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 5], when: $$[$0 - 4], action: $$[$0 - 3], table: $$[$0 - 1], funcid: $$[$0] });
+ break;
+ case 763:
+ this.$ = new yy.CreateTrigger({ trigger: $$[$0 - 6], when: $$[$0 - 4], action: $$[$0 - 3], table: $$[$0 - 5], statement: $$[$0] });
+ if ($$[$0].exists)
+ { this.$.exists = $$[$0].exists; }
+ if ($$[$0].queries)
+ { this.$.queries = $$[$0].queries; }
+ break;
+ case 764:
+ case 765:
+ case 767:
+ this.$ = 'AFTER';
+ break;
+ case 766:
+ this.$ = 'BEFORE';
+ break;
+ case 768:
+ this.$ = 'INSTEADOF';
+ break;
+ case 769:
+ this.$ = 'INSERT';
+ break;
+ case 770:
+ this.$ = 'DELETE';
+ break;
+ case 771:
+ this.$ = 'UPDATE';
+ break;
+ case 772:
+ this.$ = new yy.DropTrigger({ trigger: $$[$0] });
+ break;
+ case 773:
+ this.$ = new yy.Reindex({ indexid: $$[$0] });
+ break;
+ case 1047:
+ case 1067:
+ case 1069:
+ case 1071:
+ case 1075:
+ case 1077:
+ case 1079:
+ case 1081:
+ case 1083:
+ case 1085:
+ this.$ = [];
+ break;
+ case 1048:
+ case 1062:
+ case 1064:
+ case 1068:
+ case 1070:
+ case 1072:
+ case 1076:
+ case 1078:
+ case 1080:
+ case 1082:
+ case 1084:
+ case 1086:
+ $$[$0 - 1].push($$[$0]);
+ break;
+ case 1061:
+ case 1063:
+ this.$ = [$$[$0]];
+ break;
+ }
+ },
+ table: [o([10, 602, 764], $V0, { 8: 1, 9: 2, 12: 3, 13: 4, 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 2: $V1, 4: $V2, 5: $V3, 14: $V4, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 1: [3] }, { 10: [1, 105], 11: 106, 602: $VH, 764: $VI }, o($VJ, [2, 8]), o($VJ, [2, 9]), o($VK, [2, 12]), o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 109, 2: $V1, 4: $V2, 5: $V3, 15: [1, 110], 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 14]), o($VK, [2, 15]), o($VK, [2, 16]), o($VK, [2, 17]), o($VK, [2, 18]), o($VK, [2, 19]), o($VK, [2, 20]), o($VK, [2, 21]), o($VK, [2, 22]), o($VK, [2, 23]), o($VK, [2, 24]), o($VK, [2, 25]), o($VK, [2, 26]), o($VK, [2, 27]), o($VK, [2, 28]), o($VK, [2, 29]), o($VK, [2, 30]), o($VK, [2, 31]), o($VK, [2, 32]), o($VK, [2, 33]), o($VK, [2, 34]), o($VK, [2, 35]), o($VK, [2, 36]), o($VK, [2, 37]), o($VK, [2, 38]), o($VK, [2, 39]), o($VK, [2, 40]), o($VK, [2, 41]), o($VK, [2, 42]), o($VK, [2, 43]), o($VK, [2, 44]), o($VK, [2, 45]), o($VK, [2, 46]), o($VK, [2, 47]), o($VK, [2, 48]), o($VK, [2, 49]), o($VK, [2, 50]), o($VK, [2, 51]), o($VK, [2, 52]), o($VK, [2, 53]), o($VK, [2, 54]), o($VK, [2, 55]), o($VK, [2, 56]), o($VK, [2, 57]), o($VK, [2, 58]), o($VK, [2, 59]), o($VK, [2, 60]), o($VK, [2, 61]), o($VK, [2, 62]), o($VK, [2, 63]), o($VK, [2, 64]), o($VK, [2, 65]), o($VK, [2, 66]), o($VK, [2, 67]), { 353: [1, 111] }, { 2: $V1, 3: 112, 4: $V2, 5: $V3 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 156: $VL, 200: 113, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, o($VQ, [2, 501], { 3: 121, 348: 125, 2: $V1, 4: $V2, 5: $V3, 134: $VR, 135: $VS, 187: [1, 123], 193: [1, 122], 268: [1, 129], 269: [1, 130], 357: [1, 131], 405: [1, 120], 472: [1, 124], 509: [1, 128] }), { 145: $VT, 449: 132, 450: 133 }, { 183: [1, 135] }, { 405: [1, 136] }, { 2: $V1, 3: 138, 4: $V2, 5: $V3, 130: [1, 144], 193: [1, 139], 353: [1, 143], 397: 140, 405: [1, 137], 410: [1, 141], 509: [1, 142] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 145, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $Vu1, { 340: 204, 171: [1, 205], 198: $Vv1 }), o($Vt1, $Vu1, { 340: 207, 198: $Vv1 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 198: [1, 210], 199: 213, 200: 215, 201: 214, 202: 217, 209: 209, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1, 453: 208 }, { 2: $V1, 3: 221, 4: $V2, 5: $V3 }, { 353: [1, 222] }, o($Vz1, [2, 1043], { 80: 223, 106: 224, 107: [1, 225] }), o($VA1, [2, 1047], { 90: 226 }), { 2: $V1, 3: 230, 4: $V2, 5: $V3, 190: [1, 228], 193: [1, 231], 267: [1, 227], 353: [1, 232], 405: [1, 229] }, { 353: [1, 233] }, { 2: $V1, 3: 236, 4: $V2, 5: $V3, 73: 234, 75: 235 }, o([306, 602, 764], $V0, { 12: 3, 13: 4, 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 9: 238, 2: $V1, 4: $V2, 5: $V3, 14: $V4, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 435: [1, 237], 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 435: [1, 239] }, { 435: [1, 240] }, { 2: $V1, 3: 242, 4: $V2, 5: $V3, 405: [1, 241] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 243 }, o($VB1, [2, 311]), { 113: 245, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 113: 251, 131: $VV, 132: [1, 248], 143: $VY, 144: 246, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 255, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 247, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 257, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 672]), o($VK, [2, 673]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 259, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 258, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 266, 4: $V2, 5: $V3, 113: 263, 132: $VW, 296: $Vj1, 444: 261, 445: 262, 446: 264, 447: $VE1 }, { 2: $V1, 3: 267, 4: $V2, 5: $V3, 143: $VF1, 145: $VG1, 431: 268 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 271, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 505: [1, 272] }, { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 273 }, { 2: $V1, 3: 114, 4: $V2, 5: $V3, 156: $VL, 200: 275, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 276, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VH1, $VI1, { 186: 280, 164: [1, 279], 185: [1, 277], 187: [1, 278], 195: $VJ1 }), o($VK1, [2, 757], { 77: [1, 282] }), o([2, 4, 5, 10, 72, 77, 78, 93, 98, 107, 118, 128, 131, 132, 137, 143, 145, 152, 154, 156, 162, 164, 168, 169, 179, 180, 181, 183, 185, 187, 195, 198, 232, 245, 247, 265, 266, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 303, 306, 310, 312, 317, 420, 424, 602, 764], [2, 152], { 149: [1, 283], 150: [1, 284], 190: [1, 285], 191: [1, 286], 192: [1, 287], 193: [1, 288], 194: [1, 289] }), o($VL1, [2, 1]), o($VL1, [2, 2]), { 6: 290, 131: [1, 439], 172: [1, 462], 245: [1, 411], 285: [1, 373], 286: [1, 407], 370: [1, 404], 381: [1, 295], 402: [1, 297], 410: [1, 549], 414: [1, 471], 416: [1, 443], 417: [1, 509], 433: [1, 442], 435: [1, 525], 440: [1, 342], 460: [1, 418], 464: [1, 448], 470: [1, 341], 514: [1, 307], 515: [1, 299], 516: [1, 399], 518: [1, 291], 519: [1, 292], 520: [1, 293], 521: [1, 294], 522: [1, 296], 523: [1, 298], 524: [1, 300], 525: [1, 301], 526: [1, 302], 527: [1, 303], 528: [1, 304], 529: [1, 305], 530: [1, 306], 531: [1, 308], 532: [1, 309], 533: [1, 310], 534: [1, 311], 535: [1, 312], 536: [1, 313], 537: [1, 314], 538: [1, 315], 539: [1, 316], 540: [1, 317], 541: [1, 318], 542: [1, 319], 543: [1, 320], 544: [1, 321], 545: [1, 322], 546: [1, 323], 547: [1, 324], 548: [1, 325], 549: [1, 326], 550: [1, 327], 551: [1, 328], 552: [1, 329], 553: [1, 330], 554: [1, 331], 555: [1, 332], 556: [1, 333], 557: [1, 334], 558: [1, 335], 559: [1, 336], 560: [1, 337], 561: [1, 338], 562: [1, 339], 563: [1, 340], 564: [1, 343], 565: [1, 344], 566: [1, 345], 567: [1, 346], 568: [1, 347], 569: [1, 348], 570: [1, 349], 571: [1, 350], 572: [1, 351], 573: [1, 352], 574: [1, 353], 575: [1, 354], 576: [1, 355], 577: [1, 356], 578: [1, 357], 579: [1, 358], 580: [1, 359], 581: [1, 360], 582: [1, 361], 583: [1, 362], 584: [1, 363], 585: [1, 364], 586: [1, 365], 587: [1, 366], 588: [1, 367], 589: [1, 368], 590: [1, 369], 591: [1, 370], 592: [1, 371], 593: [1, 372], 594: [1, 374], 595: [1, 375], 596: [1, 376], 597: [1, 377], 598: [1, 378], 599: [1, 379], 600: [1, 380], 601: [1, 381], 602: [1, 382], 603: [1, 383], 604: [1, 384], 605: [1, 385], 606: [1, 386], 607: [1, 387], 608: [1, 388], 609: [1, 389], 610: [1, 390], 611: [1, 391], 612: [1, 392], 613: [1, 393], 614: [1, 394], 615: [1, 395], 616: [1, 396], 617: [1, 397], 618: [1, 398], 619: [1, 400], 620: [1, 401], 621: [1, 402], 622: [1, 403], 623: [1, 405], 624: [1, 406], 625: [1, 408], 626: [1, 409], 627: [1, 410], 628: [1, 412], 629: [1, 413], 630: [1, 414], 631: [1, 415], 632: [1, 416], 633: [1, 417], 634: [1, 419], 635: [1, 420], 636: [1, 421], 637: [1, 422], 638: [1, 423], 639: [1, 424], 640: [1, 425], 641: [1, 426], 642: [1, 427], 643: [1, 428], 644: [1, 429], 645: [1, 430], 646: [1, 431], 647: [1, 432], 648: [1, 433], 649: [1, 434], 650: [1, 435], 651: [1, 436], 652: [1, 437], 653: [1, 438], 654: [1, 440], 655: [1, 441], 656: [1, 444], 657: [1, 445], 658: [1, 446], 659: [1, 447], 660: [1, 449], 661: [1, 450], 662: [1, 451], 663: [1, 452], 664: [1, 453], 665: [1, 454], 666: [1, 455], 667: [1, 456], 668: [1, 457], 669: [1, 458], 670: [1, 459], 671: [1, 460], 672: [1, 461], 673: [1, 463], 674: [1, 464], 675: [1, 465], 676: [1, 466], 677: [1, 467], 678: [1, 468], 679: [1, 469], 680: [1, 470], 681: [1, 472], 682: [1, 473], 683: [1, 474], 684: [1, 475], 685: [1, 476], 686: [1, 477], 687: [1, 478], 688: [1, 479], 689: [1, 480], 690: [1, 481], 691: [1, 482], 692: [1, 483], 693: [1, 484], 694: [1, 485], 695: [1, 486], 696: [1, 487], 697: [1, 488], 698: [1, 489], 699: [1, 490], 700: [1, 491], 701: [1, 492], 702: [1, 493], 703: [1, 494], 704: [1, 495], 705: [1, 496], 706: [1, 497], 707: [1, 498], 708: [1, 499], 709: [1, 500], 710: [1, 501], 711: [1, 502], 712: [1, 503], 713: [1, 504], 714: [1, 505], 715: [1, 506], 716: [1, 507], 717: [1, 508], 718: [1, 510], 719: [1, 511], 720: [1, 512], 721: [1, 513], 722: [1, 514], 723: [1, 515], 724: [1, 516], 725: [1, 517], 726: [1, 518], 727: [1, 519], 728: [1, 520], 729: [1, 521], 730: [1, 522], 731: [1, 523], 732: [1, 524], 733: [1, 526], 734: [1, 527], 735: [1, 528], 736: [1, 529], 737: [1, 530], 738: [1, 531], 739: [1, 532], 740: [1, 533], 741: [1, 534], 742: [1, 535], 743: [1, 536], 744: [1, 537], 745: [1, 538], 746: [1, 539], 747: [1, 540], 748: [1, 541], 749: [1, 542], 750: [1, 543], 751: [1, 544], 752: [1, 545], 753: [1, 546], 754: [1, 547], 755: [1, 548], 756: [1, 550], 757: [1, 551], 758: [1, 552], 759: [1, 553], 760: [1, 554], 761: [1, 555], 762: [1, 556], 763: [1, 557] }, { 1: [2, 6] }, o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 558, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VM1, [2, 1041]), o($VM1, [2, 1042]), o($VJ, [2, 10]), { 16: [1, 559] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 560 }, { 405: [1, 561] }, o($VK, [2, 760]), { 77: $VN1 }, { 77: [1, 563] }, { 77: $VO1 }, { 77: [1, 565] }, { 77: [1, 566] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 567, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $VP1, { 350: 568, 156: $VQ1 }), { 405: [1, 570] }, { 2: $V1, 3: 571, 4: $V2, 5: $V3 }, { 193: [1, 572] }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 183: [1, 574], 431: 585, 473: 573, 474: 575, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, { 130: [1, 589], 349: 586, 353: [1, 588], 410: [1, 587] }, { 113: 591, 132: $VW, 183: [2, 1141], 296: $Vj1, 471: 590 }, o($VU1, [2, 1135], { 465: 592, 3: 593, 2: $V1, 4: $V2, 5: $V3 }), { 2: $V1, 3: 594, 4: $V2, 5: $V3 }, { 4: [1, 595] }, { 4: [1, 596] }, o($VQ, [2, 502]), o($VK, [2, 686], { 74: [1, 597] }), o($VV1, [2, 687]), { 2: $V1, 3: 598, 4: $V2, 5: $V3 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 599 }, { 2: $V1, 3: 600, 4: $V2, 5: $V3 }, o($Vt1, $VW1, { 398: 601, 156: $VX1 }), { 405: [1, 603] }, { 2: $V1, 3: 604, 4: $V2, 5: $V3 }, o($Vt1, $VW1, { 398: 605, 156: $VX1 }), o($Vt1, $VW1, { 398: 606, 156: $VX1 }), { 2: $V1, 3: 607, 4: $V2, 5: $V3 }, o($VY1, [2, 1129]), o($VY1, [2, 1130]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 608, 114: 625, 327: 637, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $V22, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V9, 154: $Va2, 156: $Va, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VB1, [2, 288]), o($VB1, [2, 289]), o($VB1, [2, 290]), o($VB1, [2, 291]), o($VB1, [2, 292]), o($VB1, [2, 293]), o($VB1, [2, 294]), o($VB1, [2, 295]), o($VB1, [2, 296]), o($VB1, [2, 297]), o($VB1, [2, 298]), o($VB1, [2, 299]), o($VB1, [2, 300]), o($VB1, [2, 301]), o($VB1, [2, 302]), o($VB1, [2, 303]), o($VB1, [2, 304]), o($VB1, [2, 305]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 26: 654, 27: 653, 36: 649, 40: 648, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 651, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 264: 650, 265: $V41, 266: $Vc, 267: [1, 655], 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: [1, 652], 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 339: $Vh, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 309]), o($VB1, [2, 310]), { 77: [1, 656] }, o([2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy2, { 77: $VN1, 116: [1, 657] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 658, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 659, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 661, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 662, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 283]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 249, 265, 266, 267, 270, 271, 273, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 302, 303, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 415, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764, 765, 766], [2, 356]), o($Vz2, [2, 357]), o($Vz2, [2, 358]), o($Vz2, $VA2), o($Vz2, [2, 360]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 361]), { 2: $V1, 3: 664, 4: $V2, 5: $V3, 131: [1, 665], 301: 663 }, { 2: $V1, 3: 666, 4: $V2, 5: $V3 }, o($Vz2, [2, 367]), o($Vz2, [2, 368]), { 2: $V1, 3: 667, 4: $V2, 5: $V3, 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, { 77: [1, 674] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 675, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 304: 676, 307: 677, 308: $VC2, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 679] }, { 77: [1, 680] }, o($VD2, [2, 624]), { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 300: [1, 683], 302: $Vn1, 419: 190, 420: $Vr1, 421: 681, 422: 684, 423: 686, 424: $Vs1, 427: 682 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 696, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 697, 4: $V2, 5: $V3, 156: $VL, 200: 698, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 77: [2, 336] }, { 77: [2, 337] }, { 77: [2, 338] }, { 77: [2, 339] }, { 77: [2, 340] }, { 77: [2, 341] }, { 77: [2, 342] }, { 77: [2, 343] }, { 77: [2, 344] }, { 2: $V1, 3: 704, 4: $V2, 5: $V3, 131: $VF2, 132: $VG2, 425: 699, 426: [1, 700], 428: 701 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 705 }, { 290: [1, 706] }, o($Vt1, [2, 472]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 707 }, { 231: [1, 709], 454: 708 }, { 231: [2, 695] }, { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 710, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 40: 711, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VH2, [2, 1091], { 210: 712, 76: [1, 713] }), o($VI2, [2, 185], { 3: 714, 2: $V1, 4: $V2, 5: $V3, 76: [1, 715], 154: [1, 716] }), o($VI2, [2, 189], { 3: 717, 2: $V1, 4: $V2, 5: $V3, 76: [1, 718] }), o($VI2, [2, 190], { 3: 719, 2: $V1, 4: $V2, 5: $V3, 76: [1, 720] }), o($VI2, [2, 193]), o($VI2, [2, 194], { 3: 721, 2: $V1, 4: $V2, 5: $V3, 76: [1, 722] }), o($VI2, [2, 197], { 3: 723, 2: $V1, 4: $V2, 5: $V3, 76: [1, 724] }), o([2, 4, 5, 10, 72, 74, 76, 78, 93, 98, 118, 128, 154, 162, 168, 169, 183, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], $VJ2, { 77: $VN1, 116: $VK2 }), o([2, 4, 5, 10, 72, 74, 76, 78, 93, 98, 118, 128, 162, 168, 169, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 306, 310, 602, 764], [2, 200]), o($VK, [2, 773]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 726 }, o($VL2, $VM2, { 81: 727, 198: $VN2 }), o($Vz1, [2, 1044]), o($VO2, [2, 1057], { 108: 729, 190: [1, 730] }), o([10, 78, 183, 306, 310, 602, 764], $VM2, { 419: 190, 81: 731, 117: 732, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 198: $VN2, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), { 353: [1, 782] }, { 183: [1, 783] }, o($VK, [2, 594], { 112: [1, 784] }), { 405: [1, 785] }, { 183: [1, 786] }, o($VK, [2, 598], { 112: [1, 787], 183: [1, 788] }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 789 }, { 40: 790, 74: [1, 791], 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vv3, [2, 70]), { 76: [1, 792] }, o($VK, [2, 667]), { 11: 106, 306: [1, 793], 602: $VH, 764: $VI }, o($VK, [2, 665]), o($VK, [2, 666]), { 2: $V1, 3: 794, 4: $V2, 5: $V3 }, o($VK, [2, 587]), { 146: [1, 795] }, o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 95, 124, 128, 143, 145, 146, 148, 149, 152, 154, 156, 181, 183, 187, 189, 230, 266, 267, 290, 297, 302, 306, 310, 335, 338, 339, 343, 344, 356, 368, 369, 373, 374, 396, 400, 401, 402, 403, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 514, 515, 516, 517, 602, 764], $VJ2, { 116: $VK2 }), o($VK, [2, 615]), o($VK, [2, 616]), o($VK, [2, 617]), o($VK, $VA2, { 74: [1, 796] }), { 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, o($Vw3, [2, 320]), o($Vw3, [2, 321]), o($Vw3, [2, 322]), o($Vw3, [2, 323]), o($Vw3, [2, 324]), o($Vw3, [2, 325]), o($Vw3, [2, 326]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 114: 625, 327: 637, 12: 797, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $V22, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V9, 154: $Va2, 156: $Va, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 675], { 74: $Vx3 }), o($VK, [2, 676]), o($Vy3, [2, 354], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 677], { 74: [1, 800] }), o($VK, [2, 678], { 74: [1, 801] }), o($VV1, [2, 683]), o($VV1, [2, 685]), o($VV1, [2, 679]), o($VV1, [2, 680]), { 114: 807, 115: $V$1, 116: $V02, 124: [1, 802], 230: $VA3, 429: 803, 430: 804, 433: $VB3 }, { 2: $V1, 3: 808, 4: $V2, 5: $V3 }, o($Vt1, [2, 656]), o($Vt1, [2, 657]), o($VK, [2, 614], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 809 }, o($VK, [2, 754], { 74: $VC3 }), o($VD3, [2, 756]), o($VK, [2, 759]), o($VK, [2, 681], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VE3, $VI1, { 186: 811, 195: $VJ1 }), o($VE3, $VI1, { 186: 812, 195: $VJ1 }), o($VE3, $VI1, { 186: 813, 195: $VJ1 }), o($VF3, [2, 1087], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 188: 814, 174: 815, 253: 816, 94: 817, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 77: [1, 819], 131: $VV, 196: 818 }, { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 274, 506: 820 }, o($VG3, [2, 153]), o($VG3, [2, 154]), o($VG3, [2, 155]), o($VG3, [2, 156]), o($VG3, [2, 157]), o($VG3, [2, 158]), o($VG3, [2, 159]), o($VL1, [2, 3]), o($VL1, [2, 774]), o($VL1, [2, 775]), o($VL1, [2, 776]), o($VL1, [2, 777]), o($VL1, [2, 778]), o($VL1, [2, 779]), o($VL1, [2, 780]), o($VL1, [2, 781]), o($VL1, [2, 782]), o($VL1, [2, 783]), o($VL1, [2, 784]), o($VL1, [2, 785]), o($VL1, [2, 786]), o($VL1, [2, 787]), o($VL1, [2, 788]), o($VL1, [2, 789]), o($VL1, [2, 790]), o($VL1, [2, 791]), o($VL1, [2, 792]), o($VL1, [2, 793]), o($VL1, [2, 794]), o($VL1, [2, 795]), o($VL1, [2, 796]), o($VL1, [2, 797]), o($VL1, [2, 798]), o($VL1, [2, 799]), o($VL1, [2, 800]), o($VL1, [2, 801]), o($VL1, [2, 802]), o($VL1, [2, 803]), o($VL1, [2, 804]), o($VL1, [2, 805]), o($VL1, [2, 806]), o($VL1, [2, 807]), o($VL1, [2, 808]), o($VL1, [2, 809]), o($VL1, [2, 810]), o($VL1, [2, 811]), o($VL1, [2, 812]), o($VL1, [2, 813]), o($VL1, [2, 814]), o($VL1, [2, 815]), o($VL1, [2, 816]), o($VL1, [2, 817]), o($VL1, [2, 818]), o($VL1, [2, 819]), o($VL1, [2, 820]), o($VL1, [2, 821]), o($VL1, [2, 822]), o($VL1, [2, 823]), o($VL1, [2, 824]), o($VL1, [2, 825]), o($VL1, [2, 826]), o($VL1, [2, 827]), o($VL1, [2, 828]), o($VL1, [2, 829]), o($VL1, [2, 830]), o($VL1, [2, 831]), o($VL1, [2, 832]), o($VL1, [2, 833]), o($VL1, [2, 834]), o($VL1, [2, 835]), o($VL1, [2, 836]), o($VL1, [2, 837]), o($VL1, [2, 838]), o($VL1, [2, 839]), o($VL1, [2, 840]), o($VL1, [2, 841]), o($VL1, [2, 842]), o($VL1, [2, 843]), o($VL1, [2, 844]), o($VL1, [2, 845]), o($VL1, [2, 846]), o($VL1, [2, 847]), o($VL1, [2, 848]), o($VL1, [2, 849]), o($VL1, [2, 850]), o($VL1, [2, 851]), o($VL1, [2, 852]), o($VL1, [2, 853]), o($VL1, [2, 854]), o($VL1, [2, 855]), o($VL1, [2, 856]), o($VL1, [2, 857]), o($VL1, [2, 858]), o($VL1, [2, 859]), o($VL1, [2, 860]), o($VL1, [2, 861]), o($VL1, [2, 862]), o($VL1, [2, 863]), o($VL1, [2, 864]), o($VL1, [2, 865]), o($VL1, [2, 866]), o($VL1, [2, 867]), o($VL1, [2, 868]), o($VL1, [2, 869]), o($VL1, [2, 870]), o($VL1, [2, 871]), o($VL1, [2, 872]), o($VL1, [2, 873]), o($VL1, [2, 874]), o($VL1, [2, 875]), o($VL1, [2, 876]), o($VL1, [2, 877]), o($VL1, [2, 878]), o($VL1, [2, 879]), o($VL1, [2, 880]), o($VL1, [2, 881]), o($VL1, [2, 882]), o($VL1, [2, 883]), o($VL1, [2, 884]), o($VL1, [2, 885]), o($VL1, [2, 886]), o($VL1, [2, 887]), o($VL1, [2, 888]), o($VL1, [2, 889]), o($VL1, [2, 890]), o($VL1, [2, 891]), o($VL1, [2, 892]), o($VL1, [2, 893]), o($VL1, [2, 894]), o($VL1, [2, 895]), o($VL1, [2, 896]), o($VL1, [2, 897]), o($VL1, [2, 898]), o($VL1, [2, 899]), o($VL1, [2, 900]), o($VL1, [2, 901]), o($VL1, [2, 902]), o($VL1, [2, 903]), o($VL1, [2, 904]), o($VL1, [2, 905]), o($VL1, [2, 906]), o($VL1, [2, 907]), o($VL1, [2, 908]), o($VL1, [2, 909]), o($VL1, [2, 910]), o($VL1, [2, 911]), o($VL1, [2, 912]), o($VL1, [2, 913]), o($VL1, [2, 914]), o($VL1, [2, 915]), o($VL1, [2, 916]), o($VL1, [2, 917]), o($VL1, [2, 918]), o($VL1, [2, 919]), o($VL1, [2, 920]), o($VL1, [2, 921]), o($VL1, [2, 922]), o($VL1, [2, 923]), o($VL1, [2, 924]), o($VL1, [2, 925]), o($VL1, [2, 926]), o($VL1, [2, 927]), o($VL1, [2, 928]), o($VL1, [2, 929]), o($VL1, [2, 930]), o($VL1, [2, 931]), o($VL1, [2, 932]), o($VL1, [2, 933]), o($VL1, [2, 934]), o($VL1, [2, 935]), o($VL1, [2, 936]), o($VL1, [2, 937]), o($VL1, [2, 938]), o($VL1, [2, 939]), o($VL1, [2, 940]), o($VL1, [2, 941]), o($VL1, [2, 942]), o($VL1, [2, 943]), o($VL1, [2, 944]), o($VL1, [2, 945]), o($VL1, [2, 946]), o($VL1, [2, 947]), o($VL1, [2, 948]), o($VL1, [2, 949]), o($VL1, [2, 950]), o($VL1, [2, 951]), o($VL1, [2, 952]), o($VL1, [2, 953]), o($VL1, [2, 954]), o($VL1, [2, 955]), o($VL1, [2, 956]), o($VL1, [2, 957]), o($VL1, [2, 958]), o($VL1, [2, 959]), o($VL1, [2, 960]), o($VL1, [2, 961]), o($VL1, [2, 962]), o($VL1, [2, 963]), o($VL1, [2, 964]), o($VL1, [2, 965]), o($VL1, [2, 966]), o($VL1, [2, 967]), o($VL1, [2, 968]), o($VL1, [2, 969]), o($VL1, [2, 970]), o($VL1, [2, 971]), o($VL1, [2, 972]), o($VL1, [2, 973]), o($VL1, [2, 974]), o($VL1, [2, 975]), o($VL1, [2, 976]), o($VL1, [2, 977]), o($VL1, [2, 978]), o($VL1, [2, 979]), o($VL1, [2, 980]), o($VL1, [2, 981]), o($VL1, [2, 982]), o($VL1, [2, 983]), o($VL1, [2, 984]), o($VL1, [2, 985]), o($VL1, [2, 986]), o($VL1, [2, 987]), o($VL1, [2, 988]), o($VL1, [2, 989]), o($VL1, [2, 990]), o($VL1, [2, 991]), o($VL1, [2, 992]), o($VL1, [2, 993]), o($VL1, [2, 994]), o($VL1, [2, 995]), o($VL1, [2, 996]), o($VL1, [2, 997]), o($VL1, [2, 998]), o($VL1, [2, 999]), o($VL1, [2, 1000]), o($VL1, [2, 1001]), o($VL1, [2, 1002]), o($VL1, [2, 1003]), o($VL1, [2, 1004]), o($VL1, [2, 1005]), o($VL1, [2, 1006]), o($VL1, [2, 1007]), o($VL1, [2, 1008]), o($VL1, [2, 1009]), o($VL1, [2, 1010]), o($VL1, [2, 1011]), o($VL1, [2, 1012]), o($VL1, [2, 1013]), o($VL1, [2, 1014]), o($VL1, [2, 1015]), o($VL1, [2, 1016]), o($VL1, [2, 1017]), o($VL1, [2, 1018]), o($VL1, [2, 1019]), o($VL1, [2, 1020]), o($VL1, [2, 1021]), o($VL1, [2, 1022]), o($VL1, [2, 1023]), o($VL1, [2, 1024]), o($VL1, [2, 1025]), o($VL1, [2, 1026]), o($VL1, [2, 1027]), o($VL1, [2, 1028]), o($VL1, [2, 1029]), o($VL1, [2, 1030]), o($VL1, [2, 1031]), o($VL1, [2, 1032]), o($VL1, [2, 1033]), o($VL1, [2, 1034]), o($VL1, [2, 1035]), o($VL1, [2, 1036]), o($VL1, [2, 1037]), o($VL1, [2, 1038]), o($VL1, [2, 1039]), o($VL1, [2, 1040]), o($VJ, [2, 7]), o($VJ, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 821, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), { 396: [1, 825], 401: [1, 822], 402: [1, 823], 403: [1, 824] }, { 2: $V1, 3: 826, 4: $V2, 5: $V3 }, o($VE3, [2, 1111], { 289: 827, 767: 829, 78: [1, 828], 164: [1, 831], 185: [1, 830] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 832, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 833, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 834, 4: $V2, 5: $V3, 132: [1, 835] }, { 2: $V1, 3: 836, 4: $V2, 5: $V3, 132: [1, 837] }, { 2: $V1, 3: 838, 4: $V2, 5: $V3, 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 839, 4: $V2, 5: $V3 }, { 154: [1, 840] }, o($VH3, $VP1, { 350: 841, 156: $VQ1 }), { 230: [1, 842] }, { 2: $V1, 3: 843, 4: $V2, 5: $V3 }, o($VK, [2, 729], { 74: $VI3 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 845, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD3, [2, 732]), o($VJ3, [2, 1143], { 419: 190, 476: 846, 144: 847, 139: $VK3, 141: $VK3, 145: $VC1, 420: $Vr1, 424: $Vs1 }), { 139: [1, 848], 141: [1, 849] }, o($VL3, $VM3, { 490: 851, 493: 852, 77: [1, 850], 137: $VS1 }), o($VN3, [2, 1167], { 494: 853, 132: [1, 854] }), o($VO3, [2, 1171], { 496: 855, 497: 856, 152: $VT1 }), o($VO3, [2, 747]), o($VP3, [2, 739]), { 2: $V1, 3: 857, 4: $V2, 5: $V3, 131: [1, 858] }, { 2: $V1, 3: 859, 4: $V2, 5: $V3 }, { 2: $V1, 3: 860, 4: $V2, 5: $V3 }, o($Vt1, $VP1, { 350: 861, 156: $VQ1 }), o($Vt1, $VP1, { 350: 862, 156: $VQ1 }), o($VY1, [2, 491]), o($VY1, [2, 492]), { 183: [1, 863] }, { 183: [2, 1142] }, o($VQ3, [2, 1137], { 466: 864, 469: 865, 137: [1, 866] }), o($VU1, [2, 1136]), o($VR3, $VS3, { 510: 867, 95: $VT3, 230: [1, 868], 514: $VU3, 515: $VV3, 516: $VW3 }), { 76: [1, 873] }, { 76: [1, 874] }, { 145: $VT, 450: 875 }, { 4: $VX3, 7: 879, 76: [1, 877], 272: 876, 387: 878, 389: $VY3 }, o($VK, [2, 456], { 128: [1, 882] }), o($VK, [2, 579]), { 2: $V1, 3: 883, 4: $V2, 5: $V3 }, { 298: [1, 884] }, o($VH3, $VW1, { 398: 885, 156: $VX1 }), o($VK, [2, 593]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 887, 399: 886 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 887, 399: 888 }, o($VK, [2, 772]), o($VJ, [2, 669], { 438: 889, 310: [1, 890] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 891, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 892, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 893, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 894, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 895, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 896, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 897, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 898, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 899, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 900, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 901, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 902, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 903, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 904, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 905, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 906, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 907, 4: $V2, 5: $V3, 77: [1, 909], 131: $VV, 156: $VL, 196: 908, 200: 910, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, { 2: $V1, 3: 911, 4: $V2, 5: $V3, 77: [1, 913], 131: $VV, 156: $VL, 196: 912, 200: 914, 290: $VM, 291: $VN, 292: $VO, 293: $VP }, o($VZ3, [2, 440], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 915, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 441], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 916, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 442], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 917, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, [2, 443], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 918, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), o($VZ3, $V_3, { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 919, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 920, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 921, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VZ3, [2, 445], { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 922, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 923, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 924, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 164: [1, 926], 166: [1, 928], 328: 925, 334: [1, 927] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 929, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 930, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: [1, 931], 111: 934, 145: $V$3, 156: $VL, 200: 935, 202: 933, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 329: 932 }, { 99: [1, 937], 297: [1, 938] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 939, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 940, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 941, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 942, 387: 878, 389: $VY3 }, o($V04, [2, 88]), o($V04, [2, 89]), { 78: [1, 943] }, { 78: [1, 944] }, { 78: [1, 945] }, { 78: [1, 946], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vt1, $Vu1, { 340: 207, 77: $VO1, 198: $Vv1 }), { 78: [2, 1107] }, { 78: [2, 1108] }, { 134: $VR, 135: $VS }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 947, 152: $V$, 154: $V01, 156: $VL, 158: 167, 164: [1, 949], 179: $V11, 180: $V21, 181: $V31, 185: [1, 948], 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 950, 4: $V2, 5: $V3, 149: $V14, 180: [1, 952] }, o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 416], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o($V24, [2, 417], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V24, [2, 418], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V34, [2, 419], { 114: 625, 327: 637, 316: $Vj2 }), o($V34, [2, 420], { 114: 625, 327: 637, 316: $Vj2 }), o($Vz2, [2, 365]), o($Vz2, [2, 1113]), o($Vz2, [2, 1114]), o($Vz2, [2, 366]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 362]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 953, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD2, [2, 620]), o($VD2, [2, 621]), o($VD2, [2, 622]), o($VD2, [2, 623]), o($VD2, [2, 625]), { 40: 954, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 304: 955, 307: 677, 308: $VC2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 305: 956, 306: $V44, 307: 957, 308: $VC2, 310: $V54 }, o($V64, [2, 372]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 959, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 960, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 961, 387: 878, 389: $VY3 }, o($VD2, [2, 626]), { 74: [1, 963], 300: [1, 962] }, o($VD2, [2, 642]), o($V74, [2, 649]), o($V84, [2, 627]), o($V84, [2, 628]), o($V84, [2, 629]), o($V84, [2, 630]), o($V84, [2, 631]), o($V84, [2, 632]), o($V84, [2, 633]), o($V84, [2, 634]), o($V84, [2, 635]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 964, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o([2, 4, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 426, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], $Vy2, { 77: $VN1, 116: $V94 }), { 74: $Vx3, 300: [1, 966] }, o($Va4, [2, 314], { 77: $VN1 }), o($VB1, [2, 315]), { 74: [1, 968], 426: [1, 967] }, o($VD2, [2, 639]), o($Vb4, [2, 644]), { 152: [1, 969] }, { 152: [1, 970] }, { 152: [1, 971] }, { 40: 976, 77: [1, 975], 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 972, 342: 973, 343: [1, 974], 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt1, $Vu1, { 340: 981, 198: $Vv1 }), { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 341: 982, 342: 983, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, { 230: [1, 986], 455: 985 }, { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 987, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 231: [2, 696] }, { 78: [1, 988] }, o($VI2, [2, 1093], { 211: 989, 3: 990, 2: $V1, 4: $V2, 5: $V3 }), o($VH2, [2, 1092]), o($VI2, [2, 183]), { 2: $V1, 3: 991, 4: $V2, 5: $V3 }, { 212: [1, 992] }, o($VI2, [2, 187]), { 2: $V1, 3: 993, 4: $V2, 5: $V3 }, o($VI2, [2, 191]), { 2: $V1, 3: 994, 4: $V2, 5: $V3 }, o($VI2, [2, 195]), { 2: $V1, 3: 995, 4: $V2, 5: $V3 }, o($VI2, [2, 198]), { 2: $V1, 3: 996, 4: $V2, 5: $V3 }, { 2: $V1, 3: 997, 4: $V2, 5: $V3 }, { 148: [1, 998] }, o($Vf4, [2, 172], { 82: 999, 183: [1, 1000] }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 132: [1, 1005], 143: $VY, 145: [1, 1006], 152: $V$, 156: $VL, 181: $V31, 199: 1001, 200: 1002, 201: 1003, 202: 1004, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 109: 1007, 110: 1008, 111: 1009, 112: $Vg4 }, o($VO2, [2, 1058]), o($Vh4, [2, 1049], { 91: 1012, 182: 1013, 183: [1, 1014] }), o($VA1, [2, 1048], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o([2, 4, 5, 10, 72, 74, 76, 78, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 90], { 77: [1, 1019] }), { 119: [1, 1020] }, o($Vl4, [2, 93]), { 2: $V1, 3: 1021, 4: $V2, 5: $V3 }, o($Vl4, [2, 95]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1022, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1023, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1025, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 125: 1024, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1026] }, { 77: [1, 1027] }, { 77: [1, 1028] }, { 77: [1, 1029] }, o($Vl4, [2, 104]), o($Vl4, [2, 105]), o($Vl4, [2, 106]), o($Vl4, [2, 107]), o($Vl4, [2, 108]), o($Vl4, [2, 109]), { 2: $V1, 3: 1030, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1031, 4: $V2, 5: $V3, 133: [1, 1032] }, o($Vl4, [2, 113]), o($Vl4, [2, 114]), o($Vl4, [2, 115]), o($Vl4, [2, 116]), o($Vl4, [2, 117]), o($Vl4, [2, 118]), { 2: $V1, 3: 1033, 4: $V2, 5: $V3, 77: $VB2, 113: 669, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 181: $V31, 196: 670, 201: 672, 257: 671, 294: $Vh1, 295: $Vi1, 296: $Vj1, 302: $Vn1, 419: 673, 424: $Vs1 }, { 145: [1, 1034] }, { 77: [1, 1035] }, { 145: [1, 1036] }, o($Vl4, [2, 123]), { 77: [1, 1037] }, { 2: $V1, 3: 1038, 4: $V2, 5: $V3 }, { 77: [1, 1039] }, { 77: [1, 1040] }, { 77: [1, 1041] }, { 77: [1, 1042] }, { 77: [1, 1043], 164: [1, 1044] }, { 77: [1, 1045] }, { 77: [1, 1046] }, { 77: [1, 1047] }, { 77: [1, 1048] }, { 77: [1, 1049] }, { 77: [1, 1050] }, { 77: [1, 1051] }, { 77: [1, 1052] }, { 77: [1, 1053] }, { 77: [2, 1073] }, { 77: [2, 1074] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1054 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1055 }, { 113: 1056, 132: $VW, 296: $Vj1 }, o($VK, [2, 596], { 112: [1, 1057] }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1058 }, { 113: 1059, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 1060, 4: $V2, 5: $V3 }, o($VK, [2, 693]), o($VK, [2, 68]), { 2: $V1, 3: 236, 4: $V2, 5: $V3, 75: 1061 }, { 77: [1, 1062] }, o($VK, [2, 674]), o($VK, [2, 586]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1063, 336: 1064, 337: 1066 }, { 144: 1069, 145: $VC1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 671]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1070, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VZ3, $V_3, { 255: 146, 200: 147, 256: 148, 111: 149, 254: 150, 196: 151, 257: 152, 113: 153, 258: 154, 201: 155, 202: 156, 259: 157, 260: 158, 261: 159, 144: 161, 262: 162, 263: 163, 56: 165, 158: 167, 3: 168, 419: 190, 94: 1071, 2: $V1, 4: $V2, 5: $V3, 77: $VU, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 179: $V11, 180: $V21, 181: $V31, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 420: $Vr1, 424: $Vs1 }), { 113: 1072, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 266, 4: $V2, 5: $V3, 446: 1073, 447: $VE1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1075, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 230: $VA3, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1, 429: 1074, 433: $VB3 }, o($VK, [2, 651]), { 114: 1077, 115: $V$1, 116: $V02, 124: [1, 1076] }, o($VK, [2, 663]), o($VK, [2, 664]), { 2: $V1, 3: 1079, 4: $V2, 5: $V3, 77: $Vo4, 131: $Vp4, 432: 1078 }, { 114: 807, 115: $V$1, 116: $V02, 124: [1, 1082], 430: 1083 }, o($VK, [2, 753], { 74: $VC3 }), { 2: $V1, 3: 100, 4: $V2, 5: $V3, 504: 1084 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1085, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1086, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1087, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VF3, [2, 151]), o($VF3, [2, 1088], { 74: $Vq4 }), o($Vr4, [2, 273]), o($Vr4, [2, 280], { 114: 625, 327: 637, 3: 1090, 113: 1092, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1089], 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 131: [1, 1091], 132: $VW, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 296: $Vj1, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VH1, [2, 1089], { 197: 1093, 765: [1, 1094] }), { 131: $VV, 196: 1095 }, { 74: $VC3, 78: [1, 1096] }, o($VJ, [2, 11]), { 148: [1, 1097], 190: [1, 1098] }, { 190: [1, 1099] }, { 190: [1, 1100] }, { 190: [1, 1101] }, o($VK, [2, 575], { 76: [1, 1103], 77: [1, 1102] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1104, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vz2, [2, 346]), o($VE3, [2, 1112]), o($VE3, [2, 1109]), o($VE3, [2, 1110]), { 74: $Vx3, 78: [1, 1105] }, { 74: $Vx3, 78: [1, 1106] }, { 74: [1, 1107] }, { 74: [1, 1108] }, { 74: [1, 1109] }, { 74: [1, 1110] }, o($Vz2, [2, 353]), o($VK, [2, 580]), { 298: [1, 1111] }, { 2: $V1, 3: 1112, 4: $V2, 5: $V3, 113: 1113, 132: $VW, 296: $Vj1 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1114 }, { 230: [1, 1115] }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 474: 1116, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, o($VK, [2, 730], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VD3, [2, 1145], { 477: 1117, 483: 1118, 76: $Vs4 }), o($VJ3, [2, 1144]), { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 144: 1121, 145: $VC1, 152: $VT1, 419: 190, 420: $Vr1, 424: $Vs1, 475: 1120, 493: 579, 497: 581 }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1123, 482: 582, 493: 579, 497: 581 }, { 2: $V1, 3: 578, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 473: 1125, 474: 575, 475: 576, 478: 577, 482: 582, 493: 579, 497: 581 }, o($VN3, [2, 1163], { 491: 1126, 132: [1, 1127] }), o($VL3, [2, 1162]), o($VO3, [2, 1169], { 495: 1128, 497: 1129, 152: $VT1 }), o($VN3, [2, 1168]), o($VO3, [2, 746]), o($VO3, [2, 1172]), o($VL3, [2, 749]), o($VL3, [2, 750]), o($VO3, [2, 748]), o($VP3, [2, 740]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1130 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1131 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1132, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vt4, [2, 1139], { 467: 1133, 113: 1134, 132: $VW, 296: $Vj1 }), o($VQ3, [2, 1138]), { 2: $V1, 3: 1135, 4: $V2, 5: $V3 }, { 335: $Vu4, 338: $Vv4, 339: $Vw4, 511: 1136 }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1140 }, o($VR3, [2, 765]), o($VR3, [2, 766]), o($VR3, [2, 767]), { 129: [1, 1141] }, { 266: [1, 1142] }, { 266: [1, 1143] }, o($VV1, [2, 688]), o($VV1, [2, 689], { 124: [1, 1144] }), { 4: $VX3, 7: 879, 272: 1145, 387: 878, 389: $VY3 }, o([2, 4, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 542], { 5: [1, 1146] }), o([2, 5, 10, 53, 72, 74, 76, 78, 89, 93, 95, 98, 99, 107, 112, 115, 116, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 297, 300, 306, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 343, 356, 368, 369, 373, 374, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 539], { 4: [1, 1148], 77: [1, 1147] }), { 77: [1, 1149] }, o($Vx4, [2, 4]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1150, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 588]), o($VH3, [2, 568]), { 2: $V1, 3: 1151, 4: $V2, 5: $V3, 113: 1152, 132: $VW, 296: $Vj1 }, o($VK, [2, 564], { 74: $Vy4 }), o($VV1, [2, 566]), o($VK, [2, 613], { 74: $Vy4 }), o($VK, [2, 668]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1154, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($Vz4, [2, 376], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($V34, [2, 377], { 114: 625, 327: 637, 316: $Vj2 }), o($Vz4, [2, 378], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VA4, [2, 379], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 314: [1, 1155], 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VA4, [2, 381], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 314: [1, 1156], 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 383], { 114: 625, 327: 637 }), o($V24, [2, 384], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($V24, [2, 385], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 180: $Ve2, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 386], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 387], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VB4, [2, 388], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 136: $V42, 312: $Vg2, 316: $Vj2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 112, 118, 122, 123, 124, 128, 129, 130, 131, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 179, 180, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 311, 313, 314, 315, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 389], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 136: $V42, 312: $Vg2, 316: $Vj2 }), o($VC4, [2, 390], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 391], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 392], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($VC4, [2, 393], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2 }), o($Va4, [2, 394], { 77: $VN1 }), o($VB1, [2, 395]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1157, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 397]), o($Va4, [2, 398], { 77: $VN1 }), o($VB1, [2, 399]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1158, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 401]), o($VD4, [2, 402], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 403], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 404], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 405], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 89, 99, 124, 139, 140, 146, 154, 156, 170, 171, 189, 266, 267, 290, 306, 310, 320, 321, 322, 323, 324, 325, 326, 330, 331, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], $VE4, { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 407], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 408], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 409], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 410], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VD4, [2, 411], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), { 77: [1, 1159] }, { 77: [2, 446] }, { 77: [2, 447] }, { 77: [2, 448] }, o($VF4, [2, 414], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 107, 118, 122, 128, 129, 130, 131, 132, 134, 135, 137, 143, 145, 146, 148, 149, 150, 152, 156, 162, 164, 166, 168, 169, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 415], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1160, 56: 165, 77: $VU, 78: [1, 1162], 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1161, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 428]), o($VB1, [2, 430]), o($VB1, [2, 437]), o($VB1, [2, 438]), { 2: $V1, 3: 667, 4: $V2, 5: $V3, 77: [1, 1163] }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: [1, 1164], 111: 934, 145: $V$3, 156: $VL, 200: 935, 202: 1166, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 329: 1165 }, o($VB1, [2, 435]), o($VF4, [2, 432], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o($VF4, [2, 433], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 332: $Vw2 }), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 99, 107, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 189, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 239, 242, 243, 245, 247, 266, 267, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 296, 300, 306, 308, 309, 310, 314, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 464, 470, 505, 507, 508, 517, 602, 764], [2, 434], { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 436]), o($VB1, [2, 306]), o($VB1, [2, 307]), o($VB1, [2, 308]), o($VB1, [2, 421]), { 74: $Vx3, 78: [1, 1167] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1168, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1169, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, $VG4), o($VH4, [2, 286]), o($VB1, [2, 282]), { 78: [1, 1171], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1172] }, { 305: 1173, 306: $V44, 307: 957, 308: $VC2, 310: $V54 }, { 306: [1, 1174] }, o($V64, [2, 371]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1175, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1176], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 76: [1, 1177], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1178] }, o($VD2, [2, 640]), { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 300: [1, 1179], 302: $Vn1, 419: 190, 420: $Vr1, 422: 1180, 423: 686, 424: $Vs1 }, { 78: [1, 1181], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1182, 4: $V2, 5: $V3, 149: $V14 }, o($VB1, [2, 364]), o($VD2, [2, 637]), { 2: $V1, 3: 704, 4: $V2, 5: $V3, 131: $VF2, 132: $VG2, 426: [1, 1183], 428: 1184 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1185, 423: 686, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1186, 423: 686, 424: $Vs1 }, { 2: $V1, 3: 695, 4: $V2, 5: $V3, 77: $VE2, 111: 690, 113: 688, 131: $VV, 132: $VW, 143: $VY, 144: 685, 145: $VC1, 152: $V$, 156: $VL, 181: $V31, 196: 687, 200: 693, 201: 692, 257: 689, 258: 691, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1, 419: 190, 420: $Vr1, 422: 1187, 423: 686, 424: $Vs1 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1188, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 458], { 74: $VJ4 }), { 149: $Vc4, 341: 1190, 344: $Vd4 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 100: 1191, 111: 1193, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1192, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 466]), o($VK4, [2, 469]), o($VK4, [2, 470]), o($VL4, [2, 474]), o($VL4, [2, 475]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1195 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1196, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 462], { 74: $VJ4 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1192, 419: 190, 420: $Vr1, 424: $Vs1 }, { 308: $VM4, 456: 1197, 458: 1198, 459: 1199 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1201, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 230: [2, 697] }, o($VI2, [2, 181], { 3: 1202, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1203] }), o($VI2, [2, 182]), o($VI2, [2, 1094]), o($VI2, [2, 184]), o($VI2, [2, 186]), o($VI2, [2, 188]), o($VI2, [2, 192]), o($VI2, [2, 196]), o($VI2, [2, 199]), o([2, 4, 5, 10, 53, 72, 74, 76, 77, 78, 89, 93, 95, 98, 118, 124, 128, 143, 145, 146, 148, 149, 152, 154, 156, 162, 168, 169, 181, 183, 187, 189, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 245, 247, 266, 267, 290, 297, 302, 306, 310, 335, 338, 339, 343, 344, 356, 368, 369, 373, 374, 396, 400, 401, 402, 403, 404, 406, 408, 409, 417, 418, 420, 424, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 514, 515, 516, 517, 602, 764], [2, 201]), { 2: $V1, 3: 1204, 4: $V2, 5: $V3 }, o($VN4, [2, 1045], { 83: 1205, 92: 1206, 93: [1, 1207], 98: [1, 1208] }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: [1, 1210], 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 203: 1209, 209: 1211, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VL2, [2, 164]), o($VL2, [2, 165]), o($VL2, [2, 166]), o($VL2, [2, 167]), o($VL2, [2, 168]), { 2: $V1, 3: 667, 4: $V2, 5: $V3 }, o($Vz1, [2, 83], { 74: [1, 1212] }), o($VO4, [2, 85]), o($VO4, [2, 86]), { 113: 1213, 132: $VW, 296: $Vj1 }, o([10, 72, 74, 78, 93, 98, 118, 124, 128, 162, 168, 169, 183, 198, 206, 208, 222, 223, 224, 225, 226, 227, 228, 229, 232, 245, 247, 306, 310, 602, 764], $Vy2, { 116: $V94 }), o($Vh4, [2, 73]), o($Vh4, [2, 1050]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1214, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 126]), o($Vl4, [2, 144]), o($Vl4, [2, 145]), o($Vl4, [2, 146]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 78: [2, 1065], 94: 260, 111: 149, 113: 153, 127: 1215, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1216, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1217] }, o($Vl4, [2, 94]), o([2, 4, 5, 10, 72, 74, 76, 77, 78, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 96], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o([2, 4, 5, 10, 72, 74, 76, 77, 78, 112, 118, 122, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 143, 145, 146, 148, 149, 150, 152, 154, 156, 162, 164, 166, 168, 169, 170, 171, 172, 173, 175, 181, 183, 185, 187, 198, 280, 281, 282, 283, 284, 285, 286, 287, 288, 306, 310, 420, 424, 602, 764], [2, 97], { 114: 625, 327: 637, 99: $VZ1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1218], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1219, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VP4, [2, 1061], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1221, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 126: 1220, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1222, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1223, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1224, 4: $V2, 5: $V3 }, o($Vl4, [2, 110]), o($Vl4, [2, 111]), o($Vl4, [2, 112]), o($Vl4, [2, 119]), { 2: $V1, 3: 1225, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1226, 336: 1064, 337: 1066 }, { 2: $V1, 3: 1227, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1228, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 125]), o($VP4, [2, 1067], { 155: 1229 }), o($VP4, [2, 1069], { 157: 1230 }), o($VP4, [2, 1071], { 159: 1231 }), o($VP4, [2, 1075], { 161: 1232 }), o($VQ4, $VR4, { 163: 1233, 178: 1234 }), { 77: [1, 1235] }, o($VP4, [2, 1077], { 165: 1236 }), o($VP4, [2, 1079], { 167: 1237 }), o($VQ4, $VR4, { 178: 1234, 163: 1238 }), o($VQ4, $VR4, { 178: 1234, 163: 1239 }), o($VQ4, $VR4, { 178: 1234, 163: 1240 }), o($VQ4, $VR4, { 178: 1234, 163: 1241 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1242, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1243, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VS4, [2, 1081], { 176: 1244 }), o($VK, [2, 606], { 183: [1, 1245] }), o($VK, [2, 602], { 183: [1, 1246] }), o($VK, [2, 595]), { 113: 1247, 132: $VW, 296: $Vj1 }, o($VK, [2, 604], { 183: [1, 1248] }), o($VK, [2, 599]), o($VK, [2, 600], { 112: [1, 1249] }), o($Vv3, [2, 69]), { 40: 1250, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VK, [2, 450], { 74: $VT4, 128: [1, 1251] }), o($VU4, [2, 451]), { 124: [1, 1253] }, { 2: $V1, 3: 1254, 4: $V2, 5: $V3 }, o($Vt1, [2, 1115]), o($Vt1, [2, 1116]), o($VK, [2, 618]), o($Vy3, [2, 355], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VD4, $VE4, { 114: 625, 327: 637, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 332: $Vw2 }), o($VV1, [2, 682]), o($VV1, [2, 684]), o($VK, [2, 650]), o($VK, [2, 652], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1255, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1079, 4: $V2, 5: $V3, 77: $Vo4, 131: $Vp4, 432: 1256 }, o($VV4, [2, 659]), o($VV4, [2, 660]), o($VV4, [2, 661]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1257, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1258, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 114: 1077, 115: $V$1, 116: $V02, 124: [1, 1259] }, o($VD3, [2, 755]), o($VF3, [2, 148], { 74: $Vq4 }), o($VF3, [2, 149], { 74: $Vq4 }), o($VF3, [2, 150], { 74: $Vq4 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 1260, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1261, 4: $V2, 5: $V3, 113: 1263, 131: [1, 1262], 132: $VW, 296: $Vj1 }, o($Vr4, [2, 275]), o($Vr4, [2, 277]), o($Vr4, [2, 279]), o($VH1, [2, 160]), o($VH1, [2, 1090]), { 78: [1, 1264] }, o($VK1, [2, 758]), { 2: $V1, 3: 1265, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1266, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 384: 1267 }, { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 384: 1269 }, { 2: $V1, 3: 1270, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1271, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1272, 4: $V2, 5: $V3 }, { 74: $Vx3, 78: [1, 1273] }, o($Vz2, [2, 347]), o($Vz2, [2, 348]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1274, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1275, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1276, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1277, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VH3, [2, 504]), o($VK, $VW4, { 407: 1278, 76: $VX4, 77: [1, 1279] }), o($VK, $VW4, { 407: 1281, 76: $VX4 }), { 77: [1, 1282] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1283 }, o($VD3, [2, 731]), o($VD3, [2, 733]), o($VD3, [2, 1146]), { 143: $VF1, 145: $VG1, 431: 1284 }, o($VY4, [2, 1147], { 419: 190, 479: 1285, 144: 1286, 145: $VC1, 420: $Vr1, 424: $Vs1 }), { 76: $Vs4, 139: [2, 1151], 481: 1287, 483: 1288 }, o([10, 74, 76, 78, 132, 139, 145, 152, 306, 310, 420, 424, 602, 764], $VM3, { 490: 851, 493: 852, 137: $VS1 }), o($VD3, [2, 736]), o($VD3, $VK3), { 74: $VI3, 78: [1, 1289] }, o($VO3, [2, 1165], { 492: 1290, 497: 1291, 152: $VT1 }), o($VN3, [2, 1164]), o($VO3, [2, 745]), o($VO3, [2, 1170]), o($VK, [2, 490], { 77: [1, 1292] }), { 76: [1, 1294], 77: [1, 1293] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 148: [1, 1295], 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VI4, $VZ4, { 79: 75, 184: 99, 468: 1296, 40: 1299, 89: $V7, 146: $V_4, 189: $Vb, 470: $V$4 }), o($Vt4, [2, 1140]), o($VQ3, [2, 723]), { 230: [1, 1300] }, o($V05, [2, 769]), o($V05, [2, 770]), o($V05, [2, 771]), o($VR3, $VS3, { 510: 1301, 95: $VT3, 514: $VU3, 515: $VV3, 516: $VW3 }), o($VR3, [2, 768]), o($VK, [2, 312]), o($VK, [2, 313]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1302, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VV1, [2, 690], { 124: [1, 1303] }), o($Vx4, [2, 541]), { 131: [1, 1305], 388: 1304, 390: [1, 1306] }, o($Vx4, [2, 5]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1307, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 455], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 589]), o($VK, [2, 590]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1308 }, o($VK, [2, 670]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1309, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1310, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1311], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1312], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1313, 56: 165, 77: $VU, 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1314, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1315] }, { 74: $Vx3, 78: [1, 1316] }, o($VB1, [2, 426]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1317, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 40: 1318, 56: 165, 77: $VU, 78: [1, 1320], 79: 75, 89: $V7, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1319, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 184: 99, 189: $Vb, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 429]), o($VB1, [2, 431]), o($VB1, $V15, { 275: 1321, 276: $V25 }), { 78: [1, 1323], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1324], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1325, 4: $V2, 5: $V3, 180: [1, 1326] }, o($VD2, [2, 619]), o($VB1, [2, 363]), { 306: [1, 1327] }, o($VB1, [2, 370]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 306: [2, 374], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1328, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 4: $VX3, 7: 879, 272: 1329, 387: 878, 389: $VY3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1330, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VD2, [2, 641]), o($V74, [2, 648]), o($V84, [2, 636]), o($VH4, $VG4), o($VD2, [2, 638]), o($Vb4, [2, 643]), o($Vb4, [2, 645]), o($Vb4, [2, 646]), o($Vb4, [2, 647]), o($VI4, [2, 457], { 74: $VJ4 }), { 77: [1, 1332], 143: $VY, 144: 1333, 145: $VC1, 152: $V$, 181: $V31, 201: 1334, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 463]), { 74: $V35, 78: [1, 1335] }, { 74: $V45, 78: [1, 1337] }, o([74, 78, 99, 112, 115, 116, 123, 124, 133, 136, 138, 139, 140, 141, 142, 154, 170, 171, 179, 180, 311, 312, 313, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 330, 331, 332, 333], $V55), o($V65, [2, 479], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 40: 1341, 77: $Ve4, 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 1339, 342: 1340, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 461], { 74: $VJ4 }), o($VK, [2, 717], { 457: 1342, 458: 1343, 459: 1344, 308: $VM4, 464: [1, 1345] }), o($V75, [2, 701]), o($V75, [2, 702]), { 154: [1, 1347], 460: [1, 1346] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 308: [2, 698], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VI2, [2, 179]), { 2: $V1, 3: 1348, 4: $V2, 5: $V3 }, o($VK, [2, 574]), o($V85, [2, 238], { 84: 1349, 128: [1, 1350] }), o($VN4, [2, 1046]), { 77: [1, 1351] }, { 77: [1, 1352] }, o($Vf4, [2, 169], { 204: 1353, 215: 1355, 205: 1356, 216: 1357, 221: 1360, 74: $V95, 206: $Va5, 208: $Vb5, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 40: 711, 77: $Vw1, 79: 75, 89: $V7, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 184: 99, 189: $Vb, 199: 213, 200: 215, 201: 214, 202: 217, 203: 1369, 209: 1211, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vk5, [2, 177]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 110: 1370, 111: 1009, 112: $Vg4 }, o($VO4, [2, 87]), o($Vh4, [2, 147], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 78: [1, 1371] }, { 74: $Vx3, 78: [2, 1066] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 78: [2, 1059], 94: 1376, 111: 149, 113: 153, 120: 1372, 121: 1373, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 242: [1, 1375], 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 98]), o($VP4, [2, 1062], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1377], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1378, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VP4, [2, 1063], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 78: [1, 1379], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1380], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1381] }, o($Vl4, [2, 120]), { 74: $VT4, 78: [1, 1382] }, o($Vl4, [2, 122]), { 74: $Vx3, 78: [1, 1383] }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1384], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1385, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1386], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1387, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1388], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1389, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1390], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1391, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vl5, 78: [1, 1392] }, o($V65, [2, 143], { 419: 190, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 117: 1394, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), o($VQ4, $VR4, { 178: 1234, 163: 1395 }), { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1396], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1397, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 78: [1, 1398], 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1399, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vl5, 78: [1, 1400] }, { 74: $Vl5, 78: [1, 1401] }, { 74: $Vl5, 78: [1, 1402] }, { 74: $Vl5, 78: [1, 1403] }, { 78: [1, 1404], 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }, { 74: $Vq4, 78: [1, 1405] }, { 2: $V1, 3: 733, 4: $V2, 5: $V3, 72: $VP2, 74: [1, 1406], 76: $VQ2, 77: $VR2, 112: $VS2, 114: 736, 115: $V$1, 116: $V02, 117: 1407, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 144: 758, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 158: 768, 160: 769, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1408, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1409, 4: $V2, 5: $V3 }, o($VK, [2, 597]), { 2: $V1, 3: 1410, 4: $V2, 5: $V3 }, { 113: 1411, 132: $VW, 296: $Vj1 }, { 78: [1, 1412] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1413, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 336: 1414, 337: 1066 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1415, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 124: [1, 1416] }, o($VK, [2, 653], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VV4, [2, 658]), { 78: [1, 1417], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, [2, 654], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1418, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vr4, [2, 272]), o($Vr4, [2, 274]), o($Vr4, [2, 276]), o($Vr4, [2, 278]), o($VH1, [2, 161]), o($VK, [2, 569]), { 148: [1, 1419] }, o($VK, [2, 570]), o($VD3, [2, 536], { 387: 878, 7: 879, 272: 1420, 4: $VX3, 386: [1, 1421], 389: $VY3 }), o($VK, [2, 571]), o($VK, [2, 573]), { 74: $Vx3, 78: [1, 1422] }, o($VK, [2, 577]), o($Vz2, [2, 345]), { 74: [1, 1423], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1424], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1425], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 74: [1, 1426], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, [2, 581]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1427, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1428, 4: $V2, 5: $V3 }, o($VK, [2, 583]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1429, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1430] }, { 2: $V1, 3: 1431, 4: $V2, 5: $V3 }, { 76: $Vs4, 139: [2, 1149], 480: 1432, 483: 1433 }, o($VY4, [2, 1148]), { 139: [1, 1434] }, { 139: [2, 1152] }, o($VD3, [2, 737]), o($VO3, [2, 744]), o($VO3, [2, 1166]), { 2: $V1, 3: 1268, 4: $V2, 5: $V3, 76: [1, 1437], 351: 1435, 358: 1436, 384: 1438 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1439, 111: 1440 }, { 40: 1441, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1442, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 722]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1443, 336: 1064, 337: 1066 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1444, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 727]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1445 }, { 335: $Vu4, 338: $Vv4, 339: $Vw4, 511: 1446 }, o($VV1, [2, 691], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1447, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: [1, 1448], 78: [1, 1449] }, o($V65, [2, 543]), o($V65, [2, 544]), { 74: $V45, 78: [1, 1450] }, o($VV1, [2, 565]), o($Vz4, [2, 380], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($Vz4, [2, 382], { 114: 625, 327: 637, 115: $V$1, 116: $V02, 123: $V12, 133: $V32, 136: $V42, 138: $V52, 141: $V82, 142: $V92, 179: $Vd2, 180: $Ve2, 312: $Vg2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2 }), o($VB1, [2, 396]), o($VB1, [2, 400]), { 78: [1, 1451] }, { 74: $Vx3, 78: [1, 1452] }, o($VB1, [2, 422]), o($VB1, [2, 424]), { 78: [1, 1453], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1454] }, { 74: $Vx3, 78: [1, 1455] }, o($VB1, [2, 427]), o($VB1, [2, 327]), { 77: [1, 1456] }, o($VB1, $V15, { 275: 1457, 276: $V25 }), o($VB1, $V15, { 275: 1458, 276: $V25 }), o($VH4, [2, 284]), o($VB1, [2, 281]), o($VB1, [2, 369]), o($V64, [2, 373], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 74: [1, 1460], 78: [1, 1459] }, { 74: [1, 1462], 78: [1, 1461], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 2: $V1, 3: 1325, 4: $V2, 5: $V3 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1194, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 345: 1463, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VL4, [2, 477]), o($VL4, [2, 478]), { 40: 1466, 77: $Ve4, 79: 75, 89: $V7, 143: $VY, 144: 979, 145: $VC1, 149: $Vc4, 152: $V$, 181: $V31, 184: 99, 189: $Vb, 201: 980, 302: $Vn1, 341: 1464, 342: 1465, 344: $Vd4, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1467 }, o($VL4, [2, 473]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1468, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1469, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 460], { 74: $VJ4 }), o($VI4, [2, 467]), o($VK, [2, 694]), o($V75, [2, 699]), o($V75, [2, 700]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 817, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 174: 1470, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 253: 816, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 170: [1, 1472], 309: [1, 1471] }, { 460: [1, 1473] }, o($VI2, [2, 180]), o($Vm5, [2, 240], { 85: 1474, 232: [1, 1475] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1476, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1477, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1478, 4: $V2, 5: $V3 }, o($Vf4, [2, 170], { 216: 1357, 221: 1360, 215: 1479, 205: 1480, 206: $Va5, 208: $Vb5, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: $Vw1, 132: $Vx1, 143: $VY, 144: 212, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 213, 200: 215, 201: 214, 202: 217, 209: 1481, 213: $Vy1, 214: 218, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vn5, [2, 205]), o($Vn5, [2, 206]), { 2: $V1, 3: 219, 4: $V2, 5: $V3, 77: [1, 1486], 143: $VY, 144: 1484, 145: $VZ, 152: $V$, 156: $VL, 181: $V31, 199: 1483, 200: 1487, 201: 1485, 202: 1488, 217: 1482, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 302: $Vn1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 207: [1, 1489], 223: $Vo5 }, { 207: [1, 1491], 223: $Vp5 }, o($Vq5, [2, 222]), { 206: [1, 1495], 208: [1, 1494], 221: 1493, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($Vq5, [2, 224]), { 223: [1, 1496] }, { 208: [1, 1498], 223: [1, 1497] }, { 208: [1, 1500], 223: [1, 1499] }, { 208: [1, 1501] }, { 223: [1, 1502] }, { 223: [1, 1503] }, { 74: $V95, 204: 1504, 205: 1356, 206: $Va5, 208: $Vb5, 215: 1355, 216: 1357, 221: 1360, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($VO4, [2, 84]), o($Vl4, [2, 100]), { 74: $Vr5, 78: [1, 1505] }, { 78: [1, 1507] }, o($Vs5, [2, 261]), { 78: [2, 1060] }, o($Vs5, [2, 263], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 242: [1, 1508], 243: [1, 1509], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($Vl4, [2, 99]), o($VP4, [2, 1064], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 101]), o($Vl4, [2, 102]), o($Vl4, [2, 103]), o($Vl4, [2, 121]), o($Vl4, [2, 124]), o($Vl4, [2, 127]), o($VP4, [2, 1068], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 128]), o($VP4, [2, 1070], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 129]), o($VP4, [2, 1072], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 130]), o($VP4, [2, 1076], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 131]), o($VQ4, [2, 1083], { 177: 1510 }), o($VQ4, [2, 1086], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), { 74: $Vl5, 78: [1, 1511] }, o($Vl4, [2, 133]), o($VP4, [2, 1078], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 134]), o($VP4, [2, 1080], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 135]), o($Vl4, [2, 136]), o($Vl4, [2, 137]), o($Vl4, [2, 138]), o($Vl4, [2, 139]), o($Vl4, [2, 140]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 260, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 151: 1512, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VS4, [2, 1082], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($VK, [2, 607]), o($VK, [2, 603]), o($VK, [2, 605]), o($VK, [2, 601]), o($Vv3, [2, 71]), o($VK, [2, 449], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VU4, [2, 452]), o($VU4, [2, 453], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1513, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VV4, [2, 662]), o($VK, [2, 655], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 1514, 4: $V2, 5: $V3 }, o($VD3, [2, 545], { 385: 1515, 391: 1516, 392: 1517, 366: 1525, 154: $Vt5, 187: $Vu5, 230: $Vv5, 297: $Vw5, 343: $Vx5, 356: $Vy5, 368: $Vz5, 369: $VA5, 373: $VB5, 374: $VC5 }), o($VD3, [2, 535]), o($VK, [2, 576], { 76: [1, 1529] }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1530, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1531, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1532, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1533, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $Vx3, 78: [1, 1534] }, o($VK, [2, 585]), { 74: $Vr5, 78: [1, 1535] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1536, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o([10, 74, 78, 139, 306, 310, 602, 764], [2, 741]), { 139: [1, 1537] }, { 139: [2, 1150] }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1538, 482: 582, 493: 579, 497: 581 }, { 78: [1, 1539] }, { 74: [1, 1540], 78: [2, 506] }, { 40: 1541, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($V65, [2, 532]), { 74: $V35, 78: [1, 1542] }, o($Vk5, $V55), o($VK, [2, 1133], { 412: 1543, 413: 1544, 72: $VD5 }), o($VI4, $VZ4, { 79: 75, 184: 99, 114: 625, 327: 637, 40: 1299, 468: 1546, 89: $V7, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 146: $V_4, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 189: $Vb, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2, 470: $V$4 }), o($VI4, [2, 725], { 74: $VT4 }), o($VI4, [2, 726], { 74: $Vx3 }), o([10, 53, 72, 89, 124, 146, 156, 189, 266, 267, 290, 306, 310, 335, 338, 339, 396, 400, 401, 404, 406, 408, 409, 417, 418, 434, 436, 437, 439, 440, 441, 442, 443, 447, 448, 451, 452, 505, 507, 508, 517, 602, 764], [2, 1181], { 512: 1547, 3: 1548, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1549] }), o($VE5, [2, 1183], { 513: 1550, 76: [1, 1551] }), o($VV1, [2, 692], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 131: [1, 1552] }, o($Vx4, [2, 538]), o($Vx4, [2, 540]), o($VB1, [2, 412]), o($VB1, [2, 413]), o($VB1, [2, 439]), o($VB1, [2, 423]), o($VB1, [2, 425]), { 118: $VF5, 277: 1553, 278: 1554, 279: [1, 1555] }, o($VB1, [2, 328]), o($VB1, [2, 329]), o($VB1, [2, 316]), { 131: [1, 1557] }, o($VB1, [2, 318]), { 131: [1, 1558] }, { 74: $V45, 78: [1, 1559] }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1560, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VI4, [2, 465], { 74: $VJ4 }), o($VI4, [2, 468]), o($Vk5, [2, 488]), o($V65, [2, 480], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VI4, [2, 459], { 74: $VJ4 }), o($VK, [2, 718], { 74: $Vq4, 198: [1, 1561] }), { 335: $VG5, 338: $VH5, 461: 1562 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1565, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 119: [1, 1567], 170: [1, 1568], 309: [1, 1566] }, o($VI5, [2, 259], { 86: 1569, 118: [1, 1570] }), { 119: [1, 1571] }, o($V85, [2, 239], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 95: [1, 1572], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 95: [1, 1573] }, o($Vn5, [2, 203]), o($Vn5, [2, 204]), o($Vk5, [2, 178]), o($Vn5, [2, 237], { 218: 1574, 230: [1, 1575], 231: [1, 1576] }), o($VJ5, [2, 208], { 3: 1577, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1578] }), o($VK5, [2, 1095], { 219: 1579, 76: [1, 1580] }), { 2: $V1, 3: 1581, 4: $V2, 5: $V3, 76: [1, 1582] }, { 40: 1583, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VJ5, [2, 216], { 3: 1584, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1585] }), o($VJ5, [2, 219], { 3: 1586, 2: $V1, 4: $V2, 5: $V3, 76: [1, 1587] }), { 77: [1, 1588] }, o($Vq5, [2, 234]), { 77: [1, 1589] }, o($Vq5, [2, 230]), o($Vq5, [2, 223]), { 223: $Vp5 }, { 223: $Vo5 }, o($Vq5, [2, 225]), o($Vq5, [2, 226]), { 223: [1, 1590] }, o($Vq5, [2, 228]), { 223: [1, 1591] }, { 223: [1, 1592] }, o($Vq5, [2, 232]), o($Vq5, [2, 233]), { 78: [1, 1593], 205: 1480, 206: $Va5, 208: $Vb5, 215: 1479, 216: 1357, 221: 1360, 222: $Vc5, 223: $Vd5, 224: $Ve5, 225: $Vf5, 226: $Vg5, 227: $Vh5, 228: $Vi5, 229: $Vj5 }, o($Vl4, [2, 91]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1594, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vl4, [2, 92]), o($Vs5, [2, 264]), { 244: [1, 1595] }, o($V65, [2, 142], { 419: 190, 3: 733, 114: 736, 144: 758, 158: 768, 160: 769, 117: 1596, 2: $V1, 4: $V2, 5: $V3, 72: $VP2, 76: $VQ2, 77: $VR2, 112: $VS2, 115: $V$1, 116: $V02, 118: $VT2, 122: $VU2, 123: $VV2, 124: $VW2, 128: $VX2, 129: $VY2, 130: $VZ2, 131: $V_2, 132: $V$2, 133: $V03, 134: $V13, 135: $V23, 136: $V33, 137: $V43, 138: $V53, 139: $V63, 140: $V73, 141: $V83, 142: $V93, 143: $Va3, 145: $Vb3, 146: $Vc3, 148: $Vd3, 149: $Ve3, 150: $Vf3, 152: $Vg3, 154: $Vh3, 156: $Vi3, 162: $Vj3, 164: $Vk3, 166: $Vl3, 168: $Vm3, 169: $Vn3, 170: $Vo3, 171: $Vp3, 172: $Vq3, 173: $Vr3, 175: $Vs3, 185: $Vt3, 187: $Vu3, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 420: $Vr1, 424: $Vs1 }), o($Vl4, [2, 132]), { 74: $Vx3, 78: [1, 1597] }, o($VU4, [2, 454], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($VK, [2, 572]), o($VD3, [2, 534]), o($VD3, [2, 546], { 366: 1525, 392: 1598, 154: $Vt5, 187: $Vu5, 230: $Vv5, 297: $Vw5, 343: $Vx5, 356: $Vy5, 368: $Vz5, 369: $VA5, 373: $VB5, 374: $VC5 }), o($Vw3, [2, 548]), { 370: [1, 1599] }, { 370: [1, 1600] }, { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1601 }, o($Vw3, [2, 554], { 77: [1, 1602] }), { 2: $V1, 3: 114, 4: $V2, 5: $V3, 77: [1, 1604], 113: 251, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 1605, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 1603, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1 }, o($Vw3, [2, 558]), { 297: [1, 1606] }, o($Vw3, [2, 560]), o($Vw3, [2, 561]), { 335: [1, 1607] }, { 77: [1, 1608] }, { 2: $V1, 3: 1609, 4: $V2, 5: $V3 }, { 78: [1, 1610], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1611], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1612], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 78: [1, 1613], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VK, $VW4, { 407: 1614, 76: $VX4 }), o($VK, [2, 591]), { 74: $Vr5, 78: [1, 1615] }, { 2: $V1, 3: 1122, 4: $V2, 5: $V3, 132: $VR1, 137: $VS1, 143: $VF1, 145: $VG1, 152: $VT1, 431: 585, 475: 1124, 478: 1616, 482: 582, 493: 579, 497: 581 }, o($VD3, [2, 735]), o($VK, [2, 493], { 352: 1617, 354: 1618, 355: 1619, 4: $VL5, 243: $VM5, 343: $VN5, 356: $VO5 }), o($VP5, $VQ5, { 3: 1268, 359: 1624, 384: 1625, 360: 1626, 361: 1627, 2: $V1, 4: $V2, 5: $V3, 367: $VR5 }), { 78: [2, 507] }, { 76: [1, 1629] }, o($VK, [2, 609]), o($VK, [2, 1134]), { 368: [1, 1631], 414: [1, 1630] }, o($VI4, [2, 728]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1632, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VK, [2, 762]), o($VE5, [2, 1182]), o($VK, $V0, { 17: 5, 18: 7, 19: 8, 20: 9, 21: 10, 22: 11, 23: 12, 24: 13, 25: 14, 26: 15, 27: 16, 28: 17, 29: 18, 30: 19, 31: 20, 32: 21, 33: 22, 34: 23, 35: 24, 36: 25, 37: 26, 38: 27, 39: 28, 40: 29, 41: 30, 42: 31, 43: 32, 44: 33, 45: 34, 46: 35, 47: 36, 48: 37, 49: 38, 50: 39, 51: 40, 52: 41, 54: 43, 55: 44, 56: 45, 57: 46, 58: 47, 59: 48, 60: 49, 61: 50, 62: 51, 63: 52, 64: 53, 65: 54, 66: 55, 67: 56, 68: 57, 69: 58, 70: 59, 71: 60, 79: 75, 504: 95, 184: 99, 3: 100, 12: 1633, 2: $V1, 4: $V2, 5: $V3, 53: $V5, 72: $V6, 89: $V7, 124: $V8, 146: $V9, 156: $Va, 189: $Vb, 266: $Vc, 267: $Vd, 290: $Ve, 335: $Vf, 338: $Vg, 339: $Vh, 396: $Vi, 400: $Vj, 401: $Vk, 404: $Vl, 406: $Vm, 408: $Vn, 409: $Vo, 417: $Vp, 418: $Vq, 434: $Vr, 436: $Vs, 437: $Vt, 439: $Vu, 440: $Vv, 441: $Vw, 442: $Vx, 443: $Vy, 447: $Vz, 448: $VA, 451: $VB, 452: $VC, 505: $VD, 507: $VE, 508: $VF, 517: $VG }), o($VE5, [2, 1184]), { 78: [1, 1634] }, { 78: [1, 1635], 118: $VF5, 278: 1636 }, { 78: [1, 1637] }, { 119: [1, 1638] }, { 119: [1, 1639] }, { 78: [1, 1640] }, { 78: [1, 1641] }, o($VL4, [2, 476]), o($VI4, [2, 464], { 74: $VJ4 }), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 143: $VF1, 145: $VG1, 199: 1643, 431: 1642 }, o($V75, [2, 703]), o($V75, [2, 705]), { 146: [1, 1644] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1645], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, { 339: $VS5, 462: 1646 }, { 417: [1, 1649], 463: [1, 1648] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1650, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VT5, [2, 267], { 87: 1651, 245: [1, 1652], 247: [1, 1653] }), { 119: [1, 1654] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1655, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1661, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1662, 4: $V2, 5: $V3 }, o($Vn5, [2, 207]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1663, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1664, 111: 1440 }, o($VJ5, [2, 209]), { 2: $V1, 3: 1665, 4: $V2, 5: $V3 }, o($VJ5, [2, 1097], { 220: 1666, 3: 1667, 2: $V1, 4: $V2, 5: $V3 }), o($VK5, [2, 1096]), o($VJ5, [2, 212]), { 2: $V1, 3: 1668, 4: $V2, 5: $V3 }, { 78: [1, 1669] }, o($VJ5, [2, 217]), { 2: $V1, 3: 1670, 4: $V2, 5: $V3 }, o($VJ5, [2, 220]), { 2: $V1, 3: 1671, 4: $V2, 5: $V3 }, { 40: 1672, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 40: 1673, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vq5, [2, 227]), o($Vq5, [2, 229]), o($Vq5, [2, 231]), o($Vf4, [2, 171]), o($Vs5, [2, 262]), o($Vs5, [2, 265], { 242: [1, 1674] }), o($VQ4, [2, 1084], { 153: 1015, 179: $Vi4, 180: $Vj4, 181: $Vk4 }), o($Vl4, [2, 141]), o($Vw3, [2, 547]), o($Vw3, [2, 550]), { 374: [1, 1675] }, o($Vw3, [2, 1127], { 395: 1676, 393: 1677, 77: $VX5 }), { 131: $VV, 196: 1679 }, o($Vw3, [2, 555]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1680, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vw3, [2, 557]), o($Vw3, [2, 559]), { 2: $V1, 3: 114, 4: $V2, 5: $V3, 77: [1, 1682], 113: 251, 131: $VV, 132: $VW, 143: $VY, 152: $V$, 156: $VL, 181: $V31, 196: 250, 200: 255, 201: 254, 257: 252, 258: 253, 265: $VD1, 274: 1681, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 302: $Vn1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1683, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VK, [2, 578]), o($Vz2, [2, 349]), o($Vz2, [2, 350]), o($Vz2, [2, 351]), o($Vz2, [2, 352]), o($VK, [2, 582]), o($VK, [2, 592]), o($VD3, [2, 734]), o($VK, [2, 489]), o($VK, [2, 494], { 355: 1684, 4: $VL5, 243: $VM5, 343: $VN5, 356: $VO5 }), o($VY5, [2, 496]), o($VY5, [2, 497]), { 124: [1, 1685] }, { 124: [1, 1686] }, { 124: [1, 1687] }, { 74: [1, 1688], 78: [2, 505] }, o($V65, [2, 533]), o($V65, [2, 508]), { 187: [1, 1696], 193: [1, 1697], 362: 1689, 363: 1690, 364: 1691, 365: 1692, 366: 1693, 368: $Vz5, 369: [1, 1694], 370: [1, 1698], 373: [1, 1695] }, { 2: $V1, 3: 1699, 4: $V2, 5: $V3 }, { 40: 1700, 79: 75, 89: $V7, 184: 99, 189: $Vb }, { 415: [1, 1701] }, { 416: [1, 1702] }, o($VK, [2, 761]), o($VK, [2, 763]), o($Vx4, [2, 537]), o($VB1, [2, 331]), { 78: [1, 1703] }, o($VB1, [2, 332]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1704, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1705, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($VB1, [2, 317]), o($VB1, [2, 319]), { 2: $V1, 3: 1706, 4: $V2, 5: $V3 }, o($VK, [2, 720], { 77: [1, 1707] }), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 111: 1065, 143: $Vm4, 145: $Vn4, 147: 1708, 336: 1064, 337: 1066 }, { 335: $VG5, 338: $VH5, 461: 1709 }, o($V75, [2, 707]), { 77: [1, 1711], 343: [1, 1712], 344: [1, 1710] }, { 170: [1, 1714], 309: [1, 1713] }, { 170: [1, 1716], 309: [1, 1715] }, { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1717], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vh4, [2, 250], { 88: 1718, 162: [1, 1719], 168: [1, 1721], 169: [1, 1720] }), { 131: $VV, 196: 1722 }, { 131: $VV, 196: 1723 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1376, 111: 149, 113: 153, 120: 1724, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 241: 1374, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, o($Vm5, [2, 248], { 234: 1725, 74: $VZ5, 239: [1, 1727] }), o($V_5, [2, 242]), { 146: [1, 1728] }, { 77: [1, 1729] }, { 77: [1, 1730] }, o($V_5, [2, 247], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 78: [2, 1051], 96: 1731, 99: [1, 1733], 102: 1732 }, { 99: [1, 1734] }, o($Vn5, [2, 235], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), o($Vn5, [2, 236], { 74: $V35 }), o($VJ5, [2, 210]), o($VJ5, [2, 211]), o($VJ5, [2, 1098]), o($VJ5, [2, 213]), { 2: $V1, 3: 1735, 4: $V2, 5: $V3, 76: [1, 1736] }, o($VJ5, [2, 218]), o($VJ5, [2, 221]), { 78: [1, 1737] }, { 78: [1, 1738] }, o($Vs5, [2, 266]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1739 }, o($Vw3, [2, 552]), o($Vw3, [2, 1128]), { 2: $V1, 3: 1740, 4: $V2, 5: $V3 }, { 74: [1, 1741] }, { 78: [1, 1742], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vw3, [2, 562]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1743, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1744], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($VY5, [2, 495]), { 2: $V1, 3: 1745, 4: $V2, 5: $V3 }, { 131: $VV, 196: 1746 }, { 2: $V1, 3: 1747, 4: $V2, 5: $V3 }, o($VP5, $VQ5, { 361: 1627, 360: 1748, 367: $VR5 }), o($VD3, [2, 510]), o($VD3, [2, 511]), o($VD3, [2, 512]), o($VD3, [2, 513]), o($VD3, [2, 514]), { 370: [1, 1749] }, { 370: [1, 1750] }, o($V$5, [2, 1121], { 382: 1751, 370: [1, 1752] }), { 2: $V1, 3: 1753, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1754, 4: $V2, 5: $V3 }, o($VP5, [2, 516]), o($VK, [2, 1131], { 411: 1755, 413: 1756, 72: $VD5 }), o($VK, [2, 610]), o($VK, [2, 611], { 367: [1, 1757] }), o($VB1, [2, 333]), o([78, 118], [2, 334], { 74: $VZ5 }), { 74: $Vr5, 78: [2, 335] }, o($VK, [2, 719]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1758, 111: 1440 }, o($V75, [2, 706], { 74: $VT4 }), o($V75, [2, 704]), { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1759, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1760, 111: 1440 }, { 344: [1, 1761] }, { 339: $VS5, 462: 1762 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1763, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 339: $VS5, 462: 1764 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1765, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 339: $VS5, 462: 1766 }, o($Vh4, [2, 72]), { 40: 1767, 79: 75, 89: $V7, 164: [1, 1768], 184: 99, 189: $Vb, 240: [1, 1769] }, { 40: 1770, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1771] }, { 40: 1772, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1773] }, o($VT5, [2, 270], { 246: 1774, 247: [1, 1775] }), { 248: 1776, 249: [2, 1099], 766: [1, 1777] }, o($VI5, [2, 260], { 74: $Vr5 }), o($Vm5, [2, 241]), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 235: 1778, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1779, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 77: [1, 1780] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1781, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1782, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 78: [1, 1783] }, { 78: [2, 1052] }, { 77: [1, 1784] }, { 77: [1, 1785] }, o($VJ5, [2, 214]), { 2: $V1, 3: 1786, 4: $V2, 5: $V3 }, { 2: $V1, 3: 1787, 4: $V2, 5: $V3, 76: [1, 1788] }, { 2: $V1, 3: 1789, 4: $V2, 5: $V3, 76: [1, 1790] }, o($Vw3, [2, 1125], { 394: 1791, 393: 1792, 77: $VX5 }), { 78: [1, 1793] }, { 131: $VV, 196: 1794 }, o($Vw3, [2, 556]), { 78: [1, 1795], 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($Vw3, [2, 517]), o($VY5, [2, 498]), o($VY5, [2, 499]), o($VY5, [2, 500]), o($V65, [2, 509]), { 2: $V1, 3: 1797, 4: $V2, 5: $V3, 77: [2, 1117], 371: 1796 }, { 77: [1, 1798] }, { 2: $V1, 3: 1800, 4: $V2, 5: $V3, 77: [2, 1123], 383: 1799 }, o($V$5, [2, 1122]), { 77: [1, 1801] }, { 77: [1, 1802] }, o($VK, [2, 608]), o($VK, [2, 1132]), o($VP5, $VQ5, { 361: 1627, 360: 1803, 367: $VR5 }), { 74: $V35, 78: [1, 1804] }, o($V75, [2, 713], { 74: $VJ4 }), { 74: $V35, 78: [1, 1805] }, o($V75, [2, 715]), o($V75, [2, 708]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1806], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($V75, [2, 711]), { 99: $VZ1, 112: $V_1, 114: 625, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 309: [1, 1807], 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 327: 637, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }, o($V75, [2, 709]), o($Vh4, [2, 251]), { 40: 1808, 79: 75, 89: $V7, 184: 99, 189: $Vb, 240: [1, 1809] }, { 40: 1810, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 253]), { 40: 1811, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 254]), { 40: 1812, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($VT5, [2, 268]), { 131: $VV, 196: 1813 }, { 249: [1, 1814] }, { 249: [2, 1100] }, o($V_5, [2, 243]), o($Vm5, [2, 249], { 114: 625, 327: 637, 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1660, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 233: 1815, 235: 1656, 236: $VU5, 237: $VV5, 238: $VW5, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 74: $VZ5, 78: [1, 1816] }, { 74: $VZ5, 78: [1, 1817] }, o($VN4, [2, 1053], { 97: 1818, 104: 1819, 3: 1821, 2: $V1, 4: $V2, 5: $V3, 76: $V06 }), { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1824, 103: 1822, 105: 1823, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1825, 111: 1440 }, o($VJ5, [2, 215]), o($Vn5, [2, 173]), { 2: $V1, 3: 1826, 4: $V2, 5: $V3 }, o($Vn5, [2, 175]), { 2: $V1, 3: 1827, 4: $V2, 5: $V3 }, o($Vw3, [2, 551]), o($Vw3, [2, 1126]), o($Vw3, [2, 549]), { 78: [1, 1828] }, o($Vw3, [2, 563]), { 77: [1, 1829] }, { 77: [2, 1118] }, { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1830 }, { 77: [1, 1833] }, { 77: [2, 1124] }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1834, 111: 1440 }, { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1835, 111: 1440 }, o($VK, [2, 612]), o($VK, [2, 721]), { 343: [1, 1837], 344: [1, 1836] }, { 339: $VS5, 462: 1838 }, { 335: $VG5, 338: $VH5, 461: 1839 }, o($Vh4, [2, 252]), { 40: 1840, 79: 75, 89: $V7, 184: 99, 189: $Vb }, o($Vh4, [2, 255]), o($Vh4, [2, 257]), o($Vh4, [2, 258]), o($VT5, [2, 271]), { 131: [2, 1101], 250: 1841, 645: [1, 1842] }, { 74: $VZ5, 78: [1, 1843] }, o($V_5, [2, 245]), o($V_5, [2, 246]), o($VN4, [2, 74]), o($VN4, [2, 1054]), { 2: $V1, 3: 1844, 4: $V2, 5: $V3 }, o($VN4, [2, 78]), { 74: [1, 1846], 78: [1, 1845] }, o($V65, [2, 80]), o($V65, [2, 81], { 114: 625, 327: 637, 76: [1, 1847], 99: $VZ1, 112: $V_1, 115: $V$1, 116: $V02, 123: $V12, 124: $Vz3, 133: $V32, 136: $V42, 138: $V52, 139: $V62, 140: $V72, 141: $V82, 142: $V92, 154: $Va2, 170: $Vb2, 171: $Vc2, 179: $Vd2, 180: $Ve2, 311: $Vf2, 312: $Vg2, 313: $Vh2, 315: $Vi2, 316: $Vj2, 317: $Vk2, 318: $Vl2, 319: $Vm2, 320: $Vn2, 321: $Vo2, 322: $Vp2, 323: $Vq2, 324: $Vr2, 325: $Vs2, 326: $Vt2, 330: $Vu2, 331: $Vv2, 332: $Vw2, 333: $Vx2 }), { 74: $V35, 78: [1, 1848] }, o($Vn5, [2, 174]), o($Vn5, [2, 176]), o($Vw3, [2, 553]), { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1849 }, { 74: $V26, 78: [1, 1850] }, o($V65, [2, 528]), o($V65, [2, 529]), { 2: $V1, 3: 1011, 4: $V2, 5: $V3, 100: 1852, 111: 1440 }, { 74: $V35, 78: [1, 1853] }, { 74: $V35, 78: [1, 1854] }, { 77: $Ve4, 143: $VY, 144: 979, 145: $VC1, 152: $V$, 181: $V31, 201: 980, 302: $Vn1, 342: 1855, 419: 190, 420: $Vr1, 424: $Vs1 }, { 344: [1, 1856] }, o($V75, [2, 710]), o($V75, [2, 712]), o($Vh4, [2, 256]), { 131: $VV, 196: 1857 }, { 131: [2, 1102] }, o($V_5, [2, 244]), o($VN4, [2, 77]), { 78: [2, 76] }, { 2: $V1, 3: 168, 4: $V2, 5: $V3, 56: 165, 77: $VU, 94: 1824, 105: 1858, 111: 149, 113: 153, 131: $VV, 132: $VW, 137: $VX, 143: $VY, 144: 161, 145: $VZ, 149: $V_, 152: $V$, 154: $V01, 156: $VL, 158: 167, 179: $V11, 180: $V21, 181: $V31, 196: 151, 200: 147, 201: 155, 202: 156, 254: 150, 255: 146, 256: 148, 257: 152, 258: 154, 259: 157, 260: 158, 261: 159, 262: 162, 263: 163, 265: $V41, 266: $Vc, 270: $V51, 271: $V61, 273: $V71, 280: $V81, 281: $V91, 282: $Va1, 283: $Vb1, 284: $Vc1, 285: $Vd1, 286: $Ve1, 287: $Vf1, 288: $Vg1, 290: $VM, 291: $VN, 292: $VO, 293: $VP, 294: $Vh1, 295: $Vi1, 296: $Vj1, 297: $Vk1, 298: $Vl1, 299: $Vm1, 302: $Vn1, 303: $Vo1, 312: $Vp1, 317: $Vq1, 419: 190, 420: $Vr1, 424: $Vs1 }, { 2: $V1, 3: 1859, 4: $V2, 5: $V3 }, { 78: [1, 1860] }, { 74: $V26, 78: [1, 1861] }, { 374: [1, 1862] }, { 2: $V1, 3: 1863, 4: $V2, 5: $V3, 132: [1, 1864] }, { 74: $V35, 78: [1, 1865] }, o($VD3, [2, 526]), o($VD3, [2, 527]), o($V75, [2, 714], { 74: $VJ4 }), o($V75, [2, 716]), o($V36, [2, 1103], { 251: 1866, 766: [1, 1867] }), o($V65, [2, 79]), o($V65, [2, 82]), o($VN4, [2, 1055], { 3: 1821, 101: 1868, 104: 1869, 2: $V1, 4: $V2, 5: $V3, 76: $V06 }), o($VD3, [2, 518]), { 2: $V1, 3: 244, 4: $V2, 5: $V3, 199: 1870 }, o($V65, [2, 530]), o($V65, [2, 531]), o($VD3, [2, 525]), o($VT5, [2, 1105], { 252: 1871, 415: [1, 1872] }), o($V36, [2, 1104]), o($VN4, [2, 75]), o($VN4, [2, 1056]), o($V46, [2, 1119], { 375: 1873, 377: 1874, 77: [1, 1875] }), o($VT5, [2, 269]), o($VT5, [2, 1106]), o($VD3, [2, 521], { 376: 1876, 378: 1877, 230: [1, 1878] }), o($V46, [2, 1120]), { 2: $V1, 3: 1831, 4: $V2, 5: $V3, 132: $V16, 372: 1879 }, o($VD3, [2, 519]), { 230: [1, 1881], 379: 1880 }, { 338: [1, 1882] }, { 74: $V26, 78: [1, 1883] }, o($VD3, [2, 522]), { 335: [1, 1884] }, { 380: [1, 1885] }, o($V46, [2, 520]), { 380: [1, 1886] }, { 381: [1, 1887] }, { 381: [1, 1888] }, { 230: [2, 523] }, o($VD3, [2, 524])],
+ defaultActions: { 105: [2, 6], 194: [2, 336], 195: [2, 337], 196: [2, 338], 197: [2, 339], 198: [2, 340], 199: [2, 341], 200: [2, 342], 201: [2, 343], 202: [2, 344], 209: [2, 695], 591: [2, 1142], 653: [2, 1107], 654: [2, 1108], 710: [2, 696], 780: [2, 1073], 781: [2, 1074], 926: [2, 446], 927: [2, 447], 928: [2, 448], 987: [2, 697], 1288: [2, 1152], 1375: [2, 1060], 1433: [2, 1150], 1541: [2, 507], 1732: [2, 1052], 1777: [2, 1100], 1797: [2, 1118], 1800: [2, 1124], 1842: [2, 1102], 1845: [2, 76], 1887: [2, 523] },
+ parseError: function parseError(str, hash) {
+ if (hash.recoverable) {
+ this.trace(str);
+ }
+ else {
+ var error = new Error(str);
+ error.hash = hash;
+ throw error;
+ }
+ },
+ parse: function parse(input) {
+ var this$1 = this;
+
+ var self = this, stack = [0], vstack = [null], // semantic value stack
+ lstack = [], // location stack
+ table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
+ var args = lstack.slice.call(arguments, 1);
+ //this.reductionCount = this.shiftCount = 0;
+ var lexer = Object.create(this.lexer);
+ var sharedState = { yy: {} };
+ // copy state
+ for (var k in this$1.yy) {
+ if (Object.prototype.hasOwnProperty.call(this$1.yy, k)) {
+ sharedState.yy[k] = this$1.yy[k];
+ }
+ }
+ lexer.setInput(input, sharedState.yy);
+ sharedState.yy.lexer = lexer;
+ sharedState.yy.parser = this;
+ if (typeof lexer.yylloc == 'undefined') {
+ lexer.yylloc = {};
+ }
+ var yyloc = lexer.yylloc;
+ lstack.push(yyloc);
+ var ranges = lexer.options && lexer.options.ranges;
+ if (typeof sharedState.yy.parseError === 'function') {
+ this.parseError = sharedState.yy.parseError;
+ }
+ else {
+ this.parseError = Object.getPrototypeOf(this).parseError;
+ }
+ function popStack(n) {
+ stack.length = stack.length - 2 * n;
+ vstack.length = vstack.length - n;
+ lstack.length = lstack.length - n;
+ }
+ _token_stack: var lex = function () {
+ var token;
+ token = lexer.lex() || EOF;
+ // if token isn't its numeric value, convert
+ if (typeof token !== 'number') {
+ token = self.symbols_[token] || token;
+ }
+ return token;
+ };
+ var symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected;
+ while (true) {
+ // retreive state number from top of stack
+ state = stack[stack.length - 1];
+ // use default actions if available
+ if (this$1.defaultActions[state]) {
+ action = this$1.defaultActions[state];
+ }
+ else {
+ if (symbol === null || typeof symbol == 'undefined') {
+ symbol = lex();
+ }
+ // read action for current state and first input
+ action = table[state] && table[state][symbol];
+ }
+ _handle_error:
+ // handle parse error
+ if (typeof action === 'undefined' || !action.length || !action[0]) {
+ var error_rule_depth;
+ var errStr = '';
+ // Return the rule stack depth where the nearest error rule can be found.
+ // Return FALSE when no error recovery rule was found.
+ var locateNearestErrorRecoveryRule = function (state) {
+ var stack_probe = stack.length - 1;
+ var depth = 0;
+ // try to recover from error
+ for (;;) {
+ // check for error recovery rule in this state
+ if ((TERROR.toString()) in table[state]) {
+ return depth;
+ }
+ if (state === 0 || stack_probe < 2) {
+ return false; // No suitable error recovery rule available.
+ }
+ stack_probe -= 2; // popStack(1): [symbol, action]
+ state = stack[stack_probe];
+ ++depth;
+ }
+ };
+ if (!recovering) {
+ // first see if there's any chance at hitting an error recovery rule:
+ error_rule_depth = locateNearestErrorRecoveryRule(state);
+ // Report error
+ expected = [];
+ for (p in table[state]) {
+ if (this$1.terminals_[p] && p > TERROR) {
+ expected.push("'" + this$1.terminals_[p] + "'");
+ }
+ }
+ if (lexer.showPosition) {
+ errStr = 'Parse error on line ' + (yylineno + 1) + ":\n" + lexer.showPosition() + "\nExpecting " + expected.join(', ') + ", got '" + (this$1.terminals_[symbol] || symbol) + "'";
+ }
+ else {
+ errStr = 'Parse error on line ' + (yylineno + 1) + ": Unexpected " +
+ (symbol == EOF ? "end of input" :
+ ("'" + (this$1.terminals_[symbol] || symbol) + "'"));
+ }
+ this$1.parseError(errStr, {
+ text: lexer.match,
+ token: this$1.terminals_[symbol] || symbol,
+ line: lexer.yylineno,
+ loc: yyloc,
+ expected: expected,
+ recoverable: (error_rule_depth !== false)
+ });
+ }
+ else if (preErrorSymbol !== EOF) {
+ error_rule_depth = locateNearestErrorRecoveryRule(state);
+ }
+ // just recovered from another error
+ if (recovering == 3) {
+ if (symbol === EOF || preErrorSymbol === EOF) {
+ throw new Error(errStr || 'Parsing halted while starting to recover from another error.');
+ }
+ // discard current lookahead and grab another
+ yyleng = lexer.yyleng;
+ yytext = lexer.yytext;
+ yylineno = lexer.yylineno;
+ yyloc = lexer.yylloc;
+ symbol = lex();
+ }
+ // try to recover from error
+ if (error_rule_depth === false) {
+ throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.');
+ }
+ popStack(error_rule_depth);
+ preErrorSymbol = (symbol == TERROR ? null : symbol); // save the lookahead token
+ symbol = TERROR; // insert generic error symbol as new lookahead
+ state = stack[stack.length - 1];
+ action = table[state] && table[state][TERROR];
+ recovering = 3; // allow 3 real symbols to be shifted before reporting a new error
+ }
+ // this shouldn't happen, unless resolve defaults are off
+ if (action[0] instanceof Array && action.length > 1) {
+ throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
+ }
+ switch (action[0]) {
+ case 1: // shift
+ //this.shiftCount++;
+ stack.push(symbol);
+ vstack.push(lexer.yytext);
+ lstack.push(lexer.yylloc);
+ stack.push(action[1]); // push state
+ symbol = null;
+ if (!preErrorSymbol) { // normal execution/no error
+ yyleng = lexer.yyleng;
+ yytext = lexer.yytext;
+ yylineno = lexer.yylineno;
+ yyloc = lexer.yylloc;
+ if (recovering > 0) {
+ recovering--;
+ }
+ }
+ else {
+ // error just occurred, resume old lookahead f/ before error
+ symbol = preErrorSymbol;
+ preErrorSymbol = null;
+ }
+ break;
+ case 2:
+ // reduce
+ //this.reductionCount++;
+ len = this$1.productions_[action[1]][1];
+ // perform semantic action
+ yyval.$ = vstack[vstack.length - len]; // default to $$ = $1
+ // default location, uses first token for firsts, last for lasts
+ yyval._$ = {
+ first_line: lstack[lstack.length - (len || 1)].first_line,
+ last_line: lstack[lstack.length - 1].last_line,
+ first_column: lstack[lstack.length - (len || 1)].first_column,
+ last_column: lstack[lstack.length - 1].last_column
+ };
+ if (ranges) {
+ yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
+ }
+ r = this$1.performAction.apply(yyval, [yytext, yyleng, yylineno, sharedState.yy, action[1], vstack, lstack].concat(args));
+ if (typeof r !== 'undefined') {
+ return r;
+ }
+ // pop off stack
+ if (len) {
+ stack = stack.slice(0, -1 * len * 2);
+ vstack = vstack.slice(0, -1 * len);
+ lstack = lstack.slice(0, -1 * len);
+ }
+ stack.push(this$1.productions_[action[1]][0]); // push nonterminal (reduce)
+ vstack.push(yyval.$);
+ lstack.push(yyval._$);
+ // goto new state = table[STATE][NONTERMINAL]
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
+ stack.push(newState);
+ break;
+ case 3:
+ // accept
+ return true;
+ }
+ }
+ return true;
+ } };
+ // from https://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
+ // JSON.stringify([].slice.call(document.querySelectorAll('tr')).filter(x => x.children.length == 5 && x.children[2].innerText == 'reserved').map(x => x.children[0].innerText))
+ var nonReserved = ["A", "ABSENT", "ABSOLUTE", "ACCORDING", "ACTION", "ADA", "ADD", "ADMIN", "AFTER", "ALWAYS", "ASC", "ASSERTION", "ASSIGNMENT", "ATTRIBUTE", "ATTRIBUTES", "BASE64", "BEFORE", "BERNOULLI", "BLOCKED", "BOM", "BREADTH", "C", "CASCADE", "CATALOG", "CATALOG_NAME", "CHAIN", "CHARACTERISTICS", "CHARACTERS", "CHARACTER_SET_CATALOG", "CHARACTER_SET_NAME", "CHARACTER_SET_SCHEMA", "CLASS_ORIGIN", "COBOL", "COLLATION", "COLLATION_CATALOG", "COLLATION_NAME", "COLLATION_SCHEMA", "COLUMNS", "COLUMN_NAME", "COMMAND_FUNCTION", "COMMAND_FUNCTION_CODE", "COMMITTED", "CONDITION_NUMBER", "CONNECTION", "CONNECTION_NAME", "CONSTRAINTS", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME", "CONSTRAINT_SCHEMA", "CONSTRUCTOR", "CONTENT", "CONTINUE", "CONTROL", "CURSOR_NAME", "DATA", "DATETIME_INTERVAL_CODE", "DATETIME_INTERVAL_PRECISION", "DB", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINED", "DEFINER", "DEGREE", "DEPTH", "DERIVED", "DESC", "DESCRIPTOR", "DIAGNOSTICS", "DISPATCH", "DOCUMENT", "DOMAIN", "DYNAMIC_FUNCTION", "DYNAMIC_FUNCTION_CODE", "EMPTY", "ENCODING", "ENFORCED", "EXCLUDE", "EXCLUDING", "EXPRESSION", "FILE", "FINAL", "FIRST", "FLAG", "FOLLOWING", "FORTRAN", "FOUND", "FS", "G", "GENERAL", "GENERATED", "GO", "GOTO", "GRANTED", "HEX", "HIERARCHY", "ID", "IGNORE", "IMMEDIATE", "IMMEDIATELY", "IMPLEMENTATION", "INCLUDING", "INCREMENT", "INDENT", "INITIALLY", "INPUT", "INSTANCE", "INSTANTIABLE", "INSTEAD", "INTEGRITY", "INVOKER", "ISOLATION", "K", "KEY", "KEY_MEMBER", "KEY_TYPE", "LAST", "LENGTH", "LEVEL", "LIBRARY", "LIMIT", "LINK", "LOCATION", "LOCATOR", "M", "MAP", "MAPPING", "MATCHED", "MAXVALUE", "MESSAGE_LENGTH", "MESSAGE_OCTET_LENGTH", "MESSAGE_TEXT", "MINVALUE", "MORE", "MUMPS", "NAME", "NAMES", "NAMESPACE", "NESTING", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NIL", "NORMALIZED", "NULLABLE", "NULLS", "NUMBER", "OBJECT", "OCTETS", "OFF", "OPTION", "OPTIONS", "ORDERING", "ORDINALITY", "OTHERS", "OUTPUT", "OVERRIDING", "P", "PAD", "PARAMETER_MODE", "PARAMETER_NAME", "PARAMETER_ORDINAL_POSITION", "PARAMETER_SPECIFIC_CATALOG", "PARAMETER_SPECIFIC_NAME", "PARAMETER_SPECIFIC_SCHEMA", "PARTIAL", "PASCAL", "PASSING", "PASSTHROUGH", "PATH", "PERMISSION", "PLACING", "PLI", "PRECEDING", "PRESERVE", "PRIOR", "PRIVILEGES", "PUBLIC", "READ", "RECOVERY", "RELATIVE", "REPEATABLE", "REQUIRING", "RESPECT", "RESTART", "RESTORE", "RESTRICT", "RETURNED_CARDINALITY", "RETURNED_LENGTH", "RETURNED_OCTET_LENGTH", "RETURNED_SQLSTATE", "RETURNING", "ROLE", "ROUTINE", "ROUTINE_CATALOG", "ROUTINE_NAME", "ROUTINE_SCHEMA", "ROW_COUNT", "SCALE", "SCHEMA", "SCHEMA_NAME", "SCOPE_CATALOG", "SCOPE_NAME", "SCOPE_SCHEMA", "SECTION", "SECURITY", "SELECTIVE", "SELF", "SEQUENCE", "SERIALIZABLE", "SERVER", "SERVER_NAME", "SESSION", "SETS", "SIMPLE", "SIZE", "SOURCE", "SPACE", "SPECIFIC_NAME", "STANDALONE", "STATE", "STATEMENT", "STRIP", "STRUCTURE", "STYLE", "SUBCLASS_ORIGIN", "T", "TABLE_NAME", "TEMPORARY", "TIES", "TOKEN", "TOP_LEVEL_COUNT", "TRANSACTION", "TRANSACTIONS_COMMITTED", "TRANSACTIONS_ROLLED_BACK", "TRANSACTION_ACTIVE", "TRANSFORM", "TRANSFORMS", "TRIGGER_CATALOG", "TRIGGER_NAME", "TRIGGER_SCHEMA", "TYPE", "UNBOUNDED", "UNCOMMITTED", "UNDER", "UNLINK", "UNNAMED", "UNTYPED", "URI", "USAGE", "USER_DEFINED_TYPE_CATALOG", "USER_DEFINED_TYPE_CODE", "USER_DEFINED_TYPE_NAME", "USER_DEFINED_TYPE_SCHEMA", "VALID", "VERSION", "VIEW", "WHITESPACE", "WORK", "WRAPPER", "WRITE", "XMLDECLARATION", "XMLSCHEMA", "YES", "ZONE"];
+ parser.parseError = function (str, hash) {
+ if (hash.expected && hash.expected.indexOf("'LITERAL'") > -1 && /[a-zA-Z_][a-zA-Z_0-9]*/.test(hash.token) && nonReserved.indexOf(hash.token) > -1) {
+ return;
+ }
+ throw new SyntaxError(str);
+ };
+ /* generated by jison-lex 0.3.4 */
+ var lexer = (function () {
+ var lexer = ({
+ EOF: 1,
+ parseError: function parseError(str, hash) {
+ if (this.yy.parser) {
+ this.yy.parser.parseError(str, hash);
+ }
+ else {
+ throw new Error(str);
+ }
+ },
+ // resets the lexer, sets new input
+ setInput: function (input, yy) {
+ this.yy = yy || this.yy || {};
+ this._input = input;
+ this._more = this._backtrack = this.done = false;
+ this.yylineno = this.yyleng = 0;
+ this.yytext = this.matched = this.match = '';
+ this.conditionStack = ['INITIAL'];
+ this.yylloc = {
+ first_line: 1,
+ first_column: 0,
+ last_line: 1,
+ last_column: 0
+ };
+ if (this.options.ranges) {
+ this.yylloc.range = [0, 0];
+ }
+ this.offset = 0;
+ return this;
+ },
+ // consumes and returns one char from the input
+ input: function () {
+ var ch = this._input[0];
+ this.yytext += ch;
+ this.yyleng++;
+ this.offset++;
+ this.match += ch;
+ this.matched += ch;
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
+ if (lines) {
+ this.yylineno++;
+ this.yylloc.last_line++;
+ }
+ else {
+ this.yylloc.last_column++;
+ }
+ if (this.options.ranges) {
+ this.yylloc.range[1]++;
+ }
+ this._input = this._input.slice(1);
+ return ch;
+ },
+ // unshifts one char (or a string) into the input
+ unput: function (ch) {
+ var len = ch.length;
+ var lines = ch.split(/(?:\r\n?|\n)/g);
+ this._input = ch + this._input;
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
+ //this.yyleng -= len;
+ this.offset -= len;
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
+ this.match = this.match.substr(0, this.match.length - 1);
+ this.matched = this.matched.substr(0, this.matched.length - 1);
+ if (lines.length - 1) {
+ this.yylineno -= lines.length - 1;
+ }
+ var r = this.yylloc.range;
+ this.yylloc = {
+ first_line: this.yylloc.first_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.first_column,
+ last_column: lines ?
+ (lines.length === oldLines.length ? this.yylloc.first_column : 0)
+ + oldLines[oldLines.length - lines.length].length - lines[0].length :
+ this.yylloc.first_column - len
+ };
+ if (this.options.ranges) {
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
+ }
+ this.yyleng = this.yytext.length;
+ return this;
+ },
+ // When called from action, caches matched text and appends it on next action
+ more: function () {
+ this._more = true;
+ return this;
+ },
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
+ reject: function () {
+ if (this.options.backtrack_lexer) {
+ this._backtrack = true;
+ }
+ else {
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
+ text: "",
+ token: null,
+ line: this.yylineno
+ });
+ }
+ return this;
+ },
+ // retain first n characters of the match
+ less: function (n) {
+ this.unput(this.match.slice(n));
+ },
+ // displays already matched input, i.e. for error messages
+ pastInput: function () {
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
+ return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, "");
+ },
+ // displays upcoming input, i.e. for error messages
+ upcomingInput: function () {
+ var next = this.match;
+ if (next.length < 20) {
+ next += this._input.substr(0, 20 - next.length);
+ }
+ return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
+ },
+ // displays the character position where the lexing error occurred, i.e. for error messages
+ showPosition: function () {
+ var pre = this.pastInput();
+ var c = new Array(pre.length + 1).join("-");
+ return pre + this.upcomingInput() + "\n" + c + "^";
+ },
+ // test the lexed token: return FALSE when not a match, otherwise return token
+ test_match: function (match, indexed_rule) {
+ var this$1 = this;
+
+ var token, lines, backup;
+ if (this.options.backtrack_lexer) {
+ // save context
+ backup = {
+ yylineno: this.yylineno,
+ yylloc: {
+ first_line: this.yylloc.first_line,
+ last_line: this.last_line,
+ first_column: this.yylloc.first_column,
+ last_column: this.yylloc.last_column
+ },
+ yytext: this.yytext,
+ match: this.match,
+ matches: this.matches,
+ matched: this.matched,
+ yyleng: this.yyleng,
+ offset: this.offset,
+ _more: this._more,
+ _input: this._input,
+ yy: this.yy,
+ conditionStack: this.conditionStack.slice(0),
+ done: this.done
+ };
+ if (this.options.ranges) {
+ backup.yylloc.range = this.yylloc.range.slice(0);
+ }
+ }
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
+ if (lines) {
+ this.yylineno += lines.length;
+ }
+ this.yylloc = {
+ first_line: this.yylloc.last_line,
+ last_line: this.yylineno + 1,
+ first_column: this.yylloc.last_column,
+ last_column: lines ?
+ lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length :
+ this.yylloc.last_column + match[0].length
+ };
+ this.yytext += match[0];
+ this.match += match[0];
+ this.matches = match;
+ this.yyleng = this.yytext.length;
+ if (this.options.ranges) {
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
+ }
+ this._more = false;
+ this._backtrack = false;
+ this._input = this._input.slice(match[0].length);
+ this.matched += match[0];
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
+ if (this.done && this._input) {
+ this.done = false;
+ }
+ if (token) {
+ return token;
+ }
+ else if (this._backtrack) {
+ // recover context
+ for (var k in backup) {
+ this$1[k] = backup[k];
+ }
+ return false; // rule action called reject() implying the next rule should be tested instead.
+ }
+ return false;
+ },
+ // return next match in input
+ next: function () {
+ var this$1 = this;
+
+ if (this.done) {
+ return this.EOF;
+ }
+ if (!this._input) {
+ this.done = true;
+ }
+ var token, match, tempMatch, index;
+ if (!this._more) {
+ this.yytext = '';
+ this.match = '';
+ }
+ var rules = this._currentRules();
+ for (var i = 0; i < rules.length; i++) {
+ tempMatch = this$1._input.match(this$1.rules[rules[i]]);
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
+ match = tempMatch;
+ index = i;
+ if (this$1.options.backtrack_lexer) {
+ token = this$1.test_match(tempMatch, rules[i]);
+ if (token !== false) {
+ return token;
+ }
+ else if (this$1._backtrack) {
+ match = false;
+ continue; // rule action called reject() implying a rule MISmatch.
+ }
+ else {
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
+ return false;
+ }
+ }
+ else if (!this$1.options.flex) {
+ break;
+ }
+ }
+ }
+ if (match) {
+ token = this.test_match(match, rules[index]);
+ if (token !== false) {
+ return token;
+ }
+ // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
+ return false;
+ }
+ if (this._input === "") {
+ return this.EOF;
+ }
+ else {
+ return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
+ text: "",
+ token: null,
+ line: this.yylineno
+ });
+ }
+ },
+ // return next match that has a token
+ lex: function lex() {
+ var r = this.next();
+ if (r) {
+ return r;
+ }
+ else {
+ return this.lex();
+ }
+ },
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
+ begin: function begin(condition) {
+ this.conditionStack.push(condition);
+ },
+ // pop the previously active lexer condition state off the condition stack
+ popState: function popState() {
+ var n = this.conditionStack.length - 1;
+ if (n > 0) {
+ return this.conditionStack.pop();
+ }
+ else {
+ return this.conditionStack[0];
+ }
+ },
+ // produce the lexer rule set which is active for the currently active lexer condition state
+ _currentRules: function _currentRules() {
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
+ }
+ else {
+ return this.conditions["INITIAL"].rules;
+ }
+ },
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
+ topState: function topState(n) {
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
+ if (n >= 0) {
+ return this.conditionStack[n];
+ }
+ else {
+ return "INITIAL";
+ }
+ },
+ // alias for begin(condition)
+ pushState: function pushState(condition) {
+ this.begin(condition);
+ },
+ // return the number of states currently on the stack
+ stateStackSize: function stateStackSize() {
+ return this.conditionStack.length;
+ },
+ options: { "case-insensitive": true },
+ performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
+ switch ($avoiding_name_collisions) {
+ case 0:
+ return 266;
+ break;
+ case 1:
+ return 302;
+ break;
+ case 2:
+ return 420;
+ break;
+ case 3:
+ return 299;
+ break;
+ case 4:
+ return 5;
+ break;
+ case 5:
+ return 5;
+ break;
+ case 6:
+ return 296;
+ break;
+ case 7:
+ return 296;
+ break;
+ case 8:
+ return 132;
+ break;
+ case 9:
+ return 132;
+ break;
+ case 10:
+ return; /* its a COMMENT */
+ break;
+ case 11: /* skip whitespace */
+ break;
+ case 12:
+ return 316;
+ break;
+ case 13:
+ return 319;
+ break;
+ case 14:
+ yy_.yytext = 'VALUE';
+ return 89;
+ break;
+ case 15:
+ yy_.yytext = 'VALUE';
+ return 189;
+ break;
+ case 16:
+ yy_.yytext = 'ROW';
+ return 189;
+ break;
+ case 17:
+ yy_.yytext = 'COLUMN';
+ return 189;
+ break;
+ case 18:
+ yy_.yytext = 'MATRIX';
+ return 189;
+ break;
+ case 19:
+ yy_.yytext = 'INDEX';
+ return 189;
+ break;
+ case 20:
+ yy_.yytext = 'RECORDSET';
+ return 189;
+ break;
+ case 21:
+ yy_.yytext = 'TEXT';
+ return 189;
+ break;
+ case 22:
+ yy_.yytext = 'SELECT';
+ return 189;
+ break;
+ case 23:
+ return 520;
+ break;
+ case 24:
+ return 381;
+ break;
+ case 25:
+ return 402;
+ break;
+ case 26:
+ return 515;
+ break;
+ case 27:
+ return 287;
+ break;
+ case 28:
+ return 269;
+ break;
+ case 29:
+ return 269;
+ break;
+ case 30:
+ return 164;
+ break;
+ case 31:
+ return 400;
+ break;
+ case 32:
+ return 170;
+ break;
+ case 33:
+ return 229;
+ break;
+ case 34:
+ return 166;
+ break;
+ case 35:
+ return 207;
+ break;
+ case 36:
+ return 288;
+ break;
+ case 37:
+ return 76;
+ break;
+ case 38:
+ return 418;
+ break;
+ case 39:
+ return 242;
+ break;
+ case 40:
+ return 404;
+ break;
+ case 41:
+ return 356;
+ break;
+ case 42:
+ return 284;
+ break;
+ case 43:
+ return 514;
+ break;
+ case 44:
+ return 437;
+ break;
+ case 45:
+ return 330;
+ break;
+ case 46:
+ return 441;
+ break;
+ case 47:
+ return 331;
+ break;
+ case 48:
+ return 315;
+ break;
+ case 49:
+ return 119;
+ break;
+ case 50:
+ return 112;
+ break;
+ case 51:
+ return 315;
+ break;
+ case 52:
+ return 112;
+ break;
+ case 53:
+ return 315;
+ break;
+ case 54:
+ return 112;
+ break;
+ case 55:
+ return 315;
+ break;
+ case 56:
+ return 508;
+ break;
+ case 57:
+ return 303;
+ break;
+ case 58:
+ return 271;
+ break;
+ case 59:
+ return 368;
+ break;
+ case 60:
+ return 130;
+ break;
+ case 61:
+ return 'CLOSE';
+ break;
+ case 62:
+ return 243;
+ break;
+ case 63:
+ return 190;
+ break;
+ case 64:
+ return 190;
+ break;
+ case 65:
+ return 434;
+ break;
+ case 66:
+ return 367;
+ break;
+ case 67:
+ return 470;
+ break;
+ case 68:
+ return 440;
+ break;
+ case 69:
+ return 273;
+ break;
+ case 70:
+ return 240;
+ break;
+ case 71:
+ return 281;
+ break;
+ case 72:
+ return 267;
+ break;
+ case 73:
+ return 206;
+ break;
+ case 74:
+ return 238;
+ break;
+ case 75:
+ return 265;
+ break;
+ case 76:
+ return 'CURSOR';
+ break;
+ case 77:
+ return 405;
+ break;
+ case 78:
+ return 291;
+ break;
+ case 79:
+ return 292;
+ break;
+ case 80:
+ return 448;
+ break;
+ case 81:
+ return 343;
+ break;
+ case 82:
+ return 338;
+ break;
+ case 83:
+ return 'DELETED';
+ break;
+ case 84:
+ return 242;
+ break;
+ case 85:
+ return 406;
+ break;
+ case 86:
+ return 185;
+ break;
+ case 87:
+ return 396;
+ break;
+ case 88:
+ return 447;
+ break;
+ case 89:
+ return 135;
+ break;
+ case 90:
+ return 306;
+ break;
+ case 91:
+ return 389;
+ break;
+ case 92:
+ return 310;
+ break;
+ case 93:
+ return 314;
+ break;
+ case 94:
+ return 169;
+ break;
+ case 95:
+ return 508;
+ break;
+ case 96:
+ return 508;
+ break;
+ case 97:
+ return 298;
+ break;
+ case 98:
+ return 14;
+ break;
+ case 99:
+ return 295;
+ break;
+ case 100:
+ return 249;
+ break;
+ case 101:
+ return 285;
+ break;
+ case 102:
+ return 95;
+ break;
+ case 103:
+ return 373;
+ break;
+ case 104:
+ return 183;
+ break;
+ case 105:
+ return 227;
+ break;
+ case 106:
+ return 268;
+ break;
+ case 107:
+ return 313;
+ break;
+ case 108:
+ return 602;
+ break;
+ case 109:
+ return 472;
+ break;
+ case 110:
+ return 232;
+ break;
+ case 111:
+ return 236;
+ break;
+ case 112:
+ return 239;
+ break;
+ case 113:
+ return 156;
+ break;
+ case 114:
+ return 356;
+ break;
+ case 115:
+ return 332;
+ break;
+ case 116:
+ return 99;
+ break;
+ case 117:
+ return 193;
+ break;
+ case 118:
+ return 212;
+ break;
+ case 119:
+ return 224;
+ break;
+ case 120:
+ return 516;
+ break;
+ case 121:
+ return 339;
+ break;
+ case 122:
+ return 213;
+ break;
+ case 123:
+ return 168;
+ break;
+ case 124:
+ return 293;
+ break;
+ case 125:
+ return 198;
+ break;
+ case 126:
+ return 223;
+ break;
+ case 127:
+ return 370;
+ break;
+ case 128:
+ return 286;
+ break;
+ case 129:
+ return 'LET';
+ break;
+ case 130:
+ return 225;
+ break;
+ case 131:
+ return 112;
+ break;
+ case 132:
+ return 245;
+ break;
+ case 133:
+ return 460;
+ break;
+ case 134:
+ return 191;
+ break;
+ case 135:
+ return 283;
+ break;
+ case 136:
+ return 390;
+ break;
+ case 137:
+ return 282;
+ break;
+ case 138:
+ return 452;
+ break;
+ case 139:
+ return 169;
+ break;
+ case 140:
+ return 403;
+ break;
+ case 141:
+ return 222;
+ break;
+ case 142:
+ return 645;
+ break;
+ case 143:
+ return 270;
+ break;
+ case 144:
+ return 244;
+ break;
+ case 145:
+ return 380;
+ break;
+ case 146:
+ return 154;
+ break;
+ case 147:
+ return 297;
+ break;
+ case 148:
+ return 433;
+ break;
+ case 149:
+ return 230;
+ break;
+ case 150:
+ return 415;
+ break;
+ case 151:
+ return 129;
+ break;
+ case 152:
+ return 247;
+ break;
+ case 153:
+ return 'OPEN';
+ break;
+ case 154:
+ return 416;
+ break;
+ case 155:
+ return 171;
+ break;
+ case 156:
+ return 118;
+ break;
+ case 157:
+ return 208;
+ break;
+ case 158:
+ return 276;
+ break;
+ case 159:
+ return 172;
+ break;
+ case 160:
+ return 279;
+ break;
+ case 161:
+ return 765;
+ break;
+ case 162:
+ return 93;
+ break;
+ case 163:
+ return 16;
+ break;
+ case 164:
+ return 369;
+ break;
+ case 165:
+ return 442;
+ break;
+ case 166:
+ return 678;
+ break;
+ case 167:
+ return 15;
+ break;
+ case 168:
+ return 414;
+ break;
+ case 169:
+ return 194;
+ break;
+ case 170:
+ return 'REDUCE';
+ break;
+ case 171:
+ return 374;
+ break;
+ case 172:
+ return 311;
+ break;
+ case 173:
+ return 517;
+ break;
+ case 174:
+ return 682;
+ break;
+ case 175:
+ return 107;
+ break;
+ case 176:
+ return 401;
+ break;
+ case 177:
+ return 175;
+ break;
+ case 178:
+ return 290;
+ break;
+ case 179:
+ return 443;
+ break;
+ case 180:
+ return 687;
+ break;
+ case 181:
+ return 173;
+ break;
+ case 182:
+ return 173;
+ break;
+ case 183:
+ return 226;
+ break;
+ case 184:
+ return 436;
+ break;
+ case 185:
+ return 237;
+ break;
+ case 186:
+ return 150;
+ break;
+ case 187:
+ return 766;
+ break;
+ case 188:
+ return 405;
+ break;
+ case 189:
+ return 89;
+ break;
+ case 190:
+ return 228;
+ break;
+ case 191:
+ return 146;
+ break;
+ case 192:
+ return 146;
+ break;
+ case 193:
+ return 409;
+ break;
+ case 194:
+ return 334;
+ break;
+ case 195:
+ return 417;
+ break;
+ case 196:
+ return 'STRATEGY';
+ break;
+ case 197:
+ return 'STORE';
+ break;
+ case 198:
+ return 280;
+ break;
+ case 199:
+ return 353;
+ break;
+ case 200:
+ return 353;
+ break;
+ case 201:
+ return 463;
+ break;
+ case 202:
+ return 357;
+ break;
+ case 203:
+ return 357;
+ break;
+ case 204:
+ return 192;
+ break;
+ case 205:
+ return 309;
+ break;
+ case 206:
+ return 'TIMEOUT';
+ break;
+ case 207:
+ return 148;
+ break;
+ case 208:
+ return 195;
+ break;
+ case 209:
+ return 435;
+ break;
+ case 210:
+ return 435;
+ break;
+ case 211:
+ return 509;
+ break;
+ case 212:
+ return 294;
+ break;
+ case 213:
+ return 451;
+ break;
+ case 214:
+ return 162;
+ break;
+ case 215:
+ return 187;
+ break;
+ case 216:
+ return 98;
+ break;
+ case 217:
+ return 335;
+ break;
+ case 218:
+ return 408;
+ break;
+ case 219:
+ return 231;
+ break;
+ case 220:
+ return 149;
+ break;
+ case 221:
+ return 344;
+ break;
+ case 222:
+ return 134;
+ break;
+ case 223:
+ return 410;
+ break;
+ case 224:
+ return 308;
+ break;
+ case 225:
+ return 128;
+ break;
+ case 226:
+ return 439;
+ break;
+ case 227:
+ return 72;
+ break;
+ case 228:
+ return 435; /* Is this keyword required? */
+ break;
+ case 229:
+ return 131;
+ break;
+ case 230:
+ return 131;
+ break;
+ case 231:
+ return 115;
+ break;
+ case 232:
+ return 137;
+ break;
+ case 233:
+ return 179;
+ break;
+ case 234:
+ return 317;
+ break;
+ case 235:
+ return 180;
+ break;
+ case 236:
+ return 133;
+ break;
+ case 237:
+ return 138;
+ break;
+ case 238:
+ return 326;
+ break;
+ case 239:
+ return 323;
+ break;
+ case 240:
+ return 325;
+ break;
+ case 241:
+ return 322;
+ break;
+ case 242:
+ return 320;
+ break;
+ case 243:
+ return 318;
+ break;
+ case 244:
+ return 319;
+ break;
+ case 245:
+ return 142;
+ break;
+ case 246:
+ return 141;
+ break;
+ case 247:
+ return 139;
+ break;
+ case 248:
+ return 321;
+ break;
+ case 249:
+ return 324;
+ break;
+ case 250:
+ return 140;
+ break;
+ case 251:
+ return 124;
+ break;
+ case 252:
+ return 324;
+ break;
+ case 253:
+ return 77;
+ break;
+ case 254:
+ return 78;
+ break;
+ case 255:
+ return 145;
+ break;
+ case 256:
+ return 424;
+ break;
+ case 257:
+ return 426;
+ break;
+ case 258:
+ return 300;
+ break;
+ case 259:
+ return 505;
+ break;
+ case 260:
+ return 507;
+ break;
+ case 261:
+ return 122;
+ break;
+ case 262:
+ return 116;
+ break;
+ case 263:
+ return 74;
+ break;
+ case 264:
+ return 333;
+ break;
+ case 265:
+ return 152;
+ break;
+ case 266:
+ return 764;
+ break;
+ case 267:
+ return 143;
+ break;
+ case 268:
+ return 181;
+ break;
+ case 269:
+ return 136;
+ break;
+ case 270:
+ return 123;
+ break;
+ case 271:
+ return 312;
+ break;
+ case 272:
+ return 4;
+ break;
+ case 273:
+ return 10;
+ break;
+ case 274:
+ return 'INVALID';
+ break;
+ }
+ },
+ rules: [/^(?:``([^\`])+``)/i, /^(?:\[\?\])/i, /^(?:@\[)/i, /^(?:ARRAY\[)/i, /^(?:\[([^\]])*?\])/i, /^(?:`([^\`])*?`)/i, /^(?:N(['](\\.|[^']|\\')*?['])+)/i, /^(?:X(['](\\.|[^']|\\')*?['])+)/i, /^(?:(['](\\.|[^']|\\')*?['])+)/i, /^(?:(["](\\.|[^"]|\\")*?["])+)/i, /^(?:--(.*?)($|\r\n|\r|\n))/i, /^(?:\s+)/i, /^(?:\|\|)/i, /^(?:\|)/i, /^(?:VALUE\s+OF\s+SEARCH\b)/i, /^(?:VALUE\s+OF\s+SELECT\b)/i, /^(?:ROW\s+OF\s+SELECT\b)/i, /^(?:COLUMN\s+OF\s+SELECT\b)/i, /^(?:MATRIX\s+OF\s+SELECT\b)/i, /^(?:INDEX\s+OF\s+SELECT\b)/i, /^(?:RECORDSET\s+OF\s+SELECT\b)/i, /^(?:TEXT\s+OF\s+SELECT\b)/i, /^(?:SELECT\b)/i, /^(?:ABSOLUTE\b)/i, /^(?:ACTION\b)/i, /^(?:ADD\b)/i, /^(?:AFTER\b)/i, /^(?:AGGR\b)/i, /^(?:AGGREGATE\b)/i, /^(?:AGGREGATOR\b)/i, /^(?:ALL\b)/i, /^(?:ALTER\b)/i, /^(?:AND\b)/i, /^(?:ANTI\b)/i, /^(?:ANY\b)/i, /^(?:APPLY\b)/i, /^(?:ARRAY\b)/i, /^(?:AS\b)/i, /^(?:ASSERT\b)/i, /^(?:ASC\b)/i, /^(?:ATTACH\b)/i, /^(?:AUTO(_)?INCREMENT\b)/i, /^(?:AVG\b)/i, /^(?:BEFORE\b)/i, /^(?:BEGIN\b)/i, /^(?:BETWEEN\b)/i, /^(?:BREAK\b)/i, /^(?:NOT\s+BETWEEN\b)/i, /^(?:NOT\s+LIKE\b)/i, /^(?:BY\b)/i, /^(?:~~\*)/i, /^(?:!~~\*)/i, /^(?:~~)/i, /^(?:!~~)/i, /^(?:ILIKE\b)/i, /^(?:NOT\s+ILIKE\b)/i, /^(?:CALL\b)/i, /^(?:CASE\b)/i, /^(?:CAST\b)/i, /^(?:CHECK\b)/i, /^(?:CLASS\b)/i, /^(?:CLOSE\b)/i, /^(?:COLLATE\b)/i, /^(?:COLUMN\b)/i, /^(?:COLUMNS\b)/i, /^(?:COMMIT\b)/i, /^(?:CONSTRAINT\b)/i, /^(?:CONTENT\b)/i, /^(?:CONTINUE\b)/i, /^(?:CONVERT\b)/i, /^(?:CORRESPONDING\b)/i, /^(?:COUNT\b)/i, /^(?:CREATE\b)/i, /^(?:CROSS\b)/i, /^(?:CUBE\b)/i, /^(?:CURRENT_TIMESTAMP\b)/i, /^(?:CURSOR\b)/i, /^(?:DATABASE(S)?)/i, /^(?:DATEADD\b)/i, /^(?:DATEDIFF\b)/i, /^(?:DECLARE\b)/i, /^(?:DEFAULT\b)/i, /^(?:DELETE\b)/i, /^(?:DELETED\b)/i, /^(?:DESC\b)/i, /^(?:DETACH\b)/i, /^(?:DISTINCT\b)/i, /^(?:DROP\b)/i, /^(?:ECHO\b)/i, /^(?:EDGE\b)/i, /^(?:END\b)/i, /^(?:ENUM\b)/i, /^(?:ELSE\b)/i, /^(?:ESCAPE\b)/i, /^(?:EXCEPT\b)/i, /^(?:EXEC\b)/i, /^(?:EXECUTE\b)/i, /^(?:EXISTS\b)/i, /^(?:EXPLAIN\b)/i, /^(?:FALSE\b)/i, /^(?:FETCH\b)/i, /^(?:FIRST\b)/i, /^(?:FOR\b)/i, /^(?:FOREIGN\b)/i, /^(?:FROM\b)/i, /^(?:FULL\b)/i, /^(?:FUNCTION\b)/i, /^(?:GLOB\b)/i, /^(?:GO\b)/i, /^(?:GRAPH\b)/i, /^(?:GROUP\b)/i, /^(?:GROUPING\b)/i, /^(?:HAVING\b)/i, /^(?:IF\b)/i, /^(?:IDENTITY\b)/i, /^(?:IS\b)/i, /^(?:IN\b)/i, /^(?:INDEX\b)/i, /^(?:INDEXED\b)/i, /^(?:INNER\b)/i, /^(?:INSTEAD\b)/i, /^(?:INSERT\b)/i, /^(?:INSERTED\b)/i, /^(?:INTERSECT\b)/i, /^(?:INTERVAL\b)/i, /^(?:INTO\b)/i, /^(?:JOIN\b)/i, /^(?:KEY\b)/i, /^(?:LAST\b)/i, /^(?:LET\b)/i, /^(?:LEFT\b)/i, /^(?:LIKE\b)/i, /^(?:LIMIT\b)/i, /^(?:MATCHED\b)/i, /^(?:MATRIX\b)/i, /^(?:MAX(\s+)?(?=\())/i, /^(?:MAX(\s+)?(?=(,|\))))/i, /^(?:MIN(\s+)?(?=\())/i, /^(?:MERGE\b)/i, /^(?:MINUS\b)/i, /^(?:MODIFY\b)/i, /^(?:NATURAL\b)/i, /^(?:NEXT\b)/i, /^(?:NEW\b)/i, /^(?:NOCASE\b)/i, /^(?:NO\b)/i, /^(?:NOT\b)/i, /^(?:NULL\b)/i, /^(?:OFF\b)/i, /^(?:ON\b)/i, /^(?:ONLY\b)/i, /^(?:OF\b)/i, /^(?:OFFSET\b)/i, /^(?:OPEN\b)/i, /^(?:OPTION\b)/i, /^(?:OR\b)/i, /^(?:ORDER\b)/i, /^(?:OUTER\b)/i, /^(?:OVER\b)/i, /^(?:PATH\b)/i, /^(?:PARTITION\b)/i, /^(?:PERCENT\b)/i, /^(?:PIVOT\b)/i, /^(?:PLAN\b)/i, /^(?:PRIMARY\b)/i, /^(?:PRINT\b)/i, /^(?:PRIOR\b)/i, /^(?:QUERY\b)/i, /^(?:READ\b)/i, /^(?:RECORDSET\b)/i, /^(?:REDUCE\b)/i, /^(?:REFERENCES\b)/i, /^(?:REGEXP\b)/i, /^(?:REINDEX\b)/i, /^(?:RELATIVE\b)/i, /^(?:REMOVE\b)/i, /^(?:RENAME\b)/i, /^(?:REPEAT\b)/i, /^(?:REPLACE\b)/i, /^(?:REQUIRE\b)/i, /^(?:RESTORE\b)/i, /^(?:RETURN\b)/i, /^(?:RETURNS\b)/i, /^(?:RIGHT\b)/i, /^(?:ROLLBACK\b)/i, /^(?:ROLLUP\b)/i, /^(?:ROW\b)/i, /^(?:ROWS\b)/i, /^(?:SCHEMA(S)?)/i, /^(?:SEARCH\b)/i, /^(?:SEMI\b)/i, /^(?:SET\b)/i, /^(?:SETS\b)/i, /^(?:SHOW\b)/i, /^(?:SOME\b)/i, /^(?:SOURCE\b)/i, /^(?:STRATEGY\b)/i, /^(?:STORE\b)/i, /^(?:SUM\b)/i, /^(?:TABLE\b)/i, /^(?:TABLES\b)/i, /^(?:TARGET\b)/i, /^(?:TEMP\b)/i, /^(?:TEMPORARY\b)/i, /^(?:TEXTSTRING\b)/i, /^(?:THEN\b)/i, /^(?:TIMEOUT\b)/i, /^(?:TO\b)/i, /^(?:TOP\b)/i, /^(?:TRAN\b)/i, /^(?:TRANSACTION\b)/i, /^(?:TRIGGER\b)/i, /^(?:TRUE\b)/i, /^(?:TRUNCATE\b)/i, /^(?:UNION\b)/i, /^(?:UNIQUE\b)/i, /^(?:UNPIVOT\b)/i, /^(?:UPDATE\b)/i, /^(?:USE\b)/i, /^(?:USING\b)/i, /^(?:VALUE\b)/i, /^(?:VALUES\b)/i, /^(?:VERTEX\b)/i, /^(?:VIEW\b)/i, /^(?:WHEN\b)/i, /^(?:WHERE\b)/i, /^(?:WHILE\b)/i, /^(?:WITH\b)/i, /^(?:WORK\b)/i, /^(?:(\d*[.])?\d+[eE]\d+)/i, /^(?:(\d*[.])?\d+)/i, /^(?:->)/i, /^(?:#)/i, /^(?:\+)/i, /^(?:-)/i, /^(?:\*)/i, /^(?:\/)/i, /^(?:%)/i, /^(?:!===)/i, /^(?:===)/i, /^(?:!==)/i, /^(?:==)/i, /^(?:>=)/i, /^(?:&)/i, /^(?:\|)/i, /^(?:<<)/i, /^(?:>>)/i, /^(?:>)/i, /^(?:<=)/i, /^(?:<>)/i, /^(?:<)/i, /^(?:=)/i, /^(?:!=)/i, /^(?:\()/i, /^(?:\))/i, /^(?:@)/i, /^(?:\{)/i, /^(?:\})/i, /^(?:\])/i, /^(?::-)/i, /^(?:\?-)/i, /^(?:\.\.)/i, /^(?:\.)/i, /^(?:,)/i, /^(?:::)/i, /^(?::)/i, /^(?:;)/i, /^(?:\$)/i, /^(?:\?)/i, /^(?:!)/i, /^(?:\^)/i, /^(?:~)/i, /^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i, /^(?:$)/i, /^(?:.)/i],
+ conditions: { "INITIAL": { "rules": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274], "inclusive": true } }
+ });
+ return lexer;
+ })();
+ parser.lexer = lexer;
+ function Parser() {
+ this.yy = {};
+ }
+ Parser.prototype = parser;
+ parser.Parser = Parser;
+ return new Parser;
+ })();
+ if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
+ exports.parser = alasqlparser;
+ exports.Parser = alasqlparser.Parser;
+ exports.parse = function () { return alasqlparser.parse.apply(alasqlparser, arguments); };
+ exports.main = function commonjsMain(args) {
+ if (!args[1]) {
+ console.log('Usage: ' + args[0] + ' FILE');
+ process.exit(1);
+ }
+ var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
+ return exports.parser.parse(source);
+ };
+ if (typeof module !== 'undefined' && require.main === module) {
+ exports.main(process.argv.slice(1));
+ }
}
- Parser.prototype: {
- yy: {},
- trace: function(),
- symbols_: {associative list: name ==> number},
- terminals_: {associative list: number ==> name},
- productions_: [...],
- performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
- table: [...],
- defaultActions: {...},
- parseError: function(str, hash),
- parse: function(input),
-
- lexer: {
- EOF: 1,
- parseError: function(str, hash),
- setInput: function(input),
- input: function(),
- unput: function(str),
- more: function(),
- less: function(n),
- pastInput: function(),
- upcomingInput: function(),
- showPosition: function(),
- test_match: function(regex_match_array, rule_index),
- next: function(),
- lex: function(),
- begin: function(condition),
- popState: function(),
- _currentRules: function(),
- topState: function(),
- pushState: function(condition),
-
- options: {
- ranges: boolean (optional: true ==> token location info will include a .range[] member)
- flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
- backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
- },
+ function base (mem) {
+ var yy = mem.grammar.yy;
+ yy.extend = utils$6.extend;
+ // Option for case sensitive
+ yy.casesensitive = mem.alasql.options.casesensitive;
+ yy.isInAggr = function (val) { return !!mem.alasql.aggr[val]; };
+ // Base class for all yy classes
+ yy.Base = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Base.prototype.toString = function () { };
+ yy.Base.prototype.toType = function () { };
+ yy.Base.prototype.toJS = function () { };
+ // var BaseClause = yy,BaseClause = function (params) { return yy.extend(this, params); };
+ yy.Base.prototype.compile = utils$6.returnUndefined;
+ yy.Base.prototype.exec = function () { };
+ // var BaseStatement = yy,BaseStatement = function (params) { return yy.extend(this, params); };
+ yy.Base.prototype.compile = utils$6.returnUndefined;
+ yy.Base.prototype.exec = function () { };
+ mem.grammar.yy = yy;
+ }
- performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
- rules: [...],
- conditions: {associative list: name ==> set},
- }
+ /*
+ //
+ // Statements class for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ function statements (mem) {
+ var yy = mem.grammar.yy;
+ // Statements container
+ yy.Statements = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Statements.prototype.toString = function () {
+ return this.statements
+ .map(function (st) {
+ return st.toString();
+ })
+ .join('; ');
+ };
+ // Compile array of statements into single statement
+ yy.Statements.prototype.compile = function (db) {
+ var statements = this.statements.map(function (st) {
+ return st.compile(db);
+ });
+ if (statements.length === 1) {
+ return statements[0];
+ }
+ else {
+ return function (params, cb) {
+ var res = statements.map(function (st) {
+ return st(params);
+ });
+ if (cb) {
+ cb(res);
+ }
+ return res;
+ };
+ }
+ };
+ mem.grammar.yy = yy;
}
- token location info (@$, _$, etc.): {
- first_line: n,
- last_line: n,
- first_column: n,
- last_column: n,
- range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
+ //
+ // Join all lines over sources
+ //
+ function doJoin(alasql, query, scope, h) {
+ // console.log('doJoin', arguments);
+ // console.log(query.sources.length);
+ // Check, if this is a last join?
+ if (h >= query.sources.length) {
+ // Todo: check if this runs once too many
+ //console.log(query.wherefns);
+ // Then apply where and select
+ // console.log(query);
+ if (query.wherefn(scope, query.params, alasql)) {
+ // console.log("scope",scope.schools);
+ // var res = query.selectfn(scope, query.params, alasql);
+ // console.log("last",res);
+ // If there is a GROUP BY then pipe to groupping function
+ if (query.groupfn) {
+ query.groupfn(scope, query.params, alasql);
+ }
+ else {
+ // query.qwerty = 999;
+ //console.log(query.qwerty, query.queriesfn && query.queriesfn.length,2);
+ query.data.push(query.selectfn(scope, query.params, alasql));
+ }
+ }
+ }
+ else if (query.sources[h].applyselect) {
+ // console.log('APPLY',scope);
+ // console.log('scope1',scope);
+ // console.log(scope);
+ var source = query.sources[h];
+ source.applyselect(query.params, function (data) {
+ if (data.length > 0) {
+ // console.log('APPLY CB');
+ for (var i = 0; i < data.length; i++) {
+ scope[source.alias] = data[i];
+ doJoin(query, scope, h + 1);
+ }
+ }
+ else {
+ if (source.applymode === 'OUTER') {
+ scope[source.alias] = {};
+ doJoin(query, scope, h + 1);
+ }
+ }
+ }, scope);
+ // console.log(data);
+ }
+ else {
+ // STEP 1
+ var source = query.sources[h];
+ var nextsource = query.sources[h + 1];
+ // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "RIGHT"
+ // || source.joinmode == "OUTER" || source.joinmode == "SEMI") {
+ // Todo: check if this is smart
+ {
+ //source.joinmode != "ANTI") {
+ /*/*
+ // if(nextsource && nextsource.joinmode == "RIGHT") {
+ // if(!nextsource.rightdata) {
+ // console.log("ok");
+ // nextsource.rightdata = new Array(nextsource.data.length);
+ // console.log(nextsource.data.length, nextsource.rightdata);
+ // }
+ // }
+ */
+ var tableid = source.alias || source.tableid;
+ var pass = false; // For LEFT JOIN
+ var data = source.data;
+ var opt = false;
+ // Reduce data for looping if there is optimization hint
+ if (!source.getfn || (source.getfn && !source.dontcache)) {
+ if (source.joinmode !== 'RIGHT' &&
+ source.joinmode !== 'OUTER' &&
+ source.joinmode !== 'ANTI' &&
+ source.optimization === 'ix') {
+ data = source.ix[source.onleftfn(scope, query.params, alasql)] || [];
+ opt = true;
+ // console.log(source.onleftfns);
+ // console.log(source.ix);
+ // console.log(source.onleftfn(scope, query.params, alasql));
+ // console.log(opt, data, data.length);
+ }
+ }
+ // Main cycle
+ var i = 0;
+ if (typeof data === 'undefined') {
+ throw new Error('Data source number ' + h + ' in undefined');
+ }
+ var ilen = data.length;
+ var dataw;
+ // console.log(h,opt,source.data,i,source.dontcache);
+ while ((dataw = data[i]) ||
+ (!opt && (source.getfn && (dataw = source.getfn(i)))) ||
+ i < ilen) {
+ if (!opt && source.getfn && !source.dontcache)
+ { data[i] = dataw; }
+ //console.log(h, i, dataw);
+ scope[tableid] = dataw;
+ // Reduce with ON and USING clause
+ if (!source.onleftfn ||
+ source.onleftfn(scope, query.params, alasql) ==
+ source.onrightfn(scope, query.params, alasql)) {
+ // For all non-standard JOINs like a-b=0
+ if (source.onmiddlefn(scope, query.params, alasql)) {
+ // Recursively call new join
+ // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "OUTER" || source.joinmode == "RIGHT" ) {
+ if (source.joinmode != 'SEMI' && source.joinmode != 'ANTI') {
+ // console.log(scope);
+ doJoin(query, scope, h + 1);
+ }
+ // if(source.data[i].f = 200) debugger;
+ // if(source.joinmode == "RIGHT" || source.joinmode == "ANTI" || source.joinmode == "OUTER") {
+ if (source.joinmode != 'LEFT' && source.joinmode != 'INNER') {
+ dataw._rightjoin = true;
+ }
+ // for LEFT JOIN
+ pass = true;
+ }
+ }
+ i++;
+ }
+ // Additional join for LEFT JOINS
+ if ((source.joinmode == 'LEFT' ||
+ source.joinmode == 'OUTER' ||
+ source.joinmode == 'SEMI') &&
+ !pass) {
+ // Clear the scope after the loop
+ scope[tableid] = {};
+ doJoin(query, scope, h + 1);
+ }
+ }
+ // When there is no records
+ // if(data.length == 0 && query.groupfn) {
+ // scope[tableid] = undefined;
+ // doJoin(query,scope,h+1);
+ // }
+ // STEP 2
+ if (h + 1 < query.sources.length) {
+ if (nextsource.joinmode == 'OUTER' ||
+ nextsource.joinmode == 'RIGHT' ||
+ nextsource.joinmode == 'ANTI') {
+ scope[source.alias] = {};
+ var j = 0;
+ var jlen = nextsource.data.length;
+ var dataw;
+ while ((dataw = nextsource.data[j]) ||
+ (nextsource.getfn && (dataw = nextsource.getfn(j))) ||
+ j < jlen) {
+ if (nextsource.getfn && !nextsource.dontcache) {
+ nextsource.data[j] = dataw;
+ }
+ // console.log(169,dataw._rightjoin,scope);
+ if (dataw._rightjoin) {
+ delete dataw._rightjoin;
+ }
+ else {
+ // delete dataw._rightjoin;
+ // console.log(163,h,scope);
+ if (h == 0) {
+ scope[nextsource.alias] = dataw;
+ doJoin(query, scope, h + 2);
+ }
+ }
+ j++;
+ }
+ // debugger;
+ }
+ }
+ scope[tableid] = undefined;
+ /*/*
+ if(h+1 < query.sources.length) {
+ var nextsource = query.sources[h+1];
+
+ if(nextsource.joinmode == "OUTER" || nextsource.joinmode == "RIGHT"
+ || nextsource.joinmode == "ANTI") {
+
+
+ // console.log(h,query.sources.length);
+ // Swap
+
+
+ // swapSources(query,h);
+
+ // console.log(query.sources);
+ //debugger;
+ // var source = query.sources[h];
+
+ // var tableid = source.alias || source.tableid;
+ // var data = source.data;
+
+ // Reduce data for looping if there is optimization hint
+ // if(source.optimization == 'ix') {
+ // data = source.ix[ source.onleftfn(scope, query.params, alasql) ] || [];
+ // }
+
+ // Main cycle
+ var pass = false;
+ // console.log(tableid, data.length);
+ for(var i=0, ilen=nextsource.data.length; i= 0) {
+ var source = query.sources[idx];
+ source.data = data;
+ if (typeof source.data === 'function') {
+ source.getfn = source.data;
+ source.dontcache = source.getfn.dontcache;
+ // var prevsource = query.sources[h-1];
+ if (source.joinmode === 'OUTER' ||
+ source.joinmode === 'RIGHT' ||
+ source.joinmode === 'ANTI') {
+ source.dontcache = false;
+ }
+ source.data = {};
+ }
+ }
+ else {
+ // subqueries
+ // console.log("queriesdata",data, flatArray(data));
+ query.queriesdata[-idx - 1] = flatArray(data);
+ // console.log(98,query.queriesdata);
+ // console.log(79,query.queriesdata);
+ }
+ query.sourceslen--;
+ if (query.sourceslen > 0)
+ { return; }
+ return queryfn3(alasql, query);
}
-*/
-var alasqlparser = (function(){
-var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,13],$V1=[1,104],$V2=[1,102],$V3=[1,103],$V4=[1,6],$V5=[1,42],$V6=[1,79],$V7=[1,76],$V8=[1,94],$V9=[1,93],$Va=[1,69],$Vb=[1,101],$Vc=[1,85],$Vd=[1,64],$Ve=[1,71],$Vf=[1,84],$Vg=[1,66],$Vh=[1,70],$Vi=[1,68],$Vj=[1,61],$Vk=[1,74],$Vl=[1,62],$Vm=[1,67],$Vn=[1,83],$Vo=[1,77],$Vp=[1,86],$Vq=[1,87],$Vr=[1,81],$Vs=[1,82],$Vt=[1,80],$Vu=[1,88],$Vv=[1,89],$Vw=[1,90],$Vx=[1,91],$Vy=[1,92],$Vz=[1,98],$VA=[1,65],$VB=[1,78],$VC=[1,72],$VD=[1,96],$VE=[1,97],$VF=[1,63],$VG=[1,73],$VH=[1,108],$VI=[1,107],$VJ=[10,306,602,764],$VK=[10,306,310,602,764],$VL=[1,115],$VM=[1,116],$VN=[1,117],$VO=[1,118],$VP=[1,119],$VQ=[130,353,410],$VR=[1,127],$VS=[1,126],$VT=[1,134],$VU=[1,164],$VV=[1,175],$VW=[1,178],$VX=[1,173],$VY=[1,181],$VZ=[1,185],$V_=[1,160],$V$=[1,182],$V01=[1,169],$V11=[1,171],$V21=[1,174],$V31=[1,183],$V41=[1,166],$V51=[1,193],$V61=[1,188],$V71=[1,189],$V81=[1,194],$V91=[1,195],$Va1=[1,196],$Vb1=[1,197],$Vc1=[1,198],$Vd1=[1,199],$Ve1=[1,200],$Vf1=[1,201],$Vg1=[1,202],$Vh1=[1,176],$Vi1=[1,177],$Vj1=[1,179],$Vk1=[1,180],$Vl1=[1,186],$Vm1=[1,192],$Vn1=[1,184],$Vo1=[1,187],$Vp1=[1,172],$Vq1=[1,170],$Vr1=[1,191],$Vs1=[1,203],$Vt1=[2,4,5],$Vu1=[2,471],$Vv1=[1,206],$Vw1=[1,211],$Vx1=[1,220],$Vy1=[1,216],$Vz1=[10,72,78,93,98,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$VA1=[2,4,5,10,72,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],$VB1=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VC1=[1,249],$VD1=[1,256],$VE1=[1,265],$VF1=[1,270],$VG1=[1,269],$VH1=[2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,149,152,154,156,162,168,169,179,180,181,183,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],$VI1=[2,162],$VJ1=[1,281],$VK1=[10,74,78,306,310,505,602,764],$VL1=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,193,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,302,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,344,356,368,369,370,373,374,386,389,396,400,401,402,403,404,405,406,408,409,417,418,420,424,426,433,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,514,515,516,517,602,764],$VM1=[2,4,5,10,53,72,89,124,146,156,189,266,267,290,306,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$VN1=[1,562],$VO1=[1,564],$VP1=[2,503],$VQ1=[1,569],$VR1=[1,580],$VS1=[1,583],$VT1=[1,584],$VU1=[10,78,89,132,137,146,189,296,306,310,470,602,764],$VV1=[10,74,306,310,602,764],$VW1=[2,567],$VX1=[1,602],$VY1=[2,4,5,156],$VZ1=[1,640],$V_1=[1,612],$V$1=[1,646],$V02=[1,647],$V12=[1,620],$V22=[1,631],$V32=[1,618],$V42=[1,626],$V52=[1,619],$V62=[1,627],$V72=[1,629],$V82=[1,621],$V92=[1,622],$Va2=[1,641],$Vb2=[1,638],$Vc2=[1,639],$Vd2=[1,615],$Ve2=[1,617],$Vf2=[1,609],$Vg2=[1,610],$Vh2=[1,611],$Vi2=[1,613],$Vj2=[1,614],$Vk2=[1,616],$Vl2=[1,623],$Vm2=[1,624],$Vn2=[1,628],$Vo2=[1,630],$Vp2=[1,632],$Vq2=[1,633],$Vr2=[1,634],$Vs2=[1,635],$Vt2=[1,636],$Vu2=[1,642],$Vv2=[1,643],$Vw2=[1,644],$Vx2=[1,645],$Vy2=[2,287],$Vz2=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VA2=[2,359],$VB2=[1,668],$VC2=[1,678],$VD2=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VE2=[1,694],$VF2=[1,703],$VG2=[1,702],$VH2=[2,4,5,10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VI2=[10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VJ2=[2,202],$VK2=[1,725],$VL2=[10,72,78,93,98,118,128,162,168,169,183,232,245,247,306,310,602,764],$VM2=[2,163],$VN2=[1,728],$VO2=[2,4,5,112],$VP2=[1,741],$VQ2=[1,760],$VR2=[1,740],$VS2=[1,739],$VT2=[1,734],$VU2=[1,735],$VV2=[1,737],$VW2=[1,738],$VX2=[1,742],$VY2=[1,743],$VZ2=[1,744],$V_2=[1,745],$V$2=[1,746],$V03=[1,747],$V13=[1,748],$V23=[1,749],$V33=[1,750],$V43=[1,751],$V53=[1,752],$V63=[1,753],$V73=[1,754],$V83=[1,755],$V93=[1,756],$Va3=[1,757],$Vb3=[1,759],$Vc3=[1,761],$Vd3=[1,762],$Ve3=[1,763],$Vf3=[1,764],$Vg3=[1,765],$Vh3=[1,766],$Vi3=[1,767],$Vj3=[1,770],$Vk3=[1,771],$Vl3=[1,772],$Vm3=[1,773],$Vn3=[1,774],$Vo3=[1,775],$Vp3=[1,776],$Vq3=[1,777],$Vr3=[1,778],$Vs3=[1,779],$Vt3=[1,780],$Vu3=[1,781],$Vv3=[74,89,189],$Vw3=[10,74,78,154,187,230,297,306,310,343,356,368,369,373,374,602,764],$Vx3=[1,798],$Vy3=[10,74,78,300,306,310,602,764],$Vz3=[1,799],$VA3=[1,805],$VB3=[1,806],$VC3=[1,810],$VD3=[10,74,78,306,310,602,764],$VE3=[2,4,5,77,131,132,137,143,145,149,152,154,156,179,180,181,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,312,317,420,424],$VF3=[10,72,78,93,98,107,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$VG3=[2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,149,152,154,156,162,164,168,169,179,180,181,183,185,187,195,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],$VH3=[2,4,5,132,296],$VI3=[1,844],$VJ3=[10,74,76,78,306,310,602,764],$VK3=[2,738],$VL3=[10,74,76,78,132,139,141,145,152,306,310,420,424,602,764],$VM3=[2,1161],$VN3=[10,74,76,78,139,141,145,152,306,310,420,424,602,764],$VO3=[10,74,76,78,139,141,145,306,310,420,424,602,764],$VP3=[10,74,78,139,141,306,310,602,764],$VQ3=[10,78,89,132,146,189,296,306,310,470,602,764],$VR3=[335,338,339],$VS3=[2,764],$VT3=[1,869],$VU3=[1,870],$VV3=[1,871],$VW3=[1,872],$VX3=[1,881],$VY3=[1,880],$VZ3=[164,166,334],$V_3=[2,444],$V$3=[1,936],$V04=[2,4,5,77,131,156,290,291,292,293],$V14=[1,951],$V24=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$V34=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$V44=[2,375],$V54=[1,958],$V64=[306,308,310],$V74=[74,300],$V84=[74,300,426],$V94=[1,965],$Va4=[2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vb4=[74,426],$Vc4=[1,978],$Vd4=[1,977],$Ve4=[1,984],$Vf4=[10,72,78,93,98,118,128,162,168,169,232,245,247,306,310,602,764],$Vg4=[1,1010],$Vh4=[10,72,78,306,310,602,764],$Vi4=[1,1016],$Vj4=[1,1017],$Vk4=[1,1018],$Vl4=[2,4,5,10,72,74,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],$Vm4=[1,1068],$Vn4=[1,1067],$Vo4=[1,1081],$Vp4=[1,1080],$Vq4=[1,1088],$Vr4=[10,72,74,78,93,98,107,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$Vs4=[1,1119],$Vt4=[10,78,89,146,189,306,310,470,602,764],$Vu4=[1,1139],$Vv4=[1,1138],$Vw4=[1,1137],$Vx4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vy4=[1,1153],$Vz4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VA4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,315,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VB4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VC4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VD4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,320,321,322,323,324,325,326,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VE4=[2,406],$VF4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VG4=[2,285],$VH4=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$VI4=[10,78,306,310,602,764],$VJ4=[1,1189],$VK4=[10,77,78,143,145,152,181,302,306,310,420,424,602,764],$VL4=[10,74,78,306,308,310,464,602,764],$VM4=[1,1200],$VN4=[10,72,78,118,128,162,168,169,232,245,247,306,310,602,764],$VO4=[10,72,74,78,93,98,118,128,162,168,169,183,198,232,245,247,306,310,602,764],$VP4=[2,4,5,72,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],$VQ4=[2,4,5,72,74,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],$VR4=[2,1085],$VS4=[2,4,5,72,74,76,77,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],$VT4=[1,1252],$VU4=[10,74,78,128,306,308,310,464,602,764],$VV4=[115,116,124],$VW4=[2,584],$VX4=[1,1280],$VY4=[76,139],$VZ4=[2,724],$V_4=[1,1297],$V$4=[1,1298],$V05=[2,4,5,10,53,72,76,89,124,146,156,189,230,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$V15=[2,330],$V25=[1,1322],$V35=[1,1336],$V45=[1,1338],$V55=[2,487],$V65=[74,78],$V75=[10,306,308,310,464,602,764],$V85=[10,72,78,118,162,168,169,232,245,247,306,310,602,764],$V95=[1,1354],$Va5=[1,1358],$Vb5=[1,1359],$Vc5=[1,1361],$Vd5=[1,1362],$Ve5=[1,1363],$Vf5=[1,1364],$Vg5=[1,1365],$Vh5=[1,1366],$Vi5=[1,1367],$Vj5=[1,1368],$Vk5=[10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],$Vl5=[1,1393],$Vm5=[10,72,78,118,162,168,169,245,247,306,310,602,764],$Vn5=[10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],$Vo5=[1,1490],$Vp5=[1,1492],$Vq5=[2,4,5,77,143,145,152,156,181,290,291,292,293,302,420,424],$Vr5=[1,1506],$Vs5=[10,72,74,78,162,168,169,245,247,306,310,602,764],$Vt5=[1,1524],$Vu5=[1,1526],$Vv5=[1,1527],$Vw5=[1,1523],$Vx5=[1,1522],$Vy5=[1,1521],$Vz5=[1,1528],$VA5=[1,1518],$VB5=[1,1519],$VC5=[1,1520],$VD5=[1,1545],$VE5=[2,4,5,10,53,72,89,124,146,156,189,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$VF5=[1,1556],$VG5=[1,1564],$VH5=[1,1563],$VI5=[10,72,78,162,168,169,245,247,306,310,602,764],$VJ5=[10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VK5=[2,4,5,10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VL5=[1,1621],$VM5=[1,1623],$VN5=[1,1620],$VO5=[1,1622],$VP5=[187,193,368,369,370,373],$VQ5=[2,515],$VR5=[1,1628],$VS5=[1,1647],$VT5=[10,72,78,162,168,169,306,310,602,764],$VU5=[1,1657],$VV5=[1,1658],$VW5=[1,1659],$VX5=[1,1678],$VY5=[4,10,243,306,310,343,356,602,764],$VZ5=[1,1726],$V_5=[10,72,74,78,118,162,168,169,239,245,247,306,310,602,764],$V$5=[2,4,5,77],$V06=[1,1820],$V16=[1,1832],$V26=[1,1851],$V36=[10,72,78,162,168,169,306,310,415,602,764],$V46=[10,74,78,230,306,310,602,764];
-var parser = {trace: function trace() { },
-yy: {},
-symbols_: {"error":2,"Literal":3,"LITERAL":4,"BRALITERAL":5,"NonReserved":6,"LiteralWithSpaces":7,"main":8,"Statements":9,"EOF":10,"Statements_group0":11,"AStatement":12,"ExplainStatement":13,"EXPLAIN":14,"QUERY":15,"PLAN":16,"Statement":17,"AlterTable":18,"AttachDatabase":19,"Call":20,"CreateDatabase":21,"CreateIndex":22,"CreateGraph":23,"CreateTable":24,"CreateView":25,"CreateEdge":26,"CreateVertex":27,"Declare":28,"Delete":29,"DetachDatabase":30,"DropDatabase":31,"DropIndex":32,"DropTable":33,"DropView":34,"If":35,"Insert":36,"Merge":37,"Reindex":38,"RenameTable":39,"Select":40,"ShowCreateTable":41,"ShowColumns":42,"ShowDatabases":43,"ShowIndex":44,"ShowTables":45,"TruncateTable":46,"WithSelect":47,"CreateTrigger":48,"DropTrigger":49,"BeginTransaction":50,"CommitTransaction":51,"RollbackTransaction":52,"EndTransaction":53,"UseDatabase":54,"Update":55,"JavaScript":56,"Source":57,"Assert":58,"While":59,"Continue":60,"Break":61,"BeginEnd":62,"Print":63,"Require":64,"SetVariable":65,"ExpressionStatement":66,"AddRule":67,"Query":68,"Echo":69,"CreateFunction":70,"CreateAggregate":71,"WITH":72,"WithTablesList":73,"COMMA":74,"WithTable":75,"AS":76,"LPAR":77,"RPAR":78,"SelectClause":79,"Select_option0":80,"IntoClause":81,"FromClause":82,"Select_option1":83,"WhereClause":84,"GroupClause":85,"OrderClause":86,"LimitClause":87,"UnionClause":88,"SEARCH":89,"Select_repetition0":90,"Select_option2":91,"PivotClause":92,"PIVOT":93,"Expression":94,"FOR":95,"PivotClause_option0":96,"PivotClause_option1":97,"UNPIVOT":98,"IN":99,"ColumnsList":100,"PivotClause_option2":101,"PivotClause2":102,"AsList":103,"AsLiteral":104,"AsPart":105,"RemoveClause":106,"REMOVE":107,"RemoveClause_option0":108,"RemoveColumnsList":109,"RemoveColumn":110,"Column":111,"LIKE":112,"StringValue":113,"ArrowDot":114,"ARROW":115,"DOT":116,"SearchSelector":117,"ORDER":118,"BY":119,"OrderExpressionsList":120,"SearchSelector_option0":121,"DOTDOT":122,"CARET":123,"EQ":124,"SearchSelector_repetition_plus0":125,"SearchSelector_repetition_plus1":126,"SearchSelector_option1":127,"WHERE":128,"OF":129,"CLASS":130,"NUMBER":131,"STRING":132,"SLASH":133,"VERTEX":134,"EDGE":135,"EXCLAMATION":136,"SHARP":137,"MODULO":138,"GT":139,"LT":140,"GTGT":141,"LTLT":142,"DOLLAR":143,"Json":144,"AT":145,"SET":146,"SetColumnsList":147,"TO":148,"VALUE":149,"ROW":150,"ExprList":151,"COLON":152,"PlusStar":153,"NOT":154,"SearchSelector_repetition2":155,"IF":156,"SearchSelector_repetition3":157,"Aggregator":158,"SearchSelector_repetition4":159,"SearchSelector_group0":160,"SearchSelector_repetition5":161,"UNION":162,"SearchSelectorList":163,"ALL":164,"SearchSelector_repetition6":165,"ANY":166,"SearchSelector_repetition7":167,"INTERSECT":168,"EXCEPT":169,"AND":170,"OR":171,"PATH":172,"RETURN":173,"ResultColumns":174,"REPEAT":175,"SearchSelector_repetition8":176,"SearchSelectorList_repetition0":177,"SearchSelectorList_repetition1":178,"PLUS":179,"STAR":180,"QUESTION":181,"SearchFrom":182,"FROM":183,"SelectModifier":184,"DISTINCT":185,"TopClause":186,"UNIQUE":187,"SelectClause_option0":188,"SELECT":189,"COLUMN":190,"MATRIX":191,"TEXTSTRING":192,"INDEX":193,"RECORDSET":194,"TOP":195,"NumValue":196,"TopClause_option0":197,"INTO":198,"Table":199,"FuncValue":200,"ParamValue":201,"VarValue":202,"FromTablesList":203,"JoinTablesList":204,"ApplyClause":205,"CROSS":206,"APPLY":207,"OUTER":208,"FromTable":209,"FromTable_option0":210,"FromTable_option1":211,"INDEXED":212,"INSERTED":213,"FromString":214,"JoinTable":215,"JoinMode":216,"JoinTableAs":217,"OnClause":218,"JoinTableAs_option0":219,"JoinTableAs_option1":220,"JoinModeMode":221,"NATURAL":222,"JOIN":223,"INNER":224,"LEFT":225,"RIGHT":226,"FULL":227,"SEMI":228,"ANTI":229,"ON":230,"USING":231,"GROUP":232,"GroupExpressionsList":233,"HavingClause":234,"GroupExpression":235,"GROUPING":236,"ROLLUP":237,"CUBE":238,"HAVING":239,"CORRESPONDING":240,"OrderExpression":241,"DIRECTION":242,"COLLATE":243,"NOCASE":244,"LIMIT":245,"OffsetClause":246,"OFFSET":247,"LimitClause_option0":248,"FETCH":249,"LimitClause_option1":250,"LimitClause_option2":251,"LimitClause_option3":252,"ResultColumn":253,"Star":254,"AggrValue":255,"Op":256,"LogicValue":257,"NullValue":258,"ExistsValue":259,"CaseValue":260,"CastClause":261,"ArrayValue":262,"NewClause":263,"Expression_group0":264,"CURRENT_TIMESTAMP":265,"JAVASCRIPT":266,"CREATE":267,"FUNCTION":268,"AGGREGATE":269,"NEW":270,"CAST":271,"ColumnType":272,"CONVERT":273,"PrimitiveValue":274,"OverClause":275,"OVER":276,"OverPartitionClause":277,"OverOrderByClause":278,"PARTITION":279,"SUM":280,"COUNT":281,"MIN":282,"MAX":283,"AVG":284,"FIRST":285,"LAST":286,"AGGR":287,"ARRAY":288,"FuncValue_option0":289,"REPLACE":290,"DATEADD":291,"DATEDIFF":292,"INTERVAL":293,"TRUE":294,"FALSE":295,"NSTRING":296,"NULL":297,"EXISTS":298,"ARRAYLBRA":299,"RBRA":300,"ParamValue_group0":301,"BRAQUESTION":302,"CASE":303,"WhensList":304,"ElseClause":305,"END":306,"When":307,"WHEN":308,"THEN":309,"ELSE":310,"REGEXP":311,"TILDA":312,"GLOB":313,"ESCAPE":314,"NOT_LIKE":315,"BARBAR":316,"MINUS":317,"AMPERSAND":318,"BAR":319,"GE":320,"LE":321,"EQEQ":322,"EQEQEQ":323,"NE":324,"NEEQEQ":325,"NEEQEQEQ":326,"CondOp":327,"AllSome":328,"ColFunc":329,"BETWEEN":330,"NOT_BETWEEN":331,"IS":332,"DOUBLECOLON":333,"SOME":334,"UPDATE":335,"SetColumn":336,"SetColumn_group0":337,"DELETE":338,"INSERT":339,"Into":340,"Values":341,"ValuesListsList":342,"DEFAULT":343,"VALUES":344,"ValuesList":345,"Value":346,"DateValue":347,"TemporaryClause":348,"TableClass":349,"IfNotExists":350,"CreateTableDefClause":351,"CreateTableOptionsClause":352,"TABLE":353,"CreateTableOptions":354,"CreateTableOption":355,"IDENTITY":356,"TEMP":357,"ColumnDefsList":358,"ConstraintsList":359,"Constraint":360,"ConstraintName":361,"PrimaryKey":362,"ForeignKey":363,"UniqueKey":364,"IndexKey":365,"Check":366,"CONSTRAINT":367,"CHECK":368,"PRIMARY":369,"KEY":370,"PrimaryKey_option0":371,"ColsList":372,"FOREIGN":373,"REFERENCES":374,"ForeignKey_option0":375,"OnForeignKeyClause":376,"ParColsList":377,"OnDeleteClause":378,"OnUpdateClause":379,"NO":380,"ACTION":381,"UniqueKey_option0":382,"UniqueKey_option1":383,"ColumnDef":384,"ColumnConstraintsClause":385,"ColumnConstraints":386,"SingularColumnType":387,"NumberMax":388,"ENUM":389,"MAXNUM":390,"ColumnConstraintsList":391,"ColumnConstraint":392,"ParLiteral":393,"ColumnConstraint_option0":394,"ColumnConstraint_option1":395,"DROP":396,"DropTable_group0":397,"IfExists":398,"TablesList":399,"ALTER":400,"RENAME":401,"ADD":402,"MODIFY":403,"ATTACH":404,"DATABASE":405,"DETACH":406,"AsClause":407,"USE":408,"SHOW":409,"VIEW":410,"CreateView_option0":411,"CreateView_option1":412,"SubqueryRestriction":413,"READ":414,"ONLY":415,"OPTION":416,"SOURCE":417,"ASSERT":418,"JsonObject":419,"ATLBRA":420,"JsonArray":421,"JsonValue":422,"JsonPrimitiveValue":423,"LCUR":424,"JsonPropertiesList":425,"RCUR":426,"JsonElementsList":427,"JsonProperty":428,"OnOff":429,"SetPropsList":430,"AtDollar":431,"SetProp":432,"OFF":433,"COMMIT":434,"TRANSACTION":435,"ROLLBACK":436,"BEGIN":437,"ElseStatement":438,"WHILE":439,"CONTINUE":440,"BREAK":441,"PRINT":442,"REQUIRE":443,"StringValuesList":444,"PluginsList":445,"Plugin":446,"ECHO":447,"DECLARE":448,"DeclaresList":449,"DeclareItem":450,"TRUNCATE":451,"MERGE":452,"MergeInto":453,"MergeUsing":454,"MergeOn":455,"MergeMatchedList":456,"OutputClause":457,"MergeMatched":458,"MergeNotMatched":459,"MATCHED":460,"MergeMatchedAction":461,"MergeNotMatchedAction":462,"TARGET":463,"OUTPUT":464,"CreateVertex_option0":465,"CreateVertex_option1":466,"CreateVertex_option2":467,"CreateVertexSet":468,"SharpValue":469,"CONTENT":470,"CreateEdge_option0":471,"GRAPH":472,"GraphList":473,"GraphVertexEdge":474,"GraphElement":475,"GraphVertexEdge_option0":476,"GraphVertexEdge_option1":477,"GraphElementVar":478,"GraphVertexEdge_option2":479,"GraphVertexEdge_option3":480,"GraphVertexEdge_option4":481,"GraphVar":482,"GraphAsClause":483,"GraphAtClause":484,"GraphElement2":485,"GraphElement2_option0":486,"GraphElement2_option1":487,"GraphElement2_option2":488,"GraphElement2_option3":489,"GraphElement_option0":490,"GraphElement_option1":491,"GraphElement_option2":492,"SharpLiteral":493,"GraphElement_option3":494,"GraphElement_option4":495,"GraphElement_option5":496,"ColonLiteral":497,"DeleteVertex":498,"DeleteVertex_option0":499,"DeleteEdge":500,"DeleteEdge_option0":501,"DeleteEdge_option1":502,"DeleteEdge_option2":503,"Term":504,"COLONDASH":505,"TermsList":506,"QUESTIONDASH":507,"CALL":508,"TRIGGER":509,"BeforeAfter":510,"InsertDeleteUpdate":511,"CreateTrigger_option0":512,"CreateTrigger_option1":513,"BEFORE":514,"AFTER":515,"INSTEAD":516,"REINDEX":517,"A":518,"ABSENT":519,"ABSOLUTE":520,"ACCORDING":521,"ADA":522,"ADMIN":523,"ALWAYS":524,"ASC":525,"ASSERTION":526,"ASSIGNMENT":527,"ATTRIBUTE":528,"ATTRIBUTES":529,"BASE64":530,"BERNOULLI":531,"BLOCKED":532,"BOM":533,"BREADTH":534,"C":535,"CASCADE":536,"CATALOG":537,"CATALOG_NAME":538,"CHAIN":539,"CHARACTERISTICS":540,"CHARACTERS":541,"CHARACTER_SET_CATALOG":542,"CHARACTER_SET_NAME":543,"CHARACTER_SET_SCHEMA":544,"CLASS_ORIGIN":545,"COBOL":546,"COLLATION":547,"COLLATION_CATALOG":548,"COLLATION_NAME":549,"COLLATION_SCHEMA":550,"COLUMNS":551,"COLUMN_NAME":552,"COMMAND_FUNCTION":553,"COMMAND_FUNCTION_CODE":554,"COMMITTED":555,"CONDITION_NUMBER":556,"CONNECTION":557,"CONNECTION_NAME":558,"CONSTRAINTS":559,"CONSTRAINT_CATALOG":560,"CONSTRAINT_NAME":561,"CONSTRAINT_SCHEMA":562,"CONSTRUCTOR":563,"CONTROL":564,"CURSOR_NAME":565,"DATA":566,"DATETIME_INTERVAL_CODE":567,"DATETIME_INTERVAL_PRECISION":568,"DB":569,"DEFAULTS":570,"DEFERRABLE":571,"DEFERRED":572,"DEFINED":573,"DEFINER":574,"DEGREE":575,"DEPTH":576,"DERIVED":577,"DESC":578,"DESCRIPTOR":579,"DIAGNOSTICS":580,"DISPATCH":581,"DOCUMENT":582,"DOMAIN":583,"DYNAMIC_FUNCTION":584,"DYNAMIC_FUNCTION_CODE":585,"EMPTY":586,"ENCODING":587,"ENFORCED":588,"EXCLUDE":589,"EXCLUDING":590,"EXPRESSION":591,"FILE":592,"FINAL":593,"FLAG":594,"FOLLOWING":595,"FORTRAN":596,"FOUND":597,"FS":598,"G":599,"GENERAL":600,"GENERATED":601,"GO":602,"GOTO":603,"GRANTED":604,"HEX":605,"HIERARCHY":606,"ID":607,"IGNORE":608,"IMMEDIATE":609,"IMMEDIATELY":610,"IMPLEMENTATION":611,"INCLUDING":612,"INCREMENT":613,"INDENT":614,"INITIALLY":615,"INPUT":616,"INSTANCE":617,"INSTANTIABLE":618,"INTEGRITY":619,"INVOKER":620,"ISOLATION":621,"K":622,"KEY_MEMBER":623,"KEY_TYPE":624,"LENGTH":625,"LEVEL":626,"LIBRARY":627,"LINK":628,"LOCATION":629,"LOCATOR":630,"M":631,"MAP":632,"MAPPING":633,"MAXVALUE":634,"MESSAGE_LENGTH":635,"MESSAGE_OCTET_LENGTH":636,"MESSAGE_TEXT":637,"MINVALUE":638,"MORE":639,"MUMPS":640,"NAME":641,"NAMES":642,"NAMESPACE":643,"NESTING":644,"NEXT":645,"NFC":646,"NFD":647,"NFKC":648,"NFKD":649,"NIL":650,"NORMALIZED":651,"NULLABLE":652,"NULLS":653,"OBJECT":654,"OCTETS":655,"OPTIONS":656,"ORDERING":657,"ORDINALITY":658,"OTHERS":659,"OVERRIDING":660,"P":661,"PAD":662,"PARAMETER_MODE":663,"PARAMETER_NAME":664,"PARAMETER_ORDINAL_POSITION":665,"PARAMETER_SPECIFIC_CATALOG":666,"PARAMETER_SPECIFIC_NAME":667,"PARAMETER_SPECIFIC_SCHEMA":668,"PARTIAL":669,"PASCAL":670,"PASSING":671,"PASSTHROUGH":672,"PERMISSION":673,"PLACING":674,"PLI":675,"PRECEDING":676,"PRESERVE":677,"PRIOR":678,"PRIVILEGES":679,"PUBLIC":680,"RECOVERY":681,"RELATIVE":682,"REPEATABLE":683,"REQUIRING":684,"RESPECT":685,"RESTART":686,"RESTORE":687,"RESTRICT":688,"RETURNED_CARDINALITY":689,"RETURNED_LENGTH":690,"RETURNED_OCTET_LENGTH":691,"RETURNED_SQLSTATE":692,"RETURNING":693,"ROLE":694,"ROUTINE":695,"ROUTINE_CATALOG":696,"ROUTINE_NAME":697,"ROUTINE_SCHEMA":698,"ROW_COUNT":699,"SCALE":700,"SCHEMA":701,"SCHEMA_NAME":702,"SCOPE_CATALOG":703,"SCOPE_NAME":704,"SCOPE_SCHEMA":705,"SECTION":706,"SECURITY":707,"SELECTIVE":708,"SELF":709,"SEQUENCE":710,"SERIALIZABLE":711,"SERVER":712,"SERVER_NAME":713,"SESSION":714,"SETS":715,"SIMPLE":716,"SIZE":717,"SPACE":718,"SPECIFIC_NAME":719,"STANDALONE":720,"STATE":721,"STATEMENT":722,"STRIP":723,"STRUCTURE":724,"STYLE":725,"SUBCLASS_ORIGIN":726,"T":727,"TABLE_NAME":728,"TEMPORARY":729,"TIES":730,"TOKEN":731,"TOP_LEVEL_COUNT":732,"TRANSACTIONS_COMMITTED":733,"TRANSACTIONS_ROLLED_BACK":734,"TRANSACTION_ACTIVE":735,"TRANSFORM":736,"TRANSFORMS":737,"TRIGGER_CATALOG":738,"TRIGGER_NAME":739,"TRIGGER_SCHEMA":740,"TYPE":741,"UNBOUNDED":742,"UNCOMMITTED":743,"UNDER":744,"UNLINK":745,"UNNAMED":746,"UNTYPED":747,"URI":748,"USAGE":749,"USER_DEFINED_TYPE_CATALOG":750,"USER_DEFINED_TYPE_CODE":751,"USER_DEFINED_TYPE_NAME":752,"USER_DEFINED_TYPE_SCHEMA":753,"VALID":754,"VERSION":755,"WHITESPACE":756,"WORK":757,"WRAPPER":758,"WRITE":759,"XMLDECLARATION":760,"XMLSCHEMA":761,"YES":762,"ZONE":763,"SEMICOLON":764,"PERCENT":765,"ROWS":766,"FuncValue_option0_group0":767,"$accept":0,"$end":1},
-terminals_: {2:"error",4:"LITERAL",5:"BRALITERAL",10:"EOF",14:"EXPLAIN",15:"QUERY",16:"PLAN",53:"EndTransaction",72:"WITH",74:"COMMA",76:"AS",77:"LPAR",78:"RPAR",89:"SEARCH",93:"PIVOT",95:"FOR",98:"UNPIVOT",99:"IN",107:"REMOVE",112:"LIKE",115:"ARROW",116:"DOT",118:"ORDER",119:"BY",122:"DOTDOT",123:"CARET",124:"EQ",128:"WHERE",129:"OF",130:"CLASS",131:"NUMBER",132:"STRING",133:"SLASH",134:"VERTEX",135:"EDGE",136:"EXCLAMATION",137:"SHARP",138:"MODULO",139:"GT",140:"LT",141:"GTGT",142:"LTLT",143:"DOLLAR",145:"AT",146:"SET",148:"TO",149:"VALUE",150:"ROW",152:"COLON",154:"NOT",156:"IF",162:"UNION",164:"ALL",166:"ANY",168:"INTERSECT",169:"EXCEPT",170:"AND",171:"OR",172:"PATH",173:"RETURN",175:"REPEAT",179:"PLUS",180:"STAR",181:"QUESTION",183:"FROM",185:"DISTINCT",187:"UNIQUE",189:"SELECT",190:"COLUMN",191:"MATRIX",192:"TEXTSTRING",193:"INDEX",194:"RECORDSET",195:"TOP",198:"INTO",206:"CROSS",207:"APPLY",208:"OUTER",212:"INDEXED",213:"INSERTED",222:"NATURAL",223:"JOIN",224:"INNER",225:"LEFT",226:"RIGHT",227:"FULL",228:"SEMI",229:"ANTI",230:"ON",231:"USING",232:"GROUP",236:"GROUPING",237:"ROLLUP",238:"CUBE",239:"HAVING",240:"CORRESPONDING",242:"DIRECTION",243:"COLLATE",244:"NOCASE",245:"LIMIT",247:"OFFSET",249:"FETCH",265:"CURRENT_TIMESTAMP",266:"JAVASCRIPT",267:"CREATE",268:"FUNCTION",269:"AGGREGATE",270:"NEW",271:"CAST",273:"CONVERT",276:"OVER",279:"PARTITION",280:"SUM",281:"COUNT",282:"MIN",283:"MAX",284:"AVG",285:"FIRST",286:"LAST",287:"AGGR",288:"ARRAY",290:"REPLACE",291:"DATEADD",292:"DATEDIFF",293:"INTERVAL",294:"TRUE",295:"FALSE",296:"NSTRING",297:"NULL",298:"EXISTS",299:"ARRAYLBRA",300:"RBRA",302:"BRAQUESTION",303:"CASE",306:"END",308:"WHEN",309:"THEN",310:"ELSE",311:"REGEXP",312:"TILDA",313:"GLOB",314:"ESCAPE",315:"NOT_LIKE",316:"BARBAR",317:"MINUS",318:"AMPERSAND",319:"BAR",320:"GE",321:"LE",322:"EQEQ",323:"EQEQEQ",324:"NE",325:"NEEQEQ",326:"NEEQEQEQ",330:"BETWEEN",331:"NOT_BETWEEN",332:"IS",333:"DOUBLECOLON",334:"SOME",335:"UPDATE",338:"DELETE",339:"INSERT",343:"DEFAULT",344:"VALUES",347:"DateValue",353:"TABLE",356:"IDENTITY",357:"TEMP",367:"CONSTRAINT",368:"CHECK",369:"PRIMARY",370:"KEY",373:"FOREIGN",374:"REFERENCES",380:"NO",381:"ACTION",386:"ColumnConstraints",389:"ENUM",390:"MAXNUM",396:"DROP",400:"ALTER",401:"RENAME",402:"ADD",403:"MODIFY",404:"ATTACH",405:"DATABASE",406:"DETACH",408:"USE",409:"SHOW",410:"VIEW",414:"READ",415:"ONLY",416:"OPTION",417:"SOURCE",418:"ASSERT",420:"ATLBRA",424:"LCUR",426:"RCUR",433:"OFF",434:"COMMIT",435:"TRANSACTION",436:"ROLLBACK",437:"BEGIN",439:"WHILE",440:"CONTINUE",441:"BREAK",442:"PRINT",443:"REQUIRE",447:"ECHO",448:"DECLARE",451:"TRUNCATE",452:"MERGE",460:"MATCHED",463:"TARGET",464:"OUTPUT",470:"CONTENT",472:"GRAPH",505:"COLONDASH",507:"QUESTIONDASH",508:"CALL",509:"TRIGGER",514:"BEFORE",515:"AFTER",516:"INSTEAD",517:"REINDEX",518:"A",519:"ABSENT",520:"ABSOLUTE",521:"ACCORDING",522:"ADA",523:"ADMIN",524:"ALWAYS",525:"ASC",526:"ASSERTION",527:"ASSIGNMENT",528:"ATTRIBUTE",529:"ATTRIBUTES",530:"BASE64",531:"BERNOULLI",532:"BLOCKED",533:"BOM",534:"BREADTH",535:"C",536:"CASCADE",537:"CATALOG",538:"CATALOG_NAME",539:"CHAIN",540:"CHARACTERISTICS",541:"CHARACTERS",542:"CHARACTER_SET_CATALOG",543:"CHARACTER_SET_NAME",544:"CHARACTER_SET_SCHEMA",545:"CLASS_ORIGIN",546:"COBOL",547:"COLLATION",548:"COLLATION_CATALOG",549:"COLLATION_NAME",550:"COLLATION_SCHEMA",551:"COLUMNS",552:"COLUMN_NAME",553:"COMMAND_FUNCTION",554:"COMMAND_FUNCTION_CODE",555:"COMMITTED",556:"CONDITION_NUMBER",557:"CONNECTION",558:"CONNECTION_NAME",559:"CONSTRAINTS",560:"CONSTRAINT_CATALOG",561:"CONSTRAINT_NAME",562:"CONSTRAINT_SCHEMA",563:"CONSTRUCTOR",564:"CONTROL",565:"CURSOR_NAME",566:"DATA",567:"DATETIME_INTERVAL_CODE",568:"DATETIME_INTERVAL_PRECISION",569:"DB",570:"DEFAULTS",571:"DEFERRABLE",572:"DEFERRED",573:"DEFINED",574:"DEFINER",575:"DEGREE",576:"DEPTH",577:"DERIVED",578:"DESC",579:"DESCRIPTOR",580:"DIAGNOSTICS",581:"DISPATCH",582:"DOCUMENT",583:"DOMAIN",584:"DYNAMIC_FUNCTION",585:"DYNAMIC_FUNCTION_CODE",586:"EMPTY",587:"ENCODING",588:"ENFORCED",589:"EXCLUDE",590:"EXCLUDING",591:"EXPRESSION",592:"FILE",593:"FINAL",594:"FLAG",595:"FOLLOWING",596:"FORTRAN",597:"FOUND",598:"FS",599:"G",600:"GENERAL",601:"GENERATED",602:"GO",603:"GOTO",604:"GRANTED",605:"HEX",606:"HIERARCHY",607:"ID",608:"IGNORE",609:"IMMEDIATE",610:"IMMEDIATELY",611:"IMPLEMENTATION",612:"INCLUDING",613:"INCREMENT",614:"INDENT",615:"INITIALLY",616:"INPUT",617:"INSTANCE",618:"INSTANTIABLE",619:"INTEGRITY",620:"INVOKER",621:"ISOLATION",622:"K",623:"KEY_MEMBER",624:"KEY_TYPE",625:"LENGTH",626:"LEVEL",627:"LIBRARY",628:"LINK",629:"LOCATION",630:"LOCATOR",631:"M",632:"MAP",633:"MAPPING",634:"MAXVALUE",635:"MESSAGE_LENGTH",636:"MESSAGE_OCTET_LENGTH",637:"MESSAGE_TEXT",638:"MINVALUE",639:"MORE",640:"MUMPS",641:"NAME",642:"NAMES",643:"NAMESPACE",644:"NESTING",645:"NEXT",646:"NFC",647:"NFD",648:"NFKC",649:"NFKD",650:"NIL",651:"NORMALIZED",652:"NULLABLE",653:"NULLS",654:"OBJECT",655:"OCTETS",656:"OPTIONS",657:"ORDERING",658:"ORDINALITY",659:"OTHERS",660:"OVERRIDING",661:"P",662:"PAD",663:"PARAMETER_MODE",664:"PARAMETER_NAME",665:"PARAMETER_ORDINAL_POSITION",666:"PARAMETER_SPECIFIC_CATALOG",667:"PARAMETER_SPECIFIC_NAME",668:"PARAMETER_SPECIFIC_SCHEMA",669:"PARTIAL",670:"PASCAL",671:"PASSING",672:"PASSTHROUGH",673:"PERMISSION",674:"PLACING",675:"PLI",676:"PRECEDING",677:"PRESERVE",678:"PRIOR",679:"PRIVILEGES",680:"PUBLIC",681:"RECOVERY",682:"RELATIVE",683:"REPEATABLE",684:"REQUIRING",685:"RESPECT",686:"RESTART",687:"RESTORE",688:"RESTRICT",689:"RETURNED_CARDINALITY",690:"RETURNED_LENGTH",691:"RETURNED_OCTET_LENGTH",692:"RETURNED_SQLSTATE",693:"RETURNING",694:"ROLE",695:"ROUTINE",696:"ROUTINE_CATALOG",697:"ROUTINE_NAME",698:"ROUTINE_SCHEMA",699:"ROW_COUNT",700:"SCALE",701:"SCHEMA",702:"SCHEMA_NAME",703:"SCOPE_CATALOG",704:"SCOPE_NAME",705:"SCOPE_SCHEMA",706:"SECTION",707:"SECURITY",708:"SELECTIVE",709:"SELF",710:"SEQUENCE",711:"SERIALIZABLE",712:"SERVER",713:"SERVER_NAME",714:"SESSION",715:"SETS",716:"SIMPLE",717:"SIZE",718:"SPACE",719:"SPECIFIC_NAME",720:"STANDALONE",721:"STATE",722:"STATEMENT",723:"STRIP",724:"STRUCTURE",725:"STYLE",726:"SUBCLASS_ORIGIN",727:"T",728:"TABLE_NAME",729:"TEMPORARY",730:"TIES",731:"TOKEN",732:"TOP_LEVEL_COUNT",733:"TRANSACTIONS_COMMITTED",734:"TRANSACTIONS_ROLLED_BACK",735:"TRANSACTION_ACTIVE",736:"TRANSFORM",737:"TRANSFORMS",738:"TRIGGER_CATALOG",739:"TRIGGER_NAME",740:"TRIGGER_SCHEMA",741:"TYPE",742:"UNBOUNDED",743:"UNCOMMITTED",744:"UNDER",745:"UNLINK",746:"UNNAMED",747:"UNTYPED",748:"URI",749:"USAGE",750:"USER_DEFINED_TYPE_CATALOG",751:"USER_DEFINED_TYPE_CODE",752:"USER_DEFINED_TYPE_NAME",753:"USER_DEFINED_TYPE_SCHEMA",754:"VALID",755:"VERSION",756:"WHITESPACE",757:"WORK",758:"WRAPPER",759:"WRITE",760:"XMLDECLARATION",761:"XMLSCHEMA",762:"YES",763:"ZONE",764:"SEMICOLON",765:"PERCENT",766:"ROWS"},
-productions_: [0,[3,1],[3,1],[3,2],[7,1],[7,2],[8,2],[9,3],[9,1],[9,1],[13,2],[13,4],[12,1],[17,0],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[47,3],[73,3],[73,1],[75,5],[40,10],[40,4],[92,8],[92,11],[102,4],[104,2],[104,1],[103,3],[103,1],[105,1],[105,3],[106,3],[109,3],[109,1],[110,1],[110,2],[114,1],[114,1],[117,1],[117,5],[117,5],[117,1],[117,2],[117,1],[117,2],[117,2],[117,3],[117,4],[117,4],[117,4],[117,4],[117,4],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,2],[117,2],[117,2],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,2],[117,3],[117,4],[117,3],[117,1],[117,4],[117,2],[117,2],[117,4],[117,4],[117,4],[117,4],[117,4],[117,5],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,6],[163,3],[163,1],[153,1],[153,1],[153,1],[182,2],[79,4],[79,4],[79,4],[79,3],[184,1],[184,2],[184,2],[184,2],[184,2],[184,2],[184,2],[184,2],[186,3],[186,4],[186,0],[81,0],[81,2],[81,2],[81,2],[81,2],[81,2],[82,2],[82,3],[82,5],[82,0],[205,6],[205,7],[205,6],[205,7],[203,1],[203,3],[209,4],[209,5],[209,3],[209,3],[209,2],[209,3],[209,1],[209,3],[209,2],[209,3],[209,1],[209,1],[209,2],[209,3],[209,1],[209,1],[209,2],[209,3],[209,1],[209,2],[209,3],[214,1],[199,3],[199,1],[204,2],[204,2],[204,1],[204,1],[215,3],[217,1],[217,2],[217,3],[217,3],[217,2],[217,3],[217,4],[217,5],[217,1],[217,2],[217,3],[217,1],[217,2],[217,3],[216,1],[216,2],[221,1],[221,2],[221,2],[221,3],[221,2],[221,3],[221,2],[221,3],[221,2],[221,2],[221,2],[218,2],[218,2],[218,0],[84,0],[84,2],[85,0],[85,4],[233,1],[233,3],[235,5],[235,4],[235,4],[235,1],[234,0],[234,2],[88,0],[88,2],[88,3],[88,2],[88,2],[88,3],[88,4],[88,3],[88,3],[86,0],[86,3],[120,1],[120,3],[241,1],[241,2],[241,3],[241,4],[87,0],[87,3],[87,8],[246,0],[246,2],[174,3],[174,1],[253,3],[253,2],[253,3],[253,2],[253,3],[253,2],[253,1],[254,5],[254,3],[254,1],[111,5],[111,3],[111,3],[111,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,3],[94,3],[94,3],[94,1],[94,1],[56,1],[70,5],[71,5],[263,2],[263,2],[261,6],[261,8],[261,6],[261,8],[274,1],[274,1],[274,1],[274,1],[274,1],[274,1],[274,1],[255,5],[255,6],[255,6],[275,0],[275,4],[275,4],[275,5],[277,3],[278,3],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[200,5],[200,3],[200,4],[200,4],[200,8],[200,8],[200,8],[200,8],[200,3],[151,1],[151,3],[196,1],[257,1],[257,1],[113,1],[113,1],[258,1],[202,2],[259,4],[262,3],[201,2],[201,2],[201,1],[201,1],[260,5],[260,4],[304,2],[304,1],[307,4],[305,2],[305,0],[256,3],[256,3],[256,3],[256,3],[256,5],[256,3],[256,5],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,5],[256,3],[256,3],[256,3],[256,5],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,6],[256,6],[256,3],[256,3],[256,2],[256,2],[256,2],[256,2],[256,2],[256,3],[256,5],[256,6],[256,5],[256,6],[256,4],[256,5],[256,3],[256,4],[256,3],[256,4],[256,3],[256,3],[256,3],[256,3],[256,3],[329,1],[329,1],[329,4],[327,1],[327,1],[327,1],[327,1],[327,1],[327,1],[328,1],[328,1],[328,1],[55,6],[55,4],[147,1],[147,3],[336,3],[336,4],[29,5],[29,3],[36,5],[36,4],[36,7],[36,6],[36,5],[36,4],[36,5],[36,8],[36,7],[36,4],[36,6],[36,7],[341,1],[341,1],[340,0],[340,1],[342,3],[342,1],[342,1],[342,5],[342,3],[342,3],[345,1],[345,3],[346,1],[346,1],[346,1],[346,1],[346,1],[346,1],[100,1],[100,3],[24,9],[24,5],[349,1],[349,1],[352,0],[352,1],[354,2],[354,1],[355,1],[355,3],[355,3],[355,3],[348,0],[348,1],[350,0],[350,3],[351,3],[351,1],[351,2],[359,1],[359,3],[360,2],[360,2],[360,2],[360,2],[360,2],[361,0],[361,2],[366,4],[362,6],[363,9],[377,3],[376,0],[376,2],[378,4],[379,4],[364,6],[365,5],[365,5],[372,1],[372,1],[372,3],[372,3],[358,1],[358,3],[384,3],[384,2],[384,1],[387,6],[387,4],[387,1],[387,4],[272,2],[272,1],[388,1],[388,1],[385,0],[385,1],[391,2],[391,1],[393,3],[392,2],[392,5],[392,3],[392,6],[392,1],[392,2],[392,4],[392,2],[392,1],[392,2],[392,1],[392,1],[392,3],[392,5],[33,4],[399,3],[399,1],[398,0],[398,2],[18,6],[18,6],[18,6],[18,8],[18,6],[39,5],[19,4],[19,7],[19,6],[19,9],[30,3],[21,4],[21,6],[21,9],[21,6],[407,0],[407,2],[54,3],[54,2],[31,4],[31,5],[31,5],[22,8],[22,9],[32,3],[43,2],[43,4],[43,3],[43,5],[45,2],[45,4],[45,4],[45,6],[42,4],[42,6],[44,4],[44,6],[41,4],[41,6],[25,11],[25,8],[413,3],[413,3],[413,5],[34,4],[66,2],[57,2],[58,2],[58,2],[58,4],[144,4],[144,2],[144,2],[144,2],[144,2],[144,1],[144,2],[144,2],[422,1],[422,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,3],[419,3],[419,4],[419,2],[421,2],[421,3],[421,1],[425,3],[425,1],[428,3],[428,3],[428,3],[427,3],[427,1],[65,4],[65,3],[65,4],[65,5],[65,5],[65,6],[431,1],[431,1],[430,3],[430,2],[432,1],[432,1],[432,3],[429,1],[429,1],[51,2],[52,2],[50,2],[35,4],[35,3],[438,2],[59,3],[60,1],[61,1],[62,3],[63,2],[63,2],[64,2],[64,2],[446,1],[446,1],[69,2],[444,3],[444,1],[445,3],[445,1],[28,2],[449,1],[449,3],[450,3],[450,4],[450,5],[450,6],[46,3],[37,6],[453,1],[453,2],[454,2],[455,2],[456,2],[456,2],[456,1],[456,1],[458,4],[458,6],[461,1],[461,3],[459,5],[459,7],[459,7],[459,9],[459,7],[459,9],[462,3],[462,6],[462,3],[462,6],[457,0],[457,2],[457,5],[457,4],[457,7],[27,6],[469,2],[468,0],[468,2],[468,2],[468,1],[26,8],[23,3],[23,4],[473,3],[473,1],[474,3],[474,7],[474,6],[474,3],[474,4],[478,1],[478,1],[482,2],[483,3],[484,2],[485,4],[475,4],[475,3],[475,2],[475,1],[497,2],[493,2],[493,2],[498,4],[500,6],[67,3],[67,2],[506,3],[506,1],[504,1],[504,4],[68,2],[20,2],[48,9],[48,8],[48,9],[510,0],[510,1],[510,1],[510,1],[510,2],[511,1],[511,1],[511,1],[49,3],[38,2],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[11,1],[11,1],[80,0],[80,1],[83,0],[83,1],[90,0],[90,2],[91,0],[91,1],[96,0],[96,1],[97,0],[97,1],[101,0],[101,1],[108,0],[108,1],[121,0],[121,1],[125,1],[125,2],[126,1],[126,2],[127,0],[127,1],[155,0],[155,2],[157,0],[157,2],[159,0],[159,2],[160,1],[160,1],[161,0],[161,2],[165,0],[165,2],[167,0],[167,2],[176,0],[176,2],[177,0],[177,2],[178,0],[178,2],[188,0],[188,1],[197,0],[197,1],[210,0],[210,1],[211,0],[211,1],[219,0],[219,1],[220,0],[220,1],[248,0],[248,1],[250,0],[250,1],[251,0],[251,1],[252,0],[252,1],[264,1],[264,1],[767,1],[767,1],[289,0],[289,1],[301,1],[301,1],[337,1],[337,1],[371,0],[371,1],[375,0],[375,1],[382,0],[382,1],[383,0],[383,1],[394,0],[394,1],[395,0],[395,1],[397,1],[397,1],[411,0],[411,1],[412,0],[412,1],[465,0],[465,1],[466,0],[466,1],[467,0],[467,1],[471,0],[471,1],[476,0],[476,1],[477,0],[477,1],[479,0],[479,1],[480,0],[480,1],[481,0],[481,1],[486,0],[486,1],[487,0],[487,1],[488,0],[488,1],[489,0],[489,1],[490,0],[490,1],[491,0],[491,1],[492,0],[492,1],[494,0],[494,1],[495,0],[495,1],[496,0],[496,1],[499,0],[499,2],[501,0],[501,2],[502,0],[502,2],[503,0],[503,2],[512,0],[512,1],[513,0],[513,1]],
-performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
-/* this == yyval */
-
-var $0 = $$.length - 1;
-switch (yystate) {
-case 1:
-
- if (alasql.options.casesensitive) this.$ = $$[$0];
- else this.$ = $$[$0].toLowerCase();
-
-break;
-case 2:
- this.$ = doubleq($$[$0].substr(1,$$[$0].length-2));
-break;
-case 3:
- this.$ = $$[$0].toLowerCase()
-break;
-case 4:
- this.$ = $$[$0]
-break;
-case 5:
- this.$ = $$[$0] ? $$[$0-1] + ' ' + $$[$0] : $$[$0-1]
-break;
-case 6:
- return new yy.Statements({statements:$$[$0-1]});
-break;
-case 7:
- this.$ = $$[$0-2]; if($$[$0]) $$[$0-2].push($$[$0]);
-break;
-case 8: case 9: case 70: case 80: case 85: case 143: case 177: case 205: case 206: case 242: case 261: case 273: case 354: case 372: case 451: case 474: case 475: case 479: case 487: case 528: case 529: case 566: case 649: case 659: case 683: case 685: case 687: case 701: case 702: case 732: case 756:
- this.$ = [$$[$0]];
-break;
-case 10:
- this.$ = $$[$0]; $$[$0].explain = true;
-break;
-case 11:
- this.$ = $$[$0]; $$[$0].explain = true;
-break;
-case 12:
-
- this.$ = $$[$0];
-
- // TODO combine exists and queries
- if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
-
-break;
-case 13: case 162: case 172: case 237: case 238: case 240: case 248: case 250: case 259: case 267: case 270: case 375: case 491: case 501: case 503: case 515: case 521: case 522: case 567:
- this.$ = undefined;
-break;
-case 68:
- this.$ = new yy.WithSelect({withs: $$[$0-1], select:$$[$0]});
-break;
-case 69: case 565:
- $$[$0-2].push($$[$0]); this.$=$$[$0-2];
-break;
-case 71:
- this.$ = {name:$$[$0-4], select:$$[$0-1]};
-break;
-case 72:
-
- yy.extend(this.$,$$[$0-9]); yy.extend(this.$,$$[$0-8]); yy.extend(this.$,$$[$0-7]); yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-5]); yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
- this.$ = $$[$0-9];
-/* if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
-*/
-break;
-case 73:
-
- this.$ = new yy.Search({selectors:$$[$0-2], from:$$[$0]});
- yy.extend(this.$,$$[$0-1]);
-
-break;
-case 74:
- this.$ = {pivot:{expr:$$[$0-5], columnid:$$[$0-3], inlist:$$[$0-2], as:$$[$0]}};
-break;
-case 75:
- this.$ = {unpivot:{tocolumnid:$$[$0-8], forcolumnid:$$[$0-6], inlist:$$[$0-3], as:$$[$0]}};
-break;
-case 76: case 520: case 549: case 585: case 619: case 636: case 637: case 640: case 662:
- this.$ = $$[$0-1];
-break;
-case 77: case 78: case 86: case 147: case 185: case 247: case 280: case 288: case 289: case 290: case 291: case 292: case 293: case 294: case 295: case 296: case 297: case 298: case 299: case 300: case 301: case 304: case 305: case 320: case 321: case 322: case 323: case 324: case 325: case 374: case 440: case 441: case 442: case 443: case 444: case 445: case 516: case 542: case 546: case 548: case 623: case 624: case 625: case 626: case 627: case 628: case 632: case 634: case 635: case 644: case 660: case 661: case 723: case 738: case 739: case 741: case 742: case 748: case 749:
- this.$ = $$[$0];
-break;
-case 79: case 84: case 731: case 755:
- this.$ = $$[$0-2]; this.$.push($$[$0]);
-break;
-case 81:
- this.$ = {expr:$$[$0]};
-break;
-case 82:
- this.$ = {expr:$$[$0-2],as:$$[$0]};
-break;
-case 83:
- this.$ = {removecolumns:$$[$0]};
-break;
-case 87:
- this.$ = {like:$$[$0]};
-break;
-case 90: case 104:
- this.$ = {srchid:"PROP", args: [$$[$0]]};
-break;
-case 91:
- this.$ = {srchid:"ORDERBY", args: $$[$0-1]};
-break;
-case 92:
-
- var dir = $$[$0-1];
- if(!dir) dir = 'ASC';
- this.$ = {srchid:"ORDERBY", args: [{expression: new yy.Column({columnid:'_'}), direction:dir}]};
-
-break;
-case 93:
- this.$ = {srchid:"PARENT"};
-break;
-case 94:
- this.$ = {srchid:"APROP", args: [$$[$0]]};
-break;
-case 95:
- this.$ = {selid:"ROOT"};
-break;
-case 96:
- this.$ = {srchid:"EQ", args: [$$[$0]]};
-break;
-case 97:
- this.$ = {srchid:"LIKE", args: [$$[$0]]};
-break;
-case 98: case 99:
- this.$ = {selid:"WITH", args: $$[$0-1]};
-break;
-case 100:
- this.$ = {srchid:$$[$0-3].toUpperCase(), args:$$[$0-1]};
-break;
-case 101:
- this.$ = {srchid:"WHERE", args:[$$[$0-1]]};
-break;
-case 102:
- this.$ = {selid:"OF", args:[$$[$0-1]]};
-break;
-case 103:
- this.$ = {srchid:"CLASS", args:[$$[$0-1]]};
-break;
-case 105:
- this.$ = {srchid:"NAME", args: [$$[$0].substr(1,$$[$0].length-2)]};
-break;
-case 106:
- this.$ = {srchid:"CHILD"};
-break;
-case 107:
- this.$ = {srchid:"VERTEX"};
-break;
-case 108:
- this.$ = {srchid:"EDGE"};
-break;
-case 109:
- this.$ = {srchid:"REF"};
-break;
-case 110:
- this.$ = {srchid:"SHARP", args:[$$[$0]]};
-break;
-case 111:
- this.$ = {srchid:"ATTR", args:((typeof $$[$0] == 'undefined')?undefined:[$$[$0]])};
-break;
-case 112:
- this.$ = {srchid:"ATTR"};
-break;
-case 113:
- this.$ = {srchid:"OUT"};
-break;
-case 114:
- this.$ = {srchid:"IN"};
-break;
-case 115:
- this.$ = {srchid:"OUTOUT"};
-break;
-case 116:
- this.$ = {srchid:"ININ"};
-break;
-case 117:
- this.$ = {srchid:"CONTENT"};
-break;
-case 118:
- this.$ = {srchid:"EX",args:[new yy.Json({value:$$[$0]})]};
-break;
-case 119:
- this.$ = {srchid:"AT", args:[$$[$0]]};
-break;
-case 120:
- this.$ = {srchid:"AS", args:[$$[$0]]};
-break;
-case 121:
- this.$ = {srchid:"SET", args:$$[$0-1]};
-break;
-case 122:
- this.$ = {selid:"TO", args:[$$[$0]]};
-break;
-case 123:
- this.$ = {srchid:"VALUE"};
-break;
-case 124:
- this.$ = {srchid:"ROW", args:$$[$0-1]};
-break;
-case 125:
- this.$ = {srchid:"CLASS", args:[$$[$0]]};
-break;
-case 126:
- this.$ = {selid:$$[$0],args:[$$[$0-1]] };
-break;
-case 127:
- this.$ = {selid:"NOT",args:$$[$0-1] };
-break;
-case 128:
- this.$ = {selid:"IF",args:$$[$0-1] };
-break;
-case 129:
- this.$ = {selid:$$[$0-3],args:$$[$0-1] };
-break;
-case 130:
- this.$ = {selid:'DISTINCT',args:$$[$0-1] };
-break;
-case 131:
- this.$ = {selid:'UNION',args:$$[$0-1] };
-break;
-case 132:
- this.$ = {selid:'UNIONALL',args:$$[$0-1] };
-break;
-case 133:
- this.$ = {selid:'ALL',args:[$$[$0-1]] };
-break;
-case 134:
- this.$ = {selid:'ANY',args:[$$[$0-1]] };
-break;
-case 135:
- this.$ = {selid:'INTERSECT',args:$$[$0-1] };
-break;
-case 136:
- this.$ = {selid:'EXCEPT',args:$$[$0-1] };
-break;
-case 137:
- this.$ = {selid:'AND',args:$$[$0-1] };
-break;
-case 138:
- this.$ = {selid:'OR',args:$$[$0-1] };
-break;
-case 139:
- this.$ = {selid:'PATH',args:[$$[$0-1]] };
-break;
-case 140:
- this.$ = {srchid:'RETURN',args:$$[$0-1] };
-break;
-case 141:
- this.$ = {selid:'REPEAT',sels:$$[$0-3], args:$$[$0-1] };
-break;
-case 142:
- this.$ = $$[$0-2]; this.$.push($$[$0]);
-break;
-case 144:
- this.$ = "PLUS";
-break;
-case 145:
- this.$ = "STAR";
-break;
-case 146:
- this.$ = "QUESTION";
-break;
-case 148:
- this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy.extend(this.$, $$[$0-3]); yy.extend(this.$, $$[$0-1]);
-break;
-case 149:
- this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy.extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]);
-break;
-case 150:
- this.$ = new yy.Select({ columns:$$[$0], all:true }); yy.extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]);
-break;
-case 151:
-
- if(!$$[$0]) {
- this.$ = new yy.Select({columns:[new yy.Column({columnid:'_',})], modifier:'COLUMN'});
- } else {
- this.$ = new yy.Select({ columns:$$[$0] }); yy.extend(this.$, $$[$0-2]);yy.extend(this.$, $$[$0-1]);
- }
-
-break;
-case 152:
- if($$[$0]=='SELECT') this.$ = undefined; else this.$ = {modifier: $$[$0]};
-break;
-case 153:
- this.$ = {modifier:'VALUE'}
-break;
-case 154:
- this.$ = {modifier:'ROW'}
-break;
-case 155:
- this.$ = {modifier:'COLUMN'}
-break;
-case 156:
- this.$ = {modifier:'MATRIX'}
-break;
-case 157:
- this.$ = {modifier:'TEXTSTRING'}
-break;
-case 158:
- this.$ = {modifier:'INDEX'}
-break;
-case 159:
- this.$ = {modifier:'RECORDSET'}
-break;
-case 160:
- this.$ = {top: $$[$0-1], percent:(typeof $$[$0] != 'undefined'?true:undefined)};
-break;
-case 161:
- this.$ = {top: $$[$0-1]};
-break;
-case 163: case 330: case 523: case 524: case 724:
-this.$ = undefined;
-break;
-case 164: case 165: case 166: case 167:
-this.$ = {into: $$[$0]}
-break;
-case 168:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- if(s[0] == '#') {
- this.$ = {into: new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- this.$ = {into: new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x4=='XLSX' || x4 == 'JSON') {
- this.$ = {into: new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- }
-
-break;
-case 169:
- this.$ = { from: $$[$0] };
-break;
-case 170:
- this.$ = { from: $$[$0-1], joins: $$[$0] };
-break;
-case 171:
- this.$ = { from: $$[$0-2], joins: $$[$0-1] };
-break;
-case 173:
- this.$ = new yy.Apply({select: $$[$0-2], applymode:'CROSS', as:$$[$0]});
-break;
-case 174:
- this.$ = new yy.Apply({select: $$[$0-3], applymode:'CROSS', as:$$[$0]});
-break;
-case 175:
- this.$ = new yy.Apply({select: $$[$0-2], applymode:'OUTER', as:$$[$0]});
-break;
-case 176:
- this.$ = new yy.Apply({select: $$[$0-3], applymode:'OUTER', as:$$[$0]});
-break;
-case 178: case 243: case 452: case 530: case 531:
- this.$ = $$[$0-2]; $$[$0-2].push($$[$0]);
-break;
-case 179:
- this.$ = $$[$0-2]; this.$.as = $$[$0]
-break;
-case 180:
- this.$ = $$[$0-3]; this.$.as = $$[$0]
-break;
-case 181:
- this.$ = $$[$0-1]; this.$.as = 'default'
-break;
-case 182:
- this.$ = new yy.Json({value:$$[$0-2]}); $$[$0-2].as = $$[$0]
-break;
-case 183:
- this.$ = $$[$0-1]; $$[$0-1].as = $$[$0]
-break;
-case 184:
- this.$ = $$[$0-2]; $$[$0-2].as = $$[$0]
-break;
-case 186: case 638: case 641:
- this.$ = $$[$0-2];
-break;
-case 187: case 191: case 195: case 198:
- this.$ = $$[$0-1]; $$[$0-1].as = $$[$0];
-break;
-case 188: case 192: case 196: case 199:
- this.$ = $$[$0-2]; $$[$0-2].as = $$[$0];
-break;
-case 189: case 190: case 194: case 197:
- this.$ = $$[$0]; $$[$0].as = 'default';
-break;
-case 193:
- this.$ = {inserted:true}; /*$$[$0].as = 'default'*/;
-break;
-case 200:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- var r;
- if(s[0] == '#') {
- r = new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- r = new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x4=='XLSX' || x4 == 'JSON') {
- r = new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else {
- throw new Error('Unknown string in FROM clause');
- };
- this.$ = r;
-
-break;
-case 201:
-
- if($$[$0-2] == 'INFORMATION_SCHEMA') {
- this.$ = new yy.FuncValue({funcid: $$[$0-2], args:[new yy.StringValue({value:$$[$0]})]});
- } else {
- this.$ = new yy.Table({databaseid: $$[$0-2], tableid:$$[$0]});
- }
-
-break;
-case 202:
- this.$ = new yy.Table({tableid: $$[$0]});
-break;
-case 203: case 204:
- this.$ = $$[$0-1]; $$[$0-1].push($$[$0]);
-break;
-case 207:
- this.$ = new yy.Join($$[$0-2]); yy.extend(this.$, $$[$0-1]); yy.extend(this.$, $$[$0]);
-break;
-case 208:
- this.$ = {table: $$[$0]};
-break;
-case 209:
- this.$ = {table: $$[$0-1], as: $$[$0] } ;
-break;
-case 210:
- this.$ = {table: $$[$0-2], as: $$[$0] } ;
-break;
-case 211:
- this.$ = {json:new yy.Json({value:$$[$0-2],as:$$[$0]})};
-break;
-case 212:
- this.$ = {param: $$[$0-1], as: $$[$0] } ;
-break;
-case 213:
- this.$ = {param: $$[$0-2], as: $$[$0] } ;
-break;
-case 214:
- this.$ = {select: $$[$0-2], as: $$[$0]} ;
-break;
-case 215:
- this.$ = {select: $$[$0-3], as: $$[$0] } ;
-break;
-case 216:
- this.$ = {funcid:$$[$0], as:'default'};
-break;
-case 217:
- this.$ = {funcid:$$[$0-1], as: $$[$0]};
-break;
-case 218:
- this.$ = {funcid:$$[$0-2], as: $$[$0]};
-break;
-case 219:
- this.$ = {variable:$$[$0],as:'default'};
-break;
-case 220:
- this.$ = {variable:$$[$0-1],as:$$[$0]};
-break;
-case 221:
- this.$ = {variable:$$[$0-2],as:$$[$0]}
-break;
-case 222:
- this.$ = { joinmode: $$[$0] } ;
-break;
-case 223:
- this.$ = {joinmode: $$[$0-1], natural:true} ;
-break;
-case 224: case 225:
- this.$ = "INNER";
-break;
-case 226: case 227:
- this.$ = "LEFT";
-break;
-case 228: case 229:
- this.$ = "RIGHT";
-break;
-case 230: case 231:
- this.$ = "OUTER";
-break;
-case 232:
- this.$ = "SEMI";
-break;
-case 233:
- this.$ = "ANTI";
-break;
-case 234:
- this.$ = "CROSS";
-break;
-case 235:
- this.$ = {on: $$[$0]};
-break;
-case 236: case 697:
- this.$ = {using: $$[$0]};
-break;
-case 239:
- this.$ = {where: new yy.Expression({expression:$$[$0]})};
-break;
-case 241:
- this.$ = {group:$$[$0-1]}; yy.extend(this.$,$$[$0]);
-break;
-case 244:
- this.$ = new yy.GroupExpression({type:'GROUPING SETS', group: $$[$0-1]});
-break;
-case 245:
- this.$ = new yy.GroupExpression({type:'ROLLUP', group: $$[$0-1]});
-break;
-case 246:
- this.$ = new yy.GroupExpression({type:'CUBE', group: $$[$0-1]});
-break;
-case 249:
- this.$ = {having:$$[$0]}
-break;
-case 251:
- this.$ = {union: $$[$0]} ;
-break;
-case 252:
- this.$ = {unionall: $$[$0]} ;
-break;
-case 253:
- this.$ = {except: $$[$0]} ;
-break;
-case 254:
- this.$ = {intersect: $$[$0]} ;
-break;
-case 255:
- this.$ = {union: $$[$0], corresponding:true} ;
-break;
-case 256:
- this.$ = {unionall: $$[$0], corresponding:true} ;
-break;
-case 257:
- this.$ = {except: $$[$0], corresponding:true} ;
-break;
-case 258:
- this.$ = {intersect: $$[$0], corresponding:true} ;
-break;
-case 260:
- this.$ = {order:$$[$0]}
-break;
-case 262:
- this.$ = $$[$0-2]; $$[$0-2].push($$[$0])
-break;
-case 263:
- this.$ = new yy.Expression({expression: $$[$0], direction:'ASC'})
-break;
-case 264:
- this.$ = new yy.Expression({expression: $$[$0-1], direction:$$[$0].toUpperCase()})
-break;
-case 265:
- this.$ = new yy.Expression({expression: $$[$0-2], direction:'ASC', nocase:true})
-break;
-case 266:
- this.$ = new yy.Expression({expression: $$[$0-3], direction:$$[$0].toUpperCase(), nocase:true})
-break;
-case 268:
- this.$ = {limit:$$[$0-1]}; yy.extend(this.$, $$[$0]);
-break;
-case 269:
- this.$ = {limit:$$[$0-2],offset:$$[$0-6]};
-break;
-case 271:
- this.$ = {offset:$$[$0]};
-break;
-case 272: case 509: case 533: case 648: case 658: case 682: case 684: case 688:
- $$[$0-2].push($$[$0]); this.$ = $$[$0-2];
-break;
-case 274: case 276: case 278:
- $$[$0-2].as = $$[$0]; this.$ = $$[$0-2];
-break;
-case 275: case 277: case 279:
- $$[$0-1].as = $$[$0]; this.$ = $$[$0-1];
-break;
-case 281:
- this.$ = new yy.Column({columid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]});
-break;
-case 282:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]});
-break;
-case 283:
- this.$ = new yy.Column({columnid:$$[$0]});
-break;
-case 284:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]});
-break;
-case 285: case 286:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]});
-break;
-case 287:
- this.$ = new yy.Column({columnid: $$[$0]});
-break;
-case 302:
- this.$ = new yy.DomainValueValue();
-break;
-case 303:
- this.$ = new yy.Json({value:$$[$0]});
-break;
-case 306: case 307: case 308:
-
- if(!yy.queries) yy.queries = [];
- yy.queries.push($$[$0-1]);
- $$[$0-1].queriesidx = yy.queries.length;
- this.$ = $$[$0-1];
-
-break;
-case 309:
-this.$ = $$[$0]
-break;
-case 310:
- this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});
-break;
-case 311:
- this.$ = new yy.JavaScript({value:$$[$0].substr(2,$$[$0].length-4)});
-break;
-case 312:
- this.$ = new yy.JavaScript({value:'alasql.fn["'+$$[$0-2]+'"] = '+$$[$0].substr(2,$$[$0].length-4)});
-break;
-case 313:
- this.$ = new yy.JavaScript({value:'alasql.aggr["'+$$[$0-2]+'"] = '+$$[$0].substr(2,$$[$0].length-4)});
-break;
-case 314:
- this.$ = new yy.FuncValue({funcid:$$[$0], newid:true});
-break;
-case 315:
- this.$ = $$[$0]; yy.extend(this.$,{newid:true});
-break;
-case 316:
- this.$ = new yy.Convert({expression:$$[$0-3]}) ; yy.extend(this.$,$$[$0-1]) ;
-break;
-case 317:
- this.$ = new yy.Convert({expression:$$[$0-5], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ;
-break;
-case 318:
- this.$ = new yy.Convert({expression:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ;
-break;
-case 319:
- this.$ = new yy.Convert({expression:$$[$0-3], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-5]) ;
-break;
-case 326:
- this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});
-break;
-case 327:
-
- if($$[$0-2].length > 1 && ($$[$0-4].toUpperCase() == 'MAX' || $$[$0-4].toUpperCase() == 'MIN')) {
- this.$ = new yy.FuncValue({funcid:$$[$0-4],args:$$[$0-2]});
- } else {
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-4].toUpperCase(), expression: $$[$0-2].pop(), over:$$[$0]});
- }
-
-break;
-case 328:
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2], distinct:true, over:$$[$0]});
-break;
-case 329:
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2],
- over:$$[$0]});
-break;
-case 331: case 332:
- this.$ = new yy.Over(); yy.extend(this.$,$$[$0-1]);
-break;
-case 333:
- this.$ = new yy.Over(); yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]);
-break;
-case 334:
- this.$ = {partition:$$[$0]};
-break;
-case 335:
- this.$ = {order:$$[$0]};
-break;
-case 336:
- this.$ = "SUM";
-break;
-case 337:
- this.$ = "COUNT";
-break;
-case 338:
- this.$ = "MIN";
-break;
-case 339: case 544:
- this.$ = "MAX";
-break;
-case 340:
- this.$ = "AVG";
-break;
-case 341:
- this.$ = "FIRST";
-break;
-case 342:
- this.$ = "LAST";
-break;
-case 343:
- this.$ = "AGGR";
-break;
-case 344:
- this.$ = "ARRAY";
-break;
-case 345:
-
- var funcid = $$[$0-4];
- var exprlist = $$[$0-1];
- if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- } else if(alasql.aggr[$$[$0-4]]) {
- this.$ = new yy.AggrValue({aggregatorid: 'REDUCE',
- funcid: funcid, expression: exprlist.pop(),distinct:($$[$0-2]=='DISTINCT') });
- } else {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- };
-
-break;
-case 346:
- this.$ = new yy.FuncValue({ funcid: $$[$0-2] })
-break;
-case 347:
- this.$ = new yy.FuncValue({ funcid: 'IIF', args:$$[$0-1] })
-break;
-case 348:
- this.$ = new yy.FuncValue({ funcid: 'REPLACE', args:$$[$0-1] })
-break;
-case 349:
- this.$ = new yy.FuncValue({ funcid: 'DATEADD', args:[new yy.StringValue({value:$$[$0-5]}),$$[$0-3],$$[$0-1]]})
-break;
-case 350:
- this.$ = new yy.FuncValue({ funcid: 'DATEADD', args:[$$[$0-5],$$[$0-3],$$[$0-1]]})
-break;
-case 351:
- this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args:[new yy.StringValue({value:$$[$0-5]}),$$[$0-3],$$[$0-1]]})
-break;
-case 352:
- this.$ = new yy.FuncValue({ funcid: 'DATEDIFF', args:[$$[$0-5],$$[$0-3],$$[$0-1]]})
-break;
-case 353:
- this.$ = new yy.FuncValue({ funcid: 'INTERVAL', args:[$$[$0-1],new yy.StringValue({value:($$[$0]).toLowerCase()})]});
-break;
-case 355:
- $$[$0-2].push($$[$0]); this.$ = $$[$0-2]
-break;
-case 356:
- this.$ = new yy.NumValue({value:+$$[$0]});
-break;
-case 357:
- this.$ = new yy.LogicValue({value:true});
-break;
-case 358:
- this.$ = new yy.LogicValue({value:false});
-break;
-case 359:
- this.$ = new yy.StringValue({value: $$[$0].substr(1,$$[$0].length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});
-break;
-case 360:
- this.$ = new yy.StringValue({value: $$[$0].substr(2,$$[$0].length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});
-break;
-case 361:
- this.$ = new yy.NullValue({value:undefined});
-break;
-case 362:
- this.$ = new yy.VarValue({variable:$$[$0]});
-break;
-case 363:
-
- if(!yy.exists) yy.exists = [];
- this.$ = new yy.ExistsValue({value:$$[$0-1], existsidx:yy.exists.length});
- yy.exists.push($$[$0-1]);
-
-break;
-case 364:
- this.$ = new yy.ArrayValue({value:$$[$0-1]});
-break;
-case 365: case 366:
- this.$ = new yy.ParamValue({param: $$[$0]});
-break;
-case 367:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++});
-
-break;
-case 368:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++, array:true});
-
-break;
-case 369:
- this.$ = new yy.CaseValue({expression:$$[$0-3], whens: $$[$0-2], elses: $$[$0-1]});
-break;
-case 370:
- this.$ = new yy.CaseValue({whens: $$[$0-2], elses: $$[$0-1]});
-break;
-case 371: case 699: case 700:
- this.$ = $$[$0-1]; this.$.push($$[$0]);
-break;
-case 373:
- this.$ = {when: $$[$0-2], then: $$[$0] };
-break;
-case 376: case 377:
- this.$ = new yy.Op({left:$$[$0-2], op:'REGEXP', right:$$[$0]});
-break;
-case 378:
- this.$ = new yy.Op({left:$$[$0-2], op:'GLOB', right:$$[$0]});
-break;
-case 379:
- this.$ = new yy.Op({left:$$[$0-2], op:'LIKE', right:$$[$0]});
-break;
-case 380:
- this.$ = new yy.Op({left:$$[$0-4], op:'LIKE', right:$$[$0-2], escape:$$[$0]});
-break;
-case 381:
- this.$ = new yy.Op({left:$$[$0-2], op:'NOT LIKE', right:$$[$0] });
-break;
-case 382:
- this.$ = new yy.Op({left:$$[$0-4], op:'NOT LIKE', right:$$[$0-2], escape:$$[$0] });
-break;
-case 383:
- this.$ = new yy.Op({left:$$[$0-2], op:'||', right:$$[$0]});
-break;
-case 384:
- this.$ = new yy.Op({left:$$[$0-2], op:'+', right:$$[$0]});
-break;
-case 385:
- this.$ = new yy.Op({left:$$[$0-2], op:'-', right:$$[$0]});
-break;
-case 386:
- this.$ = new yy.Op({left:$$[$0-2], op:'*', right:$$[$0]});
-break;
-case 387:
- this.$ = new yy.Op({left:$$[$0-2], op:'/', right:$$[$0]});
-break;
-case 388:
- this.$ = new yy.Op({left:$$[$0-2], op:'%', right:$$[$0]});
-break;
-case 389:
- this.$ = new yy.Op({left:$$[$0-2], op:'^', right:$$[$0]});
-break;
-case 390:
- this.$ = new yy.Op({left:$$[$0-2], op:'>>', right:$$[$0]});
-break;
-case 391:
- this.$ = new yy.Op({left:$$[$0-2], op:'<<', right:$$[$0]});
-break;
-case 392:
- this.$ = new yy.Op({left:$$[$0-2], op:'&', right:$$[$0]});
-break;
-case 393:
- this.$ = new yy.Op({left:$$[$0-2], op:'|', right:$$[$0]});
-break;
-case 394: case 395: case 397:
- this.$ = new yy.Op({left:$$[$0-2], op:'->' , right:$$[$0]});
-break;
-case 396:
- this.$ = new yy.Op({left:$$[$0-4], op:'->' , right:$$[$0-1]});
-break;
-case 398: case 399: case 401:
- this.$ = new yy.Op({left:$$[$0-2], op:'!' , right:$$[$0]});
-break;
-case 400:
- this.$ = new yy.Op({left:$$[$0-4], op:'!' , right:$$[$0-1]});
-break;
-case 402:
- this.$ = new yy.Op({left:$$[$0-2], op:'>' , right:$$[$0]});
-break;
-case 403:
- this.$ = new yy.Op({left:$$[$0-2], op:'>=' , right:$$[$0]});
-break;
-case 404:
- this.$ = new yy.Op({left:$$[$0-2], op:'<' , right:$$[$0]});
-break;
-case 405:
- this.$ = new yy.Op({left:$$[$0-2], op:'<=' , right:$$[$0]});
-break;
-case 406:
- this.$ = new yy.Op({left:$$[$0-2], op:'=' , right:$$[$0]});
-break;
-case 407:
- this.$ = new yy.Op({left:$$[$0-2], op:'==' , right:$$[$0]});
-break;
-case 408:
- this.$ = new yy.Op({left:$$[$0-2], op:'===' , right:$$[$0]});
-break;
-case 409:
- this.$ = new yy.Op({left:$$[$0-2], op:'!=' , right:$$[$0]});
-break;
-case 410:
- this.$ = new yy.Op({left:$$[$0-2], op:'!==' , right:$$[$0]});
-break;
-case 411:
- this.$ = new yy.Op({left:$$[$0-2], op:'!===' , right:$$[$0]});
-break;
-case 412:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 413:
-
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1]});
-
-break;
-case 414:
-
- if($$[$0-2].op == 'BETWEEN1') {
-
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
-
- } else if($$[$0-2].op == 'NOT BETWEEN1') {
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
- } else {
- this.$ = new yy.Op({left:$$[$0-2], op:'AND', right:$$[$0]});
- }
-
-break;
-case 415:
- this.$ = new yy.Op({left:$$[$0-2], op:'OR' , right:$$[$0]});
-break;
-case 416:
- this.$ = new yy.UniOp({op:'NOT' , right:$$[$0]});
-break;
-case 417:
- this.$ = new yy.UniOp({op:'-' , right:$$[$0]});
-break;
-case 418:
- this.$ = new yy.UniOp({op:'+' , right:$$[$0]});
-break;
-case 419:
- this.$ = new yy.UniOp({op:'~' , right:$$[$0]});
-break;
-case 420:
- this.$ = new yy.UniOp({op:'#' , right:$$[$0]});
-break;
-case 421:
- this.$ = new yy.UniOp({right: $$[$0-1]});
-break;
-case 422:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 423:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 424:
- this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1]});
-break;
-case 425:
- this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1]});
-break;
-case 426:
- this.$ = new yy.Op({left: $$[$0-3], op:'IN', right:[]});
-break;
-case 427:
- this.$ = new yy.Op({left: $$[$0-4], op:'NOT IN', right:[]});
-break;
-case 428: case 430:
- this.$ = new yy.Op({left: $$[$0-2], op:'IN', right:$$[$0]});
-break;
-case 429: case 431:
- this.$ = new yy.Op({left: $$[$0-3], op:'NOT IN', right:$$[$0]});
-break;
-case 432:
-
-/* var expr = $$[$0];
- if(expr.left && expr.left.op == 'AND') {
- this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
- } else {
-*/
- this.$ = new yy.Op({left:$$[$0-2], op:'BETWEEN1', right:$$[$0] });
-
-break;
-case 433:
-
- this.$ = new yy.Op({left:$$[$0-2], op:'NOT BETWEEN1', right:$$[$0] });
-
-break;
-case 434:
- this.$ = new yy.Op({op:'IS' , left:$$[$0-2], right:$$[$0]});
-break;
-case 435:
-
- this.$ = new yy.Op({
- op:'IS',
- left:$$[$0-2],
- right: new yy.UniOp({
- op:'NOT',
- right:new yy.NullValue({value:undefined})
- })
- });
-
-break;
-case 436:
- this.$ = new yy.Convert({expression:$$[$0-2]}) ; yy.extend(this.$,$$[$0]) ;
-break;
-case 437: case 438:
- this.$ = $$[$0];
-break;
-case 439:
- this.$ = $$[$0-1];
-break;
-case 446:
- this.$ = 'ALL';
-break;
-case 447:
- this.$ = 'SOME';
-break;
-case 448:
- this.$ = 'ANY';
-break;
-case 449:
- this.$ = new yy.Update({table:$$[$0-4], columns:$$[$0-2], where:$$[$0]});
-break;
-case 450:
- this.$ = new yy.Update({table:$$[$0-2], columns:$$[$0]});
-break;
-case 453:
- this.$ = new yy.SetColumn({column:$$[$0-2], expression:$$[$0]})
-break;
-case 454:
- this.$ = new yy.SetColumn({variable:$$[$0-2], expression:$$[$0], method:$$[$0-3]})
-break;
-case 455:
- this.$ = new yy.Delete({table:$$[$0-2], where:$$[$0]});
-break;
-case 456:
- this.$ = new yy.Delete({table:$$[$0]});
-break;
-case 457:
- this.$ = new yy.Insert({into:$$[$0-2], values: $$[$0]});
-break;
-case 458:
- this.$ = new yy.Insert({into:$$[$0-1], values: $$[$0]});
-break;
-case 459: case 461:
- this.$ = new yy.Insert({into:$$[$0-2], values: $$[$0], orreplace:true});
-break;
-case 460: case 462:
- this.$ = new yy.Insert({into:$$[$0-1], values: $$[$0], orreplace:true});
-break;
-case 463:
- this.$ = new yy.Insert({into:$$[$0-2], "default": true}) ;
-break;
-case 464:
- this.$ = new yy.Insert({into:$$[$0-5], columns: $$[$0-3], values: $$[$0]});
-break;
-case 465:
- this.$ = new yy.Insert({into:$$[$0-4], columns: $$[$0-2], values: $$[$0]});
-break;
-case 466:
- this.$ = new yy.Insert({into:$$[$0-1], select: $$[$0]});
-break;
-case 467:
- this.$ = new yy.Insert({into:$$[$0-1], select: $$[$0], orreplace:true});
-break;
-case 468:
- this.$ = new yy.Insert({into:$$[$0-4], columns: $$[$0-2], select: $$[$0]});
-break;
-case 473:
- this.$ = [$$[$0-1]];
-break;
-case 476:
-this.$ = $$[$0-4]; $$[$0-4].push($$[$0-1])
-break;
-case 477: case 478: case 480: case 488:
-this.$ = $$[$0-2]; $$[$0-2].push($$[$0])
-break;
-case 489:
-
- this.$ = new yy.CreateTable({table:$$[$0-4]});
- yy.extend(this.$,$$[$0-7]);
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-5]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0]);
-
-break;
-case 490:
-
- this.$ = new yy.CreateTable({table:$$[$0]});
- yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0-1]);
-
-break;
-case 492:
- this.$ = {"class":true};
-break;
-case 502:
- this.$ = {temporary:true};
-break;
-case 504:
- this.$ = {ifnotexists: true};
-break;
-case 505:
- this.$ = {columns: $$[$0-2], constraints: $$[$0]};
-break;
-case 506:
- this.$ = {columns: $$[$0]};
-break;
-case 507:
- this.$ = {as: $$[$0]}
-break;
-case 508: case 532:
- this.$ = [$$[$0]];
-break;
-case 510: case 511: case 512: case 513: case 514:
- $$[$0].constraintid = $$[$0-1]; this.$ = $$[$0];
-break;
-case 517:
- this.$ = {type: 'CHECK', expression: $$[$0-1]};
-break;
-case 518:
- this.$ = {type: 'PRIMARY KEY', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
-break;
-case 519:
- this.$ = {type: 'FOREIGN KEY', columns: $$[$0-5], fktable: $$[$0-2], fkcolumns: $$[$0-1]};
-break;
-case 525:
-
- this.$ = {type: 'UNIQUE', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
-
-break;
-case 534:
- this.$ = new yy.ColumnDef({columnid:$$[$0-2]}); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
-break;
-case 535:
- this.$ = new yy.ColumnDef({columnid:$$[$0-1]}); yy.extend(this.$,$$[$0]);
-break;
-case 536:
- this.$ = new yy.ColumnDef({columnid:$$[$0], dbtypeid: ''});
-break;
-case 537:
- this.$ = {dbtypeid: $$[$0-5], dbsize: $$[$0-3], dbprecision: +$$[$0-1]}
-break;
-case 538:
- this.$ = {dbtypeid: $$[$0-3], dbsize: $$[$0-1]}
-break;
-case 539:
- this.$ = {dbtypeid: $$[$0]}
-break;
-case 540:
- this.$ = {dbtypeid: 'ENUM', enumvalues: $$[$0-1]}
-break;
-case 541:
- this.$ = $$[$0-1]; $$[$0-1].dbtypeid += '[' + $$[$0] + ']';
-break;
-case 543: case 750:
- this.$ = +$$[$0];
-break;
-case 545:
-this.$ = undefined
-break;
-case 547:
-
- yy.extend($$[$0-1],$$[$0]); this.$ = $$[$0-1];
-
-break;
-case 550:
-this.$ = {primarykey:true};
-break;
-case 551: case 552:
-this.$ = {foreignkey:{table:$$[$0-1], columnid: $$[$0]}};
-break;
-case 553:
- this.$ = {identity: {value:$$[$0-3],step:$$[$0-1]}}
-break;
-case 554:
- this.$ = {identity: {value:1,step:1}}
-break;
-case 555: case 557:
-this.$ = {"default":$$[$0]};
-break;
-case 556:
-this.$ = {"default":$$[$0-1]};
-break;
-case 558:
-this.$ = {"null":true};
-break;
-case 559:
-this.$ = {notnull:true};
-break;
-case 560:
-this.$ = {check:$$[$0]};
-break;
-case 561:
-this.$ = {unique:true};
-break;
-case 562:
-this.$ = {"onupdate":$$[$0]};
-break;
-case 563:
-this.$ = {"onupdate":$$[$0-1]};
-break;
-case 564:
- this.$ = new yy.DropTable({tables:$$[$0],type:$$[$0-2]}); yy.extend(this.$, $$[$0-1]);
-break;
-case 568:
- this.$ = {ifexists: true};
-break;
-case 569:
- this.$ = new yy.AlterTable({table:$$[$0-3], renameto: $$[$0]});
-break;
-case 570:
- this.$ = new yy.AlterTable({table:$$[$0-3], addcolumn: $$[$0]});
-break;
-case 571:
- this.$ = new yy.AlterTable({table:$$[$0-3], modifycolumn: $$[$0]});
-break;
-case 572:
- this.$ = new yy.AlterTable({table:$$[$0-5], renamecolumn: $$[$0-2], to: $$[$0]});
-break;
-case 573:
- this.$ = new yy.AlterTable({table:$$[$0-3], dropcolumn: $$[$0]});
-break;
-case 574:
- this.$ = new yy.AlterTable({table:$$[$0-2], renameto: $$[$0]});
-break;
-case 575:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0], engineid:$$[$0-2].toUpperCase() });
-break;
-case 576:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-3], engineid:$$[$0-5].toUpperCase(), args:$$[$0-1] });
-break;
-case 577:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-2], engineid:$$[$0-4].toUpperCase(), as:$$[$0] });
-break;
-case 578:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-5], engineid:$$[$0-7].toUpperCase(), as:$$[$0], args:$$[$0-3]});
-break;
-case 579:
- this.$ = new yy.DetachDatabase({databaseid:$$[$0]});
-break;
-case 580:
- this.$ = new yy.CreateDatabase({databaseid:$$[$0] }); yy.extend(this.$,$$[$0]);
-break;
-case 581:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(), databaseid:$$[$0-1], as:$$[$0] }); yy.extend(this.$,$$[$0-2]);
-break;
-case 582:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-7].toUpperCase(), databaseid:$$[$0-4], args:$$[$0-2], as:$$[$0] }); yy.extend(this.$,$$[$0-5]);
-break;
-case 583:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),
- as:$$[$0], args:[$$[$0-1]] }); yy.extend(this.$,$$[$0-2]);
-break;
-case 584:
-this.$ = undefined;
-break;
-case 586: case 587:
- this.$ = new yy.UseDatabase({databaseid: $$[$0] });
-break;
-case 588:
- this.$ = new yy.DropDatabase({databaseid: $$[$0] }); yy.extend(this.$,$$[$0-1]);
-break;
-case 589: case 590:
- this.$ = new yy.DropDatabase({databaseid: $$[$0], engineid:$$[$0-3].toUpperCase() }); yy.extend(this.$,$$[$0-1]);
-break;
-case 591:
- this.$ = new yy.CreateIndex({indexid:$$[$0-5], table:$$[$0-3], columns:$$[$0-1]})
-break;
-case 592:
- this.$ = new yy.CreateIndex({indexid:$$[$0-5], table:$$[$0-3], columns:$$[$0-1], unique:true})
-break;
-case 593:
- this.$ = new yy.DropIndex({indexid:$$[$0]});
-break;
-case 594:
- this.$ = new yy.ShowDatabases();
-break;
-case 595:
- this.$ = new yy.ShowDatabases({like:$$[$0]});
-break;
-case 596:
- this.$ = new yy.ShowDatabases({engineid:$$[$0-1].toUpperCase() });
-break;
-case 597:
- this.$ = new yy.ShowDatabases({engineid:$$[$0-3].toUpperCase() , like:$$[$0]});
-break;
-case 598:
- this.$ = new yy.ShowTables();
-break;
-case 599:
- this.$ = new yy.ShowTables({like:$$[$0]});
-break;
-case 600:
- this.$ = new yy.ShowTables({databaseid: $$[$0]});
-break;
-case 601:
- this.$ = new yy.ShowTables({like:$$[$0], databaseid: $$[$0-2]});
-break;
-case 602:
- this.$ = new yy.ShowColumns({table: $$[$0]});
-break;
-case 603:
- this.$ = new yy.ShowColumns({table: $$[$0-2], databaseid:$$[$0]});
-break;
-case 604:
- this.$ = new yy.ShowIndex({table: $$[$0]});
-break;
-case 605:
- this.$ = new yy.ShowIndex({table: $$[$0-2], databaseid: $$[$0]});
-break;
-case 606:
- this.$ = new yy.ShowCreateTable({table: $$[$0]});
-break;
-case 607:
- this.$ = new yy.ShowCreateTable({table: $$[$0-2], databaseid:$$[$0]});
-break;
-case 608:
-
- this.$ = new yy.CreateTable({table:$$[$0-6],view:true,select:$$[$0-1],viewcolumns:$$[$0-4]});
- yy.extend(this.$,$$[$0-9]);
- yy.extend(this.$,$$[$0-7]);
-
-break;
-case 609:
-
- this.$ = new yy.CreateTable({table:$$[$0-3],view:true,select:$$[$0-1]});
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-4]);
-
-break;
-case 613:
- this.$ = new yy.DropTable({tables:$$[$0], view:true}); yy.extend(this.$, $$[$0-1]);
-break;
-case 614: case 760:
- this.$ = new yy.ExpressionStatement({expression:$$[$0]});
-break;
-case 615:
- this.$ = new yy.Source({url:$$[$0].value});
-break;
-case 616:
- this.$ = new yy.Assert({value:$$[$0]});
-break;
-case 617:
- this.$ = new yy.Assert({value:$$[$0].value});
-break;
-case 618:
- this.$ = new yy.Assert({value:$$[$0], message:$$[$0-2]});
-break;
-case 620: case 631: case 633:
- this.$ = $$[$0].value;
-break;
-case 621: case 629:
- this.$ = +$$[$0].value;
-break;
-case 622:
- this.$ = (!!$$[$0].value);
-break;
-case 630:
- this.$ = ""+$$[$0].value;
-break;
-case 639:
- this.$ = {};
-break;
-case 642:
- this.$ = [];
-break;
-case 643:
- yy.extend($$[$0-2],$$[$0]); this.$ = $$[$0-2];
-break;
-case 645:
- this.$ = {}; this.$[$$[$0-2].substr(1,$$[$0-2].length-2)] = $$[$0];
-break;
-case 646: case 647:
- this.$ = {}; this.$[$$[$0-2]] = $$[$0];
-break;
-case 650:
- this.$ = new yy.SetVariable({variable:$$[$0-2].toLowerCase(), value:$$[$0]});
-break;
-case 651:
- this.$ = new yy.SetVariable({variable:$$[$0-1].toLowerCase(), value:$$[$0]});
-break;
-case 652:
- this.$ = new yy.SetVariable({variable:$$[$0-2], expression:$$[$0]});
-break;
-case 653:
- this.$ = new yy.SetVariable({variable:$$[$0-3], props: $$[$0-2], expression:$$[$0]});
-break;
-case 654:
- this.$ = new yy.SetVariable({variable:$$[$0-2], expression:$$[$0], method:$$[$0-3]});
-break;
-case 655:
- this.$ = new yy.SetVariable({variable:$$[$0-3], props: $$[$0-2], expression:$$[$0], method:$$[$0-4]});
-break;
-case 656:
-this.$ = '@';
-break;
-case 657:
-this.$ = '$';
-break;
-case 663:
- this.$ = true;
-break;
-case 664:
- this.$ = false;
-break;
-case 665:
- this.$ = new yy.CommitTransaction();
-break;
-case 666:
- this.$ = new yy.RollbackTransaction();
-break;
-case 667:
- this.$ = new yy.BeginTransaction();
-break;
-case 668:
- this.$ = new yy.If({expression:$$[$0-2],thenstat:$$[$0-1], elsestat:$$[$0]});
- if($$[$0-1].exists) this.$.exists = $$[$0-1].exists;
- if($$[$0-1].queries) this.$.queries = $$[$0-1].queries;
-
-break;
-case 669:
-
- this.$ = new yy.If({expression:$$[$0-1],thenstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 670:
-this.$ = $$[$0];
-break;
-case 671:
- this.$ = new yy.While({expression:$$[$0-1],loopstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 672:
- this.$ = new yy.Continue();
-break;
-case 673:
- this.$ = new yy.Break();
-break;
-case 674:
- this.$ = new yy.BeginEnd({statements:$$[$0-1]});
-break;
-case 675:
- this.$ = new yy.Print({exprs:$$[$0]});
-break;
-case 676:
- this.$ = new yy.Print({select:$$[$0]});
-break;
-case 677:
- this.$ = new yy.Require({paths:$$[$0]});
-break;
-case 678:
- this.$ = new yy.Require({plugins:$$[$0]});
-break;
-case 679: case 680:
-this.$ = $$[$0].toUpperCase();
-break;
-case 681:
- this.$ = new yy.Echo({expr:$$[$0]});
-break;
-case 686:
- this.$ = new yy.Declare({declares:$$[$0]});
-break;
-case 689:
- this.$ = {variable: $$[$0-1]}; yy.extend(this.$,$$[$0]);
-break;
-case 690:
- this.$ = {variable: $$[$0-2]}; yy.extend(this.$,$$[$0]);
-break;
-case 691:
- this.$ = {variable: $$[$0-3], expression:$$[$0]}; yy.extend(this.$,$$[$0-2]);
-break;
-case 692:
- this.$ = {variable: $$[$0-4], expression:$$[$0]}; yy.extend(this.$,$$[$0-2]);
-break;
-case 693:
- this.$ = new yy.TruncateTable({table:$$[$0]});
-break;
-case 694:
-
- this.$ = new yy.Merge(); yy.extend(this.$,$$[$0-4]); yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,{matches:$$[$0-1]});yy.extend(this.$,$$[$0]);
-
-break;
-case 695: case 696:
- this.$ = {into: $$[$0]};
-break;
-case 698:
- this.$ = {on:$$[$0]};
-break;
-case 703:
- this.$ = {matched:true, action:$$[$0]}
-break;
-case 704:
- this.$ = {matched:true, expr: $$[$0-2], action:$$[$0]}
-break;
-case 705:
- this.$ = {"delete":true};
-break;
-case 706:
- this.$ = {update:$$[$0]};
-break;
-case 707: case 708:
- this.$ = {matched:false, bytarget: true, action:$$[$0]}
-break;
-case 709: case 710:
- this.$ = {matched:false, bytarget: true, expr:$$[$0-2], action:$$[$0]}
-break;
-case 711:
- this.$ = {matched:false, bysource: true, action:$$[$0]}
-break;
-case 712:
- this.$ = {matched:false, bysource: true, expr:$$[$0-2], action:$$[$0]}
-break;
-case 713:
- this.$ = {insert:true, values:$$[$0]};
-break;
-case 714:
- this.$ = {insert:true, values:$$[$0], columns:$$[$0-3]};
-break;
-case 715:
- this.$ = {insert:true, defaultvalues:true};
-break;
-case 716:
- this.$ = {insert:true, defaultvalues:true, columns:$$[$0-3]};
-break;
-case 718:
- this.$ = {output:{columns:$$[$0]}}
-break;
-case 719:
- this.$ = {output:{columns:$$[$0-3], intovar: $$[$0], method:$$[$0-1]}}
-break;
-case 720:
- this.$ = {output:{columns:$$[$0-2], intotable: $$[$0]}}
-break;
-case 721:
- this.$ = {output:{columns:$$[$0-5], intotable: $$[$0-3], intocolumns:$$[$0-1]}}
-break;
-case 722:
-
- this.$ = new yy.CreateVertex({"class":$$[$0-3],sharp:$$[$0-2], name:$$[$0-1]});
- yy.extend(this.$,$$[$0]);
-
-break;
-case 725:
- this.$ = {sets:$$[$0]};
-break;
-case 726:
- this.$ = {content:$$[$0]};
-break;
-case 727:
- this.$ = {select:$$[$0]};
-break;
-case 728:
-
- this.$ = new yy.CreateEdge({from:$$[$0-3],to:$$[$0-1],name:$$[$0-5]});
- yy.extend(this.$,$$[$0]);
-
-break;
-case 729:
- this.$ = new yy.CreateGraph({graph:$$[$0]});
-break;
-case 730:
- this.$ = new yy.CreateGraph({from:$$[$0]});
-break;
-case 733:
-
- this.$ = $$[$0-2];
- if($$[$0-1]) this.$.json = new yy.Json({value:$$[$0-1]});
- if($$[$0]) this.$.as = $$[$0];
-
-break;
-case 734:
-
- this.$ = {source:$$[$0-6], target: $$[$0]};
- if($$[$0-3]) this.$.json = new yy.Json({value:$$[$0-3]});
- if($$[$0-2]) this.$.as = $$[$0-2];
- yy.extend(this.$,$$[$0-4]);
-
-break;
-case 735:
-
- this.$ = {source:$$[$0-5], target: $$[$0]};
- if($$[$0-2]) this.$.json = new yy.Json({value:$$[$0-3]});
- if($$[$0-1]) this.$.as = $$[$0-2];
-
-break;
-case 736:
-
- this.$ = {source:$$[$0-2], target: $$[$0]};
-
-break;
-case 740:
- this.$ = {vars:$$[$0], method:$$[$0-1]};
-break;
-case 743: case 744:
-
- var s3 = $$[$0-1];
- this.$ = {prop:$$[$0-3], sharp:$$[$0-2], name:(typeof s3 == 'undefined')?undefined:s3.substr(1,s3.length-2), "class":$$[$0]};
-
-break;
-case 745:
-
- var s2 = $$[$0-1];
- this.$ = {sharp:$$[$0-2], name:(typeof s2 == 'undefined')?undefined:s2.substr(1,s2.length-2), "class":$$[$0]};
-
-break;
-case 746:
-
- var s1 = $$[$0-1];
- this.$ = {name:(typeof s1 == 'undefined')?undefined:s1.substr(1,s1.length-2), "class":$$[$0]};
-
-break;
-case 747:
-
- this.$ = {"class":$$[$0]};
-
-break;
-case 753:
- this.$ = new yy.AddRule({left:$$[$0-2], right:$$[$0]});
-break;
-case 754:
- this.$ = new yy.AddRule({right:$$[$0]});
-break;
-case 757:
- this.$ = new yy.Term({termid:$$[$0]});
-break;
-case 758:
- this.$ = new yy.Term({termid:$$[$0-3],args:$$[$0-1]});
-break;
-case 761:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-5], action:$$[$0-4], table:$$[$0-2], statement:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 762:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-5], when:$$[$0-4], action:$$[$0-3], table:$$[$0-1], funcid:$$[$0]});
-
-break;
-case 763:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-4], action:$$[$0-3], table:$$[$0-5], statement:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 764: case 765: case 767:
- this.$ = 'AFTER';
-break;
-case 766:
- this.$ = 'BEFORE';
-break;
-case 768:
- this.$ = 'INSTEADOF';
-break;
-case 769:
- this.$ = 'INSERT';
-break;
-case 770:
- this.$ = 'DELETE';
-break;
-case 771:
- this.$ = 'UPDATE';
-break;
-case 772:
- this.$ = new yy.DropTrigger({trigger:$$[$0]});
-break;
-case 773:
- this.$ = new yy.Reindex({indexid:$$[$0]});
-break;
-case 1047: case 1067: case 1069: case 1071: case 1075: case 1077: case 1079: case 1081: case 1083: case 1085:
-this.$ = [];
-break;
-case 1048: case 1062: case 1064: case 1068: case 1070: case 1072: case 1076: case 1078: case 1080: case 1082: case 1084: case 1086:
-$$[$0-1].push($$[$0]);
-break;
-case 1061: case 1063:
-this.$ = [$$[$0]];
-break;
-}
-},
-table: [o([10,602,764],$V0,{8:1,9:2,12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,2:$V1,4:$V2,5:$V3,14:$V4,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),{1:[3]},{10:[1,105],11:106,602:$VH,764:$VI},o($VJ,[2,8]),o($VJ,[2,9]),o($VK,[2,12]),o($VJ,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:109,2:$V1,4:$V2,5:$V3,15:[1,110],53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VK,[2,14]),o($VK,[2,15]),o($VK,[2,16]),o($VK,[2,17]),o($VK,[2,18]),o($VK,[2,19]),o($VK,[2,20]),o($VK,[2,21]),o($VK,[2,22]),o($VK,[2,23]),o($VK,[2,24]),o($VK,[2,25]),o($VK,[2,26]),o($VK,[2,27]),o($VK,[2,28]),o($VK,[2,29]),o($VK,[2,30]),o($VK,[2,31]),o($VK,[2,32]),o($VK,[2,33]),o($VK,[2,34]),o($VK,[2,35]),o($VK,[2,36]),o($VK,[2,37]),o($VK,[2,38]),o($VK,[2,39]),o($VK,[2,40]),o($VK,[2,41]),o($VK,[2,42]),o($VK,[2,43]),o($VK,[2,44]),o($VK,[2,45]),o($VK,[2,46]),o($VK,[2,47]),o($VK,[2,48]),o($VK,[2,49]),o($VK,[2,50]),o($VK,[2,51]),o($VK,[2,52]),o($VK,[2,53]),o($VK,[2,54]),o($VK,[2,55]),o($VK,[2,56]),o($VK,[2,57]),o($VK,[2,58]),o($VK,[2,59]),o($VK,[2,60]),o($VK,[2,61]),o($VK,[2,62]),o($VK,[2,63]),o($VK,[2,64]),o($VK,[2,65]),o($VK,[2,66]),o($VK,[2,67]),{353:[1,111]},{2:$V1,3:112,4:$V2,5:$V3},{2:$V1,3:114,4:$V2,5:$V3,156:$VL,200:113,290:$VM,291:$VN,292:$VO,293:$VP},o($VQ,[2,501],{3:121,348:125,2:$V1,4:$V2,5:$V3,134:$VR,135:$VS,187:[1,123],193:[1,122],268:[1,129],269:[1,130],357:[1,131],405:[1,120],472:[1,124],509:[1,128]}),{145:$VT,449:132,450:133},{183:[1,135]},{405:[1,136]},{2:$V1,3:138,4:$V2,5:$V3,130:[1,144],193:[1,139],353:[1,143],397:140,405:[1,137],410:[1,141],509:[1,142]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:145,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vt1,$Vu1,{340:204,171:[1,205],198:$Vv1}),o($Vt1,$Vu1,{340:207,198:$Vv1}),{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,198:[1,210],199:213,200:215,201:214,202:217,209:209,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1,453:208},{2:$V1,3:221,4:$V2,5:$V3},{353:[1,222]},o($Vz1,[2,1043],{80:223,106:224,107:[1,225]}),o($VA1,[2,1047],{90:226}),{2:$V1,3:230,4:$V2,5:$V3,190:[1,228],193:[1,231],267:[1,227],353:[1,232],405:[1,229]},{353:[1,233]},{2:$V1,3:236,4:$V2,5:$V3,73:234,75:235},o([306,602,764],$V0,{12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,9:238,2:$V1,4:$V2,5:$V3,14:$V4,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,435:[1,237],436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),{435:[1,239]},{435:[1,240]},{2:$V1,3:242,4:$V2,5:$V3,405:[1,241]},{2:$V1,3:244,4:$V2,5:$V3,199:243},o($VB1,[2,311]),{113:245,132:$VW,296:$Vj1},{2:$V1,3:114,4:$V2,5:$V3,113:251,131:$VV,132:[1,248],143:$VY,144:246,145:$VC1,152:$V$,156:$VL,181:$V31,196:250,200:255,201:254,257:252,258:253,265:$VD1,274:247,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:257,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,672]),o($VK,[2,673]),{2:$V1,3:168,4:$V2,5:$V3,40:259,56:165,77:$VU,79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:258,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:266,4:$V2,5:$V3,113:263,132:$VW,296:$Vj1,444:261,445:262,446:264,447:$VE1},{2:$V1,3:267,4:$V2,5:$V3,143:$VF1,145:$VG1,431:268},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:271,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{505:[1,272]},{2:$V1,3:100,4:$V2,5:$V3,504:274,506:273},{2:$V1,3:114,4:$V2,5:$V3,156:$VL,200:275,290:$VM,291:$VN,292:$VO,293:$VP},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:276,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VH1,$VI1,{186:280,164:[1,279],185:[1,277],187:[1,278],195:$VJ1}),o($VK1,[2,757],{77:[1,282]}),o([2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,152,154,156,162,164,168,169,179,180,181,183,185,187,195,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],[2,152],{149:[1,283],150:[1,284],190:[1,285],191:[1,286],192:[1,287],193:[1,288],194:[1,289]}),o($VL1,[2,1]),o($VL1,[2,2]),{6:290,131:[1,439],172:[1,462],245:[1,411],285:[1,373],286:[1,407],370:[1,404],381:[1,295],402:[1,297],410:[1,549],414:[1,471],416:[1,443],417:[1,509],433:[1,442],435:[1,525],440:[1,342],460:[1,418],464:[1,448],470:[1,341],514:[1,307],515:[1,299],516:[1,399],518:[1,291],519:[1,292],520:[1,293],521:[1,294],522:[1,296],523:[1,298],524:[1,300],525:[1,301],526:[1,302],527:[1,303],528:[1,304],529:[1,305],530:[1,306],531:[1,308],532:[1,309],533:[1,310],534:[1,311],535:[1,312],536:[1,313],537:[1,314],538:[1,315],539:[1,316],540:[1,317],541:[1,318],542:[1,319],543:[1,320],544:[1,321],545:[1,322],546:[1,323],547:[1,324],548:[1,325],549:[1,326],550:[1,327],551:[1,328],552:[1,329],553:[1,330],554:[1,331],555:[1,332],556:[1,333],557:[1,334],558:[1,335],559:[1,336],560:[1,337],561:[1,338],562:[1,339],563:[1,340],564:[1,343],565:[1,344],566:[1,345],567:[1,346],568:[1,347],569:[1,348],570:[1,349],571:[1,350],572:[1,351],573:[1,352],574:[1,353],575:[1,354],576:[1,355],577:[1,356],578:[1,357],579:[1,358],580:[1,359],581:[1,360],582:[1,361],583:[1,362],584:[1,363],585:[1,364],586:[1,365],587:[1,366],588:[1,367],589:[1,368],590:[1,369],591:[1,370],592:[1,371],593:[1,372],594:[1,374],595:[1,375],596:[1,376],597:[1,377],598:[1,378],599:[1,379],600:[1,380],601:[1,381],602:[1,382],603:[1,383],604:[1,384],605:[1,385],606:[1,386],607:[1,387],608:[1,388],609:[1,389],610:[1,390],611:[1,391],612:[1,392],613:[1,393],614:[1,394],615:[1,395],616:[1,396],617:[1,397],618:[1,398],619:[1,400],620:[1,401],621:[1,402],622:[1,403],623:[1,405],624:[1,406],625:[1,408],626:[1,409],627:[1,410],628:[1,412],629:[1,413],630:[1,414],631:[1,415],632:[1,416],633:[1,417],634:[1,419],635:[1,420],636:[1,421],637:[1,422],638:[1,423],639:[1,424],640:[1,425],641:[1,426],642:[1,427],643:[1,428],644:[1,429],645:[1,430],646:[1,431],647:[1,432],648:[1,433],649:[1,434],650:[1,435],651:[1,436],652:[1,437],653:[1,438],654:[1,440],655:[1,441],656:[1,444],657:[1,445],658:[1,446],659:[1,447],660:[1,449],661:[1,450],662:[1,451],663:[1,452],664:[1,453],665:[1,454],666:[1,455],667:[1,456],668:[1,457],669:[1,458],670:[1,459],671:[1,460],672:[1,461],673:[1,463],674:[1,464],675:[1,465],676:[1,466],677:[1,467],678:[1,468],679:[1,469],680:[1,470],681:[1,472],682:[1,473],683:[1,474],684:[1,475],685:[1,476],686:[1,477],687:[1,478],688:[1,479],689:[1,480],690:[1,481],691:[1,482],692:[1,483],693:[1,484],694:[1,485],695:[1,486],696:[1,487],697:[1,488],698:[1,489],699:[1,490],700:[1,491],701:[1,492],702:[1,493],703:[1,494],704:[1,495],705:[1,496],706:[1,497],707:[1,498],708:[1,499],709:[1,500],710:[1,501],711:[1,502],712:[1,503],713:[1,504],714:[1,505],715:[1,506],716:[1,507],717:[1,508],718:[1,510],719:[1,511],720:[1,512],721:[1,513],722:[1,514],723:[1,515],724:[1,516],725:[1,517],726:[1,518],727:[1,519],728:[1,520],729:[1,521],730:[1,522],731:[1,523],732:[1,524],733:[1,526],734:[1,527],735:[1,528],736:[1,529],737:[1,530],738:[1,531],739:[1,532],740:[1,533],741:[1,534],742:[1,535],743:[1,536],744:[1,537],745:[1,538],746:[1,539],747:[1,540],748:[1,541],749:[1,542],750:[1,543],751:[1,544],752:[1,545],753:[1,546],754:[1,547],755:[1,548],756:[1,550],757:[1,551],758:[1,552],759:[1,553],760:[1,554],761:[1,555],762:[1,556],763:[1,557]},{1:[2,6]},o($VJ,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:558,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VM1,[2,1041]),o($VM1,[2,1042]),o($VJ,[2,10]),{16:[1,559]},{2:$V1,3:244,4:$V2,5:$V3,199:560},{405:[1,561]},o($VK,[2,760]),{77:$VN1},{77:[1,563]},{77:$VO1},{77:[1,565]},{77:[1,566]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:567,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vt1,$VP1,{350:568,156:$VQ1}),{405:[1,570]},{2:$V1,3:571,4:$V2,5:$V3},{193:[1,572]},{2:$V1,3:578,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,183:[1,574],431:585,473:573,474:575,475:576,478:577,482:582,493:579,497:581},{130:[1,589],349:586,353:[1,588],410:[1,587]},{113:591,132:$VW,183:[2,1141],296:$Vj1,471:590},o($VU1,[2,1135],{465:592,3:593,2:$V1,4:$V2,5:$V3}),{2:$V1,3:594,4:$V2,5:$V3},{4:[1,595]},{4:[1,596]},o($VQ,[2,502]),o($VK,[2,686],{74:[1,597]}),o($VV1,[2,687]),{2:$V1,3:598,4:$V2,5:$V3},{2:$V1,3:244,4:$V2,5:$V3,199:599},{2:$V1,3:600,4:$V2,5:$V3},o($Vt1,$VW1,{398:601,156:$VX1}),{405:[1,603]},{2:$V1,3:604,4:$V2,5:$V3},o($Vt1,$VW1,{398:605,156:$VX1}),o($Vt1,$VW1,{398:606,156:$VX1}),{2:$V1,3:607,4:$V2,5:$V3},o($VY1,[2,1129]),o($VY1,[2,1130]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:608,114:625,327:637,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$V22,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,146:$V9,154:$Va2,156:$Va,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,189:$Vb,266:$Vc,267:$Vd,290:$Ve,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VB1,[2,288]),o($VB1,[2,289]),o($VB1,[2,290]),o($VB1,[2,291]),o($VB1,[2,292]),o($VB1,[2,293]),o($VB1,[2,294]),o($VB1,[2,295]),o($VB1,[2,296]),o($VB1,[2,297]),o($VB1,[2,298]),o($VB1,[2,299]),o($VB1,[2,300]),o($VB1,[2,301]),o($VB1,[2,302]),o($VB1,[2,303]),o($VB1,[2,304]),o($VB1,[2,305]),{2:$V1,3:168,4:$V2,5:$V3,26:654,27:653,36:649,40:648,56:165,77:$VU,79:75,89:$V7,94:651,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,264:650,265:$V41,266:$Vc,267:[1,655],270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:[1,652],291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,339:$Vh,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,309]),o($VB1,[2,310]),{77:[1,656]},o([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vy2,{77:$VN1,116:[1,657]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:658,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:659,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:661,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:662,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,283]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,249,265,266,267,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,302,303,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,415,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764,765,766],[2,356]),o($Vz2,[2,357]),o($Vz2,[2,358]),o($Vz2,$VA2),o($Vz2,[2,360]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,361]),{2:$V1,3:664,4:$V2,5:$V3,131:[1,665],301:663},{2:$V1,3:666,4:$V2,5:$V3},o($Vz2,[2,367]),o($Vz2,[2,368]),{2:$V1,3:667,4:$V2,5:$V3,77:$VB2,113:669,131:$VV,132:$VW,143:$VY,152:$V$,181:$V31,196:670,201:672,257:671,294:$Vh1,295:$Vi1,296:$Vj1,302:$Vn1,419:673,424:$Vs1},{77:[1,674]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:675,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,304:676,307:677,308:$VC2,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,679]},{77:[1,680]},o($VD2,[2,624]),{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,300:[1,683],302:$Vn1,419:190,420:$Vr1,421:681,422:684,423:686,424:$Vs1,427:682},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:696,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:697,4:$V2,5:$V3,156:$VL,200:698,290:$VM,291:$VN,292:$VO,293:$VP},{77:[2,336]},{77:[2,337]},{77:[2,338]},{77:[2,339]},{77:[2,340]},{77:[2,341]},{77:[2,342]},{77:[2,343]},{77:[2,344]},{2:$V1,3:704,4:$V2,5:$V3,131:$VF2,132:$VG2,425:699,426:[1,700],428:701},{2:$V1,3:244,4:$V2,5:$V3,199:705},{290:[1,706]},o($Vt1,[2,472]),{2:$V1,3:244,4:$V2,5:$V3,199:707},{231:[1,709],454:708},{231:[2,695]},{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,209:710,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{40:711,79:75,89:$V7,184:99,189:$Vb},o($VH2,[2,1091],{210:712,76:[1,713]}),o($VI2,[2,185],{3:714,2:$V1,4:$V2,5:$V3,76:[1,715],154:[1,716]}),o($VI2,[2,189],{3:717,2:$V1,4:$V2,5:$V3,76:[1,718]}),o($VI2,[2,190],{3:719,2:$V1,4:$V2,5:$V3,76:[1,720]}),o($VI2,[2,193]),o($VI2,[2,194],{3:721,2:$V1,4:$V2,5:$V3,76:[1,722]}),o($VI2,[2,197],{3:723,2:$V1,4:$V2,5:$V3,76:[1,724]}),o([2,4,5,10,72,74,76,78,93,98,118,128,154,162,168,169,183,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],$VJ2,{77:$VN1,116:$VK2}),o([2,4,5,10,72,74,76,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],[2,200]),o($VK,[2,773]),{2:$V1,3:244,4:$V2,5:$V3,199:726},o($VL2,$VM2,{81:727,198:$VN2}),o($Vz1,[2,1044]),o($VO2,[2,1057],{108:729,190:[1,730]}),o([10,78,183,306,310,602,764],$VM2,{419:190,81:731,117:732,3:733,114:736,144:758,158:768,160:769,2:$V1,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,115:$V$1,116:$V02,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,198:$VN2,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,420:$Vr1,424:$Vs1}),{353:[1,782]},{183:[1,783]},o($VK,[2,594],{112:[1,784]}),{405:[1,785]},{183:[1,786]},o($VK,[2,598],{112:[1,787],183:[1,788]}),{2:$V1,3:244,4:$V2,5:$V3,199:789},{40:790,74:[1,791],79:75,89:$V7,184:99,189:$Vb},o($Vv3,[2,70]),{76:[1,792]},o($VK,[2,667]),{11:106,306:[1,793],602:$VH,764:$VI},o($VK,[2,665]),o($VK,[2,666]),{2:$V1,3:794,4:$V2,5:$V3},o($VK,[2,587]),{146:[1,795]},o([2,4,5,10,53,72,74,76,77,78,89,95,124,128,143,145,146,148,149,152,154,156,181,183,187,189,230,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],$VJ2,{116:$VK2}),o($VK,[2,615]),o($VK,[2,616]),o($VK,[2,617]),o($VK,$VA2,{74:[1,796]}),{77:$VB2,113:669,131:$VV,132:$VW,143:$VY,152:$V$,181:$V31,196:670,201:672,257:671,294:$Vh1,295:$Vi1,296:$Vj1,302:$Vn1,419:673,424:$Vs1},o($Vw3,[2,320]),o($Vw3,[2,321]),o($Vw3,[2,322]),o($Vw3,[2,323]),o($Vw3,[2,324]),o($Vw3,[2,325]),o($Vw3,[2,326]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,114:625,327:637,12:797,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$V22,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,146:$V9,154:$Va2,156:$Va,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,189:$Vb,266:$Vc,267:$Vd,290:$Ve,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VK,[2,675],{74:$Vx3}),o($VK,[2,676]),o($Vy3,[2,354],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VK,[2,677],{74:[1,800]}),o($VK,[2,678],{74:[1,801]}),o($VV1,[2,683]),o($VV1,[2,685]),o($VV1,[2,679]),o($VV1,[2,680]),{114:807,115:$V$1,116:$V02,124:[1,802],230:$VA3,429:803,430:804,433:$VB3},{2:$V1,3:808,4:$V2,5:$V3},o($Vt1,[2,656]),o($Vt1,[2,657]),o($VK,[2,614],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:100,4:$V2,5:$V3,504:274,506:809},o($VK,[2,754],{74:$VC3}),o($VD3,[2,756]),o($VK,[2,759]),o($VK,[2,681],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VE3,$VI1,{186:811,195:$VJ1}),o($VE3,$VI1,{186:812,195:$VJ1}),o($VE3,$VI1,{186:813,195:$VJ1}),o($VF3,[2,1087],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,188:814,174:815,253:816,94:817,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{77:[1,819],131:$VV,196:818},{2:$V1,3:100,4:$V2,5:$V3,504:274,506:820},o($VG3,[2,153]),o($VG3,[2,154]),o($VG3,[2,155]),o($VG3,[2,156]),o($VG3,[2,157]),o($VG3,[2,158]),o($VG3,[2,159]),o($VL1,[2,3]),o($VL1,[2,774]),o($VL1,[2,775]),o($VL1,[2,776]),o($VL1,[2,777]),o($VL1,[2,778]),o($VL1,[2,779]),o($VL1,[2,780]),o($VL1,[2,781]),o($VL1,[2,782]),o($VL1,[2,783]),o($VL1,[2,784]),o($VL1,[2,785]),o($VL1,[2,786]),o($VL1,[2,787]),o($VL1,[2,788]),o($VL1,[2,789]),o($VL1,[2,790]),o($VL1,[2,791]),o($VL1,[2,792]),o($VL1,[2,793]),o($VL1,[2,794]),o($VL1,[2,795]),o($VL1,[2,796]),o($VL1,[2,797]),o($VL1,[2,798]),o($VL1,[2,799]),o($VL1,[2,800]),o($VL1,[2,801]),o($VL1,[2,802]),o($VL1,[2,803]),o($VL1,[2,804]),o($VL1,[2,805]),o($VL1,[2,806]),o($VL1,[2,807]),o($VL1,[2,808]),o($VL1,[2,809]),o($VL1,[2,810]),o($VL1,[2,811]),o($VL1,[2,812]),o($VL1,[2,813]),o($VL1,[2,814]),o($VL1,[2,815]),o($VL1,[2,816]),o($VL1,[2,817]),o($VL1,[2,818]),o($VL1,[2,819]),o($VL1,[2,820]),o($VL1,[2,821]),o($VL1,[2,822]),o($VL1,[2,823]),o($VL1,[2,824]),o($VL1,[2,825]),o($VL1,[2,826]),o($VL1,[2,827]),o($VL1,[2,828]),o($VL1,[2,829]),o($VL1,[2,830]),o($VL1,[2,831]),o($VL1,[2,832]),o($VL1,[2,833]),o($VL1,[2,834]),o($VL1,[2,835]),o($VL1,[2,836]),o($VL1,[2,837]),o($VL1,[2,838]),o($VL1,[2,839]),o($VL1,[2,840]),o($VL1,[2,841]),o($VL1,[2,842]),o($VL1,[2,843]),o($VL1,[2,844]),o($VL1,[2,845]),o($VL1,[2,846]),o($VL1,[2,847]),o($VL1,[2,848]),o($VL1,[2,849]),o($VL1,[2,850]),o($VL1,[2,851]),o($VL1,[2,852]),o($VL1,[2,853]),o($VL1,[2,854]),o($VL1,[2,855]),o($VL1,[2,856]),o($VL1,[2,857]),o($VL1,[2,858]),o($VL1,[2,859]),o($VL1,[2,860]),o($VL1,[2,861]),o($VL1,[2,862]),o($VL1,[2,863]),o($VL1,[2,864]),o($VL1,[2,865]),o($VL1,[2,866]),o($VL1,[2,867]),o($VL1,[2,868]),o($VL1,[2,869]),o($VL1,[2,870]),o($VL1,[2,871]),o($VL1,[2,872]),o($VL1,[2,873]),o($VL1,[2,874]),o($VL1,[2,875]),o($VL1,[2,876]),o($VL1,[2,877]),o($VL1,[2,878]),o($VL1,[2,879]),o($VL1,[2,880]),o($VL1,[2,881]),o($VL1,[2,882]),o($VL1,[2,883]),o($VL1,[2,884]),o($VL1,[2,885]),o($VL1,[2,886]),o($VL1,[2,887]),o($VL1,[2,888]),o($VL1,[2,889]),o($VL1,[2,890]),o($VL1,[2,891]),o($VL1,[2,892]),o($VL1,[2,893]),o($VL1,[2,894]),o($VL1,[2,895]),o($VL1,[2,896]),o($VL1,[2,897]),o($VL1,[2,898]),o($VL1,[2,899]),o($VL1,[2,900]),o($VL1,[2,901]),o($VL1,[2,902]),o($VL1,[2,903]),o($VL1,[2,904]),o($VL1,[2,905]),o($VL1,[2,906]),o($VL1,[2,907]),o($VL1,[2,908]),o($VL1,[2,909]),o($VL1,[2,910]),o($VL1,[2,911]),o($VL1,[2,912]),o($VL1,[2,913]),o($VL1,[2,914]),o($VL1,[2,915]),o($VL1,[2,916]),o($VL1,[2,917]),o($VL1,[2,918]),o($VL1,[2,919]),o($VL1,[2,920]),o($VL1,[2,921]),o($VL1,[2,922]),o($VL1,[2,923]),o($VL1,[2,924]),o($VL1,[2,925]),o($VL1,[2,926]),o($VL1,[2,927]),o($VL1,[2,928]),o($VL1,[2,929]),o($VL1,[2,930]),o($VL1,[2,931]),o($VL1,[2,932]),o($VL1,[2,933]),o($VL1,[2,934]),o($VL1,[2,935]),o($VL1,[2,936]),o($VL1,[2,937]),o($VL1,[2,938]),o($VL1,[2,939]),o($VL1,[2,940]),o($VL1,[2,941]),o($VL1,[2,942]),o($VL1,[2,943]),o($VL1,[2,944]),o($VL1,[2,945]),o($VL1,[2,946]),o($VL1,[2,947]),o($VL1,[2,948]),o($VL1,[2,949]),o($VL1,[2,950]),o($VL1,[2,951]),o($VL1,[2,952]),o($VL1,[2,953]),o($VL1,[2,954]),o($VL1,[2,955]),o($VL1,[2,956]),o($VL1,[2,957]),o($VL1,[2,958]),o($VL1,[2,959]),o($VL1,[2,960]),o($VL1,[2,961]),o($VL1,[2,962]),o($VL1,[2,963]),o($VL1,[2,964]),o($VL1,[2,965]),o($VL1,[2,966]),o($VL1,[2,967]),o($VL1,[2,968]),o($VL1,[2,969]),o($VL1,[2,970]),o($VL1,[2,971]),o($VL1,[2,972]),o($VL1,[2,973]),o($VL1,[2,974]),o($VL1,[2,975]),o($VL1,[2,976]),o($VL1,[2,977]),o($VL1,[2,978]),o($VL1,[2,979]),o($VL1,[2,980]),o($VL1,[2,981]),o($VL1,[2,982]),o($VL1,[2,983]),o($VL1,[2,984]),o($VL1,[2,985]),o($VL1,[2,986]),o($VL1,[2,987]),o($VL1,[2,988]),o($VL1,[2,989]),o($VL1,[2,990]),o($VL1,[2,991]),o($VL1,[2,992]),o($VL1,[2,993]),o($VL1,[2,994]),o($VL1,[2,995]),o($VL1,[2,996]),o($VL1,[2,997]),o($VL1,[2,998]),o($VL1,[2,999]),o($VL1,[2,1000]),o($VL1,[2,1001]),o($VL1,[2,1002]),o($VL1,[2,1003]),o($VL1,[2,1004]),o($VL1,[2,1005]),o($VL1,[2,1006]),o($VL1,[2,1007]),o($VL1,[2,1008]),o($VL1,[2,1009]),o($VL1,[2,1010]),o($VL1,[2,1011]),o($VL1,[2,1012]),o($VL1,[2,1013]),o($VL1,[2,1014]),o($VL1,[2,1015]),o($VL1,[2,1016]),o($VL1,[2,1017]),o($VL1,[2,1018]),o($VL1,[2,1019]),o($VL1,[2,1020]),o($VL1,[2,1021]),o($VL1,[2,1022]),o($VL1,[2,1023]),o($VL1,[2,1024]),o($VL1,[2,1025]),o($VL1,[2,1026]),o($VL1,[2,1027]),o($VL1,[2,1028]),o($VL1,[2,1029]),o($VL1,[2,1030]),o($VL1,[2,1031]),o($VL1,[2,1032]),o($VL1,[2,1033]),o($VL1,[2,1034]),o($VL1,[2,1035]),o($VL1,[2,1036]),o($VL1,[2,1037]),o($VL1,[2,1038]),o($VL1,[2,1039]),o($VL1,[2,1040]),o($VJ,[2,7]),o($VJ,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:821,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),{396:[1,825],401:[1,822],402:[1,823],403:[1,824]},{2:$V1,3:826,4:$V2,5:$V3},o($VE3,[2,1111],{289:827,767:829,78:[1,828],164:[1,831],185:[1,830]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:832,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:833,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:834,4:$V2,5:$V3,132:[1,835]},{2:$V1,3:836,4:$V2,5:$V3,132:[1,837]},{2:$V1,3:838,4:$V2,5:$V3,99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:839,4:$V2,5:$V3},{154:[1,840]},o($VH3,$VP1,{350:841,156:$VQ1}),{230:[1,842]},{2:$V1,3:843,4:$V2,5:$V3},o($VK,[2,729],{74:$VI3}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:845,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VD3,[2,732]),o($VJ3,[2,1143],{419:190,476:846,144:847,139:$VK3,141:$VK3,145:$VC1,420:$Vr1,424:$Vs1}),{139:[1,848],141:[1,849]},o($VL3,$VM3,{490:851,493:852,77:[1,850],137:$VS1}),o($VN3,[2,1167],{494:853,132:[1,854]}),o($VO3,[2,1171],{496:855,497:856,152:$VT1}),o($VO3,[2,747]),o($VP3,[2,739]),{2:$V1,3:857,4:$V2,5:$V3,131:[1,858]},{2:$V1,3:859,4:$V2,5:$V3},{2:$V1,3:860,4:$V2,5:$V3},o($Vt1,$VP1,{350:861,156:$VQ1}),o($Vt1,$VP1,{350:862,156:$VQ1}),o($VY1,[2,491]),o($VY1,[2,492]),{183:[1,863]},{183:[2,1142]},o($VQ3,[2,1137],{466:864,469:865,137:[1,866]}),o($VU1,[2,1136]),o($VR3,$VS3,{510:867,95:$VT3,230:[1,868],514:$VU3,515:$VV3,516:$VW3}),{76:[1,873]},{76:[1,874]},{145:$VT,450:875},{4:$VX3,7:879,76:[1,877],272:876,387:878,389:$VY3},o($VK,[2,456],{128:[1,882]}),o($VK,[2,579]),{2:$V1,3:883,4:$V2,5:$V3},{298:[1,884]},o($VH3,$VW1,{398:885,156:$VX1}),o($VK,[2,593]),{2:$V1,3:244,4:$V2,5:$V3,199:887,399:886},{2:$V1,3:244,4:$V2,5:$V3,199:887,399:888},o($VK,[2,772]),o($VJ,[2,669],{438:889,310:[1,890]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:891,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:892,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:893,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:894,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:895,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:896,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:897,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:898,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:899,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:900,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:901,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:902,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:903,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:904,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:905,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:906,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:907,4:$V2,5:$V3,77:[1,909],131:$VV,156:$VL,196:908,200:910,290:$VM,291:$VN,292:$VO,293:$VP},{2:$V1,3:911,4:$V2,5:$V3,77:[1,913],131:$VV,156:$VL,196:912,200:914,290:$VM,291:$VN,292:$VO,293:$VP},o($VZ3,[2,440],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:915,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,[2,441],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:916,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,[2,442],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:917,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,[2,443],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:918,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),o($VZ3,$V_3,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:919,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:920,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:921,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VZ3,[2,445],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:922,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:923,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:924,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{164:[1,926],166:[1,928],328:925,334:[1,927]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:929,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:930,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:695,4:$V2,5:$V3,77:[1,931],111:934,145:$V$3,156:$VL,200:935,202:933,290:$VM,291:$VN,292:$VO,293:$VP,329:932},{99:[1,937],297:[1,938]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:939,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:940,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:941,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{4:$VX3,7:879,272:942,387:878,389:$VY3},o($V04,[2,88]),o($V04,[2,89]),{78:[1,943]},{78:[1,944]},{78:[1,945]},{78:[1,946],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vt1,$Vu1,{340:207,77:$VO1,198:$Vv1}),{78:[2,1107]},{78:[2,1108]},{134:$VR,135:$VS},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:947,152:$V$,154:$V01,156:$VL,158:167,164:[1,949],179:$V11,180:$V21,181:$V31,185:[1,948],196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:950,4:$V2,5:$V3,149:$V14,180:[1,952]},o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,416],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o($V24,[2,417],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($V24,[2,418],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($V34,[2,419],{114:625,327:637,316:$Vj2}),o($V34,[2,420],{114:625,327:637,316:$Vj2}),o($Vz2,[2,365]),o($Vz2,[2,1113]),o($Vz2,[2,1114]),o($Vz2,[2,366]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,362]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:953,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VD2,[2,620]),o($VD2,[2,621]),o($VD2,[2,622]),o($VD2,[2,623]),o($VD2,[2,625]),{40:954,79:75,89:$V7,184:99,189:$Vb},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,304:955,307:677,308:$VC2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{305:956,306:$V44,307:957,308:$VC2,310:$V54},o($V64,[2,372]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:959,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:960,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{4:$VX3,7:879,272:961,387:878,389:$VY3},o($VD2,[2,626]),{74:[1,963],300:[1,962]},o($VD2,[2,642]),o($V74,[2,649]),o($V84,[2,627]),o($V84,[2,628]),o($V84,[2,629]),o($V84,[2,630]),o($V84,[2,631]),o($V84,[2,632]),o($V84,[2,633]),o($V84,[2,634]),o($V84,[2,635]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:964,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],$Vy2,{77:$VN1,116:$V94}),{74:$Vx3,300:[1,966]},o($Va4,[2,314],{77:$VN1}),o($VB1,[2,315]),{74:[1,968],426:[1,967]},o($VD2,[2,639]),o($Vb4,[2,644]),{152:[1,969]},{152:[1,970]},{152:[1,971]},{40:976,77:[1,975],79:75,89:$V7,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,184:99,189:$Vb,201:980,302:$Vn1,341:972,342:973,343:[1,974],344:$Vd4,419:190,420:$Vr1,424:$Vs1},o($Vt1,$Vu1,{340:981,198:$Vv1}),{77:$Ve4,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,201:980,302:$Vn1,341:982,342:983,344:$Vd4,419:190,420:$Vr1,424:$Vs1},{230:[1,986],455:985},{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,209:987,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{231:[2,696]},{78:[1,988]},o($VI2,[2,1093],{211:989,3:990,2:$V1,4:$V2,5:$V3}),o($VH2,[2,1092]),o($VI2,[2,183]),{2:$V1,3:991,4:$V2,5:$V3},{212:[1,992]},o($VI2,[2,187]),{2:$V1,3:993,4:$V2,5:$V3},o($VI2,[2,191]),{2:$V1,3:994,4:$V2,5:$V3},o($VI2,[2,195]),{2:$V1,3:995,4:$V2,5:$V3},o($VI2,[2,198]),{2:$V1,3:996,4:$V2,5:$V3},{2:$V1,3:997,4:$V2,5:$V3},{148:[1,998]},o($Vf4,[2,172],{82:999,183:[1,1000]}),{2:$V1,3:219,4:$V2,5:$V3,132:[1,1005],143:$VY,145:[1,1006],152:$V$,156:$VL,181:$V31,199:1001,200:1002,201:1003,202:1004,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1},{2:$V1,3:1011,4:$V2,5:$V3,109:1007,110:1008,111:1009,112:$Vg4},o($VO2,[2,1058]),o($Vh4,[2,1049],{91:1012,182:1013,183:[1,1014]}),o($VA1,[2,1048],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o([2,4,5,10,72,74,76,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,90],{77:[1,1019]}),{119:[1,1020]},o($Vl4,[2,93]),{2:$V1,3:1021,4:$V2,5:$V3},o($Vl4,[2,95]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1022,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1023,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1025,118:$VT2,122:$VU2,123:$VV2,124:$VW2,125:1024,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{77:[1,1026]},{77:[1,1027]},{77:[1,1028]},{77:[1,1029]},o($Vl4,[2,104]),o($Vl4,[2,105]),o($Vl4,[2,106]),o($Vl4,[2,107]),o($Vl4,[2,108]),o($Vl4,[2,109]),{2:$V1,3:1030,4:$V2,5:$V3},{2:$V1,3:1031,4:$V2,5:$V3,133:[1,1032]},o($Vl4,[2,113]),o($Vl4,[2,114]),o($Vl4,[2,115]),o($Vl4,[2,116]),o($Vl4,[2,117]),o($Vl4,[2,118]),{2:$V1,3:1033,4:$V2,5:$V3,77:$VB2,113:669,131:$VV,132:$VW,143:$VY,152:$V$,181:$V31,196:670,201:672,257:671,294:$Vh1,295:$Vi1,296:$Vj1,302:$Vn1,419:673,424:$Vs1},{145:[1,1034]},{77:[1,1035]},{145:[1,1036]},o($Vl4,[2,123]),{77:[1,1037]},{2:$V1,3:1038,4:$V2,5:$V3},{77:[1,1039]},{77:[1,1040]},{77:[1,1041]},{77:[1,1042]},{77:[1,1043],164:[1,1044]},{77:[1,1045]},{77:[1,1046]},{77:[1,1047]},{77:[1,1048]},{77:[1,1049]},{77:[1,1050]},{77:[1,1051]},{77:[1,1052]},{77:[1,1053]},{77:[2,1073]},{77:[2,1074]},{2:$V1,3:244,4:$V2,5:$V3,199:1054},{2:$V1,3:244,4:$V2,5:$V3,199:1055},{113:1056,132:$VW,296:$Vj1},o($VK,[2,596],{112:[1,1057]}),{2:$V1,3:244,4:$V2,5:$V3,199:1058},{113:1059,132:$VW,296:$Vj1},{2:$V1,3:1060,4:$V2,5:$V3},o($VK,[2,693]),o($VK,[2,68]),{2:$V1,3:236,4:$V2,5:$V3,75:1061},{77:[1,1062]},o($VK,[2,674]),o($VK,[2,586]),{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1063,336:1064,337:1066},{144:1069,145:$VC1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,671]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1070,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VZ3,$V_3,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:1071,2:$V1,4:$V2,5:$V3,77:$VU,131:$VV,132:$VW,137:$VX,143:$VY,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,179:$V11,180:$V21,181:$V31,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,420:$Vr1,424:$Vs1}),{113:1072,132:$VW,296:$Vj1},{2:$V1,3:266,4:$V2,5:$V3,446:1073,447:$VE1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1075,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,230:$VA3,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1,429:1074,433:$VB3},o($VK,[2,651]),{114:1077,115:$V$1,116:$V02,124:[1,1076]},o($VK,[2,663]),o($VK,[2,664]),{2:$V1,3:1079,4:$V2,5:$V3,77:$Vo4,131:$Vp4,432:1078},{114:807,115:$V$1,116:$V02,124:[1,1082],430:1083},o($VK,[2,753],{74:$VC3}),{2:$V1,3:100,4:$V2,5:$V3,504:1084},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1085,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1086,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1087,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VF3,[2,151]),o($VF3,[2,1088],{74:$Vq4}),o($Vr4,[2,273]),o($Vr4,[2,280],{114:625,327:637,3:1090,113:1092,2:$V1,4:$V2,5:$V3,76:[1,1089],99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,131:[1,1091],132:$VW,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,296:$Vj1,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VH1,[2,1089],{197:1093,765:[1,1094]}),{131:$VV,196:1095},{74:$VC3,78:[1,1096]},o($VJ,[2,11]),{148:[1,1097],190:[1,1098]},{190:[1,1099]},{190:[1,1100]},{190:[1,1101]},o($VK,[2,575],{76:[1,1103],77:[1,1102]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1104,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vz2,[2,346]),o($VE3,[2,1112]),o($VE3,[2,1109]),o($VE3,[2,1110]),{74:$Vx3,78:[1,1105]},{74:$Vx3,78:[1,1106]},{74:[1,1107]},{74:[1,1108]},{74:[1,1109]},{74:[1,1110]},o($Vz2,[2,353]),o($VK,[2,580]),{298:[1,1111]},{2:$V1,3:1112,4:$V2,5:$V3,113:1113,132:$VW,296:$Vj1},{2:$V1,3:244,4:$V2,5:$V3,199:1114},{230:[1,1115]},{2:$V1,3:578,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,474:1116,475:576,478:577,482:582,493:579,497:581},o($VK,[2,730],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VD3,[2,1145],{477:1117,483:1118,76:$Vs4}),o($VJ3,[2,1144]),{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,144:1121,145:$VC1,152:$VT1,419:190,420:$Vr1,424:$Vs1,475:1120,493:579,497:581},{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,475:1124,478:1123,482:582,493:579,497:581},{2:$V1,3:578,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,473:1125,474:575,475:576,478:577,482:582,493:579,497:581},o($VN3,[2,1163],{491:1126,132:[1,1127]}),o($VL3,[2,1162]),o($VO3,[2,1169],{495:1128,497:1129,152:$VT1}),o($VN3,[2,1168]),o($VO3,[2,746]),o($VO3,[2,1172]),o($VL3,[2,749]),o($VL3,[2,750]),o($VO3,[2,748]),o($VP3,[2,740]),{2:$V1,3:244,4:$V2,5:$V3,199:1130},{2:$V1,3:244,4:$V2,5:$V3,199:1131},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1132,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vt4,[2,1139],{467:1133,113:1134,132:$VW,296:$Vj1}),o($VQ3,[2,1138]),{2:$V1,3:1135,4:$V2,5:$V3},{335:$Vu4,338:$Vv4,339:$Vw4,511:1136},{2:$V1,3:244,4:$V2,5:$V3,199:1140},o($VR3,[2,765]),o($VR3,[2,766]),o($VR3,[2,767]),{129:[1,1141]},{266:[1,1142]},{266:[1,1143]},o($VV1,[2,688]),o($VV1,[2,689],{124:[1,1144]}),{4:$VX3,7:879,272:1145,387:878,389:$VY3},o([2,4,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,542],{5:[1,1146]}),o([2,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,539],{4:[1,1148],77:[1,1147]}),{77:[1,1149]},o($Vx4,[2,4]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1150,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,588]),o($VH3,[2,568]),{2:$V1,3:1151,4:$V2,5:$V3,113:1152,132:$VW,296:$Vj1},o($VK,[2,564],{74:$Vy4}),o($VV1,[2,566]),o($VK,[2,613],{74:$Vy4}),o($VK,[2,668]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1154,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($Vz4,[2,376],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($V34,[2,377],{114:625,327:637,316:$Vj2}),o($Vz4,[2,378],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VA4,[2,379],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,314:[1,1155],316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VA4,[2,381],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,314:[1,1156],316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VB1,[2,383],{114:625,327:637}),o($V24,[2,384],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($V24,[2,385],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,180:$Ve2,312:$Vg2,316:$Vj2}),o($VB4,[2,386],{114:625,327:637,115:$V$1,116:$V02,123:$V12,136:$V42,312:$Vg2,316:$Vj2}),o($VB4,[2,387],{114:625,327:637,115:$V$1,116:$V02,123:$V12,136:$V42,312:$Vg2,316:$Vj2}),o($VB4,[2,388],{114:625,327:637,115:$V$1,116:$V02,123:$V12,136:$V42,312:$Vg2,316:$Vj2}),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,123,124,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,389],{114:625,327:637,115:$V$1,116:$V02,136:$V42,312:$Vg2,316:$Vj2}),o($VC4,[2,390],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($VC4,[2,391],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($VC4,[2,392],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($VC4,[2,393],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2}),o($Va4,[2,394],{77:$VN1}),o($VB1,[2,395]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1157,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,397]),o($Va4,[2,398],{77:$VN1}),o($VB1,[2,399]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1158,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,401]),o($VD4,[2,402],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,403],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,404],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,405],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o([2,4,5,10,53,72,89,99,124,139,140,146,154,156,170,171,189,266,267,290,306,310,320,321,322,323,324,325,326,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],$VE4,{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,407],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,408],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,409],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,410],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VD4,[2,411],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),{77:[1,1159]},{77:[2,446]},{77:[2,447]},{77:[2,448]},o($VF4,[2,414],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,156,162,164,166,168,169,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,415],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2}),{2:$V1,3:168,4:$V2,5:$V3,40:1160,56:165,77:$VU,78:[1,1162],79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1161,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,428]),o($VB1,[2,430]),o($VB1,[2,437]),o($VB1,[2,438]),{2:$V1,3:667,4:$V2,5:$V3,77:[1,1163]},{2:$V1,3:695,4:$V2,5:$V3,77:[1,1164],111:934,145:$V$3,156:$VL,200:935,202:1166,290:$VM,291:$VN,292:$VO,293:$VP,329:1165},o($VB1,[2,435]),o($VF4,[2,432],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o($VF4,[2,433],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,332:$Vw2}),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,434],{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VB1,[2,436]),o($VB1,[2,306]),o($VB1,[2,307]),o($VB1,[2,308]),o($VB1,[2,421]),{74:$Vx3,78:[1,1167]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1168,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1169,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,$VG4),o($VH4,[2,286]),o($VB1,[2,282]),{78:[1,1171],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1172]},{305:1173,306:$V44,307:957,308:$VC2,310:$V54},{306:[1,1174]},o($V64,[2,371]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1175,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1176],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{76:[1,1177],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1178]},o($VD2,[2,640]),{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,300:[1,1179],302:$Vn1,419:190,420:$Vr1,422:1180,423:686,424:$Vs1},{78:[1,1181],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:1182,4:$V2,5:$V3,149:$V14},o($VB1,[2,364]),o($VD2,[2,637]),{2:$V1,3:704,4:$V2,5:$V3,131:$VF2,132:$VG2,426:[1,1183],428:1184},{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,422:1185,423:686,424:$Vs1},{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,422:1186,423:686,424:$Vs1},{2:$V1,3:695,4:$V2,5:$V3,77:$VE2,111:690,113:688,131:$VV,132:$VW,143:$VY,144:685,145:$VC1,152:$V$,156:$VL,181:$V31,196:687,200:693,201:692,257:689,258:691,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1,419:190,420:$Vr1,422:1187,423:686,424:$Vs1},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1188,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,458],{74:$VJ4}),{149:$Vc4,341:1190,344:$Vd4},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,100:1191,111:1193,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1192,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,466]),o($VK4,[2,469]),o($VK4,[2,470]),o($VL4,[2,474]),o($VL4,[2,475]),{2:$V1,3:244,4:$V2,5:$V3,199:1195},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1196,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,462],{74:$VJ4}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1192,419:190,420:$Vr1,424:$Vs1},{308:$VM4,456:1197,458:1198,459:1199},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1201,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{230:[2,697]},o($VI2,[2,181],{3:1202,2:$V1,4:$V2,5:$V3,76:[1,1203]}),o($VI2,[2,182]),o($VI2,[2,1094]),o($VI2,[2,184]),o($VI2,[2,186]),o($VI2,[2,188]),o($VI2,[2,192]),o($VI2,[2,196]),o($VI2,[2,199]),o([2,4,5,10,53,72,74,76,77,78,89,93,95,98,118,124,128,143,145,146,148,149,152,154,156,162,168,169,181,183,187,189,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],[2,201]),{2:$V1,3:1204,4:$V2,5:$V3},o($VN4,[2,1045],{83:1205,92:1206,93:[1,1207],98:[1,1208]}),{2:$V1,3:219,4:$V2,5:$V3,77:[1,1210],132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,203:1209,209:1211,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($VL2,[2,164]),o($VL2,[2,165]),o($VL2,[2,166]),o($VL2,[2,167]),o($VL2,[2,168]),{2:$V1,3:667,4:$V2,5:$V3},o($Vz1,[2,83],{74:[1,1212]}),o($VO4,[2,85]),o($VO4,[2,86]),{113:1213,132:$VW,296:$Vj1},o([10,72,74,78,93,98,118,124,128,162,168,169,183,198,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],$Vy2,{116:$V94}),o($Vh4,[2,73]),o($Vh4,[2,1050]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1214,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,126]),o($Vl4,[2,144]),o($Vl4,[2,145]),o($Vl4,[2,146]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,78:[2,1065],94:260,111:149,113:153,127:1215,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1216,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,1217]},o($Vl4,[2,94]),o([2,4,5,10,72,74,76,77,78,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,96],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o([2,4,5,10,72,74,76,77,78,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,97],{114:625,327:637,99:$VZ1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1218],112:$VS2,114:736,115:$V$1,116:$V02,117:1219,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},o($VP4,[2,1061],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1221,118:$VT2,122:$VU2,123:$VV2,124:$VW2,126:1220,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1222,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1223,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1224,4:$V2,5:$V3},o($Vl4,[2,110]),o($Vl4,[2,111]),o($Vl4,[2,112]),o($Vl4,[2,119]),{2:$V1,3:1225,4:$V2,5:$V3},{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1226,336:1064,337:1066},{2:$V1,3:1227,4:$V2,5:$V3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1228,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,125]),o($VP4,[2,1067],{155:1229}),o($VP4,[2,1069],{157:1230}),o($VP4,[2,1071],{159:1231}),o($VP4,[2,1075],{161:1232}),o($VQ4,$VR4,{163:1233,178:1234}),{77:[1,1235]},o($VP4,[2,1077],{165:1236}),o($VP4,[2,1079],{167:1237}),o($VQ4,$VR4,{178:1234,163:1238}),o($VQ4,$VR4,{178:1234,163:1239}),o($VQ4,$VR4,{178:1234,163:1240}),o($VQ4,$VR4,{178:1234,163:1241}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1242,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1243,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VS4,[2,1081],{176:1244}),o($VK,[2,606],{183:[1,1245]}),o($VK,[2,602],{183:[1,1246]}),o($VK,[2,595]),{113:1247,132:$VW,296:$Vj1},o($VK,[2,604],{183:[1,1248]}),o($VK,[2,599]),o($VK,[2,600],{112:[1,1249]}),o($Vv3,[2,69]),{40:1250,79:75,89:$V7,184:99,189:$Vb},o($VK,[2,450],{74:$VT4,128:[1,1251]}),o($VU4,[2,451]),{124:[1,1253]},{2:$V1,3:1254,4:$V2,5:$V3},o($Vt1,[2,1115]),o($Vt1,[2,1116]),o($VK,[2,618]),o($Vy3,[2,355],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VD4,$VE4,{114:625,327:637,112:$V_1,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,332:$Vw2}),o($VV1,[2,682]),o($VV1,[2,684]),o($VK,[2,650]),o($VK,[2,652],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1255,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1079,4:$V2,5:$V3,77:$Vo4,131:$Vp4,432:1256},o($VV4,[2,659]),o($VV4,[2,660]),o($VV4,[2,661]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1257,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1258,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{114:1077,115:$V$1,116:$V02,124:[1,1259]},o($VD3,[2,755]),o($VF3,[2,148],{74:$Vq4}),o($VF3,[2,149],{74:$Vq4}),o($VF3,[2,150],{74:$Vq4}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:1260,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1261,4:$V2,5:$V3,113:1263,131:[1,1262],132:$VW,296:$Vj1},o($Vr4,[2,275]),o($Vr4,[2,277]),o($Vr4,[2,279]),o($VH1,[2,160]),o($VH1,[2,1090]),{78:[1,1264]},o($VK1,[2,758]),{2:$V1,3:1265,4:$V2,5:$V3},{2:$V1,3:1266,4:$V2,5:$V3},{2:$V1,3:1268,4:$V2,5:$V3,384:1267},{2:$V1,3:1268,4:$V2,5:$V3,384:1269},{2:$V1,3:1270,4:$V2,5:$V3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1271,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1272,4:$V2,5:$V3},{74:$Vx3,78:[1,1273]},o($Vz2,[2,347]),o($Vz2,[2,348]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1274,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1275,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1276,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1277,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VH3,[2,504]),o($VK,$VW4,{407:1278,76:$VX4,77:[1,1279]}),o($VK,$VW4,{407:1281,76:$VX4}),{77:[1,1282]},{2:$V1,3:244,4:$V2,5:$V3,199:1283},o($VD3,[2,731]),o($VD3,[2,733]),o($VD3,[2,1146]),{143:$VF1,145:$VG1,431:1284},o($VY4,[2,1147],{419:190,479:1285,144:1286,145:$VC1,420:$Vr1,424:$Vs1}),{76:$Vs4,139:[2,1151],481:1287,483:1288},o([10,74,76,78,132,139,145,152,306,310,420,424,602,764],$VM3,{490:851,493:852,137:$VS1}),o($VD3,[2,736]),o($VD3,$VK3),{74:$VI3,78:[1,1289]},o($VO3,[2,1165],{492:1290,497:1291,152:$VT1}),o($VN3,[2,1164]),o($VO3,[2,745]),o($VO3,[2,1170]),o($VK,[2,490],{77:[1,1292]}),{76:[1,1294],77:[1,1293]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,148:[1,1295],154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VI4,$VZ4,{79:75,184:99,468:1296,40:1299,89:$V7,146:$V_4,189:$Vb,470:$V$4}),o($Vt4,[2,1140]),o($VQ3,[2,723]),{230:[1,1300]},o($V05,[2,769]),o($V05,[2,770]),o($V05,[2,771]),o($VR3,$VS3,{510:1301,95:$VT3,514:$VU3,515:$VV3,516:$VW3}),o($VR3,[2,768]),o($VK,[2,312]),o($VK,[2,313]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1302,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VV1,[2,690],{124:[1,1303]}),o($Vx4,[2,541]),{131:[1,1305],388:1304,390:[1,1306]},o($Vx4,[2,5]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1307,419:190,420:$Vr1,424:$Vs1},o($VK,[2,455],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VK,[2,589]),o($VK,[2,590]),{2:$V1,3:244,4:$V2,5:$V3,199:1308},o($VK,[2,670]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1309,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1310,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1311],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1312],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:168,4:$V2,5:$V3,40:1313,56:165,77:$VU,79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1314,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1315]},{74:$Vx3,78:[1,1316]},o($VB1,[2,426]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1317,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,40:1318,56:165,77:$VU,78:[1,1320],79:75,89:$V7,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1319,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,184:99,189:$Vb,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,429]),o($VB1,[2,431]),o($VB1,$V15,{275:1321,276:$V25}),{78:[1,1323],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1324],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:1325,4:$V2,5:$V3,180:[1,1326]},o($VD2,[2,619]),o($VB1,[2,363]),{306:[1,1327]},o($VB1,[2,370]),{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,306:[2,374],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1328,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{4:$VX3,7:879,272:1329,387:878,389:$VY3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1330,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VD2,[2,641]),o($V74,[2,648]),o($V84,[2,636]),o($VH4,$VG4),o($VD2,[2,638]),o($Vb4,[2,643]),o($Vb4,[2,645]),o($Vb4,[2,646]),o($Vb4,[2,647]),o($VI4,[2,457],{74:$VJ4}),{77:[1,1332],143:$VY,144:1333,145:$VC1,152:$V$,181:$V31,201:1334,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,463]),{74:$V35,78:[1,1335]},{74:$V45,78:[1,1337]},o([74,78,99,112,115,116,123,124,133,136,138,139,140,141,142,154,170,171,179,180,311,312,313,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333],$V55),o($V65,[2,479],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{40:1341,77:$Ve4,79:75,89:$V7,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,184:99,189:$Vb,201:980,302:$Vn1,341:1339,342:1340,344:$Vd4,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,461],{74:$VJ4}),o($VK,[2,717],{457:1342,458:1343,459:1344,308:$VM4,464:[1,1345]}),o($V75,[2,701]),o($V75,[2,702]),{154:[1,1347],460:[1,1346]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,308:[2,698],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VI2,[2,179]),{2:$V1,3:1348,4:$V2,5:$V3},o($VK,[2,574]),o($V85,[2,238],{84:1349,128:[1,1350]}),o($VN4,[2,1046]),{77:[1,1351]},{77:[1,1352]},o($Vf4,[2,169],{204:1353,215:1355,205:1356,216:1357,221:1360,74:$V95,206:$Va5,208:$Vb5,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5}),{2:$V1,3:219,4:$V2,5:$V3,40:711,77:$Vw1,79:75,89:$V7,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,184:99,189:$Vb,199:213,200:215,201:214,202:217,203:1369,209:1211,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($Vk5,[2,177]),{2:$V1,3:1011,4:$V2,5:$V3,110:1370,111:1009,112:$Vg4},o($VO4,[2,87]),o($Vh4,[2,147],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{78:[1,1371]},{74:$Vx3,78:[2,1066]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,78:[2,1059],94:1376,111:149,113:153,120:1372,121:1373,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,242:[1,1375],254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,98]),o($VP4,[2,1062],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1377],112:$VS2,114:736,115:$V$1,116:$V02,117:1378,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},o($VP4,[2,1063],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{78:[1,1379],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1380],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1381]},o($Vl4,[2,120]),{74:$VT4,78:[1,1382]},o($Vl4,[2,122]),{74:$Vx3,78:[1,1383]},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1384],112:$VS2,114:736,115:$V$1,116:$V02,117:1385,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1386],112:$VS2,114:736,115:$V$1,116:$V02,117:1387,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1388],112:$VS2,114:736,115:$V$1,116:$V02,117:1389,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1390],112:$VS2,114:736,115:$V$1,116:$V02,117:1391,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{74:$Vl5,78:[1,1392]},o($V65,[2,143],{419:190,3:733,114:736,144:758,158:768,160:769,117:1394,2:$V1,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,115:$V$1,116:$V02,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,420:$Vr1,424:$Vs1}),o($VQ4,$VR4,{178:1234,163:1395}),{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1396],112:$VS2,114:736,115:$V$1,116:$V02,117:1397,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,78:[1,1398],112:$VS2,114:736,115:$V$1,116:$V02,117:1399,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{74:$Vl5,78:[1,1400]},{74:$Vl5,78:[1,1401]},{74:$Vl5,78:[1,1402]},{74:$Vl5,78:[1,1403]},{78:[1,1404],153:1015,179:$Vi4,180:$Vj4,181:$Vk4},{74:$Vq4,78:[1,1405]},{2:$V1,3:733,4:$V2,5:$V3,72:$VP2,74:[1,1406],76:$VQ2,77:$VR2,112:$VS2,114:736,115:$V$1,116:$V02,117:1407,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,144:758,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,158:768,160:769,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1408,4:$V2,5:$V3},{2:$V1,3:1409,4:$V2,5:$V3},o($VK,[2,597]),{2:$V1,3:1410,4:$V2,5:$V3},{113:1411,132:$VW,296:$Vj1},{78:[1,1412]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1413,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,336:1414,337:1066},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1415,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{124:[1,1416]},o($VK,[2,653],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VV4,[2,658]),{78:[1,1417],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VK,[2,654],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1418,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vr4,[2,272]),o($Vr4,[2,274]),o($Vr4,[2,276]),o($Vr4,[2,278]),o($VH1,[2,161]),o($VK,[2,569]),{148:[1,1419]},o($VK,[2,570]),o($VD3,[2,536],{387:878,7:879,272:1420,4:$VX3,386:[1,1421],389:$VY3}),o($VK,[2,571]),o($VK,[2,573]),{74:$Vx3,78:[1,1422]},o($VK,[2,577]),o($Vz2,[2,345]),{74:[1,1423],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1424],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1425],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{74:[1,1426],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VK,[2,581]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1427,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1428,4:$V2,5:$V3},o($VK,[2,583]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1429,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,1430]},{2:$V1,3:1431,4:$V2,5:$V3},{76:$Vs4,139:[2,1149],480:1432,483:1433},o($VY4,[2,1148]),{139:[1,1434]},{139:[2,1152]},o($VD3,[2,737]),o($VO3,[2,744]),o($VO3,[2,1166]),{2:$V1,3:1268,4:$V2,5:$V3,76:[1,1437],351:1435,358:1436,384:1438},{2:$V1,3:1011,4:$V2,5:$V3,100:1439,111:1440},{40:1441,79:75,89:$V7,184:99,189:$Vb},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1442,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,722]),{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1443,336:1064,337:1066},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1444,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,727]),{2:$V1,3:244,4:$V2,5:$V3,199:1445},{335:$Vu4,338:$Vv4,339:$Vw4,511:1446},o($VV1,[2,691],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1447,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{74:[1,1448],78:[1,1449]},o($V65,[2,543]),o($V65,[2,544]),{74:$V45,78:[1,1450]},o($VV1,[2,565]),o($Vz4,[2,380],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($Vz4,[2,382],{114:625,327:637,115:$V$1,116:$V02,123:$V12,133:$V32,136:$V42,138:$V52,141:$V82,142:$V92,179:$Vd2,180:$Ve2,312:$Vg2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2}),o($VB1,[2,396]),o($VB1,[2,400]),{78:[1,1451]},{74:$Vx3,78:[1,1452]},o($VB1,[2,422]),o($VB1,[2,424]),{78:[1,1453],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1454]},{74:$Vx3,78:[1,1455]},o($VB1,[2,427]),o($VB1,[2,327]),{77:[1,1456]},o($VB1,$V15,{275:1457,276:$V25}),o($VB1,$V15,{275:1458,276:$V25}),o($VH4,[2,284]),o($VB1,[2,281]),o($VB1,[2,369]),o($V64,[2,373],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{74:[1,1460],78:[1,1459]},{74:[1,1462],78:[1,1461],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{2:$V1,3:1325,4:$V2,5:$V3},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1194,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,345:1463,419:190,420:$Vr1,424:$Vs1},o($VL4,[2,477]),o($VL4,[2,478]),{40:1466,77:$Ve4,79:75,89:$V7,143:$VY,144:979,145:$VC1,149:$Vc4,152:$V$,181:$V31,184:99,189:$Vb,201:980,302:$Vn1,341:1464,342:1465,344:$Vd4,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,111:1467},o($VL4,[2,473]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1468,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1469,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,460],{74:$VJ4}),o($VI4,[2,467]),o($VK,[2,694]),o($V75,[2,699]),o($V75,[2,700]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:817,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,174:1470,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{170:[1,1472],309:[1,1471]},{460:[1,1473]},o($VI2,[2,180]),o($Vm5,[2,240],{85:1474,232:[1,1475]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1476,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1477,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1478,4:$V2,5:$V3},o($Vf4,[2,170],{216:1357,221:1360,215:1479,205:1480,206:$Va5,208:$Vb5,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5}),{2:$V1,3:219,4:$V2,5:$V3,77:$Vw1,132:$Vx1,143:$VY,144:212,145:$VZ,152:$V$,156:$VL,181:$V31,199:213,200:215,201:214,202:217,209:1481,213:$Vy1,214:218,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},o($Vn5,[2,205]),o($Vn5,[2,206]),{2:$V1,3:219,4:$V2,5:$V3,77:[1,1486],143:$VY,144:1484,145:$VZ,152:$V$,156:$VL,181:$V31,199:1483,200:1487,201:1485,202:1488,217:1482,290:$VM,291:$VN,292:$VO,293:$VP,302:$Vn1,419:190,420:$Vr1,424:$Vs1},{207:[1,1489],223:$Vo5},{207:[1,1491],223:$Vp5},o($Vq5,[2,222]),{206:[1,1495],208:[1,1494],221:1493,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5},o($Vq5,[2,224]),{223:[1,1496]},{208:[1,1498],223:[1,1497]},{208:[1,1500],223:[1,1499]},{208:[1,1501]},{223:[1,1502]},{223:[1,1503]},{74:$V95,204:1504,205:1356,206:$Va5,208:$Vb5,215:1355,216:1357,221:1360,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5},o($VO4,[2,84]),o($Vl4,[2,100]),{74:$Vr5,78:[1,1505]},{78:[1,1507]},o($Vs5,[2,261]),{78:[2,1060]},o($Vs5,[2,263],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,242:[1,1508],243:[1,1509],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($Vl4,[2,99]),o($VP4,[2,1064],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,101]),o($Vl4,[2,102]),o($Vl4,[2,103]),o($Vl4,[2,121]),o($Vl4,[2,124]),o($Vl4,[2,127]),o($VP4,[2,1068],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,128]),o($VP4,[2,1070],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,129]),o($VP4,[2,1072],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,130]),o($VP4,[2,1076],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,131]),o($VQ4,[2,1083],{177:1510}),o($VQ4,[2,1086],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),{74:$Vl5,78:[1,1511]},o($Vl4,[2,133]),o($VP4,[2,1078],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,134]),o($VP4,[2,1080],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,135]),o($Vl4,[2,136]),o($Vl4,[2,137]),o($Vl4,[2,138]),o($Vl4,[2,139]),o($Vl4,[2,140]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:260,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,151:1512,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VS4,[2,1082],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($VK,[2,607]),o($VK,[2,603]),o($VK,[2,605]),o($VK,[2,601]),o($Vv3,[2,71]),o($VK,[2,449],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VU4,[2,452]),o($VU4,[2,453],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1513,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VV4,[2,662]),o($VK,[2,655],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:1514,4:$V2,5:$V3},o($VD3,[2,545],{385:1515,391:1516,392:1517,366:1525,154:$Vt5,187:$Vu5,230:$Vv5,297:$Vw5,343:$Vx5,356:$Vy5,368:$Vz5,369:$VA5,373:$VB5,374:$VC5}),o($VD3,[2,535]),o($VK,[2,576],{76:[1,1529]}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1530,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1531,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1532,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1533,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{74:$Vx3,78:[1,1534]},o($VK,[2,585]),{74:$Vr5,78:[1,1535]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1536,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o([10,74,78,139,306,310,602,764],[2,741]),{139:[1,1537]},{139:[2,1150]},{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,475:1124,478:1538,482:582,493:579,497:581},{78:[1,1539]},{74:[1,1540],78:[2,506]},{40:1541,79:75,89:$V7,184:99,189:$Vb},o($V65,[2,532]),{74:$V35,78:[1,1542]},o($Vk5,$V55),o($VK,[2,1133],{412:1543,413:1544,72:$VD5}),o($VI4,$VZ4,{79:75,184:99,114:625,327:637,40:1299,468:1546,89:$V7,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,146:$V_4,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,189:$Vb,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2,470:$V$4}),o($VI4,[2,725],{74:$VT4}),o($VI4,[2,726],{74:$Vx3}),o([10,53,72,89,124,146,156,189,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],[2,1181],{512:1547,3:1548,2:$V1,4:$V2,5:$V3,76:[1,1549]}),o($VE5,[2,1183],{513:1550,76:[1,1551]}),o($VV1,[2,692],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{131:[1,1552]},o($Vx4,[2,538]),o($Vx4,[2,540]),o($VB1,[2,412]),o($VB1,[2,413]),o($VB1,[2,439]),o($VB1,[2,423]),o($VB1,[2,425]),{118:$VF5,277:1553,278:1554,279:[1,1555]},o($VB1,[2,328]),o($VB1,[2,329]),o($VB1,[2,316]),{131:[1,1557]},o($VB1,[2,318]),{131:[1,1558]},{74:$V45,78:[1,1559]},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1560,419:190,420:$Vr1,424:$Vs1},o($VI4,[2,465],{74:$VJ4}),o($VI4,[2,468]),o($Vk5,[2,488]),o($V65,[2,480],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VI4,[2,459],{74:$VJ4}),o($VK,[2,718],{74:$Vq4,198:[1,1561]}),{335:$VG5,338:$VH5,461:1562},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1565,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{119:[1,1567],170:[1,1568],309:[1,1566]},o($VI5,[2,259],{86:1569,118:[1,1570]}),{119:[1,1571]},o($V85,[2,239],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{95:[1,1572],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{95:[1,1573]},o($Vn5,[2,203]),o($Vn5,[2,204]),o($Vk5,[2,178]),o($Vn5,[2,237],{218:1574,230:[1,1575],231:[1,1576]}),o($VJ5,[2,208],{3:1577,2:$V1,4:$V2,5:$V3,76:[1,1578]}),o($VK5,[2,1095],{219:1579,76:[1,1580]}),{2:$V1,3:1581,4:$V2,5:$V3,76:[1,1582]},{40:1583,79:75,89:$V7,184:99,189:$Vb},o($VJ5,[2,216],{3:1584,2:$V1,4:$V2,5:$V3,76:[1,1585]}),o($VJ5,[2,219],{3:1586,2:$V1,4:$V2,5:$V3,76:[1,1587]}),{77:[1,1588]},o($Vq5,[2,234]),{77:[1,1589]},o($Vq5,[2,230]),o($Vq5,[2,223]),{223:$Vp5},{223:$Vo5},o($Vq5,[2,225]),o($Vq5,[2,226]),{223:[1,1590]},o($Vq5,[2,228]),{223:[1,1591]},{223:[1,1592]},o($Vq5,[2,232]),o($Vq5,[2,233]),{78:[1,1593],205:1480,206:$Va5,208:$Vb5,215:1479,216:1357,221:1360,222:$Vc5,223:$Vd5,224:$Ve5,225:$Vf5,226:$Vg5,227:$Vh5,228:$Vi5,229:$Vj5},o($Vl4,[2,91]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1594,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vl4,[2,92]),o($Vs5,[2,264]),{244:[1,1595]},o($V65,[2,142],{419:190,3:733,114:736,144:758,158:768,160:769,117:1596,2:$V1,4:$V2,5:$V3,72:$VP2,76:$VQ2,77:$VR2,112:$VS2,115:$V$1,116:$V02,118:$VT2,122:$VU2,123:$VV2,124:$VW2,128:$VX2,129:$VY2,130:$VZ2,131:$V_2,132:$V$2,133:$V03,134:$V13,135:$V23,136:$V33,137:$V43,138:$V53,139:$V63,140:$V73,141:$V83,142:$V93,143:$Va3,145:$Vb3,146:$Vc3,148:$Vd3,149:$Ve3,150:$Vf3,152:$Vg3,154:$Vh3,156:$Vi3,162:$Vj3,164:$Vk3,166:$Vl3,168:$Vm3,169:$Vn3,170:$Vo3,171:$Vp3,172:$Vq3,173:$Vr3,175:$Vs3,185:$Vt3,187:$Vu3,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,420:$Vr1,424:$Vs1}),o($Vl4,[2,132]),{74:$Vx3,78:[1,1597]},o($VU4,[2,454],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($VK,[2,572]),o($VD3,[2,534]),o($VD3,[2,546],{366:1525,392:1598,154:$Vt5,187:$Vu5,230:$Vv5,297:$Vw5,343:$Vx5,356:$Vy5,368:$Vz5,369:$VA5,373:$VB5,374:$VC5}),o($Vw3,[2,548]),{370:[1,1599]},{370:[1,1600]},{2:$V1,3:244,4:$V2,5:$V3,199:1601},o($Vw3,[2,554],{77:[1,1602]}),{2:$V1,3:114,4:$V2,5:$V3,77:[1,1604],113:251,131:$VV,132:$VW,143:$VY,152:$V$,156:$VL,181:$V31,196:250,200:1605,201:254,257:252,258:253,265:$VD1,274:1603,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1},o($Vw3,[2,558]),{297:[1,1606]},o($Vw3,[2,560]),o($Vw3,[2,561]),{335:[1,1607]},{77:[1,1608]},{2:$V1,3:1609,4:$V2,5:$V3},{78:[1,1610],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1611],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1612],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{78:[1,1613],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VK,$VW4,{407:1614,76:$VX4}),o($VK,[2,591]),{74:$Vr5,78:[1,1615]},{2:$V1,3:1122,4:$V2,5:$V3,132:$VR1,137:$VS1,143:$VF1,145:$VG1,152:$VT1,431:585,475:1124,478:1616,482:582,493:579,497:581},o($VD3,[2,735]),o($VK,[2,493],{352:1617,354:1618,355:1619,4:$VL5,243:$VM5,343:$VN5,356:$VO5}),o($VP5,$VQ5,{3:1268,359:1624,384:1625,360:1626,361:1627,2:$V1,4:$V2,5:$V3,367:$VR5}),{78:[2,507]},{76:[1,1629]},o($VK,[2,609]),o($VK,[2,1134]),{368:[1,1631],414:[1,1630]},o($VI4,[2,728]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1632,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VK,[2,762]),o($VE5,[2,1182]),o($VK,$V0,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1633,2:$V1,4:$V2,5:$V3,53:$V5,72:$V6,89:$V7,124:$V8,146:$V9,156:$Va,189:$Vb,266:$Vc,267:$Vd,290:$Ve,335:$Vf,338:$Vg,339:$Vh,396:$Vi,400:$Vj,401:$Vk,404:$Vl,406:$Vm,408:$Vn,409:$Vo,417:$Vp,418:$Vq,434:$Vr,436:$Vs,437:$Vt,439:$Vu,440:$Vv,441:$Vw,442:$Vx,443:$Vy,447:$Vz,448:$VA,451:$VB,452:$VC,505:$VD,507:$VE,508:$VF,517:$VG}),o($VE5,[2,1184]),{78:[1,1634]},{78:[1,1635],118:$VF5,278:1636},{78:[1,1637]},{119:[1,1638]},{119:[1,1639]},{78:[1,1640]},{78:[1,1641]},o($VL4,[2,476]),o($VI4,[2,464],{74:$VJ4}),{2:$V1,3:244,4:$V2,5:$V3,143:$VF1,145:$VG1,199:1643,431:1642},o($V75,[2,703]),o($V75,[2,705]),{146:[1,1644]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1645],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},{339:$VS5,462:1646},{417:[1,1649],463:[1,1648]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1650,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VT5,[2,267],{87:1651,245:[1,1652],247:[1,1653]}),{119:[1,1654]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1655,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1661,4:$V2,5:$V3},{2:$V1,3:1662,4:$V2,5:$V3},o($Vn5,[2,207]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1663,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,100:1664,111:1440},o($VJ5,[2,209]),{2:$V1,3:1665,4:$V2,5:$V3},o($VJ5,[2,1097],{220:1666,3:1667,2:$V1,4:$V2,5:$V3}),o($VK5,[2,1096]),o($VJ5,[2,212]),{2:$V1,3:1668,4:$V2,5:$V3},{78:[1,1669]},o($VJ5,[2,217]),{2:$V1,3:1670,4:$V2,5:$V3},o($VJ5,[2,220]),{2:$V1,3:1671,4:$V2,5:$V3},{40:1672,79:75,89:$V7,184:99,189:$Vb},{40:1673,79:75,89:$V7,184:99,189:$Vb},o($Vq5,[2,227]),o($Vq5,[2,229]),o($Vq5,[2,231]),o($Vf4,[2,171]),o($Vs5,[2,262]),o($Vs5,[2,265],{242:[1,1674]}),o($VQ4,[2,1084],{153:1015,179:$Vi4,180:$Vj4,181:$Vk4}),o($Vl4,[2,141]),o($Vw3,[2,547]),o($Vw3,[2,550]),{374:[1,1675]},o($Vw3,[2,1127],{395:1676,393:1677,77:$VX5}),{131:$VV,196:1679},o($Vw3,[2,555]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1680,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vw3,[2,557]),o($Vw3,[2,559]),{2:$V1,3:114,4:$V2,5:$V3,77:[1,1682],113:251,131:$VV,132:$VW,143:$VY,152:$V$,156:$VL,181:$V31,196:250,200:255,201:254,257:252,258:253,265:$VD1,274:1681,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,302:$Vn1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1683,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VK,[2,578]),o($Vz2,[2,349]),o($Vz2,[2,350]),o($Vz2,[2,351]),o($Vz2,[2,352]),o($VK,[2,582]),o($VK,[2,592]),o($VD3,[2,734]),o($VK,[2,489]),o($VK,[2,494],{355:1684,4:$VL5,243:$VM5,343:$VN5,356:$VO5}),o($VY5,[2,496]),o($VY5,[2,497]),{124:[1,1685]},{124:[1,1686]},{124:[1,1687]},{74:[1,1688],78:[2,505]},o($V65,[2,533]),o($V65,[2,508]),{187:[1,1696],193:[1,1697],362:1689,363:1690,364:1691,365:1692,366:1693,368:$Vz5,369:[1,1694],370:[1,1698],373:[1,1695]},{2:$V1,3:1699,4:$V2,5:$V3},{40:1700,79:75,89:$V7,184:99,189:$Vb},{415:[1,1701]},{416:[1,1702]},o($VK,[2,761]),o($VK,[2,763]),o($Vx4,[2,537]),o($VB1,[2,331]),{78:[1,1703]},o($VB1,[2,332]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1704,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1705,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($VB1,[2,317]),o($VB1,[2,319]),{2:$V1,3:1706,4:$V2,5:$V3},o($VK,[2,720],{77:[1,1707]}),{2:$V1,3:1011,4:$V2,5:$V3,111:1065,143:$Vm4,145:$Vn4,147:1708,336:1064,337:1066},{335:$VG5,338:$VH5,461:1709},o($V75,[2,707]),{77:[1,1711],343:[1,1712],344:[1,1710]},{170:[1,1714],309:[1,1713]},{170:[1,1716],309:[1,1715]},{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1717],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vh4,[2,250],{88:1718,162:[1,1719],168:[1,1721],169:[1,1720]}),{131:$VV,196:1722},{131:$VV,196:1723},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1376,111:149,113:153,120:1724,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},o($Vm5,[2,248],{234:1725,74:$VZ5,239:[1,1727]}),o($V_5,[2,242]),{146:[1,1728]},{77:[1,1729]},{77:[1,1730]},o($V_5,[2,247],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{78:[2,1051],96:1731,99:[1,1733],102:1732},{99:[1,1734]},o($Vn5,[2,235],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),o($Vn5,[2,236],{74:$V35}),o($VJ5,[2,210]),o($VJ5,[2,211]),o($VJ5,[2,1098]),o($VJ5,[2,213]),{2:$V1,3:1735,4:$V2,5:$V3,76:[1,1736]},o($VJ5,[2,218]),o($VJ5,[2,221]),{78:[1,1737]},{78:[1,1738]},o($Vs5,[2,266]),{2:$V1,3:244,4:$V2,5:$V3,199:1739},o($Vw3,[2,552]),o($Vw3,[2,1128]),{2:$V1,3:1740,4:$V2,5:$V3},{74:[1,1741]},{78:[1,1742],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vw3,[2,562]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1743,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1744],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($VY5,[2,495]),{2:$V1,3:1745,4:$V2,5:$V3},{131:$VV,196:1746},{2:$V1,3:1747,4:$V2,5:$V3},o($VP5,$VQ5,{361:1627,360:1748,367:$VR5}),o($VD3,[2,510]),o($VD3,[2,511]),o($VD3,[2,512]),o($VD3,[2,513]),o($VD3,[2,514]),{370:[1,1749]},{370:[1,1750]},o($V$5,[2,1121],{382:1751,370:[1,1752]}),{2:$V1,3:1753,4:$V2,5:$V3},{2:$V1,3:1754,4:$V2,5:$V3},o($VP5,[2,516]),o($VK,[2,1131],{411:1755,413:1756,72:$VD5}),o($VK,[2,610]),o($VK,[2,611],{367:[1,1757]}),o($VB1,[2,333]),o([78,118],[2,334],{74:$VZ5}),{74:$Vr5,78:[2,335]},o($VK,[2,719]),{2:$V1,3:1011,4:$V2,5:$V3,100:1758,111:1440},o($V75,[2,706],{74:$VT4}),o($V75,[2,704]),{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1759,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,100:1760,111:1440},{344:[1,1761]},{339:$VS5,462:1762},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1763,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{339:$VS5,462:1764},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1765,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{339:$VS5,462:1766},o($Vh4,[2,72]),{40:1767,79:75,89:$V7,164:[1,1768],184:99,189:$Vb,240:[1,1769]},{40:1770,79:75,89:$V7,184:99,189:$Vb,240:[1,1771]},{40:1772,79:75,89:$V7,184:99,189:$Vb,240:[1,1773]},o($VT5,[2,270],{246:1774,247:[1,1775]}),{248:1776,249:[2,1099],766:[1,1777]},o($VI5,[2,260],{74:$Vr5}),o($Vm5,[2,241]),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,235:1778,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1779,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{77:[1,1780]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1781,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1782,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{78:[1,1783]},{78:[2,1052]},{77:[1,1784]},{77:[1,1785]},o($VJ5,[2,214]),{2:$V1,3:1786,4:$V2,5:$V3},{2:$V1,3:1787,4:$V2,5:$V3,76:[1,1788]},{2:$V1,3:1789,4:$V2,5:$V3,76:[1,1790]},o($Vw3,[2,1125],{394:1791,393:1792,77:$VX5}),{78:[1,1793]},{131:$VV,196:1794},o($Vw3,[2,556]),{78:[1,1795],99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($Vw3,[2,517]),o($VY5,[2,498]),o($VY5,[2,499]),o($VY5,[2,500]),o($V65,[2,509]),{2:$V1,3:1797,4:$V2,5:$V3,77:[2,1117],371:1796},{77:[1,1798]},{2:$V1,3:1800,4:$V2,5:$V3,77:[2,1123],383:1799},o($V$5,[2,1122]),{77:[1,1801]},{77:[1,1802]},o($VK,[2,608]),o($VK,[2,1132]),o($VP5,$VQ5,{361:1627,360:1803,367:$VR5}),{74:$V35,78:[1,1804]},o($V75,[2,713],{74:$VJ4}),{74:$V35,78:[1,1805]},o($V75,[2,715]),o($V75,[2,708]),{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1806],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($V75,[2,711]),{99:$VZ1,112:$V_1,114:625,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,309:[1,1807],311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,327:637,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2},o($V75,[2,709]),o($Vh4,[2,251]),{40:1808,79:75,89:$V7,184:99,189:$Vb,240:[1,1809]},{40:1810,79:75,89:$V7,184:99,189:$Vb},o($Vh4,[2,253]),{40:1811,79:75,89:$V7,184:99,189:$Vb},o($Vh4,[2,254]),{40:1812,79:75,89:$V7,184:99,189:$Vb},o($VT5,[2,268]),{131:$VV,196:1813},{249:[1,1814]},{249:[2,1100]},o($V_5,[2,243]),o($Vm5,[2,249],{114:625,327:637,99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1660,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,233:1815,235:1656,236:$VU5,237:$VV5,238:$VW5,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{74:$VZ5,78:[1,1816]},{74:$VZ5,78:[1,1817]},o($VN4,[2,1053],{97:1818,104:1819,3:1821,2:$V1,4:$V2,5:$V3,76:$V06}),{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1824,103:1822,105:1823,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1011,4:$V2,5:$V3,100:1825,111:1440},o($VJ5,[2,215]),o($Vn5,[2,173]),{2:$V1,3:1826,4:$V2,5:$V3},o($Vn5,[2,175]),{2:$V1,3:1827,4:$V2,5:$V3},o($Vw3,[2,551]),o($Vw3,[2,1126]),o($Vw3,[2,549]),{78:[1,1828]},o($Vw3,[2,563]),{77:[1,1829]},{77:[2,1118]},{2:$V1,3:1831,4:$V2,5:$V3,132:$V16,372:1830},{77:[1,1833]},{77:[2,1124]},{2:$V1,3:1011,4:$V2,5:$V3,100:1834,111:1440},{2:$V1,3:1011,4:$V2,5:$V3,100:1835,111:1440},o($VK,[2,612]),o($VK,[2,721]),{343:[1,1837],344:[1,1836]},{339:$VS5,462:1838},{335:$VG5,338:$VH5,461:1839},o($Vh4,[2,252]),{40:1840,79:75,89:$V7,184:99,189:$Vb},o($Vh4,[2,255]),o($Vh4,[2,257]),o($Vh4,[2,258]),o($VT5,[2,271]),{131:[2,1101],250:1841,645:[1,1842]},{74:$VZ5,78:[1,1843]},o($V_5,[2,245]),o($V_5,[2,246]),o($VN4,[2,74]),o($VN4,[2,1054]),{2:$V1,3:1844,4:$V2,5:$V3},o($VN4,[2,78]),{74:[1,1846],78:[1,1845]},o($V65,[2,80]),o($V65,[2,81],{114:625,327:637,76:[1,1847],99:$VZ1,112:$V_1,115:$V$1,116:$V02,123:$V12,124:$Vz3,133:$V32,136:$V42,138:$V52,139:$V62,140:$V72,141:$V82,142:$V92,154:$Va2,170:$Vb2,171:$Vc2,179:$Vd2,180:$Ve2,311:$Vf2,312:$Vg2,313:$Vh2,315:$Vi2,316:$Vj2,317:$Vk2,318:$Vl2,319:$Vm2,320:$Vn2,321:$Vo2,322:$Vp2,323:$Vq2,324:$Vr2,325:$Vs2,326:$Vt2,330:$Vu2,331:$Vv2,332:$Vw2,333:$Vx2}),{74:$V35,78:[1,1848]},o($Vn5,[2,174]),o($Vn5,[2,176]),o($Vw3,[2,553]),{2:$V1,3:1831,4:$V2,5:$V3,132:$V16,372:1849},{74:$V26,78:[1,1850]},o($V65,[2,528]),o($V65,[2,529]),{2:$V1,3:1011,4:$V2,5:$V3,100:1852,111:1440},{74:$V35,78:[1,1853]},{74:$V35,78:[1,1854]},{77:$Ve4,143:$VY,144:979,145:$VC1,152:$V$,181:$V31,201:980,302:$Vn1,342:1855,419:190,420:$Vr1,424:$Vs1},{344:[1,1856]},o($V75,[2,710]),o($V75,[2,712]),o($Vh4,[2,256]),{131:$VV,196:1857},{131:[2,1102]},o($V_5,[2,244]),o($VN4,[2,77]),{78:[2,76]},{2:$V1,3:168,4:$V2,5:$V3,56:165,77:$VU,94:1824,105:1858,111:149,113:153,131:$VV,132:$VW,137:$VX,143:$VY,144:161,145:$VZ,149:$V_,152:$V$,154:$V01,156:$VL,158:167,179:$V11,180:$V21,181:$V31,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:$V41,266:$Vc,270:$V51,271:$V61,273:$V71,280:$V81,281:$V91,282:$Va1,283:$Vb1,284:$Vc1,285:$Vd1,286:$Ve1,287:$Vf1,288:$Vg1,290:$VM,291:$VN,292:$VO,293:$VP,294:$Vh1,295:$Vi1,296:$Vj1,297:$Vk1,298:$Vl1,299:$Vm1,302:$Vn1,303:$Vo1,312:$Vp1,317:$Vq1,419:190,420:$Vr1,424:$Vs1},{2:$V1,3:1859,4:$V2,5:$V3},{78:[1,1860]},{74:$V26,78:[1,1861]},{374:[1,1862]},{2:$V1,3:1863,4:$V2,5:$V3,132:[1,1864]},{74:$V35,78:[1,1865]},o($VD3,[2,526]),o($VD3,[2,527]),o($V75,[2,714],{74:$VJ4}),o($V75,[2,716]),o($V36,[2,1103],{251:1866,766:[1,1867]}),o($V65,[2,79]),o($V65,[2,82]),o($VN4,[2,1055],{3:1821,101:1868,104:1869,2:$V1,4:$V2,5:$V3,76:$V06}),o($VD3,[2,518]),{2:$V1,3:244,4:$V2,5:$V3,199:1870},o($V65,[2,530]),o($V65,[2,531]),o($VD3,[2,525]),o($VT5,[2,1105],{252:1871,415:[1,1872]}),o($V36,[2,1104]),o($VN4,[2,75]),o($VN4,[2,1056]),o($V46,[2,1119],{375:1873,377:1874,77:[1,1875]}),o($VT5,[2,269]),o($VT5,[2,1106]),o($VD3,[2,521],{376:1876,378:1877,230:[1,1878]}),o($V46,[2,1120]),{2:$V1,3:1831,4:$V2,5:$V3,132:$V16,372:1879},o($VD3,[2,519]),{230:[1,1881],379:1880},{338:[1,1882]},{74:$V26,78:[1,1883]},o($VD3,[2,522]),{335:[1,1884]},{380:[1,1885]},o($V46,[2,520]),{380:[1,1886]},{381:[1,1887]},{381:[1,1888]},{230:[2,523]},o($VD3,[2,524])],
-defaultActions: {105:[2,6],194:[2,336],195:[2,337],196:[2,338],197:[2,339],198:[2,340],199:[2,341],200:[2,342],201:[2,343],202:[2,344],209:[2,695],591:[2,1142],653:[2,1107],654:[2,1108],710:[2,696],780:[2,1073],781:[2,1074],926:[2,446],927:[2,447],928:[2,448],987:[2,697],1288:[2,1152],1375:[2,1060],1433:[2,1150],1541:[2,507],1732:[2,1052],1777:[2,1100],1797:[2,1118],1800:[2,1124],1842:[2,1102],1845:[2,76],1887:[2,523]},
-parseError: function parseError(str, hash) {
- if (hash.recoverable) {
- this.trace(str);
- } else {
- var error = new Error(str);
- error.hash = hash;
- throw error;
- }
-},
-parse: function parse(input) {
- var self = this,
- stack = [0],
- tstack = [], // token stack
- vstack = [null], // semantic value stack
- lstack = [], // location stack
- table = this.table,
- yytext = '',
- yylineno = 0,
- yyleng = 0,
- recovering = 0,
- TERROR = 2,
- EOF = 1;
-
- var args = lstack.slice.call(arguments, 1);
-
- //this.reductionCount = this.shiftCount = 0;
-
- var lexer = Object.create(this.lexer);
- var sharedState = { yy: {} };
- // copy state
- for (var k in this.yy) {
- if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
- sharedState.yy[k] = this.yy[k];
+ function queryfn3(alasql, query) {
+ var scope = query.scope, jlen;
+ // Preindexation of data sources
+ // if(!oldscope) {
+ preIndex(query);
+ // }
+ // query.sources.forEach(function(source) {
+ // console.log(source.data);
+ // });
+ // Prepare variables
+ query.data = [];
+ query.xgroups = {};
+ query.groups = [];
+ // Level of Joins
+ var h = 0;
+ // Start walking over data
+ //console.log(142,'1111');
+ doJoin(alasql, query, scope, h);
+ //console.log(144,'2222',query.modifier);
+ //console.log(85,query.data[0]);
+ // If groupping, then filter groups with HAVING function
+ // console.log(query.havingfns);
+ if (query.groupfn) {
+ query.data = [];
+ if (0 === query.groups.length) {
+ var g = {};
+ if (query.selectGroup.length > 0) {
+ // console.log(query.selectGroup);
+ query.selectGroup.forEach(function (sg) {
+ if (sg.aggregatorid === 'COUNT' || sg.aggregatorid === 'SUM') {
+ g[sg.nick] = 0;
+ }
+ else {
+ g[sg.nick] = undefined;
+ }
+ });
+ }
+ query.groups = [g];
+ // console.log();
+ }
+ // ******
+ if (query.aggrKeys.length > 0) {
+ var gfns = '';
+ query.aggrKeys.forEach(function (col) {
+ gfns +=
+ "g['" +
+ col.nick +
+ "']=alasql.aggr['" +
+ col.funcid +
+ "'](undefined,g['" +
+ col.nick +
+ "'],3);";
+ // gfns += 'return g[\''+col.nick+'\];';
+ });
+ // console.log(175, gfns);
+ var gfn = new Function('g,params,alasql', 'var y;' + gfns);
+ }
+ // return "'"+colas+'\':alasql.aggr[\''+col.funcid+'\']('+colexp+',undefined,(acc={}),1),'
+ // +'\'__REDUCE__'+colas+'\':acc,';
+ // *******
+ // console.log('EMPTY',query.groups);
+ // debugger;
+ // if(false && (query.groups.length == 1) && (Object.keys(query.groups[0]).length == 0)) {
+ // console.log('EMPTY',query.groups);
+ // } else {
+ for (var i = 0, ilen = query.groups.length; i < ilen; i++) {
+ var g = query.groups[i];
+ if (gfn)
+ { gfn(g, query.params, alasql); }
+ // console.log(query.groups[i]);
+ if (!query.havingfn || query.havingfn(g, query.params, alasql)) {
+ // console.log(g);
+ var d = query.selectgfn(g, query.params, alasql);
+ query.data.push(d);
+ }
+ }
+ // }
+ // query.groups = query.groups.filter();
}
- }
-
- lexer.setInput(input, sharedState.yy);
- sharedState.yy.lexer = lexer;
- sharedState.yy.parser = this;
- if (typeof lexer.yylloc == 'undefined') {
- lexer.yylloc = {};
- }
- var yyloc = lexer.yylloc;
- lstack.push(yyloc);
-
- var ranges = lexer.options && lexer.options.ranges;
+ // Remove distinct values
+ doDistinct(query);
+ // UNION / UNION ALL
+ if (query.unionallfn) {
+ // TODO Simplify this part of program
+ var ud, nd;
+ if (query.corresponding) {
+ if (!query.unionallfn.query.modifier)
+ { query.unionallfn.query.modifier = undefined; }
+ ud = query.unionallfn(query.params);
+ }
+ else {
+ if (!query.unionallfn.query.modifier)
+ { query.unionallfn.query.modifier = 'RECORDSET'; }
+ nd = query.unionallfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (var i = 0; i < ilen; i++) {
+ var r = {};
+ for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = query.data.concat(ud);
+ }
+ else if (query.unionfn) {
+ if (query.corresponding) {
+ if (!query.unionfn.query.modifier)
+ { query.unionfn.query.modifier = 'ARRAY'; }
+ ud = query.unionfn(query.params);
+ }
+ else {
+ if (!query.unionfn.query.modifier)
+ { query.unionfn.query.modifier = 'RECORDSET'; }
+ nd = query.unionfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (var i = 0; i < ilen; i++) {
+ r = {};
+ jlen = Math.min(query.columns.length, nd.columns.length);
+ for (var j = 0; j < jlen; j++) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayUnionDeep(query.data, ud);
+ }
+ else if (query.exceptfn) {
+ if (query.corresponding) {
+ if (!query.exceptfn.query.modifier)
+ { query.exceptfn.query.modifier = 'ARRAY'; }
+ var ud = query.exceptfn(query.params);
+ }
+ else {
+ if (!query.exceptfn.query.modifier)
+ { query.exceptfn.query.modifier = 'RECORDSET'; }
+ var nd = query.exceptfn(query.params);
+ var ud = [];
+ for (var i = 0, ilen = nd.data.length; i < ilen; i++) {
+ var r = {};
+ for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayExceptDeep(query.data, ud);
+ }
+ else if (query.intersectfn) {
+ if (query.corresponding) {
+ if (!query.intersectfn.query.modifier)
+ { query.intersectfn.query.modifier = undefined; }
+ ud = query.intersectfn(query.params);
+ }
+ else {
+ if (!query.intersectfn.query.modifier)
+ { query.intersectfn.query.modifier = 'RECORDSET'; }
+ nd = query.intersectfn(query.params);
+ ud = [];
+ ilen = nd.data.length;
+ for (i = 0; i < ilen; i++) {
+ r = {};
+ jlen = Math.min(query.columns.length, nd.columns.length);
+ for (j = 0; j < jlen; j++) {
+ r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
+ }
+ ud.push(r);
+ }
+ }
+ query.data = arrayIntersectDeep(query.data, ud);
+ }
+ // Ordering
+ if (query.orderfn) {
+ if (query.explain)
+ { var ms = Date.now(); }
+ query.data = query.data.sort(query.orderfn);
+ if (query.explain) {
+ query.explaination.push({
+ explid: query.explid++,
+ description: 'QUERY BY',
+ ms: Date.now() - ms,
+ });
+ }
+ }
+ // Reduce to limit and offset
+ doLimit(query);
+ // Remove Angular.js artifacts and other unnecessary columns
+ // Issue #25
+ // console.log('removeKeys:',query.removeKeys);
+ // TODO: Check what artefacts rest from Angular.js
+ if (typeof angular !== 'undefined') {
+ query.removeKeys.push('$$hashKey');
+ }
+ if (query.removeKeys.length > 0) {
+ var removeKeys = query.removeKeys;
+ // Remove from data
+ jlen = removeKeys.length;
+ if (jlen > 0) {
+ ilen = query.data.length;
+ for (i = 0; i < ilen; i++) {
+ for (j = 0; j < jlen; j++) {
+ delete query.data[i][removeKeys[j]];
+ }
+ }
+ }
+ // Remove from columns list
+ if (query.columns.length > 0) {
+ query.columns = query.columns.filter(function (column) {
+ var found = false;
+ removeKeys.forEach(function (key) {
+ if (column.columnid === key)
+ { found = true; }
+ });
+ return !found;
+ });
+ }
+ }
+ if (typeof query.removeLikeKeys !== 'undefined' && query.removeLikeKeys.length > 0) {
+ var removeLikeKeys = query.removeLikeKeys;
+ // Remove unused columns
+ // SELECT * REMOVE COLUMNS LIKE "%b"
+ for (var i = 0, ilen = query.data.length; i < ilen; i++) {
+ r = query.data[i];
+ for (var k in r) {
+ for (j = 0; j < query.removeLikeKeys.length; j++) {
+ if (alasql.utils.like(query.removeLikeKeys[j], k)) {
+ // if(k.match(query.removeLikeKeys[j])) {
+ delete r[k];
+ }
+ }
+ }
+ }
+ if (query.columns.length > 0) {
+ query.columns = query.columns.filter(function (column) {
+ var found = false;
+ removeLikeKeys.forEach(function (key) {
+ // if(column.columnid.match(key)) found = true;
+ if (alasql.utils.like(key, column.columnid)) {
+ found = true;
+ }
+ });
+ return !found;
+ });
+ }
+ }
+ if (query.pivotfn)
+ { query.pivotfn(); }
+ if (query.unpivotfn)
+ { query.unpivotfn(); }
+ // console.log(query.intoallfns);
+ /*/*
+ // if(query.explain) {
+ // if(query.cb) query.cb(query.explaination,query.A, query.B);
+ // return query.explaination;
+ // } else
+ */
+ //console.log(190,query.intofns);
+ if (query.intoallfn) {
+ // console.log(161);
+ // var res = query.intoallfn(query.columns,query.cb,query.A, query.B, alasql);
+ var res = query.intoallfn(query.columns, query.cb, query.params, query.alasql);
+ // console.log(1163,res);
+ // if(query.cb) res = query.cb(res,query.A, query.B);
+ // console.log(1165,res);
+ // debugger;
+ return res;
+ }
+ else if (query.intofn) {
+ ilen = query.data.length;
+ for (i = 0; i < ilen; i++) {
+ query.intofn(query.data[i], i, query.params, query.alasql);
+ }
+ // console.log(query.intofn);
+ if (query.cb)
+ { query.cb(query.data.length, query.A, query.B); }
+ return query.data.length;
+ }
+ else {
+ // console.log(111,query.cb,query.data);
+ res = query.data;
+ if (query.cb)
+ { res = query.cb(query.data, query.A, query.B); }
+ return res;
+ }
+ }
+ // Limiting
+ function doLimit(query) {
+ // console.log(query.limit, query.offset)
+ if (query.limit) {
+ var offset = 0;
+ if (query.offset) {
+ offset = query.offset | 0 || 0;
+ offset = offset < 0 ? 0 : offset;
+ }
+ var limit;
+ if (query.percent) {
+ limit = (((query.data.length * query.limit) / 100) | 0) + offset;
+ }
+ else {
+ limit = (query.limit | 0) + offset;
+ }
+ query.data = query.data.slice(offset, limit);
+ }
+ }
+ // Distinct
+ function doDistinct(query) {
+ if (query.distinct) {
+ var uniq = {};
+ // TODO: Speedup, because Object.keys is slow**
+ // TODO: Problem with DISTINCT on objects
+ var keys = Object.keys(query.data[0] || []);
+ for (var i = 0, ilen = query.data.length; i < ilen; i++) {
+ var uix = keys
+ .map(function (k) {
+ return query.data[i][k];
+ })
+ .join('`');
+ uniq[uix] = query.data[i];
+ }
+ query.data = [];
+ for (var ind in uniq) {
+ query.data.push(uniq[ind]);
+ }
+ }
+ }
+ // Optimization: preliminary indexation of joins
+ var preIndex = function (query) {
+ // console.log(query);
+ // Loop over all sources
+ // Todo: make this loop smaller and more graspable
+ for (var k = 0, klen = query.sources.length; k < klen; k++) {
+ var source = query.sources[k];
+ delete source.ix;
+ // If there is indexation rule
+ //console.log('preIndex', source);
+ //console.log(source);
+ if (k > 0 && source.optimization === 'ix' && source.onleftfn && source.onrightfn) {
+ // If there is no table.indices - create it
+ if (source.databaseid && alasql.databases[source.databaseid].tables[source.tableid]) {
+ if (!alasql.databases[source.databaseid].tables[source.tableid].indices)
+ { query.database.tables[source.tableid].indices = {}; }
+ // Check if index already exists
+ var ixx = alasql.databases[source.databaseid].tables[source.tableid].indices[hash(source.onrightfns + '`' + source.srcwherefns)];
+ if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
+ source.ix = ixx;
+ }
+ }
+ if (!source.ix) {
+ source.ix = {};
+ // Walking over source data
+ var scope = {};
+ var i = 0;
+ var ilen = source.data.length;
+ var dataw;
+ // while(source.getfn i 0) {
+ s +=
+ ' GROUP BY ' +
+ this.group
+ .map(function (grp) {
+ return grp.toString();
+ })
+ .join(', ');
+ }
+ if (this.having) {
+ s += ' HAVING ' + this.having.toString();
+ }
+ if (this.order && this.order.length > 0) {
+ s +=
+ ' ORDER BY ' +
+ this.order
+ .map(function (ord) {
+ return ord.toString();
+ })
+ .join(', ');
+ }
+ if (this.limit) {
+ s += ' LIMIT ' + this.limit.value;
+ }
+ if (this.offset) {
+ s += ' OFFSET ' + this.offset.value;
+ }
+ if (this.union) {
+ s += ' UNION ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.union.toString();
+ }
+ if (this.unionall) {
+ s +=
+ ' UNION ALL ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.unionall.toString();
+ }
+ if (this.except) {
+ s += ' EXCEPT ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.except.toString();
+ }
+ if (this.intersect) {
+ s +=
+ ' INTERSECT ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.intersect.toString();
+ }
+ return s;
+ };
+ /**
+ Select statement in expression
+ */
+ yy.Select.prototype.toJS = function (context) {
+ // console.log('Expression',this);
+ // if(this.expression.reduced) return 'true';
+ // return this.expression.toJS(context, tableid, defcols);
+ // console.log('Select.toJS', 81, this.queriesidx);
+ // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
+ var s = 'alasql.utils.flatArray(this.queriesfn[' +
+ (this.queriesidx - 1) +
+ '](this.params,null,' +
+ context +
+ '))[0]';
+ // var s = '(ee=alasql.utils.flatArray(this.queriesfn['+(this.queriesidx-1)+'](this.params,null,'+context+')),console.log(999,ee),ee[0])';
+ return s;
+ };
+ // Compile SELECT statement
+ yy.Select.prototype.compile = function (databaseid, params) {
+ var db = alasql.databases[databaseid];
+ // Create variable for query
+ var query = new mem.alasql.Query();
+ // Array with columns to be removed
+ query.removeKeys = [];
+ query.aggrKeys = [];
+ query.explain = this.explain; // Explain
+ query.explaination = [];
+ query.explid = 1;
+ //console.log(this.modifier);
+ query.modifier = this.modifier;
+ query.database = db;
+ // 0. Precompile whereexists
+ this.compileWhereExists(query);
+ // 0. Precompile queries for IN, NOT IN, ANY and ALL operators
+ this.compileQueries(query);
+ query.defcols = this.compileDefCols(query, databaseid);
+ // 1. Compile FROM clause
+ query.fromfn = this.compileFrom(query);
+ // 2. Compile JOIN clauses
+ if (this.joins) {
+ this.compileJoins(query);
+ }
+ // todo?: 3. Compile SELECT clause
+ // For ROWNUM()
+ query.rownums = [];
+ this.compileSelectGroup0(query);
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfns = this.compileSelectGroup1(query);
+ }
+ else {
+ query.selectfns = this.compileSelect1(query, params);
+ }
+ // Remove columns clause
+ this.compileRemoveColumns(query);
+ // 5. Optimize WHERE and JOINS
+ if (this.where) {
+ this.compileWhereJoins(query);
+ }
+ // 4. Compile WHERE clause
+ query.wherefn = this.compileWhere(query);
+ // 6. Compile GROUP BY
+ if (this.group || query.selectGroup.length > 0) {
+ query.groupfn = this.compileGroup(query);
+ }
+ // 6. Compile HAVING
+ if (this.having) {
+ query.havingfn = this.compileHaving(query);
+ }
+ // 8. Compile ORDER BY clause
+ if (this.order) {
+ query.orderfn = this.compileOrder(query);
+ }
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfn = this.compileSelectGroup2(query);
+ }
+ else {
+ query.selectfn = this.compileSelect2(query);
+ }
+ // 7. Compile DISTINCT, LIMIT and OFFSET
+ query.distinct = this.distinct;
+ // 9. Compile PIVOT clause
+ if (this.pivot)
+ { query.pivotfn = this.compilePivot(query); }
+ if (this.unpivot)
+ { query.pivotfn = this.compileUnpivot(query); }
+ // 10. Compile TOP/LIMIT/OFFSET/FETCH cleuse
+ if (this.top) {
+ query.limit = this.top.value;
+ }
+ else if (this.limit) {
+ query.limit = this.limit.value;
+ if (this.offset) {
+ query.offset = this.offset.value;
+ }
+ }
+ query.percent = this.percent;
+ // 9. Compile ordering function for UNION and UNIONALL
+ query.corresponding = this.corresponding; // If CORRESPONDING flag exists
+ if (this.union) {
+ query.unionfn = this.union.compile(databaseid);
+ if (this.union.order) {
+ query.orderfn = this.union.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.unionall) {
+ query.unionallfn = this.unionall.compile(databaseid);
+ if (this.unionall.order) {
+ query.orderfn = this.unionall.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.except) {
+ query.exceptfn = this.except.compile(databaseid);
+ if (this.except.order) {
+ query.orderfn = this.except.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ else if (this.intersect) {
+ query.intersectfn = this.intersect.compile(databaseid);
+ if (this.intersect.order) {
+ query.intersectfn = this.intersect.compileOrder(query);
+ }
+ else {
+ query.orderfn = null;
+ }
+ }
+ // SELECT INTO
+ if (this.into) {
+ if (this.into instanceof yy.Table) {
+ //
+ // Save into the table in database
+ //
+ if (alasql.options.autocommit &&
+ alasql.databases[this.into.databaseid || databaseid].engineid) {
+ // For external database when AUTOCOMMIT is ONs
+ query.intoallfns =
+ 'return alasql.engines["' +
+ alasql.databases[this.into.databaseid || databaseid].engineid +
+ '"]' +
+ '.intoTable("' +
+ (this.into.databaseid || databaseid) +
+ '","' +
+ this.into.tableid +
+ '",this.data, columns, cb);';
+ }
+ else {
+ // Into AlaSQL tables
+ query.intofns =
+ "alasql.databases['" +
+ (this.into.databaseid || databaseid) +
+ "'].tables" +
+ "['" +
+ this.into.tableid +
+ "'].data.push(r);";
+ }
+ }
+ else if (this.into instanceof yy.VarValue) {
+ //
+ // Save into local variable
+ // SELECT * INTO @VAR1 FROM ?
+ //
+ query.intoallfns =
+ 'alasql.vars["' +
+ this.into.variable +
+ '"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';
+ }
+ else if (this.into instanceof yy.FuncValue) {
+ //
+ // If this is INTO() function, then call it
+ // with one or two parameters
+ //
+ var qs = "return alasql.into['" + this.into.funcid.toUpperCase() + "'](";
+ if (this.into.args && this.into.args.length > 0) {
+ qs += this.into.args[0].toJS() + ',';
+ if (this.into.args.length > 1) {
+ qs += this.into.args[1].toJS() + ',';
+ }
+ else {
+ qs += 'undefined,';
+ }
+ }
+ else {
+ qs += 'undefined, undefined,';
+ }
+ query.intoallfns = qs + 'this.data,columns,cb)';
+ //console.log('999');
+ }
+ else if (this.into instanceof yy.ParamValue) {
+ //
+ // Save data into parameters array
+ // like alasql('SELECT * INTO ? FROM ?',[outdata,srcdata]);
+ //
+ query.intofns = "params['" + this.into.param + "'].push(r)";
+ }
+ if (query.intofns) {
+ // Create intofn function
+ // console.log(234234, query.intofns);
+ query.intofn = new Function('r,i,params,alasql', 'var y;' + query.intofns);
+ }
+ else if (query.intoallfns) {
+ // Create intoallfn function
+ // console.log(23423234, query.intoallfns);
+ query.intoallfn = new Function('columns,cb,params,alasql', 'var y;' + query.intoallfns);
+ }
+ }
+ var statement = function (params, cb, oldscope) {
+ query.params = params;
+ var res1 = queryfn(alasql, query, oldscope, function (res) {
+ //console.log(res[0].schoolid);
+ //console.log(184,res);
+ if (query.rownums.length > 0) {
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ for (var j = 0, jlen = query.rownums.length; j < jlen; j++) {
+ res[i][query.rownums[j]] = i + 1;
+ }
+ }
+ }
+ var res2 = utils$6.modify(alasql, query, res);
+ if (cb) {
+ cb(res2);
+ }
+ //console.log(8888,res2);
+ return res2;
+ });
+ //console.log(9999,res1);
+ // if(typeof res1 != 'undefined') res1 = modify(query,res1);
+ return res1;
+ };
+ // statement.dbversion = ;
+ // console.log(statement.query);
+ //console.log(202,statement);
+ statement.query = query;
+ return statement;
+ };
+ // yy.Select.prototype.exec = function(databaseid) {
+ // throw new Error('Select statement should be precompiled');
+ // };
+ yy.Select.prototype.execute = function (databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ // throw new Error('Insert statement is should be compiled')
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
- if (typeof sharedState.yy.parseError === 'function') {
- this.parseError = sharedState.yy.parseError;
- } else {
- this.parseError = Object.getPrototypeOf(this).parseError;
- }
+ /*
+ //
+ // Expressions for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ function expression (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ /**
+ * Expression statement ( = 2*2; )
+ * @class
+ * @param {object} params Initial parameters
+ */
+ yy.ExpressionStatement = function (params) {
+ return yy.extend(this, params);
+ };
+ /**
+ Convert AST to string
+ @this ExpressionStatement
+ @return {string}
+ */
+ yy.ExpressionStatement.prototype.toString = function () {
+ return this.expression.toString();
+ };
+ /**
+ Execute statement
+ @param {string} databaseid Database identificatro
+ @param {object} params Statement parameters
+ @param {statement-callback} cb Callback
+ @return {object} Result value
+ */
+ yy.ExpressionStatement.prototype.execute = function (databaseid, params, cb) {
+ if (this.expression) {
+ // console.log(this.expression.toJS('','', null));
+ // console.log(this.expression.toJS('','', null));
+ // console.log(this.expression.toJS('({})','', null));
+ alasql.precompile(this, databaseid, params); // Precompile queries
+ var exprfn = new Function('params,alasql,p', 'var y;return ' + this.expression.toJS('({})', '', null)).bind(this);
+ var res = exprfn(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ }
+ };
+ /**
+ Expression class
+ @class
+ @param {object} params Initial parameters
+ */
+ yy.Expression = function (params) {
+ return yy.extend(this, params);
+ };
+ /**
+ Convert AST to string
+ @this ExpressionStatement
+ @return {string}
+ */
+ yy.Expression.prototype.toString = function (dontas) {
+ var s = this.expression.toString(dontas);
+ if (this.order) {
+ s += ' ' + this.order.toString();
+ }
+ if (this.nocase) {
+ s += ' COLLATE NOCASE';
+ }
+ if (this.direction) {
+ s += ' ' + this.direction;
+ }
+ return s;
+ };
+ /**
+ Find aggregator in AST subtree
+ @this ExpressionStatement
+ @param {object} query Query object
+ */
+ yy.Expression.prototype.findAggregator = function (query) {
+ if (this.expression.findAggregator) {
+ this.expression.findAggregator(query);
+ }
+ };
+ /**
+ Convert AST to JavaScript expression
+ @this ExpressionStatement
+ @param {string} context Context string, e.g. 'p','g', or 'x'
+ @param {string} tableid Default table name
+ @param {object} defcols Default columns dictionary
+ @return {string} JavaScript expression
+ */
+ yy.Expression.prototype.toJS = function (context, tableid, defcols) {
+ // console.log('Expression',this);
+ if (this.expression.reduced) {
+ return 'true';
+ }
+ return this.expression.toJS(context, tableid, defcols);
+ };
+ /**
+ Compile AST to JavaScript expression
+ @this ExpressionStatement
+ @param {string} context Context string, e.g. 'p','g', or 'x'
+ @param {string} tableid Default table name
+ @param {object} defcols Default columns dictionary
+ @return {string} JavaScript expression
+ */
+ yy.Expression.prototype.compile = function (context, tableid, defcols) {
+ // console.log('Expression',this);
+ if (this.reduced) {
+ return utils$6.returnTrue();
+ }
+ return new Function('p', 'var y;return ' + this.toJS(context, tableid, defcols));
+ };
+ /**
+ JavaScript class
+ @class
+ */
+ yy.JavaScript = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.JavaScript.prototype.toString = function () {
+ var s = '``' + this.value + '``';
+ return s;
+ };
+ yy.JavaScript.prototype.toJS = function ( /* context, tableid, defcols*/) {
+ // console.log('Expression',this);
+ return '(' + this.value + ')';
+ };
+ yy.JavaScript.prototype.execute = function (databaseid, params, cb) {
+ var res = 1;
+ var expr = new Function('params,alasql,p', this.value);
+ expr(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ };
+ /**
+ Literal class
+ @class
+ @example
+ MyVar, [My vairable], `MySQL variable`
+ */
+ yy.Literal = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Literal.prototype.toString = function (dontas) {
+ var s = this.value;
+ if (this.value1) {
+ s = this.value1 + '.' + s;
+ }
+ if (this.alias && !dontas)
+ { s += ' AS ' + this.alias; }
+ // else s = tableid+'.'+s;
+ return s;
+ };
+ /**
+ Join class
+ @class
+ */
+ yy.Join = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Join.prototype.toString = function () {
+ var s = ' ';
+ if (this.joinmode) {
+ s += this.joinmode + ' ';
+ }
+ s += 'JOIN ' + this.table.toString();
+ return s;
+ };
+ // yy.Join.prototype.toJS = function(context, tableid) {
+ // return 'JOIN'+this.table.toString();
+ // }
+ /**
+ Table class
+ @class
+ */
+ yy.Table = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Table.prototype.toString = function () {
+ var s = this.tableid;
+ // if(this.joinmode)
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+ /**
+ View class
+ @class
+ */
+ yy.View = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.View.prototype.toString = function () {
+ var s = this.viewid;
+ // if(this.joinmode)
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+ /**
+ Binary operation class
+ @class
+ */
+ yy.Op = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Op.prototype.toString = function () {
+ if (this.op === 'IN' || this.op === 'NOT IN') {
+ return this.left.toString() + ' ' + this.op + ' (' + this.right.toString() + ')';
+ }
+ if (this.allsome) {
+ return (this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ this.allsome +
+ ' (' +
+ this.right.toString() +
+ ')');
+ }
+ if (this.op === '->' || this.op === '!') {
+ var s = this.left.toString() + this.op;
+ // console.log(this.right);
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += '(';
+ }
+ s += this.right.toString();
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += ')';
+ }
+ return s;
+ }
+ return (this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ (this.allsome ? this.allsome + ' ' : '') +
+ this.right.toString());
+ };
+ yy.Op.prototype.findAggregator = function (query) {
+ // console.log(this.toString());
+ if (this.left && this.left.findAggregator) {
+ this.left.findAggregator(query);
+ }
+ // Do not go in > ALL
+ if (this.right && this.right.findAggregator && !this.allsome) {
+ this.right.findAggregator(query);
+ }
+ };
+ yy.Op.prototype.toType = function (tableid) {
+ if (['-', '*', '/', '%', '^'].indexOf(this.op) > -1) {
+ return 'number';
+ }
+ if (['||'].indexOf(this.op) > -1) {
+ return 'string';
+ }
+ if (this.op === '+') {
+ if (this.left.toType(tableid) === 'string' || this.right.toType(tableid) === 'string') {
+ return 'string';
+ }
+ if (this.left.toType(tableid) === 'number' || this.right.toType(tableid) === 'number') {
+ return 'number';
+ }
+ }
+ if ([
+ 'AND',
+ 'OR',
+ 'NOT',
+ '=',
+ '==',
+ '===',
+ '!=',
+ '!==',
+ '!===',
+ '>',
+ '>=',
+ '<',
+ '<=',
+ 'IN',
+ 'NOT IN',
+ 'LIKE',
+ 'NOT LIKE',
+ 'REGEXP',
+ 'GLOB' ].indexOf(this.op) > -1) {
+ return 'boolean';
+ }
+ if (this.op === 'BETWEEN' ||
+ this.op === 'NOT BETWEEN' ||
+ this.op === 'IS NULL' ||
+ this.op === 'IS NOT NULL') {
+ return 'boolean';
+ }
+ if (this.allsome) {
+ return 'boolean';
+ }
+ if (!this.op) {
+ return this.left.toType();
+ }
+ return 'unknown';
+ };
+ yy.Op.prototype.toJS = function (context, tableid, defcols) {
+ // console.log(this);
+ var s;
+ var refs = [];
+ var op = this.op;
+ var _this = this;
+ var ref = function (expr) {
+ if (expr.toJS) {
+ expr = expr.toJS(context, tableid, defcols);
+ }
+ var i = refs.push(expr) - 1;
+ return 'y[' + i + ']';
+ };
+ var leftJS = function () {
+ return ref(_this.left);
+ };
+ var rightJS = function () {
+ return ref(_this.right);
+ };
+ if (this.op === '=') {
+ op = '===';
+ }
+ else if (this.op === '<>') {
+ op = '!=';
+ }
+ else if (this.op === 'OR') {
+ op = '||';
+ }
+ // Arrow operator
+ if (this.op === '->') {
+ // Expression to prevent error if object is empty (#344)
+ var ljs = '(' + leftJS() + '||{})';
+ if (typeof this.right === 'string') {
+ s = ljs + '["' + this.right + '"]';
+ }
+ else if (typeof this.right === 'number') {
+ s = ljs + '[' + this.right + ']';
+ }
+ else if (this.right instanceof yy.FuncValue) {
+ var ss = [];
+ if (!(!this.right.args || 0 === this.right.args.length)) {
+ ss = this.right.args.map(ref);
+ }
+ s = '' + ljs + "['" + this.right.funcid + "'](" + ss.join(',') + ')';
+ }
+ else {
+ s = '' + ljs + '[' + rightJS() + ']';
+ }
+ }
+ if (this.op === '!') {
+ if (typeof this.right === 'string') {
+ s =
+ '' +
+ 'alasql.databases[alasql.useid].objects[' +
+ leftJS() +
+ ']["' +
+ this.right +
+ '"]';
+ }
+ // TODO - add other cases
+ }
+ if (this.op === 'IS') {
+ s =
+ '' +
+ '(' +
+ '(' +
+ leftJS() +
+ '==null)' + // Cant be ===
+ ' === ' +
+ '(' +
+ rightJS() +
+ '==null)' + // Cant be ===
+ ')';
+ }
+ if (this.op === '==') {
+ s = '' + 'alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === '===' || this.op === '!===') {
+ s =
+ '' +
+ '(' +
+ (this.op === '!===' ? '!' : '') +
+ '(' +
+ '(' +
+ leftJS() +
+ ').valueOf()' +
+ '===' +
+ '(' +
+ rightJS() +
+ ').valueOf()' +
+ ')' +
+ ')';
+ }
+ if (this.op === '!==') {
+ s = '' + '(!alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + '))';
+ }
+ if (this.op === '||') {
+ s = '' + "(''+(" + leftJS() + "||'')+(" + rightJS() + '||""))';
+ }
+ if (this.op === 'LIKE' || this.op === 'NOT LIKE') {
+ s =
+ '(' +
+ (this.op === 'NOT LIKE' ? '!' : '') +
+ 'alasql.utils.like(' +
+ rightJS() +
+ ',' +
+ leftJS();
+ if (this.escape) {
+ s += ',' + ref(this.escape);
+ }
+ s += '))';
+ }
+ if (this.op === 'REGEXP') {
+ s = 'alasql.stdfn.REGEXP_LIKE(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === 'GLOB') {
+ s = 'alasql.utils.glob(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === 'BETWEEN' || this.op === 'NOT BETWEEN') {
+ var left = leftJS();
+ s =
+ '' +
+ '(' +
+ (this.op === 'NOT BETWEEN' ? '!' : '') +
+ '(' +
+ '(' +
+ ref(this.right1) +
+ '<=' +
+ left +
+ ') && (' +
+ left +
+ '<=' +
+ ref(this.right2) +
+ ')' +
+ ')' +
+ ')';
+ /*/*
+ if(this.right instanceof yy.Op && this.right.op == 'AND') {
+
+ return ref('(('+this.right.left)+'<='+leftJS()+')&&'+
+ ref('('+leftJS()+'<='+this.right.right)+'))';
+
+ } else {
+ throw new Error('Wrong BETWEEN operator without AND part');
+ }
+ */
+ }
+ if (this.op === 'IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ // s += 'this.query.queriesdata['+this.queriesidx+']';
+ // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,context))';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,' +
+ context +
+ '))';
+ s += '.indexOf(';
+ s += leftJS() + ')>-1)';
+ }
+ else if (Array.isArray(this.right)) {
+ // if(this.right.length == 0) return 'false';
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(' + leftJS() + ')>-1)';
+ //console.log(s);
+ }
+ else {
+ s = '(' + rightJS() + '.indexOf(' + leftJS() + ')>-1)';
+ //console.log('expression',350,s);
+ // } else {
+ // throw new Error('Wrong IN operator without SELECT part');
+ }
+ }
+ if (this.op === 'NOT IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ //this.query.queriesdata['+this.queriesidx+']
+ // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,p))';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.indexOf(';
+ s += leftJS() + ')<0)';
+ }
+ else if (Array.isArray(this.right)) {
+ // if(this.right.length == 0) return 'true';
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(';
+ s += leftJS() + ')<0)';
+ }
+ else {
+ s = '(' + rightJS() + '.indexOf(';
+ s += leftJS() + ')==-1)';
+ // throw new Error('Wrong NOT IN operator without SELECT part');
+ }
+ }
+ if (this.allsome === 'ALL') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ // var s = 'this.query.queriesdata['+this.queriesidx+']';
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else {
+ throw new Error('NOT IN operator without SELECT');
+ }
+ }
+ if (this.allsome === 'SOME' || this.allsome === 'ANY') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ // var s = 'this.query.queriesdata['+this.queriesidx+']';
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ }
+ else {
+ throw new Error('SOME/ANY operator without SELECT');
+ }
+ }
+ // Special case for AND optimization (if reduced)
+ if (this.op === 'AND') {
+ if (this.left.reduced) {
+ if (this.right.reduced) {
+ return 'true';
+ }
+ else {
+ s = rightJS();
+ }
+ }
+ else if (this.right.reduced) {
+ s = leftJS();
+ }
+ // Otherwise process as regular operation (see below)
+ op = '&&';
+ }
+ // if(this.op === '^') {
+ // // return 'Math.pow('
+ // // + leftJS()
+ // // + ','
+ // // + rightJS()
+ // // + ')';
+ // }
+ // Change names
+ // console.log(this);
+ var expr = s || '(' + leftJS() + op + rightJS() + ')';
+ var declareRefs = 'y=[(' + refs.join('), (') + ')]';
+ if (op === '&&' || op === '||' || op === 'IS' || op === 'IS NULL' || op === 'IS NOT NULL') {
+ return '(' + declareRefs + ', ' + expr + ')';
+ }
+ return ('(' +
+ declareRefs +
+ ', ' +
+ 'y.some(function(e){return e == null}) ? void 0 : ' +
+ expr +
+ ')');
+ };
+ yy.VarValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.VarValue.prototype.toString = function () {
+ return '@' + this.variable;
+ };
+ yy.VarValue.prototype.toType = function () {
+ return 'unknown';
+ };
+ yy.VarValue.prototype.toJS = function () {
+ return "alasql.vars['" + this.variable + "']";
+ };
+ yy.NumValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.NumValue.prototype.toString = function () {
+ return this.value.toString();
+ };
+ yy.NumValue.prototype.toType = function () {
+ return 'number';
+ };
+ yy.NumValue.prototype.toJS = function () {
+ return '' + this.value;
+ };
+ yy.StringValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.StringValue.prototype.toString = function () {
+ return "'" + this.value.toString() + "'";
+ };
+ yy.StringValue.prototype.toType = function () {
+ return 'string';
+ };
+ yy.StringValue.prototype.toJS = function () {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return "'" + utils$6.escapeq(this.value) + "'";
+ };
+ yy.DomainValueValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DomainValueValue.prototype.toString = function () {
+ return 'VALUE';
+ };
+ yy.DomainValueValue.prototype.toType = function () {
+ return 'object';
+ };
+ yy.DomainValueValue.prototype.toJS = function (context, tableid, defcols) {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return context;
+ };
+ yy.ArrayValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ArrayValue.prototype.toString = function () {
+ return 'ARRAY[]';
+ };
+ yy.ArrayValue.prototype.toType = function () {
+ return 'object';
+ };
+ yy.ArrayValue.prototype.toJS = function (context, tableid, defcols) {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return ('[(' +
+ this.value
+ .map(function (el) {
+ return el.toJS(context, tableid, defcols);
+ })
+ .join('), (') +
+ ')]');
+ };
+ yy.LogicValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.LogicValue.prototype.toString = function () {
+ return this.value ? 'TRUE' : 'FALSE';
+ };
+ yy.LogicValue.prototype.toType = function () {
+ return 'boolean';
+ };
+ yy.LogicValue.prototype.toJS = function () {
+ return this.value ? 'true' : 'false';
+ };
+ yy.NullValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.NullValue.prototype.toString = function () {
+ return 'NULL';
+ };
+ yy.NullValue.prototype.toJS = function () {
+ return 'undefined';
+ // return 'undefined';
+ };
+ yy.ParamValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ParamValue.prototype.toString = function () {
+ return '$' + this.param;
+ };
+ yy.ParamValue.prototype.toJS = function () {
+ if (typeof this.param === 'string') {
+ return "params['" + this.param + "']";
+ }
+ return 'params[' + this.param + ']';
+ };
+ yy.UniOp = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.UniOp.prototype.toString = function () {
+ var s;
+ s = void 0;
+ if (this.op === '~') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '-') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '+') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '#') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === 'NOT') {
+ s = this.op + '(' + this.right.toString() + ')';
+ }
+ if (this.op === null) {
+ s = '(' + this.right.toString() + ')';
+ }
+ if (!s) {
+ s = '(' + this.right.toString() + ')';
+ }
+ return s;
+ };
+ yy.UniOp.prototype.findAggregator = function (query) {
+ if (this.right.findAggregator) {
+ this.right.findAggregator(query);
+ }
+ };
+ yy.UniOp.prototype.toType = function () {
+ if (this.op === '-') {
+ return 'number';
+ }
+ if (this.op === '+') {
+ return 'number';
+ }
+ if (this.op === 'NOT') {
+ return 'boolean';
+ }
+ // Todo: implement default case
+ };
+ yy.UniOp.prototype.toJS = function (context, tableid, defcols) {
+ if (this.op === '~') {
+ return '(~(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+ if (this.op === '-') {
+ return '(-(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+ if (this.op === '+') {
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ if (this.op === 'NOT') {
+ return '!(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ if (this.op === '#') {
+ if (this.right instanceof yy.Column) {
+ return "(alasql.databases[alasql.useid].objects['" + this.right.columnid + "'])";
+ }
+ else {
+ return ('(alasql.databases[alasql.useid].objects[' +
+ this.right.toJS(context, tableid, defcols) +
+ '])');
+ }
+ }
+ // Please avoid === here
+ if (this.op == null) {
+ // jshint ignore:line
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+ // Todo: implement default case.
+ };
+ /*/*
+ // yy.Star = function (params) { return yy.extend(this, params); }
+ // yy.Star.prototype.toString = function() {
+ // var s = this.fieldid;
+ // if(this.tableid) {
+ // s = this.tableid+'.'+s;
+ // if(this.databaseid) {
+ // s = this.databaseid+'.'+s;
+ // }
+ // }
+ // if(this.alias) s += ' AS '+this.alias;
+ // return s;
+ // }
+ */
+ yy.Column = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Column.prototype.toString = function (dontas) {
+ var s;
+ if (this.columnid == +this.columnid) {
+ // jshint ignore:line
+ s = '[' + this.columnid + ']';
+ }
+ else {
+ s = this.columnid;
+ }
+ if (this.tableid) {
+ if (+this.columnid === this.columnid) {
+ s = this.tableid + s;
+ }
+ else {
+ s = this.tableid + '.' + s;
+ }
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ }
+ if (this.alias && !dontas)
+ { s += ' AS ' + this.alias; }
+ return s;
+ };
+ yy.Column.prototype.toJS = function (context, tableid, defcols) {
+ /*/*
+ // var s = this.value;
+ // var s = this.columnid;
+ // if(this.tableid) {
+ // s = this.tableid+'.'+s;
+ // // if(this.databaseid) {
+ // // s = this.databaseid+'.'+s;
+ // // }
+ // } else {
+ // s = tableid+'.'+s;
+ // }
+ */
+ //console.log('yy.Column',this, tableid);
+ // console.log(392,this.columnid);
+ //console.log(506,this);
+ //console.log(523, this, tableid);
+ var s = '';
+ if (!this.tableid && tableid === '' && !defcols) {
+ if (this.columnid !== '_') {
+ s = context + "['" + this.columnid + "']";
+ }
+ else {
+ if (context === 'g') {
+ s = "g['_']";
+ }
+ else {
+ s = context;
+ }
+ }
+ }
+ else {
+ if (context === 'g') {
+ // if(this.columnid == '_') {
+ // } else {
+ s = "g['" + this.nick + "']";
+ // }
+ }
+ else if (this.tableid) {
+ if (this.columnid !== '_') {
+ // if() {
+ // s = context+'[\''+tableid + '\'][\''+this.tableid+'\'][\''+this.columnid+'\']';
+ // } else {
+ s = context + "['" + this.tableid + "']['" + this.columnid + "']";
+ // }
+ }
+ else {
+ if (context === 'g') {
+ s = "g['_']";
+ }
+ else {
+ s = context + "['" + this.tableid + "']";
+ }
+ }
+ }
+ else if (defcols) {
+ var tbid = defcols[this.columnid];
+ if (tbid === '-') {
+ throw new Error('Cannot resolve column "' +
+ this.columnid +
+ '" because it exists in two source tables');
+ }
+ else if (tbid) {
+ if (this.columnid !== '_') {
+ s = context + "['" + tbid + "']['" + this.columnid + "']";
+ }
+ else {
+ s = context + "['" + tbid + "']";
+ }
+ // console.log(836,tbid,s);
+ }
+ else {
+ if (this.columnid !== '_') {
+ // if(defcols['.'][this.tableid]) {
+ // console.log(847,tableid);
+ // console.log(context+'[\''+tableid + '\'][\''+this.tableid + '\']','[\''+this.columnid+'\']');
+ // s = context+'[\''+tableid + '\'][\''+this.tableid + '\'][\''+this.columnid+'\']';
+ // } else {
+ s =
+ context +
+ "['" +
+ (this.tableid || tableid) +
+ "']['" +
+ this.columnid +
+ "']";
+ // }
+ }
+ else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ }
+ else if (tableid === -1) {
+ // if(this.columnid != '') {
+ s = context + "['" + this.columnid + "']";
+ // } else {
+ // s = context;
+ // }
+ }
+ else {
+ if (this.columnid !== '_') {
+ s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
+ }
+ else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ }
+ // console.log(context,s);
+ // console.trace(new Error());
+ //console.log(874,s);
+ return s;
+ };
+ yy.AggrValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.AggrValue.prototype.toString = function (dontas) {
+ var s = '';
+ if (this.aggregatorid === 'REDUCE') {
+ s += this.funcid + '(';
+ }
+ else {
+ s += this.aggregatorid + '(';
+ }
+ if (this.distinct) {
+ s += 'DISTINCT ';
+ }
+ if (this.expression) {
+ s += this.expression.toString();
+ }
+ s += ')';
+ if (this.over) {
+ s += ' ' + this.over.toString();
+ }
+ // console.log(this.over);
+ if (this.alias && !dontas)
+ { s += ' AS ' + this.alias; }
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+ yy.AggrValue.prototype.findAggregator = function (query) {
+ // console.log('aggregator found',this.toString());
+ // var colas = this.as || this.toString();
+ var colas = utils$6.escapeq(this.toString()) + ':' + query.selectGroup.length;
+ // console.log('findAgg',this);
+ /*/* var found = false;
+ for(var i=0;i -1) {
+ return 'number';
+ }
+ if (['ARRAY'].indexOf(this.aggregatorid) > -1) {
+ return 'array';
+ }
+ if (['FIRST', 'LAST'].indexOf(this.aggregatorid) > -1) {
+ return this.expression.toType();
+ }
+ // todo: implement default;
+ };
+ yy.AggrValue.prototype.toJS = function ( /*context, tableid, defcols*/) {
+ /*/*
+ // var s = 'alasql.functions.'+this.funcid+'(';
+ // if(this.expression) s += this.expression.toJS(context, tableid);
+ // s += ')';
+ // if(this.alias) s += ' AS '+this.alias;
+ // return s;
+ // var s = '';
+ //if(this.as) console.log(499,this.as);
+ // var colas = this.as;
+ */
+ var colas = this.nick;
+ if (colas === undefined) {
+ colas = this.toString();
+ }
+ return "g['" + colas + "']";
+ };
+ yy.OrderExpression = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.OrderExpression.prototype.toString = yy.Expression.prototype.toString;
+ /*/* //Duplicated code
+
+ function() {
+ var s = this.expression.toString();
+ if(this.order) s += ' '+this.order.toString();
+ if(this.nocase) s += ' '+'COLLATE'+' '+'NOCASE';
+ return s;
+ }*/
+ yy.GroupExpression = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.GroupExpression.prototype.toString = function () {
+ return this.type + '(' + this.group.toString() + ')';
+ };
+ /*/* //Duplicated code
+ yy.ColumnDef = function (params) { return yy.extend(this, params); }
+ yy.ColumnDef.prototype.toString = function() {
+ var s = this.columnid;
+ if(this.dbtypeid) s += ' '+this.dbtypeid;
+ if(this.dbsize) {
+ s += '('+this.dbsize;
+ if(this.dbprecision) s += ','+this.dbprecision;
+ s += ')';
+ };
+ if(this.primarykey) s += ' PRIMARY KEY';
+ if(this.notnull) s += ' NOT NULL';
+ return s;
+ }*/
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
- function popStack (n) {
- stack.length = stack.length - 2 * n;
- vstack.length = vstack.length - n;
- lstack.length = lstack.length - n;
- }
+ /*
+ //
+ // EXISTS and other subqueries functions functions for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ function exists (mem) {
+ var yy = mem.grammar.yy;
+ yy.ExistsValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ExistsValue.prototype.toString = function () {
+ return 'EXISTS(' + this.value.toString() + ')';
+ };
+ yy.ExistsValue.prototype.toType = function () {
+ return 'boolean';
+ };
+ yy.ExistsValue.prototype.toJS = function (context, tableid, defcols) {
+ // return 'ww=this.existsfn['+this.existsidx+'](params,null,p),console.log(ww),ww.length';
+ return 'this.existsfn[' + this.existsidx + '](params,null,' + context + ').data.length';
+ };
+ yy.Select.prototype.compileWhereExists = function (query) {
+ if (!this.exists)
+ { return; }
+ query.existsfn = this.exists.map(function (ex) {
+ var nq = ex.compile(query.database.databaseid);
+ // console.log(nq);
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+ yy.Select.prototype.compileQueries = function (query) {
+ if (!this.queries)
+ { return; }
+ query.queriesfn = this.queries.map(function (q) {
+ var nq = q.compile(query.database.databaseid);
+ // console.log(nq);
+ // if(!nq.query) nq.query = {};
+ nq.query.modifier = 'RECORDSET';
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+ //
+ // Prepare subqueries and exists
+ //
+ // Todo: move this function away from grammar
+ mem.alasql.precompile = function (statement, databaseid, params) {
+ // console.log(statement);
+ if (!statement)
+ { return; }
+ statement.params = params;
+ if (statement.queries) {
+ //console.log(52,statement.queries[0]);
+ statement.queriesfn = statement.queries.map(function (q) {
+ var nq = q.compile(databaseid || statement.database.databaseid);
+ // console.log(nq);
+ // nq.query.modifier = undefined;
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (statement.exists) {
+ //console.log(62,statement.exists);
+ statement.existsfn = statement.exists.map(function (ex) {
+ var nq = ex.compile(databaseid || statement.database.databaseid);
+ // console.log(nq.query.modifier);
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ // if(!nq.query.modifier) nq.query.modifier = 'ARRAY';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ };
+ mem.grammar.yy = yy;
+ }
-_token_stack:
- var lex = function () {
- var token;
- token = lexer.lex() || EOF;
- // if token isn't its numeric value, convert
- if (typeof token !== 'number') {
- token = self.symbols_[token] || token;
- }
- return token;
- }
+ /*
+ //
+ // Select run-time part for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ function defcols (mem) {
+ var yy = mem.grammar.yy;
+ yy.Select.prototype.compileDefCols = function (query, databaseid) {
+ // console.log('defcols');
+ var defcols = { '.': {} };
+ if (this.from) {
+ this.from.forEach(function (fr) {
+ defcols['.'][fr.as || fr.tableid] = true;
+ if (fr instanceof yy.Table) {
+ var alias = fr.as || fr.tableid;
+ // console.log(alasql.databases[fr.databaseid || databaseid]);
+ // console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
+ //console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
+ //console.log(alasql.databases);
+ var table = mem.alasql.databases[fr.databaseid || databaseid].tables[fr.tableid];
+ //console.log(table);
+ if (undefined === table) {
+ throw new Error('Table does not exists: ' + fr.tableid);
+ }
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-'; // Ambigous
+ }
+ else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ }
+ else if (fr instanceof yy.Select) ;
+ else if (fr instanceof yy.Search) ;
+ else if (fr instanceof yy.ParamValue) ;
+ else if (fr instanceof yy.VarValue) ;
+ else if (fr instanceof yy.FuncValue) ;
+ else if (fr instanceof yy.FromData) ;
+ else if (fr instanceof yy.Json) ;
+ else if (fr.inserted) ;
+ else {
+ // console.log(fr);
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+ if (this.joins) {
+ this.joins.forEach(function (jn) {
+ defcols['.'][jn.as || jn.table.tableid] = true;
+ // console.log(jn);
+ if (jn.table) {
+ var alias = jn.table.tableid;
+ if (jn.as)
+ { alias = jn.as; }
+ var alias = jn.as || jn.table.tableid;
+ var table = mem.alasql.databases[jn.table.databaseid || databaseid].tables[jn.table.tableid];
+ // console.log(jn.table.tableid, jn.table.databaseid);
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-'; // Ambigous
+ }
+ else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ }
+ else if (jn.select) {
+ throw new Error('Select not implemented yet');
+ }
+ else if (jn.param) {
+ throw new Error('param not implemented yet');
+ }
+ else if (jn.func) {
+ throw new Error('func not implemented yet');
+ }
+ else {
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+ // for(var k in defcols) {
+ // if(defcols[k] == '-') defcols[k] = undefined;
+ // }
+ // console.log(89,defcols);
+ return defcols;
+ };
+ mem.grammar.yy = yy;
+ }
- var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
- while (true) {
- // retreive state number from top of stack
- state = stack[stack.length - 1];
+ /*
+ //
+ // Select compiler part for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ function from_ (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.Select.prototype.compileFrom = function (query) {
+ // console.log(1);
+ var self = this;
+ query.sources = [];
+ // var tableid = this.from[0].tableid;
+ // var as = '';
+ // if(self.from[0].as) as = this.from[0].as;
+ //console.log(this);
+ query.aliases = {};
+ if (!self.from)
+ { return; }
+ //console.log(self.from);
+ self.from.forEach(function (tq) {
+ //console.log(tq);
+ //console.log(tq,tq.toJS());
+ var ps = '';
+ var alias = tq.as || tq.tableid;
+ // console.log(alias);
+ if (tq instanceof yy.Table) {
+ // console.log(tq, tq.databaseid, query);
+ query.aliases[alias] = {
+ tableid: tq.tableid,
+ databaseid: tq.databaseid || query.database.databaseid,
+ type: 'table',
+ };
+ }
+ else if (tq instanceof yy.Select) {
+ query.aliases[alias] = { type: 'subquery' };
+ }
+ else if (tq instanceof yy.Search) {
+ query.aliases[alias] = { type: 'subsearch' };
+ }
+ else if (tq instanceof yy.ParamValue) {
+ query.aliases[alias] = { type: 'paramvalue' };
+ }
+ else if (tq instanceof yy.FuncValue) {
+ query.aliases[alias] = { type: 'funcvalue' };
+ }
+ else if (tq instanceof yy.VarValue) {
+ query.aliases[alias] = { type: 'varvalue' };
+ }
+ else if (tq instanceof yy.FromData) {
+ query.aliases[alias] = { type: 'fromdata' };
+ }
+ else if (tq instanceof yy.Json) {
+ query.aliases[alias] = { type: 'json' };
+ }
+ else if (tq.inserted) {
+ query.aliases[alias] = { type: 'inserted' };
+ }
+ else {
+ throw new Error('Wrong table at FROM');
+ }
+ var source = {
+ alias: alias,
+ databaseid: tq.databaseid || query.database.databaseid,
+ tableid: tq.tableid,
+ joinmode: 'INNER',
+ onmiddlefn: utils$6.returnTrue,
+ srcwherefns: '',
+ srcwherefn: utils$6.returnTrue,
+ };
+ if (tq instanceof yy.Table) {
+ // Get columns from table
+ source.columns = alasql.databases[source.databaseid].tables[source.tableid].columns;
+ // console.log('test',alasql.options.autocommit);
+ // console.log(997,alasql.databases[source.databaseid].engineid);
+ // console.log(0,source.databaseid);
+ // console.log(1,alasql.databases[source.databaseid]);
+ // console.log(2,alasql.databases[source.databaseid].tables[source.tableid].view);
+ if (alasql.options.autocommit &&
+ alasql.databases[source.databaseid].engineid &&
+ !alasql.databases[source.databaseid].tables[source.tableid].view) {
+ // console.log(997,alasql.databases[source.databaseid].engineid);
+ // TODO -- make view for external engine
+ source.datafn = function (query, params, cb, idx, alasql) {
+ return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(source.databaseid, source.tableid, cb, idx, query);
+ };
+ }
+ else if (alasql.databases[source.databaseid].tables[source.tableid].view) {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res = alasql.databases[source.databaseid].tables[source.tableid].select(params);
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ };
+ }
+ else {
+ // console.log('here');
+ // console.log(420,72,alasql.databases[source.databaseid].tables[source.tableid]);
+ source.datafn = function (query, params, cb, idx, alasql) {
+ /*
+ // if(!query) console.log('query');
+ // if(!query.database) console.log('query');
+ // if(!query.database.tables) console.log('query');
+ // if(!source.tableid) console.log('query');
+ // if(!query.database.tables[source.tableid]) console.log(query);
+ // if(!query.database.tables[source.tableid].data) console.log('query');
+ */
+ var res = alasql.databases[source.databaseid].tables[source.tableid].data;
+ // console.log(500,res);
+ if (cb)
+ { res = cb(res, idx, query); }
+ // console.log(600,res);
+ return res;
+ // return alasql.databases[source.databaseid].tables[source.tableid].data;
+ };
+ }
+ }
+ else if (tq instanceof yy.Select) {
+ source.subquery = tq.compile(query.database.databaseid);
+ if (typeof source.subquery.query.modifier === 'undefined') {
+ source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
+ }
+ source.columns = source.subquery.query.columns;
+ // console.log(101,source.columns);
+ // tq.columns;
+ source.datafn = function (query, params, cb, idx, alasql) {
+ // return source.subquery(query.params, cb, idx, query);
+ var res;
+ source.subquery(query.params, function (data) {
+ res = data.data;
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ // return data.data;
+ });
+ // console.log(515,res);
+ return res;
+ };
+ }
+ else if (tq instanceof yy.Search) {
+ source.subsearch = tq;
+ source.columns = [];
+ /*/*
+ //.compile(query.database.databaseid);
+ // if(typeof source.subquery.query.modifier == 'undefined') {
+ // source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
+ // }
+ // source.columns = source.subquery.query.columns;
+ // console.log(101,source.columns);
+ // tq.columns;
+ */
+ source.datafn = function (query, params, cb, idx, alasql) {
+ // return source.subquery(query.params, cb, idx, query);
+ var res;
+ source.subsearch.execute(query.database.databaseid, query.params, function (data) {
+ res = data;
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ // return data.data;
+ });
+ // console.log(515,res);
+ return res;
+ };
+ }
+ else if (tq instanceof yy.ParamValue) {
+ ps = "var res = alasql.prepareFromData(params['" + tq.param + "']";
+ // console.log(tq);
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq.inserted) {
+ ps = 'var res = alasql.prepareFromData(alasql.inserted';
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.Json) {
+ ps = 'var res = alasql.prepareFromData(' + tq.toJS();
+ // console.log(tq);
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.VarValue) {
+ ps = "var res = alasql.prepareFromData(alasql.vars['" + tq.variable + "']";
+ // console.log(tq);
+ if (tq.array)
+ { ps += ',true'; }
+ ps += ');if(cb)res=cb(res,idx,query);return res';
+ source.datafn = new Function('query,params,cb,idx,alasql', ps);
+ }
+ else if (tq instanceof yy.FuncValue) {
+ ps = "var res=alasql.from['" + tq.funcid.toUpperCase() + "'](";
+ /*/*
+ // if(tq.args && tq.args.length>0) {
+ // s += tq.args.map(function(arg){
+ // return arg.toJS();
+ // }).concat('cb,idx,query').join(',');
+ // }
+ // if(tq.args && tq.args.length>0) {
+ // s += tq.args.map(function(arg){
+ // return arg.toJS();
+ // }).concat().join(',');
+ // }
+ */
+ if (tq.args && tq.args.length > 0) {
+ if (tq.args[0]) {
+ ps += tq.args[0].toJS('query.oldscope') + ',';
+ }
+ else {
+ ps += 'null,';
+ }
+ if (tq.args[1]) {
+ ps += tq.args[1].toJS('query.oldscope') + ',';
+ }
+ else {
+ ps += 'null,';
+ }
+ }
+ else {
+ ps += 'null,null,';
+ }
+ ps += 'cb,idx,query';
+ ps += ');/*if(cb)res=cb(res,idx,query);*/return res';
+ // console.log(s);
+ source.datafn = new Function('query, params, cb, idx, alasql', ps);
+ }
+ else if (tq instanceof yy.FromData) {
+ source.datafn = function (query, params, cb, idx, alasql) {
+ var res = tq.data;
+ if (cb)
+ { res = cb(res, idx, query); }
+ return res;
+ };
+ }
+ else {
+ throw new Error('Wrong table at FROM');
+ }
+ // source.data = alasql.databases[source.databaseid].tables[source.tableid].data;
+ query.sources.push(source);
+ });
+ // TODO Add joins
+ query.defaultTableid = query.sources[0].alias;
+ //console.log(query.defaultTableid);
+ };
+ alasql.prepareFromData = function (data, array) {
+ //console.log(177,data,array);
+ var i, ilen;
+ var res = data;
+ if (typeof data === 'string') {
+ res = data.split(/\r?\n/);
+ if (array) {
+ for (i = 0, ilen = res.length; i < ilen; i++) {
+ res[i] = [res[i]];
+ }
+ }
+ }
+ else if (array) {
+ res = [];
+ for (i = 0, ilen = data.length; i < ilen; i++) {
+ res.push([data[i]]);
+ }
+ // console.log(res);
+ }
+ else if (typeof data === 'object' && !Array.isArray(data)) {
+ // } else if(typeof data == 'object' && !(typeof data.length == 'undefined')) {
+ if (typeof Mongo !== 'undefined' &&
+ typeof Mongo.Collection !== 'undefined' &&
+ data instanceof Mongo.Collection) {
+ res = data.find().fetch();
+ }
+ else {
+ res = [];
+ for (var key in data) {
+ if (data.hasOwnProperty(key))
+ { res.push([key, data[key]]); }
+ }
+ }
+ // console.log(res);
+ }
+ // console.log(typeof data);
+ return res;
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
- // use default actions if available
- if (this.defaultActions[state]) {
- action = this.defaultActions[state];
- } else {
- if (symbol === null || typeof symbol == 'undefined') {
- symbol = lex();
- }
- // read action for current state and first input
- action = table[state] && table[state][symbol];
- }
+ /*
+ //
+ // Select compiler part for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ function compile (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ var escapeq = utils$6.escapeq;
+ function compileSelectStar(query, alias, joinstar) {
+ // console.log(query.aliases[alias]);
+ // console.log(query,alias);
+ // console.log(query.aliases[alias].tableid);
+ // console.log(42,631,alias);
+ // console.log(query.aliases);
+ var sp = '', ss = [];
+ // if(!alias) {
+ // sp += 'for(var k1 in p) var w=p[k1];for(var k2 in w){r[k2]=w[k2]};';
+ // } else {
+ // TODO move this out of this function
+ query.ixsources = {};
+ query.sources.forEach(function (source) {
+ query.ixsources[source.alias] = source;
+ });
+ // Fixed
+ var columns;
+ if (query.ixsources[alias]) {
+ var columns = query.ixsources[alias].columns;
+ }
+ // if(columns.length == 0 && query.aliases[alias].tableid) {
+ // var columns = alasql.databases[query.aliases[alias].databaseid].tables[query.aliases[alias].tableid].columns;
+ // };
+ // Check if this is a Table or other
+ if (joinstar && alasql.options.joinstar === 'json') {
+ sp += "r['" + alias + "']={};";
+ }
+ if (columns && columns.length > 0) {
+ columns.forEach(function (tcol) {
+ if (joinstar && alasql.options.joinstar === 'underscore') {
+ ss.push("'" +
+ alias +
+ '_' +
+ tcol.columnid +
+ "':p['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "']");
+ }
+ else if (joinstar && alasql.options.joinstar === 'json') {
+ // ss.push('\''+alias+'_'+tcol.columnid+'\':p[\''+alias+'\'][\''+tcol.columnid+'\']');
+ sp +=
+ "r['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "']=p['" +
+ alias +
+ "']['" +
+ tcol.columnid +
+ "'];";
+ }
+ else {
+ ss.push("'" + tcol.columnid + "':p['" + alias + "']['" + tcol.columnid + "']");
+ }
+ query.selectColumns[escapeq(tcol.columnid)] = true;
+ // console.log('ok',tcol);
+ var coldef = {
+ columnid: tcol.columnid,
+ dbtypeid: tcol.dbtypeid,
+ dbsize: tcol.dbsize,
+ dbprecision: tcol.dbprecision,
+ dbenum: tcol.dbenum,
+ };
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ });
+ //console.log(999,columns);
+ }
+ else {
+ // console.log(60,alias,columns);
+ // if column not exists, then copy all
+ sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
+ //console.log(777, sp);
+ query.dirtyColumns = true;
+ }
+ // }
+ //console.log(87,{s:ss.join(','),sp:sp});
+ return { s: ss.join(','), sp: sp };
+ }
+ yy.Select.prototype.compileSelect1 = function (query, params) {
+ var self = this;
+ query.columns = [];
+ query.xcolumns = {};
+ query.selectColumns = {};
+ query.dirtyColumns = false;
+ var s = 'var r={';
+ var sp = '';
+ var ss = [];
+ //console.log(42,87,this.columns);
+ this.columns.forEach(function (col) {
+ //console.log(col);
+ if (col instanceof yy.Column) {
+ if (col.columnid === '*') {
+ if (col.func) {
+ sp +=
+ "r=params['" +
+ col.param +
+ "'](p['" +
+ query.sources[0].alias +
+ "'],p,params,alasql);";
+ }
+ else if (col.tableid) {
+ //Copy all
+ var ret = compileSelectStar(query, col.tableid, false);
+ if (ret.s) {
+ ss = ss.concat(ret.s);
+ }
+ sp += ret.sp;
+ }
+ else {
+ // console.log('aliases', query.aliases);
+ for (var alias in query.aliases) {
+ var ret = compileSelectStar(query, alias, true); //query.aliases[alias].tableid);
+ if (ret.s) {
+ ss = ss.concat(ret.s);
+ }
+ sp += ret.sp;
+ }
+ // TODO Remove these lines
+ // In case of no information
+ // sp += 'for(var k1 in p){var w=p[k1];'+
+ // 'for(k2 in w) {r[k2]=w[k2]}}'
+ }
+ }
+ else {
+ // If field, otherwise - expression
+ var tbid = col.tableid;
+ // console.log(query.sources);
+ var dbid = col.databaseid || query.sources[0].databaseid || query.database.databaseid;
+ if (!tbid)
+ { tbid = query.defcols[col.columnid]; }
+ if (!tbid)
+ { tbid = query.defaultTableid; }
+ if (col.columnid !== '_') {
+ {
+ // workaround for multisheet xlsx export with custom COLUMNS
+ var isMultisheetParam = params &&
+ params.length > 1 &&
+ Array.isArray(params[0]) &&
+ params[0].length >= 1 &&
+ params[0][0].hasOwnProperty('sheetid');
+ if (isMultisheetParam) {
+ sp =
+ 'var r={};var w=p["' +
+ tbid +
+ '"];' +
+ 'var cols=[' +
+ self.columns
+ .map(function (col) {
+ return "'" + col.columnid + "'";
+ })
+ .join(',') +
+ '];var colas=[' +
+ self.columns
+ .map(function (col) {
+ return "'" + (col.as || col.columnid) + "'";
+ })
+ .join(',') +
+ '];' +
+ "for (var i=0;i 0) {
+ // console.log(1);
+ var tcol = xcolumns[col.columnid];
+ if (undefined === tcol) {
+ throw new Error('Column does not exists: ' + col.columnid);
+ }
+ var coldef = {
+ columnid: col.as || col.columnid,
+ dbtypeid: tcol.dbtypeid,
+ dbsize: tcol.dbsize,
+ dbpecision: tcol.dbprecision,
+ dbenum: tcol.dbenum,
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ else {
+ var coldef = {
+ columnid: col.as || col.columnid,
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ query.dirtyColumns = true;
+ }
+ }
+ else {
+ var coldef = {
+ columnid: col.as || col.columnid,
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ // This is a subquery?
+ // throw new Error('There is now such table \''+col.tableid+'\'');
+ }
+ }
+ }
+ else if (col instanceof yy.AggrValue) {
+ if (!self.group) {
+ // self.group=[new yy.Column({columnid:'q',as:'q' })];
+ self.group = [''];
+ }
+ if (!col.as) {
+ col.as = escapeq(col.toString());
+ }
+ if (col.aggregatorid === 'SUM' ||
+ col.aggregatorid === 'MAX' ||
+ col.aggregatorid === 'MIN' ||
+ col.aggregatorid === 'FIRST' ||
+ col.aggregatorid === 'LAST' ||
+ col.aggregatorid === 'AVG' ||
+ col.aggregatorid === 'ARRAY' ||
+ col.aggregatorid === 'REDUCE') {
+ ss.push("'" +
+ utils$6.escapeq(col.as) +
+ "':" +
+ utils$6.n2u(col.expression.toJS('p', query.defaultTableid, query.defcols)));
+ }
+ else if (col.aggregatorid === 'COUNT') {
+ ss.push("'" + utils$6.escapeq(col.as) + "':1");
+ // Nothing
+ }
+ // todo: confirm that no default action must be implemented
+ // query.selectColumns[col.aggregatorid+'('+escapeq(col.expression.toString())+')'] = thtd;
+ var coldef = {
+ columnid: col.as || col.columnid || col.toString(),
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ // else if (col.aggregatorid == 'MAX') {
+ // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
+ // } else if (col.aggregatorid == 'MIN') {
+ // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
+ // }
+ }
+ else {
+ // console.log(203,col.as,col.columnid,col.toString());
+ ss.push("'" +
+ utils$6.escapeq(col.as || col.columnid || col.toString()) +
+ "':" +
+ utils$6.n2u(col.toJS('p', query.defaultTableid, query.defcols)));
+ // ss.push('\''+escapeq(col.toString())+'\':'+col.toJS("p",query.defaultTableid));
+ //if(col instanceof yy.Expression) {
+ query.selectColumns[escapeq(col.as || col.columnid || col.toString())] = true;
+ var coldef = {
+ columnid: col.as || col.columnid || col.toString(),
+ };
+ // console.log(2);
+ query.columns.push(coldef);
+ query.xcolumns[coldef.columnid] = coldef;
+ }
+ });
+ s += ss.join(',') + '};' + sp;
+ return s;
+ //console.log(42,753,query.xcolumns, query.selectColumns);
+ };
+ yy.Select.prototype.compileSelect2 = function (query) {
+ var s = query.selectfns;
+ if (this.orderColumns && this.orderColumns.length > 0) {
+ this.orderColumns.forEach(function (v, idx) {
+ var key = '$$$' + idx;
+ if (v instanceof yy.Column && query.xcolumns[v.columnid]) {
+ s += "r['" + key + "']=r['" + v.columnid + "'];";
+ }
+ else {
+ s += "r['" + key + "']=" + v.toJS('p', query.defaultTableid, query.defcols) + ';';
+ }
+ query.removeKeys.push(key);
+ });
+ }
+ // console.log(285,s);
+ return new Function('p,params,alasql', 'var y;' + s + 'return r');
+ };
+ yy.Select.prototype.compileSelectGroup0 = function (query) {
+ var self = this;
+ self.columns.forEach(function (col, idx) {
+ if (!(col instanceof yy.Column && col.columnid === '*')) {
+ var colas;
+ // = col.as;
+ if (col instanceof yy.Column) {
+ colas = utils$6.escapeq(col.columnid);
+ }
+ else {
+ colas = utils$6.escapeq(col.toString(true));
+ // console.log(273,colas);
+ }
+ for (var i = 0; i < idx; i++) {
+ if (colas === self.columns[i].nick) {
+ colas = self.columns[i].nick + ':' + idx;
+ break;
+ }
+ }
+ // }
+ col.nick = colas;
+ if (col.funcid &&
+ (col.funcid.toUpperCase() === 'ROWNUM' || col.funcid.toUpperCase() === 'ROW_NUMBER')) {
+ query.rownums.push(col.as);
+ }
+ // console.log("colas:",colas);
+ // }
+ }
+ else {
+ query.groupStar = col.tableid || 'default';
+ }
+ });
+ this.columns.forEach(function (col) {
+ if (col.findAggregator) {
+ col.findAggregator(query);
+ }
+ });
+ if (this.having) {
+ if (this.having.findAggregator) {
+ this.having.findAggregator(query);
+ }
+ }
+ };
+ yy.Select.prototype.compileSelectGroup1 = function (query) {
+ var self = this;
+ var s = 'var r = {};';
+ self.columns.forEach(function (col) {
+ // console.log(col);
+ if (col instanceof yy.Column && col.columnid === '*') {
+ // s += 'for(var k in g){r[k]=g[k]};';
+ // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
+ s += 'for(var k in g) {r[k]=g[k]};';
+ return '';
+ // console.log(query);
+ }
+ else {
+ // var colas = col.as;
+ var colas = col.as;
+ if (colas === undefined) {
+ if (col instanceof yy.Column) {
+ colas = escapeq(col.columnid);
+ }
+ else {
+ colas = col.nick;
+ }
+ }
+ query.groupColumns[colas] = col.nick;
+ /*/* if(typeof colas == 'undefined') {
+ if(col instanceof yy.Column) {
+ colas = col.columnid;
+ } else {
+ colas = col.toString();
+ for(var i=0;i -1) {
+ s += "r['" + (col.as || col.nick) + "']=g['" + col.nick + "'];";
+ }
+ });
+ if (this.orderColumns && this.orderColumns.length > 0) {
+ this.orderColumns.forEach(function (v, idx) {
+ // console.log(411,v);
+ var key = '$$$' + idx;
+ // console.log(427,v,query.groupColumns,query.xgroupColumns);
+ if (v instanceof yy.Column && query.groupColumns[v.columnid]) {
+ s += "r['" + key + "']=r['" + v.columnid + "'];";
+ }
+ else {
+ s += "r['" + key + "']=" + v.toJS('g', '') + ';';
+ }
+ query.removeKeys.push(key);
+ });
+ }
+ //console.log(425,s);
+ // console.log('selectg:',s);
+ return new Function('g,params,alasql', 'var y;' + s + 'return r');
+ };
+ // SELECY * REMOVE [COLUMNS] col-list, LIKE ''
+ yy.Select.prototype.compileRemoveColumns = function (query) {
+ if (typeof this.removecolumns !== 'undefined') {
+ query.removeKeys = query.removeKeys.concat(this.removecolumns
+ .filter(function (column) {
+ return typeof column.like === 'undefined';
+ })
+ .map(function (column) {
+ return column.columnid;
+ }));
+ //console.log(query.removeKeys,this.removecolumns);
+ query.removeLikeKeys = this.removecolumns
+ .filter(function (column) {
+ return typeof column.like !== 'undefined';
+ })
+ .map(function (column) {
+ // return new RegExp((column.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g');
+ return column.like.value;
+ });
+ }
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
-_handle_error:
- // handle parse error
- if (typeof action === 'undefined' || !action.length || !action[0]) {
- var error_rule_depth;
- var errStr = '';
+ function where (mem) {
+ var yy = mem.grammar.yy;
+ yy.Select.prototype.compileWhere = function (query) {
+ if (this.where) {
+ if (typeof this.where === 'function') {
+ return this.where;
+ }
+ else {
+ var s = this.where.toJS('p', query.defaultTableid, query.defcols);
+ query.wherefns = s;
+ // console.log(s);
+ return new Function('p,params,alasql', 'var y;return ' + s);
+ }
+ }
+ else
+ { return function () {
+ return true;
+ }; }
+ };
+ yy.Select.prototype.compileWhereJoins = function (query) {
+ return;
+ // TODO Fix Where optimization
+ //console.log(query);
+ optimizeWhereJoin(query, this.where.expression);
+ //for sources compile wherefs
+ query.sources.forEach(function (source) {
+ if (source.srcwherefns) {
+ source.srcwherefn = new Function('p,params,alasql', 'var y;return ' + source.srcwherefns);
+ }
+ if (source.wxleftfns) {
+ source.wxleftfn = new Function('p,params,alasql', 'var y;return ' + source.wxleftfns);
+ }
+ if (source.wxrightfns) {
+ source.wxrightfn = new Function('p,params,alasql', 'var y;return ' + source.wxrightfns);
+ }
+ // console.log(source.alias, source.wherefns)
+ // console.log(source);
+ });
+ };
+ function optimizeWhereJoin(query, ast) {
+ if (!ast)
+ { return false; }
+ if (!(ast instanceof yy.Op))
+ { return; }
+ if (ast.op != '=' && ast.op != 'AND')
+ { return; }
+ if (ast.allsome)
+ { return; }
+ var s = ast.toJS('p', query.defaultTableid, query.defcols);
+ var fsrc = [];
+ query.sources.forEach(function (source, idx) {
+ // Optimization allowed only for tables only
+ if (source.tableid) {
+ // This is a good place to remove all unnecessary optimizations
+ if (s.indexOf("p['" + source.alias + "']") > -1)
+ { fsrc.push(source); }
+ }
+ });
+ //console.log(fsrc.length);
+ // if(fsrc.length < query.sources.length) return;
+ // console.log(ast);
+ // console.log(s);
+ // console.log(fsrc.length);
+ if (fsrc.length == 0) {
+ // console.log('no optimization, can remove this part of ast');
+ return;
+ }
+ else if (fsrc.length == 1) {
+ if (!(s.match(/p\[\'.*?\'\]/g) || []).every(function (s) {
+ return s == "p['" + fsrc[0].alias + "']";
+ })) {
+ return;
+ // This is means, that we have column from parent query
+ // So we return without optimization
+ }
+ var src = fsrc[0]; // optmiization source
+ src.srcwherefns = src.srcwherefns ? src.srcwherefns + '&&' + s : s;
+ if (ast instanceof yy.Op && (ast.op == '=' && !ast.allsome)) {
+ if (ast.left instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (rs.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = ls;
+ fsrc[0].wxrightfns = rs;
+ }
+ }
+ if (ast.right instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (ls.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = rs;
+ fsrc[0].wxrightfns = ls;
+ }
+ }
+ }
+ ast.reduced = true; // To do not duplicate wherefn and srcwherefn
+ return;
+ }
+ else {
+ if ((ast.op = 'AND')) {
+ optimizeWhereJoin(query, ast.left);
+ optimizeWhereJoin(query, ast.right);
+ }
+ }
+ }
+ mem.grammar.yy = yy;
+ }
- // Return the rule stack depth where the nearest error rule can be found.
- // Return FALSE when no error recovery rule was found.
- function locateNearestErrorRecoveryRule(state) {
- var stack_probe = stack.length - 1;
- var depth = 0;
+ function useDatabase (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.CreateDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateDatabase.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.engineid)
+ { s += ' ' + this.engineid; }
+ s += ' DATABASE';
+ if (this.ifnotexists)
+ { s += ' IF NOT EXISTS'; }
+ s += ' ' + this.databaseid;
+ if (this.args && this.args.length > 0) {
+ s +=
+ '(' +
+ this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ') +
+ ')';
+ }
+ if (this.as)
+ { s += ' AS ' + this.as; }
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.CreateDatabase.prototype.execute = function (databaseid, params, cb) {
+ var args;
+ if (this.args && this.args.length > 0) {
+ args = this.args.map(function (arg) {
+ // console.log(346235, arg.toJS());
+ return new Function('params,alasql', 'var y;return ' + arg.toJS())(params, alasql);
+ });
+ }
+ if (this.engineid) {
+ var res = alasql.engines[this.engineid].createDatabase(this.databaseid, this.args, this.ifnotexists, this.as, cb);
+ return res;
+ }
+ else {
+ var dbid = this.databaseid;
+ if (alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' already exists");
+ }
+ var a = alasql.newDatabase(dbid);
+ var res = 1;
+ if (cb)
+ { return cb(res); }
+ return res;
+ }
+ };
+ // CREATE DATABASE databaseid
+ yy.AttachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.AttachDatabase.prototype.toString = function (args) {
+ var s = 'ATTACH';
+ if (this.engineid)
+ { s += ' ' + this.engineid; }
+ s += ' DATABASE' + ' ' + this.databaseid;
+ // TODO add params
+ if (args) {
+ s += '(';
+ if (args.length > 0) {
+ s += args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ');
+ }
+ s += ')';
+ }
+ if (this.as)
+ { s += ' AS' + ' ' + this.as; }
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.AttachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.engines[this.engineid]) {
+ throw new Error('Engine "' + this.engineid + '" is not defined.');
+ }
+ var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, this.args, params, cb);
+ return res;
+ };
+ // CREATE DATABASE databaseid
+ yy.DetachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DetachDatabase.prototype.toString = function () {
+ var s = 'DETACH';
+ s += ' DATABASE' + ' ' + this.databaseid;
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.DetachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.databases[this.databaseid].engineid) {
+ throw new Error('Cannot detach database "' + this.engineid + '", because it was not attached.');
+ }
+ var res;
+ var dbid = this.databaseid;
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ else {
+ res = 0;
+ }
+ }
+ else {
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb)
+ { cb(res); }
+ return res;
+ // var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, cb);
+ // return res;
+ };
+ // USE DATABSE databaseid
+ // USE databaseid
+ yy.UseDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.UseDatabase.prototype.toString = function () {
+ return 'USE' + ' ' + 'DATABASE' + ' ' + this.databaseid;
+ };
+ //yy.UseDatabase.prototype.compile = returnUndefined;
+ yy.UseDatabase.prototype.execute = function (databaseid, params, cb) {
+ var dbid = this.databaseid;
+ if (!alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ alasql.use(dbid);
+ var res = 1;
+ if (cb)
+ { cb(res); }
+ return res;
+ };
+ // DROP DATABASE databaseid
+ yy.DropDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DropDatabase.prototype.toString = function () {
+ var s = 'DROP';
+ if (this.ifexists)
+ { s += ' IF EXISTS'; }
+ s += ' DATABASE ' + this.databaseid;
+ return s;
+ };
+ //yy.DropDatabase.prototype.compile = returnUndefined;
+ yy.DropDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (this.engineid) {
+ return alasql.engines[this.engineid].dropDatabase(this.databaseid, this.ifexists, cb);
+ }
+ var res;
+ var dbid = this.databaseid;
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ else {
+ res = 0;
+ }
+ }
+ else {
+ if (alasql.databases[dbid].engineid) {
+ throw new Error("Cannot drop database '" + dbid + "', because it is attached. Detach it.");
+ }
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb)
+ { cb(res); }
+ return res;
+ };
+ mem.grammar.yy = yy;
+ }
- // try to recover from error
- for(;;) {
- // check for error recovery rule in this state
- if ((TERROR.toString()) in table[state]) {
- return depth;
- }
- if (state === 0 || stack_probe < 2) {
- return false; // No suitable error recovery rule available.
- }
- stack_probe -= 2; // popStack(1): [symbol, action]
- state = stack[stack_probe];
- ++depth;
- }
- }
+ function functions (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.FuncValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.FuncValue.prototype.toString = function (dontas) {
+ var s = '';
+ if (alasql.fn[this.funcid])
+ { s += this.funcid; }
+ else if (alasql.aggr[this.funcid])
+ { s += this.funcid; }
+ else if (alasql.stdlib[this.funcid.toUpperCase()] || alasql.stdfn[this.funcid.toUpperCase()])
+ { s += this.funcid.toUpperCase(); }
+ s += '(';
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(',');
+ }
+ s += ')';
+ if (this.as && !dontas)
+ { s += ' AS ' + this.as.toString(); }
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+ yy.FuncValue.prototype.execute = function (databaseid, params, cb) {
+ var res = 1;
+ alasql.precompile(this, databaseid, params); // Precompile queries
+ // console.log(34,this.toJS('','',null));
+ var expr = new Function('params,alasql', 'var y;return ' + this.toJS('', '', null));
+ expr(params, alasql);
+ if (cb)
+ { res = cb(res); }
+ return res;
+ };
+ /*/*
+ //yy.FuncValue.prototype.compile = function(context, tableid, defcols){
+ // console.log('Expression',this);
+ // if(this.reduced) return returnTrue();
+ // return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
+ //};
+
+
+ // yy.FuncValue.prototype.compile = function(context, tableid, defcols){
+ // // console.log('Expression',this);
+ // if(this.reduced) return returnTrue();
+ // return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
+ // };
+
+ */
+ yy.FuncValue.prototype.findAggregator = function (query) {
+ if (this.args && this.args.length > 0) {
+ this.args.forEach(function (arg) {
+ if (arg.findAggregator)
+ { arg.findAggregator(query); }
+ });
+ }
+ };
+ yy.FuncValue.prototype.toJS = function (context, tableid, defcols) {
+ var s = '';
+ var funcid = this.funcid;
+ // IF this is standard compile functions
+ if (!alasql.fn[funcid] && alasql.stdlib[funcid.toUpperCase()]) {
+ if (this.args && this.args.length > 0) {
+ s += alasql.stdlib[funcid.toUpperCase()].apply(this, this.args.map(function (arg) {
+ return arg.toJS(context, tableid);
+ }));
+ }
+ else {
+ s += alasql.stdlib[funcid.toUpperCase()]();
+ }
+ }
+ else if (!alasql.fn[funcid] && alasql.stdfn[funcid.toUpperCase()]) {
+ if (this.newid)
+ { s += 'new '; }
+ s += 'alasql.stdfn.' + this.funcid.toUpperCase() + '(';
+ // if(this.args) s += this.args.toJS(context, tableid);
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ }
+ else {
+ // This is user-defined run-time function
+ // TODO arguments!!!
+ // var s = '';
+ if (this.newid)
+ { s += 'new '; }
+ s += 'alasql.fn.' + this.funcid + '(';
+ // if(this.args) s += this.args.toJS(context, tableid);
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ }
+ //console.log('userfn:',s,this);
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+ /*/*
+ // // Functions compiler
+ // nodes.FunctionValue.prototype.toJS = function (context, tableid) {
+ // var s = '';
+ // s += fns[this.name.toUpperCase()].apply(null,this.arguments.map(function(arg){
+ // if(arg) return arg.toJS(context, tableid);
+ // else return '';
+ // }));
+ // return s;
+ // };
+ */
+ mem.grammar.yy = yy;
+ }
- if (!recovering) {
- // first see if there's any chance at hitting an error recovery rule:
- error_rule_depth = locateNearestErrorRecoveryRule(state);
+ /*
+ //
+ // CREATE TABLE for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ var cloneDeep$1 = utils$6.cloneDeep;
+ function createtable (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.ColumnDef = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ColumnDef.prototype.toString = function () {
+ var s = this.columnid;
+ if (this.dbtypeid) {
+ s += ' ' + this.dbtypeid;
+ }
+ if (this.dbsize) {
+ s += '(' + this.dbsize;
+ if (this.dbprecision) {
+ s += ',' + this.dbprecision;
+ }
+ s += ')';
+ }
+ if (this.primarykey) {
+ s += ' PRIMARY KEY';
+ }
+ if (this.notnull) {
+ s += ' NOT NULL';
+ }
+ return s;
+ };
+ yy.CreateTable = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateTable.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.temporary) {
+ s += ' TEMPORARY';
+ }
+ if (this.view) {
+ s += ' VIEW';
+ }
+ else {
+ s += ' ' + (this.class ? 'CLASS' : 'TABLE');
+ }
+ if (this.ifnotexists) {
+ s += ' IF NOT EXISTS';
+ }
+ s += ' ' + this.table.toString();
+ if (this.viewcolumns) {
+ s +=
+ '(' +
+ this.viewcolumns
+ .map(function (vcol) {
+ return vcol.toString();
+ })
+ .join(',') +
+ ')';
+ }
+ if (this.as) {
+ s += ' AS ' + this.as;
+ }
+ else {
+ var ss = this.columns.map(function (col) {
+ return col.toString();
+ });
+ s += ' (' + ss.join(',') + ')';
+ }
+ if (this.view && this.select) {
+ s += ' AS ' + this.select.toString();
+ }
+ return s;
+ };
+ // CREATE TABLE
+ //yy.CreateTable.prototype.compile = returnUndefined;
+ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
+ // var self = this;
+ var db = alasql.databases[this.table.databaseid || databaseid];
+ var tableid = this.table.tableid;
+ if (!tableid) {
+ throw new Error('Table name is not defined');
+ }
+ // var ifnotexists = this.ifnotexists;
+ var columns = this.columns;
+ // if(false) {
+ // if(!columns) {
+ // throw new Error('Columns are not defined');
+ // }
+ // }
+ var constraints = this.constraints || [];
+ // console.log(this);
+ // IF NOT EXISTS
+ if (this.ifnotexists && db.tables[tableid]) {
+ return cb ? cb(0) : 0;
+ }
+ if (db.tables[tableid]) {
+ throw new Error("Can not create table '" +
+ tableid +
+ "', because it already exists in the database '" +
+ db.databaseid +
+ "'");
+ }
+ var table = (db.tables[tableid] = alasql.newTable()); // TODO Can use special object?
+ // If this is a class
+ if (this.class) {
+ table.isclass = true;
+ }
+ var ss = []; // DEFAULT function components
+ var uss = []; // ON UPDATE function components
+ if (columns) {
+ columns.forEach(function (col) {
+ var dbtypeid = col.dbtypeid;
+ if (!alasql.fn[dbtypeid]) {
+ dbtypeid = dbtypeid.toUpperCase();
+ }
+ // Process SERIAL data type like Postgress
+ if (['SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(dbtypeid) > -1) {
+ col.identity = { value: 1, step: 1 };
+ }
+ var newcol = {
+ columnid: col.columnid,
+ dbtypeid: dbtypeid,
+ dbsize: col.dbsize,
+ dbprecision: col.dbprecision,
+ notnull: col.notnull,
+ identity: col.identity,
+ };
+ if (col.identity) {
+ table.identities[col.columnid] = {
+ value: +col.identity.value,
+ step: +col.identity.step,
+ };
+ // ss.push('\''+col.columnid+'\':(alasql.databases[\''+db.databaseid+'\'].tables[\''
+ // +tableid+'\'].identities[\''+col.columnid+'\'].value)');
+ }
+ if (col.check) {
+ table.checks.push({
+ id: col.check.constrantid,
+ fn: new Function('r', 'var y;return ' + col.check.expression.toJS('r', '')),
+ });
+ }
+ if (col.default) {
+ ss.push("'" + col.columnid + "':" + col.default.toJS('r', ''));
+ }
+ // Check for primary key
+ if (col.primarykey) {
+ var pk = (table.pk = {});
+ pk.columns = [col.columnid];
+ pk.onrightfns = "r['" + col.columnid + "']";
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ }
+ // UNIQUE clause
+ if (col.unique) {
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = [col.columnid];
+ uk.onrightfns = "r['" + col.columnid + "']";
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ }
+ // UNIQUE clause
+ if (col.foreignkey) {
+ // console.log(138,col.foreignkey);
+ var fk = col.foreignkey.table;
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ if (fktable.pk.columns && fktable.pk.columns.length > 0) {
+ fk.columnid = fktable.pk.columns[0];
+ }
+ else {
+ throw new Error('FOREIGN KEY allowed only to tables with PRIMARY KEYs');
+ }
+ }
+ // console.log(fktable.pk);
+ var fkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ // console.log(r, rr, addr);
+ // console.log(fktable.uniqs[fktable.pk.hh][addr]);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ throw new Error('Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid);
+ }
+ return true;
+ };
+ table.checks.push({ fn: fkfn });
+ /*/* var uk = {};
+ if(typeof table.uk == 'undefined') table.uk = [];
+ table.uk.push(uk);
+ uk.columns = [col.columnid];
+ uk.onrightfns = 'r[\''+col.columnid+'\']';
+ uk.onrightfn = new Function("r",'return '+uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ */
+ }
+ if (col.onupdate) {
+ uss.push("r['" + col.columnid + "']=" + col.onupdate.toJS('r', ''));
+ }
+ table.columns.push(newcol);
+ table.xcolumns[newcol.columnid] = newcol;
+ });
+ }
+ table.defaultfns = ss.join(',');
+ table.onupdatefns = uss.join(';');
+ // if(constraints) {
+ constraints.forEach(function (con) {
+ //console.log(con, con.columns);
+ var checkfn;
+ if (con.type === 'PRIMARY KEY') {
+ if (table.pk) {
+ throw new Error('Primary key already exists');
+ }
+ var pk = (table.pk = {});
+ pk.columns = con.columns;
+ pk.onrightfns = pk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ }
+ else if (con.type === 'CHECK') {
+ // console.log(con.expression.toJS('r',''));
+ checkfn = new Function('r', 'var y;return ' + con.expression.toJS('r', ''));
+ }
+ else if (con.type === 'UNIQUE') {
+ // console.log(con);
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = con.columns;
+ uk.onrightfns = uk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ }
+ else if (con.type === 'FOREIGN KEY') {
+ // console.log(con);
+ var col = table.xcolumns[con.columns[0]];
+ var fk = con.fktable;
+ if (con.fkcolumns && con.fkcolumns.length > 0) {
+ fk.columnid = con.fkcolumns[0];
+ }
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ fk.columnid = fktable.pk.columns[0];
+ }
+ // console.log(fktable.pk);
+ checkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ // console.log(r, rr, addr);
+ // console.log(fktable.uniqs[fktable.pk.hh][addr]);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ //console.log(228,table,col,fk);
+ throw new Error('Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid);
+ }
+ return true;
+ };
+ }
+ if (checkfn) {
+ table.checks.push({ fn: checkfn, id: con.constraintid, fk: con.type === 'FOREIGN KEY' });
+ }
+ });
+ if (this.view && this.viewcolumns) {
+ var self = this;
+ this.viewcolumns.forEach(function (vcol, idx) {
+ self.select.columns[idx].as = vcol.columnid;
+ });
+ }
+ //Used in 420from queryfn when table.view = true!
+ if (this.view && this.select) {
+ table.view = true;
+ // console.log(this.select.toString());
+ // console.log('this.table.databaseid',this.table.databaseid);
+ // console.log(this.select.compile(this.table.databaseid||databaseid));
+ table.select = this.select.compile(this.table.databaseid || databaseid);
+ }
+ if (db.engineid) {
+ // console.log(101,db.engineid);
+ return alasql.engines[db.engineid].createTable(this.table.databaseid || databaseid, tableid, this.ifnotexists, cb);
+ // console.log('createtable',res1);
+ // return res1;
+ }
+ // }
+ // if(table.pk) {
+ table.insert = function (r, orreplace) {
+ var oldinserted = alasql.inserted;
+ alasql.inserted = [r];
+ var table = this;
+ var toreplace = false; // For INSERT OR REPLACE
+ /*
+ // IDENTINY or AUTO_INCREMENT
+ // if(table.identities && table.identities.length>0) {
+ // table.identities.forEach(function(ident){
+ // r[ident.columnid] = ident.value;
+ // });
+ // }
+ */
+ // Trigger prevent functionality
+ var prevent = false;
+ for (var tr in table.beforeinsert) {
+ var trigger = table.beforeinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false)
+ { prevent = prevent || true; }
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ { prevent = prevent || true; }
+ }
+ }
+ }
+ if (prevent)
+ { return; }
+ // Trigger prevent functionality
+ var escape = false;
+ for (tr in table.insteadofinsert) {
+ escape = true;
+ trigger = table.insteadofinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ { return; }
+ //console.log(262,r);
+ //console.log(263,table.identities)
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ // console.log(ident);
+ r[columnid] = ident.value;
+ // console.log(ident);
+ }
+ //console.log(270,r);
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ // if(orreplace) toreplace=true; else
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+ if (typeof table.uniqs[pk.hh][addr] !== 'undefined') {
+ //console.log(pk,addr,pk.onrightfn({ono:1}));
+ //console.log(r, pk.onrightfn(r), pk.onrightfns);
+ if (orreplace)
+ { toreplace = table.uniqs[pk.hh][addr]; }
+ else
+ { throw new Error('Cannot insert record, because it already exists in primary key index'); }
+ }
+ // table.uniqs[pk.hh][addr]=r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] !== 'undefined') {
+ if (orreplace)
+ { toreplace = table.uniqs[uk.hh][ukaddr]; }
+ else
+ { throw new Error('Cannot insert record, because it already exists in unique index'); }
+ }
+ // table.uniqs[uk.hh][ukaddr]=r;
+ });
+ }
+ if (toreplace) {
+ // Do UPDATE!!!
+ // console.log();
+ table.update(function (t) {
+ for (var f in r)
+ { t[f] = r[f]; }
+ }, table.data.indexOf(toreplace), params);
+ }
+ else {
+ table.data.push(r);
+ // Final change before insert
+ // Update indices
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ // console.log(ident);
+ ident.value += ident.step;
+ // console.log(ident);
+ }
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+ table.uniqs[pk.hh][addr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ table.uniqs[uk.hh][ukaddr] = r;
+ });
+ }
+ }
+ // Trigger prevent functionality
+ for (var tr in table.afterinsert) {
+ var trigger = table.afterinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ alasql.inserted = oldinserted;
+ };
+ table.delete = function (index) {
+ var table = this;
+ var r = table.data[index];
+ // Prevent trigger
+ var prevent = false;
+ for (var tr in table.beforedelete) {
+ var trigger = table.beforedelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false)
+ { prevent = prevent || true; }
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ { prevent = prevent || true; }
+ }
+ }
+ }
+ if (prevent)
+ { return false; }
+ // Trigger prevent functionality
+ var escape = false;
+ for (var tr in table.insteadofdelete) {
+ escape = true;
+ var trigger = table.insteadofdelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ { return; }
+ if (this.pk) {
+ var pk = this.pk;
+ var addr = pk.onrightfn(r);
+ if (typeof this.uniqs[pk.hh][addr] === 'undefined') {
+ throw new Error('Something wrong with primary key index on table');
+ }
+ else {
+ this.uniqs[pk.hh][addr] = undefined;
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ table.uniqs[uk.hh][ukaddr] = undefined;
+ });
+ }
+ };
+ table.deleteall = function () {
+ this.data.length = 0;
+ if (this.pk) {
+ // var r = this.data[i];
+ this.uniqs[this.pk.hh] = {};
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh] = {};
+ });
+ }
+ };
+ table.update = function (assignfn, i, params) {
+ var this$1 = this;
+
+ // TODO: Analyze the speed
+ var r = cloneDeep$1(this.data[i]);
+ var pk;
+ // PART 1 - PRECHECK
+ if (this.pk) {
+ pk = this.pk;
+ pk.pkaddr = pk.onrightfn(r, params);
+ if (typeof this.uniqs[pk.hh][pk.pkaddr] === 'undefined') {
+ throw new Error('Something wrong with index on table');
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][uk.ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ });
+ }
+ assignfn(r, params, alasql);
+ // Prevent trigger
+ var prevent = false;
+ for (var tr in table.beforeupdate) {
+ var trigger = table.beforeupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](this$1.data[i], r) === false)
+ { prevent = prevent || true; }
+ }
+ else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false)
+ { prevent = prevent || true; }
+ }
+ }
+ }
+ if (prevent)
+ { return false; }
+ // Trigger prevent functionality
+ var escape = false;
+ for (var tr in table.insteadofupdate) {
+ escape = true;
+ var trigger = table.insteadofupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this$1.data[i], r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape)
+ { return; }
+ // PART 2 - POST CHECK
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (this.pk) {
+ pk.newpkaddr = pk.onrightfn(r);
+ if (typeof this.uniqs[pk.hh][pk.newpkaddr] !== 'undefined' &&
+ pk.newpkaddr !== pk.pkaddr) {
+ throw new Error('Record already exists');
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.newukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][uk.newukaddr] !== 'undefined' &&
+ uk.newukaddr !== uk.ukaddr) {
+ throw new Error('Record already exists');
+ }
+ });
+ }
+ // PART 3 UPDATE
+ if (this.pk) {
+ this.uniqs[pk.hh][pk.pkaddr] = undefined;
+ this.uniqs[pk.hh][pk.newpkaddr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh][uk.ukaddr] = undefined;
+ table.uniqs[uk.hh][uk.newukaddr] = r;
+ });
+ }
+ this.data[i] = r;
+ // Trigger prevent functionality
+ for (var tr in table.afterupdate) {
+ var trigger = table.afterupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this$1.data[i], r);
+ }
+ else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ };
+ // console.log(databaseid);
+ // console.log(db.databaseid,db.tables);
+ // console.log(table);
+ var res;
+ if (!alasql.options.nocount) {
+ res = 1;
+ }
+ if (cb)
+ { res = cb(res); }
+ return res;
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
- // Report error
- expected = [];
- for (p in table[state]) {
- if (this.terminals_[p] && p > TERROR) {
- expected.push("'"+this.terminals_[p]+"'");
- }
- }
- if (lexer.showPosition) {
- errStr = 'Parse error on line '+(yylineno+1)+":\n"+lexer.showPosition()+"\nExpecting "+expected.join(', ') + ", got '" + (this.terminals_[symbol] || symbol)+ "'";
- } else {
- errStr = 'Parse error on line '+(yylineno+1)+": Unexpected " +
- (symbol == EOF ? "end of input" :
- ("'"+(this.terminals_[symbol] || symbol)+"'"));
- }
- this.parseError(errStr, {
- text: lexer.match,
- token: this.terminals_[symbol] || symbol,
- line: lexer.yylineno,
- loc: yyloc,
- expected: expected,
- recoverable: (error_rule_depth !== false)
- });
- } else if (preErrorSymbol !== EOF) {
- error_rule_depth = locateNearestErrorRecoveryRule(state);
- }
+ /*
+ //
+ // INSERT for Alasql.js
+ // Date: 03.11.2014
+ // (c) 2014, Andrey Gershun
+ //
+ */
+ function insert (mem) {
+ var yy = mem.grammar.yy;
+ var alasql = mem.alasql;
+ yy.Insert = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Insert.prototype.toString = function () {
+ var s = 'INSERT ';
+ if (this.orreplace)
+ { s += 'OR REPLACE '; }
+ if (this.replaceonly)
+ { s = 'REPLACE '; }
+ s += 'INTO ' + this.into.toString();
+ if (this.columns)
+ { s += '(' + this.columns.toString() + ')'; }
+ if (this.values)
+ { s += ' VALUES ' + this.values.toString(); }
+ if (this.select)
+ { s += ' ' + this.select.toString(); }
+ return s;
+ };
+ yy.Insert.prototype.toJS = function (context, tableid, defcols) {
+ // console.log('Expression',this);
+ // if(this.expression.reduced) return 'true';
+ // return this.expression.toJS(context, tableid, defcols);
+ // console.log('Select.toJS', 81, this.queriesidx);
+ // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
+ var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
+ // s = '(console.log(this.queriesfn[0]),'+s+')';
+ // console.log(this,s);
+ return s;
+ };
+ yy.Insert.prototype.compile = function (databaseid) {
+ var self = this;
+ databaseid = self.into.databaseid || databaseid;
+ var db = alasql.databases[databaseid];
+ // console.log(self);
+ var tableid = self.into.tableid;
+ var table = db.tables[tableid];
+ if (!table) {
+ throw "Table '" + tableid + "' could not be found";
+ }
+ // Check, if this dirty flag is required
+ var s = '';
+ var sw = '';
+ var s = "db.tables['" + tableid + "'].dirty=true;";
+ var s3 = 'var a,aa=[],x;';
+ var s33;
+ // INSERT INTO table VALUES
+ if (this.values) {
+ if (this.exists) {
+ this.existsfn = this.exists.map(function (ex) {
+ var nq = ex.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (this.queries) {
+ this.queriesfn = this.queries.map(function (q) {
+ var nq = q.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ // console.log(1);
+ self.values.forEach(function (values) {
+ var ss = [];
+ // s += 'db.tables[\''+tableid+'\'].data.push({';
+ // s += '';
+ if (self.columns) {
+ self.columns.forEach(function (col, idx) {
+ //console.log(db.tables, tableid, table);
+ // ss.push(col.columnid +':'+ self.values[idx].value.toString());
+ // console.log(rec[f.name.value]);
+ // if(rec[f.name.value] == "NULL") rec[f.name.value] = undefined;
+ // if(table.xflds[f.name.value].dbtypeid == "INT") rec[f.name.value] = +rec[f.name.value]|0;
+ // else if(table.xflds[f.name.value].dbtypeid == "FLOAT") rec[f.name.value] = +rec[f.name.value];
+ var q = "'" + col.columnid + "':";
+ if (table.xcolumns && table.xcolumns[col.columnid]) {
+ if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(table.xcolumns[col.columnid].dbtypeid) >= 0) {
+ //q += ''
+ q += '(x=' + values[idx].toJS() + ',x==undefined?undefined:+x)';
+ }
+ else if (alasql.fn[table.xcolumns[col.columnid].dbtypeid]) {
+ q += '(new ' + table.xcolumns[col.columnid].dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ ss.push(q);
+ });
+ }
+ else {
+ // var table = db.tables[tableid];
+ // console.log('table1', db, self);
+ //console.log(111, table.columns);
+ //console.log(74,table);
+ if (Array.isArray(values) && table.columns && table.columns.length > 0) {
+ table.columns.forEach(function (col, idx) {
+ var q = "'" + col.columnid + "':";
+ // var val = values[idx].toJS();
+ if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(col.dbtypeid) >= 0) {
+ q += '+' + values[idx].toJS();
+ }
+ else if (alasql.fn[col.dbtypeid]) {
+ q += '(new ' + col.dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ }
+ else {
+ q += values[idx].toJS();
+ }
+ /*/*
+ // if(table.xcolumns && table.xcolumns[col.columnid] &&
+ // (table.xcolumns[col.columnid].dbtypeid == "DATE" ||
+ // table.xcolumns[col.columnid].dbtypeid == "DATETIME"
+ // )) {
+ // val = "(new Date("+val+"))";
+ // }
+ // || table.xcolumns[col.columnid].dbtypeid == "FLOAT"
+ // || table.xcolumns[col.columnid].dbtypeid == "NUMBER"
+ // || table.xcolumns[col.columnid].dbtypeid == "MONEY"
+ // )) q += '+';
+ // console.log(self.values[idx].toString());
+ //console.log(self);
+ // q += val;
+
+ // if(table.xcolumns && table.xcolumns[col.columnid] && table.xcolumns[col.columnid].dbtypeid == "INT") q += '|0';
+ */
+ ss.push(q);
+ /*/*
+ // console.log(fld);
+ // TODO: type checking and conversions
+ // rec[fld.fldid] = eval(self.insertExpression[idx].toJS('',''));
+ // console.log(rec[fld.fldid]);
+ // if(rec[fld.fldid] == "NULL") rec[fld.fldid] = undefined;
+
+ // if(table.xflds[fld.fldid].dbtypeid == "INT") rec[fld.fldid] = +rec[fld.fldid]|0;
+ // else if(table.xflds[fld.fldid].dbtypeid == "FLOAT" || table.xflds[fld.fldid].dbtypeid == "MONEY" )
+ // rec[fld.fldid] = +rec[fld.fldid];
+ */
+ });
+ }
+ else {
+ // console.log(222,values);
+ // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
+ sw = JSONtoJS(values);
+ }
+ }
+ //console.log(ss);
+ if (db.tables[tableid].defaultfns) {
+ ss.unshift(db.tables[tableid].defaultfns);
+ }
+ if (sw) {
+ s += 'a=' + sw + ';';
+ }
+ else {
+ s += 'a={' + ss.join(',') + '};';
+ }
+ // If this is a class
+ if (db.tables[tableid].isclass) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s += 'a.$class="' + tableid + '";';
+ s += 'a.$id=db.counter++;';
+ s += 'db.objects[a.$id]=a;';
+ }
+ // s += 'db.tables[\''+tableid+'\'].insert(r);';
+ if (db.tables[tableid].insert) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s +=
+ "db.tables['" +
+ tableid +
+ "'].insert(a," +
+ (self.orreplace ? 'true' : 'false') +
+ ');';
+ }
+ else {
+ s += 'aa.push(a);';
+ }
+ });
+ s33 = s3 + s;
+ if (db.tables[tableid].insert) ;
+ else {
+ s +=
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data=" +
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data.concat(aa);";
+ }
+ if (db.tables[tableid].insert) {
+ if (db.tables[tableid].isclass) {
+ s += 'return a.$id;';
+ }
+ else {
+ s += 'return ' + self.values.length;
+ }
+ }
+ else {
+ s += 'return ' + self.values.length;
+ }
+ //console.log(186,s3+s);
+ var insertfn = new Function('db, params, alasql', 'var y;' + s3 + s).bind(this);
+ // INSERT INTO table SELECT
+ }
+ else if (this.select) {
+ this.select.modifier = 'RECORDSET';
+ var selectfn = this.select.compile(databaseid);
+ if (db.engineid && alasql.engines[db.engineid].intoTable) {
+ var statement = function (params, cb) {
+ var aa = selectfn(params);
+ var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa.data, null, cb);
+ return res;
+ };
+ return statement;
+ }
+ else {
+ // console.log(224,table.defaultfns);
+ var defaultfns = 'return alasql.utils.extend(r,{' + table.defaultfns + '})';
+ var defaultfn = new Function('r,db,params,alasql', defaultfns);
+ var insertfn = function (db, params, alasql) {
+ var res = selectfn(params).data;
+ if (db.tables[tableid].insert) {
+ // If insert() function exists (issue #92)
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ var r = cloneDeep(res[i]);
+ defaultfn(r, db, params, alasql);
+ db.tables[tableid].insert(r, self.orreplace);
+ }
+ }
+ else {
+ db.tables[tableid].data = db.tables[tableid].data.concat(res);
+ }
+ if (alasql.options.nocount)
+ { return; }
+ else
+ { return res.length; }
+ };
+ }
+ }
+ else if (this.default) {
+ var insertfns = "db.tables['" + tableid + "'].data.push({" + table.defaultfns + '});return 1;';
+ var insertfn = new Function('db,params,alasql', insertfns);
+ }
+ else {
+ throw new Error('Wrong INSERT parameters');
+ }
+ // console.log(1,s);
+ // console.log(s33);
+ if (db.engineid && alasql.engines[db.engineid].intoTable && alasql.options.autocommit) {
+ var statement = function (params, cb) {
+ var aa = new Function('db,params', 'var y;' + s33 + 'return aa;')(db, params);
+ // console.log(s33);
+ var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa, null, cb);
+ // if(cb) cb(res);
+ return res;
+ };
+ }
+ else {
+ var statement = function (params, cb) {
+ //console.log(databaseid);
+ var db = alasql.databases[databaseid];
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].loadTableData(databaseid, tableid);
+ }
+ var res = insertfn(db, params, alasql);
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].saveTableData(databaseid, tableid);
+ }
+ // var res = insertfn(db, params);
+ if (alasql.options.nocount)
+ { res = undefined; }
+ if (cb)
+ { cb(res); }
+ return res;
+ };
+ }
+ return statement;
+ };
+ yy.Insert.prototype.execute = function (databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ // throw new Error('Insert statement is should be compiled')
+ };
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+ }
- // just recovered from another error
- if (recovering == 3) {
- if (symbol === EOF || preErrorSymbol === EOF) {
- throw new Error(errStr || 'Parsing halted while starting to recover from another error.');
- }
+ function expandGrammar (mem) {
+ mem.alasql.parser = alasqlparser;
+ base(mem);
+ statements(mem);
+ select(mem);
+ expression(mem);
+ exists(mem);
+ defcols(mem);
+ from_(mem);
+ compile(mem);
+ where(mem);
+ useDatabase(mem);
+ functions(mem);
+ createtable(mem);
+ insert(mem);
+ }
- // discard current lookahead and grab another
- yyleng = lexer.yyleng;
- yytext = lexer.yytext;
- yylineno = lexer.yylineno;
- yyloc = lexer.yylloc;
- symbol = lex();
- }
+ /**
+ AlaSQL - Main Alasql class
+ @function
+ @param {string|function|object} sql - SQL-statement or data object for fuent interface
+ @param {object} params - SQL parameters
+ @param {function} cb - callback function
+ @param {object} scope - Scope for nested queries
+ @return {any} - Result data object
+
+ @example
+ Standard sync call:
+ alasql('CREATE TABLE one');
+ Query:
+ var res = alasql('SELECT * FROM one');
+ Call with parameters:
+ var res = alasql('SELECT * FROM ?',[data]);
+ Standard async call with callback function:
+ alasql('SELECT * FROM ?',[data],function(res){
+ console.log(data);
+ });
+ Call with scope for subquery (to pass common values):
+ var scope = {one:{a:2,b;20}}
+ alasql('SELECT * FROM ? two WHERE two.a = one.a',[data],null,scope);
+ Call for fluent interface with data object:
+ alasql(data).Where(function(x){return x.a == 10}).exec();
+ Call for fluent interface without data object:
+ alasql().From(data).Where(function(x){return x.a == 10}).exec();
+ */
+ function logic(mem) {
+ var yy = mem.grammar.yy;
+ return function (sql, params, cb, scope) {
+ params = params || [];
+ if (typeof importScripts !== 'function' && mem.alasql.webworker) {
+ var id = mem.alasql.lastid++;
+ mem.alasql.buffer[id] = cb;
+ mem.alasql.webworker.postMessage({ id: id, sql: sql, params: params });
+ return;
+ }
+ if (arguments.length === 0) {
+ // Without arguments - Fluent interface
+ return new yy.Select({
+ columns: [new yy.Column({ columnid: '*' })],
+ from: [new yy.ParamValue({ param: 0 })],
+ });
+ }
+ else if (arguments.length === 1) {
+ // Access promise notation without using `.promise(...)`
+ if (sql.constructor === Array) {
+ return mem.alasql.promise(sql);
+ }
+ }
+ // Avoid setting params if not needed even with callback
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = [];
+ }
+ if (typeof params !== 'object') {
+ params = [params];
+ }
+ // Standard interface
+ // alasql('#sql');
+ /*only-for-browser/*
+ if (typeof sql === 'string' && sql[0] === '#' && typeof document === 'object') {
+ sql = document.querySelector(sql).textContent;
+ } else if (typeof sql === 'object' && sql instanceof HTMLElement) {
+ sql = sql.textContent;
+ } else //*/
+ if (typeof sql === 'function') {
+ // to run multiline functions
+ sql = sql.toString();
+ sql = (/\/\*([\S\s]+)\*\//m.exec(sql) || [
+ '',
+ 'Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function.' ])[1];
+ }
+ // Run SQL
+ return mem.alasql.exec(sql, params, cb, scope);
+ };
+ }
- // try to recover from error
- if (error_rule_depth === false) {
- throw new Error(errStr || 'Parsing halted. No suitable error recovery rule available.');
- }
- popStack(error_rule_depth);
+ function database (mem) {
+ mem.alasql.databasenum = 0;
+ mem.alasql.databases = {};
+ var Database = function Database(databaseid, alasql) {
+ this.dbversion = 0;
+ this.counter = 0;
+ this.tables = {};
+ this.views = {};
+ this.triggers = {};
+ this.indices = {};
+ this.objects = {};
+ this.sqlCache = {};
+ this.sqlCacheSize = 0;
+ this.alasql = alasql;
+ this.databaseid = databaseid;
+ return this;
+ };
+ /**
+ Reset SQL statements cache
+ */
+ Database.prototype.resetSqlCache = function resetSqlCache () {
+ this.sqlCache = {}; // Cache for compiled SQL statements
+ this.sqlCacheSize = 0;
+ };
+ // Main SQL function
+ /**
+ Run SQL statement on database
+ @param sql — SQL statement
+ @param object — params Parameters
+ @param cb — callback
+ */
+ Database.prototype.exec = function exec (sql, params, cb) {
+ return this.alasql.dexec(this.databaseid, sql, params, cb);
+ };
+ Database.prototype.autoval = function autoval (tablename, colname, getNext) {
+ return this.alasql.autoval(tablename, colname, getNext, this.databaseid);
+ };
+ mem.alasql.newDatabase = function (dbName, useNewDatabase) {
+ if ( useNewDatabase === void 0 ) useNewDatabase = true;
+
+ if (!dbName) {
+ dbName = 'db' + mem.alasql.databasenum++; // Unique name
+ }
+ var db = new Database(dbName, mem.alasql);
+ mem.alasql.databases[db.databaseid] = db;
+ if (useNewDatabase) {
+ mem.alasql.use('alasql');
+ }
+ };
+ //mem.alasql.Database = Database;
+ }// // Main Database class
+ // /**
+ // @class Database
+ // */
+ // const Database = (databaseid) => {
+ // var self = this;
+ // // self = function(a){console.log('OK',a);}
+ // // self.prototype = this;
+ // if (self === alasql) {
+ // if (databaseid) {
+ // // if(alasql.databases[databaseid]) {
+ // self = alasql.databases[databaseid];
+ // // } else {
+ // alasql.databases[databaseid] = self;
+ // // }
+ // if (!self) {
+ // throw new Error('Database "' + databaseid + '" not found');
+ // }
+ // } else {
+ // // Create new database (or get alasql?)
+ // self = alasql.databases.alasql;
+ // // For SQL Server examples, USE tempdb
+ // if (alasql.options.tsql) {
+ // alasql.databases.tempdb = alasql.databases.alasql;
+ // }
+ // // self = new Database(databaseid); // to call without new
+ // }
+ // }
+ // if (!databaseid) {
+ // databaseid = 'db' + alasql.databasenum++; // Unique name
+ // }
+ // // Step 1
+ // self.databaseid = databaseid;
+ // alasql.databases[databaseid] = self;
+ // self.dbversion = 0;
+ // //Steps 2-5
+ // self.tables = {};
+ // self.views = {};
+ // self.triggers = {};
+ // self.indices = {};
+ // // Step 6: Objects storage
+ // self.objects = {};
+ // self.counter = 0;
+ // self.resetSqlCache();
+ // return self;
+ // };
+ // /**
+ // Reset SQL statements cache
+ // */
+ // Database.prototype.resetSqlCache = function() {
+ // this.sqlCache = {}; // Cache for compiled SQL statements
+ // this.sqlCacheSize = 0;
+ // };
+ // // Main SQL function
+ // /**
+ // Run SQL statement on database
+ // @param {string} sql SQL statement
+ // @param [object] params Parameters
+ // @param {function} cb callback
+ // */
+ // Database.prototype.exec = function(sql, params, cb) {
+ // return alasql.dexec(this.databaseid, sql, params, cb);
+ // };
+ // Database.prototype.autoval = function(tablename, colname, getNext) {
+ // return alasql.autoval(tablename, colname, getNext, this.databaseid);
+ // };
+ // /*/*
+ // // // Compile
+ // // var statement = this.compile(sql);
+ // // // Run
+ // // if(statement) {
+ // // var data = statement(params, cb);
+ // // return data;
+ // // }
+ // // return;
+ // // };
+ // // // Async version of exec
+ // // Database.prototype.aexec = function(sql, params) {
+ // // var self = this;
+ // // return new Promise(function(resolve, reject){
+ // // alasql.dexec(this.databaseid,sql,params,resolve);
+ // // });
+ // // };
+ // */
+ // // Aliases like MS SQL
+ // /*/*
+ // Database.prototype.query = Database.prototype.exec;
+ // Database.prototype.run = Database.prototype.exec;
+ // Database.prototype.queryArray = function(sql, params, cb) {
+ // return flatArray(this.exec(sql, params, cb));
+ // }
+ // Database.prototype.queryArrayOfArrays = function(sql, params, cb) {
+ // return arrayOfArrays(this.exec(sql, params, cb));
+ // }
+ // Database.prototype.querySingle = function(sql, params, cb) {
+ // return this.exec(sql, params, cb)[0];
+ // }
+ // Database.prototype.queryValue = function(sql, params, cb) {
+ // var res = this.querySingle(sql, params, cb);
+ // return res[Object.keys(res)[0]];
+ // }
+ // Database.prototype.value = Database.prototype.queryValue;
+ // Database.prototype.row = Database.prototype.querySingle;
+ // Database.prototype.array = Database.prototype.queryArray;
+ // Database.prototype.matrix = Database.prototype.queryArrayOfArrays;
+ // // Compile statements
+ // Database.prototype.compile = function(sql, kind) {
+ // return alasql.compile(sql, kind, databaseid);
+ // };
+ // */
+ // /*/*
+ // // var self = this;
+ // // var hh = hash(sql);
+ // // // Check cache with hash of SQL statement
+ // // var statement = this.sqlcache[hh];
+ // // if(!statement) {
+ // // // If not fount, then compile it
+ // // var ast = alasql.parse(sql);
+ // // // Save to cache
+ // // statement = this.sqlcache[hh]= ast.compile(self);
+ // // // Memory leak prevention
+ // // this.sqlcachesize++;
+ // // if(this.sqlcachesize > alasql.MAXSQLCACHESIZE) {
+ // // this.resetSqlCache();
+ // // }
+ // // };
+ // // return statement;
+ // // }
+ // // SQL.js compatibility method
+ // //Database.prototype.prepare = Database.prototype.compile;
+ // // Added for compatibility with WebSQL
+ // */
+
+ /**
+ @class Query Main query class
+ */
+ var Query = function Query(params) {
+ //this.alasql = alasql;
+ // console.log(12,alasql);
+ // Columns
+ this.columns = [];
+ this.xcolumns = {};
+ this.selectGroup = [];
+ this.groupColumns = {};
+ utils$6.extend(this, params);
+ return this;
+ };
+ /**
+ * DataArray
+ * @class Recordset data object
+ */
+ var Recordset = function Recordset(params) {
+ utils$6.extend(this, params);
+ };
+ /*/*
+ // View = function(){
+ // this.data = [];
+ // this.columns = [];
+ // this.ixcolumns = {};
+ // this.ixdefs = {};
+ // this.indices = {};
+ // };
+
+ // alasql.View = View;
+ */
+ function query (mem) {
+ mem.alasql.Query = Query;
+ mem.alasql.QueRecordsetry = Recordset;
+ }
- preErrorSymbol = (symbol == TERROR ? null : symbol); // save the lookahead token
- symbol = TERROR; // insert generic error symbol as new lookahead
- state = stack[stack.length-1];
- action = table[state] && table[state][TERROR];
- recovering = 3; // allow 3 real symbols to be shifted before reporting a new error
- }
+ function table (mem) {
+ var Table = function Table(params) {
+ // Step 1: Data array
+ this.data = [];
+ // Step 2: Columns
+ this.columns = [];
+ this.xcolumns = {};
+ // Step 3: indices
+ this.inddefs = {};
+ this.indices = {};
+ this.uniqs = {};
+ this.uniqdefs = {};
+ // Step 4: identities
+ this.identities = {};
+ // Step 5: checkfn...
+ this.checks = [];
+ this.checkfns = []; // For restore... to be done...
+ // Step 6: INSERT/DELETE/UPDATE
+ // Step 7: Triggers...
+ // Create trigger hubs
+ this.beforeinsert = {};
+ this.afterinsert = {};
+ this.insteadofinsert = {};
+ this.beforedelete = {};
+ this.afterdelete = {};
+ this.insteadofdelete = {};
+ this.beforeupdate = {};
+ this.afterupdate = {};
+ this.insteadofupdate = {};
+ utils$6.extend(this, params);
+ return this;
+ };
+ Table.prototype.indexColumns = function indexColumns () {
+ this.xcolumns = {};
+ this.columns.forEach(function (col) {
+ this.xcolumns[col.columnid] = col;
+ });
+ };
+ mem.alasql.newTable = function (params) {
+ if ( params === void 0 ) params = [];
+
+ return new Table(params);
+ };
+ }/*/*
+ // View = function(){
+ // this.data = [];
+ // this.columns = [];
+ // this.ixcolumns = {};
+ // this.ixdefs = {};
+ // this.indices = {};
+ // };
+
+ // alasql.View = View;
+ */
+
+ function addDataStruct (mem) {
+ database(mem);
+ query(mem);
+ table(mem);
+ }
- // this shouldn't happen, unless resolve defaults are off
- if (action[0] instanceof Array && action.length > 1) {
- throw new Error('Parse Error: multiple actions possible at state: '+state+', token: '+symbol);
- }
+ var und = utils$6.und;
+ function stdlib (mem) {
+ var stdlib = {};
+ stdlib.ABS = function (a) {
+ return 'Math.abs(' + a + ')';
+ };
+ stdlib.CLONEDEEP = function (a) {
+ return 'alasql.utils.cloneDeep(' + a + ')';
+ };
+ stdlib.EXP = function (a) {
+ return 'Math.pow(Math.E,' + a + ')';
+ };
+ stdlib.IIF = function (a, b, c) {
+ if (arguments.length == 3) {
+ return '((' + a + ')?(' + b + '):(' + c + '))';
+ }
+ else {
+ throw new Error('Number of arguments of IFF is not equals to 3');
+ }
+ };
+ stdlib.IFNULL = function (a, b) {
+ return '(' + a + '||' + b + ')';
+ };
+ stdlib.INSTR = function (s, p) {
+ return '((' + s + ').indexOf(' + p + ')+1)';
+ };
+ //stdlib.LEN = stdlib.LENGTH = function(s) {return '('+s+'+"").length';};
+ stdlib.LEN = stdlib.LENGTH = function (s) {
+ return und(s, 'y.length');
+ };
+ //stdlib.LENGTH = function(s) {return '('+s+').length'};
+ stdlib.LOWER = stdlib.LCASE = function (s) {
+ return und(s, 'String(y).toLowerCase()');
+ };
+ //stdlib.LCASE = function(s) {return '('+s+').toLowerCase()';}
+ // Returns a character expression after it removes leading blanks.
+ // see https://docs.microsoft.com/en-us/sql/t-sql/functions/ltrim-transact-sql
+ stdlib.LTRIM = function (s) {
+ return und(s, 'y.replace(/^[ ]+/,"")');
+ };
+ // Returns a character string after truncating all trailing spaces.
+ // see https://docs.microsoft.com/en-us/sql/t-sql/functions/rtrim-transact-sql
+ stdlib.RTRIM = function (s) {
+ return und(s, 'y.replace(/[ ]+$/,"")');
+ };
+ stdlib.MAX = stdlib.GREATEST = function () {
+ return 'Math.max(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+ stdlib.MIN = stdlib.LEAST = function () {
+ return 'Math.min(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+ stdlib.SUBSTRING = stdlib.SUBSTR = stdlib.MID = function (a, b, c) {
+ if (arguments.length == 2)
+ { return und(a, 'y.substr(' + b + '-1)'); }
+ else if (arguments.length == 3)
+ { return und(a, 'y.substr(' + b + '-1,' + c + ')'); }
+ };
+ // Here we uses undefined instead of null
+ stdlib.ISNULL = stdlib.NULLIF = function (a, b) {
+ return '(' + a + '==' + b + '?undefined:' + a + ')';
+ };
+ stdlib.POWER = function (a, b) {
+ return 'Math.pow(' + a + ',' + b + ')';
+ };
+ stdlib.RANDOM = function (r) {
+ if (arguments.length == 0) {
+ return 'Math.random()';
+ }
+ else {
+ return '(Math.random()*(' + r + ')|0)';
+ }
+ };
+ stdlib.ROUND = function (s, d) {
+ if (arguments.length == 2) {
+ return 'Math.round((' + s + ')*Math.pow(10,(' + d + ')))/Math.pow(10,(' + d + '))';
+ }
+ else {
+ return 'Math.round(' + s + ')';
+ }
+ };
+ stdlib.CEIL = stdlib.CEILING = function (s) {
+ return 'Math.ceil(' + s + ')';
+ };
+ stdlib.FLOOR = function (s) {
+ return 'Math.floor(' + s + ')';
+ };
+ stdlib.ROWNUM = function () {
+ return '1';
+ };
+ stdlib.ROW_NUMBER = function () {
+ return '1';
+ };
+ stdlib.SQRT = function (s) {
+ return 'Math.sqrt(' + s + ')';
+ };
+ stdlib.TRIM = function (s) {
+ return und(s, 'y.trim()');
+ };
+ stdlib.UPPER = stdlib.UCASE = function (s) {
+ return und(s, 'String(y).toUpperCase()');
+ };
+ mem.alasql.stdlib = stdlib;
+ }
- switch (action[0]) {
- case 1: // shift
- //this.shiftCount++;
+ function stdfn (mem) {
+ var stdfn = {};
+ stdfn.CONCAT = function () {
+ var args = [], len = arguments.length;
+ while ( len-- ) args[ len ] = arguments[ len ];
+
+ return Array.prototype.slice.call(args).join('');
+ };
+ stdfn.REGEXP_LIKE = function (a, b, c) {
+ // console.log(a,b,c);
+ return (a || '').search(RegExp(b, c)) > -1;
+ };
+ // Concatination of strings
+ stdfn.CONCAT_WS = function () {
+ var args = [], len = arguments.length;
+ while ( len-- ) args[ len ] = arguments[ len ];
+
+ return args.slice(1, args.length).join(args[0]);
+ };
+ // String functions
+ stdfn.REPLACE = function (target, pattern, replacement) {
+ return (target || '').split(pattern).join(replacement);
+ };
+ stdfn.CHAR = String.fromCharCode.bind(String);
+ stdfn.ASCII = function (a) {
+ return a.charCodeAt(0);
+ };
+ // This array is required for fast GUID generation
+ var lut = [];
+ for (var i = 0; i < 256; i++) {
+ lut[i] = (i < 16 ? '0' : '') + i.toString(16);
+ }
+ stdfn.NEWID = stdfn.UUID = stdfn.GEN_RANDOM_UUID = function () {
+ var d0 = (Math.random() * 0xffffffff) | 0;
+ var d1 = (Math.random() * 0xffffffff) | 0;
+ var d2 = (Math.random() * 0xffffffff) | 0;
+ var d3 = (Math.random() * 0xffffffff) | 0;
+ return (lut[d0 & 0xff] +
+ lut[(d0 >> 8) & 0xff] +
+ lut[(d0 >> 16) & 0xff] +
+ lut[(d0 >> 24) & 0xff] +
+ '-' +
+ lut[d1 & 0xff] +
+ lut[(d1 >> 8) & 0xff] +
+ '-' +
+ lut[((d1 >> 16) & 0x0f) | 0x40] +
+ lut[(d1 >> 24) & 0xff] +
+ '-' +
+ lut[(d2 & 0x3f) | 0x80] +
+ lut[(d2 >> 8) & 0xff] +
+ '-' +
+ lut[(d2 >> 16) & 0xff] +
+ lut[(d2 >> 24) & 0xff] +
+ lut[d3 & 0xff] +
+ lut[(d3 >> 8) & 0xff] +
+ lut[(d3 >> 16) & 0xff] +
+ lut[(d3 >> 24) & 0xff]);
+ };
+ mem.alasql.stdfn = stdfn;
+ }
- stack.push(symbol);
- vstack.push(lexer.yytext);
- lstack.push(lexer.yylloc);
- stack.push(action[1]); // push state
- symbol = null;
- if (!preErrorSymbol) { // normal execution/no error
- yyleng = lexer.yyleng;
- yytext = lexer.yytext;
- yylineno = lexer.yylineno;
- yyloc = lexer.yylloc;
- if (recovering > 0) {
- recovering--;
- }
- } else {
- // error just occurred, resume old lookahead f/ before error
- symbol = preErrorSymbol;
- preErrorSymbol = null;
- }
- break;
+ function aggr (mem) {
+ var alasql = mem.alasql;
+ //stdlib.UCASE = function(s) {return '('+s+').toUpperCase()';}
+ //REPLACE
+ // RTRIM
+ // SUBSTR
+ // TRIM
+ //REPLACE
+ // RTRIM
+ // SUBSTR
+ // TRIM
+ // Aggregator for joining strings
+ alasql.aggr.GROUP_CONCAT = function (v, s, stage) {
+ if (stage === 1) {
+ return '' + v;
+ }
+ else if (stage === 2) {
+ s += ',' + v;
+ return s;
+ }
+ return s;
+ };
+ alasql.aggr.MEDIAN = function (v, s, stage) {
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ }
+ else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ }
+ else {
+ if (!s.length) {
+ return s;
+ }
+ var r = s.sort();
+ var p = (r.length + 1) / 2;
+ if (Number.isInteger(p)) {
+ return r[p - 1];
+ }
+ return (r[Math.floor(p - 1)] + r[Math.ceil(p - 1)]) / 2;
+ }
+ };
+ alasql.aggr.QUART = function (v, s, stage, nth) {
+ //Quartile (first quartile per default or input param)
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ }
+ else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ }
+ else {
+ if (!s.length) {
+ return s;
+ }
+ nth = !nth ? 1 : nth;
+ var r = s.sort();
+ var p = (nth * (r.length + 1)) / 4;
+ if (Number.isInteger(p)) {
+ return r[p - 1]; //Integer value
+ }
+ return r[Math.floor(p)]; //Math.ceil -1 or Math.floor
+ }
+ };
+ alasql.aggr.QUART2 = function (v, s, stage) {
+ //Second Quartile
+ return alasql.aggr.QUART(v, s, stage, 2);
+ };
+ alasql.aggr.QUART3 = function (v, s, stage) {
+ //Third Quartile
+ return alasql.aggr.QUART(v, s, stage, 3);
+ };
+ // Standard deviation
+ alasql.aggr.VAR = function (v, s, stage) {
+ if (stage === 1) {
+ if (v === null) {
+ return { arr: [], sum: 0 };
+ }
+ return { arr: [v], sum: v };
+ }
+ else if (stage === 2) {
+ if (v === null) {
+ return s;
+ }
+ s.arr.push(v);
+ s.sum += v;
+ return s;
+ }
+ else {
+ var N = s.arr.length;
+ var avg = s.sum / N;
+ var std = 0;
+ for (var i = 0; i < N; i++) {
+ std += (s.arr[i] - avg) * (s.arr[i] - avg);
+ }
+ std = std / (N - 1);
+ return std;
+ }
+ };
+ alasql.aggr.STDEV = function (v, s, stage) {
+ if (stage === 1 || stage === 2) {
+ return alasql.aggr.VAR(v, s, stage);
+ }
+ else {
+ return Math.sqrt(alasql.aggr.VAR(v, s, stage));
+ }
+ };
+ // Standard deviation
+ // alasql.aggr.VARP = function(v,s,acc){
+ // if(typeof acc.arr == 'undefined') {
+ // acc.arr = [v];
+ // acc.sum = v;
+ // } else {
+ // acc.arr.push(v);
+ // acc.sum += v;
+ // }
+ // var N = acc.arr.length;
+ // var avg = acc.sum / N;
+ // var std = 0;
+ // for(var i=0;i x.children.length == 5 && x.children[2].innerText == 'reserved').map(x => x.children[0].innerText))
-
-var nonReserved = ["A","ABSENT","ABSOLUTE","ACCORDING","ACTION","ADA","ADD","ADMIN","AFTER","ALWAYS","ASC","ASSERTION","ASSIGNMENT","ATTRIBUTE","ATTRIBUTES","BASE64","BEFORE","BERNOULLI","BLOCKED","BOM","BREADTH","C","CASCADE","CATALOG","CATALOG_NAME","CHAIN","CHARACTERISTICS","CHARACTERS","CHARACTER_SET_CATALOG","CHARACTER_SET_NAME","CHARACTER_SET_SCHEMA","CLASS_ORIGIN","COBOL","COLLATION","COLLATION_CATALOG","COLLATION_NAME","COLLATION_SCHEMA","COLUMNS","COLUMN_NAME","COMMAND_FUNCTION","COMMAND_FUNCTION_CODE","COMMITTED","CONDITION_NUMBER","CONNECTION","CONNECTION_NAME","CONSTRAINTS","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONSTRUCTOR","CONTENT","CONTINUE","CONTROL","CURSOR_NAME","DATA","DATETIME_INTERVAL_CODE","DATETIME_INTERVAL_PRECISION","DB","DEFAULTS","DEFERRABLE","DEFERRED","DEFINED","DEFINER","DEGREE","DEPTH","DERIVED","DESC","DESCRIPTOR","DIAGNOSTICS","DISPATCH","DOCUMENT","DOMAIN","DYNAMIC_FUNCTION","DYNAMIC_FUNCTION_CODE","EMPTY","ENCODING","ENFORCED","EXCLUDE","EXCLUDING","EXPRESSION","FILE","FINAL","FIRST","FLAG","FOLLOWING","FORTRAN","FOUND","FS","G","GENERAL","GENERATED","GO","GOTO","GRANTED","HEX","HIERARCHY","ID","IGNORE","IMMEDIATE","IMMEDIATELY","IMPLEMENTATION","INCLUDING","INCREMENT","INDENT","INITIALLY","INPUT","INSTANCE","INSTANTIABLE","INSTEAD","INTEGRITY","INVOKER","ISOLATION","K","KEY","KEY_MEMBER","KEY_TYPE","LAST","LENGTH","LEVEL","LIBRARY","LIMIT","LINK","LOCATION","LOCATOR","M","MAP","MAPPING","MATCHED","MAXVALUE","MESSAGE_LENGTH","MESSAGE_OCTET_LENGTH","MESSAGE_TEXT","MINVALUE","MORE","MUMPS","NAME","NAMES","NAMESPACE","NESTING","NEXT","NFC","NFD","NFKC","NFKD","NIL","NORMALIZED","NULLABLE","NULLS","NUMBER","OBJECT","OCTETS","OFF","OPTION","OPTIONS","ORDERING","ORDINALITY","OTHERS","OUTPUT","OVERRIDING","P","PAD","PARAMETER_MODE","PARAMETER_NAME","PARAMETER_ORDINAL_POSITION","PARAMETER_SPECIFIC_CATALOG","PARAMETER_SPECIFIC_NAME","PARAMETER_SPECIFIC_SCHEMA","PARTIAL","PASCAL","PASSING","PASSTHROUGH","PATH","PERMISSION","PLACING","PLI","PRECEDING","PRESERVE","PRIOR","PRIVILEGES","PUBLIC","READ","RECOVERY","RELATIVE","REPEATABLE","REQUIRING","RESPECT","RESTART","RESTORE","RESTRICT","RETURNED_CARDINALITY","RETURNED_LENGTH","RETURNED_OCTET_LENGTH","RETURNED_SQLSTATE","RETURNING","ROLE","ROUTINE","ROUTINE_CATALOG","ROUTINE_NAME","ROUTINE_SCHEMA","ROW_COUNT","SCALE","SCHEMA","SCHEMA_NAME","SCOPE_CATALOG","SCOPE_NAME","SCOPE_SCHEMA","SECTION","SECURITY","SELECTIVE","SELF","SEQUENCE","SERIALIZABLE","SERVER","SERVER_NAME","SESSION","SETS","SIMPLE","SIZE","SOURCE","SPACE","SPECIFIC_NAME","STANDALONE","STATE","STATEMENT","STRIP","STRUCTURE","STYLE","SUBCLASS_ORIGIN","T","TABLE_NAME","TEMPORARY","TIES","TOKEN","TOP_LEVEL_COUNT","TRANSACTION","TRANSACTIONS_COMMITTED","TRANSACTIONS_ROLLED_BACK","TRANSACTION_ACTIVE","TRANSFORM","TRANSFORMS","TRIGGER_CATALOG","TRIGGER_NAME","TRIGGER_SCHEMA","TYPE","UNBOUNDED","UNCOMMITTED","UNDER","UNLINK","UNNAMED","UNTYPED","URI","USAGE","USER_DEFINED_TYPE_CATALOG","USER_DEFINED_TYPE_CODE","USER_DEFINED_TYPE_NAME","USER_DEFINED_TYPE_SCHEMA","VALID","VERSION","VIEW","WHITESPACE","WORK","WRAPPER","WRITE","XMLDECLARATION","XMLSCHEMA","YES","ZONE"]
-
-parser.parseError = function(str, hash) {
- if (hash.expected && hash.expected.indexOf("'LITERAL'") > -1 && /[a-zA-Z_][a-zA-Z_0-9]*/.test(hash.token) && nonReserved.indexOf(hash.token) > -1) {
- return
- }
- throw new SyntaxError(str)
-}
-/* generated by jison-lex 0.3.4 */
-var lexer = (function(){
-var lexer = ({
-
-EOF:1,
-
-parseError:function parseError(str, hash) {
- if (this.yy.parser) {
- this.yy.parser.parseError(str, hash);
- } else {
- throw new Error(str);
- }
- },
-
-// resets the lexer, sets new input
-setInput:function (input, yy) {
- this.yy = yy || this.yy || {};
- this._input = input;
- this._more = this._backtrack = this.done = false;
- this.yylineno = this.yyleng = 0;
- this.yytext = this.matched = this.match = '';
- this.conditionStack = ['INITIAL'];
- this.yylloc = {
- first_line: 1,
- first_column: 0,
- last_line: 1,
- last_column: 0
- };
- if (this.options.ranges) {
- this.yylloc.range = [0,0];
- }
- this.offset = 0;
- return this;
- },
-
-// consumes and returns one char from the input
-input:function () {
- var ch = this._input[0];
- this.yytext += ch;
- this.yyleng++;
- this.offset++;
- this.match += ch;
- this.matched += ch;
- var lines = ch.match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno++;
- this.yylloc.last_line++;
- } else {
- this.yylloc.last_column++;
- }
- if (this.options.ranges) {
- this.yylloc.range[1]++;
- }
-
- this._input = this._input.slice(1);
- return ch;
- },
-
-// unshifts one char (or a string) into the input
-unput:function (ch) {
- var len = ch.length;
- var lines = ch.split(/(?:\r\n?|\n)/g);
-
- this._input = ch + this._input;
- this.yytext = this.yytext.substr(0, this.yytext.length - len);
- //this.yyleng -= len;
- this.offset -= len;
- var oldLines = this.match.split(/(?:\r\n?|\n)/g);
- this.match = this.match.substr(0, this.match.length - 1);
- this.matched = this.matched.substr(0, this.matched.length - 1);
-
- if (lines.length - 1) {
- this.yylineno -= lines.length - 1;
- }
- var r = this.yylloc.range;
-
- this.yylloc = {
- first_line: this.yylloc.first_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.first_column,
- last_column: lines ?
- (lines.length === oldLines.length ? this.yylloc.first_column : 0)
- + oldLines[oldLines.length - lines.length].length - lines[0].length :
- this.yylloc.first_column - len
- };
-
- if (this.options.ranges) {
- this.yylloc.range = [r[0], r[0] + this.yyleng - len];
- }
- this.yyleng = this.yytext.length;
- return this;
- },
-
-// When called from action, caches matched text and appends it on next action
-more:function () {
- this._more = true;
- return this;
- },
-
-// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
-reject:function () {
- if (this.options.backtrack_lexer) {
- this._backtrack = true;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
-
- }
- return this;
- },
-
-// retain first n characters of the match
-less:function (n) {
- this.unput(this.match.slice(n));
- },
-
-// displays already matched input, i.e. for error messages
-pastInput:function () {
- var past = this.matched.substr(0, this.matched.length - this.match.length);
- return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, "");
- },
-
-// displays upcoming input, i.e. for error messages
-upcomingInput:function () {
- var next = this.match;
- if (next.length < 20) {
- next += this._input.substr(0, 20-next.length);
- }
- return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
- },
-
-// displays the character position where the lexing error occurred, i.e. for error messages
-showPosition:function () {
- var pre = this.pastInput();
- var c = new Array(pre.length + 1).join("-");
- return pre + this.upcomingInput() + "\n" + c + "^";
- },
-
-// test the lexed token: return FALSE when not a match, otherwise return token
-test_match:function (match, indexed_rule) {
- var token,
- lines,
- backup;
-
- if (this.options.backtrack_lexer) {
- // save context
- backup = {
- yylineno: this.yylineno,
- yylloc: {
- first_line: this.yylloc.first_line,
- last_line: this.last_line,
- first_column: this.yylloc.first_column,
- last_column: this.yylloc.last_column
- },
- yytext: this.yytext,
- match: this.match,
- matches: this.matches,
- matched: this.matched,
- yyleng: this.yyleng,
- offset: this.offset,
- _more: this._more,
- _input: this._input,
- yy: this.yy,
- conditionStack: this.conditionStack.slice(0),
- done: this.done
- };
- if (this.options.ranges) {
- backup.yylloc.range = this.yylloc.range.slice(0);
- }
- }
-
- lines = match[0].match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno += lines.length;
- }
- this.yylloc = {
- first_line: this.yylloc.last_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.last_column,
- last_column: lines ?
- lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length :
- this.yylloc.last_column + match[0].length
- };
- this.yytext += match[0];
- this.match += match[0];
- this.matches = match;
- this.yyleng = this.yytext.length;
- if (this.options.ranges) {
- this.yylloc.range = [this.offset, this.offset += this.yyleng];
- }
- this._more = false;
- this._backtrack = false;
- this._input = this._input.slice(match[0].length);
- this.matched += match[0];
- token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
- if (this.done && this._input) {
- this.done = false;
- }
- if (token) {
- return token;
- } else if (this._backtrack) {
- // recover context
- for (var k in backup) {
- this[k] = backup[k];
- }
- return false; // rule action called reject() implying the next rule should be tested instead.
- }
- return false;
- },
-
-// return next match in input
-next:function () {
- if (this.done) {
- return this.EOF;
- }
- if (!this._input) {
- this.done = true;
- }
-
- var token,
- match,
- tempMatch,
- index;
- if (!this._more) {
- this.yytext = '';
- this.match = '';
- }
- var rules = this._currentRules();
- for (var i = 0; i < rules.length; i++) {
- tempMatch = this._input.match(this.rules[rules[i]]);
- if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
- match = tempMatch;
- index = i;
- if (this.options.backtrack_lexer) {
- token = this.test_match(tempMatch, rules[i]);
- if (token !== false) {
- return token;
- } else if (this._backtrack) {
- match = false;
- continue; // rule action called reject() implying a rule MISmatch.
- } else {
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- } else if (!this.options.flex) {
- break;
- }
- }
- }
- if (match) {
- token = this.test_match(match, rules[index]);
- if (token !== false) {
- return token;
- }
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- if (this._input === "") {
- return this.EOF;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
- }
- },
-
-// return next match that has a token
-lex:function lex() {
- var r = this.next();
- if (r) {
- return r;
- } else {
- return this.lex();
- }
- },
-
-// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
-begin:function begin(condition) {
- this.conditionStack.push(condition);
- },
-
-// pop the previously active lexer condition state off the condition stack
-popState:function popState() {
- var n = this.conditionStack.length - 1;
- if (n > 0) {
- return this.conditionStack.pop();
- } else {
- return this.conditionStack[0];
- }
- },
-
-// produce the lexer rule set which is active for the currently active lexer condition state
-_currentRules:function _currentRules() {
- if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
- return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
- } else {
- return this.conditions["INITIAL"].rules;
- }
- },
-
-// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
-topState:function topState(n) {
- n = this.conditionStack.length - 1 - Math.abs(n || 0);
- if (n >= 0) {
- return this.conditionStack[n];
- } else {
- return "INITIAL";
- }
- },
-
-// alias for begin(condition)
-pushState:function pushState(condition) {
- this.begin(condition);
- },
-
-// return the number of states currently on the stack
-stateStackSize:function stateStackSize() {
- return this.conditionStack.length;
- },
-options: {"case-insensitive":true},
-performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
-var YYSTATE=YY_START;
-switch($avoiding_name_collisions) {
-case 0:return 266
-break;
-case 1:return 302
-break;
-case 2:return 420
-break;
-case 3:return 299
-break;
-case 4:return 5
-break;
-case 5:return 5
-break;
-case 6:return 296
-break;
-case 7:return 296
-break;
-case 8:return 132
-break;
-case 9:return 132
-break;
-case 10:return /* its a COMMENT */
-break;
-case 11:/* skip whitespace */
-break;
-case 12:return 316
-break;
-case 13:return 319
-break;
-case 14:yy_.yytext = 'VALUE';return 89
-break;
-case 15:yy_.yytext = 'VALUE';return 189
-break;
-case 16:yy_.yytext = 'ROW';return 189
-break;
-case 17:yy_.yytext = 'COLUMN';return 189
-break;
-case 18:yy_.yytext = 'MATRIX';return 189
-break;
-case 19:yy_.yytext = 'INDEX';return 189
-break;
-case 20:yy_.yytext = 'RECORDSET';return 189
-break;
-case 21:yy_.yytext = 'TEXT';return 189
-break;
-case 22:yy_.yytext = 'SELECT';return 189
-break;
-case 23:return 520
-break;
-case 24:return 381
-break;
-case 25:return 402
-break;
-case 26:return 515
-break;
-case 27:return 287
-break;
-case 28:return 269
-break;
-case 29:return 269
-break;
-case 30:return 164
-break;
-case 31:return 400
-break;
-case 32:return 170
-break;
-case 33:return 229
-break;
-case 34:return 166
-break;
-case 35:return 207
-break;
-case 36:return 288
-break;
-case 37:return 76
-break;
-case 38:return 418
-break;
-case 39:return 242
-break;
-case 40:return 404
-break;
-case 41:return 356
-break;
-case 42:return 284
-break;
-case 43:return 514
-break;
-case 44:return 437
-break;
-case 45:return 330
-break;
-case 46:return 441
-break;
-case 47:return 331
-break;
-case 48:return 315
-break;
-case 49:return 119
-break;
-case 50:return 112
-break;
-case 51:return 315
-break;
-case 52:return 112
-break;
-case 53:return 315
-break;
-case 54:return 112
-break;
-case 55:return 315
-break;
-case 56:return 508
-break;
-case 57:return 303
-break;
-case 58:return 271
-break;
-case 59:return 368
-break;
-case 60:return 130
-break;
-case 61:return 'CLOSE'
-break;
-case 62:return 243
-break;
-case 63:return 190
-break;
-case 64:return 190
-break;
-case 65:return 434
-break;
-case 66:return 367
-break;
-case 67:return 470
-break;
-case 68:return 440
-break;
-case 69:return 273
-break;
-case 70:return 240
-break;
-case 71:return 281
-break;
-case 72:return 267
-break;
-case 73:return 206
-break;
-case 74:return 238
-break;
-case 75:return 265
-break;
-case 76:return 'CURSOR'
-break;
-case 77:return 405
-break;
-case 78:return 291
-break;
-case 79:return 292
-break;
-case 80:return 448
-break;
-case 81:return 343
-break;
-case 82:return 338
-break;
-case 83:return 'DELETED'
-break;
-case 84:return 242
-break;
-case 85:return 406
-break;
-case 86:return 185
-break;
-case 87:return 396
-break;
-case 88:return 447
-break;
-case 89:return 135
-break;
-case 90:return 306
-break;
-case 91:return 389
-break;
-case 92:return 310
-break;
-case 93:return 314
-break;
-case 94:return 169
-break;
-case 95:return 508
-break;
-case 96:return 508
-break;
-case 97:return 298
-break;
-case 98:return 14
-break;
-case 99:return 295
-break;
-case 100:return 249
-break;
-case 101:return 285
-break;
-case 102:return 95
-break;
-case 103:return 373
-break;
-case 104:return 183
-break;
-case 105:return 227
-break;
-case 106:return 268
-break;
-case 107:return 313
-break;
-case 108:return 602
-break;
-case 109:return 472
-break;
-case 110:return 232
-break;
-case 111:return 236
-break;
-case 112:return 239
-break;
-case 113:return 156
-break;
-case 114:return 356
-break;
-case 115:return 332
-break;
-case 116:return 99
-break;
-case 117:return 193
-break;
-case 118:return 212
-break;
-case 119:return 224
-break;
-case 120:return 516
-break;
-case 121:return 339
-break;
-case 122:return 213
-break;
-case 123:return 168
-break;
-case 124:return 293
-break;
-case 125:return 198
-break;
-case 126:return 223
-break;
-case 127:return 370
-break;
-case 128:return 286
-break;
-case 129:return 'LET'
-break;
-case 130:return 225
-break;
-case 131:return 112
-break;
-case 132:return 245
-break;
-case 133:return 460
-break;
-case 134:return 191
-break;
-case 135:return 283
-break;
-case 136:return 390
-break;
-case 137:return 282
-break;
-case 138:return 452
-break;
-case 139:return 169
-break;
-case 140:return 403
-break;
-case 141:return 222
-break;
-case 142:return 645
-break;
-case 143:return 270
-break;
-case 144:return 244
-break;
-case 145:return 380
-break;
-case 146:return 154
-break;
-case 147:return 297
-break;
-case 148:return 433
-break;
-case 149:return 230
-break;
-case 150:return 415
-break;
-case 151:return 129
-break;
-case 152:return 247
-break;
-case 153:return 'OPEN'
-break;
-case 154:return 416
-break;
-case 155:return 171
-break;
-case 156:return 118
-break;
-case 157:return 208
-break;
-case 158:return 276
-break;
-case 159:return 172
-break;
-case 160:return 279
-break;
-case 161:return 765
-break;
-case 162:return 93
-break;
-case 163:return 16
-break;
-case 164:return 369
-break;
-case 165:return 442
-break;
-case 166:return 678
-break;
-case 167:return 15
-break;
-case 168:return 414
-break;
-case 169:return 194
-break;
-case 170:return 'REDUCE'
-break;
-case 171:return 374
-break;
-case 172:return 311
-break;
-case 173:return 517
-break;
-case 174:return 682
-break;
-case 175:return 107
-break;
-case 176:return 401
-break;
-case 177:return 175
-break;
-case 178:return 290
-break;
-case 179:return 443
-break;
-case 180:return 687
-break;
-case 181:return 173
-break;
-case 182:return 173
-break;
-case 183:return 226
-break;
-case 184:return 436
-break;
-case 185:return 237
-break;
-case 186:return 150
-break;
-case 187:return 766
-break;
-case 188:return 405
-break;
-case 189:return 89
-break;
-case 190:return 228
-break;
-case 191:return 146
-break;
-case 192:return 146
-break;
-case 193:return 409
-break;
-case 194:return 334
-break;
-case 195:return 417
-break;
-case 196:return 'STRATEGY'
-break;
-case 197:return 'STORE'
-break;
-case 198:return 280
-break;
-case 199:return 353
-break;
-case 200:return 353
-break;
-case 201:return 463
-break;
-case 202:return 357
-break;
-case 203:return 357
-break;
-case 204:return 192
-break;
-case 205:return 309
-break;
-case 206:return 'TIMEOUT'
-break;
-case 207:return 148
-break;
-case 208:return 195
-break;
-case 209:return 435
-break;
-case 210:return 435
-break;
-case 211:return 509
-break;
-case 212:return 294
-break;
-case 213:return 451
-break;
-case 214:return 162
-break;
-case 215:return 187
-break;
-case 216:return 98
-break;
-case 217:return 335
-break;
-case 218:return 408
-break;
-case 219:return 231
-break;
-case 220:return 149
-break;
-case 221:return 344
-break;
-case 222:return 134
-break;
-case 223:return 410
-break;
-case 224:return 308
-break;
-case 225:return 128
-break;
-case 226:return 439
-break;
-case 227:return 72
-break;
-case 228:return 435 /* Is this keyword required? */
-break;
-case 229:return 131
-break;
-case 230:return 131
-break;
-case 231:return 115
-break;
-case 232:return 137
-break;
-case 233:return 179
-break;
-case 234:return 317
-break;
-case 235:return 180
-break;
-case 236:return 133
-break;
-case 237:return 138
-break;
-case 238:return 326
-break;
-case 239:return 323
-break;
-case 240:return 325
-break;
-case 241:return 322
-break;
-case 242:return 320
-break;
-case 243:return 318
-break;
-case 244:return 319
-break;
-case 245:return 142
-break;
-case 246:return 141
-break;
-case 247:return 139
-break;
-case 248:return 321
-break;
-case 249:return 324
-break;
-case 250:return 140
-break;
-case 251:return 124
-break;
-case 252:return 324
-break;
-case 253:return 77
-break;
-case 254:return 78
-break;
-case 255:return 145
-break;
-case 256:return 424
-break;
-case 257:return 426
-break;
-case 258:return 300
-break;
-case 259:return 505
-break;
-case 260:return 507
-break;
-case 261:return 122
-break;
-case 262:return 116
-break;
-case 263:return 74
-break;
-case 264:return 333
-break;
-case 265:return 152
-break;
-case 266:return 764
-break;
-case 267:return 143
-break;
-case 268:return 181
-break;
-case 269:return 136
-break;
-case 270:return 123
-break;
-case 271:return 312
-break;
-case 272:return 4
-break;
-case 273:return 10
-break;
-case 274:return 'INVALID'
-break;
-}
-},
-rules: [/^(?:``([^\`])+``)/i,/^(?:\[\?\])/i,/^(?:@\[)/i,/^(?:ARRAY\[)/i,/^(?:\[([^\]])*?\])/i,/^(?:`([^\`])*?`)/i,/^(?:N(['](\\.|[^']|\\')*?['])+)/i,/^(?:X(['](\\.|[^']|\\')*?['])+)/i,/^(?:(['](\\.|[^']|\\')*?['])+)/i,/^(?:(["](\\.|[^"]|\\")*?["])+)/i,/^(?:--(.*?)($|\r\n|\r|\n))/i,/^(?:\s+)/i,/^(?:\|\|)/i,/^(?:\|)/i,/^(?:VALUE\s+OF\s+SEARCH\b)/i,/^(?:VALUE\s+OF\s+SELECT\b)/i,/^(?:ROW\s+OF\s+SELECT\b)/i,/^(?:COLUMN\s+OF\s+SELECT\b)/i,/^(?:MATRIX\s+OF\s+SELECT\b)/i,/^(?:INDEX\s+OF\s+SELECT\b)/i,/^(?:RECORDSET\s+OF\s+SELECT\b)/i,/^(?:TEXT\s+OF\s+SELECT\b)/i,/^(?:SELECT\b)/i,/^(?:ABSOLUTE\b)/i,/^(?:ACTION\b)/i,/^(?:ADD\b)/i,/^(?:AFTER\b)/i,/^(?:AGGR\b)/i,/^(?:AGGREGATE\b)/i,/^(?:AGGREGATOR\b)/i,/^(?:ALL\b)/i,/^(?:ALTER\b)/i,/^(?:AND\b)/i,/^(?:ANTI\b)/i,/^(?:ANY\b)/i,/^(?:APPLY\b)/i,/^(?:ARRAY\b)/i,/^(?:AS\b)/i,/^(?:ASSERT\b)/i,/^(?:ASC\b)/i,/^(?:ATTACH\b)/i,/^(?:AUTO(_)?INCREMENT\b)/i,/^(?:AVG\b)/i,/^(?:BEFORE\b)/i,/^(?:BEGIN\b)/i,/^(?:BETWEEN\b)/i,/^(?:BREAK\b)/i,/^(?:NOT\s+BETWEEN\b)/i,/^(?:NOT\s+LIKE\b)/i,/^(?:BY\b)/i,/^(?:~~\*)/i,/^(?:!~~\*)/i,/^(?:~~)/i,/^(?:!~~)/i,/^(?:ILIKE\b)/i,/^(?:NOT\s+ILIKE\b)/i,/^(?:CALL\b)/i,/^(?:CASE\b)/i,/^(?:CAST\b)/i,/^(?:CHECK\b)/i,/^(?:CLASS\b)/i,/^(?:CLOSE\b)/i,/^(?:COLLATE\b)/i,/^(?:COLUMN\b)/i,/^(?:COLUMNS\b)/i,/^(?:COMMIT\b)/i,/^(?:CONSTRAINT\b)/i,/^(?:CONTENT\b)/i,/^(?:CONTINUE\b)/i,/^(?:CONVERT\b)/i,/^(?:CORRESPONDING\b)/i,/^(?:COUNT\b)/i,/^(?:CREATE\b)/i,/^(?:CROSS\b)/i,/^(?:CUBE\b)/i,/^(?:CURRENT_TIMESTAMP\b)/i,/^(?:CURSOR\b)/i,/^(?:DATABASE(S)?)/i,/^(?:DATEADD\b)/i,/^(?:DATEDIFF\b)/i,/^(?:DECLARE\b)/i,/^(?:DEFAULT\b)/i,/^(?:DELETE\b)/i,/^(?:DELETED\b)/i,/^(?:DESC\b)/i,/^(?:DETACH\b)/i,/^(?:DISTINCT\b)/i,/^(?:DROP\b)/i,/^(?:ECHO\b)/i,/^(?:EDGE\b)/i,/^(?:END\b)/i,/^(?:ENUM\b)/i,/^(?:ELSE\b)/i,/^(?:ESCAPE\b)/i,/^(?:EXCEPT\b)/i,/^(?:EXEC\b)/i,/^(?:EXECUTE\b)/i,/^(?:EXISTS\b)/i,/^(?:EXPLAIN\b)/i,/^(?:FALSE\b)/i,/^(?:FETCH\b)/i,/^(?:FIRST\b)/i,/^(?:FOR\b)/i,/^(?:FOREIGN\b)/i,/^(?:FROM\b)/i,/^(?:FULL\b)/i,/^(?:FUNCTION\b)/i,/^(?:GLOB\b)/i,/^(?:GO\b)/i,/^(?:GRAPH\b)/i,/^(?:GROUP\b)/i,/^(?:GROUPING\b)/i,/^(?:HAVING\b)/i,/^(?:IF\b)/i,/^(?:IDENTITY\b)/i,/^(?:IS\b)/i,/^(?:IN\b)/i,/^(?:INDEX\b)/i,/^(?:INDEXED\b)/i,/^(?:INNER\b)/i,/^(?:INSTEAD\b)/i,/^(?:INSERT\b)/i,/^(?:INSERTED\b)/i,/^(?:INTERSECT\b)/i,/^(?:INTERVAL\b)/i,/^(?:INTO\b)/i,/^(?:JOIN\b)/i,/^(?:KEY\b)/i,/^(?:LAST\b)/i,/^(?:LET\b)/i,/^(?:LEFT\b)/i,/^(?:LIKE\b)/i,/^(?:LIMIT\b)/i,/^(?:MATCHED\b)/i,/^(?:MATRIX\b)/i,/^(?:MAX(\s+)?(?=\())/i,/^(?:MAX(\s+)?(?=(,|\))))/i,/^(?:MIN(\s+)?(?=\())/i,/^(?:MERGE\b)/i,/^(?:MINUS\b)/i,/^(?:MODIFY\b)/i,/^(?:NATURAL\b)/i,/^(?:NEXT\b)/i,/^(?:NEW\b)/i,/^(?:NOCASE\b)/i,/^(?:NO\b)/i,/^(?:NOT\b)/i,/^(?:NULL\b)/i,/^(?:OFF\b)/i,/^(?:ON\b)/i,/^(?:ONLY\b)/i,/^(?:OF\b)/i,/^(?:OFFSET\b)/i,/^(?:OPEN\b)/i,/^(?:OPTION\b)/i,/^(?:OR\b)/i,/^(?:ORDER\b)/i,/^(?:OUTER\b)/i,/^(?:OVER\b)/i,/^(?:PATH\b)/i,/^(?:PARTITION\b)/i,/^(?:PERCENT\b)/i,/^(?:PIVOT\b)/i,/^(?:PLAN\b)/i,/^(?:PRIMARY\b)/i,/^(?:PRINT\b)/i,/^(?:PRIOR\b)/i,/^(?:QUERY\b)/i,/^(?:READ\b)/i,/^(?:RECORDSET\b)/i,/^(?:REDUCE\b)/i,/^(?:REFERENCES\b)/i,/^(?:REGEXP\b)/i,/^(?:REINDEX\b)/i,/^(?:RELATIVE\b)/i,/^(?:REMOVE\b)/i,/^(?:RENAME\b)/i,/^(?:REPEAT\b)/i,/^(?:REPLACE\b)/i,/^(?:REQUIRE\b)/i,/^(?:RESTORE\b)/i,/^(?:RETURN\b)/i,/^(?:RETURNS\b)/i,/^(?:RIGHT\b)/i,/^(?:ROLLBACK\b)/i,/^(?:ROLLUP\b)/i,/^(?:ROW\b)/i,/^(?:ROWS\b)/i,/^(?:SCHEMA(S)?)/i,/^(?:SEARCH\b)/i,/^(?:SEMI\b)/i,/^(?:SET\b)/i,/^(?:SETS\b)/i,/^(?:SHOW\b)/i,/^(?:SOME\b)/i,/^(?:SOURCE\b)/i,/^(?:STRATEGY\b)/i,/^(?:STORE\b)/i,/^(?:SUM\b)/i,/^(?:TABLE\b)/i,/^(?:TABLES\b)/i,/^(?:TARGET\b)/i,/^(?:TEMP\b)/i,/^(?:TEMPORARY\b)/i,/^(?:TEXTSTRING\b)/i,/^(?:THEN\b)/i,/^(?:TIMEOUT\b)/i,/^(?:TO\b)/i,/^(?:TOP\b)/i,/^(?:TRAN\b)/i,/^(?:TRANSACTION\b)/i,/^(?:TRIGGER\b)/i,/^(?:TRUE\b)/i,/^(?:TRUNCATE\b)/i,/^(?:UNION\b)/i,/^(?:UNIQUE\b)/i,/^(?:UNPIVOT\b)/i,/^(?:UPDATE\b)/i,/^(?:USE\b)/i,/^(?:USING\b)/i,/^(?:VALUE\b)/i,/^(?:VALUES\b)/i,/^(?:VERTEX\b)/i,/^(?:VIEW\b)/i,/^(?:WHEN\b)/i,/^(?:WHERE\b)/i,/^(?:WHILE\b)/i,/^(?:WITH\b)/i,/^(?:WORK\b)/i,/^(?:(\d*[.])?\d+[eE]\d+)/i,/^(?:(\d*[.])?\d+)/i,/^(?:->)/i,/^(?:#)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:&)/i,/^(?:\|)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?::-)/i,/^(?:\?-)/i,/^(?:\.\.)/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:!)/i,/^(?:\^)/i,/^(?:~)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],
-conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274],"inclusive":true}}
-});
-return lexer;
-})();
-parser.lexer = lexer;
-function Parser () {
- this.yy = {};
-}
-Parser.prototype = parser;parser.Parser = Parser;
-return new Parser;
-})();
-
-if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
-exports.parser = alasqlparser;
-exports.Parser = alasqlparser.Parser;
-exports.parse = function () { return alasqlparser.parse.apply(alasqlparser, arguments); };
-exports.main = function commonjsMain(args) {
- if (!args[1]) {
- console.log('Usage: '+args[0]+' FILE');
- process.exit(1);
- }
- var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
- return exports.parser.parse(source);
-};
-if (typeof module !== 'undefined' && require.main === module) {
- exports.main(process.argv.slice(1));
-}
-}
-/**
- 12prettyflag.js - prettify
- @todo move this functionality to plugin
-*/
-
-/**
- Pretty flag - nice HTML output or standard text without any tags
- @type {boolean}
-*/
-
-alasql.prettyflag = false;
-
-/**
- Pretty output of SQL functions
- @function
- @param {string} sql SQL statement
- @param {boolean} flag value
- @return {string} HTML or text string with pretty output
-*/
-
-alasql.pretty = function(sql, flag) {
- var pf = alasql.prettyflag;
- alasql.prettyflag = !flag;
- var s = alasql.parse(sql).toString();
- alasql.prettyflag = pf;
- return s;
-};
-
-/*jshint unused:false*/
-/*
- Utilities for Alasql.js
-
- @todo Review the list of utilities
- @todo Find more effective utilities
-*/
-
-/**
- Alasql utility functions
- @type {object}
- */
-var utils = (alasql.utils = {});
-
-/**
- Convert NaN to undefined
- @function
- @param {string} s JavaScript string to be modified
- @return {string} Covered expression
-
- @example
-
- 123 => 123
- undefined => undefined
- NaN => undefined
-
-*/
-function n2u(s) {
- return '(y=' + s + ',y===y?y:undefined)';
-}
-
-/**
- Return undefined if s undefined
- @param {string} s JavaScript string to be modified
- @return {string} Covered expression
-
- @example
-
- 123,a => a
- undefined,a => undefined
- NaN,a => undefined
-
-*/
-function und(s, r) {
- return '(y=' + s + ',typeof y=="undefined"?undefined:' + r + ')';
-}
-
-/**
- Return always true. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
- @function
- @return {boolean} Always true
-*/
-function returnTrue() {
- return true;
-}
-
-/**
- Return undefined. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
- @function
- @return {undefined} Always undefined
-*/
-function returnUndefined() {}
-
-/**
- Escape string
- @function
- @param {string} s Source string
- @return {string} Escaped string
- @example
-
- Pit\er's => Pit\\er\'s
-
-*/
-// based on joliss/js-string-escape
-var escapeq = (utils.escapeq = function(s) {
-
- return ('' + s).replace(/["'\\\n\r\u2028\u2029]/g, function(character) {
- // Escape all characters not included in SingleStringCharacters and
- // DoubleStringCharacters on
- // http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
- switch (character) {
- case '"':
- case "'":
- case '\\':
- return '\\' + character;
- // Four possible LineTerminator characters need to be escaped:
- case '\n':
- return '\\n';
- case '\r':
- return '\\r';
- case '\u2028':
- return '\\u2028';
- case '\u2029':
- return '\\u2029';
- }
- });
-});
-
-/**
- Double quotes for SQL statements
- @param {string} s Source string
- @return {string} Escaped string
-
- @example
-
- Piter's => Piter''s
-
- */
-var escapeqq = (utils.undoubleq = function(s) {
- return s.replace(/(\')/g, "''");
-});
-
-/**
- Replace double quotes with single quote
- @param {string} s Source string
- @return {string} Replaced string
- @example
-
- Piter''s => Piter's
-
- */
-var doubleq = (utils.doubleq = function(s) {
- return s.replace(/(\'\')/g, "\\'");
-});
-
-/**
- Replace sigle quote to escaped single quote
- @param {string} s Source string
- @return {string} Replaced string
-
- @todo Chack this functions
-
-*/
-var doubleqq = (utils.doubleqq = function(s) {
- return s.replace(/\'/g, "'");
-});
-
-/**
- Cut BOM first character for UTF-8 files (for merging two files)
- @param {string} s Source string
- @return {string} Replaced string
-*/
-
-var cutbom = function(s) {
- if (s[0] === String.fromCharCode(65279)) {
- s = s.substr(1);
- }
- return s;
-};
-
-/**
- Get the blobal scope
- Inspired by System.global
- @return {object} The global scope
-*/
-utils.global = (function() {
- try {
- return Function('return this')();
- } catch (e) {
- //If Content Security Policy
- var global = self || window || global;
-
- if (global) {
- return global;
- } else {
- throw new Error('Unable to locate global object');
- }
- }
-})();
-
-/**
- Find out if a function is native to the enviroment
- @param {function} Function to check
- @return {boolean} True if function is native
-*/
-var isNativeFunction = (utils.isNativeFunction = function(fn) {
- return typeof fn === 'function' && !!~fn.toString().indexOf('[native code]');
-});
-
-/**
- Find out if code is running in a web worker enviroment
- @return {boolean} True if code is running in a web worker enviroment
-*/
-utils.isWebWorker = (function() {
- try {
- var importScripts = utils.global.importScripts;
- return utils.isNativeFunction(importScripts);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a node enviroment
- @return {boolean} True if code is running in a node enviroment
-*/
-utils.isNode = (function() {
- try {
- return utils.isNativeFunction(utils.global.process.reallyExit);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a browser enviroment
- @return {boolean} True if code is running in a browser enviroment
-*/
-utils.isBrowser = (function() {
- try {
- return utils.isNativeFunction(utils.global.location.reload);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a browser with a browserify setup
- @return {boolean} True if code is running in a browser with a browserify setup
-*/
-utils.isBrowserify = (function() {
- return utils.isBrowser && typeof process !== 'undefined' && process.browser;
-})();
-
-/**
- Find out if code is running in a browser with a requireJS setup
- @return {boolean} True if code is running in a browser with a requireJS setup
-*/
-utils.isRequireJS = (function() {
- return (
- utils.isBrowser && typeof require === 'function' && typeof require.specified === 'function'
- );
-})();
-
-/**
- Find out if code is running with Meteor in the enviroment
- @return {boolean} True if code is running with Meteor in the enviroment
-
- @todo Find out if this is the best way to do this
-*/
-utils.isMeteor = (function() {
- return typeof Meteor !== 'undefined' && Meteor.release;
-})();
-
-/**
- Find out if code is running on a Meteor client
- @return {boolean} True if code is running on a Meteor client
-*/
-utils.isMeteorClient = utils.isMeteorClient = (function() {
- return utils.isMeteor && Meteor.isClient;
-})();
-
-/**
- Find out if code is running on a Meteor server
- @return {boolean} True if code is running on a Meteor server
-*/
-utils.isMeteorServer = (function() {
- return utils.isMeteor && Meteor.isServer;
-})();
-
-/**
- Find out code is running in a cordovar enviroment
- @return {boolean} True if code is running in a web worker enviroment
-
- @todo Find out if this is the best way to do this
-*/
-utils.isCordova = (function() {
- return typeof cordova === 'object';
-})();
-
-utils.isReactNative = (function() {
- var isReact = false;
- /*not-for-browser/*
- try {
- if (typeof require('react-native') === 'object') {
- isReact = true;
- }
- } catch (e) {
- void 0;
- }
- //*/
- return isReact;
-})();
-
-utils.hasIndexedDB = (function() {
- return !!utils.global.indexedDB;
-})();
-
-utils.isArray = function(obj) {
- return '[object Array]' === Object.prototype.toString.call(obj);
-};
-/**
- Load text file from anywhere
- @param {string|object} path File path or HTML event
- @param {boolean} asy True - async call, false - sync call
- @param {function} success Success function
- @param {function} error Error function
- @return {string} Read data
-
- @todo Define Event type
- @todo Smaller if-else structures.
-*/
-var loadFile = (utils.loadFile = function(path, asy, success, error) {
- var data, fs;
- if (utils.isNode || utils.isMeteorServer) {
- /*not-for-browser/*
- if (utils.isMeteor) {
- fs = Npm.require('fs');
- } else {
- fs = require('fs');
- }
-
- // If path is empty, than read data from stdin (for Node)
- if (typeof path === 'undefined') {
- var buff = '';
- process.stdin.setEncoding('utf8');
- process.stdin.on('readable', function() {
- var chunk = process.stdin.read();
- if (chunk !== null) {
- buff += chunk.toString();
- }
- });
- process.stdin.on('end', function() {
- success(cutbom(buff));
- });
- } else {
- if (/^[a-z]+:\/\//i.test(path)) {
- var request = require('request');
- request(path, function(err, response, body) {
- if (err) {
- throw err;
- }
- success(cutbom(body.toString()));
- });
- } else {
- //If async callthen call async
- if (asy) {
- fs.readFile(path, function(err, data) {
- if (err) {
- throw err;
- }
- success(cutbom(data.toString()));
- });
- } else {
- // Call sync version
- data = fs.readFileSync(path);
- success(cutbom(data.toString()));
- }
- }
- }
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.readFile(path, 'utf8')
- .then(function(contents) {
- success(cutbom(contents));
- })["catch"](function(err) {
- throw err;
- });
- //*/
- } else if (utils.isCordova) {
- /* If Cordova */
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(path, {create: false}, function(fileEntry) {
- fileEntry.file(function(file) {
- var fileReader = new FileReader();
- fileReader.onloadend = function(e) {
- success(cutbom(this.result));
- };
- fileReader.readAsText(file);
- });
- });
- });
-
- /** @todo Check eliminated code below */
-
- } else {
- /* For string */
- if (typeof path === 'string') {
- // For browser read from tag
- /*
- SELECT * FROM TXT('#one') -- read data from HTML element with id="one"
- */
- if (path.substr(0, 1) === '#' && typeof document !== 'undefined') {
- data = document.querySelector(path).textContent;
- success(data);
- } else {
- /*
- Simply read file from HTTP request, like:
- SELECT * FROM TXT('http://alasql.org/README.md');
- */
- var xhr = new XMLHttpRequest();
- xhr.onreadystatechange = function() {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- if (success) {
- success(cutbom(xhr.responseText));
- }
- } else if (error) {
- error(xhr);
- }
- // Todo: else...?
- }
- };
- xhr.open('GET', path, asy); // Async
- xhr.responseType = 'text';
- xhr.send();
- }
- } else if (path instanceof Event) {
- /*
- For browser read from files input element
-
-
- */
- /** @type {array} List of files from element */
- var files = path.target.files;
- /** type {object} */
- var reader = new FileReader();
- /** type {string} */
- var name = files[0].name;
- reader.onload = function(e) {
- var data = e.target.result;
- success(cutbom(data));
- };
- reader.readAsText(files[0]);
- }
- }
-});
-
-/**
- @function Load binary file from anywhere
- @param {string} path File path
- @param {boolean} asy True - async call, false - sync call
- @param {function} success Success function
- @param {function} error Error function
- @return 1 for Async, data - for sync version
-
- @todo merge functionality from loadFile and LoadBinaryFile
-*/
-
-var loadBinaryFile = (utils.loadBinaryFile = function(path, asy, success, error) {
- var fs;
- if (utils.isNode || utils.isMeteorServer) {
- /*not-for-browser/*
- if (utils.isMeteorServer) {
- fs = Npm.require('fs'); // For Meteor
- } else {
- fs = require('fs');
- }
-
- if (/^[a-z]+:\/\//i.test(path)) {
- var request = require('request');
- request({url: path, encoding: null}, function(err, response, data) {
- if (err) {
- throw err;
- }
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- });
- } else {
- if (asy) {
- fs.readFile(path, function(err, data) {
- if (err) {
- throw err;
- }
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- });
- } else {
- var data = fs.readFileSync(path);
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- }
- }
- } else if (utils.isReactNative) {
- // If ReactNative
- //var RNFS = require('react-native-fs');
- var RNFetchBlob = require('react-native-fetch-blob')["default"];
- var dirs = RNFetchBlob.fs.dirs;
- //should use readStream instead if the file is large
- RNFetchBlob.fs.readFile(path, 'base64').then(function(data) {
- //RNFetchBlob.base64.decode(data) //need more test on excel
- success(data);
- });
- //*/
- } else {
- if (typeof path === 'string') {
- // For browser
- var xhr = new XMLHttpRequest();
- xhr.open('GET', path, asy); // Async
- xhr.responseType = 'arraybuffer';
- xhr.onload = function() {
- var data = new Uint8Array(xhr.response);
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- };
- // xhr.responseType = "blob";
- xhr.send();
- } else if (path instanceof Event) {
-
- var files = path.target.files;
- var reader = new FileReader();
- var name = files[0].name;
- reader.onload = function(e) {
- var data = e.target.result;
- success(data);
- };
- reader.readAsArrayBuffer(files[0]);
- } else if (path instanceof Blob) {
- success(path);
- }
- }
-});
-
-var removeFile = (utils.removeFile = function(path, cb) {
- if (utils.isNode) {
- /*not-for-browser/*
- var fs = require('fs');
- fs.remove(path, cb);
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(
- path,
- {create: false},
- function(fileEntry) {
- fileEntry.remove(cb);
- cb && cb(); // jshint ignore:line
- },
- function() {
- cb && cb(); // jshint ignore:line
- }
- );
- });
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.unlink(path)
- .then(function() {
- cb && cb();
- })["catch"](function(err) {
- throw err;
- });
- //*/
- } else {
- throw new Error('You can remove files only in Node.js and Apache Cordova');
- }
-});
-
-// Todo: check if it makes sense to support cordova and Meteor server
-var deleteFile = (utils.deleteFile = function(path, cb) {
- /*not-for-browser/*
- if (utils.isNode) {
- var fs = require('fs');
- fs.unlink(path, cb);
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.unlink(path)
- .then(function() {
- cb && cb();
- })["catch"](function(err) {
- throw err;
- });
- }
- //*/
-});
-
-utils.autoExtFilename = function(filename, ext, config) {
- config = config || {};
- if (
- typeof filename !== 'string' ||
- filename.match(/^[A-z]+:\/\/|\n|\..{2,4}$/) ||
- config.autoExt === 0 ||
- config.autoExt === false
- ) {
- return filename;
- }
- return filename + '.' + ext;
-};
-
-var fileExists = (utils.fileExists = function(path, cb) {
- if (utils.isNode) {
- /*not-for-browser/*
- var fs = require('fs');
- fs.exists(path, cb);
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(
- path,
- {create: false},
- function(fileEntry) {
- cb(true);
- },
- function() {
- cb(false);
- }
- );
- });
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.exists(path)
- .then(function(yes) {
- cb && cb(yes);
- })["catch"](function(err) {
- throw err;
- });
- //*/
- } else {
- // TODO Cordova, etc.
- throw new Error('You can use exists() only in Node.js or Apach Cordova');
- }
-});
-
-/**
- Save text file from anywhere
- @param {string} path File path
- @param {array} data Data object
- @param {function} cb Callback
- @param {object=} opts
-*/
-
-var saveFile = (utils.saveFile = function(path, data, cb, opts) {
- var res = 1;
- if (path === undefined) {
- //
- // Return data into result variable
- // like: alasql('SELECT * INTO TXT() FROM ?',[data]);
- //
- res = data;
- if (cb) {
- res = cb(res);
- }
- } else {
- if (utils.isNode) {
- /*not-for-browser/*
- var fs = require('fs');
- data = fs.writeFileSync(path, data);
- if (cb) {
- res = cb(res);
- }
- } else if (utils.isReactNative) {
- var RNFS = require('react-native-fs');
- RNFS.writeFile(path, data)
- .then(function(success) {
- //, 'utf8'
- if (cb) res = cb(res);
- })["catch"](function(err) {
- console.error(err.message);
- });
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- // alasql.utils.removeFile(path,function(){
- fileSystem.root.getFile(path, {create: true}, function(fileEntry) {
- fileEntry.createWriter(function(fileWriter) {
- fileWriter.onwriteend = function() {
- if (cb) {
- res = cb(res);
- }
- };
- fileWriter.write(data);
- });
- });
- });
- //*/
-
- // });
- // });
- // });
- } else {
- if (isIE() === 9) {
- // Solution was taken from
- // http://megatuto.com/formation-JAVASCRIPT.php?JAVASCRIPT_Example=Javascript+Save+CSV+file+in+IE+8/IE+9+without+using+window.open()+Categorie+javascript+internet-explorer-8&category=&article=7993
- // var URI = 'data:text/plain;charset=utf-8,';
-
- // Prepare data
- var ndata = data.replace(/\r\n/g, 'A;D;');
- ndata = ndata.replace(/\n/g, 'D;');
- ndata = ndata.replace(/\t/g, ' ');
- var testlink = utils.global.open('about:blank', '_blank');
- testlink.document.write(ndata); //fileData has contents for the file
- testlink.document.close();
- testlink.document.execCommand('SaveAs', false, path);
- testlink.close();
- } else {
- var opt = {
- disableAutoBom: false,
- };
- alasql.utils.extend(opt, opts);
- var blob = new Blob([data], {type: 'text/plain;charset=utf-8'});
- saveAs(blob, path, opt.disableAutoBom);
- if (cb) {
- res = cb(res);
- }
- }
- }
- }
-
- return res;
-});
-
-/**
- @function Is this IE9
- @return {boolean} True for IE9 and false for other browsers
-
- For IE9 compatibility issues
-*/
-function isIE() {
- var myNav = navigator.userAgent.toLowerCase();
- return myNav.indexOf('msie') !== -1 ? parseInt(myNav.split('msie')[1]) : false;
-}
-
-/**
- @function Hash a string to signed integer
- @param {string} source string
- @return {integer} hash number
-*/
-
-// FNV-1a inspired hashing
-var hash = (utils.hash = function(str) {
- var hash = 0x811c9dc5,
- i = str.length;
- while (i) {
- hash = hash ^ str.charCodeAt(--i);
- hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
- }
- return hash;
-});
-
-/**
- Union arrays
- @function
- @param {array} a
- @param {array} b
- @return {array}
-*/
-var arrayUnion = (utils.arrayUnion = function(a, b) {
- var r = b.slice(0);
- a.forEach(function(i) {
- if (r.indexOf(i) < 0) {
- r.push(i);
- }
- });
- return r;
-});
-
-/**
- Array Difference
- */
-var arrayDiff = (utils.arrayDiff = function(a, b) {
- return a.filter(function(i) {
- return b.indexOf(i) < 0;
- });
-});
-
-/**
- Arrays deep intersect (with records)
- */
-var arrayIntersect = (utils.arrayIntersect = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- found = found || ai === bi;
- });
-
- if (found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep union (with records)
- */
-var arrayUnionDeep = (utils.arrayUnionDeep = function(a, b) {
- var r = b.slice(0);
- a.forEach(function(ai) {
- var found = false;
-
- r.forEach(function(ri) {
- // found = found || equalDeep(ai, ri, true);
- found = found || deepEqual(ai, ri);
- });
-
- if (!found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep union (with records)
- */
-var arrayExceptDeep = (utils.arrayExceptDeep = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- // found = found || equalDeep(ai, bi, true);
- found = found || deepEqual(ai, bi);
- });
-
- if (!found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep intersect (with records)
- */
-var arrayIntersectDeep = (utils.arrayIntersectDeep = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- // found = found || equalDeep(ai, bi, true);
- found = found || deepEqual(ai, bi, true);
- });
-
- if (found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Deep clone objects
- */
-var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
- if (null === obj || typeof obj !== 'object') {
- return obj;
- }
-
- if (obj instanceof Date) {
- return new Date(obj);
- }
-
- var temp = obj.constructor(); // changed
-
- for (var key in obj) {
- if (obj.hasOwnProperty(key)) {
- temp[key] = cloneDeep(obj[key]);
- }
- }
- return temp;
-});
-
-/**
- Check equality of objects
-*/
-
-/**
- Compare two objects in deep
- */
-var deepEqual = (utils.deepEqual = function(x, y) {
- if (x === y) {
- return true;
- }
-
- if (typeof x === 'object' && null !== x && (typeof y === 'object' && null !== y)) {
- if (Object.keys(x).length !== Object.keys(y).length) {
- return false;
- }
- for (var prop in x) {
- if (!deepEqual(x[prop], y[prop])) {
- return false;
- }
- }
- return true;
- }
-
- return false;
-});
-/**
- Array with distinct records
- @param {array} data
- @return {array}
-*/
-var distinctArray = (utils.distinctArray = function(data) {
- var uniq = {};
- // TODO: Speedup, because Object.keys is slow
- for (var i = 0, ilen = data.length; i < ilen; i++) {
- var uix;
- if (typeof data[i] === 'object') {
- uix = Object.keys(data[i])
- .sort()
- .map(function(k) {
- return k + '`' + data[i][k];
- })
- .join('`');
- } else {
- uix = data[i];
- }
- uniq[uix] = data[i];
- }
- var res = [];
- for (var key in uniq) {
- res.push(uniq[key]);
- }
- return res;
-});
-
-/**
- Extend object a with properties of b
- @function
- @param {object} a
- @param {object} b
- @return {object}
-*/
-var extend = (utils.extend = function extend(a, b) {
- a = a || {};
- for (var key in b) {
- if (b.hasOwnProperty(key)) {
- a[key] = b[key];
- }
- }
- return a;
-});
-
-/**
- Flat array by first row
- */
-var flatArray = (utils.flatArray = function(a) {
-
- if (!a || 0 === a.length) {
- return [];
- }
-
- // For recordsets
- if (typeof a === 'object' && a instanceof alasql.Recordset) {
- return a.data.map(function(ai) {
- return ai[a.columns[0].columnid];
- });
- }
- // Else for other arrays
- var key = Object.keys(a[0])[0];
- if (key === undefined) {
- return [];
- }
- return a.map(function(ai) {
- return ai[key];
- });
-});
-
-/**
- Convert array of objects to array of arrays
- */
-var arrayOfArrays = (utils.arrayOfArrays = function(a) {
- return a.map(function(aa) {
- var ar = [];
- for (var key in aa) {
- ar.push(aa[key]);
- }
- return ar;
- });
-});
-
-if (!Array.isArray) {
- Array.isArray = function(arg) {
- return Object.prototype.toString.call(arg) === '[object Array]';
- };
-}
-
-/**
- Excel:convert number to Excel column, like 1 => 'A'
- @param {integer} i Column number, starting with 0
- @return {string} Column name, starting with 'A'
-*/
-
-var xlsnc = (utils.xlsnc = function(i) {
- var addr = String.fromCharCode(65 + (i % 26));
- if (i >= 26) {
- i = ((i / 26) | 0) - 1;
- addr = String.fromCharCode(65 + (i % 26)) + addr;
- if (i > 26) {
- i = ((i / 26) | 0) - 1;
- addr = String.fromCharCode(65 + (i % 26)) + addr;
- }
- }
- return addr;
-});
-
-/**
- Excel:conver Excel column name to number
- @param {string} s Column number, like 'A' or 'BE'
- @return {string} Column name, starting with 0
-*/
-var xlscn = (utils.xlscn = function(s) {
- var n = s.charCodeAt(0) - 65;
- if (s.length > 1) {
- n = (n + 1) * 26 + s.charCodeAt(1) - 65;
-
- if (s.length > 2) {
- n = (n + 1) * 26 + s.charCodeAt(2) - 65;
- }
- }
- return n;
-});
-
-var domEmptyChildren = (utils.domEmptyChildren = function(container) {
- var len = container.childNodes.length;
- while (len--) {
- container.removeChild(container.lastChild);
- }
-});
-
-/**
- SQL LIKE emulation
- @parameter {string} pattern Search pattern
- @parameter {string} value Searched value
- @parameter {string} escape Escape character (optional)
- @return {boolean} If value LIKE pattern ESCAPE escape
-*/
-
-var like = (utils.like = function(pattern, value, escape) {
- // Verify escape character
- if (!escape) escape = '';
-
- var i = 0;
- var s = '^';
-
- while (i < pattern.length) {
- var c = pattern[i],
- c1 = '';
- if (i < pattern.length - 1) c1 = pattern[i + 1];
-
- if (c === escape) {
- s += '\\' + c1;
- i++;
- } else if (c === '[' && c1 === '^') {
- s += '[^';
- i++;
- } else if (c === '[' || c === ']') {
- s += c;
- } else if (c === '%') {
- s += '.*';
- } else if (c === '_') {
- s += '.';
- } else if ('/.*+?|(){}'.indexOf(c) > -1) {
- s += '\\' + c;
- } else {
- s += c;
- }
- i++;
- }
-
- s += '$';
- // if(value == undefined) return false;
-
- return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
-});
-
-utils.glob = function(value, pattern) {
- var i = 0;
- var s = '^';
-
- while (i < pattern.length) {
- var c = pattern[i],
- c1 = '';
- if (i < pattern.length - 1) c1 = pattern[i + 1];
-
- if (c === '[' && c1 === '^') {
- s += '[^';
- i++;
- } else if (c === '[' || c === ']') {
- s += c;
- } else if (c === '*') {
- s += '.*';
- } else if (c === '?') {
- s += '.';
- } else if ('/.*+?|(){}'.indexOf(c) > -1) {
- s += '\\' + c;
- } else {
- s += c;
- }
- i++;
- }
-
- s += '$';
- return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
-};
-
-/**
- Get path of alasql.js
- @todo Rewrite and simplify the code. Review, is this function is required separately
-*/
-utils.findAlaSQLPath = function() {
- /** type {string} Path to alasql library and plugins */
-
- if (utils.isWebWorker) {
- return '';
- /** @todo Check how to get path in worker */
- } else if (utils.isMeteorClient) {
- return '/packages/dist/';
- } else if (utils.isMeteorServer) {
- return 'assets/packages/dist/';
- } else if (utils.isNode) {
- return __dirname;
- } else if (utils.isBrowser) {
- var sc = document.getElementsByTagName('script');
-
- for (var i = 0; i < sc.length; i++) {
- if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
- return sc[i].src.substr(0, sc[i].src.length - 16);
- } else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
- return sc[i].src.substr(0, sc[i].src.length - 20);
- } else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
- return sc[i].src.substr(0, sc[i].src.length - 9);
- } else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
- return sc[i].src.substr(0, sc[i].src.length - 13);
- }
- }
- }
- return '';
-};
-
-var getXLSX = function() {
- var XLSX = null;
- /* If require() shuold be supported else take from global scope */
- if (utils.isNode || utils.isBrowserify || utils.isMeteorServer) {
- /*not-for-browser/*
- XLSX = require('xlsx') || null;
- //*/
- } else {
- XLSX = utils.global.XLSX || null;
- }
-
- if (null === XLSX) {
- throw new Error('Please include the xlsx.js library');
- }
-
- return XLSX;
-};
-
-// set AlaSQl path
-alasql.path = alasql.utils.findAlaSQLPath();
-
-/**
- Strip all comments.
- @function
- @param {string} str
- @return {string}
- Based om the https://github.com/lehni/uncomment.js/blob/master/uncomment.js
- I just replaced JavaScript's '//' to SQL's '--' and remove other stuff
-
- @todo Fixed [aaa/*bbb] for column names
- @todo Bug if -- comments in the last line
- @todo Check if it possible to model it with Jison parser
- @todo Remove unused code
- */
-
-/* global alasql */
-
-alasql.utils.uncomment = function(str) {
- // Add some padding so we can always look ahead and behind by two chars
- str = ('__' + str + '__').split('');
- var quote = false,
- quoteSign,
- // regularExpression = false,
- // characterClass = false,
- blockComment = false,
- lineComment = false;
- // preserveComment = false;
-
- for (var i = 0, l = str.length; i < l; i++) {
-
- // When checking for quote escaping, we also need to check that the
- // escape sign itself is not escaped, as otherwise '\\' would cause
- // the wrong impression of an unclosed string:
- var unescaped = str[i - 1] !== '\\' || str[i - 2] === '\\';
-
- if (quote) {
- if (str[i] === quoteSign && unescaped) {
- quote = false;
- }
-
- } else if (blockComment) {
- // Is the block comment closing?
- if (str[i] === '*' && str[i + 1] === '/') {
- // if (!preserveComment)
- str[i] = str[i + 1] = '';
- blockComment /* = preserveComment*/ = false;
- // Increase by 1 to skip closing '/', as it would be mistaken
- // for a regexp otherwise
- i++;
- } else {
- //if (!preserveComment) {
- str[i] = '';
- }
- } else if (lineComment) {
- // One-line comments end with the line-break
- if (str[i + 1] === '\n' || str[i + 1] === '\r') {
- lineComment = false;
- }
- str[i] = '';
- } else {
- if (str[i] === '"' || str[i] === "'") {
- quote = true;
- quoteSign = str[i];
- } else if (str[i] === '[' && str[i - 1] !== '@') {
- quote = true;
- quoteSign = ']';
- // } else if (str[i] === '-' && str[i + 1] === '-') {
- // str[i] = '';
- // lineComment = true;
- } else if (str[i] === '/' && str[i + 1] === '*') {
- // Do not filter out conditional comments /*@ ... */
- // and comments marked as protected /*! ... */
- // preserveComment = /[@!]/.test(str[i + 2]);
- // if (!preserveComment)
- str[i] = '';
- blockComment = true;
-
- }
- }
- }
- // Remove padding again.
- str = str.join('').slice(2, -2);
-
- return str;
-};
-
-/**
- Database class for Alasql.js
-*/
-
-// Initial parameters
-
-/**
- Jison parser
-*/
-alasql.parser = alasqlparser;
-
-alasql.parser.parseError = function(str, hash) {
- throw new Error('Have you used a reserved keyword without `escaping` it?\n' + str);
-};
-
-/**
- Jison parser
- @param {string} sql SQL statement
- @return {object} AST (Abstract Syntax Tree)
-
- @todo Create class AST
- @todo Add other parsers
-
- @example
- alasql.parse = function(sql) {
- // My own parser here
- }
- */
-alasql.parse = function(sql) {
- return alasqlparser.parse(alasql.utils.uncomment(sql));
-};
-
-/**
- List of engines of external databases
- @type {object}
- @todo Create collection type
- */
-alasql.engines = {};
-
-/**
- List of databases
- @type {object}
- */
-alasql.databases = {};
-
-/**
- Number of databases
- @type {number}
-*/
-alasql.databasenum = 0;
-
-/**
- Alasql options object
- */
-alasql.options = {};
-alasql.options.errorlog = false; // Log or throw error
-alasql.options.valueof = false; // Use valueof in orderfn
-alasql.options.dropifnotexists = false; // DROP database in any case
-alasql.options.datetimeformat = 'sql'; // How to handle DATE and DATETIME types
-// Another value is 'javascript'
-alasql.options.casesensitive = true; // Table and column names are case sensitive and converted to lower-case
-alasql.options.logtarget = 'output'; // target for log. Values: 'console', 'output', 'id' of html tag
-alasql.options.logprompt = true; // Print SQL at log
-
-alasql.options.progress = false; // Callback for async queries progress
-
-// Default modifier
-// values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX
-alasql.options.modifier = undefined;
-// How many rows to lookup to define columns
-alasql.options.columnlookup = 10;
-// Create vertex if not found
-alasql.options.autovertex = true;
-
-// Use dbo as current database (for partial T-SQL comaptibility)
-alasql.options.usedbo = true;
-
-// AUTOCOMMIT ON | OFF
-alasql.options.autocommit = true;
-
-// Use cache
-alasql.options.cache = true;
-
-// Compatibility flags
-alasql.options.tsql = true;
-
-alasql.options.mysql = true;
-
-alasql.options.postgres = true;
-
-alasql.options.oracle = true;
-
-alasql.options.sqlite = true;
-
-alasql.options.orientdb = true;
-
-// for SET NOCOUNT OFF
-alasql.options.nocount = false;
-
-// Check for NaN and convert it to undefined
-alasql.options.nan = false;
-
-alasql.options.joinstar = 'overwrite'; // Option for SELECT * FROM a,b
-
-//alasql.options.worker = false;
-
-// Variables
-alasql.vars = {};
-
-alasql.declares = {};
-
-alasql.prompthistory = [];
-
-alasql.plugins = {}; // If plugin already loaded
-
-alasql.from = {}; // FROM functions
-
-alasql.into = {}; // INTO functions
-
-alasql.fn = {};
-
-alasql.aggr = {};
-
-alasql.busy = 0;
-
-// Cache
-alasql.MAXSQLCACHESIZE = 10000;
-alasql.DEFAULTDATABASEID = 'alasql';
-
-/* WebWorker */
-alasql.lastid = 0;
-
-alasql.buffer = {};
-
-/**
- Select current database
- @param {string} databaseid Selected database identificator
- */
-alasql.use = function(databaseid) {
- if (!databaseid) {
- databaseid = alasql.DEFAULTDATABASEID;
- }
- if (alasql.useid === databaseid) {
- return;
- }
- alasql.useid = databaseid;
- var db = alasql.databases[alasql.useid];
- alasql.tables = db.tables;
- // alasql.fn = db.fn;
- db.resetSqlCache();
- if (alasql.options.usedbo) {
- alasql.databases.dbo = db; // Operator???
- }
-};
-
-alasql.autoval = function(tablename, colname, getNext, databaseid) {
- var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];
-
- if (!db.tables[tablename]) {
- throw new Error('Tablename not found: ' + tablename);
- }
-
- if (!db.tables[tablename].identities[colname]) {
- throw new Error('Colname not found: ' + colname);
- }
-
- if (getNext) {
- return db.tables[tablename].identities[colname].value || null;
- }
-
- return (
- db.tables[tablename].identities[colname].value -
- db.tables[tablename].identities[colname].step || null
- );
-};
-
-/**
- Run single SQL statement on current database
- */
-alasql.exec = function(sql, params, cb, scope) {
- // Avoid setting params if not needed even with callback
- if (typeof params === 'function') {
- scope = cb;
- cb = params;
- params = {};
- }
-
- delete alasql.error;
- params = params || {};
- if (alasql.options.errorlog) {
- try {
- return alasql.dexec(alasql.useid, sql, params, cb, scope);
- } catch (err) {
- alasql.error = err;
- if (cb) {
- cb(null, alasql.error);
- }
- }
- } else {
- return alasql.dexec(alasql.useid, sql, params, cb, scope);
- }
-};
-
-/**
- Run SQL statement on specific database
- */
-alasql.dexec = function(databaseid, sql, params, cb, scope) {
- var db = alasql.databases[databaseid];
- // if(db.databaseid != databaseid) console.trace('got!');
-
- var hh;
- // Create hash
- if (alasql.options.cache) {
- hh = hash(sql);
- var statement = db.sqlCache[hh];
- // If database structure was not changed since last time return cache
- if (statement && db.dbversion === statement.dbversion) {
- return statement(params, cb);
- }
- }
-
- // Create AST
- var ast = alasql.parse(sql);
- if (!ast.statements) {
- return;
- }
- if (0 === ast.statements.length) {
- return 0;
- } else if (1 === ast.statements.length) {
- if (ast.statements[0].compile) {
- // Compile and Execute
- var statement = ast.statements[0].compile(databaseid, params);
- if (!statement) {
- return;
- }
- statement.sql = sql;
- statement.dbversion = db.dbversion;
-
- if (alasql.options.cache) {
- // Secure sqlCache size
- if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
- db.resetSqlCache();
- }
- db.sqlCacheSize++;
- db.sqlCache[hh] = statement;
- }
- var res = (alasql.res = statement(params, cb, scope));
- return res;
- } else {
-
- alasql.precompile(ast.statements[0], alasql.useid, params);
- var res = (alasql.res = ast.statements[0].execute(databaseid, params, cb, scope));
- return res;
- }
- } else {
- // Multiple statements
- if (cb) {
- alasql.adrun(databaseid, ast, params, cb, scope);
- } else {
- return alasql.drun(databaseid, ast, params, cb, scope);
- }
- }
-};
-
-/**
- Run multiple statements and return array of results sync
- */
-alasql.drun = function(databaseid, ast, params, cb, scope) {
- var useid = alasql.useid;
-
- if (useid !== databaseid) {
- alasql.use(databaseid);
- }
-
- var res = [];
- for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {
- if (ast.statements[i]) {
- if (ast.statements[i].compile) {
- var statement = ast.statements[i].compile(alasql.useid);
- res.push((alasql.res = statement(params, null, scope)));
- } else {
- alasql.precompile(ast.statements[i], alasql.useid, params);
- res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));
- }
- }
- }
- if (useid !== databaseid) {
- alasql.use(useid);
- }
-
- if (cb) {
- cb(res);
- }
-
- alasql.res = res;
-
- return res;
-};
-
-/**
- Run multiple statements and return array of results async
- */
-alasql.adrun = function(databaseid, ast, params, cb, scope) {
- var idx = 0;
- var noqueries = ast.statements.length;
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
-
- // alasql.busy++;
- var useid = alasql.useid;
- if (useid !== databaseid) {
- alasql.use(databaseid);
- }
- var res = [];
-
- function adrunone(data) {
- if (data !== undefined) {
- res.push(data);
- }
- var astatement = ast.statements.shift();
- if (!astatement) {
- if (useid !== databaseid) {
- alasql.use(useid);
- }
- cb(res);
- // alasql.busy--;
- // if(alasql.busy<0) alasql.busy = 0;
- } else {
- if (astatement.compile) {
- var statement = astatement.compile(alasql.useid);
- statement(params, adrunone, scope);
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
- } else {
- alasql.precompile(ast.statements[0], alasql.useid, params);
- astatement.execute(alasql.useid, params, adrunone);
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
- }
- }
- }
-
- adrunone(); /** @todo Check, why data is empty here */
-};
-
-/**
- Compile statement to JavaScript function
- @param {string} sql SQL statement
- @param {string} databaseid Database identificator
- @return {functions} Compiled statement functions
-*/
-alasql.compile = function(sql, databaseid) {
- databaseid = databaseid || alasql.useid;
-
- var ast = alasql.parse(sql); // Create AST
-
- if (1 === ast.statements.length) {
- var statement = ast.statements[0].compile(databaseid);
- statement.promise = function(params) {
- return new Promise(function(resolve, reject) {
- statement(params, function(data, err) {
- if (err) {
- reject(err);
- } else {
- resolve(data);
- }
- });
- });
- };
-
- return statement;
-
- } else {
- throw new Error('Cannot compile, because number of statements in SQL is not equal to 1');
- }
-};
-
-//
-// Promises for AlaSQL
-//
-
-if (!utils.global.Promise) {
- if (utils.isNode) {
- /*not-for-browser/*
- utils.global.Promise = require('es6-promise').Promise;
- //*/
- } else {
- /*!
- * @overview es6-promise - a tiny implementation of Promises/A+.
- * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
- * @license Licensed under MIT license
- * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
- * @version 3.2.1
- */
- (function() {
- 'use strict';
- function t(t) {
- return 'function' == typeof t || ('object' == typeof t && null !== t);
- }
- function e(t) {
- return 'function' == typeof t;
- }
- function n(t) {
- G = t;
- }
- function r(t) {
- Q = t;
- }
- function o() {
- return function() {
- process.nextTick(a);
- };
- }
- function i() {
- return function() {
- B(a);
- };
- }
- function s() {
- var t = 0,
- e = new X(a),
- n = document.createTextNode('');
- return (
- e.observe(n, {characterData: !0}),
- function() {
- n.data = t = ++t % 2;
- }
- );
- }
- function u() {
- var t = new MessageChannel();
- return (
- (t.port1.onmessage = a),
- function() {
- t.port2.postMessage(0);
- }
- );
- }
- function c() {
- return function() {
- setTimeout(a, 1);
- };
- }
- function a() {
- for (var t = 0; J > t; t += 2) {
- var e = tt[t],
- n = tt[t + 1];
- e(n), (tt[t] = void 0), (tt[t + 1] = void 0);
- }
- J = 0;
- }
- function f() {
- try {
- var t = require,
- e = t('vertx');
- return (B = e.runOnLoop || e.runOnContext, i());
- } catch (n) {
- return c();
- }
- }
- function l(t, e) {
- var n = this,
- r = new this.constructor(p);
- void 0 === r[rt] && k(r);
- var o = n._state;
- if (o) {
- var i = arguments[o - 1];
- Q(function() {
- x(o, r, i, n._result);
- });
- } else E(n, r, t, e);
- return r;
- }
- function h(t) {
- var e = this;
- if (t && 'object' == typeof t && t.constructor === e) return t;
- var n = new e(p);
- return (g(n, t), n);
- }
- function p() {}
- function _() {
- return new TypeError('You cannot resolve a promise with itself');
- }
- function d() {
- return new TypeError('A promises callback cannot return that same promise.');
- }
- function v(t) {
- try {
- return t.then;
- } catch (e) {
- return (ut.error = e, ut);
- }
- }
- function y(t, e, n, r) {
- try {
- t.call(e, n, r);
- } catch (o) {
- return o;
- }
- }
- function m(t, e, n) {
- Q(function(t) {
- var r = !1,
- o = y(
- n,
- e,
- function(n) {
- r || ((r = !0), e !== n ? g(t, n) : S(t, n));
- },
- function(e) {
- r || ((r = !0), j(t, e));
- },
- 'Settle: ' + (t._label || ' unknown promise')
- );
- !r && o && ((r = !0), j(t, o));
- }, t);
- }
- function b(t, e) {
- e._state === it
- ? S(t, e._result)
- : e._state === st
- ? j(t, e._result)
- : E(
- e,
- void 0,
- function(e) {
- g(t, e);
- },
- function(e) {
- j(t, e);
- }
- );
- }
- function w(t, n, r) {
- n.constructor === t.constructor && r === et && constructor.resolve === nt
- ? b(t, n)
- : r === ut
- ? j(t, ut.error)
- : void 0 === r
- ? S(t, n)
- : e(r)
- ? m(t, n, r)
- : S(t, n);
- }
- function g(e, n) {
- e === n ? j(e, _()) : t(n) ? w(e, n, v(n)) : S(e, n);
- }
- function A(t) {
- t._onerror && t._onerror(t._result), T(t);
- }
- function S(t, e) {
- t._state === ot &&
- ((t._result = e), (t._state = it), 0 !== t._subscribers.length && Q(T, t));
- }
- function j(t, e) {
- t._state === ot && ((t._state = st), (t._result = e), Q(A, t));
- }
- function E(t, e, n, r) {
- var o = t._subscribers,
- i = o.length;
- (t._onerror = null),
- (o[i] = e),
- (o[i + it] = n),
- (o[i + st] = r),
- 0 === i && t._state && Q(T, t);
- }
- function T(t) {
- var e = t._subscribers,
- n = t._state;
- if (0 !== e.length) {
- for (var r, o, i = t._result, s = 0; s < e.length; s += 3)
- (r = e[s]), (o = e[s + n]), r ? x(n, r, o, i) : o(i);
- t._subscribers.length = 0;
- }
- }
- function M() {
- this.error = null;
- }
- function P(t, e) {
- try {
- return t(e);
- } catch (n) {
- return (ct.error = n, ct);
- }
- }
- function x(t, n, r, o) {
- var i,
- s,
- u,
- c,
- a = e(r);
- if (a) {
- if (
- ((i = P(r, o)),
- i === ct ? ((c = !0), (s = i.error), (i = null)) : (u = !0),
- n === i)
- )
- return void j(n, d());
- } else (i = o), (u = !0);
- n._state !== ot ||
- (a && u ? g(n, i) : c ? j(n, s) : t === it ? S(n, i) : t === st && j(n, i));
- }
- function C(t, e) {
- try {
- e(
- function(e) {
- g(t, e);
- },
- function(e) {
- j(t, e);
- }
- );
- } catch (n) {
- j(t, n);
- }
- }
- function O() {
- return at++;
- }
- function k(t) {
- (t[rt] = at++), (t._state = void 0), (t._result = void 0), (t._subscribers = []);
- }
- function Y(t) {
- return new _t(this, t).promise;
- }
- function q(t) {
- var e = this;
- return new e(
- I(t)
- ? function(n, r) {
- for (var o = t.length, i = 0; o > i; i++)
- e.resolve(t[i]).then(n, r);
- }
- : function(t, e) {
- e(new TypeError('You must pass an array to race.'));
- }
- );
- }
- function F(t) {
- var e = this,
- n = new e(p);
- return (j(n, t), n);
- }
- function D() {
- throw new TypeError(
- 'You must pass a resolver function as the first argument to the promise constructor'
- );
- }
- function K() {
- throw new TypeError(
- "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."
- );
- }
- function L(t) {
- (this[rt] = O()),
- (this._result = this._state = void 0),
- (this._subscribers = []),
- p !== t &&
- ('function' != typeof t && D(), this instanceof L ? C(this, t) : K());
- }
- function N(t, e) {
- (this._instanceConstructor = t),
- (this.promise = new t(p)),
- this.promise[rt] || k(this.promise),
- Array.isArray(e)
- ? ((this._input = e),
- (this.length = e.length),
- (this._remaining = e.length),
- (this._result = new Array(this.length)),
- 0 === this.length
- ? S(this.promise, this._result)
- : ((this.length = this.length || 0),
- this._enumerate(),
- 0 === this._remaining && S(this.promise, this._result)))
- : j(this.promise, U());
- }
- function U() {
- return new Error('Array Methods must be provided an Array');
- }
- function W() {
- var t;
- if ('undefined' != typeof global) t = global;
- else if ('undefined' != typeof self) t = self;
- else
- try {
- t = Function('return this')();
- } catch (e) {
- throw new Error(
- 'polyfill failed because global object is unavailable in this environment'
- );
- }
- var n = t.Promise;
- (!n ||
- '[object Promise]' !== Object.prototype.toString.call(n.resolve()) ||
- n.cast) &&
- (t.Promise = pt);
- }
- var z;
- z = Array.isArray
- ? Array.isArray
- : function(t) {
- return '[object Array]' === Object.prototype.toString.call(t);
- };
- var B,
- G,
- H,
- I = z,
- J = 0,
- Q = function(t, e) {
- (tt[J] = t), (tt[J + 1] = e), (J += 2), 2 === J && (G ? G(a) : H());
- },
- R = 'undefined' != typeof window ? window : void 0,
- V = R || {},
- X = V.MutationObserver || V.WebKitMutationObserver,
- Z =
- 'undefined' == typeof self &&
- 'undefined' != typeof process &&
- '[object process]' === {}.toString.call(process),
- $ =
- 'undefined' != typeof Uint8ClampedArray &&
- 'undefined' != typeof importScripts &&
- 'undefined' != typeof MessageChannel,
- tt = new Array(1e3);
- H = Z
- ? o()
- : X
- ? s()
- : $
- ? u()
- : void 0 === R && 'function' == typeof require
- ? f()
- : c();
- var et = l,
- nt = h,
- rt = Math.random()
- .toString(36)
- .substring(16),
- ot = void 0,
- it = 1,
- st = 2,
- ut = new M(),
- ct = new M(),
- at = 0,
- ft = Y,
- lt = q,
- ht = F,
- pt = L;
- (L.all = ft),
- (L.race = lt),
- (L.resolve = nt),
- (L.reject = ht),
- (L._setScheduler = n),
- (L._setAsap = r),
- (L._asap = Q),
- (L.prototype = {
- constructor: L,
- then: et,
- "catch": function(t) {
- return this.then(null, t);
- },
- });
- var _t = N;
- (N.prototype._enumerate = function() {
- for (var t = this.length, e = this._input, n = 0; this._state === ot && t > n; n++)
- this._eachEntry(e[n], n);
- }),
- (N.prototype._eachEntry = function(t, e) {
- var n = this._instanceConstructor,
- r = n.resolve;
- if (r === nt) {
- var o = v(t);
- if (o === et && t._state !== ot) this._settledAt(t._state, e, t._result);
- else if ('function' != typeof o) this._remaining--, (this._result[e] = t);
- else if (n === pt) {
- var i = new n(p);
- w(i, t, o), this._willSettleAt(i, e);
- } else
- this._willSettleAt(
- new n(function(e) {
- e(t);
- }),
- e
- );
- } else this._willSettleAt(r(t), e);
- }),
- (N.prototype._settledAt = function(t, e, n) {
- var r = this.promise;
- r._state === ot &&
- (this._remaining--, t === st ? j(r, n) : (this._result[e] = n)),
- 0 === this._remaining && S(r, this._result);
- }),
- (N.prototype._willSettleAt = function(t, e) {
- var n = this;
- E(
- t,
- void 0,
- function(t) {
- n._settledAt(it, e, t);
- },
- function(t) {
- n._settledAt(st, e, t);
- }
- );
- });
- var dt = W,
- vt = {Promise: pt, polyfill: dt};
- 'function' == typeof define && define.amd
- ? define(function() {
- return vt;
- })
- : 'undefined' != typeof module && module.exports
- ? (module.exports = vt)
- : 'undefined' != typeof this && (this.ES6Promise = vt),
- dt();
- }.call(this));
-
- }
-}
-
-var promiseExec = function(sql, params, counterStep, counterTotal) {
- return new utils.global.Promise(function(resolve, reject) {
- alasql(sql, params, function(data, err) {
- if (err) {
- reject(err);
- } else {
- if (counterStep && counterTotal && alasql.options.progress !== false) {
- alasql.options.progress(counterStep, counterTotal);
- }
- resolve(data);
- }
- });
- });
-};
-
-var promiseAll = function(sqlParamsArray) {
- if (sqlParamsArray.length < 1) {
- return;
- }
-
- var active, sql, params;
-
- var execArray = [];
-
- for (var i = 0; i < sqlParamsArray.length; i++) {
- active = sqlParamsArray[i];
-
- if (typeof active === 'string') {
- active = [active];
- }
-
- if (!utils.isArray(active) || active.length < 1 || 2 < active.length) {
- throw new Error('Error in .promise parameter');
- }
-
- sql = active[0];
- params = active[1] || undefined;
-
- execArray.push(promiseExec(sql, params, i, sqlParamsArray.length));
- }
-
- return utils.global.Promise.all(execArray);
-};
-
-alasql.promise = function(sql, params) {
- if (typeof Promise === 'undefined') {
- throw new Error('Please include a Promise/A+ library');
- }
-
- if (typeof sql === 'string') {
- return promiseExec(sql, params);
- }
-
- if (!utils.isArray(sql) || sql.length < 1 || typeof params !== 'undefined') {
- throw new Error('Error in .promise parameters');
- }
- return promiseAll(sql);
-};
-
-/*
-//
-// Database class for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Main Database class
-
-/**
- @class Database
- */
-
-var Database = (alasql.Database = function(databaseid) {
- var self = this;
-
- // self.prototype = this;
-
- if (self === alasql) {
- if (databaseid) {
- // if(alasql.databases[databaseid]) {
- self = alasql.databases[databaseid];
- // } else {
- alasql.databases[databaseid] = self;
- // }
- if (!self) {
- throw new Error('Database "' + databaseid + '" not found');
- }
- } else {
- // Create new database (or get alasql?)
- self = alasql.databases.alasql;
- // For SQL Server examples, USE tempdb
- if (alasql.options.tsql) {
- alasql.databases.tempdb = alasql.databases.alasql;
- }
- // self = new Database(databaseid); // to call without new
- }
- }
- if (!databaseid) {
- databaseid = 'db' + alasql.databasenum++; // Random name
- }
-
- // Step 1
- self.databaseid = databaseid;
- alasql.databases[databaseid] = self;
- self.dbversion = 0;
-
- //Steps 2-5
- self.tables = {};
- self.views = {};
- self.triggers = {};
- self.indices = {};
-
- // Step 6: Objects storage
- self.objects = {};
- self.counter = 0;
-
- self.resetSqlCache();
- return self;
-});
-
-/**
- Reset SQL statements cache
- */
-
-Database.prototype.resetSqlCache = function() {
- this.sqlCache = {}; // Cache for compiled SQL statements
- this.sqlCacheSize = 0;
-};
-
-// Main SQL function
-
-/**
- Run SQL statement on database
- @param {string} sql SQL statement
- @param [object] params Parameters
- @param {function} cb callback
- */
-
-Database.prototype.exec = function(sql, params, cb) {
- return alasql.dexec(this.databaseid, sql, params, cb);
-};
-
-Database.prototype.autoval = function(tablename, colname, getNext) {
- return alasql.autoval(tablename, colname, getNext, this.databaseid);
-};
-
-// Aliases like MS SQL
-
-/*
-//
-// Transactio class for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-Database.prototype.transaction = function(cb) {
- var tx = new alasql.Transaction(this.databaseid);
- var res = cb(tx);
- return res;
-};
-
-// Transaction class (for WebSQL compatibility)
-
-/**
- Transaction class
- @class Transaction
- */
-
-var Transaction = (alasql.Transaction = function(databaseid) {
- this.transactionid = Date.now();
- this.databaseid = databaseid;
- this.commited = false;
- this.dbversion = alasql.databases[databaseid].dbversion;
- // this.bank = cloneDeep(alasql.databases[databaseid]);
- this.bank = JSON.stringify(alasql.databases[databaseid]);
- // TODO CLone Tables with insertfns
-
- return this;
-});
-
-// Main class
-
-// Commit
-
-/**
- Commit transaction
- */
-Transaction.prototype.commit = function() {
- this.commited = true;
- alasql.databases[this.databaseid].dbversion = Date.now();
- delete this.bank;
-};
-
-// Rollback
-/**
- Rollback transaction
- */
-Transaction.prototype.rollback = function() {
- if (!this.commited) {
- alasql.databases[this.databaseid] = JSON.parse(this.bank);
- // alasql.databases[this.databaseid].tables = this.bank;
- // alasql.databases[this.databaseid].dbversion = this.dbversion;
- delete this.bank;
- } else {
- throw new Error('Transaction already commited');
- }
-};
-
-// Transactions stub
-
-/**
- Execute SQL statement
- @param {string} sql SQL statement
- @param {object} params Parameters
- @param {function} cb Callback function
- @return result
- */
-Transaction.prototype.exec = function(sql, params, cb) {
-
- return alasql.dexec(this.databaseid, sql, params, cb);
-};
-
-Transaction.prototype.executeSQL = Transaction.prototype.exec;
-
-/*
-//
-// Table class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-var Table = (alasql.Table = function(params) {
- // Step 1: Data array
- this.data = [];
-
- // Step 2: Columns
- this.columns = [];
- this.xcolumns = {};
-
- // Step 3: indices
- this.inddefs = {};
- this.indices = {};
- this.uniqs = {};
- this.uniqdefs = {};
-
- // Step 4: identities
- this.identities = {};
-
- // Step 5: checkfn...
- this.checks = [];
- this.checkfns = []; // For restore... to be done...
-
- // Step 6: INSERT/DELETE/UPDATE
-
- // Step 7: Triggers...
- // Create trigger hubs
- this.beforeinsert = {};
- this.afterinsert = {};
- this.insteadofinsert = {};
-
- this.beforedelete = {};
- this.afterdelete = {};
- this.insteadofdelete = {};
-
- this.beforeupdate = {};
- this.afterupdate = {};
- this.insteadofupdate = {};
-
- // Done
- extend(this, params);
-});
-
-Table.prototype.indexColumns = function() {
- var self = this;
- self.xcolumns = {};
- self.columns.forEach(function(col) {
- self.xcolumns[col.columnid] = col;
- });
-};
-
-/*
-//
-// View class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-var View = (alasql.View = function(params) {
- // Columns
- this.columns = [];
- this.xcolumns = {};
- // Data array
- this.query = [];
-
- extend(this, params);
-});
-
-/*
-//
-// Query class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-
-/**
- @class Query Main query class
- */
-var Query = (alasql.Query = function(params) {
- this.alasql = alasql;
-
- // Columns
- this.columns = [];
- this.xcolumns = {};
- this.selectGroup = [];
- this.groupColumns = {};
- // Data array
- extend(this, params);
-});
-
-/**
- @class Recordset data object
- */
-var Recordset = (alasql.Recordset = function(params) {
- // Data array
- extend(this, params);
-});
-
-/*
-//
-// Parser helper for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-var yy = (alasqlparser.yy = alasql.yy = {});
-
-// Utility
-yy.extend = extend;
-// Option for case sensitive
-yy.casesensitive = alasql.options.casesensitive;
-
-// Base class for all yy classes
-var Base = (yy.Base = function(params) {
- return yy.extend(this, params);
-});
-
-Base.prototype.toString = function() {};
-Base.prototype.toType = function() {};
-Base.prototype.toJS = function() {};
-
-Base.prototype.compile = returnUndefined;
-Base.prototype.exec = function() {};
-
-Base.prototype.compile = returnUndefined;
-Base.prototype.exec = function() {};
-
-/*
-//
-// Statements class for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Statements container
-yy.Statements = function(params) {
- return yy.extend(this, params);
-};
-
-yy.Statements.prototype.toString = function() {
- return this.statements
- .map(function(st) {
- return st.toString();
- })
- .join('; ');
-};
-
-// Compile array of statements into single statement
-yy.Statements.prototype.compile = function(db) {
- var statements = this.statements.map(function(st) {
- return st.compile(db);
- });
- if (statements.length === 1) {
- return statements[0];
- } else {
- return function(params, cb) {
- var res = statements.map(function(st) {
- return st(params);
- });
- if (cb) {
- cb(res);
- }
- return res;
- };
- }
-};
-
-/* global alasql */
-/* global yy */
-/*
-//
-// SEARCH for Alasql.js
-// Date: 04.05.2015
-// (c) 2015, Andrey Gershun
-//
-*/
-
-function doSearch(databaseid, params, cb) {
- var res;
- var stope = {};
- var fromdata;
- var selectors = cloneDeep(this.selectors);
-
- function processSelector(selectors, sidx, value) {
- // var val;
-
- var val, // temp values use many places
- nest, // temp value used many places
- r, // temp value used many places
- sel = selectors[sidx];
-
- // if(!alasql.srch[sel.srchid]) {
- // throw new Error('Selector "'+sel.srchid+'" not found');
- // };
-
- var SECURITY_BREAK = 100000;
-
- if (sel.selid) {
- // TODO Process Selector
- if (sel.selid === 'PATH') {
- var queue = [{node: value, stack: []}];
- var visited = {};
- //var path = [];
- var objects = alasql.databases[alasql.useid].objects;
- while (queue.length > 0) {
- var q = queue.shift();
- var node = q.node;
- var stack = q.stack;
- var r = processSelector(sel.args, 0, node);
- if (r.length > 0) {
- if (sidx + 1 + 1 > selectors.length) {
- return stack;
- } else {
- var rv = [];
- if (stack && stack.length > 0) {
- stack.forEach(function(stv) {
- rv = rv.concat(processSelector(selectors, sidx + 1, stv));
- });
- }
- return rv;
- // return processSelector(selectors,sidx+1,stack);
- }
- } else {
- if (typeof visited[node.$id] !== 'undefined') {
- continue;
- } else {
-
- visited[node.$id] = true;
- if (node.$out && node.$out.length > 0) {
- node.$out.forEach(function(edgeid) {
- var edge = objects[edgeid];
- var stack2 = stack.concat(edge);
- stack2.push(objects[edge.$out[0]]);
- queue.push({
- node: objects[edge.$out[0]],
- stack: stack2,
- });
- });
- }
- }
- }
- }
- // Else return fail
- return [];
- }
- if (sel.selid === 'NOT') {
- var nest = processSelector(sel.args, 0, value);
-
- if (nest.length > 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'DISTINCT') {
- var nest;
- if (typeof sel.args === 'undefined' || sel.args.length === 0) {
- nest = distinctArray(value);
- } else {
- nest = processSelector(sel.args, 0, value);
- }
- if (nest.length === 0) {
- return [];
- } else {
- var res = distinctArray(nest);
- if (sidx + 1 + 1 > selectors.length) {
- return res;
- } else {
- return processSelector(selectors, sidx + 1, res);
- }
- }
- } else if (sel.selid === 'AND') {
- var res = true;
- sel.args.forEach(function(se) {
- res = res && processSelector(se, 0, value).length > 0;
- });
- if (!res) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'OR') {
- var res = false;
- sel.args.forEach(function(se) {
- res = res || processSelector(se, 0, value).length > 0;
- });
- if (!res) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'ALL') {
- var nest = processSelector(sel.args[0], 0, value);
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return nest;
- } else {
- return processSelector(selectors, sidx + 1, nest);
- }
- }
- } else if (sel.selid === 'ANY') {
- var nest = processSelector(sel.args[0], 0, value);
-
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [nest[0]];
- } else {
- return processSelector(selectors, sidx + 1, [nest[0]]);
- }
- }
- } else if (sel.selid === 'UNIONALL') {
- var nest = [];
- sel.args.forEach(function(se) {
- nest = nest.concat(processSelector(se, 0, value));
- });
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return nest;
- } else {
- return processSelector(selectors, sidx + 1, nest);
- }
- }
- } else if (sel.selid === 'UNION') {
- var nest = [];
- sel.args.forEach(function(se) {
- nest = nest.concat(processSelector(se, 0, value));
- });
- var nest = distinctArray(nest);
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return nest;
- } else {
- return processSelector(selectors, sidx + 1, nest);
- }
- }
- } else if (sel.selid === 'IF') {
- var nest = processSelector(sel.args, 0, value);
-
- if (nest.length === 0) {
- return [];
- } else {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, value);
- }
- }
- } else if (sel.selid === 'REPEAT') {
-
- var lvar,
- lmax,
- lmin = sel.args[0].value;
- if (!sel.args[1]) {
- lmax = lmin; // Add security break
- } else {
- lmax = sel.args[1].value;
- }
- if (sel.args[2]) {
- lvar = sel.args[2].variable;
- }
- //var lsel = sel.sels;
-
- var retval = [];
-
- if (lmin === 0) {
- if (sidx + 1 + 1 > selectors.length) {
- retval = [value];
- } else {
- if (lvar) {
- alasql.vars[lvar] = 0;
- }
- retval = retval.concat(processSelector(selectors, sidx + 1, value));
- }
- }
-
- // var nests = processSelector(sel.sels,0,value).slice();
- if (lmax > 0) {
- var nests = [{value: value, lvl: 1}];
-
- var i = 0;
- while (nests.length > 0) {
- var nest = nests[0];
-
- nests.shift();
- if (nest.lvl <= lmax) {
- if (lvar) {
- alasql.vars[lvar] = nest.lvl;
- }
-
- var nest1 = processSelector(sel.sels, 0, nest.value);
-
- nest1.forEach(function(n) {
- nests.push({value: n, lvl: nest.lvl + 1});
- });
- if (nest.lvl >= lmin) {
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nest1);
- //return nests;
- } else {
- nest1.forEach(function(n) {
- retval = retval.concat(
- processSelector(selectors, sidx + 1, n)
- );
- });
- }
- }
- }
- // Security brake
- i++;
- if (i > SECURITY_BREAK) {
- throw new Error('Security brake. Number of iterations = ' + i);
- }
- }
- }
- return retval;
- } else if (sel.selid === 'OF') {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- var r1 = [];
- Object.keys(value).forEach(function(keyv) {
- alasql.vars[sel.args[0].variable] = keyv;
- r1 = r1.concat(processSelector(selectors, sidx + 1, value[keyv]));
- });
- return r1;
- }
- } else if (sel.selid === 'TO') {
-
- var oldv = alasql.vars[sel.args[0]];
- var newv = [];
- if (oldv !== undefined) {
-
- newv = oldv.slice(0);
-
- } else {
- newv = [];
- }
- newv.push(value);
-
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- alasql.vars[sel.args[0]] = newv;
- var r1 = processSelector(selectors, sidx + 1, value);
-
- alasql.vars[sel.args[0]] = oldv;
- return r1;
- }
-
- } else if (sel.selid === 'ARRAY') {
- var nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest;
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'SUM') {
- var nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- var val = nest.reduce(function(sum, current) {
- return sum + current;
- }, 0);
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'AVG') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val =
- nest.reduce(function(sum, current) {
- return sum + current;
- }, 0) / nest.length;
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'COUNT') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest.length;
- } else {
- return [];
- }
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'FIRST') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest[0];
- } else {
- return [];
- }
-
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'LAST') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length > 0) {
- val = nest[nest.length - 1];
- } else {
- return [];
- }
-
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'MIN') {
- nest = processSelector(sel.args, 0, value);
- if (nest.length === 0) {
- return [];
- }
- var val = nest.reduce(function(min, current) {
- return Math.min(min, current);
- }, Infinity);
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'MAX') {
- var nest = processSelector(sel.args, 0, value);
- if (nest.length === 0) {
- return [];
- }
- var val = nest.reduce(function(max, current) {
- return Math.max(max, current);
- }, -Infinity);
- if (sidx + 1 + 1 > selectors.length) {
- return [val];
- } else {
- return processSelector(selectors, sidx + 1, val);
- }
- } else if (sel.selid === 'PLUS') {
- var retval = [];
- // retval = retval.concat(processSelector(selectors,sidx+1,n))
- var nests = processSelector(sel.args, 0, value).slice();
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nests);
- } else {
- nests.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
-
- var i = 0;
- while (nests.length > 0) {
- // nest = nests[0];
- // nests.shift();
- var nest = nests.shift();
-
- nest = processSelector(sel.args, 0, nest);
-
- nests = nests.concat(nest);
-
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nest);
- //return retval;
- } else {
- nest.forEach(function(n) {
-
- var rn = processSelector(selectors, sidx + 1, n);
-
- retval = retval.concat(rn);
- });
- }
-
- // Security brake
- i++;
- if (i > SECURITY_BREAK) {
- throw new Error('Security brake. Number of iterations = ' + i);
- }
- }
- return retval;
-
- } else if (sel.selid === 'STAR') {
- var retval = [];
- retval = processSelector(selectors, sidx + 1, value);
- var nests = processSelector(sel.args, 0, value).slice();
- if (sidx + 1 + 1 > selectors.length) {
- retval = retval.concat(nests);
- //return nests;
- } else {
- nests.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
- var i = 0;
- while (nests.length > 0) {
- var nest = nests[0];
- nests.shift();
-
- nest = processSelector(sel.args, 0, nest);
-
- nests = nests.concat(nest);
-
- if (sidx + 1 + 1 <= selectors.length) {
- nest.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
-
- // Security brake
- i++;
- if (i > SECURITY_BREAK) {
- throw new Error('Loop brake. Number of iterations = ' + i);
- }
- }
-
- return retval;
- } else if (sel.selid === 'QUESTION') {
- var retval = [];
- retval = retval.concat(processSelector(selectors, sidx + 1, value));
- var nest = processSelector(sel.args, 0, value);
- if (sidx + 1 + 1 <= selectors.length) {
- nest.forEach(function(n) {
- retval = retval.concat(processSelector(selectors, sidx + 1, n));
- });
- }
- return retval;
- } else if (sel.selid === 'WITH') {
- var nest = processSelector(sel.args, 0, value);
-
- if (nest.length === 0) {
- return [];
- } else {
-
- var r = {status: 1, values: nest};
- }
- } else if (sel.selid === 'ROOT') {
- if (sidx + 1 + 1 > selectors.length) {
- return [value];
- } else {
- return processSelector(selectors, sidx + 1, fromdata);
- }
- } else {
- throw new Error('Wrong selector ' + sel.selid);
- }
- } else if (sel.srchid) {
- var r = alasql.srch[sel.srchid.toUpperCase()](value, sel.args, stope, params);
-
- } else {
- throw new Error('Selector not found');
- }
-
- if (typeof r === 'undefined') {
- r = {status: 1, values: [value]};
- }
-
- var res = [];
- if (r.status === 1) {
- var arr = r.values;
-
- if (sidx + 1 + 1 > selectors.length) {
- // if(sidx+1+1 > selectors.length) {
- res = arr;
-
- } else {
- for (var i = 0; i < r.values.length; i++) {
- res = res.concat(processSelector(selectors, sidx + 1, arr[i]));
- }
- }
- }
- return res;
- }
-
- if (selectors !== undefined && selectors.length > 0) {
-
- if (
- selectors &&
- selectors[0] &&
- selectors[0].srchid === 'PROP' &&
- selectors[0].args &&
- selectors[0].args[0]
- ) {
-
- if (selectors[0].args[0].toUpperCase() === 'XML') {
- stope.mode = 'XML';
- selectors.shift();
- } else if (selectors[0].args[0].toUpperCase() === 'HTML') {
- stope.mode = 'HTML';
- selectors.shift();
- } else if (selectors[0].args[0].toUpperCase() === 'JSON') {
- stope.mode = 'JSON';
- selectors.shift();
- }
- }
- if (selectors.length > 0 && selectors[0].srchid === 'VALUE') {
- stope.value = true;
- selectors.shift();
- }
- }
-
- if (this.from instanceof yy.Column) {
- var dbid = this.from.databaseid || databaseid;
- fromdata = alasql.databases[dbid].tables[this.from.columnid].data;
- //selectors.unshift({srchid:'CHILD'});
- } else if (this.from instanceof yy.FuncValue && alasql.from[this.from.funcid.toUpperCase()]) {
- var args = this.from.args.map(function(arg) {
- var as = arg.toJS();
-
- var fn = new Function('params,alasql', 'var y;return ' + as).bind(this);
- return fn(params, alasql);
- });
-
- fromdata = alasql.from[this.from.funcid.toUpperCase()].apply(this, args);
-
- } else if (typeof this.from === 'undefined') {
- fromdata = alasql.databases[databaseid].objects;
- } else {
- var fromfn = new Function('params,alasql', 'var y;return ' + this.from.toJS());
- fromdata = fromfn(params, alasql);
- // Check for Mogo Collections
- if (
- typeof Mongo === 'object' &&
- typeof Mongo.Collection !== 'object' &&
- fromdata instanceof Mongo.Collection
- ) {
- fromdata = fromdata.find().fetch();
- }
-
- // if(typeof fromdata == 'object' && Array.isArray(fromdata)) {
- // selectors.unshift({srchid:'CHILD'});
- // }
- }
-
- // If source data is array than first step is to run over array
- // var selidx = 0;
- // var selvalue = fromdata;
-
- if (selectors !== undefined && selectors.length > 0) {
- // Init variables for TO() selectors
-
- if (false) {
- selectors.forEach(function(selector) {
- if (selector.srchid === 'TO') {
- //* @todo move to TO selector
- alasql.vars[selector.args[0]] = [];
- // TODO - process nested selectors
- }
- });
- }
-
- res = processSelector(selectors, 0, fromdata);
- } else {
- res = fromdata;
- }
-
- if (this.into) {
- var a1, a2;
- if (typeof this.into.args[0] !== 'undefined') {
- a1 = new Function('params,alasql', 'var y;return ' + this.into.args[0].toJS())(
- params,
- alasql
- );
- }
- if (typeof this.into.args[1] !== 'undefined') {
- a2 = new Function('params,alasql', 'var y;return ' + this.into.args[1].toJS())(
- params,
- alasql
- );
- }
- res = alasql.into[this.into.funcid.toUpperCase()](a1, a2, res, [], cb);
- } else {
- if (stope.value && res.length > 0) {
- res = res[0];
- }
- if (cb) {
- res = cb(res);
- }
- }
- return res;
-}
-
-/**
- Search class
- @class
- @example
- SEARCH SUM(/a) FROM ? -- search over parameter object
-*/
-
-yy.Search = function(params) {
- return yy.extend(this, params);
-};
-
-yy.Search.prototype.toString = function() {
- var s = 'SEARCH' + ' ';
- if (this.selectors) {
- s += this.selectors.toString();
- }
- if (this.from) {
- s += 'FROM' + ' ' + this.from.toString();
- }
-
- return s;
-};
-
-yy.Search.prototype.toJS = function(context) {
-
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
- // var s = '';
- return s;
-};
-
-yy.Search.prototype.compile = function(databaseid) {
- var dbid = databaseid;
- var self = this;
-
- var statement = function(params, cb) {
-
- var res;
- doSearch.bind(self)(dbid, params, function(data) {
-
- res = modify(statement.query, data);
-
- if (cb) {
- res = cb(res);
- }
- });
-
- // if(cb) res = cb(res);
- return res;
- };
- statement.query = {};
- return statement;
-};
-
-// List of search functions
-alasql.srch = {};
-
-alasql.srch.PROP = function(val, args, stope) {
-
- if (stope.mode === 'XML') {
- var arr = [];
- val.children.forEach(function(v) {
- if (v.name.toUpperCase() === args[0].toUpperCase()) {
- arr.push(v);
- }
- });
- if (arr.length > 0) {
- return {status: 1, values: arr};
- } else {
- return {status: -1, values: []};
- }
- } else {
- if (
- typeof val !== 'object' ||
- val === null ||
- typeof args !== 'object' ||
- typeof val[args[0]] === 'undefined'
- ) {
- return {status: -1, values: []};
- } else {
- return {status: 1, values: [val[args[0]]]};
- }
- }
-};
-
-alasql.srch.APROP = function(val, args) {
- if (
- typeof val !== 'object' ||
- val === null ||
- typeof args !== 'object' ||
- typeof val[args[0]] === 'undefined'
- ) {
- return {status: 1, values: [undefined]};
- } else {
- return {status: 1, values: [val[args[0]]]};
- }
-};
-
-// Test expression
-alasql.srch.EQ = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (val === exprfn(val, alasql, params)) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Test expression
-alasql.srch.LIKE = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (
- val.toUpperCase().match(
- new RegExp(
- '^' +
- exprfn(val, alasql, params)
- .toUpperCase()
- .replace(/%/g, '.*')
- .replace(/\?|_/g, '.') +
- '$'
- ),
- 'g'
- )
- ) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.ATTR = function(val, args, stope) {
- if (stope.mode === 'XML') {
- if (typeof args === 'undefined') {
- return {status: 1, values: [val.attributes]};
- } else {
- if (
- typeof val === 'object' &&
- typeof val.attributes === 'object' &&
- typeof val.attributes[args[0]] !== 'undefined'
- ) {
- return {status: 1, values: [val.attributes[args[0]]]};
- } else {
- return {status: -1, values: []};
- }
- }
- } else {
- throw new Error('ATTR is not using in usual mode');
- }
-};
-
-alasql.srch.CONTENT = function(val, args, stope) {
- if (stope.mode === 'XML') {
- return {status: 1, values: [val.content]};
- } else {
- throw new Error('ATTR is not using in usual mode');
- }
-};
-
-alasql.srch.SHARP = function(val, args) {
- var obj = alasql.databases[alasql.useid].objects[args[0]];
- if (typeof val !== 'undefined' && val === obj) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.PARENT = function(/*val,args,stope*/) {
- // TODO: implement
- console.error('PARENT not implemented', arguments);
-
- return {status: -1, values: []};
-};
-
-alasql.srch.CHILD = function(val, args, stope) {
-
- if (typeof val === 'object') {
- if (Array.isArray(val)) {
- return {status: 1, values: val};
- } else {
- if (stope.mode === 'XML') {
- return {
- status: 1,
- values: Object.keys(val.children).map(function(key) {
- return val.children[key];
- }),
- };
- } else {
- return {
- status: 1,
- values: Object.keys(val).map(function(key) {
- return val[key];
- }),
- };
- }
- }
- } else {
- // If primitive value
- return {status: 1, values: []};
- }
-};
-
-// Return all keys
-alasql.srch.KEYS = function(val) {
- if (typeof val === 'object' && val !== null) {
- return {status: 1, values: Object.keys(val)};
- } else {
- // If primitive value
- return {status: 1, values: []};
- }
-};
-
-// Test expression
-alasql.srch.WHERE = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (exprfn(val, alasql, params)) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.NAME = function(val, args) {
- if (val.name === args[0]) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.CLASS = function(val, args) {
-
- // Please avoid `===` here
- if (val.$class == args) {
- // jshint ignore:line
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.VERTEX = function(val) {
- if (val.$node === 'VERTEX') {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.INSTANCEOF = function(val, args) {
- if (val instanceof alasql.fn[args[0]]) {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.EDGE = function(val) {
- if (val.$node === 'EDGE') {
- return {status: 1, values: [val]};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.EX = function(val, args, stope, params) {
- var exprs = args[0].toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- return {status: 1, values: [exprfn(val, alasql, params)]};
-};
-
-// Transform expression
-alasql.srch.RETURN = function(val, args, stope, params) {
- var res = {};
- if (args && args.length > 0) {
- args.forEach(function(arg) {
- var exprs = arg.toJS('x', '');
- var exprfn = new Function('x,alasql,params', 'return ' + exprs);
- if (typeof arg.as === 'undefined') {
- arg.as = arg.toString();
- }
- res[arg.as] = exprfn(val, alasql, params);
- });
- }
- return {status: 1, values: [res]};
-};
-
-// Transform expression
-alasql.srch.REF = function(val) {
- return {status: 1, values: [alasql.databases[alasql.useid].objects[val]]};
-};
-
-// Transform expression
-alasql.srch.OUT = function(val) {
- if (val.$out && val.$out.length > 0) {
- var res = val.$out.map(function(v) {
- return alasql.databases[alasql.useid].objects[v];
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.OUTOUT = function(val) {
- if (val.$out && val.$out.length > 0) {
- var res = [];
- val.$out.forEach(function(v) {
- var av = alasql.databases[alasql.useid].objects[v];
- if (av && av.$out && av.$out.length > 0) {
- av.$out.forEach(function(vv) {
- res = res.concat(alasql.databases[alasql.useid].objects[vv]);
- });
- }
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.IN = function(val) {
- if (val.$in && val.$in.length > 0) {
- var res = val.$in.map(function(v) {
- return alasql.databases[alasql.useid].objects[v];
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-alasql.srch.ININ = function(val) {
- if (val.$in && val.$in.length > 0) {
- var res = [];
- val.$in.forEach(function(v) {
- var av = alasql.databases[alasql.useid].objects[v];
- if (av && av.$in && av.$in.length > 0) {
- av.$in.forEach(function(vv) {
- res = res.concat(alasql.databases[alasql.useid].objects[vv]);
- });
- }
- });
- return {status: 1, values: res};
- } else {
- return {status: -1, values: []};
- }
-};
-
-// Transform expression
-alasql.srch.AS = function(val, args) {
- alasql.vars[args[0]] = val;
- return {status: 1, values: [val]};
-};
-
-// Transform expression
-alasql.srch.AT = function(val, args) {
- var v = alasql.vars[args[0]];
- return {status: 1, values: [v]};
-};
-
-// Transform expression
-alasql.srch.CLONEDEEP = function(val) {
- // TODO something wrong
- var z = cloneDeep(val);
- return {status: 1, values: [z]};
-};
-
-// // Transform expression
-// alasql.srch.DELETE = function(val,args) {
-
-// };
-
-// Transform expression
-alasql.srch.SET = function(val, args, stope, params) {
-
- var s = args
- .map(function(st) {
-
- if (st.method === '@') {
- return "alasql.vars['" + st.variable + "']=" + st.expression.toJS('x', '');
- } else if (st.method === '$') {
- return "params['" + st.variable + "']=" + st.expression.toJS('x', '');
- } else {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- }
- })
- .join(';');
- var setfn = new Function('x,params,alasql', s);
-
- setfn(val, params, alasql);
-
- return {status: 1, values: [val]};
-};
-
-alasql.srch.ROW = function(val, args, stope, params) {
- var s = 'var y;return [';
-
- s += args
- .map(function(arg) {
- return arg.toJS('x', '');
- })
- .join(',');
- s += ']';
- var setfn = new Function('x,params,alasql', s);
- var rv = setfn(val, params, alasql);
-
- return {status: 1, values: [rv]};
-};
-
-alasql.srch.D3 = function(val) {
- if (val.$node !== 'VERTEX' && val.$node === 'EDGE') {
- val.source = val.$in[0];
- val.target = val.$out[0];
- }
-
- return {status: 1, values: [val]};
-};
-
-var compileSearchOrder = function(order) {
- if (order) {
-
- if (
- order &&
- order.length === 1 &&
- order[0].expression &&
- typeof order[0].expression === 'function'
- ) {
-
- var func = order[0].expression;
-
- return function(a, b) {
- var ra = func(a),
- rb = func(b);
- if (ra > rb) {
- return 1;
- }
- if (ra === rb) {
- return 0;
- }
- return -1;
- };
- }
-
- var s = '';
- var sk = '';
- order.forEach(function(ord) {
-
- // Date conversion
- var dg = '';
-
- if (ord.expression instanceof yy.NumValue) {
- ord.expression = self.columns[ord.expression.value - 1];
- }
-
- if (ord.expression instanceof yy.Column) {
- var columnid = ord.expression.columnid;
-
- if (alasql.options.valueof) {
- dg = '.valueOf()'; // TODO Check
- }
- // COLLATE NOCASE
- if (ord.nocase) {
- dg += '.toUpperCase()';
- }
-
- if (columnid === '_') {
- s +=
- 'if(a' +
- dg +
- (ord.direction === 'ASC' ? '>' : '<') +
- 'b' +
- dg +
- ')return 1;';
- s += 'if(a' + dg + '==b' + dg + '){';
- } else {
- s +=
- "if((a['" +
- columnid +
- "']||'')" +
- dg +
- (ord.direction === 'ASC' ? '>' : '<') +
- "(b['" +
- columnid +
- "']||'')" +
- dg +
- ')return 1;';
- s +=
- "if((a['" +
- columnid +
- "']||'')" +
- dg +
- "==(b['" +
- columnid +
- "']||'')" +
- dg +
- '){';
- }
- } else {
- dg = '.valueOf()';
- // COLLATE NOCASE
- if (ord.nocase) {
- dg += '.toUpperCase()';
- }
- s +=
- 'if((' +
- ord.toJS('a', '') +
- "||'')" +
- dg +
- (ord.direction === 'ASC' ? '>(' : '<(') +
- ord.toJS('b', '') +
- "||'')" +
- dg +
- ')return 1;';
- s +=
- 'if((' +
- ord.toJS('a', '') +
- "||'')" +
- dg +
- '==(' +
- ord.toJS('b', '') +
- "||'')" +
- dg +
- '){';
- }
-
- // TODO Add date comparision
- // s += 'if(a[\''+columnid+"']"+dg+(ord.direction == 'ASC'?'>':'<')+'b[\''+columnid+"']"+dg+')return 1;';
- // s += 'if(a[\''+columnid+"']"+dg+'==b[\''+columnid+"']"+dg+'){';
- // }
- sk += '}';
- });
- s += 'return 0;';
- s += sk + 'return -1';
-
- return new Function('a,b', s);
- }
-};
-
-alasql.srch.ORDERBY = function(val, args /*,stope*/) {
-
- var res = val.sort(compileSearchOrder(args));
- return {status: 1, values: res};
-};
-
-// Main query procedure
-function queryfn(query, oldscope, cb, A, B) {
- var aaa = query.sources.length;
-
- var ms;
- query.sourceslen = query.sources.length;
- var slen = query.sourceslen;
- query.query = query; // TODO Remove to prevent memory leaks
- query.A = A;
- query.B = B;
- query.cb = cb;
- query.oldscope = oldscope;
-
- // Run all subqueries before main statement
- if (query.queriesfn) {
- query.sourceslen += query.queriesfn.length;
- slen += query.queriesfn.length;
-
- query.queriesdata = [];
-
- query.queriesfn.forEach(function(q, idx) {
- // if(query.explain) ms = Date.now();
-
- // var res = flatArray(q(query.params,null,queryfn2,(-idx-1),query));
-
- // var res = flatArray(queryfn(q.query,null,queryfn2,(-idx-1),query));
-
- q.query.params = query.params;
- // query.queriesdata[idx] =
-
- // if(false) {
- // queryfn(q.query,query.oldscope,queryfn2,(-idx-1),query);
- // } else {
- queryfn2([], -idx - 1, query);
- // }
-
- // query.explaination.push({explid: query.explid++, description:'Query '+idx,ms:Date.now()-ms});
- // query.queriesdata[idx] = res;
- // return res;
- });
-
- }
-
- var scope;
- if (!oldscope) scope = {};
- else scope = cloneDeep(oldscope);
- query.scope = scope;
-
- // First - refresh data sources
-
- var result;
- query.sources.forEach(function(source, idx) {
- // source.data = query.database.tables[source.tableid].data;
-
- source.query = query;
- var rs = source.datafn(query, query.params, queryfn2, idx, alasql);
-
- if (typeof rs !== 'undefined') {
- // TODO - this is a hack: check if result is array - check all cases and
- // make it more logical
- if ((query.intofn || query.intoallfn) && Array.isArray(rs)) rs = rs.length;
- result = rs;
- }
- //
- // Ugly hack to use in query.wherefn and source.srcwherefns functions
- // constructions like this.queriesdata['test'].
- // I can elimite it with source.srcwherefn.bind(this)()
- // but it may be slow.
- //
- source.queriesdata = query.queriesdata;
- });
- if (query.sources.length == 0 || 0 === slen) result = queryfn3(query);
-
- return result;
-}
-
-function queryfn2(data, idx, query) {
-
- //console.trace();
-
- if (idx >= 0) {
- var source = query.sources[idx];
- source.data = data;
- if (typeof source.data == 'function') {
- source.getfn = source.data;
- source.dontcache = source.getfn.dontcache;
-
- // var prevsource = query.sources[h-1];
- if (
- source.joinmode == 'OUTER' ||
- source.joinmode == 'RIGHT' ||
- source.joinmode == 'ANTI'
- ) {
- source.dontcache = false;
- }
- source.data = {};
- }
- } else {
- // subqueries
-
- query.queriesdata[-idx - 1] = flatArray(data);
-
- }
-
- query.sourceslen--;
- if (query.sourceslen > 0) return;
-
- return queryfn3(query);
-}
-
-function queryfn3(query) {
- var scope = query.scope,
- jlen;
-
- // Preindexation of data sources
- // if(!oldscope) {
- preIndex(query);
- // }
-
- // query.sources.forEach(function(source) {
-
- // });
-
- // Prepare variables
- query.data = [];
- query.xgroups = {};
- query.groups = [];
-
- // Level of Joins
- var h = 0;
-
- // Start walking over data
-
- doJoin(query, scope, h);
-
- // If groupping, then filter groups with HAVING function
-
- if (query.groupfn) {
- query.data = [];
- if (0 === query.groups.length) {
- var g = {};
- if (query.selectGroup.length > 0) {
-
- query.selectGroup.forEach(function(sg) {
- if (sg.aggregatorid == 'COUNT' || sg.aggregatorid == 'SUM') {
- g[sg.nick] = 0;
- } else {
- g[sg.nick] = undefined;
- }
- });
- }
- query.groups = [g];
-
- }
-
- // ******
-
- if (query.aggrKeys.length > 0) {
- var gfns = '';
- query.aggrKeys.forEach(function(col) {
- gfns +=
- "g['" +
- col.nick +
- "']=alasql.aggr['" +
- col.funcid +
- "'](undefined,g['" +
- col.nick +
- "'],3);";
- // gfns += 'return g[\''+col.nick+'\];';
- });
-
- var gfn = new Function('g,params,alasql', 'var y;' + gfns);
- }
-
- // return "'"+colas+'\':alasql.aggr[\''+col.funcid+'\']('+colexp+',undefined,(acc={}),1),'
- // +'\'__REDUCE__'+colas+'\':acc,';
-
- // *******
-
- // debugger;
- // if(false && (query.groups.length == 1) && (Object.keys(query.groups[0]).length == 0)) {
-
- // } else {
- for (var i = 0, ilen = query.groups.length; i < ilen; i++) {
- var g = query.groups[i];
-
- if (gfn) gfn(g, query.params, alasql);
-
- if (!query.havingfn || query.havingfn(g, query.params, alasql)) {
-
- var d = query.selectgfn(g, query.params, alasql);
- query.data.push(d);
- }
- }
- // }
-
- // query.groups = query.groups.filter();
- }
- // Remove distinct values
- doDistinct(query);
-
- // UNION / UNION ALL
- if (query.unionallfn) {
- // TODO Simplify this part of program
- var ud, nd;
- if (query.corresponding) {
- if (!query.unionallfn.query.modifier) query.unionallfn.query.modifier = undefined;
- ud = query.unionallfn(query.params);
- } else {
- if (!query.unionallfn.query.modifier) query.unionallfn.query.modifier = 'RECORDSET';
- nd = query.unionallfn(query.params);
- ud = [];
- ilen = nd.data.length;
- for (var i = 0; i < ilen; i++) {
- var r = {};
- for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
- query.data = query.data.concat(ud);
- } else if (query.unionfn) {
- if (query.corresponding) {
- if (!query.unionfn.query.modifier) query.unionfn.query.modifier = 'ARRAY';
- ud = query.unionfn(query.params);
- } else {
- if (!query.unionfn.query.modifier) query.unionfn.query.modifier = 'RECORDSET';
- nd = query.unionfn(query.params);
- ud = [];
- ilen = nd.data.length;
- for (var i = 0; i < ilen; i++) {
- r = {};
- jlen = Math.min(query.columns.length, nd.columns.length);
- for (var j = 0; j < jlen; j++) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
-
- query.data = arrayUnionDeep(query.data, ud);
- } else if (query.exceptfn) {
- if (query.corresponding) {
- if (!query.exceptfn.query.modifier) query.exceptfn.query.modifier = 'ARRAY';
- var ud = query.exceptfn(query.params);
- } else {
- if (!query.exceptfn.query.modifier) query.exceptfn.query.modifier = 'RECORDSET';
- var nd = query.exceptfn(query.params);
- var ud = [];
- for (var i = 0, ilen = nd.data.length; i < ilen; i++) {
- var r = {};
- for (var j = Math.min(query.columns.length, nd.columns.length) - 1; 0 <= j; j--) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
-
- query.data = arrayExceptDeep(query.data, ud);
- } else if (query.intersectfn) {
- if (query.corresponding) {
- if (!query.intersectfn.query.modifier) query.intersectfn.query.modifier = undefined;
- ud = query.intersectfn(query.params);
- } else {
- if (!query.intersectfn.query.modifier) query.intersectfn.query.modifier = 'RECORDSET';
- nd = query.intersectfn(query.params);
- ud = [];
- ilen = nd.data.length;
- for (i = 0; i < ilen; i++) {
- r = {};
- jlen = Math.min(query.columns.length, nd.columns.length);
- for (j = 0; j < jlen; j++) {
- r[query.columns[j].columnid] = nd.data[i][nd.columns[j].columnid];
- }
- ud.push(r);
- }
- }
-
- query.data = arrayIntersectDeep(query.data, ud);
- }
-
- // Ordering
- if (query.orderfn) {
- if (query.explain) var ms = Date.now();
- query.data = query.data.sort(query.orderfn);
- if (query.explain) {
- query.explaination.push({
- explid: query.explid++,
- description: 'QUERY BY',
- ms: Date.now() - ms,
- });
- }
- }
-
- // Reduce to limit and offset
- doLimit(query);
-
- // Remove Angular.js artifacts and other unnecessary columns
- // Issue #25
-
- // TODO: Check what artefacts rest from Angular.js
- if (typeof angular != 'undefined') {
- query.removeKeys.push('$$hashKey');
- }
-
- if (query.removeKeys.length > 0) {
- var removeKeys = query.removeKeys;
-
- // Remove from data
- jlen = removeKeys.length;
- if (jlen > 0) {
- ilen = query.data.length;
- for (i = 0; i < ilen; i++) {
- for (j = 0; j < jlen; j++) {
- delete query.data[i][removeKeys[j]];
- }
- }
- }
-
- // Remove from columns list
- if (query.columns.length > 0) {
- query.columns = query.columns.filter(function(column) {
- var found = false;
- removeKeys.forEach(function(key) {
- if (column.columnid == key) found = true;
- });
- return !found;
- });
- }
- }
-
- if (typeof query.removeLikeKeys != 'undefined' && query.removeLikeKeys.length > 0) {
- var removeLikeKeys = query.removeLikeKeys;
-
- // Remove unused columns
- // SELECT * REMOVE COLUMNS LIKE "%b"
- for (var i = 0, ilen = query.data.length; i < ilen; i++) {
- r = query.data[i];
- for (var k in r) {
- for (j = 0; j < query.removeLikeKeys.length; j++) {
- if (alasql.utils.like(query.removeLikeKeys[j], k)) {
- // if(k.match(query.removeLikeKeys[j])) {
- delete r[k];
- }
- }
- }
- }
-
- if (query.columns.length > 0) {
- query.columns = query.columns.filter(function(column) {
- var found = false;
- removeLikeKeys.forEach(function(key) {
- // if(column.columnid.match(key)) found = true;
- if (alasql.utils.like(key, column.columnid)) {
- found = true;
- }
- });
- return !found;
- });
- }
- }
-
- if (query.pivotfn) query.pivotfn();
- if (query.unpivotfn) query.unpivotfn();
-
- if (query.intoallfn) {
-
- // var res = query.intoallfn(query.columns,query.cb,query.A, query.B, alasql);
- var res = query.intoallfn(query.columns, query.cb, query.params, query.alasql);
-
- // if(query.cb) res = query.cb(res,query.A, query.B);
-
- // debugger;
- return res;
- } else if (query.intofn) {
- ilen = query.data.length;
- for (i = 0; i < ilen; i++) {
- query.intofn(query.data[i], i, query.params, query.alasql);
- }
-
- if (query.cb) query.cb(query.data.length, query.A, query.B);
- return query.data.length;
- } else {
-
- res = query.data;
- if (query.cb) res = query.cb(query.data, query.A, query.B);
- return res;
- }
-}
-
-// Limiting
-function doLimit(query) {
-
- if (query.limit) {
- var offset = 0;
- if (query.offset) {
- offset = query.offset | 0 || 0;
- offset = offset < 0 ? 0 : offset;
- }
- var limit;
- if (query.percent) {
- limit = (((query.data.length * query.limit) / 100) | 0) + offset;
- } else {
- limit = (query.limit | 0) + offset;
- }
- query.data = query.data.slice(offset, limit);
- }
-}
-
-// Distinct
-function doDistinct(query) {
- if (query.distinct) {
- var uniq = {};
- // TODO: Speedup, because Object.keys is slow**
- // TODO: Problem with DISTINCT on objects
- var keys = Object.keys(query.data[0] || []);
- for (var i = 0, ilen = query.data.length; i < ilen; i++) {
- var uix = keys
- .map(function(k) {
- return query.data[i][k];
- })
- .join('`');
- uniq[uix] = query.data[i];
- }
- query.data = [];
- for (var key in uniq) {
- query.data.push(uniq[key]);
- }
- }
-}
-
-// Optimization: preliminary indexation of joins
-var preIndex = function(query) {
-
- // Loop over all sources
- // Todo: make this loop smaller and more graspable
- for (var k = 0, klen = query.sources.length; k < klen; k++) {
- var source = query.sources[k];
- delete source.ix;
- // If there is indexation rule
-
- if (k > 0 && source.optimization == 'ix' && source.onleftfn && source.onrightfn) {
- // If there is no table.indices - create it
- if (source.databaseid && alasql.databases[source.databaseid].tables[source.tableid]) {
- if (!alasql.databases[source.databaseid].tables[source.tableid].indices)
- query.database.tables[source.tableid].indices = {};
- // Check if index already exists
- var ixx =
- alasql.databases[source.databaseid].tables[source.tableid].indices[
- hash(source.onrightfns + '`' + source.srcwherefns)
- ];
- if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
- source.ix = ixx;
- }
- }
-
- if (!source.ix) {
- source.ix = {};
- // Walking over source data
- var scope = {};
- var i = 0;
- var ilen = source.data.length;
- var dataw;
- // while(source.getfn i= query.sources.length) {
- // Todo: check if this runs once too many
-
- // Then apply where and select
-
- if (query.wherefn(scope, query.params, alasql)) {
-
- // var res = query.selectfn(scope, query.params, alasql);
-
- // If there is a GROUP BY then pipe to groupping function
- if (query.groupfn) {
- query.groupfn(scope, query.params, alasql);
- } else {
- // query.qwerty = 999;
-
- query.data.push(query.selectfn(scope, query.params, alasql));
- }
- }
- } else if (query.sources[h].applyselect) {
-
- var source = query.sources[h];
- source.applyselect(
- query.params,
- function(data) {
- if (data.length > 0) {
-
- for (var i = 0; i < data.length; i++) {
- scope[source.alias] = data[i];
- doJoin(query, scope, h + 1);
- }
- } else {
- if (source.applymode == 'OUTER') {
- scope[source.alias] = {};
- doJoin(query, scope, h + 1);
- }
- }
- },
- scope
- );
-
- } else {
- // STEP 1
-
- var source = query.sources[h];
- var nextsource = query.sources[h + 1];
-
- // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "RIGHT"
- // || source.joinmode == "OUTER" || source.joinmode == "SEMI") {
- // Todo: check if this is smart
- if (true) {
- //source.joinmode != "ANTI") {
-
- var tableid = source.alias || source.tableid;
- var pass = false; // For LEFT JOIN
- var data = source.data;
- var opt = false;
-
- // Reduce data for looping if there is optimization hint
- if (!source.getfn || (source.getfn && !source.dontcache)) {
- if (
- source.joinmode != 'RIGHT' &&
- source.joinmode != 'OUTER' &&
- source.joinmode != 'ANTI' &&
- source.optimization == 'ix'
- ) {
- data = source.ix[source.onleftfn(scope, query.params, alasql)] || [];
- opt = true;
-
- }
- }
-
- // Main cycle
- var i = 0;
- if (typeof data == 'undefined') {
- throw new Error('Data source number ' + h + ' in undefined');
- }
- var ilen = data.length;
- var dataw;
-
- while (
- (dataw = data[i]) ||
- (!opt && (source.getfn && (dataw = source.getfn(i)))) ||
- i < ilen
- ) {
- if (!opt && source.getfn && !source.dontcache) data[i] = dataw;
-
- scope[tableid] = dataw;
- // Reduce with ON and USING clause
- if (
- !source.onleftfn ||
- source.onleftfn(scope, query.params, alasql) ==
- source.onrightfn(scope, query.params, alasql)
- ) {
- // For all non-standard JOINs like a-b=0
- if (source.onmiddlefn(scope, query.params, alasql)) {
- // Recursively call new join
- // if(source.joinmode == "LEFT" || source.joinmode == "INNER" || source.joinmode == "OUTER" || source.joinmode == "RIGHT" ) {
- if (source.joinmode != 'SEMI' && source.joinmode != 'ANTI') {
-
- doJoin(query, scope, h + 1);
- }
-
- // if(source.data[i].f = 200) debugger;
-
- // if(source.joinmode == "RIGHT" || source.joinmode == "ANTI" || source.joinmode == "OUTER") {
- if (source.joinmode != 'LEFT' && source.joinmode != 'INNER') {
- dataw._rightjoin = true;
- }
-
- // for LEFT JOIN
- pass = true;
- }
- }
- i++;
- }
-
- // Additional join for LEFT JOINS
- if (
- (source.joinmode == 'LEFT' ||
- source.joinmode == 'OUTER' ||
- source.joinmode == 'SEMI') &&
- !pass
- ) {
- // Clear the scope after the loop
- scope[tableid] = {};
- doJoin(query, scope, h + 1);
- }
- }
-
- // When there is no records
- // if(data.length == 0 && query.groupfn) {
- // scope[tableid] = undefined;
- // doJoin(query,scope,h+1);
- // }
-
- // STEP 2
-
- if (h + 1 < query.sources.length) {
- if (
- nextsource.joinmode == 'OUTER' ||
- nextsource.joinmode == 'RIGHT' ||
- nextsource.joinmode == 'ANTI'
- ) {
- scope[source.alias] = {};
-
- var j = 0;
- var jlen = nextsource.data.length;
- var dataw;
-
- while (
- (dataw = nextsource.data[j]) ||
- (nextsource.getfn && (dataw = nextsource.getfn(j))) ||
- j < jlen
- ) {
- if (nextsource.getfn && !nextsource.dontcache) {
- nextsource.data[j] = dataw;
- }
-
- if (dataw._rightjoin) {
- delete dataw._rightjoin;
- } else {
- // delete dataw._rightjoin;
-
- if (h == 0) {
- scope[nextsource.alias] = dataw;
- doJoin(query, scope, h + 2);
- } else {
- //scope[nextsource.alias] = dataw;
- //doJoin(query, scope, h+2);
-
- }
- }
- j++;
- }
- // debugger;
- } else {
-
- }
- } else {
-
- }
-
- scope[tableid] = undefined;
-
- }
-}
-
-function swapSources(query, h) {
- var source = query.sources[h];
- var nextsource = query.sources[h + 1];
-
- var onleftfn = source.onleftfn;
- var onleftfns = source.onleftfns;
- var onrightfn = source.onrightfn;
- var onrightfns = source.onrightfns;
- var optimization = source.optimization;
-
- source.onleftfn = nextsource.onrightfn;
- source.onleftfns = nextsource.onrightfns;
- source.onrightfn = nextsource.onleftfn;
- source.onrightfns = nextsource.onleftfns;
- source.optimization = nextsource.optimization;
-
- nextsource.onleftfn = onleftfn;
- nextsource.onleftfns = onleftfns;
- nextsource.onrightfn = onrightfn;
- nextsource.onrightfns = onrightfns;
- nextsource.optimization = optimization;
-
- query.sources[h] = nextsource;
- query.sources[h + 1] = source;
-}
-
-/*
-//
-// Select run-time part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-//
-// Main part of SELECT procedure
-//
-
-/* global yy */
-
-yy.Select = function(params) {
- return yy.extend(this, params);
-};
-yy.Select.prototype.toString = function() {
- var s;
- s = '';
- if (this.explain) {
- s += 'EXPLAIN ';
- }
- s += 'SELECT ';
- if (this.modifier) {
- s += this.modifier + ' ';
- }
- if (this.distinct) {
- s += 'DISTINCT ';
- }
- if (this.top) {
- s += 'TOP ' + this.top.value + ' ';
- if (this.percent) {
- s += 'PERCENT ';
- }
- }
- s += this.columns
- .map(function(col) {
- var s;
- s = col.toString();
- if (typeof col.as !== 'undefined') {
- s += ' AS ' + col.as;
- }
- return s;
- })
- .join(', ');
- if (this.from) {
- s +=
- ' FROM ' +
- this.from
- .map(function(f) {
- var ss;
- ss = f.toString();
- if (f.as) {
- ss += ' AS ' + f.as;
- }
- return ss;
- })
- .join(',');
- }
- if (this.joins) {
- s += this.joins
- .map(function(jn) {
- var ss;
- ss = ' ';
- if (jn.joinmode) {
- ss += jn.joinmode + ' ';
- }
- if (jn.table) {
- ss += 'JOIN ' + jn.table.toString();
- } else if (jn.select) {
- ss += 'JOIN (' + jn.select.toString() + ')';
- } else if (jn instanceof alasql.yy.Apply) {
- ss += jn.toString();
- } else {
- throw new Error('Wrong type in JOIN mode');
- }
- if (jn.as) {
- ss += ' AS ' + jn.as;
- }
- if (jn.using) {
- ss += ' USING ' + jn.using.toString();
- }
- if (jn.on) {
- ss += ' ON ' + jn.on.toString();
- }
- return ss;
- })
- .join('');
- }
- if (this.where) {
- s += ' WHERE ' + this.where.toString();
- }
- if (this.group && this.group.length > 0) {
- s +=
- ' GROUP BY ' +
- this.group
- .map(function(grp) {
- return grp.toString();
- })
- .join(', ');
- }
- if (this.having) {
- s += ' HAVING ' + this.having.toString();
- }
- if (this.order && this.order.length > 0) {
- s +=
- ' ORDER BY ' +
- this.order
- .map(function(ord) {
- return ord.toString();
- })
- .join(', ');
- }
- if (this.limit) {
- s += ' LIMIT ' + this.limit.value;
- }
- if (this.offset) {
- s += ' OFFSET ' + this.offset.value;
- }
- if (this.union) {
- s += ' UNION ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.union.toString();
- }
- if (this.unionall) {
- s +=
- ' UNION ALL ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.unionall.toString();
- }
- if (this.except) {
- s += ' EXCEPT ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.except.toString();
- }
- if (this.intersect) {
- s +=
- ' INTERSECT ' +
- (this.corresponding ? 'CORRESPONDING ' : '') +
- this.intersect.toString();
- }
- return s;
-};
-
-/**
- Select statement in expression
- */
-yy.Select.prototype.toJS = function(context) {
-
- // if(this.expression.reduced) return 'true';
- // return this.expression.toJS(context, tableid, defcols);
-
- // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
-
- var s =
- 'alasql.utils.flatArray(this.queriesfn[' +
- (this.queriesidx - 1) +
- '](this.params,null,' +
- context +
- '))[0]';
-
- return s;
-};
-
-// Compile SELECT statement
-yy.Select.prototype.compile = function(databaseid, params) {
- var db = alasql.databases[databaseid];
- // Create variable for query
- var query = new Query();
-
- // Array with columns to be removed
- query.removeKeys = [];
- query.aggrKeys = [];
-
- query.explain = this.explain; // Explain
- query.explaination = [];
- query.explid = 1;
-
- query.modifier = this.modifier;
-
- query.database = db;
- // 0. Precompile whereexists
- this.compileWhereExists(query);
-
- // 0. Precompile queries for IN, NOT IN, ANY and ALL operators
- this.compileQueries(query);
-
- query.defcols = this.compileDefCols(query, databaseid);
-
- // 1. Compile FROM clause
- query.fromfn = this.compileFrom(query);
-
- // 2. Compile JOIN clauses
- if (this.joins) {
- this.compileJoins(query);
- }
-
- // todo?: 3. Compile SELECT clause
-
- // For ROWNUM()
- query.rownums = [];
-
- this.compileSelectGroup0(query);
-
- if (this.group || query.selectGroup.length > 0) {
- query.selectgfns = this.compileSelectGroup1(query);
- } else {
- query.selectfns = this.compileSelect1(query, params);
- }
-
- // Remove columns clause
- this.compileRemoveColumns(query);
-
- // 5. Optimize WHERE and JOINS
- if (this.where) {
- this.compileWhereJoins(query);
- }
-
- // 4. Compile WHERE clause
- query.wherefn = this.compileWhere(query);
-
- // 6. Compile GROUP BY
- if (this.group || query.selectGroup.length > 0) {
- query.groupfn = this.compileGroup(query);
- }
-
- // 6. Compile HAVING
- if (this.having) {
- query.havingfn = this.compileHaving(query);
- }
-
- // 8. Compile ORDER BY clause
- if (this.order) {
- query.orderfn = this.compileOrder(query);
- }
-
- if (this.group || query.selectGroup.length > 0) {
- query.selectgfn = this.compileSelectGroup2(query);
- } else {
- query.selectfn = this.compileSelect2(query);
- }
-
- // 7. Compile DISTINCT, LIMIT and OFFSET
- query.distinct = this.distinct;
-
- // 9. Compile PIVOT clause
- if (this.pivot) query.pivotfn = this.compilePivot(query);
- if (this.unpivot) query.pivotfn = this.compileUnpivot(query);
-
- // 10. Compile TOP/LIMIT/OFFSET/FETCH cleuse
- if (this.top) {
- query.limit = this.top.value;
- } else if (this.limit) {
- query.limit = this.limit.value;
- if (this.offset) {
- query.offset = this.offset.value;
- }
- }
-
- query.percent = this.percent;
-
- // 9. Compile ordering function for UNION and UNIONALL
- query.corresponding = this.corresponding; // If CORRESPONDING flag exists
- if (this.union) {
- query.unionfn = this.union.compile(databaseid);
- if (this.union.order) {
- query.orderfn = this.union.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.unionall) {
- query.unionallfn = this.unionall.compile(databaseid);
- if (this.unionall.order) {
- query.orderfn = this.unionall.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.except) {
- query.exceptfn = this.except.compile(databaseid);
- if (this.except.order) {
- query.orderfn = this.except.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.intersect) {
- query.intersectfn = this.intersect.compile(databaseid);
- if (this.intersect.order) {
- query.intersectfn = this.intersect.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- }
-
- // SELECT INTO
- if (this.into) {
- if (this.into instanceof yy.Table) {
- //
- // Save into the table in database
- //
- if (
- alasql.options.autocommit &&
- alasql.databases[this.into.databaseid || databaseid].engineid
- ) {
- // For external database when AUTOCOMMIT is ONs
- query.intoallfns =
- 'return alasql.engines["' +
- alasql.databases[this.into.databaseid || databaseid].engineid +
- '"]' +
- '.intoTable("' +
- (this.into.databaseid || databaseid) +
- '","' +
- this.into.tableid +
- '",this.data, columns, cb);';
- } else {
- // Into AlaSQL tables
- query.intofns =
- "alasql.databases['" +
- (this.into.databaseid || databaseid) +
- "'].tables" +
- "['" +
- this.into.tableid +
- "'].data.push(r);";
- }
- } else if (this.into instanceof yy.VarValue) {
- //
- // Save into local variable
- // SELECT * INTO @VAR1 FROM ?
- //
- query.intoallfns =
- 'alasql.vars["' +
- this.into.variable +
- '"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';
- } else if (this.into instanceof yy.FuncValue) {
- //
- // If this is INTO() function, then call it
- // with one or two parameters
- //
- var qs = "return alasql.into['" + this.into.funcid.toUpperCase() + "'](";
- if (this.into.args && this.into.args.length > 0) {
- qs += this.into.args[0].toJS() + ',';
- if (this.into.args.length > 1) {
- qs += this.into.args[1].toJS() + ',';
- } else {
- qs += 'undefined,';
- }
- } else {
- qs += 'undefined, undefined,';
- }
- query.intoallfns = qs + 'this.data,columns,cb)';
-
- } else if (this.into instanceof yy.ParamValue) {
- //
- // Save data into parameters array
- // like alasql('SELECT * INTO ? FROM ?',[outdata,srcdata]);
- //
- query.intofns = "params['" + this.into.param + "'].push(r)";
- }
-
- if (query.intofns) {
- // Create intofn function
-
- query.intofn = new Function('r,i,params,alasql', 'var y;' + query.intofns);
- } else if (query.intoallfns) {
- // Create intoallfn function
-
- query.intoallfn = new Function('columns,cb,params,alasql', 'var y;' + query.intoallfns);
- }
- }
-
- // Now, compile all togeather into one function with query object in scope
- var statement = function(params, cb, oldscope) {
- query.params = params;
- var res1 = queryfn(query, oldscope, function(res) {
-
- if (query.rownums.length > 0) {
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- for (var j = 0, jlen = query.rownums.length; j < jlen; j++) {
- res[i][query.rownums[j]] = i + 1;
- }
- }
- }
-
- var res2 = modify(query, res);
-
- if (cb) {
- cb(res2);
- }
-
- return res2;
- });
-
- // if(typeof res1 != 'undefined') res1 = modify(query,res1);
-
- return res1;
- };
-
- // statement.dbversion = ;
-
- statement.query = query;
- return statement;
-};
-
-/**
- Modify res according modifier
- @function
- @param {object} query Query object
- @param res {object|number|string|boolean} res Data to be converted
-*/
-function modify(query, res) {
- // jshint ignore:line
-
- /* If source is a primitive value then return it */
- if (
- typeof res === 'undefined' ||
- typeof res === 'number' ||
- typeof res === 'string' ||
- typeof res == 'boolean'
- ) {
- return res;
- }
-
- var modifier = query.modifier || alasql.options.modifier;
- var columns = query.columns;
- if (typeof columns === 'undefined' || columns.length == 0) {
- // Try to create columns
- if (res.length > 0) {
- var allcol = {};
- for (var i = Math.min(res.length, alasql.options.columnlookup || 10) - 1; 0 <= i; i--) {
- for (var key in res[i]) {
- allcol[key] = true;
- }
- }
-
- columns = Object.keys(allcol).map(function(columnid) {
- return {columnid: columnid};
- });
- } else {
- // Cannot recognize columns
- columns = [];
- }
- }
-
- if (modifier === 'VALUE') {
-
- if (res.length > 0) {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
- res = res[0][key];
- } else {
- res = undefined;
- }
- } else if (modifier === 'ROW') {
- if (res.length > 0) {
- var key;
- var a = [];
- for (var key in res[0]) {
- a.push(res[0][key]);
- }
- res = a;
- } else {
- res = undefined;
- }
- } else if (modifier === 'COLUMN') {
- var ar = [];
- if (res.length > 0) {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
-
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- ar.push(res[i][key]);
- }
- }
- res = ar;
- } else if (modifier === 'MATRIX') {
- // Returns square matrix of rows
- var ar = [];
- for (var i = 0; i < res.length; i++) {
- var a = [];
- var r = res[i];
- for (var j = 0; j < columns.length; j++) {
- a.push(r[columns[j].columnid]);
- }
- ar.push(a);
- }
- res = ar;
- } else if (modifier === 'INDEX') {
- var ar = {};
- var key, val;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- val = columns[1].columnid;
- } else {
- var okeys = Object.keys(res[0]);
- key = okeys[0];
- val = okeys[1];
- }
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- ar[res[i][key]] = res[i][val];
- }
- res = ar;
- // res = arrayOfArrays(res);
- } else if (modifier === 'RECORDSET') {
- res = new alasql.Recordset({columns: columns, data: res});
- // res = arrayOfArrays(res);
- } else if (modifier === 'TEXTSTRING') {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
-
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- res[i] = res[i][key];
- }
- res = res.join('\n');
- // res = arrayOfArrays(res);
- }
- return res;
-}
-
-yy.Select.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
- // throw new Error('Insert statement is should be compiled')
-};
-
-/*
-//
-// EXISTS and other subqueries functions functions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.ExistsValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ExistsValue.prototype.toString = function() {
- return 'EXISTS(' + this.value.toString() + ')';
-};
-
-yy.ExistsValue.prototype.toType = function() {
- return 'boolean';
-};
-
-yy.ExistsValue.prototype.toJS = function(context, tableid, defcols) {
-
- return 'this.existsfn[' + this.existsidx + '](params,null,' + context + ').data.length';
-};
-
-yy.Select.prototype.compileWhereExists = function(query) {
- if (!this.exists) return;
- query.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(query.database.databaseid);
-
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
-};
-
-yy.Select.prototype.compileQueries = function(query) {
- if (!this.queries) return;
- query.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(query.database.databaseid);
-
- // if(!nq.query) nq.query = {};
- nq.query.modifier = 'RECORDSET';
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- return nq;
- });
-};
-
-//
-// Prepare subqueries and exists
-//
-alasql.precompile = function(statement, databaseid, params) {
-
- if (!statement) return;
- statement.params = params;
- if (statement.queries) {
-
- statement.queriesfn = statement.queries.map(function(q) {
- var nq = q.compile(databaseid || statement.database.databaseid);
-
- // nq.query.modifier = undefined;
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (statement.exists) {
-
- statement.existsfn = statement.exists.map(function(ex) {
- var nq = ex.compile(databaseid || statement.database.databaseid);
-
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- // if(!nq.query.modifier) nq.query.modifier = 'ARRAY';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-};
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy, alasql, Mongo, returnTrue */
-
-yy.Select.prototype.compileFrom = function(query) {
-
- var self = this;
- query.sources = [];
- // var tableid = this.from[0].tableid;
- // var as = '';
- // if(self.from[0].as) as = this.from[0].as;
-
- query.aliases = {};
- if (!self.from) return;
-
- self.from.forEach(function(tq) {
-
- var ps = '';
-
- var alias = tq.as || tq.tableid;
-
- if (tq instanceof yy.Table) {
-
- query.aliases[alias] = {
- tableid: tq.tableid,
- databaseid: tq.databaseid || query.database.databaseid,
- type: 'table',
- };
- } else if (tq instanceof yy.Select) {
- query.aliases[alias] = {type: 'subquery'};
- } else if (tq instanceof yy.Search) {
- query.aliases[alias] = {type: 'subsearch'};
- } else if (tq instanceof yy.ParamValue) {
- query.aliases[alias] = {type: 'paramvalue'};
- } else if (tq instanceof yy.FuncValue) {
- query.aliases[alias] = {type: 'funcvalue'};
- } else if (tq instanceof yy.VarValue) {
- query.aliases[alias] = {type: 'varvalue'};
- } else if (tq instanceof yy.FromData) {
- query.aliases[alias] = {type: 'fromdata'};
- } else if (tq instanceof yy.Json) {
- query.aliases[alias] = {type: 'json'};
- } else if (tq.inserted) {
- query.aliases[alias] = {type: 'inserted'};
- } else {
- throw new Error('Wrong table at FROM');
- }
-
- var source = {
- alias: alias,
- databaseid: tq.databaseid || query.database.databaseid,
- tableid: tq.tableid,
- joinmode: 'INNER',
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- // columns: []
- };
-
- if (tq instanceof yy.Table) {
- // Get columns from table
- source.columns = alasql.databases[source.databaseid].tables[source.tableid].columns;
-
- if (
- alasql.options.autocommit &&
- alasql.databases[source.databaseid].engineid &&
- !alasql.databases[source.databaseid].tables[source.tableid].view
- ) {
-
- // TODO -- make view for external engine
- source.datafn = function(query, params, cb, idx, alasql) {
- return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(
- source.databaseid,
- source.tableid,
- cb,
- idx,
- query
- );
- };
- } else if (alasql.databases[source.databaseid].tables[source.tableid].view) {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = alasql.databases[source.databaseid].tables[source.tableid].select(
- params
- );
- if (cb) res = cb(res, idx, query);
- return res;
- };
- } else {
-
- source.datafn = function(query, params, cb, idx, alasql) {
- /*
-
-*/
- var res = alasql.databases[source.databaseid].tables[source.tableid].data;
-
- if (cb) res = cb(res, idx, query);
-
- return res;
- // return alasql.databases[source.databaseid].tables[source.tableid].data;
- };
- }
- } else if (tq instanceof yy.Select) {
- source.subquery = tq.compile(query.database.databaseid);
- if (typeof source.subquery.query.modifier === 'undefined') {
- source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
- }
- source.columns = source.subquery.query.columns;
-
- // tq.columns;
-
- source.datafn = function(query, params, cb, idx, alasql) {
- // return source.subquery(query.params, cb, idx, query);
- var res;
- source.subquery(query.params, function(data) {
- res = data.data;
- if (cb) res = cb(res, idx, query);
- return res;
- // return data.data;
- });
-
- return res;
- };
- } else if (tq instanceof yy.Search) {
- source.subsearch = tq;
- source.columns = [];
-
- source.datafn = function(query, params, cb, idx, alasql) {
- // return source.subquery(query.params, cb, idx, query);
- var res;
- source.subsearch.execute(query.database.databaseid, query.params, function(data) {
- res = data;
- if (cb) res = cb(res, idx, query);
- return res;
- // return data.data;
- });
-
- return res;
- };
- } else if (tq instanceof yy.ParamValue) {
- ps = "var res = alasql.prepareFromData(params['" + tq.param + "']";
-
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq.inserted) {
- ps = 'var res = alasql.prepareFromData(alasql.inserted';
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq instanceof yy.Json) {
- ps = 'var res = alasql.prepareFromData(' + tq.toJS();
-
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq instanceof yy.VarValue) {
- ps = "var res = alasql.prepareFromData(alasql.vars['" + tq.variable + "']";
-
- if (tq.array) ps += ',true';
- ps += ');if(cb)res=cb(res,idx,query);return res';
- source.datafn = new Function('query,params,cb,idx,alasql', ps);
- } else if (tq instanceof yy.FuncValue) {
- ps = "var res=alasql.from['" + tq.funcid.toUpperCase() + "'](";
-
- if (tq.args && tq.args.length > 0) {
- if (tq.args[0]) {
- ps += tq.args[0].toJS('query.oldscope') + ',';
- } else {
- ps += 'null,';
- }
- if (tq.args[1]) {
- ps += tq.args[1].toJS('query.oldscope') + ',';
- } else {
- ps += 'null,';
- }
- } else {
- ps += 'null,null,';
- }
- ps += 'cb,idx,query';
- ps += ');/*if(cb)res=cb(res,idx,query);*/return res';
-
- source.datafn = new Function('query, params, cb, idx, alasql', ps);
- } else if (tq instanceof yy.FromData) {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = tq.data;
- if (cb) res = cb(res, idx, query);
- return res;
- };
- } else {
- throw new Error('Wrong table at FROM');
- }
- // source.data = alasql.databases[source.databaseid].tables[source.tableid].data;
- query.sources.push(source);
- });
- // TODO Add joins
- query.defaultTableid = query.sources[0].alias;
-
-};
-
-alasql.prepareFromData = function(data, array) {
-
- var i, ilen;
- var res = data;
- if (typeof data === 'string') {
- res = data.split(/\r?\n/);
- if (array) {
- for (i = 0, ilen = res.length; i < ilen; i++) {
- res[i] = [res[i]];
- }
- }
- } else if (array) {
- res = [];
- for (i = 0, ilen = data.length; i < ilen; i++) {
- res.push([data[i]]);
- }
-
- } else if (typeof data === 'object' && !Array.isArray(data)) {
- // } else if(typeof data == 'object' && !(typeof data.length == 'undefined')) {
- if (
- typeof Mongo !== 'undefined' &&
- typeof Mongo.Collection !== 'undefined' &&
- data instanceof Mongo.Collection
- ) {
- res = data.find().fetch();
- } else {
- res = [];
- for (var key in data) {
- if (data.hasOwnProperty(key)) res.push([key, data[key]]);
- }
- }
-
- }
-
- return res;
-};
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// SELECT Compile functions
-
-/* global yy, alasql, returnTrue, arrayIntersect */
-
-// Compile JOIN caluese
-yy.Select.prototype.compileJoins = function(query) {
-
- // debugger;
- var self = this;
-
- this.joins.forEach(function(jn) {
- // Test CROSS-JOIN
- var tq, ps, source;
- if (jn.joinmode === 'CROSS') {
- if (jn.using || jn.on) {
- throw new Error('CROSS JOIN cannot have USING or ON clauses');
- } else {
- jn.joinmode = 'INNER';
- }
- }
-
- if (jn instanceof yy.Apply) {
-
- source = {
- alias: jn.as,
- applymode: jn.applymode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- columns: [], // TODO check this
- };
- source.applyselect = jn.select.compile(query.database.databaseid);
- source.columns = source.applyselect.query.columns;
-
- source.datafn = function(query, params, cb, idx, alasql) {
- var res;
- if (cb) res = cb(res, idx, query);
- return res;
- };
-
- query.sources.push(source);
-
- return;
- }
-
- if (jn.table) {
- tq = jn.table;
- source = {
- alias: jn.as || tq.tableid,
- databaseid: tq.databaseid || query.database.databaseid,
- tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- columns: [],
- };
- //
-
- if (!alasql.databases[source.databaseid].tables[source.tableid]) {
- throw new Error(
- "Table '" +
- source.tableid +
- "' is not exists in database '" +
- source.databaseid +
- "'"
- );
- }
-
- source.columns = alasql.databases[source.databaseid].tables[source.tableid].columns;
-
- // source.data = query.database.tables[source.tableid].data;
- if (alasql.options.autocommit && alasql.databases[source.databaseid].engineid) {
-
- source.datafn = function(query, params, cb, idx, alasql) {
-
- return alasql.engines[alasql.databases[source.databaseid].engineid].fromTable(
- source.databaseid,
- source.tableid,
- cb,
- idx,
- query
- );
- };
- } else if (alasql.databases[source.databaseid].tables[source.tableid].view) {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = alasql.databases[source.databaseid].tables[source.tableid].select(
- params
- );
- if (cb) res = cb(res, idx, query);
- return res;
- };
- } else {
- source.datafn = function(query, params, cb, idx, alasql) {
- var res = alasql.databases[source.databaseid].tables[source.tableid].data;
- if (cb) res = cb(res, idx, query);
- return res;
- };
- }
-
- // var alias = jn.as || tq.tableid;
- // if(tq) {
- query.aliases[source.alias] = {
- tableid: tq.tableid,
- databaseid: tq.databaseid || query.database.databaseid,
- };
- // }
- } else if (jn.select) {
- tq = jn.select;
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- columns: [],
- };
-
- source.subquery = tq.compile(query.database.databaseid);
- if (typeof source.subquery.query.modifier === 'undefined') {
- source.subquery.query.modifier = 'RECORDSET'; // Subqueries always return recordsets
- }
- source.columns = source.subquery.query.columns;
-
- // if(jn instanceof yy.Apply) {
- source.datafn = function(query, params, cb, idx, alasql) {
- // return cb(null,idx,alasql);
- return source.subquery(query.params, null, cb, idx).data;
- };
- // } else {
- // source.datafn = function(query, params, cb, idx, alasql) {
- // return source.subquery(query.params, null, cb, idx);
- // }
- // }
- query.aliases[source.alias] = {type: 'subquery'};
- } else if (jn.param) {
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- };
- // source.data = ;
- var jnparam = jn.param.param;
-
- ps = "var res=alasql.prepareFromData(params['" + jnparam + "']";
- if (jn.array) ps += ',true';
- ps += ');if(cb)res=cb(res, idx, query);return res';
-
- source.datafn = new Function('query,params,cb,idx, alasql', ps);
- query.aliases[source.alias] = {type: 'paramvalue'};
- } else if (jn.variable) {
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- };
- // source.data = ;
- // var jnparam = jn.param.param;
-
- ps = "var res=alasql.prepareFromData(alasql.vars['" + jn.variable + "']";
- if (jn.array) ps += ',true';
- ps += ');if(cb)res=cb(res, idx, query);return res';
-
- source.datafn = new Function('query,params,cb,idx, alasql', ps);
- query.aliases[source.alias] = {type: 'varvalue'};
- } else if (jn.funcid) {
- source = {
- alias: jn.as,
- // databaseid: jn.databaseid || query.database.databaseid,
- // tableid: tq.tableid,
- joinmode: jn.joinmode,
- onmiddlefn: returnTrue,
- srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
- };
- // source.data = ;
-
- var s = "var res=alasql.from['" + jn.funcid.toUpperCase() + "'](";
-
- if (jn.args && jn.args.length > 0) {
- if (jn.args[0]) {
- s += jn.args[0].toJS('query.oldscope') + ',';
- } else {
- s += 'null,';
- }
- if (jn.args[1]) {
- s += jn.args[1].toJS('query.oldscope') + ',';
- } else {
- s += 'null,';
- }
- } else {
- s += 'null,null,';
- }
- s += 'cb,idx,query';
- s += ');/*if(cb)res=cb(res,idx,query);*/return res';
-
- source.datafn = new Function('query, params, cb, idx, alasql', s);
-
- query.aliases[source.alias] = {type: 'funcvalue'};
- }
-
- var alias = source.alias;
-
- // Test NATURAL-JOIN
- if (jn.natural) {
- if (jn.using || jn.on) {
- throw new Error('NATURAL JOIN cannot have USING or ON clauses');
- } else {
- // source.joinmode == "INNER";
- if (query.sources.length > 0) {
- var prevSource = query.sources[query.sources.length - 1];
- var prevTable =
- alasql.databases[prevSource.databaseid].tables[prevSource.tableid];
- var table = alasql.databases[source.databaseid].tables[source.tableid];
-
- if (prevTable && table) {
- var c1 = prevTable.columns.map(function(col) {
- return col.columnid;
- });
- var c2 = table.columns.map(function(col) {
- return col.columnid;
- });
- jn.using = arrayIntersect(c1, c2).map(function(colid) {
- return {columnid: colid};
- });
-
- } else {
- throw new Error(
- 'In this version of Alasql NATURAL JOIN ' +
- 'works for tables with predefined columns only'
- );
- }
- }
- }
- }
-
- if (jn.using) {
- prevSource = query.sources[query.sources.length - 1];
-
- source.onleftfns = jn.using
- .map(function(col) {
-
- return (
- "p['" +
- (prevSource.alias || prevSource.tableid) +
- "']['" +
- col.columnid +
- "']"
- );
- })
- .join('+"`"+');
-
- source.onleftfn = new Function('p,params,alasql', 'var y;return ' + source.onleftfns);
-
- source.onrightfns = jn.using
- .map(function(col) {
- return "p['" + (source.alias || source.tableid) + "']['" + col.columnid + "']";
- })
- .join('+"`"+');
- source.onrightfn = new Function('p,params,alasql', 'var y;return ' + source.onrightfns);
- source.optimization = 'ix';
-
- } else if (jn.on) {
-
- if (jn.on instanceof yy.Op && jn.on.op === '=' && !jn.on.allsome) {
-
- source.optimization = 'ix';
-
- var lefts = '';
- var rights = '';
- var middles = '';
- var middlef = false;
- // Test right and left sides
- var ls = jn.on.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = jn.on.right.toJS('p', query.defaultTableid, query.defcols);
-
- if (
- ls.indexOf("p['" + alias + "']") > -1 &&
- !(rs.indexOf("p['" + alias + "']") > -1)
- ) {
- if (
- (ls.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- rights = ls;
- } else {
- middlef = true;
- }
- } else if (
- !(ls.indexOf("p['" + alias + "']") > -1) &&
- rs.indexOf("p['" + alias + "']") > -1
- ) {
- if (
- (rs.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- lefts = ls;
- } else {
- middlef = true;
- }
- } else {
- middlef = true;
- }
-
- if (
- rs.indexOf("p['" + alias + "']") > -1 &&
- !(ls.indexOf("p['" + alias + "']") > -1)
- ) {
- if (
- (rs.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- rights = rs;
- } else {
- middlef = true;
- }
- } else if (
- !(rs.indexOf("p['" + alias + "']") > -1) &&
- ls.indexOf("p['" + alias + "']") > -1
- ) {
- if (
- (ls.match(/p\['.*?'\]/g) || []).every(function(s) {
- return s === "p['" + alias + "']";
- })
- ) {
- lefts = rs;
- } else {
- middlef = true;
- }
- } else {
- middlef = true;
- }
-
- if (middlef) {
- // middles = jn.on.toJS('p',query.defaultTableid);
- // } else {
- rights = '';
- lefts = '';
- middles = jn.on.toJS('p', query.defaultTableid, query.defcols);
- source.optimization = 'no';
- // What to here?
- }
-
- source.onleftfns = lefts;
- source.onrightfns = rights;
- source.onmiddlefns = middles || 'true';
-
- source.onleftfn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.onleftfns
- );
- source.onrightfn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.onrightfns
- );
- source.onmiddlefn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.onmiddlefns
- );
-
- // } else if(jn.on instanceof yy.Op && jn.on.op == 'AND') {
-
- } else {
-
- source.optimization = 'no';
- // source.onleftfn = returnTrue;
- // source.onleftfns = "true";
- source.onmiddlefns = jn.on.toJS('p', query.defaultTableid, query.defcols);
- source.onmiddlefn = new Function(
- 'p,params,alasql',
- 'var y;return ' + jn.on.toJS('p', query.defaultTableid, query.defcols)
- );
- }
-
- // Optimization function
- }
-
- // source.data = alasql.databases[source.databaseid].tables[source.tableid].data;
-
- // TODO SubQueries
-
- query.sources.push(source);
- });
-
-};
-
-yy.Select.prototype.compileWhere = function(query) {
- if (this.where) {
- if (typeof this.where == 'function') {
- return this.where;
- } else {
- var s = this.where.toJS('p', query.defaultTableid, query.defcols);
- query.wherefns = s;
-
- return new Function('p,params,alasql', 'var y;return ' + s);
- }
- } else
- return function() {
- return true;
- };
-};
-
-yy.Select.prototype.compileWhereJoins = function(query) {
- return;
-
- // TODO Fix Where optimization
-
- optimizeWhereJoin(query, this.where.expression);
-
- //for sources compile wherefs
- query.sources.forEach(function(source) {
- if (source.srcwherefns) {
- source.srcwherefn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.srcwherefns
- );
- }
- if (source.wxleftfns) {
- source.wxleftfn = new Function('p,params,alasql', 'var y;return ' + source.wxleftfns);
- }
- if (source.wxrightfns) {
- source.wxrightfn = new Function('p,params,alasql', 'var y;return ' + source.wxrightfns);
- }
-
- });
-};
-
-function optimizeWhereJoin(query, ast) {
- if (!ast) return false;
- if (!(ast instanceof yy.Op)) return;
- if (ast.op != '=' && ast.op != 'AND') return;
- if (ast.allsome) return;
-
- var s = ast.toJS('p', query.defaultTableid, query.defcols);
- var fsrc = [];
- query.sources.forEach(function(source, idx) {
- // Optimization allowed only for tables only
- if (source.tableid) {
- // This is a good place to remove all unnecessary optimizations
- if (s.indexOf("p['" + source.alias + "']") > -1) fsrc.push(source);
- }
- });
-
- // if(fsrc.length < query.sources.length) return;
-
- if (fsrc.length == 0) {
-
- return;
- } else if (fsrc.length == 1) {
- if (
- !(s.match(/p\[\'.*?\'\]/g) || []).every(function(s) {
- return s == "p['" + fsrc[0].alias + "']";
- })
- ) {
- return;
- // This is means, that we have column from parent query
- // So we return without optimization
- }
-
- var src = fsrc[0]; // optmiization source
- src.srcwherefns = src.srcwherefns ? src.srcwherefns + '&&' + s : s;
-
- if (ast instanceof yy.Op && (ast.op == '=' && !ast.allsome)) {
- if (ast.left instanceof yy.Column) {
- var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
- if (rs.indexOf("p['" + fsrc[0].alias + "']") == -1) {
- fsrc[0].wxleftfns = ls;
- fsrc[0].wxrightfns = rs;
- }
- }
- if (ast.right instanceof yy.Column) {
- var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
- if (ls.indexOf("p['" + fsrc[0].alias + "']") == -1) {
- fsrc[0].wxleftfns = rs;
- fsrc[0].wxrightfns = ls;
- }
- }
- }
- ast.reduced = true; // To do not duplicate wherefn and srcwherefn
- return;
- } else {
- if ((ast.op = 'AND')) {
- optimizeWhereJoin(query, ast.left);
- optimizeWhereJoin(query, ast.right);
- }
- }
-}
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Compile group of statements
- */
-yy.Select.prototype.compileGroup = function(query) {
-
- if (query.sources.length > 0) {
- var tableid = query.sources[0].alias;
- } else {
- // If SELECT contains group aggregators without source tables
- var tableid = '';
- }
- var defcols = query.defcols;
-
- var allgroup = [[]];
- if (this.group) {
- allgroup = decartes(this.group, query);
- }
-
- // Prepare groups
- //var allgroup = [['a'], ['a','b'], ['a', 'b', 'c']];
-
- // Union all arrays to get a maximum
- var allgroups = [];
- allgroup.forEach(function(a) {
- allgroups = arrayUnion(allgroups, a);
- });
-
- query.allgroups = allgroups;
-
- query.ingroup = [];
-
- // Create negative array
-
- var s = '';
- // s+= query.selectfns;
- allgroup.forEach(function(agroup) {
- // Start of group function
- s += 'var g=this.xgroups[';
-
- // var gcols = this.group.map(function(col){return col.columnid}); // Group fields with r
- // Array with group columns from record
- var rg = agroup.map(function(col2) {
- var columnid = col2.split('\t')[0];
- var coljs = col2.split('\t')[1];
- // Check, if aggregator exists but GROUP BY is not exists
- if (columnid === '') {
- return '1'; // Create fictive groupping column for fictive GROUP BY
- }
- // else return "r['"+columnid+"']";
- query.ingroup.push(columnid);
-
- return coljs;
- });
-
- if (rg.length === 0) {
- rg = ["''"];
- }
-
- s += rg.join('+"`"+');
- s += '];if(!g) {this.groups.push((g=this.xgroups[';
- s += rg.join('+"`"+');
- s += '] = {';
- // s += ']=r';
- s += agroup
- .map(function(col2) {
- var columnid = col2.split('\t')[0];
- var coljs = col2.split('\t')[1];
-
- if (columnid === '') {
- return '';
- }
- return "'" + columnid + "':" + coljs + ',';
- })
- .join('');
-
- var neggroup = arrayDiff(allgroups, agroup);
-
- s += neggroup
- .map(function(col2) {
- var columnid = col2.split('\t')[0];
- // var coljs = col2.split('\t')[1]
- return "'" + columnid + "':null,";
- })
- .join('');
-
- var aft = '',
- aft2 = '';
-
- if (typeof query.groupStar !== 'undefined') {
- aft2 +=
- "for(var f in p['" +
- query.groupStar +
- "']) {g[f]=p['" +
- query.groupStar +
- "'][f];};";
- }
-
- /*
- */
- // s += self.columns.map(function(col){
-
- s += query.selectGroup
- .map(function(col) {
-
- var colexp = col.expression.toJS('p', tableid, defcols);
- var colas = col.nick;
- // if(typeof colas == 'undefined') {
- // if(col instanceof yy.Column) colas = col.columnid;
- // else colas = col.toString();
- // };
- if (col instanceof yy.AggrValue) {
- if (col.distinct) {
- aft +=
- ",g['$$_VALUES_" +
- colas +
- "']={},g['$$_VALUES_" +
- colas +
- "'][" +
- colexp +
- ']=true';
- }
- if (col.aggregatorid === 'SUM') {
- return "'" + colas + "':(" + colexp + ')||0,';
- } else if (
- col.aggregatorid === 'MIN' ||
- col.aggregatorid === 'MAX' ||
- col.aggregatorid === 'FIRST' ||
- col.aggregatorid === 'LAST'
- // || col.aggregatorid == 'AVG'
- // ) { return "'"+col.as+'\':r[\''+col.as+'\'],'; }//f.field.arguments[0].toJS();
- ) {
- return "'" + colas + "':" + colexp + ','; //f.field.arguments[0].toJS();
- } else if (col.aggregatorid === 'ARRAY') {
- return "'" + colas + "':[" + colexp + '],';
- } else if (col.aggregatorid === 'COUNT') {
- if (col.expression.columnid === '*') {
- return "'" + colas + "':1,";
- } else {
- // return "'"+colas+'\':(typeof '+colexp+' != "undefined")?1:0,';
- // } else {
- return "'" + colas + "':(typeof " + colexp + ' != "undefined")?1:0,';
- }
-
- // else if(col.aggregatorid == 'MIN') { return "'"+col.as+'\':r[\''+col.as+'\'],'; }
- // else if(col.aggregatorid == 'MAX') { return "'"+col.as+'\':r[\''+col.as+'\'],'; }
- } else if (col.aggregatorid === 'AVG') {
- query.removeKeys.push('_SUM_' + colas);
- query.removeKeys.push('_COUNT_' + colas);
-
- return (
- '' +
- "'" +
- colas +
- "':" +
- colexp +
- ",'_SUM_" +
- colas +
- "':(" +
- colexp +
- ")||0,'_COUNT_" +
- colas +
- "':(typeof " +
- colexp +
- ' != "undefined")?1:0,'
- );
- } else if (col.aggregatorid === 'AGGR') {
- aft += ",g['" + colas + "']=" + col.expression.toJS('g', -1);
- return '';
- } else if (col.aggregatorid === 'REDUCE') {
- // query.removeKeys.push('_REDUCE_'+colas);
- query.aggrKeys.push(col);
-
- // return "'"+colas+'\':alasql.aggr[\''+col.funcid+'\']('+colexp+',undefined,(acc={}),1),'
- // +'\'__REDUCE__'+colas+'\':acc,';
- return (
- "'" +
- colas +
- "':alasql.aggr['" +
- col.funcid +
- "'](" +
- colexp +
- ',undefined,1),'
- );
- }
- return '';
- }
-
- return '';
- })
- .join('');
-
- s += '}' + aft + ',g));' + aft2 + '} else {';
-
- /*
- // var neggroup = arrayDiff(allgroups,agroup);
-
- // s += neggroup.map(function(columnid){
- // return "g['"+columnid+"']=null;";
- // }).join('');
-*/
-
- // s += self.columns.map(function(col){
- s += query.selectGroup
- .map(function(col) {
- var colas = col.nick;
-
- var colexp = col.expression.toJS('p', tableid, defcols);
-
- if (col instanceof yy.AggrValue) {
- var pre = '',
- post = '';
- if (col.distinct) {
- var pre =
- 'if(typeof ' +
- colexp +
- '!="undefined" && (!g[\'$$_VALUES_' +
- colas +
- "'][" +
- colexp +
- '])) \
- {';
- var post = "g['$$_VALUES_" + colas + "'][" + colexp + ']=true;}';
- }
- if (col.aggregatorid === 'SUM') {
- return pre + "g['" + colas + "']+=(" + colexp + '||0);' + post; //f.field.arguments[0].toJS();
- } else if (col.aggregatorid === 'COUNT') {
-
- if (col.expression.columnid === '*') {
- return pre + "g['" + colas + "']++;" + post;
- } else {
- return (
- pre +
- 'if(typeof ' +
- colexp +
- '!="undefined") g[\'' +
- colas +
- "']++;" +
- post
- );
- }
- } else if (col.aggregatorid === 'ARRAY') {
- return pre + "g['" + colas + "'].push(" + colexp + ');' + post;
- } else if (col.aggregatorid === 'MIN') {
- return (
- pre +
- "g['" +
- colas +
- "']=Math.min(g['" +
- colas +
- "']," +
- colexp +
- ');' +
- post
- );
- } else if (col.aggregatorid === 'MAX') {
- return (
- pre +
- "g['" +
- colas +
- "']=Math.max(g['" +
- colas +
- "']," +
- colexp +
- ');' +
- post
- );
- } else if (col.aggregatorid === 'FIRST') {
- return '';
- } else if (col.aggregatorid === 'LAST') {
- return pre + "g['" + colas + "']=" + colexp + ';' + post;
- } else if (col.aggregatorid === 'AVG') {
- return (
- '' +
- pre +
- "g['_SUM_" +
- colas +
- "']+=(y=" +
- colexp +
- ')||0;' +
- "g['_COUNT_" +
- colas +
- '\']+=(typeof y!="undefined")?1:0;' +
- "g['" +
- colas +
- "']=g['_SUM_" +
- colas +
- "']/g['_COUNT_" +
- colas +
- "'];" +
- post
- );
- // }
- // else if(col.aggregatorid == 'AVG') { srg.push(colas+':0'); }
- } else if (col.aggregatorid === 'AGGR') {
- return (
- '' +
- pre +
- "g['" +
- colas +
- "']=" +
- col.expression.toJS('g', -1) +
- ';' +
- post
- );
- } else if (col.aggregatorid === 'REDUCE') {
- return (
- '' +
- pre +
- "g['" +
- colas +
- "']=alasql.aggr." +
- col.funcid +
- '(' +
- colexp +
- ",g['" +
- colas +
- "'],2);" +
- post
- );
- }
-
- return '';
- }
-
- return '';
- })
- .join('');
-
- // s += selectFields.map(function(f){
-
- // if(f.constructor.name == 'LiteralValue') return '';
- // if (f.field instanceof SQLParser.nodes.FunctionValue
- // && (f.field.name.toUpperCase() == 'SUM' || f.field.name.toUpperCase() == 'COUNT')) {
- // return 'group.'+f.name.value+'=+(+group.'+f.name.value+'||0)+'+f.field.arguments[0].toJS('rec','')+';'; //f.field.arguments[0].toJS();
- // return 'group.'+f.name.value+'+='+f.field.arguments[0].toJS('rec','')+';'; //f.field.arguments[0].toJS();
- // return 'group.'+f.name.value+'+=rec.'+f.name.value+';'; //f.field.arguments[0].toJS();
- // };
- // return '';
- // }).join('');
-
- // s += ' group.amt += rec.emplid;';
- // s += 'group.count++;';
- s += '}';
- });
-
- return new Function('p,params,alasql', 'var y;' + s);
-};
-
-/*
-//
-// Select compiler part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// yy.Select.prototype.compileSources = function(query) {
-
-// };
-
-function compileSelectStar(query, alias, joinstar) {
-
- var sp = '',
- ss = [];
- // if(!alias) {
- // sp += 'for(var k1 in p) var w=p[k1];for(var k2 in w){r[k2]=w[k2]};';
- // } else {
-
- // TODO move this out of this function
- query.ixsources = {};
- query.sources.forEach(function(source) {
- query.ixsources[source.alias] = source;
- });
-
- // Fixed
- var columns;
- if (query.ixsources[alias]) {
- var columns = query.ixsources[alias].columns;
- }
-
- // if(columns.length == 0 && query.aliases[alias].tableid) {
- // var columns = alasql.databases[query.aliases[alias].databaseid].tables[query.aliases[alias].tableid].columns;
- // };
-
- // Check if this is a Table or other
- if (joinstar && alasql.options.joinstar == 'json') {
- sp += "r['" + alias + "']={};";
- }
-
- if (columns && columns.length > 0) {
- columns.forEach(function(tcol) {
- if (joinstar && alasql.options.joinstar == 'underscore') {
- ss.push(
- "'" +
- alias +
- '_' +
- tcol.columnid +
- "':p['" +
- alias +
- "']['" +
- tcol.columnid +
- "']"
- );
- } else if (joinstar && alasql.options.joinstar == 'json') {
- // ss.push('\''+alias+'_'+tcol.columnid+'\':p[\''+alias+'\'][\''+tcol.columnid+'\']');
- sp +=
- "r['" +
- alias +
- "']['" +
- tcol.columnid +
- "']=p['" +
- alias +
- "']['" +
- tcol.columnid +
- "'];";
- } else {
- ss.push("'" + tcol.columnid + "':p['" + alias + "']['" + tcol.columnid + "']");
- }
-
- query.selectColumns[escapeq(tcol.columnid)] = true;
-
- var coldef = {
- columnid: tcol.columnid,
- dbtypeid: tcol.dbtypeid,
- dbsize: tcol.dbsize,
- dbprecision: tcol.dbprecision,
- dbenum: tcol.dbenum,
- };
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- });
-
- } else {
-
- // if column not exists, then copy all
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
-
- query.dirtyColumns = true;
- }
- // }
-
- return {s: ss.join(','), sp: sp};
-}
-
-yy.Select.prototype.compileSelect1 = function(query, params) {
- var self = this;
- query.columns = [];
- query.xcolumns = {};
- query.selectColumns = {};
- query.dirtyColumns = false;
- var s = 'var r={';
- var sp = '';
- var ss = [];
-
- this.columns.forEach(function(col) {
-
- if (col instanceof yy.Column) {
- if (col.columnid === '*') {
- if (col.func) {
- sp +=
- "r=params['" +
- col.param +
- "'](p['" +
- query.sources[0].alias +
- "'],p,params,alasql);";
- } else if (col.tableid) {
- //Copy all
- var ret = compileSelectStar(query, col.tableid, false);
- if (ret.s) {
- ss = ss.concat(ret.s);
- }
- sp += ret.sp;
- } else {
-
- for (var alias in query.aliases) {
- var ret = compileSelectStar(query, alias, true); //query.aliases[alias].tableid);
- if (ret.s) {
- ss = ss.concat(ret.s);
- }
- sp += ret.sp;
- }
- // TODO Remove these lines
- // In case of no information
- // sp += 'for(var k1 in p){var w=p[k1];'+
- // 'for(k2 in w) {r[k2]=w[k2]}}'
- }
- } else {
- // If field, otherwise - expression
- var tbid = col.tableid;
-
- var dbid =
- col.databaseid || query.sources[0].databaseid || query.database.databaseid;
- if (!tbid) tbid = query.defcols[col.columnid];
- if (!tbid) tbid = query.defaultTableid;
- if (col.columnid !== '_') {
- if (
- false &&
- tbid &&
- !query.defcols['.'][col.tableid] &&
- !query.defcols[col.columnid]
- ) {
- ss.push(
- "'" +
- escapeq(col.as || col.columnid) +
- "':p['" +
- query.defaultTableid +
- "']['" +
- col.tableid +
- "']['" +
- col.columnid +
- "']"
- );
- } else {
- // workaround for multisheet xlsx export with custom COLUMNS
- var isMultisheetParam =
- params &&
- params.length > 1 &&
- Array.isArray(params[0]) &&
- params[0].length >= 1 &&
- params[0][0].hasOwnProperty('sheetid');
- if (isMultisheetParam) {
- sp =
- 'var r={};var w=p["' +
- tbid +
- '"];' +
- 'var cols=[' +
- self.columns
- .map(function(col) {
- return "'" + col.columnid + "'";
- })
- .join(',') +
- '];var colas=[' +
- self.columns
- .map(function(col) {
- return "'" + (col.as || col.columnid) + "'";
- })
- .join(',') +
- '];' +
- "for (var i=0;i 0) {
-
- var tcol = xcolumns[col.columnid];
-
- if (undefined === tcol) {
- throw new Error('Column does not exists: ' + col.columnid);
- }
-
- var coldef = {
- columnid: col.as || col.columnid,
- dbtypeid: tcol.dbtypeid,
- dbsize: tcol.dbsize,
- dbpecision: tcol.dbprecision,
- dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- } else {
- var coldef = {
- columnid: col.as || col.columnid,
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
-
- query.dirtyColumns = true;
- }
- } else {
- var coldef = {
- columnid: col.as || col.columnid,
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- // This is a subquery?
- // throw new Error('There is now such table \''+col.tableid+'\'');
- }
- }
- } else if (col instanceof yy.AggrValue) {
- if (!self.group) {
- // self.group=[new yy.Column({columnid:'q',as:'q' })];
- self.group = [''];
- }
- if (!col.as) {
- col.as = escapeq(col.toString());
- }
-
- if (
- col.aggregatorid === 'SUM' ||
- col.aggregatorid === 'MAX' ||
- col.aggregatorid === 'MIN' ||
- col.aggregatorid === 'FIRST' ||
- col.aggregatorid === 'LAST' ||
- col.aggregatorid === 'AVG' ||
- col.aggregatorid === 'ARRAY' ||
- col.aggregatorid === 'REDUCE'
- ) {
- ss.push(
- "'" +
- escapeq(col.as) +
- "':" +
- n2u(col.expression.toJS('p', query.defaultTableid, query.defcols))
- );
- } else if (col.aggregatorid === 'COUNT') {
- ss.push("'" + escapeq(col.as) + "':1");
- // Nothing
- }
- // todo: confirm that no default action must be implemented
-
- // query.selectColumns[col.aggregatorid+'('+escapeq(col.expression.toString())+')'] = thtd;
-
- var coldef = {
- columnid: col.as || col.columnid || col.toString(),
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
-
- // else if (col.aggregatorid == 'MAX') {
- // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
- // } else if (col.aggregatorid == 'MIN') {
- // ss.push((col.as || col.columnid)+':'+col.toJS("p.",query.defaultTableid))
- // }
- } else {
-
- ss.push(
- "'" +
- escapeq(col.as || col.columnid || col.toString()) +
- "':" +
- n2u(col.toJS('p', query.defaultTableid, query.defcols))
- );
- // ss.push('\''+escapeq(col.toString())+'\':'+col.toJS("p",query.defaultTableid));
- //if(col instanceof yy.Expression) {
- query.selectColumns[escapeq(col.as || col.columnid || col.toString())] = true;
-
- var coldef = {
- columnid: col.as || col.columnid || col.toString(),
- // dbtypeid:tcol.dbtypeid,
- // dbsize:tcol.dbsize,
- // dbpecision:tcol.dbprecision,
- // dbenum: tcol.dbenum,
- };
-
- query.columns.push(coldef);
- query.xcolumns[coldef.columnid] = coldef;
- }
- });
- s += ss.join(',') + '};' + sp;
- return s;
-
-};
-yy.Select.prototype.compileSelect2 = function(query) {
- var s = query.selectfns;
- if (this.orderColumns && this.orderColumns.length > 0) {
- this.orderColumns.forEach(function(v, idx) {
- var key = '$$$' + idx;
- if (v instanceof yy.Column && query.xcolumns[v.columnid]) {
- s += "r['" + key + "']=r['" + v.columnid + "'];";
- } else {
- s += "r['" + key + "']=" + v.toJS('p', query.defaultTableid, query.defcols) + ';';
- }
- query.removeKeys.push(key);
- });
- }
-
- return new Function('p,params,alasql', 'var y;' + s + 'return r');
-};
-
-yy.Select.prototype.compileSelectGroup0 = function(query) {
- var self = this;
- self.columns.forEach(function(col, idx) {
- if (!(col instanceof yy.Column && col.columnid === '*')) {
- var colas;
- // = col.as;
- if (col instanceof yy.Column) {
- colas = escapeq(col.columnid);
- } else {
- colas = escapeq(col.toString(true));
-
- }
- for (var i = 0; i < idx; i++) {
- if (colas === self.columns[i].nick) {
- colas = self.columns[i].nick + ':' + idx;
- break;
- }
- }
- // }
- col.nick = colas;
- if (
- col.funcid &&
- (col.funcid.toUpperCase() === 'ROWNUM' || col.funcid.toUpperCase() === 'ROW_NUMBER')
- ) {
- query.rownums.push(col.as);
- }
-
- // }
- } else {
- query.groupStar = col.tableid || 'default';
- }
- });
-
- this.columns.forEach(function(col) {
- if (col.findAggregator) {
- col.findAggregator(query);
- }
- });
-
- if (this.having) {
- if (this.having.findAggregator) {
- this.having.findAggregator(query);
- }
- }
-};
-
-yy.Select.prototype.compileSelectGroup1 = function(query) {
- var self = this;
- var s = 'var r = {};';
-
- self.columns.forEach(function(col) {
-
- if (col instanceof yy.Column && col.columnid === '*') {
- // s += 'for(var k in g){r[k]=g[k]};';
- // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
-
- s += 'for(var k in g) {r[k]=g[k]};';
- return '';
-
- } else {
- // var colas = col.as;
- var colas = col.as;
- if (colas === undefined) {
- if (col instanceof yy.Column) {
- colas = escapeq(col.columnid);
- } else {
- colas = col.nick;
- }
- }
- query.groupColumns[colas] = col.nick;
-
- // if(col.as) {
- s += "r['" + colas + "']=";
- // // } else {
- // // s += 'r[\''+escapeq()+'\']=';
- // // };
- // // s += ';';
-
- s += n2u(col.toJS('g', '')) + ';';
-
- for (var i = 0; i < query.removeKeys.length; i++) {
- // THis part should be intellectual
- if (query.removeKeys[i] === colas) {
- query.removeKeys.splice(i, 1);
- break;
- }
- }
- }
- });
- // return new Function('g,params,alasql',s+'return r');
- return s;
-};
-
-yy.Select.prototype.compileSelectGroup2 = function(query) {
- var self = this;
- var s = query.selectgfns;
- self.columns.forEach(function(col) {
-
- if (query.ingroup.indexOf(col.nick) > -1) {
- s += "r['" + (col.as || col.nick) + "']=g['" + col.nick + "'];";
- }
- });
-
- if (this.orderColumns && this.orderColumns.length > 0) {
- this.orderColumns.forEach(function(v, idx) {
-
- var key = '$$$' + idx;
-
- if (v instanceof yy.Column && query.groupColumns[v.columnid]) {
- s += "r['" + key + "']=r['" + v.columnid + "'];";
- } else {
- s += "r['" + key + "']=" + v.toJS('g', '') + ';';
- }
- query.removeKeys.push(key);
- });
- }
-
- return new Function('g,params,alasql', 'var y;' + s + 'return r');
-};
-
-// SELECY * REMOVE [COLUMNS] col-list, LIKE ''
-yy.Select.prototype.compileRemoveColumns = function(query) {
- var self = this;
- if (typeof this.removecolumns !== 'undefined') {
- query.removeKeys = query.removeKeys.concat(
- this.removecolumns
- .filter(function(column) {
- return typeof column.like === 'undefined';
- })
- .map(function(column) {
- return column.columnid;
- })
- );
-
- query.removeLikeKeys = this.removecolumns
- .filter(function(column) {
- return typeof column.like !== 'undefined';
- })
- .map(function(column) {
- // return new RegExp((column.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g');
- return column.like.value;
- });
- }
-};
-
-/* global yy */
-
-yy.Select.prototype.compileHaving = function(query) {
- if (this.having) {
- var s = this.having.toJS('g', -1);
- query.havingfns = s;
-
- return new Function('g,params,alasql', 'var y;return ' + s);
- }
-
- return function() {
- return true;
- };
-};
-
-yy.Select.prototype.compileOrder = function(query) {
- var self = this;
- self.orderColumns = [];
- if (this.order) {
-
- if (
- this.order &&
- this.order.length == 1 &&
- this.order[0].expression &&
- typeof this.order[0].expression == 'function'
- ) {
-
- var func = this.order[0].expression;
-
- return function(a, b) {
- var ra = func(a),
- rb = func(b);
- if (ra > rb) return 1;
- if (ra == rb) return 0;
- return -1;
- };
- }
-
- var s = '';
- var sk = '';
- this.order.forEach(function(ord, idx) {
-
- if (ord.expression instanceof yy.NumValue) {
- var v = self.columns[ord.expression.value - 1];
- } else {
- var v = ord.expression;
- }
- self.orderColumns.push(v);
-
- var key = '$$$' + idx;
-
- // Date conversion
- var dg = '';
- //if(alasql.options.valueof)
- if (ord.expression instanceof yy.Column) {
- var columnid = ord.expression.columnid;
- if (query.xcolumns[columnid]) {
- var dbtypeid = query.xcolumns[columnid].dbtypeid;
- if (dbtypeid == 'DATE' || dbtypeid == 'DATETIME' || dbtypeid == 'DATETIME2')
- dg = '.valueOf()';
- // TODO Add other types mapping
- } else {
- if (alasql.options.valueof) dg = '.valueOf()'; // TODO Check
- }
- // dg = '.valueOf()';
- }
- // COLLATE NOCASE
- if (ord.nocase) dg += '.toUpperCase()';
- s +=
- "if((a['" +
- key +
- "']||'')" +
- dg +
- (ord.direction == 'ASC' ? '>' : '<') +
- "(b['" +
- key +
- "']||'')" +
- dg +
- ')return 1;';
- s += "if((a['" + key + "']||'')" + dg + "==(b['" + key + "']||'')" + dg + '){';
-
- /*
-if(false) {
-
- if(ord.expression instanceof yy.NumValue) {
- ord.expression = self.columns[ord.expression.value-1];
-
- ord.expression = new yy.Column({columnid:ord.expression.nick});
- };
-
- if(ord.expression instanceof yy.Column) {
- var columnid = ord.expression.columnid;
- if(query.xcolumns[columnid]) {
- var dbtypeid = query.xcolumns[columnid].dbtypeid;
- if( dbtypeid == 'DATE' || dbtypeid == 'DATETIME' || dbtypeid == 'DATETIME2') dg = '.valueOf()';
- // TODO Add other types mapping
- } else {
- if(alasql.options.valueof) dg = '.valueOf()'; // TODO Check
- }
- // COLLATE NOCASE
- if(ord.nocase) dg += '.toUpperCase()';
-
- s += 'if((a[\''+columnid+"']||'')"+dg+(ord.direction == 'ASC'?'>':'<')+'(b[\''+columnid+"']||'')"+dg+')return 1;';
- s += 'if((a[\''+columnid+"']||'')"+dg+'==(b[\''+columnid+"']||'')"+dg+'){';
-
- } else {
- dg = '.valueOf()';
- // COLLATE NOCASE
- if(ord.nocase) dg += '.toUpperCase()';
- s += 'if(('+ord.toJS('a','')+"||'')"+dg+(ord.direction == 'ASC'?'>(':'<(')+ord.toJS('b','')+"||'')"+dg+')return 1;';
- s += 'if(('+ord.toJS('a','')+"||'')"+dg+'==('+ord.toJS('b','')+"||'')"+dg+'){';
- }
-
- // TODO Add date comparision
-
-}
-*/
- sk += '}';
- });
- s += 'return 0;';
- s += sk + 'return -1';
- query.orderfns = s;
-
- return new Function('a,b', 'var y;' + s);
- }
-};
-
-// Pivot functions
-/**
- Compile Pivot functions
- @param {object} query Source query
- @return {function} Pivoting functions
-*/
-yy.Select.prototype.compilePivot = function(query) {
- var self = this;
- /** @type {string} Main pivoting column */
-
- var columnid = self.pivot.columnid;
- var exprcolid = self.pivot.expr.expression.columnid;
- var aggr = self.pivot.expr.aggregatorid;
- var inlist = self.pivot.inlist;
-
- if (inlist) {
- inlist = inlist.map(function(l) {
- return l.expr.columnid;
- });
- }
-
- // Function for PIVOT post production
- return function() {
- var query = this;
- var cols = query.columns
- .filter(function(col) {
- return col.columnid != columnid && col.columnid != exprcolid;
- })
- .map(function(col) {
- return col.columnid;
- });
-
- var newcols = [];
- var gnewcols = {};
- var gr = {};
- var ga = {};
- var data = [];
- query.data.forEach(function(d) {
- if (!inlist || inlist.indexOf(d[columnid]) > -1) {
- var gx = cols
- .map(function(colid) {
- return d[colid];
- })
- .join('`');
- var g = gr[gx];
- if (!g) {
- g = {};
- gr[gx] = g;
- data.push(g);
- cols.forEach(function(colid) {
- g[colid] = d[colid];
- });
- }
-
- if (!ga[gx]) {
- ga[gx] = {};
- }
-
- if (ga[gx][d[columnid]]) {
- ga[gx][d[columnid]]++;
- } else {
- ga[gx][d[columnid]] = 1;
- }
-
- if (!gnewcols[d[columnid]]) {
- gnewcols[d[columnid]] = true;
- newcols.push(d[columnid]);
- }
-
- if (aggr == 'SUM' || aggr == 'AVG') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = 0;
- g[d[columnid]] += d[exprcolid];
- } else if (aggr == 'COUNT') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = 0;
- g[d[columnid]]++;
- } else if (aggr == 'MIN') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = Infinity;
- if (d[exprcolid] < g[d[columnid]]) g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'MAX') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = -Infinity;
- if (d[exprcolid] > g[d[columnid]]) g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'FIRST') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'LAST') {
- g[d[columnid]] = d[exprcolid];
- } else if (alasql.aggr[aggr]) {
- // Custom aggregator
- alasql.aggr[aggr](g[d[columnid]], d[exprcolid]);
- } else {
- throw new Error('Wrong aggregator in PIVOT clause');
- }
- }
- });
-
- if (aggr == 'AVG') {
- for (var gx in gr) {
- var d = gr[gx];
- for (var colid in d) {
- if (cols.indexOf(colid) == -1 && colid != exprcolid) {
- d[colid] = d[colid] / ga[gx][colid];
- }
- }
- }
- }
-
- // columns
- query.data = data;
-
- if (inlist) newcols = inlist;
-
- var ncol = query.columns.filter(function(col) {
- return col.columnid == exprcolid;
- })[0];
- query.columns = query.columns.filter(function(col) {
- return !(col.columnid == columnid || col.columnid == exprcolid);
- });
- newcols.forEach(function(colid) {
- var nc = cloneDeep(ncol);
- nc.columnid = colid;
- query.columns.push(nc);
- });
- };
-};
-
-// var columnid = this.pivot.columnid;
-
-// return function(data){
-
-// if(false) {
-
-// }
-
-// if(false) {
-
-// }
-// };
-
-/**
- Compile UNPIVOT clause
- @param {object} query Query object
- @return {function} Function for unpivoting
-*/
-yy.Select.prototype.compileUnpivot = function(query) {
- var self = this;
- var tocolumnid = self.unpivot.tocolumnid;
- var forcolumnid = self.unpivot.forcolumnid;
- var inlist = self.unpivot.inlist.map(function(l) {
- return l.columnid;
- });
-
- return function() {
- var data = [];
-
- var xcols = query.columns
- .map(function(col) {
- return col.columnid;
- })
- .filter(function(colid) {
- return inlist.indexOf(colid) == -1 && colid != forcolumnid && colid != tocolumnid;
- });
-
- query.data.forEach(function(d) {
- inlist.forEach(function(colid) {
- var nd = {};
- xcols.forEach(function(xcolid) {
- nd[xcolid] = d[xcolid];
- });
- nd[forcolumnid] = colid;
- nd[tocolumnid] = d[colid];
- data.push(nd);
- });
- });
-
- query.data = data;
-
- // });
- };
-};
-
-/*
-//
-// ROLLUP(), CUBE(), GROUPING SETS() for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Calculate ROLLUP() combination
- */
-
-var rollup = function(a, query) {
- var rr = [];
- var mask = 0;
- var glen = a.length;
- for (var g = 0; g < glen + 1; g++) {
- var ss = [];
- for (var i = 0; i < glen; i++) {
- if (a[i] instanceof yy.Column) {
- a[i].nick = escapeq(a[i].columnid);
-
- query.groupColumns[escapeq(a[i].columnid)] = a[i].nick;
- var aaa = a[i].nick + '\t' + a[i].toJS('p', query.sources[0].alias, query.defcols);
- } else {
- query.groupColumns[escapeq(a[i].toString())] = escapeq(a[i].toString());
- var aaa =
- escapeq(a[i].toString()) +
- '\t' +
- a[i].toJS('p', query.sources[0].alias, query.defcols);
- }
-
- if (mask & (1 << i)) ss.push(aaa);
- }
- rr.push(ss);
- mask = (mask << 1) + 1;
- }
- return rr;
-};
-
-/**
- Calculate CUBE()
- */
-var cube = function(a, query) {
- var rr = [];
- var glen = a.length;
- var glenCube = 1 << glen;
- for (var g = 0; g < glenCube; g++) {
- var ss = [];
- for (var i = 0; i < glen; i++) {
- if (g & (1 << i))
- //ss.push(a[i]);
- //ss = cartes(ss,decartes(a[i]));
-
- // var aaa = a[i].toString()+'\t'
- // +a[i].toJS('p',query.sources[0].alias,query.defcols);
-
- ss = ss.concat(decartes(a[i], query));
- //
- }
- rr.push(ss);
- }
- return rr;
-};
-
-/**
- GROUPING SETS()
- */
-var groupingsets = function(a, query) {
- return a.reduce(function(acc, d) {
- acc = acc.concat(decartes(d, query));
- return acc;
- }, []);
-};
-
-/**
- Cartesian production
- */
-var cartes = function(a1, a2) {
- var rrr = [];
- for (var i1 = 0; i1 < a1.length; i1++) {
- for (var i2 = 0; i2 < a2.length; i2++) {
- rrr.push(a1[i1].concat(a2[i2]));
- }
- }
- return rrr;
-};
-
-/**
- Prepare groups function
- */
-function decartes(gv, query) {
-
- if (Array.isArray(gv)) {
- var res = [[]];
- for (var t = 0; t < gv.length; t++) {
- if (gv[t] instanceof yy.Column) {
-
- gv[t].nick = escapeq(gv[t].columnid);
- query.groupColumns[gv[t].nick] = gv[t].nick;
- res = res.map(function(r) {
- return r.concat(
- gv[t].nick + '\t' + gv[t].toJS('p', query.sources[0].alias, query.defcols)
- );
- });
- // res = res.map(function(r){return r.concat(gv[t].columnid)});
- } else if (gv[t] instanceof yy.FuncValue) {
- query.groupColumns[escapeq(gv[t].toString())] = escapeq(gv[t].toString());
- res = res.map(function(r) {
- return r.concat(
- escapeq(gv[t].toString()) +
- '\t' +
- gv[t].toJS('p', query.sources[0].alias, query.defcols)
- );
- });
- // to be defined
- } else if (gv[t] instanceof yy.GroupExpression) {
- if (gv[t].type == 'ROLLUP') res = cartes(res, rollup(gv[t].group, query));
- else if (gv[t].type == 'CUBE') res = cartes(res, cube(gv[t].group, query));
- else if (gv[t].type == 'GROUPING SETS')
- res = cartes(res, groupingsets(gv[t].group, query));
- else throw new Error('Unknown grouping function');
- } else if (gv[t] === '') {
-
- res = [['1\t1']];
- } else {
- // if(gv[t])
-
- res = res.map(function(r) {
- query.groupColumns[escapeq(gv[t].toString())] = escapeq(gv[t].toString());
- return r.concat(
- escapeq(gv[t].toString()) +
- '\t' +
- gv[t].toJS('p', query.sources[0].alias, query.defcols)
- );
- });
- // res = res.concat(gv[t]);
- }
-
- }
- return res;
- } else if (gv instanceof yy.FuncValue) {
-
- query.groupColumns[escapeq(gv.toString())] = escapeq(gv.toString());
- return [gv.toString() + '\t' + gv.toJS('p', query.sources[0].alias, query.defcols)];
- } else if (gv instanceof yy.Column) {
- gv.nick = escapeq(gv.columnid);
- query.groupColumns[gv.nick] = gv.nick;
- return [gv.nick + '\t' + gv.toJS('p', query.sources[0].alias, query.defcols)]; // Is this ever happened?
- // } else if(gv instanceof yy.Expression) {
- // return [gv.columnid]; // Is this ever happened?
- } else {
- query.groupColumns[escapeq(gv.toString())] = escapeq(gv.toString());
- return [
- escapeq(gv.toString()) + '\t' + gv.toJS('p', query.sources[0].alias, query.defcols),
- ];
- // throw new Error('Single argument in the group without array');
- }
-
-}
-
-/*
-//
-// Select run-time part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Select.prototype.compileDefCols = function(query, databaseid) {
-
- var defcols = {'.': {}};
- if (this.from) {
- this.from.forEach(function(fr) {
- defcols['.'][fr.as || fr.tableid] = true;
- if (fr instanceof yy.Table) {
- var alias = fr.as || fr.tableid;
-
- var table = alasql.databases[fr.databaseid || databaseid].tables[fr.tableid];
-
- if (undefined === table) {
- throw new Error('Table does not exists: ' + fr.tableid);
- }
-
- if (table.columns) {
- table.columns.forEach(function(col) {
- if (defcols[col.columnid]) {
- defcols[col.columnid] = '-'; // Ambigous
- } else {
- defcols[col.columnid] = alias;
- }
- });
- }
- } else if (fr instanceof yy.Select) {
- } else if (fr instanceof yy.Search) {
- } else if (fr instanceof yy.ParamValue) {
- } else if (fr instanceof yy.VarValue) {
- } else if (fr instanceof yy.FuncValue) {
- } else if (fr instanceof yy.FromData) {
- } else if (fr instanceof yy.Json) {
- } else if (fr.inserted) {
- } else {
-
- throw new Error('Unknown type of FROM clause');
- }
- });
- }
-
- if (this.joins) {
- this.joins.forEach(function(jn) {
- defcols['.'][jn.as || jn.table.tableid] = true;
-
- if (jn.table) {
- var alias = jn.table.tableid;
- if (jn.as) alias = jn.as;
- var alias = jn.as || jn.table.tableid;
- var table =
- alasql.databases[jn.table.databaseid || databaseid].tables[jn.table.tableid];
-
- if (table.columns) {
- table.columns.forEach(function(col) {
- if (defcols[col.columnid]) {
- defcols[col.columnid] = '-'; // Ambigous
- } else {
- defcols[col.columnid] = alias;
- }
- });
- }
- } else if (jn.select) {
- } else if (jn.param) {
- } else if (jn.func) {
- } else {
- throw new Error('Unknown type of FROM clause');
- }
- });
- }
- // for(var k in defcols) {
- // if(defcols[k] == '-') defcols[k] = undefined;
- // }
-
- return defcols;
-};
-
-/*
-//
-// UNION for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// SELECT UNION statement
-
-yy.Union = function(params) {
- return yy.extend(this, params);
-};
-yy.Union.prototype.toString = function() {
- return 'UNION';
-};
-
-yy.Union.prototype.compile = function(tableid) {
- return null;
-};
-
-/*
-//
-// CROSS AND OUTER APPLY for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Apply = function(params) {
- return yy.extend(this, params);
-};
-
-yy.Apply.prototype.toString = function() {
- var s = this.applymode + ' APPLY (' + this.select.toString() + ')';
-
- if (this.as) s += ' AS ' + this.as;
-
- return s;
-};
-
-/*
-//
-// CROSS AND OUTER APPLY for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Over = function(params) {
- return yy.extend(this, params);
-};
-yy.Over.prototype.toString = function() {
- var s = 'OVER (';
- if (this.partition) {
- s += 'PARTITION BY ' + this.partition.toString();
- if (this.order) s += ' ';
- }
- if (this.order) {
- s += 'ORDER BY ' + this.order.toString();
- }
- s += ')';
- return s;
-};
-
-/*
-//
-// Expressions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Expression statement ( = 2*2; )
- @class
- @param {object} params Initial parameters
-*/
-yy.ExpressionStatement = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Convert AST to string
- @this ExpressionStatement
- @return {string}
-*/
-yy.ExpressionStatement.prototype.toString = function() {
- return this.expression.toString();
-};
-/**
- Execute statement
- @param {string} databaseid Database identificatro
- @param {object} params Statement parameters
- @param {statement-callback} cb Callback
- @return {object} Result value
-*/
-yy.ExpressionStatement.prototype.execute = function(databaseid, params, cb) {
- if (this.expression) {
-
- alasql.precompile(this, databaseid, params); // Precompile queries
- var exprfn = new Function(
- 'params,alasql,p',
- 'var y;return ' + this.expression.toJS('({})', '', null)
- ).bind(this);
- var res = exprfn(params, alasql);
- if (cb) {
- res = cb(res);
- }
- return res;
- }
-};
-
-/**
- Expression class
- @class
- @param {object} params Initial parameters
-*/
-
-yy.Expression = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Convert AST to string
- @this ExpressionStatement
- @return {string}
-*/
-yy.Expression.prototype.toString = function(dontas) {
- var s = this.expression.toString(dontas);
- if (this.order) {
- s += ' ' + this.order.toString();
- }
- if (this.nocase) {
- s += ' COLLATE NOCASE';
- }
- if (this.direction) {
- s += ' ' + this.direction;
- }
- return s;
-};
-
-/**
- Find aggregator in AST subtree
- @this ExpressionStatement
- @param {object} query Query object
-*/
-yy.Expression.prototype.findAggregator = function(query) {
- if (this.expression.findAggregator) {
- this.expression.findAggregator(query);
- }
-};
-
-/**
- Convert AST to JavaScript expression
- @this ExpressionStatement
- @param {string} context Context string, e.g. 'p','g', or 'x'
- @param {string} tableid Default table name
- @param {object} defcols Default columns dictionary
- @return {string} JavaScript expression
-*/
-
-yy.Expression.prototype.toJS = function(context, tableid, defcols) {
-
- if (this.expression.reduced) {
- return 'true';
- }
- return this.expression.toJS(context, tableid, defcols);
-};
-
-/**
- Compile AST to JavaScript expression
- @this ExpressionStatement
- @param {string} context Context string, e.g. 'p','g', or 'x'
- @param {string} tableid Default table name
- @param {object} defcols Default columns dictionary
- @return {string} JavaScript expression
-*/
-
-yy.Expression.prototype.compile = function(context, tableid, defcols) {
-
- if (this.reduced) {
- return returnTrue();
- }
- return new Function('p', 'var y;return ' + this.toJS(context, tableid, defcols));
-};
-
-/**
- JavaScript class
- @class
-*/
-yy.JavaScript = function(params) {
- return yy.extend(this, params);
-};
-yy.JavaScript.prototype.toString = function() {
- var s = '``' + this.value + '``';
- return s;
-};
-
-yy.JavaScript.prototype.toJS = function(/* context, tableid, defcols*/) {
-
- return '(' + this.value + ')';
-};
-yy.JavaScript.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- var expr = new Function('params,alasql,p', this.value);
- expr(params, alasql);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-/**
- Literal class
- @class
- @example
- MyVar, [My vairable], `MySQL variable`
-*/
-
-yy.Literal = function(params) {
- return yy.extend(this, params);
-};
-yy.Literal.prototype.toString = function(dontas) {
- var s = this.value;
- if (this.value1) {
- s = this.value1 + '.' + s;
- }
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- // else s = tableid+'.'+s;
- return s;
-};
-
-/**
- Join class
- @class
-*/
-
-yy.Join = function(params) {
- return yy.extend(this, params);
-};
-yy.Join.prototype.toString = function() {
- var s = ' ';
- if (this.joinmode) {
- s += this.joinmode + ' ';
- }
- s += 'JOIN ' + this.table.toString();
- return s;
-};
-
-// }
-
-/**
- Table class
- @class
-*/
-
-yy.Table = function(params) {
- return yy.extend(this, params);
-};
-yy.Table.prototype.toString = function() {
- var s = this.tableid;
- // if(this.joinmode)
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- return s;
-};
-
-/**
- View class
- @class
-*/
-
-yy.View = function(params) {
- return yy.extend(this, params);
-};
-yy.View.prototype.toString = function() {
- var s = this.viewid;
- // if(this.joinmode)
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- return s;
-};
-
-/**
- Binary operation class
- @class
-*/
-yy.Op = function(params) {
- return yy.extend(this, params);
-};
-yy.Op.prototype.toString = function() {
- if (this.op === 'IN' || this.op === 'NOT IN') {
- return this.left.toString() + ' ' + this.op + ' (' + this.right.toString() + ')';
- }
- if (this.allsome) {
- return (
- this.left.toString() +
- ' ' +
- this.op +
- ' ' +
- this.allsome +
- ' (' +
- this.right.toString() +
- ')'
- );
- }
- if (this.op === '->' || this.op === '!') {
- var s = this.left.toString() + this.op;
-
- if (typeof this.right !== 'string' && typeof this.right !== 'number') {
- s += '(';
- }
-
- s += this.right.toString();
-
- if (typeof this.right !== 'string' && typeof this.right !== 'number') {
- s += ')';
- }
-
- return s;
- }
- return (
- this.left.toString() +
- ' ' +
- this.op +
- ' ' +
- (this.allsome ? this.allsome + ' ' : '') +
- this.right.toString()
- );
-};
-
-yy.Op.prototype.findAggregator = function(query) {
-
- if (this.left && this.left.findAggregator) {
- this.left.findAggregator(query);
- }
- // Do not go in > ALL
- if (this.right && this.right.findAggregator && !this.allsome) {
- this.right.findAggregator(query);
- }
-};
-
-yy.Op.prototype.toType = function(tableid) {
- if (['-', '*', '/', '%', '^'].indexOf(this.op) > -1) {
- return 'number';
- }
- if (['||'].indexOf(this.op) > -1) {
- return 'string';
- }
- if (this.op === '+') {
- if (this.left.toType(tableid) === 'string' || this.right.toType(tableid) === 'string') {
- return 'string';
- }
- if (this.left.toType(tableid) === 'number' || this.right.toType(tableid) === 'number') {
- return 'number';
- }
- }
-
- if (
- [
- 'AND',
- 'OR',
- 'NOT',
- '=',
- '==',
- '===',
- '!=',
- '!==',
- '!===',
- '>',
- '>=',
- '<',
- '<=',
- 'IN',
- 'NOT IN',
- 'LIKE',
- 'NOT LIKE',
- 'REGEXP',
- 'GLOB',
- ].indexOf(this.op) > -1
- ) {
- return 'boolean';
- }
-
- if (
- this.op === 'BETWEEN' ||
- this.op === 'NOT BETWEEN' ||
- this.op === 'IS NULL' ||
- this.op === 'IS NOT NULL'
- ) {
- return 'boolean';
- }
-
- if (this.allsome) {
- return 'boolean';
- }
-
- if (!this.op) {
- return this.left.toType();
- }
-
- return 'unknown';
-};
-
-yy.Op.prototype.toJS = function(context, tableid, defcols) {
-
- var s;
- var refs = [];
- var op = this.op;
- var _this = this;
- //var leftJS = function(){return _this.left.toJS(context,tableid, defcols)};
- //var rightJS = function(){return _this.right.toJS(context,tableid, defcols)};
- var accessedLeft = false,
- accessedRight = false;
- var ref = function(expr) {
- if (expr.toJS) {
- expr = expr.toJS(context, tableid, defcols);
- }
- var i = refs.push(expr) - 1;
- return 'y[' + i + ']';
- };
- var leftJS = function() {
- return ref(_this.left);
- };
- var rightJS = function() {
- return ref(_this.right);
- };
-
- if (this.op === '=') {
- op = '===';
- } else if (this.op === '<>') {
- op = '!=';
- } else if (this.op === 'OR') {
- op = '||';
- }
-
- // Arrow operator
- if (this.op === '->') {
- // Expression to prevent error if object is empty (#344)
- var ljs = '(' + leftJS() + '||{})';
-
- if (typeof this.right === 'string') {
- s = ljs + '["' + this.right + '"]';
- } else if (typeof this.right === 'number') {
- s = ljs + '[' + this.right + ']';
- } else if (this.right instanceof yy.FuncValue) {
- var ss = [];
- if (!(!this.right.args || 0 === this.right.args.length)) {
- var ss = this.right.args.map(ref);
- }
- s = '' + ljs + "['" + this.right.funcid + "'](" + ss.join(',') + ')';
- } else {
- s = '' + ljs + '[' + rightJS() + ']';
- }
- }
-
- if (this.op === '!') {
- if (typeof this.right === 'string') {
- s =
- '' +
- 'alasql.databases[alasql.useid].objects[' +
- leftJS() +
- ']["' +
- this.right +
- '"]';
- }
- // TODO - add other cases
- }
-
- if (this.op === 'IS') {
- s =
- '' +
- '(' +
- '(' +
- leftJS() +
- '==null)' + // Cant be ===
- ' === ' +
- '(' +
- rightJS() +
- '==null)' + // Cant be ===
- ')';
- }
-
- if (this.op === '==') {
- s = '' + 'alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + ')';
- }
-
- if (this.op === '===' || this.op === '!===') {
- s =
- '' +
- '(' +
- (this.op === '!===' ? '!' : '') +
- '(' +
- '(' +
- leftJS() +
- ').valueOf()' +
- '===' +
- '(' +
- rightJS() +
- ').valueOf()' +
- ')' +
- ')';
- }
-
- if (this.op === '!==') {
- s = '' + '(!alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + '))';
- }
- if (this.op === '||') {
- s = '' + "(''+(" + leftJS() + "||'')+(" + rightJS() + '||""))';
- }
- if (this.op === 'LIKE' || this.op === 'NOT LIKE') {
- var s =
- '(' +
- (this.op === 'NOT LIKE' ? '!' : '') +
- 'alasql.utils.like(' +
- rightJS() +
- ',' +
- leftJS();
- if (this.escape) {
- s += ',' + ref(this.escape);
- }
- s += '))';
- }
- if (this.op === 'REGEXP') {
- s = 'alasql.stdfn.REGEXP_LIKE(' + leftJS() + ',' + rightJS() + ')';
- }
- if (this.op === 'GLOB') {
- s = 'alasql.utils.glob(' + leftJS() + ',' + rightJS() + ')';
- }
-
- if (this.op === 'BETWEEN' || this.op === 'NOT BETWEEN') {
- var left = leftJS();
- s =
- '' +
- '(' +
- (this.op === 'NOT BETWEEN' ? '!' : '') +
- '(' +
- '(' +
- ref(this.right1) +
- '<=' +
- left +
- ') && (' +
- left +
- '<=' +
- ref(this.right2) +
- ')' +
- ')' +
- ')';
-
- }
-
- if (this.op === 'IN') {
- if (this.right instanceof yy.Select) {
- s = '(';
- // s += 'this.query.queriesdata['+this.queriesidx+']';
- // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,context))';
- s +=
- 'alasql.utils.flatArray(this.queriesfn[' +
- this.queriesidx +
- '](params,null,' +
- context +
- '))';
- s += '.indexOf(';
- s += leftJS() + ')>-1)';
- } else if (Array.isArray(this.right)) {
- // if(this.right.length == 0) return 'false';
- s = '([' + this.right.map(ref).join(',') + '].indexOf(' + leftJS() + ')>-1)';
-
- } else {
- s = '(' + rightJS() + '.indexOf(' + leftJS() + ')>-1)';
-
- // } else {
- // throw new Error('Wrong IN operator without SELECT part');
- }
- }
-
- if (this.op === 'NOT IN') {
- if (this.right instanceof yy.Select) {
- s = '(';
- //this.query.queriesdata['+this.queriesidx+']
- // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,p))';
- s += 'alasql.utils.flatArray(this.queriesfn[' + this.queriesidx + '](params,null,p))';
- s += '.indexOf(';
- s += leftJS() + ')<0)';
- } else if (Array.isArray(this.right)) {
- // if(this.right.length == 0) return 'true';
- s = '([' + this.right.map(ref).join(',') + '].indexOf(';
- s += leftJS() + ')<0)';
- } else {
- s = '(' + rightJS() + '.indexOf(';
- s += leftJS() + ')==-1)';
-
- // throw new Error('Wrong NOT IN operator without SELECT part');
- }
- }
-
- if (this.allsome === 'ALL') {
- var s;
- if (this.right instanceof yy.Select) {
- // var s = 'this.query.queriesdata['+this.queriesidx+']';
- s =
- 'alasql.utils.flatArray(this.query.queriesfn[' +
- this.queriesidx +
- '](params,null,p))';
-
- s += '.every(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else if (Array.isArray(this.right)) {
- s =
- '' +
- (this.right.length == 1
- ? ref(this.right[0])
- : '[' + this.right.map(ref).join(',') + ']');
- s += '.every(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else {
- throw new Error('NOT IN operator without SELECT');
- }
- }
-
- if (this.allsome === 'SOME' || this.allsome === 'ANY') {
- var s;
- if (this.right instanceof yy.Select) {
- // var s = 'this.query.queriesdata['+this.queriesidx+']';
- s =
- 'alasql.utils.flatArray(this.query.queriesfn[' +
- this.queriesidx +
- '](params,null,p))';
- s += '.some(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else if (Array.isArray(this.right)) {
- s =
- '' +
- (this.right.length == 1
- ? ref(this.right[0])
- : '[' + this.right.map(ref).join(',') + ']');
- s += '.some(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else {
- throw new Error('SOME/ANY operator without SELECT');
- }
- }
-
- // Special case for AND optimization (if reduced)
- if (this.op === 'AND') {
- if (this.left.reduced) {
- if (this.right.reduced) {
- return 'true';
- } else {
- s = rightJS();
- }
- } else if (this.right.reduced) {
- s = leftJS();
- }
-
- // Otherwise process as regular operation (see below)
- op = '&&';
- }
-
- // if(this.op === '^') {
- // // return 'Math.pow('
- // // + leftJS()
- // // + ','
- // // + rightJS()
- // // + ')';
- // }
-
- // Change names
-
- var expr = s || '(' + leftJS() + op + rightJS() + ')';
-
- var declareRefs = 'y=[(' + refs.join('), (') + ')]';
-
- if (op === '&&' || op === '||' || op === 'IS' || op === 'IS NULL' || op === 'IS NOT NULL') {
- return '(' + declareRefs + ', ' + expr + ')';
- }
-
- return (
- '(' + declareRefs + ', ' + 'y.some(function(e){return e == null}) ? void 0 : ' + expr + ')'
- );
-};
-
-yy.VarValue = function(params) {
- return yy.extend(this, params);
-};
-yy.VarValue.prototype.toString = function() {
- return '@' + this.variable;
-};
-
-yy.VarValue.prototype.toType = function() {
- return 'unknown';
-};
-
-yy.VarValue.prototype.toJS = function() {
- return "alasql.vars['" + this.variable + "']";
-};
-
-yy.NumValue = function(params) {
- return yy.extend(this, params);
-};
-yy.NumValue.prototype.toString = function() {
- return this.value.toString();
-};
-
-yy.NumValue.prototype.toType = function() {
- return 'number';
-};
-
-yy.NumValue.prototype.toJS = function() {
- return '' + this.value;
-};
-
-yy.StringValue = function(params) {
- return yy.extend(this, params);
-};
-yy.StringValue.prototype.toString = function() {
- return "'" + this.value.toString() + "'";
-};
-
-yy.StringValue.prototype.toType = function() {
- return 'string';
-};
-
-yy.StringValue.prototype.toJS = function() {
-
- // return "'"+doubleqq(this.value)+"'";
- return "'" + escapeq(this.value) + "'";
-};
-
-yy.DomainValueValue = function(params) {
- return yy.extend(this, params);
-};
-yy.DomainValueValue.prototype.toString = function() {
- return 'VALUE';
-};
-
-yy.DomainValueValue.prototype.toType = function() {
- return 'object';
-};
-
-yy.DomainValueValue.prototype.toJS = function(context, tableid, defcols) {
-
- // return "'"+doubleqq(this.value)+"'";
- return context;
-};
-
-yy.ArrayValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ArrayValue.prototype.toString = function() {
- return 'ARRAY[]';
-};
-
-yy.ArrayValue.prototype.toType = function() {
- return 'object';
-};
-
-yy.ArrayValue.prototype.toJS = function(context, tableid, defcols) {
-
- // return "'"+doubleqq(this.value)+"'";
- return (
- '[(' +
- this.value
- .map(function(el) {
- return el.toJS(context, tableid, defcols);
- })
- .join('), (') +
- ')]'
- );
-};
-
-yy.LogicValue = function(params) {
- return yy.extend(this, params);
-};
-yy.LogicValue.prototype.toString = function() {
- return this.value ? 'TRUE' : 'FALSE';
-};
-
-yy.LogicValue.prototype.toType = function() {
- return 'boolean';
-};
-
-yy.LogicValue.prototype.toJS = function() {
- return this.value ? 'true' : 'false';
-};
-
-yy.NullValue = function(params) {
- return yy.extend(this, params);
-};
-yy.NullValue.prototype.toString = function() {
- return 'NULL';
-};
-yy.NullValue.prototype.toJS = function() {
- return 'undefined';
- // return 'undefined';
-};
-
-yy.ParamValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ParamValue.prototype.toString = function() {
- return '$' + this.param;
-};
-yy.ParamValue.prototype.toJS = function() {
- if (typeof this.param === 'string') {
- return "params['" + this.param + "']";
- }
-
- return 'params[' + this.param + ']';
-};
-
-yy.UniOp = function(params) {
- return yy.extend(this, params);
-};
-yy.UniOp.prototype.toString = function() {
- var s;
- s = void 0;
- if (this.op === '~') {
- s = this.op + this.right.toString();
- }
- if (this.op === '-') {
- s = this.op + this.right.toString();
- }
- if (this.op === '+') {
- s = this.op + this.right.toString();
- }
- if (this.op === '#') {
- s = this.op + this.right.toString();
- }
- if (this.op === 'NOT') {
- s = this.op + '(' + this.right.toString() + ')';
- }
- if (this.op === null) {
- s = '(' + this.right.toString() + ')';
- }
- if (!s) {
- s = '(' + this.right.toString() + ')';
- }
- return s;
-};
-
-yy.UniOp.prototype.findAggregator = function(query) {
- if (this.right.findAggregator) {
- this.right.findAggregator(query);
- }
-};
-
-yy.UniOp.prototype.toType = function() {
- if (this.op === '-') {
- return 'number';
- }
-
- if (this.op === '+') {
- return 'number';
- }
-
- if (this.op === 'NOT') {
- return 'boolean';
- }
-
- // Todo: implement default case
-};
-
-yy.UniOp.prototype.toJS = function(context, tableid, defcols) {
- if (this.op === '~') {
- return '(~(' + this.right.toJS(context, tableid, defcols) + '))';
- }
-
- if (this.op === '-') {
- return '(-(' + this.right.toJS(context, tableid, defcols) + '))';
- }
-
- if (this.op === '+') {
- return '(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- if (this.op === 'NOT') {
- return '!(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- if (this.op === '#') {
- if (this.right instanceof yy.Column) {
- return "(alasql.databases[alasql.useid].objects['" + this.right.columnid + "'])";
- } else {
- return (
- '(alasql.databases[alasql.useid].objects[' +
- this.right.toJS(context, tableid, defcols) +
- '])'
- );
- }
- }
-
- // Please avoid === here
- if (this.op == null) {
- // jshint ignore:line
- return '(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- // Todo: implement default case.
-};
-
-yy.Column = function(params) {
- return yy.extend(this, params);
-};
-yy.Column.prototype.toString = function(dontas) {
- var s;
- if (this.columnid == +this.columnid) {
- // jshint ignore:line
- s = '[' + this.columnid + ']';
- } else {
- s = this.columnid;
- }
- if (this.tableid) {
- if (+this.columnid === this.columnid) {
- s = this.tableid + s;
- } else {
- s = this.tableid + '.' + s;
- }
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- }
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- return s;
-};
-
-yy.Column.prototype.toJS = function(context, tableid, defcols) {
-
- var s = '';
- if (!this.tableid && tableid === '' && !defcols) {
- if (this.columnid !== '_') {
- s = context + "['" + this.columnid + "']";
- } else {
- if (context === 'g') {
- s = "g['_']";
- } else {
- s = context;
- }
- }
- } else {
- if (context === 'g') {
- // if(this.columnid == '_') {
- // } else {
- s = "g['" + this.nick + "']";
- // }
- } else if (this.tableid) {
- if (this.columnid !== '_') {
- // if() {
- // s = context+'[\''+tableid + '\'][\''+this.tableid+'\'][\''+this.columnid+'\']';
- // } else {
- s = context + "['" + this.tableid + "']['" + this.columnid + "']";
- // }
- } else {
- if (context === 'g') {
- s = "g['_']";
- } else {
- s = context + "['" + this.tableid + "']";
- }
- }
- } else if (defcols) {
- var tbid = defcols[this.columnid];
- if (tbid === '-') {
- throw new Error(
- 'Cannot resolve column "' +
- this.columnid +
- '" because it exists in two source tables'
- );
- } else if (tbid) {
- if (this.columnid !== '_') {
- s = context + "['" + tbid + "']['" + this.columnid + "']";
- } else {
- s = context + "['" + tbid + "']";
- }
-
- } else {
- if (this.columnid !== '_') {
- // if(defcols['.'][this.tableid]) {
-
- // s = context+'[\''+tableid + '\'][\''+this.tableid + '\'][\''+this.columnid+'\']';
- // } else {
- s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
- // }
- } else {
- s = context + "['" + (this.tableid || tableid) + "']";
- }
- }
- } else if (tableid === -1) {
- // if(this.columnid != '') {
- s = context + "['" + this.columnid + "']";
- // } else {
- // s = context;
- // }
- } else {
- if (this.columnid !== '_') {
- s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
- } else {
- s = context + "['" + (this.tableid || tableid) + "']";
- }
- }
- }
-
- // console.trace(new Error());
-
- return s;
-};
-
-yy.AggrValue = function(params) {
- return yy.extend(this, params);
-};
-yy.AggrValue.prototype.toString = function(dontas) {
- var s = '';
- if (this.aggregatorid === 'REDUCE') {
- s += this.funcid + '(';
- } else {
- s += this.aggregatorid + '(';
- }
-
- if (this.distinct) {
- s += 'DISTINCT ';
- }
-
- if (this.expression) {
- s += this.expression.toString();
- }
-
- s += ')';
-
- if (this.over) {
- s += ' ' + this.over.toString();
- }
-
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-yy.AggrValue.prototype.findAggregator = function(query) {
-
- // var colas = this.as || this.toString();
-
- var colas = escapeq(this.toString()) + ':' + query.selectGroup.length;
-
- // if(!query.selectColumns[colas]) {
- // }
-
- var found = false;
-
- if (!found) {
- if (!this.nick) {
- this.nick = colas;
- var found = false;
- for (var i = 0; i < query.removeKeys.length; i++) {
- if (query.removeKeys[i] === colas) {
- found = true;
- break;
- }
- }
- if (!found) {
- query.removeKeys.push(colas);
- }
- }
- query.selectGroup.push(this);
- }
-
- // this.reduced = true;
- return;
-};
-
-yy.AggrValue.prototype.toType = function() {
- if (
- ['SUM', 'COUNT', 'AVG', 'MIN', 'MAX', 'AGGR', 'VAR', 'STDDEV'].indexOf(this.aggregatorid) >
- -1
- ) {
- return 'number';
- }
-
- if (['ARRAY'].indexOf(this.aggregatorid) > -1) {
- return 'array';
- }
-
- if (['FIRST', 'LAST'].indexOf(this.aggregatorid) > -1) {
- return this.expression.toType();
- }
-
- // todo: implement default;
-};
-
-yy.AggrValue.prototype.toJS = function(/*context, tableid, defcols*/) {
-
- var colas = this.nick;
- if (colas === undefined) {
- colas = this.toString();
- }
- return "g['" + colas + "']";
-};
-
-yy.OrderExpression = function(params) {
- return yy.extend(this, params);
-};
-yy.OrderExpression.prototype.toString = yy.Expression.prototype.toString;
-
-yy.GroupExpression = function(params) {
- return yy.extend(this, params);
-};
-yy.GroupExpression.prototype.toString = function() {
- return this.type + '(' + this.group.toString() + ')';
-};
-
-// Alasql Linq library
-
-yy.FromData = function(params) {
- return yy.extend(this, params);
-};
-yy.FromData.prototype.toString = function() {
- if (this.data) return 'DATA(' + ((Math.random() * 10e15) | 0) + ')';
- else return '?';
-};
-yy.FromData.prototype.toJS = function() {
-
-};
-
-yy.Select.prototype.exec = function(params, cb) {
- if (this.preparams) params = this.preparams.concat(params);
-
- var databaseid = alasql.useid;
- db = alasql.databases[databaseid];
- var sql = this.toString();
- var hh = hash(sql);
-
- var statement = this.compile(databaseid);
- if (!statement) return;
- statement.sql = sql;
- statement.dbversion = db.dbversion;
-
- // Secure sqlCache size
- if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
- db.resetSqlCache();
- }
- db.sqlCacheSize++;
- db.sqlCache[hh] = statement;
- var res = (alasql.res = statement(params, cb));
- return res;
-};
-
-yy.Select.prototype.Select = function() {
- var self = this;
- var agrs = [];
- if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
- } else if (arguments.length == 1) {
- if (Array.isArray(arguments[0])) {
- args = arguments[0];
- } else {
- args = [arguments[0]];
- }
- } else {
- throw new Error('Wrong number of arguments of Select() function');
- }
-
- self.columns = [];
-
- args.forEach(function(arg) {
- if (typeof arg == 'string') {
- self.columns.push(new yy.Column({columnid: arg}));
- } else if (typeof arg == 'function') {
- var pari = 0;
- if (self.preparams) {
- pari = self.preparams.length;
- } else {
- self.preparams = [];
- }
- self.preparams.push(arg);
- self.columns.push(new yy.Column({columnid: '*', func: arg, param: pari}));
- } else {
- // Unknown type
- }
- });
-
- return self;
-};
-
-yy.Select.prototype.From = function(tableid) {
- var self = this;
- if (!self.from) self.from = [];
- if (Array.isArray(tableid)) {
- var pari = 0;
- if (self.preparams) {
- pari = self.preparams.length;
- } else {
- self.preparams = [];
- }
- self.preparams.push(tableid);
- self.from.push(new yy.ParamValue({param: pari}));
- } else if (typeof tableid == 'string') {
- self.from.push(new yy.Table({tableid: tableid}));
- } else {
- throw new Error('Unknown arguments in From() function');
- }
- return self;
-};
-
-yy.Select.prototype.OrderBy = function() {
- var self = this;
- var agrs = [];
-
- self.order = [];
-
- if (arguments.length == 0) {
- // self.order.push(new yy.OrderExpression({expression: new yy.Column({columnid:"_"}), direction:'ASC'}));
- args = ['_'];
- } else if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
- } else if (arguments.length == 1) {
- if (Array.isArray(arguments[0])) {
- args = arguments[0];
- } else {
- args = [arguments[0]];
- }
- } else {
- throw new Error('Wrong number of arguments of Select() function');
- }
-
- if (args.length > 0) {
- args.forEach(function(arg) {
- var expr = new yy.Column({columnid: arg});
- if (typeof arg == 'function') {
- expr = arg;
- }
- self.order.push(new yy.OrderExpression({expression: expr, direction: 'ASC'}));
- });
- }
- return self;
-};
-
-yy.Select.prototype.Top = function(topnum) {
- var self = this;
- self.top = new yy.NumValue({value: topnum});
- return self;
-};
-
-yy.Select.prototype.GroupBy = function() {
- var self = this;
- var agrs = [];
-
- if (arguments.length > 1) {
- args = Array.prototype.slice.call(arguments);
- } else if (arguments.length == 1) {
- if (Array.isArray(arguments[0])) {
- args = arguments[0];
- } else {
- args = [arguments[0]];
- }
- } else {
- throw new Error('Wrong number of arguments of Select() function');
- }
-
- self.group = [];
-
- args.forEach(function(arg) {
- var expr = new yy.Column({columnid: arg});
- self.group.push(expr);
- });
-
- return self;
-};
-
-yy.Select.prototype.Where = function(expr) {
- var self = this;
- if (typeof expr == 'function') {
- self.where = expr;
- }
- return self;
-};
-
-/*
-//
-// Functions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.FuncValue = function(params) {
- return yy.extend(this, params);
-};
-yy.FuncValue.prototype.toString = function(dontas) {
- var s = '';
-
- if (alasql.fn[this.funcid]) s += this.funcid;
- else if (alasql.aggr[this.funcid]) s += this.funcid;
- else if (alasql.stdlib[this.funcid.toUpperCase()] || alasql.stdfn[this.funcid.toUpperCase()])
- s += this.funcid.toUpperCase();
-
- s += '(';
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toString();
- })
- .join(',');
- }
- s += ')';
- if (this.as && !dontas) s += ' AS ' + this.as.toString();
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-yy.FuncValue.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- alasql.precompile(this, databaseid, params); // Precompile queries
-
- var expr = new Function('params,alasql', 'var y;return ' + this.toJS('', '', null));
- expr(params, alasql);
- if (cb) res = cb(res);
- return res;
-};
-
-yy.FuncValue.prototype.findAggregator = function(query) {
- if (this.args && this.args.length > 0) {
- this.args.forEach(function(arg) {
- if (arg.findAggregator) arg.findAggregator(query);
- });
- }
-};
-
-yy.FuncValue.prototype.toJS = function(context, tableid, defcols) {
- var s = '';
- var funcid = this.funcid;
- // IF this is standard compile functions
- if (!alasql.fn[funcid] && alasql.stdlib[funcid.toUpperCase()]) {
- if (this.args && this.args.length > 0) {
- s += alasql.stdlib[funcid.toUpperCase()].apply(
- this,
- this.args.map(function(arg) {
- return arg.toJS(context, tableid);
- })
- );
- } else {
- s += alasql.stdlib[funcid.toUpperCase()]();
- }
- } else if (!alasql.fn[funcid] && alasql.stdfn[funcid.toUpperCase()]) {
- if (this.newid) s += 'new ';
- s += 'alasql.stdfn.' + this.funcid.toUpperCase() + '(';
- // if(this.args) s += this.args.toJS(context, tableid);
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toJS(context, tableid, defcols);
- })
- .join(',');
- }
- s += ')';
- } else {
- // This is user-defined run-time function
- // TODO arguments!!!
- // var s = '';
- if (this.newid) s += 'new ';
- s += 'alasql.fn.' + this.funcid + '(';
- // if(this.args) s += this.args.toJS(context, tableid);
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toJS(context, tableid, defcols);
- })
- .join(',');
- }
- s += ')';
- }
-
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-var stdlib = (alasql.stdlib = {});
-var stdfn = (alasql.stdfn = {});
-
-stdlib.ABS = function(a) {
- return 'Math.abs(' + a + ')';
-};
-stdlib.CLONEDEEP = function(a) {
- return 'alasql.utils.cloneDeep(' + a + ')';
-};
-
-stdfn.CONCAT = function() {
- return Array.prototype.slice.call(arguments).join('');
-};
-stdlib.EXP = function(a) {
- return 'Math.pow(Math.E,' + a + ')';
-};
-
-stdlib.IIF = function(a, b, c) {
- if (arguments.length == 3) {
- return '((' + a + ')?(' + b + '):(' + c + '))';
- } else {
- throw new Error('Number of arguments of IFF is not equals to 3');
- }
-};
-stdlib.IFNULL = function(a, b) {
- return '(' + a + '||' + b + ')';
-};
-stdlib.INSTR = function(s, p) {
- return '((' + s + ').indexOf(' + p + ')+1)';
-};
-
-//stdlib.LEN = stdlib.LENGTH = function(s) {return '('+s+'+"").length';};
-
-stdlib.LEN = stdlib.LENGTH = function(s) {
- return und(s, 'y.length');
-};
-//stdlib.LENGTH = function(s) {return '('+s+').length'};
-
-stdlib.LOWER = stdlib.LCASE = function(s) {
- return und(s, 'String(y).toLowerCase()');
-};
-//stdlib.LCASE = function(s) {return '('+s+').toLowerCase()';}
-
-// Returns a character expression after it removes leading blanks.
-// see https://docs.microsoft.com/en-us/sql/t-sql/functions/ltrim-transact-sql
-stdlib.LTRIM = function(s) {
- return und(s, 'y.replace(/^[ ]+/,"")');
-};
-
-// Returns a character string after truncating all trailing spaces.
-// see https://docs.microsoft.com/en-us/sql/t-sql/functions/rtrim-transact-sql
-stdlib.RTRIM = function(s) {
- return und(s, 'y.replace(/[ ]+$/,"")');
-};
-
-stdlib.MAX = stdlib.GREATEST = function() {
- return 'Math.max(' + Array.prototype.join.call(arguments, ',') + ')';
-};
-
-stdlib.MIN = stdlib.LEAST = function() {
- return 'Math.min(' + Array.prototype.join.call(arguments, ',') + ')';
-};
-
-stdlib.SUBSTRING = stdlib.SUBSTR = stdlib.MID = function(a, b, c) {
- if (arguments.length == 2) return und(a, 'y.substr(' + b + '-1)');
- else if (arguments.length == 3) return und(a, 'y.substr(' + b + '-1,' + c + ')');
-};
-
-stdfn.REGEXP_LIKE = function(a, b, c) {
-
- return (a || '').search(RegExp(b, c)) > -1;
-};
-
-// Here we uses undefined instead of null
-stdlib.ISNULL = stdlib.NULLIF = function(a, b) {
- return '(' + a + '==' + b + '?undefined:' + a + ')';
-};
-
-stdlib.POWER = function(a, b) {
- return 'Math.pow(' + a + ',' + b + ')';
-};
-
-stdlib.RANDOM = function(r) {
- if (arguments.length == 0) {
- return 'Math.random()';
- } else {
- return '(Math.random()*(' + r + ')|0)';
- }
-};
-stdlib.ROUND = function(s, d) {
- if (arguments.length == 2) {
- return 'Math.round((' + s + ')*Math.pow(10,(' + d + ')))/Math.pow(10,(' + d + '))';
- } else {
- return 'Math.round(' + s + ')';
- }
-};
-stdlib.CEIL = stdlib.CEILING = function(s) {
- return 'Math.ceil(' + s + ')';
-};
-stdlib.FLOOR = function(s) {
- return 'Math.floor(' + s + ')';
-};
-
-stdlib.ROWNUM = function() {
- return '1';
-};
-stdlib.ROW_NUMBER = function() {
- return '1';
-};
-
-stdlib.SQRT = function(s) {
- return 'Math.sqrt(' + s + ')';
-};
-
-stdlib.TRIM = function(s) {
- return und(s, 'y.trim()');
-};
-
-stdlib.UPPER = stdlib.UCASE = function(s) {
- return und(s, 'String(y).toUpperCase()');
-};
-
-// Concatination of strings
-stdfn.CONCAT_WS = function() {
- var args = Array.prototype.slice.call(arguments);
- return args.slice(1, args.length).join(args[0]);
-};
-
-//stdlib.UCASE = function(s) {return '('+s+').toUpperCase()';}
-//REPLACE
-// RTRIM
-// SUBSTR
-// TRIM
-//REPLACE
-// RTRIM
-// SUBSTR
-// TRIM
-
-// Aggregator for joining strings
-alasql.aggr.GROUP_CONCAT = function(v, s, stage) {
- if (stage === 1) {
- return '' + v;
- } else if (stage === 2) {
- s += ',' + v;
- return s;
- }
- return s;
-};
-
-alasql.aggr.MEDIAN = function(v, s, stage) {
- if (stage === 2) {
- if (v !== null) {
- s.push(v);
- }
- return s;
- } else if (stage === 1) {
- if (v === null) {
- return [];
- }
- return [v];
- } else {
- if (!s.length) {
- return s;
- }
-
- var r = s.sort();
- var p = (r.length + 1) / 2;
- if (Number.isInteger(p)) {
- return r[p - 1];
- }
-
- return (r[Math.floor(p - 1)] + r[Math.ceil(p - 1)]) / 2;
- }
-};
-
-alasql.aggr.QUART = function(v, s, stage, nth) {
- //Quartile (first quartile per default or input param)
- if (stage === 2) {
- if (v !== null) {
- s.push(v);
- }
- return s;
- } else if (stage === 1) {
- if (v === null) {
- return [];
- }
- return [v];
- } else {
- if (!s.length) {
- return s;
- }
-
- nth = !nth ? 1 : nth;
- var r = s.sort();
- var p = (nth * (r.length + 1)) / 4;
- if (Number.isInteger(p)) {
- return r[p - 1]; //Integer value
- }
- return r[Math.floor(p)]; //Math.ceil -1 or Math.floor
- }
-};
-
-alasql.aggr.QUART2 = function(v, s, stage) {
- //Second Quartile
- return alasql.aggr.QUART(v, s, stage, 2);
-};
-alasql.aggr.QUART3 = function(v, s, stage) {
- //Third Quartile
- return alasql.aggr.QUART(v, s, stage, 3);
-};
-
-// Standard deviation
-alasql.aggr.VAR = function(v, s, stage) {
- if (stage === 1) {
- if (v === null) {
- return {arr: [], sum: 0};
- }
- return {arr: [v], sum: v};
- } else if (stage === 2) {
- if (v === null) {
- return s;
- }
- s.arr.push(v);
- s.sum += v;
- return s;
- } else {
- var N = s.arr.length;
- var avg = s.sum / N;
- var std = 0;
- for (var i = 0; i < N; i++) {
- std += (s.arr[i] - avg) * (s.arr[i] - avg);
- }
- std = std / (N - 1);
- return std;
- }
-};
-
-alasql.aggr.STDEV = function(v, s, stage) {
- if (stage === 1 || stage === 2) {
- return alasql.aggr.VAR(v, s, stage);
- } else {
- return Math.sqrt(alasql.aggr.VAR(v, s, stage));
- }
-};
-
-// Standard deviation
-// alasql.aggr.VARP = function(v,s,acc){
-
-// };
-
-alasql.aggr.VARP = function(v, s, stage) {
- if (stage == 1) {
- return {arr: [v], sum: v};
- } else if (stage == 2) {
- s.arr.push(v);
- s.sum += v;
- return s;
- } else {
- var N = s.arr.length;
- var avg = s.sum / N;
- var std = 0;
- for (var i = 0; i < N; i++) {
- std += (s.arr[i] - avg) * (s.arr[i] - avg);
- }
- std = std / N;
- return std;
- }
-};
-
-alasql.aggr.STD = alasql.aggr.STDDEV = alasql.aggr.STDEVP = function(v, s, stage) {
- if (stage == 1 || stage == 2) {
- return alasql.aggr.VARP(v, s, stage);
- } else {
- return Math.sqrt(alasql.aggr.VARP(v, s, stage));
- }
-};
-
-alasql._aggrOriginal = alasql.aggr;
-alasql.aggr = {};
-Object.keys(alasql._aggrOriginal).forEach(function(k) {
- alasql.aggr[k] = function(v, s, stage) {
- if (stage === 3 && typeof s === 'undefined') return undefined;
- return alasql._aggrOriginal[k].apply(null, arguments);
- };
-});
-
-// String functions
-stdfn.REPLACE = function(target, pattern, replacement) {
- return (target || '').split(pattern).join(replacement);
-};
-
-// This array is required for fast GUID generation
-var lut = [];
-for (var i = 0; i < 256; i++) {
- lut[i] = (i < 16 ? '0' : '') + i.toString(16);
-}
-
-stdfn.NEWID = stdfn.UUID = stdfn.GEN_RANDOM_UUID = function() {
- var d0 = (Math.random() * 0xffffffff) | 0;
- var d1 = (Math.random() * 0xffffffff) | 0;
- var d2 = (Math.random() * 0xffffffff) | 0;
- var d3 = (Math.random() * 0xffffffff) | 0;
- return (
- lut[d0 & 0xff] +
- lut[(d0 >> 8) & 0xff] +
- lut[(d0 >> 16) & 0xff] +
- lut[(d0 >> 24) & 0xff] +
- '-' +
- lut[d1 & 0xff] +
- lut[(d1 >> 8) & 0xff] +
- '-' +
- lut[((d1 >> 16) & 0x0f) | 0x40] +
- lut[(d1 >> 24) & 0xff] +
- '-' +
- lut[(d2 & 0x3f) | 0x80] +
- lut[(d2 >> 8) & 0xff] +
- '-' +
- lut[(d2 >> 16) & 0xff] +
- lut[(d2 >> 24) & 0xff] +
- lut[d3 & 0xff] +
- lut[(d3 >> 8) & 0xff] +
- lut[(d3 >> 16) & 0xff] +
- lut[(d3 >> 24) & 0xff]
- );
-};
-
-/*
-//
-// CASE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.CaseValue = function(params) {
- return yy.extend(this, params);
-};
-yy.CaseValue.prototype.toString = function() {
- var s = 'CASE ';
- if (this.expression) s += this.expression.toString();
- if (this.whens) {
- s += this.whens
- .map(function(w) {
- return ' WHEN ' + w.when.toString() + ' THEN ' + w.then.toString();
- })
- .join();
- }
- s += ' END';
- return s;
-};
-
-yy.CaseValue.prototype.findAggregator = function(query) {
-
- if (this.expression && this.expression.findAggregator) this.expression.findAggregator(query);
- if (this.whens && this.whens.length > 0) {
- this.whens.forEach(function(w) {
- if (w.when.findAggregator) w.when.findAggregator(query);
- if (w.then.findAggregator) w.then.findAggregator(query);
- });
- }
- if (this.elses && this.elses.findAggregator) this.elses.findAggregator(query);
-};
-
-yy.CaseValue.prototype.toJS = function(context, tableid, defcols) {
- var s = '((function(' + context + ',params,alasql){var y,r;';
- if (this.expression) {
- // this.expression.toJS(context, tableid)
- s += 'v=' + this.expression.toJS(context, tableid, defcols) + ';';
- s += (this.whens || [])
- .map(function(w) {
- return (
- ' if(v==' +
- w.when.toJS(context, tableid, defcols) +
- ') {r=' +
- w.then.toJS(context, tableid, defcols) +
- '}'
- );
- })
- .join(' else ');
- if (this.elses) s += ' else {r=' + this.elses.toJS(context, tableid, defcols) + '}';
- } else {
- s += (this.whens || [])
- .map(function(w) {
- return (
- ' if(' +
- w.when.toJS(context, tableid, defcols) +
- ') {r=' +
- w.then.toJS(context, tableid, defcols) +
- '}'
- );
- })
- .join(' else ');
- if (this.elses) s += ' else {r=' + this.elses.toJS(context, tableid, defcols) + '}';
- }
- // TODO remove bind from CASE
- s += ';return r;}).bind(this))(' + context + ',params,alasql)';
-
- return s;
-};
-
-/*
-//
-// JSON for Alasql.js
-// Date: 19.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Json = function(params) {
- return yy.extend(this, params);
-};
-yy.Json.prototype.toString = function() {
- var s = ''; // '@'
- s += JSONtoString(this.value);
- s += '';
- return s;
-};
-
-var JSONtoString = (alasql.utils.JSONtoString = function(obj) {
- var s = '';
- if (typeof obj == 'string') s = '"' + obj + '"';
- else if (typeof obj == 'number') s = obj;
- else if (typeof obj == 'boolean') s = obj;
- else if (typeof obj == 'object') {
- if (Array.isArray(obj)) {
- s +=
- '[' +
- obj
- .map(function(b) {
- return JSONtoString(b);
- })
- .join(',') +
- ']';
- } else if (!obj.toJS || obj instanceof yy.Json) {
- // to prevent recursion
- s = '{';
- var ss = [];
- for (var k in obj) {
- var s1 = '';
- if (typeof k == 'string') s1 += '"' + k + '"';
- else if (typeof k == 'number') s1 += k;
- else if (typeof k == 'boolean') s1 += k;
- else {
- throw new Error('THis is not ES6... no expressions on left side yet');
- }
- s1 += ':' + JSONtoString(obj[k]);
- ss.push(s1);
- }
- s += ss.join(',') + '}';
- } else if (obj.toString) {
- s = obj.toString();
- } else {
- throw new Error('1Can not show JSON object ' + JSON.stringify(obj));
- }
- } else {
- throw new Error('2Can not show JSON object ' + JSON.stringify(obj));
- }
-
- return s;
-});
-
-function JSONtoJS(obj, context, tableid, defcols) {
- var s = '';
- if (typeof obj == 'string') s = '"' + obj + '"';
- else if (typeof obj == 'number') s = '(' + obj + ')';
- else if (typeof obj == 'boolean') s = obj;
- else if (typeof obj == 'object') {
- if (Array.isArray(obj)) {
- s +=
- '[' +
- obj
- .map(function(b) {
- return JSONtoJS(b, context, tableid, defcols);
- })
- .join(',') +
- ']';
- } else if (!obj.toJS || obj instanceof yy.Json) {
- // to prevent recursion
- s = '{';
- var ss = [];
- for (var k in obj) {
- var s1 = '';
- if (typeof k == 'string') s1 += '"' + k + '"';
- else if (typeof k == 'number') s1 += k;
- else if (typeof k == 'boolean') s1 += k;
- else {
- throw new Error('THis is not ES6... no expressions on left side yet');
- }
- s1 += ':' + JSONtoJS(obj[k], context, tableid, defcols);
- ss.push(s1);
- }
- s += ss.join(',') + '}';
- } else if (obj.toJS) {
- s = obj.toJS(context, tableid, defcols);
- } else {
- throw new Error('1Can not parse JSON object ' + JSON.stringify(obj));
- }
- } else {
- throw new Error('2Can not parse JSON object ' + JSON.stringify(obj));
- }
-
- return s;
-}
-
-yy.Json.prototype.toJS = function(context, tableid, defcols) {
- // TODO redo
- return JSONtoJS(this.value, context, tableid, defcols);
-};
-
-/*
-//
-// CAST and CONVERT functions
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Convert = function(params) {
- return yy.extend(this, params);
-};
-yy.Convert.prototype.toString = function() {
- var s = 'CONVERT(';
- s += this.dbtypeid;
- if (typeof this.dbsize != 'undefined') {
- s += '(' + this.dbsize;
- if (this.dbprecision) s += ',' + dbprecision;
- s += ')';
- }
- s += ',' + this.expression.toString();
- if (this.style) s += ',' + this.style;
- s += ')';
- return s;
-};
-yy.Convert.prototype.toJS = function(context, tableid, defcols) {
- // if(this.style) {
- return (
- 'alasql.stdfn.CONVERT(' +
- this.expression.toJS(context, tableid, defcols) +
- ',{dbtypeid:"' +
- this.dbtypeid +
- '",dbsize:' +
- this.dbsize +
- ',style:' +
- this.style +
- '})'
- );
- // }
-
- throw new Error('There is not such type conversion for ' + this.toString());
-};
-
-/**
- Convert one type to another
- */
-alasql.stdfn.CONVERT = function(value, args) {
- var val = value;
-
- if (args.style) {
- // TODO 9,109, 20,120,21,121,126,130,131 conversions
- var t;
- if (/\d{8}/.test(val)) {
- t = new Date(+val.substr(0, 4), +val.substr(4, 2) - 1, +val.substr(6, 2));
- } else {
- t = new Date(val);
- }
- switch (args.style) {
- case 1: // mm/dd/yy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2) +
- '/' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 2: // yy.mm.dd
- val =
- ('0' + t.getYear()).substr(-2) +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + t.getDate()).substr(-2);
- break;
- case 3: // dd/mm/yy
- val =
- ('0' + t.getDate()).substr(-2) +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 4: // dd.mm.yy
- val =
- ('0' + t.getDate()).substr(-2) +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 5: // dd-mm-yy
- val =
- ('0' + t.getDate()).substr(-2) +
- '-' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 6: // dd mon yy
- val =
- ('0' + t.getDate()).substr(-2) +
- ' ' +
- t
- .toString()
- .substr(4, 3)
- .toLowerCase() +
- ' ' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 7: // Mon dd,yy
- val =
- t.toString().substr(4, 3) +
- ' ' +
- ('0' + t.getDate()).substr(-2) +
- ',' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 8: // hh:mm:ss
- case 108: // hh:mm:ss
- val =
- ('0' + t.getHours()).substr(-2) +
- ':' +
- ('0' + t.getMinutes()).substr(-2) +
- ':' +
- ('0' + t.getSeconds()).substr(-2);
- break;
- case 10: // mm-dd-yy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- ('0' + t.getDate()).substr(-2) +
- '-' +
- ('0' + t.getYear()).substr(-2);
- break;
- case 11: // yy/mm/dd
- val =
- ('0' + t.getYear()).substr(-2) +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2);
- break;
- case 12: // yymmdd
- val =
- ('0' + t.getYear()).substr(-2) +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- ('0' + t.getDate()).substr(-2);
- break;
- case 101: // mm/dd/yyyy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2) +
- '/' +
- t.getFullYear();
- break;
- case 102: // yyyy.mm.dd
- val =
- t.getFullYear() +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + t.getDate()).substr(-2);
- break;
- case 103: // dd/mm/yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- t.getFullYear();
- break;
- case 104: // dd.mm.yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- '.' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '.' +
- t.getFullYear();
- break;
- case 105: // dd-mm-yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- '-' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- t.getFullYear();
- break;
- case 106: // dd mon yyyy
- val =
- ('0' + t.getDate()).substr(-2) +
- ' ' +
- t
- .toString()
- .substr(4, 3)
- .toLowerCase() +
- ' ' +
- t.getFullYear();
- break;
- case 107: // Mon dd,yyyy
- val =
- t.toString().substr(4, 3) +
- ' ' +
- ('0' + t.getDate()).substr(-2) +
- ',' +
- t.getFullYear();
- break;
- case 110: // mm-dd-yyyy
- val =
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '-' +
- ('0' + t.getDate()).substr(-2) +
- '-' +
- t.getFullYear();
- break;
- case 111: // yyyy/mm/dd
- val =
- t.getFullYear() +
- '/' +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- '/' +
- ('0' + t.getDate()).substr(-2);
- break;
-
- case 112: // yyyymmdd
- val =
- t.getFullYear() +
- ('0' + (t.getMonth() + 1)).substr(-2) +
- ('0' + t.getDate()).substr(-2);
- break;
- default:
- throw new Error('The CONVERT style ' + args.style + ' is not realized yet.');
- }
- }
-
- var udbtypeid = args.dbtypeid.toUpperCase();
-
- if (args.dbtypeid == 'Date') {
- return new Date(val);
- } else if (udbtypeid == 'DATE') {
- var d = new Date(val);
- var s =
- d.getFullYear() +
- '.' +
- ('0' + (d.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + d.getDate()).substr(-2);
- return s;
- } else if (udbtypeid == 'DATETIME' || udbtypeid == 'DATETIME2') {
- var d = new Date(val);
- var s =
- d.getFullYear() +
- '.' +
- ('0' + (d.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + d.getDate()).substr(-2);
- s +=
- ' ' +
- ('0' + d.getHours()).substr(-2) +
- ':' +
- ('0' + d.getMinutes()).substr(-2) +
- ':' +
- ('0' + d.getSeconds()).substr(-2);
- s += '.' + ('00' + d.getMilliseconds()).substr(-3);
- return s;
- } else if (['MONEY'].indexOf(udbtypeid) > -1) {
- var m = +val;
- return (m | 0) + ((m * 100) % 100) / 100;
- } else if (['BOOLEAN'].indexOf(udbtypeid) > -1) {
- return !!val;
- } else if (
- ['INT', 'INTEGER', 'SMALLINT', 'BIGINT', 'SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(
- args.dbtypeid.toUpperCase()
- ) > -1
- ) {
- return val | 0;
- } else if (
- ['STRING', 'VARCHAR', 'NVARCHAR', 'CHARACTER VARIABLE'].indexOf(
- args.dbtypeid.toUpperCase()
- ) > -1
- ) {
- if (args.dbsize) return ('' + val).substr(0, args.dbsize);
- else return '' + val;
- } else if (['CHAR', 'CHARACTER', 'NCHAR'].indexOf(udbtypeid) > -1) {
- return (val + new Array(args.dbsize + 1).join(' ')).substr(0, args.dbsize);
- //else return ""+val.substr(0,1);
- } else if (['NUMBER', 'FLOAT'].indexOf(udbtypeid) > -1) {
- if (typeof args.dbprecision != 'undefined') {
- var m = +val;
- var fxd = Math.pow(10, args.dbprecision);
- return (m | 0) + ((m * fxd) % fxd) / fxd;
- } else {
- return +val;
- }
- } else if (['DECIMAL', 'NUMERIC'].indexOf(udbtypeid) > -1) {
- var m = +val;
- var fxd = Math.pow(10, args.dbprecision);
- return (m | 0) + ((m * fxd) % fxd) / fxd;
- } else if (['JSON'].indexOf(udbtypeid) > -1) {
- if (typeof val == 'object') return val;
- try {
- return JSON.parse(val);
- } catch (err) {
- throw new Error('Cannot convert string to JSON');
- }
- }
- return val;
-};
-
-/*
-//
-// CREATE TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global alasql, yy, hash */
-
-yy.ColumnDef = function(params) {
- return yy.extend(this, params);
-};
-yy.ColumnDef.prototype.toString = function() {
- var s = this.columnid;
- if (this.dbtypeid) {
- s += ' ' + this.dbtypeid;
- }
-
- if (this.dbsize) {
- s += '(' + this.dbsize;
- if (this.dbprecision) {
- s += ',' + this.dbprecision;
- }
- s += ')';
- }
-
- if (this.primarykey) {
- s += ' PRIMARY KEY';
- }
-
- if (this.notnull) {
- s += ' NOT NULL';
- }
-
- return s;
-};
-
-yy.CreateTable = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateTable.prototype.toString = function() {
- var s = 'CREATE';
- if (this.temporary) {
- s += ' TEMPORARY';
- }
-
- if (this.view) {
- s += ' VIEW';
- } else {
- s += ' ' + (this["class"] ? 'CLASS' : 'TABLE');
- }
- if (this.ifnotexists) {
- s += ' IF NOT EXISTS';
- }
- s += ' ' + this.table.toString();
- if (this.viewcolumns) {
- s +=
- '(' +
- this.viewcolumns
- .map(function(vcol) {
- return vcol.toString();
- })
- .join(',') +
- ')';
- }
- if (this.as) {
- s += ' AS ' + this.as;
- } else {
- var ss = this.columns.map(function(col) {
- return col.toString();
- });
- s += ' (' + ss.join(',') + ')';
- }
-
- if (this.view && this.select) {
- s += ' AS ' + this.select.toString();
- }
-
- return s;
-};
-
-// CREATE TABLE
-//yy.CreateTable.prototype.compile = returnUndefined;
-yy.CreateTable.prototype.execute = function(databaseid, params, cb) {
- // var self = this;
- var db = alasql.databases[this.table.databaseid || databaseid];
-
- var tableid = this.table.tableid;
- if (!tableid) {
- throw new Error('Table name is not defined');
- }
-
- // var ifnotexists = this.ifnotexists;
- var columns = this.columns;
- // if(false) {
- // if(!columns) {
- // throw new Error('Columns are not defined');
- // }
- // }
- var constraints = this.constraints || [];
-
- // IF NOT EXISTS
- if (this.ifnotexists && db.tables[tableid]) {
- return cb ? cb(0) : 0;
- }
-
- if (db.tables[tableid]) {
- throw new Error(
- "Can not create table '" +
- tableid +
- "', because it already exists in the database '" +
- db.databaseid +
- "'"
- );
- }
-
- var table = (db.tables[tableid] = new alasql.Table()); // TODO Can use special object?
- // If this is a class
- if (this["class"]) {
- table.isclass = true;
- }
-
- var ss = []; // DEFAULT function components
- var uss = []; // ON UPDATE function components
- if (columns) {
- columns.forEach(function(col) {
- var dbtypeid = col.dbtypeid;
- if (!alasql.fn[dbtypeid]) {
- dbtypeid = dbtypeid.toUpperCase();
- }
-
- // Process SERIAL data type like Postgress
- if (['SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(dbtypeid) > -1) {
- col.identity = {value: 1, step: 1};
- }
-
- var newcol = {
- columnid: col.columnid,
- dbtypeid: dbtypeid,
- dbsize: col.dbsize, // Fixed issue #150
- dbprecision: col.dbprecision, // Fixed issue #150
- notnull: col.notnull,
- identity: col.identity,
- };
- if (col.identity) {
- table.identities[col.columnid] = {
- value: +col.identity.value,
- step: +col.identity.step,
- };
- // ss.push('\''+col.columnid+'\':(alasql.databases[\''+db.databaseid+'\'].tables[\''
- // +tableid+'\'].identities[\''+col.columnid+'\'].value)');
- }
- if (col.check) {
- table.checks.push({
- id: col.check.constrantid,
- fn: new Function('r', 'var y;return ' + col.check.expression.toJS('r', '')),
- });
- }
-
- if (col["default"]) {
- ss.push("'" + col.columnid + "':" + col["default"].toJS('r', ''));
- }
-
- // Check for primary key
- if (col.primarykey) {
- var pk = (table.pk = {});
- pk.columns = [col.columnid];
- pk.onrightfns = "r['" + col.columnid + "']";
- pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
- pk.hh = hash(pk.onrightfns);
- table.uniqs[pk.hh] = {};
- }
-
- // UNIQUE clause
- if (col.unique) {
- var uk = {};
- table.uk = table.uk || [];
- table.uk.push(uk);
- uk.columns = [col.columnid];
- uk.onrightfns = "r['" + col.columnid + "']";
- uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
- uk.hh = hash(uk.onrightfns);
- table.uniqs[uk.hh] = {};
- }
-
- // UNIQUE clause
- if (col.foreignkey) {
-
- var fk = col.foreignkey.table;
- var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
- if (typeof fk.columnid === 'undefined') {
- if (fktable.pk.columns && fktable.pk.columns.length > 0) {
- fk.columnid = fktable.pk.columns[0];
- } else {
- throw new Error('FOREIGN KEY allowed only to tables with PRIMARY KEYs');
- }
- }
-
- var fkfn = function(r) {
- var rr = {};
- if (typeof r[col.columnid] === 'undefined') {
- return true;
- }
- rr[fk.columnid] = r[col.columnid];
- var addr = fktable.pk.onrightfn(rr);
-
- if (!fktable.uniqs[fktable.pk.hh][addr]) {
- throw new Error(
- 'Foreign key "' +
- r[col.columnid] +
- '" is not found in table ' +
- fktable.tableid
- );
- }
- return true;
- };
- table.checks.push({fn: fkfn});
-
- }
-
- if (col.onupdate) {
- uss.push("r['" + col.columnid + "']=" + col.onupdate.toJS('r', ''));
- }
-
- table.columns.push(newcol);
- table.xcolumns[newcol.columnid] = newcol;
- });
- }
- table.defaultfns = ss.join(',');
- table.onupdatefns = uss.join(';');
-
- // if(constraints) {
- constraints.forEach(function(con) {
-
- var checkfn;
-
- if (con.type === 'PRIMARY KEY') {
- if (table.pk) {
- throw new Error('Primary key already exists');
- }
- var pk = (table.pk = {});
- pk.columns = con.columns;
- pk.onrightfns = pk.columns
- .map(function(columnid) {
- return "r['" + columnid + "']";
- })
- .join("+'`'+");
- pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
- pk.hh = hash(pk.onrightfns);
- table.uniqs[pk.hh] = {};
- } else if (con.type === 'CHECK') {
-
- checkfn = new Function('r', 'var y;return ' + con.expression.toJS('r', ''));
- } else if (con.type === 'UNIQUE') {
-
- var uk = {};
- table.uk = table.uk || [];
- table.uk.push(uk);
- uk.columns = con.columns;
- uk.onrightfns = uk.columns
- .map(function(columnid) {
- return "r['" + columnid + "']";
- })
- .join("+'`'+");
- uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
- uk.hh = hash(uk.onrightfns);
- table.uniqs[uk.hh] = {};
- } else if (con.type === 'FOREIGN KEY') {
-
- var col = table.xcolumns[con.columns[0]];
- var fk = con.fktable;
- if (con.fkcolumns && con.fkcolumns.length > 0) {
- fk.columnid = con.fkcolumns[0];
- }
- var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
- if (typeof fk.columnid === 'undefined') {
- fk.columnid = fktable.pk.columns[0];
- }
-
- checkfn = function(r) {
- var rr = {};
- if (typeof r[col.columnid] === 'undefined') {
- return true;
- }
- rr[fk.columnid] = r[col.columnid];
- var addr = fktable.pk.onrightfn(rr);
-
- if (!fktable.uniqs[fktable.pk.hh][addr]) {
-
- throw new Error(
- 'Foreign key "' +
- r[col.columnid] +
- '" is not found in table ' +
- fktable.tableid
- );
- }
- return true;
- };
- }
- if (checkfn) {
- table.checks.push({fn: checkfn, id: con.constraintid, fk: con.type === 'FOREIGN KEY'});
- }
- });
-
- if (this.view && this.viewcolumns) {
- var self = this;
- this.viewcolumns.forEach(function(vcol, idx) {
- self.select.columns[idx].as = vcol.columnid;
- });
- }
-
- //Used in 420from queryfn when table.view = true!
- if (this.view && this.select) {
- table.view = true;
-
- table.select = this.select.compile(this.table.databaseid || databaseid);
- }
-
- if (db.engineid) {
-
- return alasql.engines[db.engineid].createTable(
- this.table.databaseid || databaseid,
- tableid,
- this.ifnotexists,
- cb
- );
-
- // return res1;
- }
-
- // }
- // if(table.pk) {
-
- table.insert = function(r, orreplace) {
- var oldinserted = alasql.inserted;
- alasql.inserted = [r];
-
- var table = this;
-
- var toreplace = false; // For INSERT OR REPLACE
-
- /*
- // IDENTINY or AUTO_INCREMENT
- // if(table.identities && table.identities.length>0) {
- // table.identities.forEach(function(ident){
- // r[ident.columnid] = ident.value;
- // });
- // }
-*/
- // Trigger prevent functionality
- var prevent = false;
- for (var tr in table.beforeinsert) {
- var trigger = table.beforeinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return;
-
- // Trigger prevent functionality
- var escape = false;
- for (tr in table.insteadofinsert) {
- escape = true;
- trigger = table.insteadofinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- for (var columnid in table.identities) {
- var ident = table.identities[columnid];
-
- r[columnid] = ident.value;
-
- }
-
- if (table.checks && table.checks.length > 0) {
- table.checks.forEach(function(check) {
- if (!check.fn(r)) {
- // if(orreplace) toreplace=true; else
- throw new Error('Violation of CHECK constraint ' + (check.id || ''));
- }
- });
- }
-
- table.columns.forEach(function(column) {
- if (column.notnull && typeof r[column.columnid] === 'undefined') {
- throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
- }
- });
- if (table.pk) {
- var pk = table.pk;
- var addr = pk.onrightfn(r);
-
- if (typeof table.uniqs[pk.hh][addr] !== 'undefined') {
-
- if (orreplace) toreplace = table.uniqs[pk.hh][addr];
- else
- throw new Error(
- 'Cannot insert record, because it already exists in primary key index'
- );
- }
- // table.uniqs[pk.hh][addr]=r;
- }
-
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][ukaddr] !== 'undefined') {
- if (orreplace) toreplace = table.uniqs[uk.hh][ukaddr];
- else
- throw new Error(
- 'Cannot insert record, because it already exists in unique index'
- );
- }
- // table.uniqs[uk.hh][ukaddr]=r;
- });
- }
-
- if (toreplace) {
- // Do UPDATE!!!
-
- table.update(
- function(t) {
- for (var f in r) t[f] = r[f];
- },
- table.data.indexOf(toreplace),
- params
- );
- } else {
- table.data.push(r);
-
- // Final change before insert
-
- // Update indices
-
- for (var columnid in table.identities) {
- var ident = table.identities[columnid];
-
- ident.value += ident.step;
-
- }
-
- if (table.pk) {
- var pk = table.pk;
- var addr = pk.onrightfn(r);
- table.uniqs[pk.hh][addr] = r;
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- table.uniqs[uk.hh][ukaddr] = r;
- });
- }
- }
-
- // Trigger prevent functionality
- for (var tr in table.afterinsert) {
- var trigger = table.afterinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- alasql.inserted = oldinserted;
- };
-
- table["delete"] = function(index) {
- var table = this;
- var r = table.data[index];
-
- // Prevent trigger
- var prevent = false;
- for (var tr in table.beforedelete) {
- var trigger = table.beforedelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return false;
-
- // Trigger prevent functionality
- var escape = false;
- for (var tr in table.insteadofdelete) {
- escape = true;
- var trigger = table.insteadofdelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- if (this.pk) {
- var pk = this.pk;
- var addr = pk.onrightfn(r);
- if (typeof this.uniqs[pk.hh][addr] === 'undefined') {
- throw new Error('Something wrong with primary key index on table');
- } else {
- this.uniqs[pk.hh][addr] = undefined;
- }
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][ukaddr] === 'undefined') {
- throw new Error('Something wrong with unique index on table');
- }
- table.uniqs[uk.hh][ukaddr] = undefined;
- });
- }
- };
-
- table.deleteall = function() {
- this.data.length = 0;
- if (this.pk) {
- // var r = this.data[i];
- this.uniqs[this.pk.hh] = {};
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- table.uniqs[uk.hh] = {};
- });
- }
- };
-
- table.update = function(assignfn, i, params) {
- // TODO: Analyze the speed
- var r = cloneDeep(this.data[i]);
-
- var pk;
- // PART 1 - PRECHECK
- if (this.pk) {
- pk = this.pk;
- pk.pkaddr = pk.onrightfn(r, params);
- if (typeof this.uniqs[pk.hh][pk.pkaddr] === 'undefined') {
- throw new Error('Something wrong with index on table');
- }
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- uk.ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][uk.ukaddr] === 'undefined') {
- throw new Error('Something wrong with unique index on table');
- }
- });
- }
-
- assignfn(r, params, alasql);
-
- // Prevent trigger
- var prevent = false;
- for (var tr in table.beforeupdate) {
- var trigger = table.beforeupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](this.data[i], r) === false)
- prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return false;
-
- // Trigger prevent functionality
- var escape = false;
- for (var tr in table.insteadofupdate) {
- escape = true;
- var trigger = table.insteadofupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](this.data[i], r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- // PART 2 - POST CHECK
- if (table.checks && table.checks.length > 0) {
- table.checks.forEach(function(check) {
- if (!check.fn(r)) {
- throw new Error('Violation of CHECK constraint ' + (check.id || ''));
- }
- });
- }
-
- table.columns.forEach(function(column) {
- if (column.notnull && typeof r[column.columnid] === 'undefined') {
- throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
- }
- });
- if (this.pk) {
- pk.newpkaddr = pk.onrightfn(r);
- if (
- typeof this.uniqs[pk.hh][pk.newpkaddr] !== 'undefined' &&
- pk.newpkaddr !== pk.pkaddr
- ) {
- throw new Error('Record already exists');
- }
- }
-
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- uk.newukaddr = uk.onrightfn(r);
- if (
- typeof table.uniqs[uk.hh][uk.newukaddr] !== 'undefined' &&
- uk.newukaddr !== uk.ukaddr
- ) {
- throw new Error('Record already exists');
- }
- });
- }
-
- // PART 3 UPDATE
- if (this.pk) {
- this.uniqs[pk.hh][pk.pkaddr] = undefined;
- this.uniqs[pk.hh][pk.newpkaddr] = r;
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- table.uniqs[uk.hh][uk.ukaddr] = undefined;
- table.uniqs[uk.hh][uk.newukaddr] = r;
- });
- }
-
- this.data[i] = r;
-
- // Trigger prevent functionality
- for (var tr in table.afterupdate) {
- var trigger = table.afterupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](this.data[i], r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- };
-
- var res;
-
- if (!alasql.options.nocount) {
- res = 1;
- }
-
- if (cb) res = cb(res);
- return res;
-};
-
-//
-// Date functions
-//
-// (c) 2014, Andrey Gershun
-//
-
-/** Standard JavaScript data types */
-
-alasql.fn.Date = Object;
-alasql.fn.Date = Date;
-alasql.fn.Number = Number;
-alasql.fn.String = String;
-alasql.fn.Boolean = Boolean;
-
-/** Extend Object with properties */
-stdfn.EXTEND = alasql.utils.extend;
-
-stdfn.CHAR = String.fromCharCode.bind(String);
-stdfn.ASCII = function(a) {
- return a.charCodeAt(0);
-};
-
-/**
- Return first non-null argument
- See https://msdn.microsoft.com/en-us/library/ms190349.aspx
-*/
-stdfn.COALESCE = function() {
- for (var i = 0; i < arguments.length; i++) {
- if (typeof arguments[i] == 'undefined') continue;
- if (typeof arguments[i] == 'number' && isNaN(arguments[i])) continue;
- return arguments[i];
- }
- return undefined;
-};
-
-stdfn.USER = function() {
- return 'alasql';
-};
-
-stdfn.OBJECT_ID = function(objid) {
- return !!alasql.tables[objid];
-};
-
-stdfn.DATE = function(d) {
- if (/\d{8}/.test(d)) return new Date(+d.substr(0, 4), +d.substr(4, 2) - 1, +d.substr(6, 2));
- return new Date(d);
-};
-
-stdfn.NOW = function() {
- var d = new Date();
- var s =
- d.getFullYear() +
- '.' +
- ('0' + (d.getMonth() + 1)).substr(-2) +
- '.' +
- ('0' + d.getDate()).substr(-2);
- s +=
- ' ' +
- ('0' + d.getHours()).substr(-2) +
- ':' +
- ('0' + d.getMinutes()).substr(-2) +
- ':' +
- ('0' + d.getSeconds()).substr(-2);
- s += '.' + ('00' + d.getMilliseconds()).substr(-3);
- return s;
-};
-
-stdfn.GETDATE = stdfn.NOW;
-stdfn.CURRENT_TIMESTAMP = stdfn.NOW;
-
-stdfn.SECOND = function(d) {
- var d = new Date(d);
- return d.getSeconds();
-};
-
-stdfn.MINUTE = function(d) {
- var d = new Date(d);
- return d.getMinutes();
-};
-
-stdfn.HOUR = function(d) {
- var d = new Date(d);
- return d.getHours();
-};
-
-stdfn.DAYOFWEEK = stdfn.WEEKDAY = function(d) {
- var d = new Date(d);
- return d.getDay();
-};
-
-stdfn.DAY = stdfn.DAYOFMONTH = function(d) {
- var d = new Date(d);
- return d.getDate();
-};
-
-stdfn.MONTH = function(d) {
- var d = new Date(d);
- return d.getMonth() + 1;
-};
-
-stdfn.YEAR = function(d) {
- var d = new Date(d);
- return d.getFullYear();
-};
-
-var PERIODS = {
- year: 1000 * 3600 * 24 * 365,
- quarter: (1000 * 3600 * 24 * 365) / 4,
- month: 1000 * 3600 * 24 * 30,
- week: 1000 * 3600 * 24 * 7,
- day: 1000 * 3600 * 24,
- dayofyear: 1000 * 3600 * 24,
- weekday: 1000 * 3600 * 24,
- hour: 1000 * 3600,
- minute: 1000 * 60,
- second: 1000,
- millisecond: 1,
- microsecond: 0.001,
-};
-
-alasql.stdfn.DATEDIFF = function(period, d1, d2) {
- var interval = new Date(d2).getTime() - new Date(d1).getTime();
- return interval / PERIODS[period.toLowerCase()];
-};
-
-alasql.stdfn.DATEADD = function(period, interval, d) {
- var nd = new Date(d).getTime() + interval * PERIODS[period.toLowerCase()];
- return new Date(nd);
-};
-
-alasql.stdfn.INTERVAL = function(interval, period) {
- return interval * PERIODS[period.toLowerCase()];
-};
-
-alasql.stdfn.DATE_ADD = alasql.stdfn.ADDDATE = function(d, interval) {
- var nd = new Date(d).getTime() + interval;
- return new Date(nd);
-};
-
-alasql.stdfn.DATE_SUB = alasql.stdfn.SUBDATE = function(d, interval) {
- var nd = new Date(d).getTime() - interval;
- return new Date(nd);
-};
-
-/*
-//
-// DROP TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.DropTable = function(params) {
- return yy.extend(this, params);
-};
-yy.DropTable.prototype.toString = function() {
- var s = 'DROP' + ' ';
- if (this.view) s += 'VIEW';
- else s += 'TABLE';
- if (this.ifexists) s += ' IF EXISTS';
- s += ' ' + this.tables.toString();
- return s;
-};
-
-// DROP TABLE
-/**
- Drop tables
- @param {string} databaseid Database id
- @param {object} params Parameters
- @param {callback} cb Callback function
- @return Number of dropped tables
- @example
- DROP TABLE one;
- DROP TABLE IF NOT EXISTS two, three;
-*/
-yy.DropTable.prototype.execute = function(databaseid, params, cb) {
- var ifexists = this.ifexists;
- var res = 0; // No tables removed
- var count = 0;
- var tlen = this.tables.length;
-
- // For each table in the list
- this.tables.forEach(function(table) {
- var db = alasql.databases[table.databaseid || databaseid];
- var tableid = table.tableid;
-
- /** @todo Test with AUTOCOMMIT flag is ON */
- /** @todo Test with IndexedDB and multiple tables */
-
- if (!ifexists || (ifexists && db.tables[tableid])) {
- if (!db.tables[tableid]) {
- if (!alasql.options.dropifnotexists) {
- throw new Error(
- "Can not drop table '" +
- table.tableid +
- "', because it does not exist in the database."
- );
- }
- } else {
- if (db.engineid /*&& alasql.options.autocommit*/) {
- alasql.engines[db.engineid].dropTable(
- table.databaseid || databaseid,
- tableid,
- ifexists,
- function(res1) {
- delete db.tables[tableid];
- res += res1;
- count++;
- if (count == tlen && cb) cb(res);
- }
- );
- } else {
- delete db.tables[tableid];
- res++;
- count++;
- if (count == tlen && cb) cb(res);
- }
- }
- } else {
- count++;
- if (count == tlen && cb) cb(res);
- }
- });
- // if(cb) res = cb(res);
- return res;
-};
-
-yy.TruncateTable = function(params) {
- return yy.extend(this, params);
-};
-yy.TruncateTable.prototype.toString = function() {
- var s = 'TRUNCATE TABLE';
- s += ' ' + this.table.toString();
- return s;
-};
-
-yy.TruncateTable.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- var tableid = this.table.tableid;
- if (db.engineid) {
- return alasql.engines[db.engineid].truncateTable(
- this.table.databaseid || databaseid,
- tableid,
- this.ifexists,
- cb
- );
- }
- if (db.tables[tableid]) {
- db.tables[tableid].data = [];
- } else {
- throw new Error('Cannot truncate table becaues it does not exist');
- }
- return cb ? cb(0) : 0;
-};
-
-/*
-//
-// CREATE VERTEX for AlaSQL
-// Date: 21.04.2015
-// (c) 2015, Andrey Gershun
-//
-*/
-
-yy.CreateVertex = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateVertex.prototype.toString = function() {
- var s = 'CREATE VERTEX ';
- if (this["class"]) {
- s += this["class"] + ' ';
- }
- if (this.sharp) {
- s += '#' + this.sharp + ' ';
- }
- if (this.sets) {
- s += this.sets.toString();
- } else if (this.content) {
- s += this.content.toString();
- } else if (this.select) {
- s += this.select.toString();
- }
-
- return s;
-};
-
-yy.CreateVertex.prototype.toJS = function(context) {
-
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
- // var s = '';
- return s;
-};
-
-// CREATE TABLE
-
-yy.CreateVertex.prototype.compile = function(databaseid) {
- var dbid = databaseid;
-
- // CREATE VERTEX #id
- var sharp = this.sharp;
-
- // CREATE VERTEX "Name"
- if (typeof this.name !== 'undefined') {
- var s = 'x.name=' + this.name.toJS();
- var namefn = new Function('x', s);
- }
-
- if (this.sets && this.sets.length > 0) {
- var s = this.sets
- .map(function(st) {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- })
- .join(';');
- var setfn = new Function('x,params,alasql', s);
- }
-
- // Todo: check for content, select and default
-
- var statement = function(params, cb) {
- var res;
-
- // CREATE VERTEX without parameters
- var db = alasql.databases[dbid];
- var id;
- if (typeof sharp !== 'undefined') {
- id = sharp;
- } else {
- id = db.counter++;
- }
- var vertex = {$id: id, $node: 'VERTEX'};
- db.objects[vertex.$id] = vertex;
- res = vertex;
- if (namefn) {
- namefn(vertex);
- }
- if (setfn) {
- setfn(vertex, params, alasql);
- }
-
- if (cb) {
- res = cb(res);
- }
- return res;
- };
- return statement;
-};
-
-yy.CreateEdge = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateEdge.prototype.toString = function() {
-
- var s = 'CREATE EDGE' + ' ';
- if (this["class"]) {
- s += this["class"] + ' ';
- }
- // todo: SET
- // todo: CONTENT
- // todo: SELECT
- return s;
-};
-
-yy.CreateEdge.prototype.toJS = function(context) {
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
- return s;
-};
-
-// CREATE TABLE
-
-yy.CreateEdge.prototype.compile = function(databaseid) {
- var dbid = databaseid;
- var fromfn = new Function('params,alasql', 'var y;return ' + this.from.toJS());
- var tofn = new Function('params,alasql', 'var y;return ' + this.to.toJS());
-
- // CREATE VERTEX "Name"
- if (typeof this.name !== 'undefined') {
- var s = 'x.name=' + this.name.toJS();
- var namefn = new Function('x', s);
- }
-
- if (this.sets && this.sets.length > 0) {
- var s = this.sets
- .map(function(st) {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- })
- .join(';');
- var setfn = new Function('x,params,alasql', 'var y;' + s);
- }
-
- /*
- todo: handle content, select and default
- else if(this.content) {
-
- } else if(this.select) {
-
- } else {
- }
- */
-
- var statement = function(params, cb) {
- var res = 0;
- // CREATE VERTEX without parameters
- var db = alasql.databases[dbid];
- var edge = {$id: db.counter++, $node: 'EDGE'};
- var v1 = fromfn(params, alasql);
- var v2 = tofn(params, alasql);
- // Set link
- edge.$in = [v1.$id];
- edge.$out = [v2.$id];
- // Set sides
- if (v1.$out === undefined) {
- v1.$out = [];
- }
- v1.$out.push(edge.$id);
-
- if (typeof v2.$in === undefined) {
- v2.$in = [];
- }
- v2.$in.push(edge.$id);
-
- // Save in objects
- db.objects[edge.$id] = edge;
- res = edge;
- if (namefn) {
- namefn(edge);
- }
-
- if (setfn) {
- setfn(edge, params, alasql);
- }
-
- if (cb) {
- res = cb(res);
- }
-
- return res;
- };
- return statement;
-};
-
-yy.CreateGraph = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateGraph.prototype.toString = function() {
- var s = 'CREATE GRAPH' + ' ';
- if (this["class"]) {
- s += this["class"] + ' ';
- }
- return s;
-};
-
-yy.CreateGraph.prototype.execute = function(databaseid, params, cb) {
- var res = [];
- if (this.from) {
- if (alasql.from[this.from.funcid]) {
- this.graph = alasql.from[this.from.funcid.toUpperCase()];
- }
- }
-
- // stop;
- this.graph.forEach(function(g) {
- if (g.source) {
- // GREATE EDGE
- var e = {};
- if (typeof g.as !== 'undefined') {
- alasql.vars[g.as] = e;
- }
-
- if (typeof g.prop !== 'undefined') {
- // e[g.prop] = e;
- // v.$id = g.prop; // We do not create $id for edge automatically
- e.name = g.prop;
- }
- if (typeof g.sharp !== 'undefined') {
- e.$id = g.sharp;
- }
- if (typeof g.name !== 'undefined') {
- e.name = g.name;
- }
- if (typeof g["class"] !== 'undefined') {
- e.$class = g["class"];
- }
-
- var db = alasql.databases[databaseid];
- if (typeof e.$id === 'undefined') {
- e.$id = db.counter++;
- }
- e.$node = 'EDGE';
- if (typeof g.json !== 'undefined') {
- extend(
- e,
- new Function('params,alasql', 'var y;return ' + g.json.toJS())(params, alasql)
- );
- }
-
- var v1;
- if (g.source.vars) {
- var vo = alasql.vars[g.source.vars];
- if (typeof vo === 'object') {
- v1 = vo;
- } else {
- v1 = db.objects[vo];
- }
- } else {
- var av1 = g.source.sharp;
- if (typeof av1 === 'undefined') {
- av1 = g.source.prop;
- }
- v1 = alasql.databases[databaseid].objects[av1];
- if (
- typeof v1 === 'undefined' &&
- alasql.options.autovertex &&
- (typeof g.source.prop !== 'undefined' || typeof g.source.name !== 'undefined')
- ) {
- v1 = findVertex(g.source.prop || g.source.name);
- if (typeof v1 === 'undefined') {
- v1 = createVertex(g.source);
- }
- }
- }
-
- var v2;
- if (g.source.vars) {
- var vo = alasql.vars[g.target.vars];
- if (typeof vo === 'object') {
- v2 = vo;
- } else {
- v2 = db.objects[vo];
- }
- } else {
- var av2 = g.target.sharp;
- if (typeof av2 === 'undefined') {
- av2 = g.target.prop;
- }
- v2 = alasql.databases[databaseid].objects[av2];
- if (
- typeof v2 === 'undefined' &&
- alasql.options.autovertex &&
- (typeof g.target.prop !== 'undefined' || typeof g.target.name !== 'undefined')
- ) {
- v2 = findVertex(g.target.prop || g.target.name);
- if (typeof v2 === 'undefined') {
- v2 = createVertex(g.target);
- }
- }
- }
-
- // Set link
- e.$in = [v1.$id];
- e.$out = [v2.$id];
- // Set sides
- if (typeof v1.$out === 'undefined') {
- v1.$out = [];
- }
- v1.$out.push(e.$id);
- if (typeof v2.$in === 'undefined') {
- v2.$in = [];
- }
- v2.$in.push(e.$id);
-
- db.objects[e.$id] = e;
- if (typeof e.$class !== 'undefined') {
- if (typeof alasql.databases[databaseid].tables[e.$class] === 'undefined') {
- throw new Error('No such class. Pleace use CREATE CLASS');
- } else {
- // TODO - add insert()
- alasql.databases[databaseid].tables[e.$class].data.push(e);
- }
- }
-
- res.push(e.$id);
- } else {
- createVertex(g);
- }
- });
-
- if (cb) {
- res = cb(res);
- }
- return res;
-
- // Find vertex by name
- function findVertex(name) {
- var objects = alasql.databases[alasql.useid].objects;
- for (var k in objects) {
- if (objects[k].name === name) {
- return objects[k];
- }
- }
- return undefined;
- }
-
- function createVertex(g) {
- // GREATE VERTEX
- var v = {};
- if (typeof g.as !== 'undefined') {
- alasql.vars[g.as] = v;
- }
-
- if (typeof g.prop !== 'undefined') {
- // v[g.prop] = true;
- v.$id = g.prop;
- v.name = g.prop;
- }
-
- if (typeof g.sharp !== 'undefined') {
- v.$id = g.sharp;
- }
- if (typeof g.name !== 'undefined') {
- v.name = g.name;
- }
- if (typeof g["class"] !== 'undefined') {
- v.$class = g["class"];
- }
-
- var db = alasql.databases[databaseid];
- if (typeof v.$id === 'undefined') {
- v.$id = db.counter++;
- }
- v.$node = 'VERTEX';
- if (typeof g.json !== 'undefined') {
- extend(
- v,
- new Function('params,alasql', 'var y;return ' + g.json.toJS())(params, alasql)
- );
- }
- db.objects[v.$id] = v;
- if (typeof v.$class !== 'undefined') {
- if (typeof alasql.databases[databaseid].tables[v.$class] === 'undefined') {
- throw new Error('No such class. Pleace use CREATE CLASS');
- } else {
- // TODO - add insert()
- alasql.databases[databaseid].tables[v.$class].data.push(v);
- }
- }
-
- res.push(v.$id);
- return v;
- }
-};
-
-yy.CreateGraph.prototype.compile1 = function(databaseid) {
- var dbid = databaseid;
- var fromfn = new Function('params,alasql', 'var y;return ' + this.from.toJS());
- var tofn = new Function('params,alasql', 'var y;return ' + this.to.toJS());
-
- // CREATE VERTEX "Name"
- if (typeof this.name !== 'undefined') {
- var s = 'x.name=' + this.name.toJS();
- var namefn = new Function('x', s);
- }
-
- if (this.sets && this.sets.length > 0) {
- var s = this.sets
- .map(function(st) {
- return "x['" + st.column.columnid + "']=" + st.expression.toJS('x', '');
- })
- .join(';');
- var setfn = new Function('x,params,alasql', 'var y;' + s);
- }
-
- // Todo: handle content, select and default
-
- var statement = function(params, cb) {
- var res = 0;
- // CREATE VERTEX without parameters
- var db = alasql.databases[dbid];
- var edge = {$id: db.counter++, $node: 'EDGE'};
- var v1 = fromfn(params, alasql);
- var v2 = tofn(params, alasql);
- // Set link
- edge.$in = [v1.$id];
- edge.$out = [v2.$id];
- // Set sides
- if (typeof v1.$out === 'undefined') {
- v1.$out = [];
- }
- v1.$out.push(edge.$id);
-
- if (typeof v2.$in === 'undefined') {
- v2.$in = [];
- }
- v2.$in.push(edge.$id);
- // Save in objects
- db.objects[edge.$id] = edge;
- res = edge;
- if (namefn) {
- namefn(edge);
- }
- if (setfn) {
- setfn(edge, params, alasql);
- }
-
- if (cb) {
- res = cb(res);
- }
- return res;
- };
- return statement;
-};
-
-/*
-//
-// ALTER TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-/* global alasql yy */
-
-// ALTER TABLE table1 RENAME TO table2
-yy.AlterTable = function(params) {
- return yy.extend(this, params);
-};
-yy.AlterTable.prototype.toString = function() {
- var s = 'ALTER TABLE ' + this.table.toString();
- if (this.renameto) s += ' RENAME TO ' + this.renameto;
- return s;
-};
-
-yy.AlterTable.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[databaseid];
- db.dbversion = Date.now();
-
- if (this.renameto) {
- var oldtableid = this.table.tableid;
- var newtableid = this.renameto;
- var res = 1;
- if (db.tables[newtableid]) {
- throw new Error(
- "Can not rename a table '" +
- oldtableid +
- "' to '" +
- newtableid +
- "', because the table with this name already exists"
- );
- } else if (newtableid === oldtableid) {
- throw new Error("Can not rename a table '" + oldtableid + "' to itself");
- } else {
- db.tables[newtableid] = db.tables[oldtableid];
- delete db.tables[oldtableid];
- res = 1;
- }
- if (cb) cb(res);
- return res;
- } else if (this.addcolumn) {
- db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.addcolumn.columnid;
- if (table.xcolumns[columnid]) {
- throw new Error(
- 'Cannot add column "' +
- columnid +
- '", because it already exists in the table "' +
- tableid +
- '"'
- );
- }
-
- var col = {
- columnid: columnid,
- dbtypeid: this.dbtypeid,
- dbsize: this.dbsize,
- dbprecision: this.dbprecision,
- dbenum: this.dbenum,
- defaultfns: null, // TODO defaultfns!!!
- };
-
- var defaultfn = function() {};
-
- table.columns.push(col);
- table.xcolumns[columnid] = col;
-
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
-
- table.data[i][columnid] = defaultfn();
- }
-
- // TODO
- return cb ? cb(1) : 1;
- } else if (this.modifycolumn) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.modifycolumn.columnid;
-
- if (!table.xcolumns[columnid]) {
- throw new Error(
- 'Cannot modify column "' +
- columnid +
- '", because it was not found in the table "' +
- tableid +
- '"'
- );
- }
-
- col = table.xcolumns[columnid];
- col.dbtypeid = this.dbtypeid;
- col.dbsize = this.dbsize;
- col.dbprecision = this.dbprecision;
- col.dbenum = this.dbenum;
-
- // TODO
- return cb ? cb(1) : 1;
- } else if (this.renamecolumn) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
-
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.renamecolumn;
- var tocolumnid = this.to;
-
- var col;
- if (!table.xcolumns[columnid]) {
- throw new Error(
- 'Column "' + columnid + '" is not found in the table "' + tableid + '"'
- );
- }
- if (table.xcolumns[tocolumnid]) {
- throw new Error(
- 'Column "' + tocolumnid + '" already exists in the table "' + tableid + '"'
- );
- }
-
- if (columnid != tocolumnid) {
- for (var j = 0; j < table.columns.length; j++) {
- if (table.columns[j].columnid == columnid) {
- table.columns[j].columnid = tocolumnid;
- }
- }
-
- table.xcolumns[tocolumnid] = table.xcolumns[columnid];
- delete table.xcolumns[columnid];
-
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
-
- table.data[i][tocolumnid] = table.data[i][columnid];
- delete table.data[i][columnid];
- }
- return table.data.length;
- } else {
- return cb ? cb(0) : 0;
- }
- } else if (this.dropcolumn) {
- var db = alasql.databases[this.table.databaseid || databaseid];
- db.dbversion++;
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var columnid = this.dropcolumn;
-
- var found = false;
- for (var j = 0; j < table.columns.length; j++) {
- if (table.columns[j].columnid == columnid) {
- found = true;
- table.columns.splice(j, 1);
- break;
- }
- }
-
- if (!found) {
- throw new Error(
- 'Cannot drop column "' +
- columnid +
- '", because it was not found in the table "' +
- tableid +
- '"'
- );
- }
-
- delete table.xcolumns[columnid];
-
- for (i = 0, ilen = table.data.length; i < ilen; i++) {
- delete table.data[i][columnid];
- }
- return cb ? cb(table.data.length) : table.data.length;
- } else {
- throw Error('Unknown ALTER TABLE method');
- }
-};
-
-/*
-//
-// CREATE TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.CreateIndex = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateIndex.prototype.toString = function() {
- var s = 'CREATE';
- if (this.unique) s += ' UNIQUE';
- s += ' INDEX ' + this.indexid + ' ON ' + this.table.toString();
- s += '(' + this.columns.toString() + ')';
- return s;
-};
-
-// CREATE TABLE
-yy.CreateIndex.prototype.execute = function(databaseid, params, cb) {
- // var self = this;
- var db = alasql.databases[databaseid];
- var tableid = this.table.tableid;
- var table = db.tables[tableid];
- var indexid = this.indexid;
- db.indices[indexid] = tableid;
-
- var rightfns = this.columns
- .map(function(expr) {
- return expr.expression.toJS('r', '');
- })
- .join("+'`'+");
-
- var rightfn = new Function('r,params,alasql', 'return ' + rightfns);
-
- if (this.unique) {
- table.uniqdefs[indexid] = {
- rightfns: rightfns,
- };
- var ux = (table.uniqs[indexid] = {});
- if (table.data.length > 0) {
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- var addr = rightfns(table.data[i]);
- if (!ux[addr]) {
- ux[addr] = {num: 0};
- }
- ux[addr].num++;
- }
- }
- } else {
- var hh = hash(rightfns);
- table.inddefs[indexid] = {rightfns: rightfns, hh: hh};
- table.indices[hh] = {};
-
- var ix = (table.indices[hh] = {});
- if (table.data.length > 0) {
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- var addr = rightfn(table.data[i], params, alasql);
- if (!ix[addr]) {
- ix[addr] = [];
- }
- ix[addr].push(table.data[i]);
- }
- }
- }
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-yy.Reindex = function(params) {
- return yy.extend(this, params);
-};
-yy.Reindex.prototype.toString = function() {
- var s = 'REINDEX ' + this.indexid;
- return s;
-};
-
-// CREATE TABLE
-yy.Reindex.prototype.execute = function(databaseid, params, cb) {
- // var self = this;
- var db = alasql.databases[databaseid];
- var indexid = this.indexid;
-
- var tableid = db.indices[indexid];
- var table = db.tables[tableid];
- table.indexColumns();
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// DROP TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.DropIndex = function(params) {
- return yy.extend(this, params);
-};
-yy.DropIndex.prototype.toString = function() {
- return 'DROP INDEX' + this.indexid;
-};
-
-// DROP TABLE
-yy.DropIndex.prototype.compile = function(db) {
- var indexid = this.indexid;
- return function() {
- return 1;
- };
-};
-
-/*
-//
-// WITH SELECT for Alasql.js
-// Date: 11.01.2015
-// (c) 2015, Andrey Gershun
-//
-*/
-
-yy.WithSelect = function(params) {
- return yy.extend(this, params);
-};
-yy.WithSelect.prototype.toString = function() {
- var s = 'WITH ';
- s +=
- this.withs
- .map(function(w) {
- return w.name + ' AS (' + w.select.toString() + ')';
- })
- .join(',') + ' ';
- s += this.select.toString();
- return s;
-};
-
-yy.WithSelect.prototype.execute = function(databaseid, params, cb) {
- var self = this;
- // Create temporary tables
- var savedTables = [];
- self.withs.forEach(function(w) {
- savedTables.push(alasql.databases[databaseid].tables[w.name]);
- var tb = (alasql.databases[databaseid].tables[w.name] = new Table({tableid: w.name}));
- tb.data = w.select.execute(databaseid, params);
- });
-
- var res = 1;
- res = this.select.execute(databaseid, params, function(data) {
- // Clear temporary tables
- // setTimeout(function(){
- self.withs.forEach(function(w, idx) {
- if (savedTables[idx]) alasql.databases[databaseid].tables[w.name] = savedTables[idx];
- else delete alasql.databases[databaseid].tables[w.name];
- });
- // },0);
-
- if (cb) data = cb(data);
- return data;
- });
- return res;
-};
-
-/*
-//
-// IF for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.If = function(params) {
- return yy.extend(this, params);
-};
-yy.If.prototype.toString = function() {
- var s = 'IF' + ' ';
- s += this.expression.toString();
- s += ' ' + this.thenstat.toString();
- if (this.elsestat) s += ' ELSE ' + this.thenstat.toString();
- return s;
-};
-
-// CREATE TABLE
-
-yy.If.prototype.execute = function(databaseid, params, cb) {
- var res;
-
- var fn = new Function(
- 'params,alasql,p',
- 'var y;return ' + this.expression.toJS('({})', '', null)
- ).bind(this);
-
- if (fn(params, alasql)) res = this.thenstat.execute(databaseid, params, cb);
- else {
- if (this.elsestat) res = this.elsestat.execute(databaseid, params, cb);
- else {
- if (cb) res = cb(res);
- }
- }
- // else res = this.elsestat.execute(databaseid,params,cb,scope);
- return res;
-};
-
-/*
-//
-// CREATE VIEW for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.While = function(params) {
- return yy.extend(this, params);
-};
-yy.While.prototype.toString = function() {
- var s = 'WHILE ';
- s += this.expression.toString();
- s += ' ' + this.loopstat.toString();
- return s;
-};
-
-yy.While.prototype.execute = function(databaseid, params, cb) {
- var self = this;
- var res = [];
-
- var fn = new Function('params,alasql,p', 'var y;return ' + this.expression.toJS());
-
- if (cb) {
- var first = false;
- loop();
- function loop(data) {
- if (first) {
- res.push(data);
- } else {
- first = true;
- }
- setTimeout(function() {
- if (fn(params, alasql)) {
- self.loopstat.execute(databaseid, params, loop);
- } else {
- res = cb(res);
- }
- }, 0);
- }
- } else {
- while (fn(params, alasql)) {
- var res1 = self.loopstat.execute(databaseid, params);
- res.push(res1);
- }
- }
- return res;
-};
-
-yy.Break = function(params) {
- return yy.extend(this, params);
-};
-yy.Break.prototype.toString = function() {
- var s = 'BREAK';
- return s;
-};
-
-yy.Break.prototype.execute = function(databaseid, params, cb, scope) {
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-yy.Continue = function(params) {
- return yy.extend(this, params);
-};
-yy.Continue.prototype.toString = function() {
- var s = 'CONTINUE';
- return s;
-};
-
-yy.Continue.prototype.execute = function(databaseid, params, cb, scope) {
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-yy.BeginEnd = function(params) {
- return yy.extend(this, params);
-};
-yy.BeginEnd.prototype.toString = function() {
- var s = 'BEGIN ' + this.statements.toString() + ' END';
- return s;
-};
-
-yy.BeginEnd.prototype.execute = function(databaseid, params, cb, scope) {
- var self = this;
- var res = [];
-
- var idx = 0;
- runone();
- function runone() {
- self.statements[idx].execute(databaseid, params, function(data) {
- res.push(data);
- idx++;
- if (idx < self.statements.length) return runone();
- if (cb) res = cb(res);
- });
- }
- return res;
-};
-
-/*
-//
-// INSERT for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql*/
-yy.Insert = function(params) {
- return yy.extend(this, params);
-};
-yy.Insert.prototype.toString = function() {
- var s = 'INSERT ';
- if (this.orreplace) s += 'OR REPLACE ';
- if (this.replaceonly) s = 'REPLACE ';
- s += 'INTO ' + this.into.toString();
- if (this.columns) s += '(' + this.columns.toString() + ')';
- if (this.values) s += ' VALUES ' + this.values.toString();
- if (this.select) s += ' ' + this.select.toString();
- return s;
-};
-
-yy.Insert.prototype.toJS = function(context, tableid, defcols) {
-
- // if(this.expression.reduced) return 'true';
- // return this.expression.toJS(context, tableid, defcols);
-
- // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
-
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
-
- return s;
-};
-
-yy.Insert.prototype.compile = function(databaseid) {
- var self = this;
- databaseid = self.into.databaseid || databaseid;
- var db = alasql.databases[databaseid];
-
- var tableid = self.into.tableid;
- var table = db.tables[tableid];
-
- if (!table) {
- throw "Table '" + tableid + "' could not be found";
- }
-
- // Check, if this dirty flag is required
- var s = '';
- var sw = '';
- var s = "db.tables['" + tableid + "'].dirty=true;";
- var s3 = 'var a,aa=[],x;';
-
- var s33;
-
- // INSERT INTO table VALUES
- if (this.values) {
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-
- self.values.forEach(function(values) {
- var ss = [];
-
- // s += 'db.tables[\''+tableid+'\'].data.push({';
-
- // s += '';
- if (self.columns) {
- self.columns.forEach(function(col, idx) {
-
- // ss.push(col.columnid +':'+ self.values[idx].value.toString());
-
- // if(rec[f.name.value] == "NULL") rec[f.name.value] = undefined;
-
- // if(table.xflds[f.name.value].dbtypeid == "INT") rec[f.name.value] = +rec[f.name.value]|0;
- // else if(table.xflds[f.name.value].dbtypeid == "FLOAT") rec[f.name.value] = +rec[f.name.value];
- var q = "'" + col.columnid + "':";
- if (table.xcolumns && table.xcolumns[col.columnid]) {
- if (
- ['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(
- table.xcolumns[col.columnid].dbtypeid
- ) >= 0
- ) {
- //q += ''
- q += '(x=' + values[idx].toJS() + ',x==undefined?undefined:+x)';
- } else if (alasql.fn[table.xcolumns[col.columnid].dbtypeid]) {
- q += '(new ' + table.xcolumns[col.columnid].dbtypeid + '(';
- q += values[idx].toJS();
- q += '))';
- } else {
- q += values[idx].toJS();
- }
- } else {
- q += values[idx].toJS();
- }
- ss.push(q);
- });
- } else {
- // var table = db.tables[tableid];
-
- if (Array.isArray(values) && table.columns && table.columns.length > 0) {
- table.columns.forEach(function(col, idx) {
- var q = "'" + col.columnid + "':";
- // var val = values[idx].toJS();
-
- if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(col.dbtypeid) >= 0) {
- q += '+' + values[idx].toJS();
- } else if (alasql.fn[col.dbtypeid]) {
- q += '(new ' + col.dbtypeid + '(';
- q += values[idx].toJS();
- q += '))';
- } else {
- q += values[idx].toJS();
- }
-
- ss.push(q);
-
- });
- } else {
-
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
- sw = JSONtoJS(values);
- }
- }
-
- if (db.tables[tableid].defaultfns) {
- ss.unshift(db.tables[tableid].defaultfns);
- }
- if (sw) {
- s += 'a=' + sw + ';';
- } else {
- s += 'a={' + ss.join(',') + '};';
- }
-
- // If this is a class
- if (db.tables[tableid].isclass) {
- s += "var db=alasql.databases['" + databaseid + "'];";
- s += 'a.$class="' + tableid + '";';
- s += 'a.$id=db.counter++;';
- s += 'db.objects[a.$id]=a;';
- }
- // s += 'db.tables[\''+tableid+'\'].insert(r);';
- if (db.tables[tableid].insert) {
- s += "var db=alasql.databases['" + databaseid + "'];";
- s +=
- "db.tables['" +
- tableid +
- "'].insert(a," +
- (self.orreplace ? 'true' : 'false') +
- ');';
- } else {
- s += 'aa.push(a);';
- }
- });
-
- s33 = s3 + s;
-
- if (db.tables[tableid].insert) {
- // s += 'alasql.databases[\''+databaseid+'\'].tables[\''+tableid+'\'].insert(r);';
- } else {
- s +=
- "alasql.databases['" +
- databaseid +
- "'].tables['" +
- tableid +
- "'].data=" +
- "alasql.databases['" +
- databaseid +
- "'].tables['" +
- tableid +
- "'].data.concat(aa);";
- }
-
- if (db.tables[tableid].insert) {
- if (db.tables[tableid].isclass) {
- s += 'return a.$id;';
- } else {
- s += 'return ' + self.values.length;
- }
- } else {
- s += 'return ' + self.values.length;
- }
-
- var insertfn = new Function('db, params, alasql', 'var y;' + s3 + s).bind(this);
-
- // INSERT INTO table SELECT
- } else if (this.select) {
- this.select.modifier = 'RECORDSET';
- var selectfn = this.select.compile(databaseid);
- if (db.engineid && alasql.engines[db.engineid].intoTable) {
- var statement = function(params, cb) {
- var aa = selectfn(params);
- var res = alasql.engines[db.engineid].intoTable(
- db.databaseid,
- tableid,
- aa.data,
- null,
- cb
- );
- return res;
- };
- return statement;
- } else {
-
- var defaultfns = 'return alasql.utils.extend(r,{' + table.defaultfns + '})';
- var defaultfn = new Function('r,db,params,alasql', defaultfns);
- var insertfn = function(db, params, alasql) {
- var res = selectfn(params).data;
- if (db.tables[tableid].insert) {
- // If insert() function exists (issue #92)
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- var r = cloneDeep(res[i]);
- defaultfn(r, db, params, alasql);
- db.tables[tableid].insert(r, self.orreplace);
- }
- } else {
- db.tables[tableid].data = db.tables[tableid].data.concat(res);
- }
- if (alasql.options.nocount) return;
- else return res.length;
- };
- }
- } else if (this["default"]) {
- var insertfns =
- "db.tables['" + tableid + "'].data.push({" + table.defaultfns + '});return 1;';
- var insertfn = new Function('db,params,alasql', insertfns);
- } else {
- throw new Error('Wrong INSERT parameters');
- }
-
- if (db.engineid && alasql.engines[db.engineid].intoTable && alasql.options.autocommit) {
- var statement = function(params, cb) {
- var aa = new Function('db,params', 'var y;' + s33 + 'return aa;')(db, params);
-
- var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa, null, cb);
- // if(cb) cb(res);
- return res;
- };
- } else {
- var statement = function(params, cb) {
-
- var db = alasql.databases[databaseid];
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var res = insertfn(db, params, alasql);
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
- // var res = insertfn(db, params);
- if (alasql.options.nocount) res = undefined;
- if (cb) cb(res);
- return res;
- };
- }
-
- return statement;
-};
-
-yy.Insert.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
- // throw new Error('Insert statement is should be compiled')
-};
-
-/*
-//
-// TRIGGER for Alasql.js
-// Date: 29.12.2015
-//
-*/
-
-yy.CreateTrigger = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateTrigger.prototype.toString = function() {
- var s = 'CREATE TRIGGER ' + this.trigger + ' ';
- if (this.when) s += this.when + ' ';
- s += this.action + ' ON ';
- if (this.table.databaseid) s += this.table.databaseid + '.';
- s += this.table.tableid + ' ';
- s += this.statement.toString();
- return s;
-};
-
-yy.CreateTrigger.prototype.execute = function(databaseid, params, cb) {
- var res = 1; // No tables removed
- var triggerid = this.trigger;
- databaseid = this.table.databaseid || databaseid;
- var db = alasql.databases[databaseid];
- var tableid = this.table.tableid;
-
- var trigger = {
- action: this.action,
- when: this.when,
- statement: this.statement,
- funcid: this.funcid,
- };
-
- db.triggers[triggerid] = trigger;
- if (trigger.action == 'INSERT' && trigger.when == 'BEFORE') {
- db.tables[tableid].beforeinsert[triggerid] = trigger;
- } else if (trigger.action == 'INSERT' && trigger.when == 'AFTER') {
- db.tables[tableid].afterinsert[triggerid] = trigger;
- } else if (trigger.action == 'INSERT' && trigger.when == 'INSTEADOF') {
- db.tables[tableid].insteadofinsert[triggerid] = trigger;
- } else if (trigger.action == 'DELETE' && trigger.when == 'BEFORE') {
- db.tables[tableid].beforedelete[triggerid] = trigger;
- } else if (trigger.action == 'DELETE' && trigger.when == 'AFTER') {
- db.tables[tableid].afterdelete[triggerid] = trigger;
- } else if (trigger.action == 'DELETE' && trigger.when == 'INSTEADOF') {
- db.tables[tableid].insteadofdelete[triggerid] = trigger;
- } else if (trigger.action == 'UPDATE' && trigger.when == 'BEFORE') {
- db.tables[tableid].beforeupdate[triggerid] = trigger;
- } else if (trigger.action == 'UPDATE' && trigger.when == 'AFTER') {
- db.tables[tableid].afterupdate[triggerid] = trigger;
- } else if (trigger.action == 'UPDATE' && trigger.when == 'INSTEADOF') {
- db.tables[tableid].insteadofupdate[triggerid] = trigger;
- }
-
- if (cb) res = cb(res);
- return res;
-};
-
-yy.DropTrigger = function(params) {
- return yy.extend(this, params);
-};
-yy.DropTrigger.prototype.toString = function() {
- var s = 'DROP TRIGGER ' + this.trigger;
- return s;
-};
-
-/**
- Drop trigger
- @param {string} databaseid Database id
- @param {object} params Parameters
- @param {callback} cb Callback function
- @return Number of dropped triggers
- @example
- DROP TRIGGER one;
-*/
-yy.DropTrigger.prototype.execute = function(databaseid, params, cb) {
- var res = 0; // No tables removed
- var db = alasql.databases[databaseid];
- var triggerid = this.trigger;
- // For each table in the list
- var tableid = db.triggers[triggerid];
- if (tableid) {
- res = 1;
- delete db.tables[tableid].beforeinsert[triggerid];
- delete db.tables[tableid].afterinsert[triggerid];
- delete db.tables[tableid].insteadofinsert[triggerid];
- delete db.tables[tableid].beforedelte[triggerid];
- delete db.tables[tableid].afterdelete[triggerid];
- delete db.tables[tableid].insteadofdelete[triggerid];
- delete db.tables[tableid].beforeupdate[triggerid];
- delete db.tables[tableid].afterupdate[triggerid];
- delete db.tables[tableid].insteadofupdate[triggerid];
- delete db.triggers[triggerid];
- } else {
- throw new Error('Trigger not found');
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// DELETE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Delete = function(params) {
- return yy.extend(this, params);
-};
-yy.Delete.prototype.toString = function() {
- var s = 'DELETE FROM ' + this.table.toString();
- if (this.where) s += ' WHERE ' + this.where.toString();
- return s;
-};
-
-yy.Delete.prototype.compile = function(databaseid) {
-
- databaseid = this.table.databaseid || databaseid;
- var tableid = this.table.tableid;
- var statement;
- var db = alasql.databases[databaseid];
-
- if (this.where) {
-
- // this.query = {};
-
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-
- // try {
-
- // var query = {};
-
- var wherefn = new Function(
- 'r,params,alasql',
- 'var y;return (' + this.where.toJS('r', '') + ')'
- ).bind(this);
-
- statement = function(params, cb) {
- if (db.engineid && alasql.engines[db.engineid].deleteFromTable) {
- return alasql.engines[db.engineid].deleteFromTable(
- databaseid,
- tableid,
- wherefn,
- params,
- cb
- );
- }
-
- if (alasql.options.autocommit && db.engineid && db.engineid == 'LOCALSTORAGE') {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var table = db.tables[tableid];
- // table.dirty = true;
- var orignum = table.data.length;
-
- var newtable = [];
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- if (wherefn(table.data[i], params, alasql)) {
- // Check for transaction - if it is not possible then return all back
- if (table["delete"]) {
- table["delete"](i, params, alasql);
- } else {
- // Simply do not push
- }
- } else newtable.push(table.data[i]);
- }
- // table.data = table.data.filter(function(r){return !;});
- table.data = newtable;
-
- // Trigger prevent functionality
- for (var tr in table.afterdelete) {
- var trigger = table.afterdelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid]();
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
-
- var res = orignum - table.data.length;
- if (alasql.options.autocommit && db.engineid && db.engineid == 'LOCALSTORAGE') {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
-
- if (cb) cb(res);
- return res;
- };
- // .bind(query);
-
- // if(!this.queries) return;
- // query.queriesfn = this.queries.map(function(q) {
- // return q.compile(alasql.useid);
- // });
- } else {
- statement = function(params, cb) {
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var table = db.tables[tableid];
- table.dirty = true;
- var orignum = db.tables[tableid].data.length;
- //table.deleteall();
- // Delete all records from the array
- db.tables[tableid].data.length = 0;
-
- // Reset PRIMARY KEY and indexes
- for (var ix in db.tables[tableid].uniqs) {
- db.tables[tableid].uniqs[ix] = {};
- }
-
- for (var ix in db.tables[tableid].indices) {
- db.tables[tableid].indices[ix] = {};
- }
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
-
- if (cb) cb(orignum);
- return orignum;
- };
- }
-
- return statement;
-};
-
-yy.Delete.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
-};
-
-/*
-//
-// UPDATE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql */
-
-yy.Update = function(params) {
- return yy.extend(this, params);
-};
-yy.Update.prototype.toString = function() {
- var s = 'UPDATE ' + this.table.toString();
- if (this.columns) s += ' SET ' + this.columns.toString();
- if (this.where) s += ' WHERE ' + this.where.toString();
- return s;
-};
-
-yy.SetColumn = function(params) {
- return yy.extend(this, params);
-};
-yy.SetColumn.prototype.toString = function() {
- return this.column.toString() + '=' + this.expression.toString();
-};
-
-yy.Update.prototype.compile = function(databaseid) {
-
- databaseid = this.table.databaseid || databaseid;
- var tableid = this.table.tableid;
-
- if (this.where) {
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-
- var wherefn = new Function(
- 'r,params,alasql',
- 'var y;return ' + this.where.toJS('r', '')
- ).bind(this);
- }
-
- // Construct update function
- var s = alasql.databases[databaseid].tables[tableid].onupdatefns || '';
- s += ';';
- this.columns.forEach(function(col) {
- s += "r['" + col.column.columnid + "']=" + col.expression.toJS('r', '') + ';';
- });
-
- var assignfn = new Function('r,params,alasql', 'var y;' + s);
-
- var statement = function(params, cb) {
- var db = alasql.databases[databaseid];
-
- if (db.engineid && alasql.engines[db.engineid].updateTable) {
-
- return alasql.engines[db.engineid].updateTable(
- databaseid,
- tableid,
- assignfn,
- wherefn,
- params,
- cb
- );
- }
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var table = db.tables[tableid];
- if (!table) {
- throw new Error("Table '" + tableid + "' not exists");
- }
- // table.dirty = true;
- var numrows = 0;
- for (var i = 0, ilen = table.data.length; i < ilen; i++) {
- if (!wherefn || wherefn(table.data[i], params, alasql)) {
- if (table.update) {
- table.update(assignfn, i, params);
- } else {
- assignfn(table.data[i], params, alasql);
- }
- numrows++;
- }
- }
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
-
- if (cb) cb(numrows);
- return numrows;
- };
- return statement;
-};
-
-yy.Update.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
-};
-
-/*
-//
-// SET for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global alasql, yy */
-
-yy.Merge = function(params) {
- return yy.extend(this, params);
-};
-yy.Merge.prototype.toString = function() {
- var s = 'MERGE ';
- s += this.into.tableid + ' ';
- if (this.into.as) s += 'AS ' + this.into.as + ' ';
- s += 'USING ' + this.using.tableid + ' ';
- if (this.using.as) s += 'AS ' + this.using.as + ' ';
- s += 'ON ' + this.on.toString() + ' ';
- this.matches.forEach(function(m) {
- s += 'WHEN ';
- if (!m.matched) s += 'NOT ';
- s += 'MATCHED ';
- if (m.bytarget) s += 'BY TARGET ';
- if (m.bysource) s += 'BY SOURCE ';
- if (m.expr) s += 'AND' + ' ' + m.expr.toString() + ' ';
- s += 'THEN ';
- if (m.action["delete"]) s += 'DELETE ';
- if (m.action.insert) {
- s += 'INSERT ';
- if (m.action.columns) s += '(' + m.action.columns.toString() + ') ';
- if (m.action.values) s += 'VALUES (' + m.action.values.toString() + ') ';
- if (m.action.defaultvalues) s += 'DEFAULT VALUES ';
- }
- if (m.action.update) {
- s += 'UPDATE ';
- s +=
- m.action.update
- .map(function(u) {
- return u.toString();
- })
- .join(',') + ' ';
- }
- });
-
- return s;
-};
-
-yy.Merge.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
-
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// UPDATE for Alasql.js
-// Date: 03.11.2014
-// Modified: 16.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql */
-
-// CREATE DATABASE databaseid
-yy.CreateDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateDatabase.prototype.toString = function() {
- var s = 'CREATE';
- if (this.engineid) s += ' ' + this.engineid;
- s += ' DATABASE';
- if (this.ifnotexists) s += ' IF NOT EXISTS';
- s += ' ' + this.databaseid;
- if (this.args && this.args.length > 0) {
- s +=
- '(' +
- this.args
- .map(function(arg) {
- return arg.toString();
- })
- .join(', ') +
- ')';
- }
- if (this.as) s += ' AS ' + this.as;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.CreateDatabase.prototype.execute = function(databaseid, params, cb) {
- var args;
- if (this.args && this.args.length > 0) {
- args = this.args.map(function(arg) {
-
- return new Function('params,alasql', 'var y;return ' + arg.toJS())(params, alasql);
- });
- }
- if (this.engineid) {
- var res = alasql.engines[this.engineid].createDatabase(
- this.databaseid,
- this.args,
- this.ifnotexists,
- this.as,
- cb
- );
- return res;
- } else {
- var dbid = this.databaseid;
- if (alasql.databases[dbid]) {
- throw new Error("Database '" + dbid + "' already exists");
- }
- var a = new alasql.Database(dbid);
- var res = 1;
- if (cb) return cb(res);
- return res;
- }
-};
-
-// CREATE DATABASE databaseid
-yy.AttachDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.AttachDatabase.prototype.toString = function(args) {
- var s = 'ATTACH';
- if (this.engineid) s += ' ' + this.engineid;
- s += ' DATABASE' + ' ' + this.databaseid;
- // TODO add params
- if (args) {
- s += '(';
- if (args.length > 0) {
- s += args
- .map(function(arg) {
- return arg.toString();
- })
- .join(', ');
- }
- s += ')';
- }
- if (this.as) s += ' AS' + ' ' + this.as;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.AttachDatabase.prototype.execute = function(databaseid, params, cb) {
- if (!alasql.engines[this.engineid]) {
- throw new Error('Engine "' + this.engineid + '" is not defined.');
- }
- var res = alasql.engines[this.engineid].attachDatabase(
- this.databaseid,
- this.as,
- this.args,
- params,
- cb
- );
- return res;
-};
-
-// CREATE DATABASE databaseid
-yy.DetachDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.DetachDatabase.prototype.toString = function() {
- var s = 'DETACH';
- s += ' DATABASE' + ' ' + this.databaseid;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.DetachDatabase.prototype.execute = function(databaseid, params, cb) {
- if (!alasql.databases[this.databaseid].engineid) {
- throw new Error(
- 'Cannot detach database "' + this.engineid + '", because it was not attached.'
- );
- }
- var res;
-
- var dbid = this.databaseid;
-
- if (dbid === alasql.DEFAULTDATABASEID) {
- throw new Error('Drop of default database is prohibited');
- }
-
- if (!alasql.databases[dbid]) {
- if (!this.ifexists) {
- throw new Error("Database '" + dbid + "' does not exist");
- } else {
- res = 0;
- }
- } else {
- delete alasql.databases[dbid];
- if (dbid === alasql.useid) {
- alasql.use();
- }
- res = 1;
- }
- if (cb) cb(res);
- return res;
- // var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, cb);
- // return res;
-};
-
-// USE DATABSE databaseid
-// USE databaseid
-yy.UseDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.UseDatabase.prototype.toString = function() {
- return 'USE' + ' ' + 'DATABASE' + ' ' + this.databaseid;
-};
-//yy.UseDatabase.prototype.compile = returnUndefined;
-yy.UseDatabase.prototype.execute = function(databaseid, params, cb) {
- var dbid = this.databaseid;
- if (!alasql.databases[dbid]) {
- throw new Error("Database '" + dbid + "' does not exist");
- }
- alasql.use(dbid);
- var res = 1;
- if (cb) cb(res);
- return res;
-};
-
-// DROP DATABASE databaseid
-yy.DropDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.DropDatabase.prototype.toString = function() {
- var s = 'DROP';
- if (this.ifexists) s += ' IF EXISTS';
- s += ' DATABASE ' + this.databaseid;
- return s;
-};
-//yy.DropDatabase.prototype.compile = returnUndefined;
-yy.DropDatabase.prototype.execute = function(databaseid, params, cb) {
- if (this.engineid) {
- return alasql.engines[this.engineid].dropDatabase(this.databaseid, this.ifexists, cb);
- }
- var res;
-
- var dbid = this.databaseid;
-
- if (dbid === alasql.DEFAULTDATABASEID) {
- throw new Error('Drop of default database is prohibited');
- }
- if (!alasql.databases[dbid]) {
- if (!this.ifexists) {
- throw new Error("Database '" + dbid + "' does not exist");
- } else {
- res = 0;
- }
- } else {
- if (alasql.databases[dbid].engineid) {
- throw new Error(
- "Cannot drop database '" + dbid + "', because it is attached. Detach it."
- );
- }
-
- delete alasql.databases[dbid];
- if (dbid === alasql.useid) {
- alasql.use();
- }
- res = 1;
- }
- if (cb) cb(res);
- return res;
-};
-
-/*
-//
-// SET for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Declare = function(params) {
- return yy.extend(this, params);
-};
-yy.Declare.prototype.toString = function() {
- var s = 'DECLARE ';
- if (this.declares && this.declares.length > 0) {
- s = this.declares
- .map(function(declare) {
- var s = '';
- s += '@' + declare.variable + ' ';
- s += declare.dbtypeid;
- if (this.dbsize) {
- s += '(' + this.dbsize;
- if (this.dbprecision) {
- s += ',' + this.dbprecision;
- }
- s += ')';
- }
- if (declare.expression) {
- s += ' = ' + declare.expression.toString();
- }
- return s;
- })
- .join(',');
- }
- return s;
-};
-
-yy.Declare.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (this.declares && this.declares.length > 0) {
- this.declares.map(function(declare) {
- var dbtypeid = declare.dbtypeid;
- if (!alasql.fn[dbtypeid]) {
- dbtypeid = dbtypeid.toUpperCase();
- }
- alasql.declares[declare.variable] = {
- dbtypeid: dbtypeid,
- dbsize: declare.dbsize,
- dbprecision: declare.dbprecision,
- };
-
- // Set value
- if (declare.expression) {
-
- alasql.vars[declare.variable] = new Function(
- 'params,alasql',
- 'return ' + declare.expression.toJS('({})', '', null)
- )(params, alasql);
- if (alasql.declares[declare.variable]) {
- alasql.vars[declare.variable] = alasql.stdfn.CONVERT(
- alasql.vars[declare.variable],
- alasql.declares[declare.variable]
- );
- }
- }
- });
- }
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-/*
-//
-// SHOW for Alasql.js
-// Date: 19.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.ShowDatabases = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowDatabases.prototype.toString = function() {
- var s = 'SHOW DATABASES';
- if (this.like) s += 'LIKE ' + this.like.toString();
- return s;
-};
-yy.ShowDatabases.prototype.execute = function(databaseid, params, cb) {
- if (this.engineid) {
- return alasql.engines[this.engineid].showDatabases(this.like, cb);
- } else {
- var self = this;
- var res = [];
- for (var dbid in alasql.databases) {
- res.push({databaseid: dbid});
- }
- if (self.like && res && res.length > 0) {
- res = res.filter(function(d) {
- // return d.databaseid.match(new RegExp((self.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g'));
- return alasql.utils.like(self.like.value, d.databaseid);
- });
- }
- if (cb) cb(res);
- return res;
- }
-};
-
-yy.ShowTables = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowTables.prototype.toString = function() {
- var s = 'SHOW TABLES';
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- if (this.like) s += ' LIKE ' + this.like.toString();
- return s;
-};
-yy.ShowTables.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.databaseid || databaseid];
-
- var self = this;
- var res = [];
- for (var tableid in db.tables) {
- res.push({tableid: tableid});
- }
- if (self.like && res && res.length > 0) {
- res = res.filter(function(d) {
- //return d.tableid.match(new RegExp((self.like.value||'').replace(/\%/g,'.*').replace(/\?|_/g,'.'),'g'));
- return alasql.utils.like(self.like.value, d.tableid);
- });
- }
- if (cb) cb(res);
- return res;
-};
-
-yy.ShowColumns = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowColumns.prototype.toString = function() {
- var s = 'SHOW COLUMNS';
- if (this.table.tableid) s += ' FROM ' + this.table.tableid;
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- return s;
-};
-
-yy.ShowColumns.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.databaseid || databaseid];
- var table = db.tables[this.table.tableid];
-
- if (table && table.columns) {
- var res = table.columns.map(function(col) {
- return {columnid: col.columnid, dbtypeid: col.dbtypeid, dbsize: col.dbsize};
- });
- if (cb) cb(res);
- return res;
- } else {
- if (cb) cb([]);
- return [];
- }
-};
-
-yy.ShowIndex = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowIndex.prototype.toString = function() {
- var s = 'SHOW INDEX';
- if (this.table.tableid) s += ' FROM ' + this.table.tableid;
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- return s;
-};
-yy.ShowIndex.prototype.execute = function(databaseid, params, cb) {
- var db = alasql.databases[this.databaseid || databaseid];
- var table = db.tables[this.table.tableid];
- var res = [];
- if (table && table.indices) {
- for (var ind in table.indices) {
- res.push({hh: ind, len: Object.keys(table.indices[ind]).length});
- }
- }
-
- if (cb) cb(res);
- return res;
-};
-
-yy.ShowCreateTable = function(params) {
- return yy.extend(this, params);
-};
-yy.ShowCreateTable.prototype.toString = function() {
- var s = 'SHOW CREATE TABLE ' + this.table.tableid;
- if (this.databaseid) s += ' FROM ' + this.databaseid;
- return s;
-};
-yy.ShowCreateTable.prototype.execute = function(databaseid) {
- var db = alasql.databases[this.databaseid || databaseid];
- var table = db.tables[this.table.tableid];
- if (table) {
- var s = 'CREATE TABLE ' + this.table.tableid + ' (';
- var ss = [];
- if (table.columns) {
- table.columns.forEach(function(col) {
- var a = col.columnid + ' ' + col.dbtypeid;
- if (col.dbsize) a += '(' + col.dbsize + ')';
- if (col.primarykey) a += ' PRIMARY KEY';
- // TODO extend
- ss.push(a);
- });
- s += ss.join(', ');
- }
- s += ')';
- return s;
- } else {
- throw new Error('There is no such table "' + this.table.tableid + '"');
- }
-};
-
-/*
-//
-// SET for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.SetVariable = function(params) {
- return yy.extend(this, params);
-};
-yy.SetVariable.prototype.toString = function() {
- var s = 'SET ';
- if (typeof this.value != 'undefined')
- s += this.variable.toUpperCase() + ' ' + (this.value ? 'ON' : 'OFF');
- if (this.expression) s += this.method + this.variable + ' = ' + this.expression.toString();
- return s;
-};
-
-yy.SetVariable.prototype.execute = function(databaseid, params, cb) {
-
- if (typeof this.value != 'undefined') {
- var val = this.value;
- if (val == 'ON') val = true;
- else if (val == 'OFF') val = false;
- // if(this.method == '@') {
- alasql.options[this.variable] = val;
- // } else {
- // params[this.variable] = val;
- // }
- } else if (this.expression) {
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- if (nq.query && !nq.query.modifier) nq.query.modifier = 'RECORDSET';
- return nq;
- // return ex.compile(databaseid);
- // TODO Include modifier
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- if (nq.query && !nq.query.modifier) nq.query.modifier = 'RECORDSET';
- return nq;
- // TODO Include modifier
- });
- }
-
- var res = new Function(
- 'params,alasql',
- 'return ' + this.expression.toJS('({})', '', null)
- ).bind(this)(params, alasql);
- if (alasql.declares[this.variable]) {
- res = alasql.stdfn.CONVERT(res, alasql.declares[this.variable]);
- }
- if (this.props && this.props.length > 0) {
- if (this.method == '@') {
- var fs = "alasql.vars['" + this.variable + "']";
- } else {
- var fs = "params['" + this.variable + "']";
- }
- fs += this.props
- .map(function(prop) {
- if (typeof prop == 'string') {
- return "['" + prop + "']";
- } else if (typeof prop == 'number') {
- return '[' + prop + ']';
- } else {
-
- return '[' + prop.toJS() + ']';
- // } else {
-
- // throw new Error('Wrong SET property');
- }
- })
- .join();
-
- new Function('value,params,alasql', 'var y;' + fs + '=value')(res, params, alasql);
- } else {
- if (this.method == '@') {
- alasql.vars[this.variable] = res;
- } else {
- params[this.variable] = res;
- }
- }
- }
- var res = 1;
- if (cb) res = cb(res);
- return res;
-};
-
-// Console functions
-
-/* global alasql, yy */
-
-alasql.test = function(name, times, fn) {
- if (arguments.length === 0) {
- alasql.log(alasql.con.results);
- return;
- }
-
- var tm = Date.now();
-
- if (arguments.length === 1) {
- fn();
- alasql.con.log(Date.now() - tm);
- return;
- }
-
- if (arguments.length === 2) {
- fn = times;
- times = 1;
- }
-
- for (var i = 0; i < times; i++) {
- fn();
- }
- alasql.con.results[name] = Date.now() - tm;
-};
-
-// Console
-// alasql.log = function(sql, params) {
-
-// };
-
-/* global alasql, yy, utils */
-
-// Console
-alasql.log = function(sql, params) {
- var olduseid = alasql.useid;
- var target = alasql.options.logtarget;
- // For node other
- if (utils.isNode) {
- target = 'console';
- }
-
- var res;
- if (typeof sql === 'string') {
- res = alasql(sql, params);
- } else {
- res = sql;
- }
-
- // For Node and console.output
- if (target === 'console' || utils.isNode) {
- if (typeof sql === 'string' && alasql.options.logprompt) {
- console.log(olduseid + '>', sql);
- }
-
- if (Array.isArray(res)) {
- if (console.table) {
- // For Chrome and other consoles
- console.table(res);
- } else {
- // Add print procedure
- console.log(JSONtoString(res));
- }
- } else {
- console.log(JSONtoString(res));
- }
- } else {
- var el;
- if (target === 'output') {
- el = document.getElementsByTagName('output')[0];
- } else {
- if (typeof target === 'string') {
- el = document.getElementById(target);
- } else {
- // in case of DOM
- el = target;
- }
- }
-
- var s = '';
-
- if (typeof sql === 'string' && alasql.options.logprompt) {
- // s += ''+olduseid+'> '+alasql.pretty(sql)+'
';
- s += '' + alasql.pretty(sql) + '
';
- }
-
- if (Array.isArray(res)) {
- if (res.length === 0) {
- s += '[ ]
';
- } else if (typeof res[0] !== 'object' || Array.isArray(res[0])) {
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- s += '' + loghtml(res[i]) + '
';
- }
- } else {
- s += loghtml(res);
- }
- } else {
- s += loghtml(res);
- }
- el.innerHTML += s;
- }
-};
-
-alasql.clear = function() {
- var target = alasql.options.logtarget;
- // For node other
-
- if (utils.isNode || utils.isMeteorServer) {
- if (console.clear) {
- console.clear();
- }
- } else {
- var el;
- if (target === 'output') {
- el = document.getElementsByTagName('output')[0];
- } else {
- if (typeof target === 'string') {
- el = document.getElementById(target);
- } else {
- // in case of DOM
- el = target;
- }
- }
- el.innerHTML = '';
- }
-};
-
-alasql.write = function(s) {
-
- var target = alasql.options.logtarget;
- // For node other
- if (utils.isNode || utils.isMeteorServer) {
- if (console.log) {
- console.log(s);
- }
- } else {
- var el;
- if (target === 'output') {
- el = document.getElementsByTagName('output')[0];
- } else {
- if (typeof target === 'string') {
- el = document.getElementById(target);
- } else {
- // in case of DOM
- el = target;
- }
- }
- el.innerHTML += s;
- }
-};
-
-function loghtml(res) {
-
- var s = '';
- if (res === undefined) {
- s += 'undefined';
- } else if (Array.isArray(res)) {
- s += '';
- s += '';
- var cols = [];
- for (var colid in res[0]) {
- cols.push(colid);
- }
- s += '#';
- cols.forEach(function(colid) {
- s += ' ' + colid;
- });
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- s += ' ' + (i + 1);
- cols.forEach(function(colid) {
- s += ' ';
- if (res[i][colid] == +res[i][colid]) {
- // jshint ignore:line
- s += '';
- if (typeof res[i][colid] === 'undefined') {
- s += 'NULL';
- } else {
- s += res[i][colid];
- }
- s += '
';
- } else {
- if (typeof res[i][colid] === 'undefined') {
- s += 'NULL';
- } else if (typeof res[i][colid] === 'string') {
- s += res[i][colid];
- } else {
- s += JSONtoString(res[i][colid]);
- }
- // s += res[i][colid];
- }
- });
- }
-
- s += '
';
- } else {
- s += '' + JSONtoString(res) + '
';
- }
- // if() {}
-
- // if(typeof res == 'object') {
- // s += ''+JSON.stringify(res)+'
';
- // } else {
- // }
- return s;
-}
-
-function scrollTo(element, to, duration) {
- if (duration <= 0) {
- return;
- }
- var difference = to - element.scrollTop;
- var perTick = (difference / duration) * 10;
-
- setTimeout(function() {
- if (element.scrollTop === to) {
- return;
- }
- element.scrollTop = element.scrollTop + perTick;
- scrollTo(element, to, duration - 10);
- }, 10);
-}
-
-alasql.prompt = function(el, useidel, firstsql) {
- if (utils.isNode) {
- throw new Error('The prompt not realized for Node.js');
- }
-
- var prompti = 0;
-
- if (typeof el === 'string') {
- el = document.getElementById(el);
- }
-
- if (typeof useidel === 'string') {
- useidel = document.getElementById(useidel);
- }
-
- useidel.textContent = alasql.useid;
-
- if (firstsql) {
- alasql.prompthistory.push(firstsql);
- prompti = alasql.prompthistory.length;
- try {
- var tm = Date.now();
- alasql.log(firstsql);
- alasql.write('' + (Date.now() - tm) + ' ms
');
- } catch (err) {
- alasql.write('' + olduseid + '> ' + sql + '
');
- alasql.write('' + err + '
');
- }
- }
-
- var y = el.getBoundingClientRect().top + document.getElementsByTagName('body')[0].scrollTop;
- scrollTo(document.getElementsByTagName('body')[0], y, 500);
-
- el.onkeydown = function(event) {
- if (event.which === 13) {
- var sql = el.value;
- var olduseid = alasql.useid;
- el.value = '';
- alasql.prompthistory.push(sql);
- prompti = alasql.prompthistory.length;
- try {
- var tm = Date.now();
- alasql.log(sql);
- alasql.write('
' + (Date.now() - tm) + ' ms
');
- } catch (err) {
- alasql.write('' + olduseid + '> ' + alasql.pretty(sql, false) + '
');
- alasql.write('' + err + '
');
- }
- el.focus();
-
- useidel.textContent = alasql.useid;
- var y =
- el.getBoundingClientRect().top + document.getElementsByTagName('body')[0].scrollTop;
- scrollTo(document.getElementsByTagName('body')[0], y, 500);
- } else if (event.which === 38) {
- prompti--;
- if (prompti < 0) {
- prompti = 0;
- }
- if (alasql.prompthistory[prompti]) {
- el.value = alasql.prompthistory[prompti];
- event.preventDefault();
- }
- } else if (event.which === 40) {
- prompti++;
- if (prompti >= alasql.prompthistory.length) {
- prompti = alasql.prompthistory.length;
- el.value = '';
- } else if (alasql.prompthistory[prompti]) {
- el.value = alasql.prompthistory[prompti];
- event.preventDefault();
- }
- }
- };
-};
-
-/*
-//
-// Commit for Alasql.js
-// Date: 01.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-yy.BeginTransaction = function(params) {
- return yy.extend(this, params);
-};
-yy.BeginTransaction.prototype.toString = function() {
- return 'BEGIN TRANSACTION';
-};
-
-yy.BeginTransaction.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid].engineid) {
- return alasql.engines[alasql.databases[alasql.useid].engineid].begin(databaseid, cb);
- } else {
- // alasql commit!!!
- }
- if (cb) cb(res);
- return res;
-};
-
-yy.CommitTransaction = function(params) {
- return yy.extend(this, params);
-};
-yy.CommitTransaction.prototype.toString = function() {
- return 'COMMIT TRANSACTION';
-};
-
-yy.CommitTransaction.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid].engineid) {
- return alasql.engines[alasql.databases[alasql.useid].engineid].commit(databaseid, cb);
- } else {
- // alasql commit!!!
- }
- if (cb) cb(res);
- return res;
-};
-
-yy.RollbackTransaction = function(params) {
- return yy.extend(this, params);
-};
-yy.RollbackTransaction.prototype.toString = function() {
- return 'ROLLBACK TRANSACTION';
-};
-
-yy.RollbackTransaction.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid].engineid) {
- return alasql.engines[alasql.databases[databaseid].engineid].rollback(databaseid, cb);
- } else {
- // alasql commit!!!
- }
- if (cb) cb(res);
- return res;
-};
-
-if (alasql.options.tsql) {
- //
- // Check tables and views
- // IF OBJECT_ID('dbo.Employees') IS NOT NULL
- // DROP TABLE dbo.Employees;
- // IF OBJECT_ID('dbo.VSortedOrders', 'V') IS NOT NULL
- // DROP VIEW dbo.VSortedOrders;
-
- alasql.stdfn.OBJECT_ID = function(name, type) {
- if (typeof type == 'undefined') type = 'T';
- type = type.toUpperCase();
-
- var sname = name.split('.');
- var dbid = alasql.useid;
- var objname = sname[0];
- if (sname.length == 2) {
- dbid = sname[0];
- objname = sname[1];
- }
-
- var tables = alasql.databases[dbid].tables;
- dbid = alasql.databases[dbid].databaseid;
- for (var tableid in tables) {
- if (tableid == objname) {
- // TODO: What OBJECT_ID actually returns
-
- if (tables[tableid].view && type == 'V') return dbid + '.' + tableid;
- if (!tables[tableid].view && type == 'T') return dbid + '.' + tableid;
- return undefined;
- }
- }
-
- return undefined;
- };
-}
-
-if (alasql.options.mysql) {
-}
-
-if (alasql.options.mysql || alasql.options.sqlite) {
- // Pseudo INFORMATION_SCHEMA function
- alasql.from.INFORMATION_SCHEMA = function(filename, opts, cb, idx, query) {
- if (filename == 'VIEWS' || filename == 'TABLES') {
- var res = [];
- for (var databaseid in alasql.databases) {
- var tables = alasql.databases[databaseid].tables;
- for (var tableid in tables) {
- if (
- (tables[tableid].view && filename == 'VIEWS') ||
- (!tables[tableid].view && filename == 'TABLES')
- ) {
- res.push({TABLE_CATALOG: databaseid, TABLE_NAME: tableid});
- }
- }
- }
- if (cb) res = cb(res, idx, query);
- return res;
- }
- throw new Error('Unknown INFORMATION_SCHEMA table');
- };
-}
-
-if (alasql.options.postgres) {
-}
-
-if (alasql.options.oracle) {
-}
-
-if (alasql.options.sqlite) {
-}
-
-//
-// into functions
-//
-// (c) 2014 Andrey Gershun
-//
-
-alasql.into.SQL = function(filename, opts, data, columns, cb) {
- var res;
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
- var opt = {};
- alasql.utils.extend(opt, opts);
- if (typeof opt.tableid === 'undefined') {
- throw new Error('Table for INSERT TO is not defined.');
- }
-
- var s = '';
- if (columns.length === 0) {
- if (typeof data[0] === 'object') {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- } else {
- // What should I do?
- // columns = [{columnid:"_"}];
- }
- }
-
- for (var i = 0, ilen = data.length; i < ilen; i++) {
- s += 'INSERT INTO ' + opts.tableid + '(';
- s += columns
- .map(function(col) {
- return col.columnid;
- })
- .join(',');
- s += ') VALUES (';
- s += columns.map(function(col) {
- var val = data[i][col.columnid];
- if (col.typeid) {
- if (
- col.typeid === 'STRING' ||
- col.typeid === 'VARCHAR' ||
- col.typeid === 'NVARCHAR' ||
- col.typeid === 'CHAR' ||
- col.typeid === 'NCHAR'
- ) {
- val = "'" + escapeqq(val) + "'";
- }
- } else {
- if (typeof val == 'string') {
- val = "'" + escapeqq(val) + "'";
- }
- }
- return val;
- });
- s += ');\n';
- }
- // if(filename === '') {
- // res = s;
- // } else {
- // res = data.length;
- filename = alasql.utils.autoExtFilename(filename, 'sql', opts);
- res = alasql.utils.saveFile(filename, s);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.HTML = function(selector, opts, data, columns, cb) {
- var res = 1;
- if (typeof exports !== 'object') {
- var opt = {headers: true};
- alasql.utils.extend(opt, opts);
-
- var sel = document.querySelector(selector);
- if (!sel) {
- throw new Error('Selected HTML element is not found');
- }
-
- if (columns.length === 0) {
- if (typeof data[0] === 'object') {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- } else {
- // What should I do?
- // columns = [{columnid:"_"}];
- }
- }
-
- var tbe = document.createElement('table');
- var thead = document.createElement('thead');
- tbe.appendChild(thead);
- if (opt.headers) {
- var tre = document.createElement('tr');
- for (var i = 0; i < columns.length; i++) {
- var the = document.createElement('th');
- the.textContent = columns[i].columnid;
- tre.appendChild(the);
- }
- thead.appendChild(tre);
- }
-
- var tbody = document.createElement('tbody');
- tbe.appendChild(tbody);
- for (var j = 0; j < data.length; j++) {
- var tre = document.createElement('tr');
- for (var i = 0; i < columns.length; i++) {
- var the = document.createElement('td');
- the.textContent = data[j][columns[i].columnid];
- tre.appendChild(the);
- }
- tbody.appendChild(tre);
- }
- alasql.utils.domEmptyChildren(sel);
-
- sel.appendChild(tbe);
- }
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.JSON = function(filename, opts, data, columns, cb) {
- var res = 1;
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
- var s = JSON.stringify(data);
-
- filename = alasql.utils.autoExtFilename(filename, 'json', opts);
- res = alasql.utils.saveFile(filename, s);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.TXT = function(filename, opts, data, columns, cb) {
- // If columns is empty
- if (columns.length === 0 && data.length > 0) {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- // If one parameter
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
-
- var res = data.length;
- var s = '';
- if (data.length > 0) {
- var key = columns[0].columnid;
- s += data
- .map(function(d) {
- return d[key];
- })
- .join('\n');
- }
-
- // } else {
- // if(utils.isNode) {
- // process.stdout.write(s);
- // } else {
-
- // };
- // }
- filename = alasql.utils.autoExtFilename(filename, 'txt', opts);
- res = alasql.utils.saveFile(filename, s);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-alasql.into.TAB = alasql.into.TSV = function(filename, opts, data, columns, cb) {
- var opt = {};
- alasql.utils.extend(opt, opts);
- opt.separator = '\t';
- filename = alasql.utils.autoExtFilename(filename, 'tab', opts);
- opt.autoExt = false;
- return alasql.into.CSV(filename, opt, data, columns, cb);
-};
-
-alasql.into.CSV = function(filename, opts, data, columns, cb) {
- if (columns.length === 0 && data.length > 0) {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- if (typeof filename === 'object') {
- opts = filename;
- filename = undefined;
- }
-
- var opt = {headers: true};
- //opt.separator = ',';
- opt.separator = ';';
- opt.quote = '"';
-
- opt.utf8Bom = true;
- if (opts && !opts.headers && typeof opts.headers !== 'undefined') {
- opt.utf8Bom = false;
- }
-
- alasql.utils.extend(opt, opts);
- var res = data.length;
- var s = opt.utf8Bom ? '\ufeff' : '';
- if (opt.headers) {
- s +=
- opt.quote +
- columns
- .map(function(col) {
- return col.columnid.trim();
- })
- .join(opt.quote + opt.separator + opt.quote) +
- opt.quote +
- '\r\n';
- }
-
- data.forEach(function(d) {
- s +=
- columns
- .map(function(col) {
- var s = d[col.columnid];
- // escape the character wherever it appears in the field
- if (opt.quote !== '') {
- s = (s + '').replace(
- new RegExp('\\' + opt.quote, 'g'),
- opt.quote + opt.quote
- );
- }
- // if((s+"").indexOf(opt.separator) > -1 || (s+"").indexOf(opt.quote) > -1) s = opt.quote + s + opt.quote;
-
- //Excel 2013 needs quotes around strings - thanks for _not_ complying with RFC for CSV
- if (+s != s) {
- // jshint ignore:line
- s = opt.quote + s + opt.quote;
- }
-
- return s;
- })
- .join(opt.separator) + '\r\n';
- });
-
- filename = alasql.utils.autoExtFilename(filename, 'csv', opts);
- res = alasql.utils.saveFile(filename, s, null, {disableAutoBom: true});
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-//
-// 831xl.js - Coloring Excel
-// 18.04.2015
-// Generate XLS file with colors and styles
-// with Excel
-
-alasql.into.XLS = function(filename, opts, data, columns, cb) {
- // If filename is not defined then output to the result
- if (typeof filename == 'object') {
- opts = filename;
- filename = undefined;
- }
-
- // Set sheets
- var sheets = {};
- if (opts && opts.sheets) {
- sheets = opts.sheets;
- }
-
- // Default sheet
- var sheet = {headers: true};
- if (typeof sheets['Sheet1'] != 'undefined') {
- sheet = sheets[0];
- } else {
- if (typeof opts != 'undefined') {
- sheet = opts;
- }
- }
-
- // Set sheet name and default is 'Sheet1'
- if (typeof sheet.sheetid == 'undefined') {
- sheet.sheetid = 'Sheet1';
- }
-
- var s = toHTML();
-
- // File is ready to save
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- var res = alasql.utils.saveFile(filename, s);
- if (cb) res = cb(res);
- return res;
-
- function toHTML() {
- // Generate prologue
- var s =
- '
\
- \
- ';
-
- // Generate body
- s += '';
- s += '';
- if (typeof sheet.caption != 'undefined') {
- var caption = sheet.caption;
- if (typeof caption == 'string') {
- caption = {title: caption};
- }
- s += '';
- s += caption.title;
- s += ' ';
- }
-
- // Columns
-
- // var columns = [];
-
- // If columns defined in sheet, then take them
- if (typeof sheet.columns != 'undefined') {
- columns = sheet.columns;
- } else {
- // Autogenerate columns if they are passed as parameters
- if (columns.length == 0 && data.length > 0) {
- if (typeof data[0] == 'object') {
- if (Array.isArray(data[0])) {
- columns = data[0].map(function(d, columnidx) {
- return {columnid: columnidx};
- });
- } else {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- }
- }
- }
-
- // Prepare columns
- columns.forEach(function(column, columnidx) {
- if (typeof sheet.column != 'undefined') {
- extend(column, sheet.column);
- }
-
- if (typeof column.width == 'undefined') {
- if (sheet.column && sheet.column.width != 'undefined') {
- column.width = sheet.column.width;
- } else {
- column.width = '120px';
- }
- }
- if (typeof column.width == 'number') column.width = column.width + 'px';
- if (typeof column.columnid == 'undefined') column.columnid = columnidx;
- if (typeof column.title == 'undefined') column.title = '' + column.columnid.trim();
- if (sheet.headers && Array.isArray(sheet.headers))
- column.title = sheet.headers[columnidx];
- });
-
- // Set columns widths
- s += '';
- columns.forEach(function(column) {
- s += ' ';
- });
- s += ' ';
-
- // Headers
- if (sheet.headers) {
- s += '';
- s += '';
-
- // TODO: Skip columns to body
-
- // Headers
- columns.forEach(function(column, columnidx) {
- s += '';
-
- // Column title
- if (typeof column.title != 'undefined') {
- if (typeof column.title == 'function') {
- s += column.title(sheet, column, columnidx);
- } else {
- s += column.title;
- }
- }
- s += ' ';
- });
-
- s += ' ';
- s += ' ';
- }
-
- s += '';
-
- // TODO: Skip lines between header and body
-
- if (data && data.length > 0) {
- // TODO: Skip columns to body
-
- // Loop over data rows
- data.forEach(function(row, rowidx) {
- // Limit number of rows on the sheet
- if (rowidx > sheet.limit) return;
- // Create row
- s += '';
- // Loop over columns
- columns.forEach(function(column, columnidx) {
- // Parameters
- var cell = {};
- extend(cell, sheet.cell);
- extend(cell, srow.cell);
- if (typeof sheet.column != 'undefined') {
- extend(cell, sheet.column.cell);
- }
- extend(cell, column.cell);
- if (sheet.cells && sheet.cells[rowidx] && sheet.cells[rowidx][columnidx]) {
- extend(cell, sheet.cells[rowidx][columnidx]);
- }
-
- // Create value
- var value = row[column.columnid];
- if (typeof cell.value == 'function') {
- value = cell.value(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- // Define cell type
- var typeid = cell.typeid;
- if (typeof typeid == 'function') {
- typeid = typeid(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- if (typeof typeid == 'undefined') {
- if (typeof value == 'number') typeid = 'number';
- else if (typeof value == 'string') typeid = 'string';
- else if (typeof value == 'boolean') typeid = 'boolean';
- else if (typeof value == 'object') {
- if (value instanceof Date) typeid = 'date';
- }
- }
-
- var typestyle = '';
-
- if (typeid == 'money') {
- typestyle =
- 'mso-number-format:"\\#\\,\\#\\#0\\\\ _р_\\.";white-space:normal;';
- } else if (typeid == 'number') {
- typestyle = ' ';
- } else if (typeid == 'date') {
- typestyle = 'mso-number-format:"Short Date";';
- } else {
- // FOr other types is saved
- if (opts.types && opts.types[typeid] && opts.types[typeid].typestyle) {
- typestyle = opts.types[typeid].typestyle;
- }
- }
-
- // TODO Replace with extend...
- typestyle = typestyle || 'mso-number-format:"\\@";'; // Default type style
-
- s += "';
-
- // TODO Replace with extend...
- var format = cell.format;
- if (typeof value == 'undefined') {
- s += '';
- } else if (typeof format != 'undefined') {
- if (typeof format == 'function') {
- s += format(value);
- } else if (typeof format == 'string') {
- s += value; // TODO - add string format
- } else {
- throw new Error('Unknown format type. Should be function or string');
- }
- } else {
- if (typeid == 'number' || typeid == 'date') {
- s += value.toString();
- } else if (typeid == 'money') {
- s += (+value).toFixed(2);
- } else {
- s += value;
- }
- }
- s += ' ';
- });
-
- s += ' ';
- });
- }
-
- s += ' ';
-
- // Generate epilogue
- s += '
';
- s += '';
- s += '';
-
- return s;
- }
-
- // Style function
- function style(a) {
- var s = ' style="';
- if (a && typeof a.style != 'undefined') {
- s += a.style + ';';
- }
- s += '" ';
- return s;
- }
-};
-
-alasql.into.XLSXML = function(filename, opts, data, columns, cb) {
- opts = opts || {};
-
- // If filename is not defined then output to the result
- if (typeof filename == 'object') {
- opts = filename;
- filename = undefined;
- }
-
- // Set sheets
- var sheets = {};
- if (opts && opts.sheets) {
- sheets = opts.sheets;
- } else {
- sheets.Sheet1 = opts;
- }
-
- // File is ready to save
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- var res = alasql.utils.saveFile(filename, toXML());
- if (cb) res = cb(res);
- return res;
-
- function toXML() {
- var s1 =
- ' \
- \
- \
- \
- \
- \
- \
- \
- 0 \
- \
- \
- ';
-
- var s2 = ''; // for styles
-
- var s3 = ' ';
-
- var styles = {}; // hash based storage for styles
- var stylesn = 62; // First style
-
- // Generate style
- function hstyle(st) {
- // Prepare string
- var s = '';
- for (var key in st) {
- s += '<' + key;
- for (var attr in st[key]) {
- s += ' ';
- if (attr.substr(0, 2) == 'x:') {
- s += attr;
- } else {
- s += 'ss:';
- }
- s += attr + '="' + st[key][attr] + '"';
- }
- s += '/>';
- }
-
- var hh = hash(s);
- // Store in hash
- if (styles[hh]) {
- } else {
- styles[hh] = {styleid: stylesn};
- s2 += '';
- stylesn++;
- }
- return 's' + styles[hh].styleid;
- }
-
- for (var sheetid in sheets) {
- var sheet = sheets[sheetid];
-
- // If columns defined in sheet, then take them
- if (typeof sheet.columns != 'undefined') {
- columns = sheet.columns;
- } else {
- // Autogenerate columns if they are passed as parameters
- if (columns.length == 0 && data.length > 0) {
- if (typeof data[0] == 'object') {
- if (Array.isArray(data[0])) {
- columns = data[0].map(function(d, columnidx) {
- return {columnid: columnidx};
- });
- } else {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
- }
- }
- }
-
- // Prepare columns
- columns.forEach(function(column, columnidx) {
- if (typeof sheet.column != 'undefined') {
- extend(column, sheet.column);
- }
-
- if (typeof column.width == 'undefined') {
- if (sheet.column && typeof sheet.column.width != 'undefined') {
- column.width = sheet.column.width;
- } else {
- column.width = 120;
- }
- }
- if (typeof column.width == 'number') column.width = column.width;
- if (typeof column.columnid == 'undefined') column.columnid = columnidx;
- if (typeof column.title == 'undefined') column.title = '' + column.columnid.trim();
- if (sheet.headers && Array.isArray(sheet.headers))
- column.title = sheet.headers[idx];
- });
-
- // Header
- s3 +=
- ' \
- ';
-
- columns.forEach(function(column, columnidx) {
- s3 +=
- ' ';
- });
-
- // Headers
- if (sheet.headers) {
- s3 += '';
-
- // TODO: Skip columns to body
-
- // Headers
- columns.forEach(function(column, columnidx) {
- s3 += '';
-
- // Column title
- if (typeof column.title != 'undefined') {
- if (typeof column.title == 'function') {
- s3 += column.title(sheet, column, columnidx);
- } else {
- s3 += column.title;
- }
- }
- s3 += ' | ';
- });
-
- s3 += '
';
- }
-
- // Data
- if (data && data.length > 0) {
- // Loop over data rows
- data.forEach(function(row, rowidx) {
- // Limit number of rows on the sheet
- if (rowidx > sheet.limit) return;
-
- // Extend row properties
- var srow = {};
- extend(srow, sheet.row);
- if (sheet.rows && sheet.rows[rowidx]) {
- extend(srow, sheet.rows[rowidx]);
- }
-
- s3 += ''; //'ss:AutoFitHeight="0">'
-
- // Data
- columns.forEach(function(column, columnidx) {
- // Parameters
- var cell = {};
- extend(cell, sheet.cell);
- extend(cell, srow.cell);
- if (typeof sheet.column != 'undefined') {
- extend(cell, sheet.column.cell);
- }
- extend(cell, column.cell);
- if (sheet.cells && sheet.cells[rowidx] && sheet.cells[rowidx][columnidx]) {
- extend(cell, sheet.cells[rowidx][columnidx]);
- }
-
- // Create value
- var value = row[column.columnid];
- if (typeof cell.value == 'function') {
- value = cell.value(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- // Define cell type
- var typeid = cell.typeid;
- if (typeof typeid == 'function') {
- typeid = typeid(value, sheet, row, column, cell, rowidx, columnidx);
- }
-
- if (typeof typeid == 'undefined') {
- if (typeof value == 'number') typeid = 'number';
- else if (typeof value == 'string') typeid = 'string';
- else if (typeof value == 'boolean') typeid = 'boolean';
- else if (typeof value == 'object') {
- if (value instanceof Date) typeid = 'date';
- }
- }
-
- var Type = 'String';
- if (typeid == 'number') Type = 'Number';
- else if (typeid == 'date') Type = 'Date';
- // TODO: What else?
-
- // Prepare Data types styles
- var typestyle = '';
-
- if (typeid == 'money') {
- typestyle =
- 'mso-number-format:"\\#\\,\\#\\#0\\\\ _р_\\.";white-space:normal;';
- } else if (typeid == 'number') {
- typestyle = ' ';
- } else if (typeid == 'date') {
- typestyle = 'mso-number-format:"Short Date";';
- } else {
- // For other types is saved
- if (opts.types && opts.types[typeid] && opts.types[typeid].typestyle) {
- typestyle = opts.types[typeid].typestyle;
- }
- }
-
- // TODO Replace with extend...
- typestyle = typestyle || 'mso-number-format:"\\@";'; // Default type style
-
- s3 += '';
-
- s3 += '';
-
- // TODO Replace with extend...
- var format = cell.format;
- if (typeof value == 'undefined') {
- s3 += '';
- } else if (typeof format != 'undefined') {
- if (typeof format == 'function') {
- s3 += format(value);
- } else if (typeof format == 'string') {
- s3 += value; // TODO - add string format
- } else {
- throw new Error(
- 'Unknown format type. Should be function or string'
- );
- }
- } else {
- if (typeid == 'number' || typeid == 'date') {
- s3 += value.toString();
- } else if (typeid == 'money') {
- s3 += (+value).toFixed(2);
- } else {
- s3 += value;
- }
- }
-
- // s3 += row[column.columnid];
- s3 += ' | ';
- });
-
- s3 += '
';
- });
- }
- // Finish
- s3 += '
';
- }
-
- s3 += ' ';
-
- return s1 + s2 + s3;
- }
-};
-
-/**
- Export to XLSX function
- @function
- @param {string|object} filename Filename or options
- @param {object|undefined} opts Options or undefined
- @param {array} data Data
- @param {array} columns Columns
- @parab {callback} cb Callback function
- @return {number} Number of files processed
-*/
-
-alasql.into.XLSX = function(filename, opts, data, columns, cb) {
- /** @type {number} result */
- var res = 1;
-
- if (deepEqual(columns, [{columnid: '_'}])) {
- data = data.map(function(dat) {
- return dat._;
- });
- columns = undefined;
- // res = [{_:1}];
- } else {
- // data = data1;
- }
-
- filename = alasql.utils.autoExtFilename(filename, 'xlsx', opts);
-
- var XLSX = getXLSX();
-
- /* If called without filename, use opts */
- if (typeof filename == 'object') {
- opts = filename;
- filename = undefined;
- }
-
- /** @type {object} Workbook */
- var wb = {SheetNames: [], Sheets: {}};
-
- // ToDo: check if cb must be treated differently here
- if (opts.sourcefilename) {
- alasql.utils.loadBinaryFile(opts.sourcefilename, !!cb, function(data) {
- wb = XLSX.read(data, {type: 'binary'});
- doExport();
- });
- } else {
- doExport();
- }
-
- /* Return result */
- if (cb) res = cb(res);
- return res;
-
- /**
- Export workbook
- @function
- */
- function doExport() {
- /*
- If opts is array of arrays then this is a
- multisheet workboook, else it is a singlesheet
- */
- if (typeof opts == 'object' && Array.isArray(opts)) {
- if (data && data.length > 0) {
- data.forEach(function(dat, idx) {
- prepareSheet(opts[idx], dat, undefined, idx + 1);
- });
- }
- } else {
- prepareSheet(opts, data, columns, 1);
- }
-
- saveWorkbook(cb);
- }
-
- /**
- Prepare sheet
- @params {object} opts
- @params {array|object} data
- @params {array} columns Columns
- */
- function prepareSheet(opts, data, columns, idx) {
- /** Default options for sheet */
- var opt = {sheetid: 'Sheet ' + idx, headers: true};
- alasql.utils.extend(opt, opts);
-
- var dataLength = Object.keys(data).length;
-
- // Generate columns if they are not defined
- if ((!columns || columns.length == 0) && dataLength > 0) {
- columns = Object.keys(data[0]).map(function(columnid) {
- return {columnid: columnid};
- });
- }
-
- var cells = {};
-
- if (wb.SheetNames.indexOf(opt.sheetid) > -1) {
- cells = wb.Sheets[opt.sheetid];
- } else {
- wb.SheetNames.push(opt.sheetid);
- wb.Sheets[opt.sheetid] = {};
- cells = wb.Sheets[opt.sheetid];
- }
-
- var range = 'A1';
- if (opt.range) range = opt.range;
-
- var col0 = alasql.utils.xlscn(range.match(/[A-Z]+/)[0]);
- var row0 = +range.match(/[0-9]+/)[0] - 1;
-
- if (wb.Sheets[opt.sheetid]['!ref']) {
- var rangem = wb.Sheets[opt.sheetid]['!ref'];
- var colm = alasql.utils.xlscn(rangem.match(/[A-Z]+/)[0]);
- var rowm = +rangem.match(/[0-9]+/)[0] - 1;
- } else {
- var colm = 1,
- rowm = 1;
- }
- var colmax = Math.max(col0 + columns.length, colm);
- var rowmax = Math.max(row0 + dataLength + 2, rowm);
-
- var i = row0 + 1;
-
- wb.Sheets[opt.sheetid]['!ref'] = 'A1:' + alasql.utils.xlsnc(colmax) + rowmax;
- // var i = 1;
-
- if (opt.headers) {
- columns.forEach(function(col, idx) {
- cells[alasql.utils.xlsnc(col0 + idx) + '' + i] = {v: col.columnid.trim()};
- });
- i++;
- }
-
- for (var j = 0; j < dataLength; j++) {
- columns.forEach(function(col, idx) {
- var cell = {v: data[j][col.columnid]};
- if (typeof data[j][col.columnid] == 'number') {
- cell.t = 'n';
- } else if (typeof data[j][col.columnid] == 'string') {
- cell.t = 's';
- } else if (typeof data[j][col.columnid] == 'boolean') {
- cell.t = 'b';
- } else if (typeof data[j][col.columnid] == 'object') {
- if (data[j][col.columnid] instanceof Date) {
- cell.t = 'd';
- }
- }
- cells[alasql.utils.xlsnc(col0 + idx) + '' + i] = cell;
- });
- i++;
- }
- }
-
- /**
- Save Workbook
- @params {array} wb Workbook
- @params {callback} cb Callback
- */
- function saveWorkbook(cb) {
-
- var XLSX;
-
- if (typeof filename == 'undefined') {
- res = wb;
- } else {
- XLSX = getXLSX();
-
- if (utils.isNode || utils.isMeteorServer) {
- XLSX.writeFile(wb, filename);
- } else {
- var wopts = {bookType: 'xlsx', bookSST: false, type: 'binary'};
- var wbout = XLSX.write(wb, wopts);
-
- function s2ab(s) {
- var buf = new ArrayBuffer(s.length);
- var view = new Uint8Array(buf);
- for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xff;
- return buf;
- }
-
- /* the saveAs call downloads a file on the local machine */
- // saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), '"'+filename+'"')
- // saveAs(new Blob([s2ab(wbout)],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}), filename)
- // saveAs(new Blob([s2ab(wbout)],{type:"application/vnd.ms-excel"}), '"'+filename+'"');
- if (isIE() == 9) {
- throw new Error(
- 'Cannot save XLSX files in IE9. Please use XLS() export function'
- );
- // var URI = 'data:text/plain;charset=utf-8,';
-
- /** @todo Check if this code is required */
-
- // alert('ie9');
- } else {
- saveAs(new Blob([s2ab(wbout)], {type: 'application/octet-stream'}), filename);
- }
- }
- }
-
- }
-};
-
-/*
-//
-// FROM functions Alasql.js
-// Date: 11.12.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Meteor
-*/
-
-/* global alasql Tabletop document Event */
-
-alasql.from.METEOR = function(filename, opts, cb, idx, query) {
- var res = filename.find(opts).fetch();
- if (cb) {
- res = cb(res, idx, query);
- }
- return res;
-};
-
-/**
- Google Spreadsheet reader
- */
-alasql.from.TABLETOP = function(key, opts, cb, idx, query) {
- var res = [];
-
- var opt = {headers: true, simpleSheet: true, key: key};
- alasql.utils.extend(opt, opts);
- opt.callback = function(data) {
- res = data;
- if (cb) {
- res = cb(res, idx, query);
- }
- };
-
- Tabletop.init(opt);
- return null;
-};
-
-alasql.from.HTML = function(selector, opts, cb, idx, query) {
- var opt = {};
- alasql.utils.extend(opt, opts);
-
- var sel = document.querySelector(selector);
- if (!sel && sel.tagName !== 'TABLE') {
- throw new Error('Selected HTML element is not a TABLE');
- }
-
- var res = [];
- var headers = opt.headers;
-
- if (headers && !Array.isArray(headers)) {
- headers = [];
- var ths = sel.querySelector('thead tr').children;
- for (var i = 0; i < ths.length; i++) {
- if (
- !(ths.item(i).style && ths.item(i).style.display === 'none' && opt.skipdisplaynone)
- ) {
- headers.push(ths.item(i).textContent);
- } else {
- headers.push(undefined);
- }
- }
- }
-
- var trs = sel.querySelectorAll('tbody tr');
-
- for (var j = 0; j < trs.length; j++) {
- var tds = trs.item(j).children;
- var r = {};
- for (i = 0; i < tds.length; i++) {
- if (
- !(tds.item(i).style && tds.item(i).style.display === 'none' && opt.skipdisplaynone)
- ) {
- if (headers) {
- r[headers[i]] = tds.item(i).textContent;
- } else {
- r[i] = tds.item(i).textContent;
-
- }
- }
- }
- res.push(r);
- }
-
- if (cb) {
- res = cb(res, idx, query);
- }
- return res;
-};
-
-alasql.from.RANGE = function(start, finish, cb, idx, query) {
- var res = [];
- for (var i = start; i <= finish; i++) {
- res.push(i);
- }
- // res = new alasql.Recordset({data:res,columns:{columnid:'_'}});
- if (cb) {
- res = cb(res, idx, query);
- }
- return res;
-};
-
-// Read data from any file
-alasql.from.FILE = function(filename, opts, cb, idx, query) {
- var fname;
- if (typeof filename === 'string') {
- fname = filename;
- } else if (filename instanceof Event) {
- fname = filename.target.files[0].name;
- } else {
- throw new Error('Wrong usage of FILE() function');
- }
-
- var parts = fname.split('.');
-
- var ext = parts[parts.length - 1].toUpperCase();
-
- if (alasql.from[ext]) {
-
- return alasql.from[ext](filename, opts, cb, idx, query);
- } else {
- throw new Error('Cannot recognize file type for loading');
- }
-};
-
-// Read JSON file
-
-alasql.from.JSON = function(filename, opts, cb, idx, query) {
- var res;
-
- filename = alasql.utils.autoExtFilename(filename, 'json', opts);
- alasql.utils.loadFile(filename, !!cb, function(data) {
-
- // res = [{a:1}];
- res = JSON.parse(data);
- if (cb) {
- res = cb(res, idx, query);
- }
- });
- return res;
-};
-
-alasql.from.TXT = function(filename, opts, cb, idx, query) {
- var res;
- filename = alasql.utils.autoExtFilename(filename, 'txt', opts);
- alasql.utils.loadFile(filename, !!cb, function(data) {
- res = data.split(/\r?\n/);
-
- // Remove last line if empty
- if (res[res.length - 1] === '') {
- res.pop();
- }
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- // Please avoid '===' here
- if (res[i] == +res[i]) {
- // eslint:ignore
- // jshint ignore:line
- res[i] = +res[i];
- }
- res[i] = [res[i]];
- }
- if (cb) {
- res = cb(res, idx, query);
- }
- });
- return res;
-};
-
-alasql.from.TAB = alasql.from.TSV = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- opts.separator = '\t';
- filename = alasql.utils.autoExtFilename(filename, 'tab', opts);
- opts.autoext = false;
- return alasql.from.CSV(filename, opts, cb, idx, query);
-};
-
-alasql.from.CSV = function(contents, opts, cb, idx, query) {
- var opt = {
- separator: ',',
- quote: '"',
- headers: true,
- };
- alasql.utils.extend(opt, opts);
- var res;
- var hs = [];
- function parseText(text) {
- var delimiterCode = opt.separator.charCodeAt(0);
- var quoteCode = opt.quote.charCodeAt(0);
-
- var EOL = {},
- EOF = {},
- rows = [],
- N = text.length,
- I = 0,
- n = 0,
- t,
- eol;
- function token() {
- if (I >= N) {
- return EOF;
- }
- if (eol) {
- return (eol = false, EOL);
- }
- var j = I;
- if (text.charCodeAt(j) === quoteCode) {
- var i = j;
- while (i++ < N) {
- if (text.charCodeAt(i) === quoteCode) {
- if (text.charCodeAt(i + 1) !== quoteCode) {
- break;
- }
- ++i;
- }
- }
- I = i + 2;
- var c = text.charCodeAt(i + 1);
- if (c === 13) {
- eol = true;
- if (text.charCodeAt(i + 2) === 10) {
- ++I;
- }
- } else if (c === 10) {
- eol = true;
- }
- return text.substring(j + 1, i).replace(/""/g, '"');
- }
- while (I < N) {
- var c = text.charCodeAt(I++),
- k = 1;
- if (c === 10) {
- eol = true;
- } else if (c === 13) {
- eol = true;
- if (text.charCodeAt(I) === 10) {
- ++I;
- ++k;
- }
- } else if (c !== delimiterCode) {
- continue;
- }
- return text.substring(j, I - k);
- }
- return text.substring(j);
- }
-
- while ((t = token()) !== EOF) {
- var a = [];
- while (t !== EOL && t !== EOF) {
- a.push(t.trim());
- t = token();
- }
-
- if (opt.headers) {
- if (n === 0) {
- if (typeof opt.headers === 'boolean') {
- hs = a;
- } else if (Array.isArray(opt.headers)) {
- hs = opt.headers;
- var r = {};
- hs.forEach(function(h, idx) {
- r[h] = a[idx];
- // Please avoid === here
- if (
- typeof r[h] !== 'undefined' &&
- r[h].length !== 0 &&
- r[h].trim() == +r[h]
- ) {
- // jshint ignore:line
- r[h] = +r[h];
- }
- });
- rows.push(r);
- }
- } else {
- var r = {};
- hs.forEach(function(h, idx) {
- r[h] = a[idx];
- if (
- typeof r[h] !== 'undefined' &&
- r[h].length !== 0 &&
- r[h].trim() == +r[h]
- ) {
- // jshint ignore:line
- r[h] = +r[h];
- }
- });
- rows.push(r);
- }
- n++;
- } else {
- rows.push(a);
- }
- }
-
- res = rows;
-
- if (opt.headers) {
- if (query && query.sources && query.sources[idx]) {
- var columns = (query.sources[idx].columns = []);
- hs.forEach(function(h) {
- columns.push({columnid: h});
- });
- }
- }
-
- if (cb) {
- res = cb(res, idx, query);
- }
- }
- if (new RegExp('\n').test(contents)) {
- parseText(contents);
- } else {
- contents = alasql.utils.autoExtFilename(contents, 'csv', opts);
- alasql.utils.loadFile(contents, !!cb, parseText);
- }
- return res;
-};
-
-function XLSXLSX(X, filename, opts, cb, idx, query) {
- var opt = {};
- opts = opts || {};
- alasql.utils.extend(opt, opts);
- if (typeof opt.headers === 'undefined') {
- opt.headers = true;
- }
- var res;
-
- /**
- * see https://github.com/SheetJS/js-xlsx/blob/5ae6b1965bfe3764656a96f536b356cd1586fec7/README.md
- * for example of using readAsArrayBuffer under `Parsing Workbooks`
- */
- function fixdata(data) {
- var o = '',
- l = 0,
- w = 10240;
- for (; l < data.byteLength / w; ++l)
- o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
- o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));
- return o;
- }
- function getHeaderText(text) {
- // if casesensitive option is set to false and there is a text value return lowercase value of text
- if (text && alasql.options.casesensitive === false) {
- return text.toLowerCase();
- } else {
- return text;
- }
- }
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- alasql.utils.loadBinaryFile(
- filename,
- !!cb,
- function(data) {
- // function processData(data) {
- if (data instanceof ArrayBuffer) {
- var arr = fixdata(data);
- var workbook = X.read(btoa(arr), {type: 'base64'});
- } else {
- var workbook = X.read(data, {type: 'binary'});
- }
-
- var sheetid;
- if (typeof opt.sheetid === 'undefined') {
- sheetid = workbook.SheetNames[0];
- } else {
- sheetid = opt.sheetid;
- }
- var range;
- var res = [];
- if (typeof opt.range === 'undefined') {
- range = workbook.Sheets[sheetid]['!ref'];
- } else {
- range = opt.range;
- if (workbook.Sheets[sheetid][range]) {
- range = workbook.Sheets[sheetid][range];
- }
- }
- // if range has some value then data is present in the current sheet
- // else current sheet is empty
- if (range) {
- var rg = range.split(':');
- var col0 = rg[0].match(/[A-Z]+/)[0];
- var row0 = +rg[0].match(/[0-9]+/)[0];
- var col1 = rg[1].match(/[A-Z]+/)[0];
- var row1 = +rg[1].match(/[0-9]+/)[0];
-
- var hh = {};
- var xlscnCol0 = alasql.utils.xlscn(col0);
- var xlscnCol1 = alasql.utils.xlscn(col1);
- for (var j = xlscnCol0; j <= xlscnCol1; j++) {
- var col = alasql.utils.xlsnc(j);
- if (opt.headers) {
- if (workbook.Sheets[sheetid][col + '' + row0]) {
- hh[col] = getHeaderText(workbook.Sheets[sheetid][col + '' + row0].v);
- } else {
- hh[col] = getHeaderText(col);
- }
- } else {
- hh[col] = col;
- }
- }
- if (opt.headers) {
- row0++;
- }
- for (var i = row0; i <= row1; i++) {
- var row = {};
- for (var j = xlscnCol0; j <= xlscnCol1; j++) {
- var col = alasql.utils.xlsnc(j);
- if (workbook.Sheets[sheetid][col + '' + i]) {
- row[hh[col]] = workbook.Sheets[sheetid][col + '' + i].v;
- }
- }
- res.push(row);
- }
- } else {
- res.push([]);
- }
-
- // Remove last empty line (issue #548)
- if (
- res.length > 0 &&
- res[res.length - 1] &&
- Object.keys(res[res.length - 1]).length == 0
- ) {
- res.pop();
- }
-
- if (cb) {
- res = cb(res, idx, query);
- }
- },
- function(err) {
- throw err;
- }
- );
-
- return res;
-}
-
-alasql.from.XLS = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- filename = alasql.utils.autoExtFilename(filename, 'xls', opts);
- opts.autoExt = false;
- return XLSXLSX(getXLSX(), filename, opts, cb, idx, query);
-};
-
-alasql.from.XLSX = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- filename = alasql.utils.autoExtFilename(filename, 'xlsx', opts);
- opts.autoExt = false;
- return XLSXLSX(getXLSX(), filename, opts, cb, idx, query);
-};
-
-alasql.from.ODS = function(filename, opts, cb, idx, query) {
- opts = opts || {};
- filename = alasql.utils.autoExtFilename(filename, 'ods', opts);
- opts.autoExt = false;
- return XLSXLSX(getXLSX(), filename, opts, cb, idx, query);
-};
-
-alasql.from.XML = function(filename, opts, cb, idx, query) {
- var res;
-
- alasql.utils.loadFile(filename, !!cb, function(data) {
-
- // res = [{a:1}];
-
- res = xmlparse(data).root;
-
- if (cb) res = cb(res, idx, query);
- });
- return res;
-};
-
-/**
- * Parse the given string of `xml`.
- *
- * @param {String} xml
- * @return {Object}
- * @api public
- */
-
-function xmlparse(xml) {
- xml = xml.trim();
-
- // strip comments
- xml = xml.replace(//g, '');
-
- return document();
-
- /**
- * XML document.
- */
-
- function document() {
- return {
- declaration: declaration(),
- root: tag(),
- };
- }
-
- /**
- * Declaration.
- */
-
- function declaration() {
- var m = match(/^<\?xml\s*/);
- if (!m) return;
-
- // tag
- var node = {
- attributes: {},
- };
-
- // attributes
- while (!(eos() || is('?>'))) {
- var attr = attribute();
- if (!attr) return node;
- node.attributes[attr.name] = attr.value;
- }
-
- match(/\?>\s*/);
-
- return node;
- }
-
- /**
- * Tag.
- */
-
- function tag() {
- var m = match(/^<([\w-:.]+)\s*/);
- if (!m) return;
-
- // name
- var node = {
- name: m[1],
- attributes: {},
- children: [],
- };
-
- // attributes
- while (!(eos() || is('>') || is('?>') || is('/>'))) {
- var attr = attribute();
- if (!attr) return node;
- node.attributes[attr.name] = attr.value;
- }
-
- // self closing tag
- if (match(/^\s*\/>\s*/)) {
- return node;
- }
-
- match(/\??>\s*/);
-
- // content
- node.content = content();
-
- // children
- var child;
- while ((child = tag())) {
- node.children.push(child);
- }
-
- // closing
- match(/^<\/[\w-:.]+>\s*/);
-
- return node;
- }
-
- /**
- * Text content.
- */
-
- function content() {
- var m = match(/^([^<]*)/);
- if (m) return m[1];
- return '';
- }
-
- /**
- * Attribute.
- */
-
- function attribute() {
- var m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);
- if (!m) return;
- return {name: m[1], value: strip(m[2])};
- }
-
- /**
- * Strip quotes from `val`.
- */
-
- function strip(val) {
- return val.replace(/^['"]|['"]$/g, '');
- }
-
- /**
- * Match `re` and advance the string.
- */
-
- function match(re) {
- var m = xml.match(re);
- if (!m) return;
- xml = xml.slice(m[0].length);
- return m;
- }
-
- /**
- * End-of-source.
- */
-
- function eos() {
- return 0 == xml.length;
- }
-
- /**
- * Check for `prefix`.
- */
-
- function is(prefix) {
- return 0 == xml.indexOf(prefix);
- }
-}
-
-alasql.from.GEXF = function(filename, opts, cb, idx, query) {
- var res;
- alasql('SEARCH FROM XML(' + filename + ')', [], function(data) {
- res = data;
-
- if (cb) res = cb(res);
- });
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* globals: alasql, yy */
-
-/**
- Print statement
- @class
- @param {object} params Initial setup properties
-*/
-
-/* global alasql, yy */
-
-yy.Print = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Generate SQL string
- @this Print statement object
-*/
-yy.Print.prototype.toString = function() {
- var s = 'PRINT';
- if (this.statement) s += ' ' + this.statement.toString();
- return s;
-};
-
-/**
- Print result of select statement or expression
- @param {string} databaseid Database identificator
- @param {object} params Query parameters
- @param {statement-callback} cb Callback function
- @this Print statement object
-*/
-yy.Print.prototype.execute = function(databaseid, params, cb) {
-
- var self = this;
- var res = 1;
-
- alasql.precompile(this, databaseid, params); /** @todo Change from alasql to this */
-
- if (this.exprs && this.exprs.length > 0) {
- var rs = this.exprs.map(function(expr) {
-
- var exprfn = new Function(
- 'params,alasql,p',
- 'var y;return ' + expr.toJS('({})', '', null)
- ).bind(self);
- var r = exprfn(params, alasql);
- return JSONtoString(r);
- });
- console.log.apply(console, rs);
- } else if (this.select) {
- var r = this.select.execute(databaseid, params);
- console.log(JSONtoString(r));
- } else {
- console.log();
- }
-
- if (cb) res = cb(res);
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Source = function(params) {
- return yy.extend(this, params);
-};
-yy.Source.prototype.toString = function() {
- var s = 'SOURCE';
- if (this.url) s += " '" + this.url + " '";
- return s;
-};
-
-// SOURCE FILE
-yy.Source.prototype.execute = function(databaseid, params, cb) {
-
- var res;
- loadFile(
- this.url,
- !!cb,
- function(data) {
-
- // res = 1;
- res = alasql(data);
- if (cb) res = cb(res);
- return res;
- },
- function(err) {
- throw err;
- }
- );
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global alasql, yy */
-
-yy.Require = function(params) {
- return yy.extend(this, params);
-};
-yy.Require.prototype.toString = function() {
- var s = 'REQUIRE';
- if (this.paths && this.paths.length > 0) {
- s += this.paths
- .map(function(path) {
- return path.toString();
- })
- .join(',');
- }
- if (this.plugins && this.plugins.length > 0) {
- s += this.plugins
- .map(function(plugin) {
- return plugin.toUpperCase();
- })
- .join(',');
- }
- return s;
-};
-
-/**
- Attach plug-in for Alasql
- */
-yy.Require.prototype.execute = function(databaseid, params, cb) {
- var self = this;
- var res = 0;
- var ss = '';
-
- if (this.paths && this.paths.length > 0) {
- this.paths.forEach(function(path) {
- loadFile(path.value, !!cb, function(data) {
- res++;
-
- ss += data;
- if (res < self.paths.length) return;
-
- new Function('params,alasql', ss)(params, alasql);
- if (cb) res = cb(res);
- });
- });
- } else if (this.plugins && this.plugins.length > 0) {
- this.plugins.forEach(function(plugin) {
- // If plugin is not loaded already
- if (!alasql.plugins[plugin]) {
- loadFile(alasql.path + '/alasql-' + plugin.toLowerCase() + '.js', !!cb, function(
- data
- ) {
- // Execute all plugins at the same time
- res++;
- ss += data;
- if (res < self.plugins.length) return;
-
- new Function('params,alasql', ss)(params, alasql);
- alasql.plugins[plugin] = true; // Plugin is loaded
- if (cb) res = cb(res);
- });
- }
- });
- } else {
- if (cb) res = cb(res);
- }
- return res;
-};
-
-/*
-//
-// HELP for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Assert = function(params) {
- return yy.extend(this, params);
-};
-yy.Source.prototype.toString = function() {
- var s = 'ASSERT';
- if (this.value) s += ' ' + JSON.stringify(this.value);
- return s;
-};
-
-// SOURCE FILE
-yy.Assert.prototype.execute = function(databaseid) {
-
- if (!deepEqual(alasql.res, this.value)) {
- // if(this.message) {
- // throw this.
- // } else {
- throw new Error(
- (this.message || 'Assert wrong') +
- ': ' +
- JSON.stringify(alasql.res) +
- ' == ' +
- JSON.stringify(this.value)
- );
- // }
- }
- return 1;
-};
-
-//
-// 91websql.js
-// WebSQL database support
-// (c) 2014, Andrey Gershun
-//
-
-var WEBSQL = (alasql.engines.WEBSQL = function() {});
-
-WEBSQL.createDatabase = function(wdbid, args, dbid, cb) {
- var res = 1;
- var wdb = openDatabase(wdbid, args[0], args[1], args[2]);
- if (this.dbid) {
- var db = alasql.createDatabase(this.dbid);
- db.engineid = 'WEBSQL';
- db.wdbid = wdbid;
- sb.wdb = db;
- }
- if (!wdb) {
- throw new Error('Cannot create WebSQL database "' + databaseid + '"');
- }
- if (cb) cb(res);
- return res;
-};
-
-WEBSQL.dropDatabase = function(databaseid) {
- throw new Error('This is impossible to drop WebSQL database.');
-};
-
-WEBSQL.attachDatabase = function(databaseid, dbid, args, params, cb) {
- var res = 1;
- if (alasql.databases[dbid]) {
- throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
- }
- alasqlopenDatabase(databaseid, args[0], args[1], args[2]);
- return res;
-};
-
-//
-// 91indexeddb.js
-// AlaSQL IndexedDB module
-// Date: 18.04.2015
-// (c) Andrey Gershun
-//
-
-/* global alasql, yy, utils*/
-
-var IDB = (alasql.engines.INDEXEDDB = function() {
- '';
-});
-
-if (utils.hasIndexedDB) {
- // For Chrome it work normally, for Firefox - simple shim
- if (typeof utils.global.indexedDB.webkitGetDatabaseNames == 'function') {
- IDB.getDatabaseNames = utils.global.indexedDB.webkitGetDatabaseNames.bind(
- utils.global.indexedDB
- );
- } else {
- IDB.getDatabaseNames = function() {
- var request = {};
- var result = {
- contains: function(name) {
- return true; // Always return true
- },
- notsupported: true,
- };
- setTimeout(function() {
- var event = {target: {result: result}};
- request.onsuccess(event);
- }, 0);
- return request;
- };
- IDB.getDatabaseNamesNotSupported = true;
- }
-}
-
-//
-// SHOW DATABASES
-// work only in chrome
-//
-IDB.showDatabases = function(like, cb) {
-
- var request = IDB.getDatabaseNames();
- request.onsuccess = function(event) {
- var dblist = event.target.result;
- if (IDB.getDatabaseNamesNotSupported) {
- throw new Error('SHOW DATABASE is not supported in this browser');
- }
- var res = [];
- if (like) {
- var relike = new RegExp(like.value.replace(/\%/g, '.*'), 'g');
- }
- for (var i = 0; i < dblist.length; i++) {
- if (!like || dblist[i].match(relike)) {
- res.push({databaseid: dblist[i]});
- }
- }
- cb(res);
- };
-};
-
-IDB.createDatabase = function(ixdbid, args, ifnotexists, dbid, cb) {
-
- var indexedDB = utils.global.indexedDB;
- if (ifnotexists) {
- var request2 = indexedDB.open(ixdbid, 1);
- request2.onsuccess = function(event) {
- event.target.result.close();
- if (cb) cb(1);
- };
- } else {
- var request1 = indexedDB.open(ixdbid, 1);
- request1.onupgradeneeded = function(e) {
-
- e.target.transaction.abort();
- };
- request1.onsuccess = function(e) {
-
- if (ifnotexists) {
- if (cb) cb(0);
- } else {
- throw new Error(
- 'IndexedDB: Cannot create new database "' +
- ixdbid +
- '" because it already exists'
- );
- }
- };
- }
-
-};
-
-IDB.createDatabase = function(ixdbid, args, ifnotexists, dbid, cb) {
- var indexedDB = utils.global.indexedDB;
- if (IDB.getDatabaseNamesNotSupported) {
- // Hack for Firefox
- if (ifnotexists) {
-
- var dbExists = true;
- var request2 = indexedDB.open(ixdbid);
-
- request2.onupgradeneeded = function(e) {
-
- dbExists = false;
- // e.target.transaction.abort();
- // cb(0);
- };
- request2.onsuccess = function(event) {
-
- event.target.result.close();
- if (dbExists) {
- if (cb) cb(0);
- } else {
- if (cb) cb(1);
- }
- };
- } else {
-
- var request1 = indexedDB.open(ixdbid);
- request1.onupgradeneeded = function(e) {
- e.target.transaction.abort();
- };
- request1.onabort = function(event) {
- if (cb) cb(1);
- };
- request1.onsuccess = function(event) {
- event.target.result.close();
- throw new Error(
- 'IndexedDB: Cannot create new database "' +
- ixdbid +
- '" because it already exists'
- );
- // cb(0);
- };
- }
- } else {
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
- if (dblist.contains(ixdbid)) {
- if (ifnotexists) {
- if (cb) cb(0);
- return;
- } else {
- throw new Error(
- 'IndexedDB: Cannot create new database "' +
- ixdbid +
- '" because it already exists'
- );
- }
- }
-
- var request2 = indexedDB.open(ixdbid, 1);
- request2.onsuccess = function(event) {
- event.target.result.close();
- if (cb) cb(1);
- };
- };
- }
-};
-
-IDB.dropDatabase = function(ixdbid, ifexists, cb) {
- var indexedDB = utils.global.indexedDB;
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
- if (!dblist.contains(ixdbid)) {
- if (ifexists) {
- if (cb) cb(0);
- return;
- } else {
- throw new Error(
- 'IndexedDB: Cannot drop new database "' + ixdbid + '" because it does not exist'
- );
- }
- }
- var request2 = indexedDB.deleteDatabase(ixdbid);
- request2.onsuccess = function(event) {
-
- if (cb) cb(1);
- };
- };
-};
-
-IDB.attachDatabase = function(ixdbid, dbid, args, params, cb) {
- if (!utils.hasIndexedDB) {
- throw new Error('The current browser does not support IndexedDB');
- }
- var indexedDB = utils.global.indexedDB;
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
- if (!dblist.contains(ixdbid)) {
- throw new Error(
- 'IndexedDB: Cannot attach database "' + ixdbid + '" because it does not exist'
- );
- }
- var request2 = indexedDB.open(ixdbid);
- request2.onsuccess = function(event) {
- var ixdb = event.target.result;
- var db = new alasql.Database(dbid || ixdbid);
- db.engineid = 'INDEXEDDB';
- db.ixdbid = ixdbid;
- db.tables = [];
- var tblist = ixdb.objectStoreNames;
- for (var i = 0; i < tblist.length; i++) {
- db.tables[tblist[i]] = {};
- }
-
- event.target.result.close();
- if (cb) cb(1);
- };
- };
-};
-
-IDB.createTable = function(databaseid, tableid, ifnotexists, cb) {
- var indexedDB = utils.global.indexedDB;
-
- var ixdbid = alasql.databases[databaseid].ixdbid;
-
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event__) {
- var dblist = event__.target.result;
- if (!dblist.contains(ixdbid)) {
- throw new Error(
- 'IndexedDB: Cannot create table in database "' +
- ixdbid +
- '" because it does not exist'
- );
- }
- var request2 = indexedDB.open(ixdbid);
- request2.onversionchange = function(event_) {
-
- event_.target.result.close();
- };
- request2.onsuccess = function(event_) {
- var version = event_.target.result.version;
- event_.target.result.close();
-
- var request3 = indexedDB.open(ixdbid, version + 1);
- request3.onupgradeneeded = function(event) {
- var ixdb = event.target.result;
-
- var store = ixdb.createObjectStore(tableid, {autoIncrement: true});
-
- };
- request3.onsuccess = function(event) {
-
- event.target.result.close();
- if (cb) cb(1);
- };
- request3.onerror = function(event) {
- throw event;
-
- };
- request3.onblocked = function(event) {
- throw new Error(
- 'Cannot create table "' +
- tableid +
- '" because database "' +
- databaseid +
- '" is blocked'
- );
-
- };
- };
- };
-};
-
-IDB.dropTable = function(databaseid, tableid, ifexists, cb) {
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
-
- var request1 = IDB.getDatabaseNames();
- request1.onsuccess = function(event) {
- var dblist = event.target.result;
-
- if (!dblist.contains(ixdbid)) {
- throw new Error(
- 'IndexedDB: Cannot drop table in database "' +
- ixdbid +
- '" because it does not exist'
- );
- }
-
- var request2 = indexedDB.open(ixdbid);
- request2.onversionchange = function(event) {
- event.target.result.close();
- };
-
- request2.onsuccess = function(event) {
- var version = event.target.result.version;
- event.target.result.close();
-
- var request3 = indexedDB.open(ixdbid, version + 1);
- request3.onupgradeneeded = function(event) {
- var ixdb = event.target.result;
- if (ixdb.objectStoreNames.contains(tableid)) {
- ixdb.deleteObjectStore(tableid);
- delete alasql.databases[databaseid].tables[tableid];
- } else {
- if (!ifexists) {
- throw new Error(
- 'IndexedDB: Cannot drop table "' +
- tableid +
- '" because it does not exist'
- );
- }
- }
- // var store = ixdb.createObjectStore(tableid);
-
- };
- request3.onsuccess = function(event) {
-
- event.target.result.close();
- if (cb) cb(1);
- };
- request3.onerror = function(event) {
-
- throw event;
- };
- request3.onblocked = function(event) {
- throw new Error(
- 'Cannot drop table "' +
- tableid +
- '" because database "' +
- databaseid +
- '" is blocked'
- );
-
- };
- };
- };
-};
-
-IDB.intoTable = function(databaseid, tableid, value, columns, cb) {
-
- // console.trace();
-
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request1 = indexedDB.open(ixdbid);
- request1.onsuccess = function(event) {
- var ixdb = event.target.result;
- var tx = ixdb.transaction([tableid], 'readwrite');
- var tb = tx.objectStore(tableid);
-
- for (var i = 0, ilen = value.length; i < ilen; i++) {
- tb.add(value[i]);
- }
- tx.oncomplete = function() {
- ixdb.close();
-
- if (cb) cb(ilen);
- };
- };
-
-};
-
-IDB.fromTable = function(databaseid, tableid, cb, idx, query) {
-
- // console.trace();
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request = indexedDB.open(ixdbid);
- request.onsuccess = function(event) {
- var res = [];
- var ixdb = event.target.result;
-
- var tx = ixdb.transaction([tableid]);
- var store = tx.objectStore(tableid);
- var cur = store.openCursor();
-
- cur.onblocked = function(event) {
-
- };
- cur.onerror = function(event) {
-
- };
- cur.onsuccess = function(event) {
-
- var cursor = event.target.result;
-
- if (cursor) {
- res.push(cursor.value);
- cursor["continue"]();
- } else {
-
- ixdb.close();
- if (cb) cb(res, idx, query);
- }
- };
- };
-};
-
-IDB.deleteFromTable = function(databaseid, tableid, wherefn, params, cb) {
-
- // console.trace();
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request = indexedDB.open(ixdbid);
- request.onsuccess = function(event) {
- var res = [];
- var ixdb = event.target.result;
-
- var tx = ixdb.transaction([tableid], 'readwrite');
- var store = tx.objectStore(tableid);
- var cur = store.openCursor();
- var num = 0;
-
- cur.onblocked = function(event) {
-
- };
- cur.onerror = function(event) {
-
- };
- cur.onsuccess = function(event) {
-
- var cursor = event.target.result;
-
- if (cursor) {
- if (!wherefn || wherefn(cursor.value, params)) {
-
- cursor["delete"]();
- num++;
- }
- cursor["continue"]();
- } else {
-
- ixdb.close();
- if (cb) cb(num);
- }
- };
- };
-};
-
-IDB.updateTable = function(databaseid, tableid, assignfn, wherefn, params, cb) {
-
- // console.trace();
- var indexedDB = utils.global.indexedDB;
- var ixdbid = alasql.databases[databaseid].ixdbid;
- var request = indexedDB.open(ixdbid);
- request.onsuccess = function(event) {
- var res = [];
- var ixdb = event.target.result;
-
- var tx = ixdb.transaction([tableid], 'readwrite');
- var store = tx.objectStore(tableid);
- var cur = store.openCursor();
- var num = 0;
-
- cur.onblocked = function(event) {
-
- };
- cur.onerror = function(event) {
-
- };
- cur.onsuccess = function(event) {
-
- var cursor = event.target.result;
-
- if (cursor) {
- if (!wherefn || wherefn(cursor.value, params)) {
-
- var r = cursor.value;
- assignfn(r, params);
-
- cursor.update(r);
- num++;
- }
- cursor["continue"]();
- } else {
-
- ixdb.close();
- if (cb) cb(num);
- }
- };
- };
-};
-
-//
-// 91localstorage.js
-// localStorage and DOM-Storage engine
-// Date: 09.12.2014
-// (c) Andrey Gershun
-//
-
-/* global alasql, yy, localStorage*/
-
-var LS = (alasql.engines.LOCALSTORAGE = function() {});
-
-/**
- Read data from localStorage with security breaks
- @param key {string} Address in localStorage
- @return {object} JSON object
-*/
-LS.get = function(key) {
- var s = localStorage.getItem(key);
- if (typeof s === 'undefined') return;
- var v;
- try {
- v = JSON.parse(s);
- } catch (err) {
- throw new Error('Cannot parse JSON object from localStorage' + s);
- }
- return v;
-};
-
-/**
- Store data into localStorage with security breaks
- @param key {string} Address in localStorage
- @return {object} JSON object
-*/
-LS.set = function(key, value) {
- if (typeof value === 'undefined') localStorage.removeItem(key);
- else localStorage.setItem(key, JSON.stringify(value));
-};
-
-/**
- Store table structure and data into localStorage
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
- @return Nothing
-*/
-LS.storeTable = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var table = db.tables[tableid];
- // Create empty structure for table
- var tbl = {};
- tbl.columns = table.columns;
- tbl.data = table.data;
- tbl.identities = table.identities;
- // TODO: May be add indexes, objects and other fields?
- LS.set(db.lsdbid + '.' + tableid, tbl);
-};
-
-/**
- Restore table structure and data
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
- @return Nothing
-*/
-LS.restoreTable = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var tbl = LS.get(db.lsdbid + '.' + tableid);
- var table = new alasql.Table();
- for (var f in tbl) {
- table[f] = tbl[f];
- }
- db.tables[tableid] = table;
- table.indexColumns();
- // We need to add other things here
- return table;
-};
-
-/**
- Remove table from localStorage
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
-*/
-
-LS.removeTable = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- localStorage.removeItem(db.lsdbid + '.' + tableid);
-};
-
-/**
- Create database in localStorage
- @param lsdbid {string} localStorage database id
- @param args {array} List of parameters (not used in localStorage)
- @param ifnotexists {boolean} Check if database does not exist
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param cb {function} Callback
-*/
-
-LS.createDatabase = function(lsdbid, args, ifnotexists, databaseid, cb) {
- var res = 1;
- var ls = LS.get('alasql'); // Read list of all databases
- if (!(ifnotexists && ls && ls.databases && ls.databases[lsdbid])) {
- if (!ls) ls = {databases: {}}; // Empty record
- if (ls.databases && ls.databases[lsdbid]) {
- throw new Error(
- 'localStorage: Cannot create new database "' +
- lsdbid +
- '" because it already exists'
- );
- }
- ls.databases[lsdbid] = true;
- LS.set('alasql', ls);
- LS.set(lsdbid, {databaseid: lsdbid, tables: {}}); // Create database record
- } else {
- res = 0;
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Drop external database
- @param lsdbid {string} localStorage database id
- @param ifexists {boolean} Check if database exists
- @param cb {function} Callback
-*/
-LS.dropDatabase = function(lsdbid, ifexists, cb) {
- var res = 1;
- var ls = LS.get('alasql');
- if (!(ifexists && ls && ls.databases && !ls.databases[lsdbid])) {
- // 1. Remove record from 'alasql' record
- if (!ls) {
- if (!ifexists) {
- throw new Error('There is no any AlaSQL databases in localStorage');
- } else {
- return cb ? cb(0) : 0;
- }
- }
-
- if (ls.databases && !ls.databases[lsdbid]) {
- throw new Error(
- 'localStorage: Cannot drop database "' +
- lsdbid +
- '" because there is no such database'
- );
- }
- delete ls.databases[lsdbid];
- LS.set('alasql', ls);
-
- // 2. Remove tables definitions
- var db = LS.get(lsdbid);
- for (var tableid in db.tables) {
- localStorage.removeItem(lsdbid + '.' + tableid);
- }
-
- // 3. Remove database definition
- localStorage.removeItem(lsdbid);
- } else {
- res = 0;
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Attach existing localStorage database to AlaSQL database
- @param lsdibid {string} localStorage database id
- @param
-*/
-
-LS.attachDatabase = function(lsdbid, databaseid, args, params, cb) {
- var res = 1;
- if (alasql.databases[databaseid]) {
- throw new Error(
- 'Unable to attach database as "' + databaseid + '" because it already exists'
- );
- }
- if (!databaseid) databaseid = lsdbid;
- var db = new alasql.Database(databaseid);
- db.engineid = 'LOCALSTORAGE';
- db.lsdbid = lsdbid;
- db.tables = LS.get(lsdbid).tables;
- // IF AUTOABORT IS OFF then copy data to memory
- if (!alasql.options.autocommit) {
- if (db.tables) {
- for (var tbid in db.tables) {
- LS.restoreTable(databaseid, tbid);
- // db.tables[tbid].data = LS.get(db.lsdbid+'.'+tbid);
- }
- }
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Show list of databases from localStorage
- @param like {string} Mathing pattern
- @param cb {function} Callback
-*/
-LS.showDatabases = function(like, cb) {
- var res = [];
- var ls = LS.get('alasql');
- if (like) {
- // TODO: If we have a special function for LIKE patterns?
- var relike = new RegExp(like.value.replace(/%/g, '.*'), 'g');
- }
- if (ls && ls.databases) {
- for (var dbid in ls.databases) {
- res.push({databaseid: dbid});
- }
- if (like && res && res.length > 0) {
- res = res.filter(function(d) {
- return d.databaseid.match(relike);
- });
- }
- }
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Create table in localStorage database
- @param databaseid {string} AlaSQL database id
- @param tableid {string} Table id
- @param ifnotexists {boolean} If not exists flag
- @param cb {function} Callback
-*/
-
-LS.createTable = function(databaseid, tableid, ifnotexists, cb) {
- var res = 1;
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var tb = LS.get(lsdbid + '.' + tableid);
- // Check if such record exists
- if (tb && !ifnotexists) {
- throw new Error(
- 'Table "' + tableid + '" alsready exists in localStorage database "' + lsdbid + '"'
- );
- }
- var lsdb = LS.get(lsdbid);
- var table = alasql.databases[databaseid].tables[tableid];
-
- // TODO: Check if required
- lsdb.tables[tableid] = true;
-
- LS.set(lsdbid, lsdb);
- LS.storeTable(databaseid, tableid);
-
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Empty table and reset identities
- @param databaseid {string} AlaSQL database id (not external localStorage)
- @param tableid {string} Table name
- @param ifexists {boolean} If exists flag
- @param cb {function} Callback
- @return 1 on success
-*/
-LS.truncateTable = function(databaseid, tableid, ifexists, cb) {
- var res = 1;
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb;
- if (alasql.options.autocommit) {
- lsdb = LS.get(lsdbid);
- } else {
- lsdb = alasql.databases[databaseid];
- }
-
- if (!ifexists && !lsdb.tables[tableid]) {
- throw new Error(
- 'Cannot truncate table "' + tableid + '" in localStorage, because it does not exist'
- );
- }
-
- //load table
- var tbl = LS.restoreTable(databaseid, tableid);
-
- //clear data from table
- tbl.data = [];
- //TODO reset all identities
- //but identities are not working on LOCALSTORAGE
- //See test 607 for details
-
- //store table
- LS.storeTable(databaseid, tableid);
-
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Create table in localStorage database
- @param databaseid {string} AlaSQL database id
- @param tableid {string} Table id
- @param ifexists {boolean} If exists flag
- @param cb {function} Callback
-*/
-
-LS.dropTable = function(databaseid, tableid, ifexists, cb) {
- var res = 1;
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb;
-
- if (alasql.options.autocommit) {
- lsdb = LS.get(lsdbid);
- } else {
- lsdb = alasql.databases[databaseid];
- }
- if (!ifexists && !lsdb.tables[tableid]) {
- throw new Error(
- 'Cannot drop table "' + tableid + '" in localStorage, because it does not exist'
- );
- }
- delete lsdb.tables[tableid];
- LS.set(lsdbid, lsdb);
- // localStorage.removeItem(lsdbid+'.'+tableid);
- LS.removeTable(databaseid, tableid);
- if (cb) res = cb(res);
- return res;
-};
-
-/**
- Read all data from table
-*/
-
-LS.fromTable = function(databaseid, tableid, cb, idx, query) {
-
- var lsdbid = alasql.databases[databaseid].lsdbid;
- // var res = LS.get(lsdbid+'.'+tableid);
-
- var res = LS.restoreTable(databaseid, tableid).data;
-
- if (cb) res = cb(res, idx, query);
- return res;
-};
-
-/**
- Insert data into the table
- @param databaseid {string} Database id
- @param tableid {string} Table id
- @param value {array} Array of values
- @param columns {array} Columns (not used)
- @param cb {function} Callback
-*/
-
-LS.intoTable = function(databaseid, tableid, value, columns, cb) {
-
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var res = value.length;
- // var tb = LS.get(lsdbid+'.'+tableid);
- var tb = LS.restoreTable(databaseid, tableid);
- if (!tb.data) tb.data = [];
- tb.data = tb.data.concat(value);
- // LS.set(lsdbid+'.'+tableid, tb);
- LS.storeTable(databaseid, tableid);
-
- if (cb) res = cb(res);
-
- return res;
-};
-
-/**
- Laad data from table
-*/
-LS.loadTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var lsdbid = alasql.databases[databaseid].lsdbid;
- LS.restoreTable(databaseid, tableid);
- // db.tables[tableid].data = LS.get(lsdbid+'.'+tableid);
-};
-
-/**
- Save data to the table
-*/
-
-LS.saveTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- var lsdbid = alasql.databases[databaseid].lsdbid;
- LS.storeTable(lsdbid, tableid);
- // LS.set(lsdbid+'.'+tableid,db.tables[tableid].data);
- db.tables[tableid].data = undefined;
-};
-
-/**
- Commit
-*/
-
-LS.commit = function(databaseid, cb) {
-
- var db = alasql.databases[databaseid];
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb = {databaseid: lsdbid, tables: {}};
- if (db.tables) {
- for (var tbid in db.tables) {
- // TODO: Question - do we need this line
- lsdb.tables[tbid] = true;
- LS.storeTable(databaseid, tbid);
- // LS.set(lsdbid+'.'+tbid, db.tables[tbid].data);
- }
- }
- LS.set(lsdbid, lsdb);
- return cb ? cb(1) : 1;
-};
-
-/**
- Alias BEGIN = COMMIT
-*/
-LS.begin = LS.commit;
-
-/**
- ROLLBACK
-*/
-
-LS.rollback = function(databaseid, cb) {
- // This does not work and should be fixed
- // Plus test 151 and 231
-
- return;
-
- var db = alasql.databases[databaseid];
- db.dbversion++;
-
- var lsdbid = alasql.databases[databaseid].lsdbid;
- var lsdb = LS.get(lsdbid);
- // if(!alasql.options.autocommit) {
-
- delete alasql.databases[databaseid];
- alasql.databases[databaseid] = new alasql.Database(databaseid);
- extend(alasql.databases[databaseid], lsdb);
- alasql.databases[databaseid].databaseid = databaseid;
- alasql.databases[databaseid].engineid = 'LOCALSTORAGE';
-
- if (lsdb.tables) {
- for (var tbid in lsdb.tables) {
- // var tb = new alasql.Table({columns: db.tables[tbid].columns});
- // extend(tb,lsdb.tables[tbid]);
- // lsdb.tables[tbid] = true;
-
- // if(!alasql.options.autocommit) {
-
- // lsdb.tables[tbid].data = LS.get(db.lsdbid+'.'+tbid);
- LS.restoreTable(databaseid, tbid);
- // }
- // lsdb.tables[tbid].indexColumns();
-
- // index columns
- // convert types
- }
- }
- // }
-
-};
-
-//
-// 91websql.js
-// WebSQL database support
-// (c) 2014, Andrey Gershun
-//
-
-var SQLITE = (alasql.engines.SQLITE = function() {});
-
-SQLITE.createDatabase = function(wdbid, args, ifnotexists, dbid, cb) {
- throw new Error('Connot create SQLITE database in memory. Attach it.');
-};
-
-SQLITE.dropDatabase = function(databaseid) {
- throw new Error('This is impossible to drop SQLite database. Detach it.');
-};
-
-SQLITE.attachDatabase = function(sqldbid, dbid, args, params, cb) {
- var res = 1;
- if (alasql.databases[dbid]) {
- throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
- }
-
- if ((args[0] && args[0] instanceof yy.StringValue) || args[0] instanceof yy.ParamValue) {
- if (args[0] instanceof yy.StringValue) {
- var value = args[0].value;
- } else if (args[0] instanceof yy.ParamValue) {
- var value = params[args[0].param];
- }
- alasql.utils.loadBinaryFile(
- value,
- true,
- function(data) {
- var db = new alasql.Database(dbid || sqldbid);
- db.engineid = 'SQLITE';
- db.sqldbid = sqldbid;
- var sqldb = (db.sqldb = new SQL.Database(data));
- db.tables = [];
- var tables = sqldb.exec("SELECT * FROM sqlite_master WHERE type='table'")[0].values;
-
- tables.forEach(function(tbl) {
- db.tables[tbl[1]] = {};
- var columns = (db.tables[tbl[1]].columns = []);
- var ast = alasql.parse(tbl[4]);
-
- var coldefs = ast.statements[0].columns;
- if (coldefs && coldefs.length > 0) {
- coldefs.forEach(function(cd) {
- columns.push(cd);
- });
- }
- });
-
- cb(1);
- },
- function(err) {
- throw new Error('Cannot open SQLite database file "' + args[0].value + '"');
- }
- );
- return res;
- } else {
- throw new Error('Cannot attach SQLite database without a file');
- }
-
- return res;
-};
-
-SQLITE.fromTable = function(databaseid, tableid, cb, idx, query) {
- var data = alasql.databases[databaseid].sqldb.exec('SELECT * FROM ' + tableid);
- var columns = (query.sources[idx].columns = []);
- if (data[0].columns.length > 0) {
- data[0].columns.forEach(function(columnid) {
- columns.push({columnid: columnid});
- });
- }
-
- var res = [];
- if (data[0].values.length > 0) {
- data[0].values.forEach(function(d) {
- var r = {};
- columns.forEach(function(col, idx) {
- r[col.columnid] = d[idx];
- });
- res.push(r);
- });
- }
- if (cb) cb(res, idx, query);
-};
-
-SQLITE.intoTable = function(databaseid, tableid, value, columns, cb) {
- var sqldb = alasql.databases[databaseid].sqldb;
- for (var i = 0, ilen = value.length; i < ilen; i++) {
- var s = 'INSERT INTO ' + tableid + ' (';
- var d = value[i];
- var keys = Object.keys(d);
- s += keys.join(',');
- s += ') VALUES (';
- s += keys
- .map(function(k) {
- v = d[k];
- if (typeof v == 'string') v = "'" + v + "'";
- return v;
- })
- .join(',');
- s += ')';
- sqldb.exec(s);
- }
- var res = ilen;
- if (cb) cb(res);
- return res;
-};
-
-//
-// 91localstorage.js
-// localStorage and DOM-Storage engine
-// Date: 09.12.2014
-// (c) Andrey Gershun
-//
-
-var FS = (alasql.engines.FILESTORAGE = alasql.engines.FILE = function() {});
-
-FS.createDatabase = function(fsdbid, args, ifnotexists, dbid, cb) {
-
- var res = 1;
- var filename = args[0].value;
-
- alasql.utils.fileExists(filename, function(fex) {
-
- if (fex) {
- if (ifnotexists) {
- res = 0;
- if (cb) res = cb(res);
- return res;
- } else {
- throw new Error('Cannot create new database file, because it already exists');
- }
- } else {
- var data = {tables: {}};
- alasql.utils.saveFile(filename, JSON.stringify(data), function(data) {
- if (cb) res = cb(res);
- });
- }
- });
- return res;
-};
-
-FS.dropDatabase = function(fsdbid, ifexists, cb) {
- var res;
- var filename = fsdbid.value;
-
- alasql.utils.fileExists(filename, function(fex) {
- if (fex) {
- res = 1;
- alasql.utils.deleteFile(filename, function() {
- res = 1;
- if (cb) res = cb(res);
- });
- } else {
- if (!ifexists) {
- throw new Error('Cannot drop database file, because it does not exist');
- }
- res = 0;
- if (cb) res = cb(res);
- }
- });
- return res;
-};
-
-FS.attachDatabase = function(fsdbid, dbid, args, params, cb) {
-
- var res = 1;
- if (alasql.databases[dbid]) {
- throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
- }
- var db = new alasql.Database(dbid || fsdbid);
- db.engineid = 'FILESTORAGE';
- // db.fsdbid = fsdbid;
- db.filename = args[0].value;
- loadFile(db.filename, !!cb, function(s) {
- try {
- db.data = JSON.parse(s);
- } catch (err) {
- throw new Error('Data in FileStorage database are corrupted');
- }
- db.tables = db.data.tables;
- // IF AUTOCOMMIT IS OFF then copy data to memory
- if (!alasql.options.autocommit) {
- if (db.tables) {
- for (var tbid in db.tables) {
- db.tables[tbid].data = db.data[tbid];
- }
- }
- }
- if (cb) res = cb(res);
- });
- return res;
-};
-
-FS.createTable = function(databaseid, tableid, ifnotexists, cb) {
- var db = alasql.databases[databaseid];
- var tb = db.data[tableid];
- var res = 1;
-
- if (tb && !ifnotexists) {
- throw new Error('Table "' + tableid + '" alsready exists in the database "' + fsdbid + '"');
- }
- var table = alasql.databases[databaseid].tables[tableid];
- db.data.tables[tableid] = {columns: table.columns};
- db.data[tableid] = [];
-
- FS.updateFile(databaseid);
-
- if (cb) cb(res);
- return res;
-};
-
-FS.updateFile = function(databaseid) {
-
- var db = alasql.databases[databaseid];
- if (db.issaving) {
- db.postsave = true;
- return;
- }
- db.issaving = true;
- db.postsave = false;
- alasql.utils.saveFile(db.filename, JSON.stringify(db.data), function() {
- db.issaving = false;
-
- if (db.postsave) {
- setTimeout(function() {
- FS.updateFile(databaseid);
- }, 50); // TODO Test with different timeout parameters
- }
- });
-};
-
-FS.dropTable = function(databaseid, tableid, ifexists, cb) {
- var res = 1;
- var db = alasql.databases[databaseid];
- if (!ifexists && !db.tables[tableid]) {
- throw new Error(
- 'Cannot drop table "' + tableid + '" in fileStorage, because it does not exist'
- );
- }
- delete db.tables[tableid];
- delete db.data.tables[tableid];
- delete db.data[tableid];
- FS.updateFile(databaseid);
- if (cb) cb(res);
- return res;
-};
-
-FS.fromTable = function(databaseid, tableid, cb, idx, query) {
-
- var db = alasql.databases[databaseid];
- var res = db.data[tableid];
- if (cb) res = cb(res, idx, query);
- return res;
-};
-
-FS.intoTable = function(databaseid, tableid, value, columns, cb) {
- var db = alasql.databases[databaseid];
- var res = value.length;
- var tb = db.data[tableid];
- if (!tb) tb = [];
- db.data[tableid] = tb.concat(value);
- FS.updateFile(databaseid);
- if (cb) cb(res);
- return res;
-};
-
-FS.loadTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- db.tables[tableid].data = db.data[tableid];
-};
-
-FS.saveTableData = function(databaseid, tableid) {
- var db = alasql.databases[databaseid];
- db.data[tableid] = db.tables[tableid].data;
- db.tables[tableid].data = null;
- FS.updateFile(databaseid);
-};
-
-FS.commit = function(databaseid, cb) {
-
- var db = alasql.databases[databaseid];
- var fsdb = {tables: {}};
- if (db.tables) {
- for (var tbid in db.tables) {
- db.data.tables[tbid] = {columns: db.tables[tbid].columns};
- db.data[tbid] = db.tables[tbid].data;
- }
- }
- FS.updateFile(databaseid);
- return cb ? cb(1) : 1;
-};
-
-FS.begin = FS.commit;
-
-FS.rollback = function(databaseid, cb) {
- var res = 1;
- var db = alasql.databases[databaseid];
- db.dbversion++;
-
- // var lsdbid = alasql.databases[databaseid].lsdbid;
- // lsdb = LS.get(lsdbid);
- wait();
- function wait() {
- setTimeout(function() {
- if (db.issaving) {
- return wait();
- } else {
- alasql.loadFile(db.filename, !!cb, function(data) {
- db.data = data;
- db.tables = {};
- for (var tbid in db.data.tables) {
- var tb = new alasql.Table({columns: db.data.tables[tbid].columns});
- extend(tb, db.data.tables[tbid]);
- db.tables[tbid] = tb;
- if (!alasql.options.autocommit) {
- db.tables[tbid].data = db.data[tbid];
- }
- db.tables[tbid].indexColumns();
-
- // index columns
- // convert types
- }
-
- delete alasql.databases[databaseid];
- alasql.databases[databaseid] = new alasql.Database(databaseid);
- extend(alasql.databases[databaseid], db);
- alasql.databases[databaseid].engineid = 'FILESTORAGE';
- alasql.databases[databaseid].filename = db.filename;
-
- if (cb) res = cb(res);
- // Todo: check why no return
- });
- }
- }, 100);
- }
-
- // if(!alasql.options.autocommit) {
-
-};
-
-if(utils.isBrowser && !utils.isWebWorker) {
-
-alasql = alasql || false;
-
-if (!alasql) {
- throw new Error('alasql was not found');
-}
-
-alasql.worker = function() {
- throw new Error('Can find webworker in this enviroment');
-};
-
-if (typeof Worker !== 'undefined') {
- alasql.worker = function(path, paths, cb) {
- // var path;
- if (path === true) {
- path = undefined;
- }
-
- if (typeof path === 'undefined') {
- var sc = document.getElementsByTagName('script');
- for (var i = 0; i < sc.length; i++) {
- if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
- path = sc[i].src.substr(0, sc[i].src.length - 16) + 'alasql.js';
- break;
- } else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
- path = sc[i].src.substr(0, sc[i].src.length - 20) + 'alasql.min.js';
- break;
- } else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
- path = sc[i].src;
- break;
- } else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
- path = sc[i].src.substr(0, sc[i].src.length - 13) + 'alasql.min.js';
- break;
- }
- }
- }
-
- if (typeof path === 'undefined') {
- throw new Error('Path to alasql.js is not specified');
- } else if (path !== false) {
- var js = "importScripts('";
- js += path;
- js +=
- "');self.onmessage = function(event) {" +
- 'alasql(event.data.sql,event.data.params, function(data){' +
- 'postMessage({id:event.data.id, data:data});});}';
-
- var blob = new Blob([js], {type: 'text/plain'});
- alasql.webworker = new Worker(URL.createObjectURL(blob));
-
- alasql.webworker.onmessage = function(event) {
- var id = event.data.id;
-
- alasql.buffer[id](event.data.data);
- delete alasql.buffer[id];
- };
-
- alasql.webworker.onerror = function(e) {
- throw e;
- };
-
- if (arguments.length > 1) {
- var sql =
- 'REQUIRE ' +
- paths
- .map(function(p) {
- return '"' + p + '"';
- })
- .join(',');
- alasql(sql, [], cb);
- }
- } else if (path === false) {
- delete alasql.webworker;
- return;
- }
- };
-}
-
-/* FileSaver.js
- * A saveAs() FileSaver implementation.
- * 1.3.2
- * 2016-06-16 18:25:19
- *
- * By Eli Grey, http://eligrey.com
- * License: MIT
- * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
- */
-
-/*global self */
-/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
-
-/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
-
-var saveAs =
- saveAs ||
- (function(view) {
- 'use strict';
- // IE <10 is explicitly unsupported
- if (
- typeof view === 'undefined' ||
- (typeof navigator !== 'undefined' && /MSIE [1-9]\./.test(navigator.userAgent))
- ) {
- return;
- }
- var doc = view.document,
- // only get URL when necessary in case Blob.js hasn't overridden it yet
- get_URL = function() {
- return view.URL || view.webkitURL || view;
- },
- save_link = doc.createElementNS('http://www.w3.org/1999/xhtml', 'a'),
- can_use_save_link = 'download' in save_link,
- click = function(node) {
- var event = new MouseEvent('click');
- node.dispatchEvent(event);
- },
- is_safari = /constructor/i.test(view.HTMLElement) || view.safari,
- is_chrome_ios = /CriOS\/[\d]+/.test(navigator.userAgent),
- throw_outside = function(ex) {
- (view.setImmediate || view.setTimeout)(function() {
- throw ex;
- }, 0);
- },
- force_saveable_type = 'application/octet-stream',
- // the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
- arbitrary_revoke_timeout = 1000 * 40, // in ms
- revoke = function(file) {
- var revoker = function() {
- if (typeof file === 'string') {
- // file is an object URL
- get_URL().revokeObjectURL(file);
- } else {
- // file is a File
- file.remove();
- }
- };
- setTimeout(revoker, arbitrary_revoke_timeout);
- },
- dispatch = function(filesaver, event_types, event) {
- event_types = [].concat(event_types);
- var i = event_types.length;
- while (i--) {
- var listener = filesaver['on' + event_types[i]];
- if (typeof listener === 'function') {
- try {
- listener.call(filesaver, event || filesaver);
- } catch (ex) {
- throw_outside(ex);
- }
- }
- }
- },
- auto_bom = function(blob) {
- // prepend BOM for UTF-8 XML and text/* types (including HTML)
- // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
- if (
- /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(
- blob.type
- )
- ) {
- return new Blob([String.fromCharCode(0xfeff), blob], {type: blob.type});
- }
- return blob;
- },
- FileSaver = function(blob, name, no_auto_bom) {
- if (!no_auto_bom) {
- blob = auto_bom(blob);
- }
- // First try a.download, then web filesystem, then object URLs
- var filesaver = this,
- type = blob.type,
- force = type === force_saveable_type,
- object_url,
- dispatch_all = function() {
- dispatch(filesaver, 'writestart progress write writeend'.split(' '));
- },
- // on any filesys errors revert to saving with object URLs
- fs_error = function() {
- if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
- // Safari doesn't allow downloading of blob urls
- var reader = new FileReader();
- reader.onloadend = function() {
- var url = is_chrome_ios
- ? reader.result
- : reader.result.replace(
- /^data:[^;]*;/,
- 'data:attachment/file;'
- );
- var popup = view.open(url, '_blank');
- if (!popup) view.location.href = url;
- url = undefined; // release reference before dispatching
- filesaver.readyState = filesaver.DONE;
- dispatch_all();
- };
- reader.readAsDataURL(blob);
- filesaver.readyState = filesaver.INIT;
- return;
- }
- // don't create more object URLs than needed
- if (!object_url) {
- object_url = get_URL().createObjectURL(blob);
- }
- if (force) {
- view.location.href = object_url;
- } else {
- var opened = view.open(object_url, '_blank');
- if (!opened) {
- // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
- view.location.href = object_url;
- }
- }
- filesaver.readyState = filesaver.DONE;
- dispatch_all();
- revoke(object_url);
- };
- filesaver.readyState = filesaver.INIT;
-
- if (can_use_save_link) {
- object_url = get_URL().createObjectURL(blob);
- setTimeout(function() {
- save_link.href = object_url;
- save_link.download = name;
- click(save_link);
- dispatch_all();
- revoke(object_url);
- filesaver.readyState = filesaver.DONE;
- });
- return;
- }
-
- fs_error();
- },
- FS_proto = FileSaver.prototype,
- saveAs = function(blob, name, no_auto_bom) {
- return new FileSaver(blob, name || blob.name || 'download', no_auto_bom);
- };
- // IE 10+ (native saveAs)
- if (typeof navigator !== 'undefined' && navigator.msSaveOrOpenBlob) {
- return function(blob, name, no_auto_bom) {
- name = name || blob.name || 'download';
-
- if (!no_auto_bom) {
- blob = auto_bom(blob);
- }
- return navigator.msSaveOrOpenBlob(blob, name);
- };
- }
-
- FS_proto.abort = function() {};
- FS_proto.readyState = FS_proto.INIT = 0;
- FS_proto.WRITING = 1;
- FS_proto.DONE = 2;
-
- FS_proto.error = FS_proto.onwritestart = FS_proto.onprogress = FS_proto.onwrite = FS_proto.onabort = FS_proto.onerror = FS_proto.onwriteend = null;
-
- return saveAs;
- })(
- (typeof self !== 'undefined' && self) ||
- (typeof window !== 'undefined' && window) ||
- this.content
- );
-// `self` is undefined in Firefox for Android content script context
-// while `this` is nsIContentFrameMessageManager
-// with an attribute `content` that corresponds to the window
-
-if (typeof module !== 'undefined' && module.exports) {
- module.exports.saveAs = saveAs;
-} else if (typeof define !== 'undefined' && define !== null && define.amd !== null) {
- define('FileSaver.js', function() {
- return saveAs;
- });
-}
-
-/* eslint-disable */
-
-/*
-//
-// Last part of Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// This is a final part of Alasql
-
-//*only-for-browser/*
-if(utils.isCordova || utils.isMeteorServer || utils.isNode ){
- console.warn('It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead.')
-}
-//*/
-
-// FileSaveAs
-alasql.utils.saveAs = saveAs;
-
-};
-
-// Create default database
-new Database("alasql");
-
-// Set default database
-alasql.use("alasql");
+ //! AlaSQL vPACKAGE_VERSION_NUMBER | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
+ var alasql$1 = function () { };
+ var mem = { grammar: alasqlparser, alasql: alasql$1 };
+ mem.alasql = logic(mem);
+ mem.alasql.version = '0.5.0-modular-typescript';
+ mem.alasql.debug = false;
+ addOptions(mem);
+ expandGrammar(mem);
+ addDataStruct(mem);
+ addlogic(mem);
+ /*only-for-browser/*
+ //!var require = function(){return null}; // as alasqlparser.js is generated, we can not "remove" referenses to
+ //!var __dirname = '';
+ //*/
+ /*only-for-browser/*
+ if(utils.isCordova || utils.isMeteorServer || utils.isNode ){
+ console.warn('It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead.')
+ }
+ //*/
+ // Create and set default database
+ mem.alasql.newDatabase('alasql');
+ var main = mem.alasql;
-return alasql;
-}));
+ return main;
+})));
diff --git a/dist/alasql.min.js b/dist/alasql.min.js
old mode 100755
new mode 100644
index 95d8f0ce7e..e865b2eebe
--- a/dist/alasql.min.js
+++ b/dist/alasql.min.js
@@ -1,16 +1 @@
-//! AlaSQL v0.4.6 | © 2014-2016 Andrey Gershun & Mathias Rangel Wulff | License: MIT
-"use strict";!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.alasql=t()}(this,function(){function e(e){return"(y="+e+",y===y?y:undefined)"}function t(e,t){return"(y="+e+',typeof y=="undefined"?undefined:'+t+")"}function r(){return!0}function n(){}function a(){var e=navigator.userAgent.toLowerCase();return-1!==e.indexOf("msie")&&parseInt(e.split("msie")[1])}function s(e,t,r){function n(e,r,a){var o,u,c,l=e[r];if(l.selid){if("PATH"===l.selid){for(var h=[{node:a,stack:[]}],d={},f=T.databases[T.useid].objects;h.length>0;){var p=h.shift(),b=p.node,E=p.stack,c=n(l.args,0,b);if(c.length>0){if(r+1+1>e.length)return E;var g=[];return E&&E.length>0&&E.forEach(function(t){g=g.concat(n(e,r+1,t))}),g}void 0===d[b.$id]&&(d[b.$id]=!0,b.$out&&b.$out.length>0&&b.$out.forEach(function(e){var t=f[e],r=E.concat(t);r.push(f[t.$out[0]]),h.push({node:f[t.$out[0]],stack:r})}))}return[]}if("NOT"===l.selid){var u=n(l.args,0,a);return u.length>0?[]:r+1+1>e.length?[a]:n(e,r+1,a)}if("DISTINCT"===l.selid){var u;if(u=void 0===l.args||0===l.args.length?P(a):n(l.args,0,a),0===u.length)return[];var m=P(u);return r+1+1>e.length?m:n(e,r+1,m)}if("AND"===l.selid){var m=!0;return l.args.forEach(function(e){m=m&&n(e,0,a).length>0}),m?r+1+1>e.length?[a]:n(e,r+1,a):[]}if("OR"===l.selid){var m=!1;return l.args.forEach(function(e){m=m||n(e,0,a).length>0}),m?r+1+1>e.length?[a]:n(e,r+1,a):[]}if("ALL"===l.selid){var u=n(l.args[0],0,a);return 0===u.length?[]:r+1+1>e.length?u:n(e,r+1,u)}if("ANY"===l.selid){var u=n(l.args[0],0,a);return 0===u.length?[]:r+1+1>e.length?[u[0]]:n(e,r+1,[u[0]])}if("UNIONALL"===l.selid){var u=[];return l.args.forEach(function(e){u=u.concat(n(e,0,a))}),0===u.length?[]:r+1+1>e.length?u:n(e,r+1,u)}if("UNION"===l.selid){var u=[];l.args.forEach(function(e){u=u.concat(n(e,0,a))});var u=P(u);return 0===u.length?[]:r+1+1>e.length?u:n(e,r+1,u)}if("IF"===l.selid){var u=n(l.args,0,a);return 0===u.length?[]:r+1+1>e.length?[a]:n(e,r+1,a)}if("REPEAT"===l.selid){var v,S,A=l.args[0].value;S=l.args[1]?l.args[1].value:A,l.args[2]&&(v=l.args[2].variable);var y=[];if(0===A&&(r+1+1>e.length?y=[a]:(v&&(T.vars[v]=0),y=y.concat(n(e,r+1,a)))),S>0)for(var N=[{value:a,lvl:1}],C=0;N.length>0;){var u=N[0];if(N.shift(),u.lvl<=S){v&&(T.vars[v]=u.lvl);var R=n(l.sels,0,u.value);R.forEach(function(e){N.push({value:e,lvl:u.lvl+1})}),u.lvl>=A&&(r+1+1>e.length?y=y.concat(R):R.forEach(function(t){y=y.concat(n(e,r+1,t))}))}if(++C>1e5)throw new Error("Security brake. Number of iterations = "+C)}return y}if("OF"===l.selid){if(r+1+1>e.length)return[a];var O=[];return Object.keys(a).forEach(function(t){T.vars[l.args[0].variable]=t,O=O.concat(n(e,r+1,a[t]))}),O}if("TO"===l.selid){var w=T.vars[l.args[0]],I=[];if(I=void 0!==w?w.slice(0):[],I.push(a),r+1+1>e.length)return[a];T.vars[l.args[0]]=I;var O=n(e,r+1,a);return T.vars[l.args[0]]=w,O}if("ARRAY"===l.selid){var u=n(l.args,0,a);return u.length>0?(o=u,r+1+1>e.length?[o]:n(e,r+1,o)):[]}if("SUM"===l.selid){var u=n(l.args,0,a);if(!(u.length>0))return[];var o=u.reduce(function(e,t){return e+t},0);return r+1+1>e.length?[o]:n(e,r+1,o)}if("AVG"===l.selid)return u=n(l.args,0,a),u.length>0?(o=u.reduce(function(e,t){return e+t},0)/u.length,r+1+1>e.length?[o]:n(e,r+1,o)):[];if("COUNT"===l.selid)return u=n(l.args,0,a),u.length>0?(o=u.length,r+1+1>e.length?[o]:n(e,r+1,o)):[];if("FIRST"===l.selid)return u=n(l.args,0,a),u.length>0?(o=u[0],r+1+1>e.length?[o]:n(e,r+1,o)):[];if("LAST"===l.selid)return u=n(l.args,0,a),u.length>0?(o=u[u.length-1],r+1+1>e.length?[o]:n(e,r+1,o)):[];if("MIN"===l.selid){if(u=n(l.args,0,a),0===u.length)return[];var o=u.reduce(function(e,t){return Math.min(e,t)},1/0);return r+1+1>e.length?[o]:n(e,r+1,o)}if("MAX"===l.selid){var u=n(l.args,0,a);if(0===u.length)return[];var o=u.reduce(function(e,t){return Math.max(e,t)},-1/0);return r+1+1>e.length?[o]:n(e,r+1,o)}if("PLUS"===l.selid){var y=[],N=n(l.args,0,a).slice();r+1+1>e.length?y=y.concat(N):N.forEach(function(t){y=y.concat(n(e,r+1,t))});for(var C=0;N.length>0;){var u=N.shift();if(u=n(l.args,0,u),N=N.concat(u),r+1+1>e.length?y=y.concat(u):u.forEach(function(t){var a=n(e,r+1,t);y=y.concat(a)}),++C>1e5)throw new Error("Security brake. Number of iterations = "+C)}return y}if("STAR"===l.selid){var y=[];y=n(e,r+1,a);var N=n(l.args,0,a).slice();r+1+1>e.length?y=y.concat(N):N.forEach(function(t){y=y.concat(n(e,r+1,t))});for(var C=0;N.length>0;){var u=N[0];if(N.shift(),u=n(l.args,0,u),N=N.concat(u),r+1+1<=e.length&&u.forEach(function(t){y=y.concat(n(e,r+1,t))}),++C>1e5)throw new Error("Loop brake. Number of iterations = "+C)}return y}if("QUESTION"===l.selid){var y=[];y=y.concat(n(e,r+1,a));var u=n(l.args,0,a);return r+1+1<=e.length&&u.forEach(function(t){y=y.concat(n(e,r+1,t))}),y}if("WITH"!==l.selid){if("ROOT"===l.selid)return r+1+1>e.length?[a]:n(e,r+1,s);throw new Error("Wrong selector "+l.selid)}var u=n(l.args,0,a);if(0===u.length)return[];var c={status:1,values:u}}else{if(!l.srchid)throw new Error("Selector not found");var c=T.srch[l.srchid.toUpperCase()](a,l.args,i,t)}void 0===c&&(c={status:1,values:[a]});var m=[];if(1===c.status){var x=c.values;if(r+1+1>e.length)m=x;else for(var C=0;C0&&(o&&o[0]&&"PROP"===o[0].srchid&&o[0].args&&o[0].args[0]&&("XML"===o[0].args[0].toUpperCase()?(i.mode="XML",o.shift()):"HTML"===o[0].args[0].toUpperCase()?(i.mode="HTML",o.shift()):"JSON"===o[0].args[0].toUpperCase()&&(i.mode="JSON",o.shift())),o.length>0&&"VALUE"===o[0].srchid&&(i.value=!0,o.shift())),this.from instanceof X.Column){var u=this.from.databaseid||e;s=T.databases[u].tables[this.from.columnid].data}else if(this.from instanceof X.FuncValue&&T.from[this.from.funcid.toUpperCase()]){var c=this.from.args.map(function(e){var r=e.toJS();return new Function("params,alasql","var y;return "+r).bind(this)(t,T)});s=T.from[this.from.funcid.toUpperCase()].apply(this,c)}else if(void 0===this.from)s=T.databases[e].objects;else{var l=new Function("params,alasql","var y;return "+this.from.toJS());s=l(t,T),"object"==typeof Mongo&&"object"!=typeof Mongo.Collection&&s instanceof Mongo.Collection&&(s=s.find().fetch())}if(a=void 0!==o&&o.length>0?n(o,0,s):s,this.into){var h,d;void 0!==this.into.args[0]&&(h=new Function("params,alasql","var y;return "+this.into.args[0].toJS())(t,T)),void 0!==this.into.args[1]&&(d=new Function("params,alasql","var y;return "+this.into.args[1].toJS())(t,T)),a=T.into[this.into.funcid.toUpperCase()](h,d,a,[],r)}else i.value&&a.length>0&&(a=a[0]),r&&(a=r(a));return a}function i(e,t,r,n,a){e.sources.length;e.sourceslen=e.sources.length;var s=e.sourceslen;e.query=e,e.A=n,e.B=a,e.cb=r,e.oldscope=t,e.queriesfn&&(e.sourceslen+=e.queriesfn.length,s+=e.queriesfn.length,e.queriesdata=[],e.queriesfn.forEach(function(t,r){t.query.params=e.params,o([],-r-1,e)}));var i;i=t?_(t):{},e.scope=i;var c;return e.sources.forEach(function(t,r){t.query=e;var n=t.datafn(e,e.params,o,r,T);void 0!==n&&((e.intofn||e.intoallfn)&&Array.isArray(n)&&(n=n.length),c=n),t.queriesdata=e.queriesdata}),0!=e.sources.length&&0!==s||(c=u(e)),c}function o(e,t,r){if(t>=0){var n=r.sources[t];n.data=e,"function"==typeof n.data&&(n.getfn=n.data,n.dontcache=n.getfn.dontcache,"OUTER"!=n.joinmode&&"RIGHT"!=n.joinmode&&"ANTI"!=n.joinmode||(n.dontcache=!1),n.data={})}else r.queriesdata[-t-1]=G(e);if(!(--r.sourceslen>0))return u(r)}function u(e){var t,r=e.scope;z(e),e.data=[],e.xgroups={},e.groups=[];if(h(e,r,0),e.groupfn){if(e.data=[],0===e.groups.length){var n={};e.selectGroup.length>0&&e.selectGroup.forEach(function(e){"COUNT"==e.aggregatorid||"SUM"==e.aggregatorid?n[e.nick]=0:n[e.nick]=void 0}),e.groups=[n]}if(e.aggrKeys.length>0){var a="";e.aggrKeys.forEach(function(e){a+="g['"+e.nick+"']=alasql.aggr['"+e.funcid+"'](undefined,g['"+e.nick+"'],3);"});var s=new Function("g,params,alasql","var y;"+a)}for(var i=0,o=e.groups.length;i0){var g=e.removeKeys;if((t=g.length)>0)for(o=e.data.length,i=0;i0&&(e.columns=e.columns.filter(function(e){var t=!1;return g.forEach(function(r){e.columnid==r&&(t=!0)}),!t}))}if(void 0!==e.removeLikeKeys&&e.removeLikeKeys.length>0){for(var m=e.removeLikeKeys,i=0,o=e.data.length;i0&&(e.columns=e.columns.filter(function(e){var t=!1;return m.forEach(function(r){T.utils.like(r,e.columnid)&&(t=!0)}),!t}))}if(e.pivotfn&&e.pivotfn(),e.unpivotfn&&e.unpivotfn(),e.intoallfn){var S=e.intoallfn(e.columns,e.cb,e.params,e.alasql);return S}if(e.intofn){for(o=e.data.length,i=0;i=e.sources.length)e.wherefn(t,e.params,T)&&(e.groupfn?e.groupfn(t,e.params,T):e.data.push(e.selectfn(t,e.params,T)));else if(e.sources[r].applyselect){var n=e.sources[r];n.applyselect(e.params,function(a){if(a.length>0)for(var s=0;s0){for(var a={},s=Math.min(t.length,T.options.columnlookup||10)-1;0<=s;s--)for(var i in t[s])a[i]=!0;n=Object.keys(a).map(function(e){return{columnid:e}})}else n=[];if("VALUE"===r)if(t.length>0){var i;i=n&&n.length>0?n[0].columnid:Object.keys(t[0])[0],t=t[0][i]}else t=void 0;else if("ROW"===r)if(t.length>0){var i,o=[];for(var i in t[0])o.push(t[0][i]);t=o}else t=void 0;else if("COLUMN"===r){var u=[];if(t.length>0){var i;i=n&&n.length>0?n[0].columnid:Object.keys(t[0])[0];for(var s=0,c=t.length;s0)i=n[0].columnid,d=n[1].columnid;else{var f=Object.keys(t[0]);i=f[0],d=f[1]}for(var s=0,c=t.length;s0?n[0].columnid:Object.keys(t[0])[0];for(var s=0,c=t.length;s0?s.forEach(function(s){r&&"underscore"==T.options.joinstar?a.push("'"+t+"_"+s.columnid+"':p['"+t+"']['"+s.columnid+"']"):r&&"json"==T.options.joinstar?n+="r['"+t+"']['"+s.columnid+"']=p['"+t+"']['"+s.columnid+"'];":a.push("'"+s.columnid+"':p['"+t+"']['"+s.columnid+"']"),e.selectColumns[C(s.columnid)]=!0;var i={columnid:s.columnid,dbtypeid:s.dbtypeid,dbsize:s.dbsize,dbprecision:s.dbprecision,dbenum:s.dbenum};e.columns.push(i),e.xcolumns[i.columnid]=i}):(n+='var w=p["'+t+'"];for(var k in w){r[k]=w[k]};',e.dirtyColumns=!0),{s:a.join(","),sp:n}}function p(e,t){if(Array.isArray(e)){for(var r=[[]],n=0;n",t+="table {border:1px black solid; border-collapse: collapse; border-spacing: 0px;}",t+="td,th {border:1px black solid; padding-left:5px; padding-right:5px}",t+="th {background-color: #EEE}",t+="",t+="";var r=[];for(var n in e[0])r.push(n);t+="#",r.forEach(function(e){t+=" "+e});for(var a=0,s=e.length;a"+(a+1),r.forEach(function(r){t+=" ",e[a][r]==+e[a][r]?(t+='',void 0===e[a][r]?t+="NULL":t+=e[a][r],t+="
"):void 0===e[a][r]?t+="NULL":"string"==typeof e[a][r]?t+=e[a][r]:t+=oe(e[a][r])});t+="
"}else t+=""+oe(e)+"
";return t}function g(e,t,r){if(!(r<=0)){var n=t-e.scrollTop,a=n/r*10;setTimeout(function(){e.scrollTop!==t&&(e.scrollTop=e.scrollTop+a,g(e,t,r-10))},10)}}function m(e,t,r,n,a,s){function i(e){for(var t="",r=0,n=10240;r0&&d[d.length-1]&&0==Object.keys(d[d.length-1]).length&&d.pop(),n&&(d=n(d,a,s))},function(e){throw e})}function S(e){function t(){if(i(/^<\?xml\s*/)){for(var e={attributes:{}};!o()&&!u("?>");){var t=a();if(!t)return e;e.attributes[t.name]=t.value}return i(/\?>\s*/),e}}function r(){var e=i(/^<([\w-:.]+)\s*/);if(e){for(var t={name:e[1],attributes:{},children:[]};!(o()||u(">")||u("?>")||u("/>"));){var s=a();if(!s)return t;t.attributes[s.name]=s.value}if(i(/^\s*\/>\s*/))return t;i(/\??>\s*/),t.content=n();for(var c;c=r();)t.children.push(c);return i(/^<\/[\w-:.]+>\s*/),t}}function n(){var e=i(/^([^<]*)/);return e?e[1]:""}function a(){var e=i(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(e)return{name:e[1],value:s(e[2])}}function s(e){return e.replace(/^['"]|['"]$/g,"")}function i(t){var r=e.match(t);if(r)return e=e.slice(r[0].length),r}function o(){return 0==e.length}function u(t){return 0==e.indexOf(t)}return e=e.trim(),e=e.replace(//g,""),function(){return{declaration:t(),root:r()}}()}var T=function(e,t,r,n){if(t=t||[],"function"!=typeof importScripts&&T.webworker){var a=T.lastid++;return T.buffer[a]=r,void T.webworker.postMessage({id:a,sql:e,params:t})}return 0===arguments.length?new X.Select({columns:[new X.Column({columnid:"*"})],from:[new X.ParamValue({param:0})]}):1===arguments.length&&e.constructor===Array?T.promise(e):("function"==typeof t&&(n=r,r=t,t=[]),"object"!=typeof t&&(t=[t]),"string"==typeof e&&"#"===e[0]&&"object"==typeof document?e=document.querySelector(e).textContent:"object"==typeof e&&e instanceof HTMLElement?e=e.textContent:"function"==typeof e&&(e=e.toString(),e=(/\/\*([\S\s]+)\*\//m.exec(e)||["","Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function."])[1]),T.exec(e,t,r,n))};T.version="0.4.6",T.debug=void 0;var A=function(){return null},y=function(){function e(){this.yy={}}var t=function(e,t,r,n){for(r=r||{},n=e.length;n--;r[e[n]]=t);return r
-},r=[2,13],n=[1,104],a=[1,102],s=[1,103],i=[1,6],o=[1,42],u=[1,79],c=[1,76],l=[1,94],h=[1,93],d=[1,69],f=[1,101],p=[1,85],b=[1,64],E=[1,71],g=[1,84],m=[1,66],v=[1,70],S=[1,68],A=[1,61],y=[1,74],N=[1,62],C=[1,67],R=[1,83],w=[1,77],I=[1,86],x=[1,87],D=[1,81],k=[1,82],L=[1,80],$=[1,88],M=[1,89],U=[1,90],_=[1,91],F=[1,92],P=[1,98],q=[1,65],G=[1,78],V=[1,72],B=[1,96],j=[1,97],H=[1,63],J=[1,73],Y=[1,108],W=[1,107],X=[10,306,602,764],K=[10,306,310,602,764],Q=[1,115],z=[1,116],Z=[1,117],ee=[1,118],te=[1,119],re=[130,353,410],ne=[1,127],ae=[1,126],se=[1,134],ie=[1,164],oe=[1,175],ue=[1,178],ce=[1,173],le=[1,181],he=[1,185],de=[1,160],fe=[1,182],pe=[1,169],be=[1,171],Ee=[1,174],ge=[1,183],me=[1,166],ve=[1,193],Se=[1,188],Te=[1,189],Ae=[1,194],ye=[1,195],Ne=[1,196],Ce=[1,197],Re=[1,198],Oe=[1,199],we=[1,200],Ie=[1,201],xe=[1,202],De=[1,176],ke=[1,177],Le=[1,179],$e=[1,180],Me=[1,186],Ue=[1,192],_e=[1,184],Fe=[1,187],Pe=[1,172],qe=[1,170],Ge=[1,191],Ve=[1,203],Be=[2,4,5],je=[2,471],He=[1,206],Je=[1,211],Ye=[1,220],We=[1,216],Xe=[10,72,78,93,98,118,128,162,168,169,183,198,232,245,247,306,310,602,764],Ke=[2,4,5,10,72,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],Qe=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],ze=[1,249],Ze=[1,256],et=[1,265],tt=[1,270],rt=[1,269],nt=[2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,149,152,154,156,162,168,169,179,180,181,183,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],at=[2,162],st=[1,281],it=[10,74,78,306,310,505,602,764],ot=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,193,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,302,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,344,356,368,369,370,373,374,386,389,396,400,401,402,403,404,405,406,408,409,417,418,420,424,426,433,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,514,515,516,517,602,764],ut=[2,4,5,10,53,72,89,124,146,156,189,266,267,290,306,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],ct=[1,562],lt=[1,564],ht=[2,503],dt=[1,569],ft=[1,580],pt=[1,583],bt=[1,584],Et=[10,78,89,132,137,146,189,296,306,310,470,602,764],gt=[10,74,306,310,602,764],mt=[2,567],vt=[1,602],St=[2,4,5,156],Tt=[1,640],At=[1,612],yt=[1,646],Nt=[1,647],Ct=[1,620],Rt=[1,631],Ot=[1,618],wt=[1,626],It=[1,619],xt=[1,627],Dt=[1,629],kt=[1,621],Lt=[1,622],$t=[1,641],Mt=[1,638],Ut=[1,639],_t=[1,615],Ft=[1,617],Pt=[1,609],qt=[1,610],Gt=[1,611],Vt=[1,613],Bt=[1,614],jt=[1,616],Ht=[1,623],Jt=[1,624],Yt=[1,628],Wt=[1,630],Xt=[1,632],Kt=[1,633],Qt=[1,634],zt=[1,635],Zt=[1,636],er=[1,642],tr=[1,643],rr=[1,644],nr=[1,645],ar=[2,287],sr=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],ir=[2,359],or=[1,668],ur=[1,678],cr=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],lr=[1,694],hr=[1,703],dr=[1,702],fr=[2,4,5,10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],pr=[10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],br=[2,202],Er=[1,725],gr=[10,72,78,93,98,118,128,162,168,169,183,232,245,247,306,310,602,764],mr=[2,163],vr=[1,728],Sr=[2,4,5,112],Tr=[1,741],Ar=[1,760],yr=[1,740],Nr=[1,739],Cr=[1,734],Rr=[1,735],Or=[1,737],wr=[1,738],Ir=[1,742],xr=[1,743],Dr=[1,744],kr=[1,745],Lr=[1,746],$r=[1,747],Mr=[1,748],Ur=[1,749],_r=[1,750],Fr=[1,751],Pr=[1,752],qr=[1,753],Gr=[1,754],Vr=[1,755],Br=[1,756],jr=[1,757],Hr=[1,759],Jr=[1,761],Yr=[1,762],Wr=[1,763],Xr=[1,764],Kr=[1,765],Qr=[1,766],zr=[1,767],Zr=[1,770],en=[1,771],tn=[1,772],rn=[1,773],nn=[1,774],an=[1,775],sn=[1,776],on=[1,777],un=[1,778],cn=[1,779],ln=[1,780],hn=[1,781],dn=[74,89,189],fn=[10,74,78,154,187,230,297,306,310,343,356,368,369,373,374,602,764],pn=[1,798],bn=[10,74,78,300,306,310,602,764],En=[1,799],gn=[1,805],mn=[1,806],vn=[1,810],Sn=[10,74,78,306,310,602,764],Tn=[2,4,5,77,131,132,137,143,145,149,152,154,156,179,180,181,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,312,317,420,424],An=[10,72,78,93,98,107,118,128,162,168,169,183,198,232,245,247,306,310,602,764],yn=[2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,149,152,154,156,162,164,168,169,179,180,181,183,185,187,195,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],Nn=[2,4,5,132,296],Cn=[1,844],Rn=[10,74,76,78,306,310,602,764],On=[2,738],wn=[10,74,76,78,132,139,141,145,152,306,310,420,424,602,764],In=[2,1161],xn=[10,74,76,78,139,141,145,152,306,310,420,424,602,764],Dn=[10,74,76,78,139,141,145,306,310,420,424,602,764],kn=[10,74,78,139,141,306,310,602,764],Ln=[10,78,89,132,146,189,296,306,310,470,602,764],$n=[335,338,339],Mn=[2,764],Un=[1,869],_n=[1,870],Fn=[1,871],Pn=[1,872],qn=[1,881],Gn=[1,880],Vn=[164,166,334],Bn=[2,444],jn=[1,936],Hn=[2,4,5,77,131,156,290,291,292,293],Jn=[1,951],Yn=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],Wn=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],Xn=[2,375],Kn=[1,958],Qn=[306,308,310],zn=[74,300],Zn=[74,300,426],ea=[1,965],ta=[2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],ra=[74,426],na=[1,978],aa=[1,977],sa=[1,984],ia=[10,72,78,93,98,118,128,162,168,169,232,245,247,306,310,602,764],oa=[1,1010],ua=[10,72,78,306,310,602,764],ca=[1,1016],la=[1,1017],ha=[1,1018],da=[2,4,5,10,72,74,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],fa=[1,1068],pa=[1,1067],ba=[1,1081],Ea=[1,1080],ga=[1,1088],ma=[10,72,74,78,93,98,107,118,128,162,168,169,183,198,232,245,247,306,310,602,764],va=[1,1119],Sa=[10,78,89,146,189,306,310,470,602,764],Ta=[1,1139],Aa=[1,1138],ya=[1,1137],Na=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],Ca=[1,1153],Ra=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],Oa=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,315,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],wa=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],Ia=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,124,128,129,130,131,132,134,135,137,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],xa=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,320,321,322,323,324,325,326,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],Da=[2,406],ka=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],La=[2,285],$a=[2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],Ma=[10,78,306,310,602,764],Ua=[1,1189],_a=[10,77,78,143,145,152,181,302,306,310,420,424,602,764],Fa=[10,74,78,306,308,310,464,602,764],Pa=[1,1200],qa=[10,72,78,118,128,162,168,169,232,245,247,306,310,602,764],Ga=[10,72,74,78,93,98,118,128,162,168,169,183,198,232,245,247,306,310,602,764],Va=[2,4,5,72,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],Ba=[2,4,5,72,74,76,77,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],ja=[2,1085],Ha=[2,4,5,72,74,76,77,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,185,187,280,281,282,283,284,285,286,287,288,420,424],Ja=[1,1252],Ya=[10,74,78,128,306,308,310,464,602,764],Wa=[115,116,124],Xa=[2,584],Ka=[1,1280],Qa=[76,139],za=[2,724],Za=[1,1297],es=[1,1298],ts=[2,4,5,10,53,72,76,89,124,146,156,189,230,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],rs=[2,330],ns=[1,1322],as=[1,1336],ss=[1,1338],is=[2,487],os=[74,78],us=[10,306,308,310,464,602,764],cs=[10,72,78,118,162,168,169,232,245,247,306,310,602,764],ls=[1,1354],hs=[1,1358],ds=[1,1359],fs=[1,1361],ps=[1,1362],bs=[1,1363],Es=[1,1364],gs=[1,1365],ms=[1,1366],vs=[1,1367],Ss=[1,1368],Ts=[10,72,74,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],As=[1,1393],ys=[10,72,78,118,162,168,169,245,247,306,310,602,764],Ns=[10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],Cs=[1,1490],Rs=[1,1492],Os=[2,4,5,77,143,145,152,156,181,290,291,292,293,302,420,424],ws=[1,1506],Is=[10,72,74,78,162,168,169,245,247,306,310,602,764],xs=[1,1524],Ds=[1,1526],ks=[1,1527],Ls=[1,1523],$s=[1,1522],Ms=[1,1521],Us=[1,1528],_s=[1,1518],Fs=[1,1519],Ps=[1,1520],qs=[1,1545],Gs=[2,4,5,10,53,72,89,124,146,156,189,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],Vs=[1,1556],Bs=[1,1564],js=[1,1563],Hs=[10,72,78,162,168,169,245,247,306,310,602,764],Js=[10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],Ys=[2,4,5,10,72,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],Ws=[1,1621],Xs=[1,1623],Ks=[1,1620],Qs=[1,1622],zs=[187,193,368,369,370,373],Zs=[2,515],ei=[1,1628],ti=[1,1647],ri=[10,72,78,162,168,169,306,310,602,764],ni=[1,1657],ai=[1,1658],si=[1,1659],ii=[1,1678],oi=[4,10,243,306,310,343,356,602,764],ui=[1,1726],ci=[10,72,74,78,118,162,168,169,239,245,247,306,310,602,764],li=[2,4,5,77],hi=[1,1820],di=[1,1832],fi=[1,1851],pi=[10,72,78,162,168,169,306,310,415,602,764],bi=[10,74,78,230,306,310,602,764],Ei={trace:function(){},yy:{},symbols_:{error:2,Literal:3,LITERAL:4,BRALITERAL:5,NonReserved:6,LiteralWithSpaces:7,main:8,Statements:9,EOF:10,Statements_group0:11,AStatement:12,ExplainStatement:13,EXPLAIN:14,QUERY:15,PLAN:16,Statement:17,AlterTable:18,AttachDatabase:19,Call:20,CreateDatabase:21,CreateIndex:22,CreateGraph:23,CreateTable:24,CreateView:25,CreateEdge:26,CreateVertex:27,Declare:28,Delete:29,DetachDatabase:30,DropDatabase:31,DropIndex:32,DropTable:33,DropView:34,If:35,Insert:36,Merge:37,Reindex:38,RenameTable:39,Select:40,ShowCreateTable:41,ShowColumns:42,ShowDatabases:43,ShowIndex:44,ShowTables:45,TruncateTable:46,WithSelect:47,CreateTrigger:48,DropTrigger:49,BeginTransaction:50,CommitTransaction:51,RollbackTransaction:52,EndTransaction:53,UseDatabase:54,Update:55,JavaScript:56,Source:57,Assert:58,While:59,Continue:60,Break:61,BeginEnd:62,Print:63,Require:64,SetVariable:65,ExpressionStatement:66,AddRule:67,Query:68,Echo:69,CreateFunction:70,CreateAggregate:71,WITH:72,WithTablesList:73,COMMA:74,WithTable:75,AS:76,LPAR:77,RPAR:78,SelectClause:79,Select_option0:80,IntoClause:81,FromClause:82,Select_option1:83,WhereClause:84,GroupClause:85,OrderClause:86,LimitClause:87,UnionClause:88,SEARCH:89,Select_repetition0:90,Select_option2:91,PivotClause:92,PIVOT:93,Expression:94,FOR:95,PivotClause_option0:96,PivotClause_option1:97,UNPIVOT:98,IN:99,ColumnsList:100,PivotClause_option2:101,PivotClause2:102,AsList:103,AsLiteral:104,AsPart:105,RemoveClause:106,REMOVE:107,RemoveClause_option0:108,RemoveColumnsList:109,RemoveColumn:110,Column:111,LIKE:112,StringValue:113,ArrowDot:114,ARROW:115,DOT:116,SearchSelector:117,ORDER:118,BY:119,OrderExpressionsList:120,SearchSelector_option0:121,DOTDOT:122,CARET:123,EQ:124,SearchSelector_repetition_plus0:125,SearchSelector_repetition_plus1:126,SearchSelector_option1:127,WHERE:128,OF:129,CLASS:130,NUMBER:131,STRING:132,SLASH:133,VERTEX:134,EDGE:135,EXCLAMATION:136,SHARP:137,MODULO:138,GT:139,LT:140,GTGT:141,LTLT:142,DOLLAR:143,Json:144,AT:145,SET:146,SetColumnsList:147,TO:148,VALUE:149,ROW:150,ExprList:151,COLON:152,PlusStar:153,NOT:154,SearchSelector_repetition2:155,IF:156,SearchSelector_repetition3:157,Aggregator:158,SearchSelector_repetition4:159,SearchSelector_group0:160,SearchSelector_repetition5:161,UNION:162,SearchSelectorList:163,ALL:164,SearchSelector_repetition6:165,ANY:166,SearchSelector_repetition7:167,INTERSECT:168,EXCEPT:169,AND:170,OR:171,PATH:172,RETURN:173,ResultColumns:174,REPEAT:175,SearchSelector_repetition8:176,SearchSelectorList_repetition0:177,SearchSelectorList_repetition1:178,PLUS:179,STAR:180,QUESTION:181,SearchFrom:182,FROM:183,SelectModifier:184,DISTINCT:185,TopClause:186,UNIQUE:187,SelectClause_option0:188,SELECT:189,COLUMN:190,MATRIX:191,TEXTSTRING:192,INDEX:193,RECORDSET:194,TOP:195,NumValue:196,TopClause_option0:197,INTO:198,Table:199,FuncValue:200,ParamValue:201,VarValue:202,FromTablesList:203,JoinTablesList:204,ApplyClause:205,CROSS:206,APPLY:207,OUTER:208,FromTable:209,FromTable_option0:210,FromTable_option1:211,INDEXED:212,INSERTED:213,FromString:214,JoinTable:215,JoinMode:216,JoinTableAs:217,OnClause:218,JoinTableAs_option0:219,JoinTableAs_option1:220,JoinModeMode:221,NATURAL:222,JOIN:223,INNER:224,LEFT:225,RIGHT:226,FULL:227,SEMI:228,ANTI:229,ON:230,USING:231,GROUP:232,GroupExpressionsList:233,HavingClause:234,GroupExpression:235,GROUPING:236,ROLLUP:237,CUBE:238,HAVING:239,CORRESPONDING:240,OrderExpression:241,DIRECTION:242,COLLATE:243,NOCASE:244,LIMIT:245,OffsetClause:246,OFFSET:247,LimitClause_option0:248,FETCH:249,LimitClause_option1:250,LimitClause_option2:251,LimitClause_option3:252,ResultColumn:253,Star:254,AggrValue:255,Op:256,LogicValue:257,NullValue:258,ExistsValue:259,CaseValue:260,CastClause:261,ArrayValue:262,NewClause:263,Expression_group0:264,CURRENT_TIMESTAMP:265,JAVASCRIPT:266,CREATE:267,FUNCTION:268,AGGREGATE:269,NEW:270,CAST:271,ColumnType:272,CONVERT:273,PrimitiveValue:274,OverClause:275,OVER:276,OverPartitionClause:277,OverOrderByClause:278,PARTITION:279,SUM:280,COUNT:281,MIN:282,MAX:283,AVG:284,FIRST:285,LAST:286,AGGR:287,ARRAY:288,FuncValue_option0:289,REPLACE:290,DATEADD:291,DATEDIFF:292,INTERVAL:293,TRUE:294,FALSE:295,NSTRING:296,NULL:297,EXISTS:298,ARRAYLBRA:299,RBRA:300,ParamValue_group0:301,BRAQUESTION:302,CASE:303,WhensList:304,ElseClause:305,END:306,When:307,WHEN:308,THEN:309,ELSE:310,REGEXP:311,TILDA:312,GLOB:313,ESCAPE:314,NOT_LIKE:315,BARBAR:316,MINUS:317,AMPERSAND:318,BAR:319,GE:320,LE:321,EQEQ:322,EQEQEQ:323,NE:324,NEEQEQ:325,NEEQEQEQ:326,CondOp:327,AllSome:328,ColFunc:329,BETWEEN:330,NOT_BETWEEN:331,IS:332,DOUBLECOLON:333,SOME:334,UPDATE:335,SetColumn:336,SetColumn_group0:337,DELETE:338,INSERT:339,Into:340,Values:341,ValuesListsList:342,DEFAULT:343,VALUES:344,ValuesList:345,Value:346,DateValue:347,TemporaryClause:348,TableClass:349,IfNotExists:350,CreateTableDefClause:351,CreateTableOptionsClause:352,TABLE:353,CreateTableOptions:354,CreateTableOption:355,IDENTITY:356,TEMP:357,ColumnDefsList:358,ConstraintsList:359,Constraint:360,ConstraintName:361,PrimaryKey:362,ForeignKey:363,UniqueKey:364,IndexKey:365,Check:366,CONSTRAINT:367,CHECK:368,PRIMARY:369,KEY:370,PrimaryKey_option0:371,ColsList:372,FOREIGN:373,REFERENCES:374,ForeignKey_option0:375,OnForeignKeyClause:376,ParColsList:377,OnDeleteClause:378,OnUpdateClause:379,NO:380,ACTION:381,UniqueKey_option0:382,UniqueKey_option1:383,ColumnDef:384,ColumnConstraintsClause:385,ColumnConstraints:386,SingularColumnType:387,NumberMax:388,ENUM:389,MAXNUM:390,ColumnConstraintsList:391,ColumnConstraint:392,ParLiteral:393,ColumnConstraint_option0:394,ColumnConstraint_option1:395,DROP:396,DropTable_group0:397,IfExists:398,TablesList:399,ALTER:400,RENAME:401,ADD:402,MODIFY:403,ATTACH:404,DATABASE:405,DETACH:406,AsClause:407,USE:408,SHOW:409,VIEW:410,CreateView_option0:411,CreateView_option1:412,SubqueryRestriction:413,READ:414,ONLY:415,OPTION:416,SOURCE:417,ASSERT:418,JsonObject:419,ATLBRA:420,JsonArray:421,JsonValue:422,JsonPrimitiveValue:423,LCUR:424,JsonPropertiesList:425,RCUR:426,JsonElementsList:427,JsonProperty:428,OnOff:429,SetPropsList:430,AtDollar:431,SetProp:432,OFF:433,COMMIT:434,TRANSACTION:435,ROLLBACK:436,BEGIN:437,ElseStatement:438,WHILE:439,CONTINUE:440,BREAK:441,PRINT:442,REQUIRE:443,StringValuesList:444,PluginsList:445,Plugin:446,ECHO:447,DECLARE:448,DeclaresList:449,DeclareItem:450,TRUNCATE:451,MERGE:452,MergeInto:453,MergeUsing:454,MergeOn:455,MergeMatchedList:456,OutputClause:457,MergeMatched:458,MergeNotMatched:459,MATCHED:460,MergeMatchedAction:461,MergeNotMatchedAction:462,TARGET:463,OUTPUT:464,CreateVertex_option0:465,CreateVertex_option1:466,CreateVertex_option2:467,CreateVertexSet:468,SharpValue:469,CONTENT:470,CreateEdge_option0:471,GRAPH:472,GraphList:473,GraphVertexEdge:474,GraphElement:475,GraphVertexEdge_option0:476,GraphVertexEdge_option1:477,GraphElementVar:478,GraphVertexEdge_option2:479,GraphVertexEdge_option3:480,GraphVertexEdge_option4:481,GraphVar:482,GraphAsClause:483,GraphAtClause:484,GraphElement2:485,GraphElement2_option0:486,GraphElement2_option1:487,GraphElement2_option2:488,GraphElement2_option3:489,GraphElement_option0:490,GraphElement_option1:491,GraphElement_option2:492,SharpLiteral:493,GraphElement_option3:494,GraphElement_option4:495,GraphElement_option5:496,ColonLiteral:497,DeleteVertex:498,DeleteVertex_option0:499,DeleteEdge:500,DeleteEdge_option0:501,DeleteEdge_option1:502,DeleteEdge_option2:503,Term:504,COLONDASH:505,TermsList:506,QUESTIONDASH:507,CALL:508,TRIGGER:509,BeforeAfter:510,InsertDeleteUpdate:511,CreateTrigger_option0:512,CreateTrigger_option1:513,BEFORE:514,AFTER:515,INSTEAD:516,REINDEX:517,A:518,ABSENT:519,ABSOLUTE:520,ACCORDING:521,ADA:522,ADMIN:523,ALWAYS:524,ASC:525,ASSERTION:526,ASSIGNMENT:527,ATTRIBUTE:528,ATTRIBUTES:529,BASE64:530,BERNOULLI:531,BLOCKED:532,BOM:533,BREADTH:534,C:535,CASCADE:536,CATALOG:537,CATALOG_NAME:538,CHAIN:539,CHARACTERISTICS:540,CHARACTERS:541,CHARACTER_SET_CATALOG:542,CHARACTER_SET_NAME:543,CHARACTER_SET_SCHEMA:544,CLASS_ORIGIN:545,COBOL:546,COLLATION:547,COLLATION_CATALOG:548,COLLATION_NAME:549,COLLATION_SCHEMA:550,COLUMNS:551,COLUMN_NAME:552,COMMAND_FUNCTION:553,COMMAND_FUNCTION_CODE:554,COMMITTED:555,CONDITION_NUMBER:556,CONNECTION:557,CONNECTION_NAME:558,CONSTRAINTS:559,CONSTRAINT_CATALOG:560,CONSTRAINT_NAME:561,CONSTRAINT_SCHEMA:562,CONSTRUCTOR:563,CONTROL:564,CURSOR_NAME:565,DATA:566,DATETIME_INTERVAL_CODE:567,DATETIME_INTERVAL_PRECISION:568,DB:569,DEFAULTS:570,DEFERRABLE:571,DEFERRED:572,DEFINED:573,DEFINER:574,DEGREE:575,DEPTH:576,DERIVED:577,DESC:578,DESCRIPTOR:579,DIAGNOSTICS:580,DISPATCH:581,DOCUMENT:582,DOMAIN:583,DYNAMIC_FUNCTION:584,DYNAMIC_FUNCTION_CODE:585,EMPTY:586,ENCODING:587,ENFORCED:588,EXCLUDE:589,EXCLUDING:590,EXPRESSION:591,FILE:592,FINAL:593,FLAG:594,FOLLOWING:595,FORTRAN:596,FOUND:597,FS:598,G:599,GENERAL:600,GENERATED:601,GO:602,GOTO:603,GRANTED:604,HEX:605,HIERARCHY:606,ID:607,IGNORE:608,IMMEDIATE:609,IMMEDIATELY:610,IMPLEMENTATION:611,INCLUDING:612,INCREMENT:613,INDENT:614,INITIALLY:615,INPUT:616,INSTANCE:617,INSTANTIABLE:618,INTEGRITY:619,INVOKER:620,ISOLATION:621,K:622,KEY_MEMBER:623,KEY_TYPE:624,LENGTH:625,LEVEL:626,LIBRARY:627,LINK:628,LOCATION:629,LOCATOR:630,M:631,MAP:632,MAPPING:633,MAXVALUE:634,MESSAGE_LENGTH:635,MESSAGE_OCTET_LENGTH:636,MESSAGE_TEXT:637,MINVALUE:638,MORE:639,MUMPS:640,NAME:641,NAMES:642,NAMESPACE:643,NESTING:644,NEXT:645,NFC:646,NFD:647,NFKC:648,NFKD:649,NIL:650,NORMALIZED:651,NULLABLE:652,NULLS:653,OBJECT:654,OCTETS:655,OPTIONS:656,ORDERING:657,ORDINALITY:658,OTHERS:659,OVERRIDING:660,P:661,PAD:662,PARAMETER_MODE:663,PARAMETER_NAME:664,PARAMETER_ORDINAL_POSITION:665,PARAMETER_SPECIFIC_CATALOG:666,PARAMETER_SPECIFIC_NAME:667,PARAMETER_SPECIFIC_SCHEMA:668,PARTIAL:669,PASCAL:670,PASSING:671,PASSTHROUGH:672,PERMISSION:673,PLACING:674,PLI:675,PRECEDING:676,PRESERVE:677,PRIOR:678,PRIVILEGES:679,PUBLIC:680,RECOVERY:681,RELATIVE:682,REPEATABLE:683,REQUIRING:684,RESPECT:685,RESTART:686,RESTORE:687,RESTRICT:688,RETURNED_CARDINALITY:689,RETURNED_LENGTH:690,RETURNED_OCTET_LENGTH:691,RETURNED_SQLSTATE:692,RETURNING:693,ROLE:694,ROUTINE:695,ROUTINE_CATALOG:696,ROUTINE_NAME:697,ROUTINE_SCHEMA:698,ROW_COUNT:699,SCALE:700,SCHEMA:701,SCHEMA_NAME:702,SCOPE_CATALOG:703,SCOPE_NAME:704,SCOPE_SCHEMA:705,SECTION:706,SECURITY:707,SELECTIVE:708,SELF:709,SEQUENCE:710,SERIALIZABLE:711,SERVER:712,SERVER_NAME:713,SESSION:714,SETS:715,SIMPLE:716,SIZE:717,SPACE:718,SPECIFIC_NAME:719,STANDALONE:720,STATE:721,STATEMENT:722,STRIP:723,STRUCTURE:724,STYLE:725,SUBCLASS_ORIGIN:726,T:727,TABLE_NAME:728,TEMPORARY:729,TIES:730,TOKEN:731,TOP_LEVEL_COUNT:732,TRANSACTIONS_COMMITTED:733,TRANSACTIONS_ROLLED_BACK:734,TRANSACTION_ACTIVE:735,TRANSFORM:736,TRANSFORMS:737,TRIGGER_CATALOG:738,TRIGGER_NAME:739,TRIGGER_SCHEMA:740,TYPE:741,UNBOUNDED:742,UNCOMMITTED:743,UNDER:744,UNLINK:745,UNNAMED:746,UNTYPED:747,URI:748,USAGE:749,USER_DEFINED_TYPE_CATALOG:750,USER_DEFINED_TYPE_CODE:751,USER_DEFINED_TYPE_NAME:752,USER_DEFINED_TYPE_SCHEMA:753,VALID:754,VERSION:755,WHITESPACE:756,WORK:757,WRAPPER:758,WRITE:759,XMLDECLARATION:760,XMLSCHEMA:761,YES:762,ZONE:763,SEMICOLON:764,PERCENT:765,ROWS:766,FuncValue_option0_group0:767,$accept:0,$end:1},terminals_:{2:"error",4:"LITERAL",5:"BRALITERAL",10:"EOF",14:"EXPLAIN",15:"QUERY",16:"PLAN",53:"EndTransaction",72:"WITH",74:"COMMA",76:"AS",77:"LPAR",78:"RPAR",89:"SEARCH",93:"PIVOT",95:"FOR",98:"UNPIVOT",99:"IN",107:"REMOVE",112:"LIKE",115:"ARROW",116:"DOT",118:"ORDER",119:"BY",122:"DOTDOT",123:"CARET",124:"EQ",128:"WHERE",129:"OF",130:"CLASS",131:"NUMBER",132:"STRING",133:"SLASH",134:"VERTEX",135:"EDGE",136:"EXCLAMATION",137:"SHARP",138:"MODULO",139:"GT",140:"LT",141:"GTGT",142:"LTLT",143:"DOLLAR",145:"AT",146:"SET",148:"TO",149:"VALUE",150:"ROW",152:"COLON",154:"NOT",156:"IF",162:"UNION",164:"ALL",166:"ANY",168:"INTERSECT",169:"EXCEPT",170:"AND",171:"OR",172:"PATH",173:"RETURN",175:"REPEAT",179:"PLUS",180:"STAR",181:"QUESTION",183:"FROM",185:"DISTINCT",187:"UNIQUE",189:"SELECT",190:"COLUMN",191:"MATRIX",192:"TEXTSTRING",193:"INDEX",194:"RECORDSET",195:"TOP",198:"INTO",206:"CROSS",207:"APPLY",208:"OUTER",212:"INDEXED",213:"INSERTED",222:"NATURAL",223:"JOIN",224:"INNER",225:"LEFT",226:"RIGHT",227:"FULL",228:"SEMI",229:"ANTI",230:"ON",231:"USING",232:"GROUP",236:"GROUPING",237:"ROLLUP",238:"CUBE",239:"HAVING",240:"CORRESPONDING",242:"DIRECTION",243:"COLLATE",244:"NOCASE",245:"LIMIT",247:"OFFSET",249:"FETCH",265:"CURRENT_TIMESTAMP",266:"JAVASCRIPT",267:"CREATE",268:"FUNCTION",269:"AGGREGATE",270:"NEW",271:"CAST",273:"CONVERT",276:"OVER",279:"PARTITION",280:"SUM",281:"COUNT",282:"MIN",283:"MAX",284:"AVG",285:"FIRST",286:"LAST",287:"AGGR",288:"ARRAY",290:"REPLACE",291:"DATEADD",292:"DATEDIFF",293:"INTERVAL",294:"TRUE",295:"FALSE",296:"NSTRING",297:"NULL",298:"EXISTS",299:"ARRAYLBRA",300:"RBRA",302:"BRAQUESTION",303:"CASE",306:"END",308:"WHEN",309:"THEN",310:"ELSE",311:"REGEXP",312:"TILDA",313:"GLOB",314:"ESCAPE",315:"NOT_LIKE",316:"BARBAR",317:"MINUS",318:"AMPERSAND",319:"BAR",320:"GE",321:"LE",322:"EQEQ",323:"EQEQEQ",324:"NE",325:"NEEQEQ",326:"NEEQEQEQ",330:"BETWEEN",331:"NOT_BETWEEN",332:"IS",333:"DOUBLECOLON",334:"SOME",335:"UPDATE",338:"DELETE",339:"INSERT",343:"DEFAULT",344:"VALUES",347:"DateValue",353:"TABLE",356:"IDENTITY",357:"TEMP",367:"CONSTRAINT",368:"CHECK",369:"PRIMARY",370:"KEY",373:"FOREIGN",374:"REFERENCES",380:"NO",381:"ACTION",386:"ColumnConstraints",389:"ENUM",390:"MAXNUM",396:"DROP",400:"ALTER",401:"RENAME",402:"ADD",403:"MODIFY",404:"ATTACH",405:"DATABASE",406:"DETACH",408:"USE",409:"SHOW",410:"VIEW",414:"READ",415:"ONLY",416:"OPTION",417:"SOURCE",418:"ASSERT",420:"ATLBRA",424:"LCUR",426:"RCUR",433:"OFF",434:"COMMIT",435:"TRANSACTION",436:"ROLLBACK",437:"BEGIN",439:"WHILE",440:"CONTINUE",441:"BREAK",442:"PRINT",443:"REQUIRE",447:"ECHO",448:"DECLARE",451:"TRUNCATE",452:"MERGE",460:"MATCHED",463:"TARGET",464:"OUTPUT",470:"CONTENT",472:"GRAPH",505:"COLONDASH",507:"QUESTIONDASH",508:"CALL",509:"TRIGGER",514:"BEFORE",515:"AFTER",516:"INSTEAD",517:"REINDEX",518:"A",519:"ABSENT",520:"ABSOLUTE",521:"ACCORDING",522:"ADA",523:"ADMIN",524:"ALWAYS",525:"ASC",526:"ASSERTION",527:"ASSIGNMENT",528:"ATTRIBUTE",529:"ATTRIBUTES",530:"BASE64",531:"BERNOULLI",532:"BLOCKED",533:"BOM",534:"BREADTH",535:"C",536:"CASCADE",537:"CATALOG",538:"CATALOG_NAME",539:"CHAIN",540:"CHARACTERISTICS",541:"CHARACTERS",542:"CHARACTER_SET_CATALOG",543:"CHARACTER_SET_NAME",544:"CHARACTER_SET_SCHEMA",545:"CLASS_ORIGIN",546:"COBOL",547:"COLLATION",548:"COLLATION_CATALOG",549:"COLLATION_NAME",550:"COLLATION_SCHEMA",551:"COLUMNS",552:"COLUMN_NAME",
-553:"COMMAND_FUNCTION",554:"COMMAND_FUNCTION_CODE",555:"COMMITTED",556:"CONDITION_NUMBER",557:"CONNECTION",558:"CONNECTION_NAME",559:"CONSTRAINTS",560:"CONSTRAINT_CATALOG",561:"CONSTRAINT_NAME",562:"CONSTRAINT_SCHEMA",563:"CONSTRUCTOR",564:"CONTROL",565:"CURSOR_NAME",566:"DATA",567:"DATETIME_INTERVAL_CODE",568:"DATETIME_INTERVAL_PRECISION",569:"DB",570:"DEFAULTS",571:"DEFERRABLE",572:"DEFERRED",573:"DEFINED",574:"DEFINER",575:"DEGREE",576:"DEPTH",577:"DERIVED",578:"DESC",579:"DESCRIPTOR",580:"DIAGNOSTICS",581:"DISPATCH",582:"DOCUMENT",583:"DOMAIN",584:"DYNAMIC_FUNCTION",585:"DYNAMIC_FUNCTION_CODE",586:"EMPTY",587:"ENCODING",588:"ENFORCED",589:"EXCLUDE",590:"EXCLUDING",591:"EXPRESSION",592:"FILE",593:"FINAL",594:"FLAG",595:"FOLLOWING",596:"FORTRAN",597:"FOUND",598:"FS",599:"G",600:"GENERAL",601:"GENERATED",602:"GO",603:"GOTO",604:"GRANTED",605:"HEX",606:"HIERARCHY",607:"ID",608:"IGNORE",609:"IMMEDIATE",610:"IMMEDIATELY",611:"IMPLEMENTATION",612:"INCLUDING",613:"INCREMENT",614:"INDENT",615:"INITIALLY",616:"INPUT",617:"INSTANCE",618:"INSTANTIABLE",619:"INTEGRITY",620:"INVOKER",621:"ISOLATION",622:"K",623:"KEY_MEMBER",624:"KEY_TYPE",625:"LENGTH",626:"LEVEL",627:"LIBRARY",628:"LINK",629:"LOCATION",630:"LOCATOR",631:"M",632:"MAP",633:"MAPPING",634:"MAXVALUE",635:"MESSAGE_LENGTH",636:"MESSAGE_OCTET_LENGTH",637:"MESSAGE_TEXT",638:"MINVALUE",639:"MORE",640:"MUMPS",641:"NAME",642:"NAMES",643:"NAMESPACE",644:"NESTING",645:"NEXT",646:"NFC",647:"NFD",648:"NFKC",649:"NFKD",650:"NIL",651:"NORMALIZED",652:"NULLABLE",653:"NULLS",654:"OBJECT",655:"OCTETS",656:"OPTIONS",657:"ORDERING",658:"ORDINALITY",659:"OTHERS",660:"OVERRIDING",661:"P",662:"PAD",663:"PARAMETER_MODE",664:"PARAMETER_NAME",665:"PARAMETER_ORDINAL_POSITION",666:"PARAMETER_SPECIFIC_CATALOG",667:"PARAMETER_SPECIFIC_NAME",668:"PARAMETER_SPECIFIC_SCHEMA",669:"PARTIAL",670:"PASCAL",671:"PASSING",672:"PASSTHROUGH",673:"PERMISSION",674:"PLACING",675:"PLI",676:"PRECEDING",677:"PRESERVE",678:"PRIOR",679:"PRIVILEGES",680:"PUBLIC",681:"RECOVERY",682:"RELATIVE",683:"REPEATABLE",684:"REQUIRING",685:"RESPECT",686:"RESTART",687:"RESTORE",688:"RESTRICT",689:"RETURNED_CARDINALITY",690:"RETURNED_LENGTH",691:"RETURNED_OCTET_LENGTH",692:"RETURNED_SQLSTATE",693:"RETURNING",694:"ROLE",695:"ROUTINE",696:"ROUTINE_CATALOG",697:"ROUTINE_NAME",698:"ROUTINE_SCHEMA",699:"ROW_COUNT",700:"SCALE",701:"SCHEMA",702:"SCHEMA_NAME",703:"SCOPE_CATALOG",704:"SCOPE_NAME",705:"SCOPE_SCHEMA",706:"SECTION",707:"SECURITY",708:"SELECTIVE",709:"SELF",710:"SEQUENCE",711:"SERIALIZABLE",712:"SERVER",713:"SERVER_NAME",714:"SESSION",715:"SETS",716:"SIMPLE",717:"SIZE",718:"SPACE",719:"SPECIFIC_NAME",720:"STANDALONE",721:"STATE",722:"STATEMENT",723:"STRIP",724:"STRUCTURE",725:"STYLE",726:"SUBCLASS_ORIGIN",727:"T",728:"TABLE_NAME",729:"TEMPORARY",730:"TIES",731:"TOKEN",732:"TOP_LEVEL_COUNT",733:"TRANSACTIONS_COMMITTED",734:"TRANSACTIONS_ROLLED_BACK",735:"TRANSACTION_ACTIVE",736:"TRANSFORM",737:"TRANSFORMS",738:"TRIGGER_CATALOG",739:"TRIGGER_NAME",740:"TRIGGER_SCHEMA",741:"TYPE",742:"UNBOUNDED",743:"UNCOMMITTED",744:"UNDER",745:"UNLINK",746:"UNNAMED",747:"UNTYPED",748:"URI",749:"USAGE",750:"USER_DEFINED_TYPE_CATALOG",751:"USER_DEFINED_TYPE_CODE",752:"USER_DEFINED_TYPE_NAME",753:"USER_DEFINED_TYPE_SCHEMA",754:"VALID",755:"VERSION",756:"WHITESPACE",757:"WORK",758:"WRAPPER",759:"WRITE",760:"XMLDECLARATION",761:"XMLSCHEMA",762:"YES",763:"ZONE",764:"SEMICOLON",765:"PERCENT",766:"ROWS"},productions_:[0,[3,1],[3,1],[3,2],[7,1],[7,2],[8,2],[9,3],[9,1],[9,1],[13,2],[13,4],[12,1],[17,0],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[47,3],[73,3],[73,1],[75,5],[40,10],[40,4],[92,8],[92,11],[102,4],[104,2],[104,1],[103,3],[103,1],[105,1],[105,3],[106,3],[109,3],[109,1],[110,1],[110,2],[114,1],[114,1],[117,1],[117,5],[117,5],[117,1],[117,2],[117,1],[117,2],[117,2],[117,3],[117,4],[117,4],[117,4],[117,4],[117,4],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,2],[117,2],[117,2],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,2],[117,3],[117,4],[117,3],[117,1],[117,4],[117,2],[117,2],[117,4],[117,4],[117,4],[117,4],[117,4],[117,5],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,4],[117,6],[163,3],[163,1],[153,1],[153,1],[153,1],[182,2],[79,4],[79,4],[79,4],[79,3],[184,1],[184,2],[184,2],[184,2],[184,2],[184,2],[184,2],[184,2],[186,3],[186,4],[186,0],[81,0],[81,2],[81,2],[81,2],[81,2],[81,2],[82,2],[82,3],[82,5],[82,0],[205,6],[205,7],[205,6],[205,7],[203,1],[203,3],[209,4],[209,5],[209,3],[209,3],[209,2],[209,3],[209,1],[209,3],[209,2],[209,3],[209,1],[209,1],[209,2],[209,3],[209,1],[209,1],[209,2],[209,3],[209,1],[209,2],[209,3],[214,1],[199,3],[199,1],[204,2],[204,2],[204,1],[204,1],[215,3],[217,1],[217,2],[217,3],[217,3],[217,2],[217,3],[217,4],[217,5],[217,1],[217,2],[217,3],[217,1],[217,2],[217,3],[216,1],[216,2],[221,1],[221,2],[221,2],[221,3],[221,2],[221,3],[221,2],[221,3],[221,2],[221,2],[221,2],[218,2],[218,2],[218,0],[84,0],[84,2],[85,0],[85,4],[233,1],[233,3],[235,5],[235,4],[235,4],[235,1],[234,0],[234,2],[88,0],[88,2],[88,3],[88,2],[88,2],[88,3],[88,4],[88,3],[88,3],[86,0],[86,3],[120,1],[120,3],[241,1],[241,2],[241,3],[241,4],[87,0],[87,3],[87,8],[246,0],[246,2],[174,3],[174,1],[253,3],[253,2],[253,3],[253,2],[253,3],[253,2],[253,1],[254,5],[254,3],[254,1],[111,5],[111,3],[111,3],[111,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,1],[94,3],[94,3],[94,3],[94,1],[94,1],[56,1],[70,5],[71,5],[263,2],[263,2],[261,6],[261,8],[261,6],[261,8],[274,1],[274,1],[274,1],[274,1],[274,1],[274,1],[274,1],[255,5],[255,6],[255,6],[275,0],[275,4],[275,4],[275,5],[277,3],[278,3],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[158,1],[200,5],[200,3],[200,4],[200,4],[200,8],[200,8],[200,8],[200,8],[200,3],[151,1],[151,3],[196,1],[257,1],[257,1],[113,1],[113,1],[258,1],[202,2],[259,4],[262,3],[201,2],[201,2],[201,1],[201,1],[260,5],[260,4],[304,2],[304,1],[307,4],[305,2],[305,0],[256,3],[256,3],[256,3],[256,3],[256,5],[256,3],[256,5],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,5],[256,3],[256,3],[256,3],[256,5],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,3],[256,6],[256,6],[256,3],[256,3],[256,2],[256,2],[256,2],[256,2],[256,2],[256,3],[256,5],[256,6],[256,5],[256,6],[256,4],[256,5],[256,3],[256,4],[256,3],[256,4],[256,3],[256,3],[256,3],[256,3],[256,3],[329,1],[329,1],[329,4],[327,1],[327,1],[327,1],[327,1],[327,1],[327,1],[328,1],[328,1],[328,1],[55,6],[55,4],[147,1],[147,3],[336,3],[336,4],[29,5],[29,3],[36,5],[36,4],[36,7],[36,6],[36,5],[36,4],[36,5],[36,8],[36,7],[36,4],[36,6],[36,7],[341,1],[341,1],[340,0],[340,1],[342,3],[342,1],[342,1],[342,5],[342,3],[342,3],[345,1],[345,3],[346,1],[346,1],[346,1],[346,1],[346,1],[346,1],[100,1],[100,3],[24,9],[24,5],[349,1],[349,1],[352,0],[352,1],[354,2],[354,1],[355,1],[355,3],[355,3],[355,3],[348,0],[348,1],[350,0],[350,3],[351,3],[351,1],[351,2],[359,1],[359,3],[360,2],[360,2],[360,2],[360,2],[360,2],[361,0],[361,2],[366,4],[362,6],[363,9],[377,3],[376,0],[376,2],[378,4],[379,4],[364,6],[365,5],[365,5],[372,1],[372,1],[372,3],[372,3],[358,1],[358,3],[384,3],[384,2],[384,1],[387,6],[387,4],[387,1],[387,4],[272,2],[272,1],[388,1],[388,1],[385,0],[385,1],[391,2],[391,1],[393,3],[392,2],[392,5],[392,3],[392,6],[392,1],[392,2],[392,4],[392,2],[392,1],[392,2],[392,1],[392,1],[392,3],[392,5],[33,4],[399,3],[399,1],[398,0],[398,2],[18,6],[18,6],[18,6],[18,8],[18,6],[39,5],[19,4],[19,7],[19,6],[19,9],[30,3],[21,4],[21,6],[21,9],[21,6],[407,0],[407,2],[54,3],[54,2],[31,4],[31,5],[31,5],[22,8],[22,9],[32,3],[43,2],[43,4],[43,3],[43,5],[45,2],[45,4],[45,4],[45,6],[42,4],[42,6],[44,4],[44,6],[41,4],[41,6],[25,11],[25,8],[413,3],[413,3],[413,5],[34,4],[66,2],[57,2],[58,2],[58,2],[58,4],[144,4],[144,2],[144,2],[144,2],[144,2],[144,1],[144,2],[144,2],[422,1],[422,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,1],[423,3],[419,3],[419,4],[419,2],[421,2],[421,3],[421,1],[425,3],[425,1],[428,3],[428,3],[428,3],[427,3],[427,1],[65,4],[65,3],[65,4],[65,5],[65,5],[65,6],[431,1],[431,1],[430,3],[430,2],[432,1],[432,1],[432,3],[429,1],[429,1],[51,2],[52,2],[50,2],[35,4],[35,3],[438,2],[59,3],[60,1],[61,1],[62,3],[63,2],[63,2],[64,2],[64,2],[446,1],[446,1],[69,2],[444,3],[444,1],[445,3],[445,1],[28,2],[449,1],[449,3],[450,3],[450,4],[450,5],[450,6],[46,3],[37,6],[453,1],[453,2],[454,2],[455,2],[456,2],[456,2],[456,1],[456,1],[458,4],[458,6],[461,1],[461,3],[459,5],[459,7],[459,7],[459,9],[459,7],[459,9],[462,3],[462,6],[462,3],[462,6],[457,0],[457,2],[457,5],[457,4],[457,7],[27,6],[469,2],[468,0],[468,2],[468,2],[468,1],[26,8],[23,3],[23,4],[473,3],[473,1],[474,3],[474,7],[474,6],[474,3],[474,4],[478,1],[478,1],[482,2],[483,3],[484,2],[485,4],[475,4],[475,3],[475,2],[475,1],[497,2],[493,2],[493,2],[498,4],[500,6],[67,3],[67,2],[506,3],[506,1],[504,1],[504,4],[68,2],[20,2],[48,9],[48,8],[48,9],[510,0],[510,1],[510,1],[510,1],[510,2],[511,1],[511,1],[511,1],[49,3],[38,2],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[11,1],[11,1],[80,0],[80,1],[83,0],[83,1],[90,0],[90,2],[91,0],[91,1],[96,0],[96,1],[97,0],[97,1],[101,0],[101,1],[108,0],[108,1],[121,0],[121,1],[125,1],[125,2],[126,1],[126,2],[127,0],[127,1],[155,0],[155,2],[157,0],[157,2],[159,0],[159,2],[160,1],[160,1],[161,0],[161,2],[165,0],[165,2],[167,0],[167,2],[176,0],[176,2],[177,0],[177,2],[178,0],[178,2],[188,0],[188,1],[197,0],[197,1],[210,0],[210,1],[211,0],[211,1],[219,0],[219,1],[220,0],[220,1],[248,0],[248,1],[250,0],[250,1],[251,0],[251,1],[252,0],[252,1],[264,1],[264,1],[767,1],[767,1],[289,0],[289,1],[301,1],[301,1],[337,1],[337,1],[371,0],[371,1],[375,0],[375,1],[382,0],[382,1],[383,0],[383,1],[394,0],[394,1],[395,0],[395,1],[397,1],[397,1],[411,0],[411,1],[412,0],[412,1],[465,0],[465,1],[466,0],[466,1],[467,0],[467,1],[471,0],[471,1],[476,0],[476,1],[477,0],[477,1],[479,0],[479,1],[480,0],[480,1],[481,0],[481,1],[486,0],[486,1],[487,0],[487,1],[488,0],[488,1],[489,0],[489,1],[490,0],[490,1],[491,0],[491,1],[492,0],[492,1],[494,0],[494,1],[495,0],[495,1],[496,0],[496,1],[499,0],[499,2],[501,0],[501,2],[502,0],[502,2],[503,0],[503,2],[512,0],[512,1],[513,0],[513,1]],performAction:function(e,t,r,n,a,s,i){var o=s.length-1;switch(a){case 1:T.options.casesensitive?this.$=s[o]:this.$=s[o].toLowerCase();break;case 2:this.$=O(s[o].substr(1,s[o].length-2));break;case 3:this.$=s[o].toLowerCase();break;case 4:this.$=s[o];break;case 5:this.$=s[o]?s[o-1]+" "+s[o]:s[o-1];break;case 6:return new n.Statements({statements:s[o-1]});case 7:this.$=s[o-2],s[o]&&s[o-2].push(s[o]);break;case 8:case 9:case 70:case 80:case 85:case 143:case 177:case 205:case 206:case 242:case 261:case 273:case 354:case 372:case 451:case 474:case 475:case 479:case 487:case 528:case 529:case 566:case 649:case 659:case 683:case 685:case 687:case 701:case 702:case 732:case 756:this.$=[s[o]];break;case 10:case 11:this.$=s[o],s[o].explain=!0;break;case 12:this.$=s[o],n.exists&&(this.$.exists=n.exists),delete n.exists,n.queries&&(this.$.queries=n.queries),delete n.queries;break;case 13:case 162:case 172:case 237:case 238:case 240:case 248:case 250:case 259:case 267:case 270:case 375:case 491:case 501:case 503:case 515:case 521:case 522:case 567:this.$=void 0;break;case 68:this.$=new n.WithSelect({withs:s[o-1],select:s[o]});break;case 69:case 565:s[o-2].push(s[o]),this.$=s[o-2];break;case 71:this.$={name:s[o-4],select:s[o-1]};break;case 72:n.extend(this.$,s[o-9]),n.extend(this.$,s[o-8]),n.extend(this.$,s[o-7]),n.extend(this.$,s[o-6]),n.extend(this.$,s[o-5]),n.extend(this.$,s[o-4]),n.extend(this.$,s[o-3]),n.extend(this.$,s[o-2]),n.extend(this.$,s[o-1]),n.extend(this.$,s[o]),this.$=s[o-9];break;case 73:this.$=new n.Search({selectors:s[o-2],from:s[o]}),n.extend(this.$,s[o-1]);break;case 74:this.$={pivot:{expr:s[o-5],columnid:s[o-3],inlist:s[o-2],as:s[o]}};break;case 75:this.$={unpivot:{tocolumnid:s[o-8],forcolumnid:s[o-6],inlist:s[o-3],as:s[o]}};break;case 76:case 520:case 549:case 585:case 619:case 636:case 637:case 640:case 662:this.$=s[o-1];break;case 77:case 78:case 86:case 147:case 185:case 247:case 280:case 288:case 289:case 290:case 291:case 292:case 293:case 294:case 295:case 296:case 297:case 298:case 299:case 300:case 301:case 304:case 305:case 320:case 321:case 322:case 323:case 324:case 325:case 374:case 440:case 441:case 442:case 443:case 444:case 445:case 516:case 542:case 546:case 548:case 623:case 624:case 625:case 626:case 627:case 628:case 632:case 634:case 635:case 644:case 660:case 661:case 723:case 738:case 739:case 741:case 742:case 748:case 749:this.$=s[o];break;case 79:case 84:case 731:case 755:this.$=s[o-2],this.$.push(s[o]);break;case 81:this.$={expr:s[o]};break;case 82:this.$={expr:s[o-2],as:s[o]};break;case 83:this.$={removecolumns:s[o]};break;case 87:this.$={like:s[o]};break;case 90:case 104:this.$={srchid:"PROP",args:[s[o]]};break;case 91:this.$={srchid:"ORDERBY",args:s[o-1]};break;case 92:var u=s[o-1];u||(u="ASC"),this.$={srchid:"ORDERBY",args:[{expression:new n.Column({columnid:"_"}),direction:u}]};break;case 93:this.$={srchid:"PARENT"};break;case 94:this.$={srchid:"APROP",args:[s[o]]};break;case 95:this.$={selid:"ROOT"};break;case 96:this.$={srchid:"EQ",args:[s[o]]};break;case 97:this.$={srchid:"LIKE",args:[s[o]]};break;case 98:case 99:this.$={selid:"WITH",args:s[o-1]};break;case 100:this.$={srchid:s[o-3].toUpperCase(),args:s[o-1]};break;case 101:this.$={srchid:"WHERE",args:[s[o-1]]};break;case 102:this.$={selid:"OF",args:[s[o-1]]};break;case 103:this.$={srchid:"CLASS",args:[s[o-1]]};break;case 105:this.$={srchid:"NAME",args:[s[o].substr(1,s[o].length-2)]};break;case 106:this.$={srchid:"CHILD"};break;case 107:this.$={srchid:"VERTEX"};break;case 108:this.$={srchid:"EDGE"};break;case 109:this.$={srchid:"REF"};break;case 110:this.$={srchid:"SHARP",args:[s[o]]};break;case 111:this.$={srchid:"ATTR",args:void 0===s[o]?void 0:[s[o]]};break;case 112:this.$={srchid:"ATTR"};break;case 113:this.$={srchid:"OUT"};break;case 114:this.$={srchid:"IN"};break;case 115:this.$={srchid:"OUTOUT"};break;case 116:this.$={srchid:"ININ"};break;case 117:this.$={srchid:"CONTENT"};break;case 118:this.$={srchid:"EX",args:[new n.Json({value:s[o]})]};break;case 119:this.$={srchid:"AT",args:[s[o]]};break;case 120:this.$={srchid:"AS",args:[s[o]]};break;case 121:this.$={srchid:"SET",args:s[o-1]};break;case 122:this.$={selid:"TO",args:[s[o]]};break;case 123:this.$={srchid:"VALUE"};break;case 124:this.$={srchid:"ROW",args:s[o-1]};break;case 125:this.$={srchid:"CLASS",args:[s[o]]};break;case 126:this.$={selid:s[o],args:[s[o-1]]};break;case 127:this.$={selid:"NOT",args:s[o-1]};break;case 128:this.$={selid:"IF",args:s[o-1]};break;case 129:this.$={selid:s[o-3],args:s[o-1]};break;case 130:this.$={selid:"DISTINCT",args:s[o-1]};break;case 131:this.$={selid:"UNION",args:s[o-1]};break;case 132:this.$={selid:"UNIONALL",args:s[o-1]};break;case 133:this.$={selid:"ALL",args:[s[o-1]]};break;case 134:this.$={selid:"ANY",args:[s[o-1]]};break;case 135:this.$={selid:"INTERSECT",args:s[o-1]};break;case 136:this.$={selid:"EXCEPT",args:s[o-1]};break;case 137:this.$={selid:"AND",args:s[o-1]};break;case 138:this.$={selid:"OR",args:s[o-1]};break;case 139:this.$={selid:"PATH",args:[s[o-1]]};break;case 140:this.$={srchid:"RETURN",args:s[o-1]};break;case 141:this.$={selid:"REPEAT",sels:s[o-3],args:s[o-1]};break;case 142:this.$=s[o-2],this.$.push(s[o]);break;case 144:this.$="PLUS";break;case 145:this.$="STAR";break;case 146:this.$="QUESTION";break;case 148:case 149:this.$=new n.Select({columns:s[o],distinct:!0}),n.extend(this.$,s[o-3]),n.extend(this.$,s[o-1]);break;case 150:this.$=new n.Select({columns:s[o],all:!0}),n.extend(this.$,s[o-3]),n.extend(this.$,s[o-1]);break;case 151:s[o]?(this.$=new n.Select({columns:s[o]}),n.extend(this.$,s[o-2]),n.extend(this.$,s[o-1])):this.$=new n.Select({columns:[new n.Column({columnid:"_"})],modifier:"COLUMN"});break;case 152:"SELECT"==s[o]?this.$=void 0:this.$={modifier:s[o]};break;case 153:this.$={modifier:"VALUE"};break;case 154:this.$={modifier:"ROW"};break;case 155:this.$={modifier:"COLUMN"};break;case 156:this.$={modifier:"MATRIX"};break;case 157:this.$={modifier:"TEXTSTRING"};break;case 158:this.$={modifier:"INDEX"};break;case 159:this.$={modifier:"RECORDSET"};break;case 160:this.$={top:s[o-1],percent:void 0!==s[o]||void 0};break;case 161:this.$={top:s[o-1]};break;case 163:case 330:case 523:case 524:case 724:this.$=void 0;break;case 164:case 165:case 166:case 167:this.$={into:s[o]};break;case 168:var c=s[o];c=c.substr(1,c.length-2);var l=c.substr(-3).toUpperCase(),h=c.substr(-4).toUpperCase();"#"==c[0]?this.$={into:new n.FuncValue({funcid:"HTML",args:[new n.StringValue({value:c}),new n.Json({value:{headers:!0}})]})}:"XLS"==l||"CSV"==l||"TAB"==l?this.$={into:new n.FuncValue({funcid:l,args:[new n.StringValue({value:c}),new n.Json({value:{headers:!0}})]})}:"XLSX"!=h&&"JSON"!=h||(this.$={into:new n.FuncValue({funcid:h,args:[new n.StringValue({value:c}),new n.Json({value:{headers:!0}})]})});break;case 169:this.$={from:s[o]};break;case 170:this.$={from:s[o-1],joins:s[o]};break;case 171:this.$={from:s[o-2],joins:s[o-1]};break;case 173:this.$=new n.Apply({select:s[o-2],applymode:"CROSS",as:s[o]});break;case 174:this.$=new n.Apply({select:s[o-3],applymode:"CROSS",as:s[o]});break;case 175:this.$=new n.Apply({select:s[o-2],applymode:"OUTER",as:s[o]});break;case 176:this.$=new n.Apply({select:s[o-3],applymode:"OUTER",as:s[o]});break;case 178:case 243:case 452:case 530:case 531:this.$=s[o-2],s[o-2].push(s[o]);break;case 179:this.$=s[o-2],this.$.as=s[o];break;case 180:this.$=s[o-3],this.$.as=s[o];break;case 181:this.$=s[o-1],this.$.as="default";break;case 182:this.$=new n.Json({value:s[o-2]}),s[o-2].as=s[o];break;case 183:this.$=s[o-1],s[o-1].as=s[o];break;case 184:this.$=s[o-2],s[o-2].as=s[o];break;case 186:case 638:case 641:this.$=s[o-2];break;case 187:case 191:case 195:case 198:this.$=s[o-1],s[o-1].as=s[o];break;case 188:case 192:case 196:case 199:this.$=s[o-2],s[o-2].as=s[o];break;case 189:case 190:case 194:case 197:this.$=s[o],s[o].as="default";break;case 193:this.$={inserted:!0};break;case 200:var c=s[o];c=c.substr(1,c.length-2);var d,l=c.substr(-3).toUpperCase(),h=c.substr(-4).toUpperCase();if("#"==c[0])d=new n.FuncValue({funcid:"HTML",args:[new n.StringValue({value:c}),new n.Json({value:{headers:!0}})]});else if("XLS"==l||"CSV"==l||"TAB"==l)d=new n.FuncValue({funcid:l,args:[new n.StringValue({value:c}),new n.Json({value:{headers:!0}})]});else{if("XLSX"!=h&&"JSON"!=h)throw new Error("Unknown string in FROM clause");d=new n.FuncValue({funcid:h,args:[new n.StringValue({value:c}),new n.Json({value:{headers:!0}})]})}this.$=d;break;case 201:"INFORMATION_SCHEMA"==s[o-2]?this.$=new n.FuncValue({funcid:s[o-2],args:[new n.StringValue({value:s[o]})]}):this.$=new n.Table({databaseid:s[o-2],tableid:s[o]});break;case 202:this.$=new n.Table({tableid:s[o]});break;case 203:case 204:this.$=s[o-1],s[o-1].push(s[o]);break;case 207:this.$=new n.Join(s[o-2]),n.extend(this.$,s[o-1]),n.extend(this.$,s[o]);break;case 208:this.$={table:s[o]};break;case 209:this.$={table:s[o-1],as:s[o]};break;case 210:this.$={table:s[o-2],as:s[o]};break;case 211:this.$={json:new n.Json({value:s[o-2],as:s[o]})};break;case 212:this.$={param:s[o-1],as:s[o]};break;case 213:this.$={param:s[o-2],as:s[o]};break;case 214:this.$={select:s[o-2],as:s[o]};break;case 215:this.$={select:s[o-3],as:s[o]};break;case 216:this.$={funcid:s[o],as:"default"};break;case 217:this.$={funcid:s[o-1],as:s[o]};break;case 218:this.$={funcid:s[o-2],as:s[o]};break;case 219:this.$={variable:s[o],as:"default"};break;case 220:this.$={variable:s[o-1],as:s[o]};break;case 221:this.$={variable:s[o-2],as:s[o]};break;case 222:this.$={joinmode:s[o]};break;case 223:this.$={joinmode:s[o-1],natural:!0};break;case 224:case 225:this.$="INNER";break;case 226:case 227:this.$="LEFT";break;case 228:case 229:this.$="RIGHT";break;case 230:case 231:this.$="OUTER";break;case 232:this.$="SEMI";break;case 233:this.$="ANTI";break;case 234:this.$="CROSS";break;case 235:this.$={on:s[o]};break;case 236:case 697:this.$={using:s[o]};break;case 239:this.$={where:new n.Expression({expression:s[o]})};break;case 241:this.$={group:s[o-1]},n.extend(this.$,s[o]);break;case 244:this.$=new n.GroupExpression({type:"GROUPING SETS",group:s[o-1]});break;case 245:this.$=new n.GroupExpression({type:"ROLLUP",group:s[o-1]});break;case 246:this.$=new n.GroupExpression({type:"CUBE",group:s[o-1]});break;case 249:this.$={having:s[o]};break;case 251:this.$={union:s[o]};break;case 252:this.$={unionall:s[o]};break;case 253:this.$={except:s[o]};break;case 254:this.$={intersect:s[o]};break;case 255:this.$={union:s[o],corresponding:!0};break;case 256:this.$={unionall:s[o],corresponding:!0};break;case 257:this.$={except:s[o],corresponding:!0};break;case 258:this.$={intersect:s[o],corresponding:!0};break;case 260:this.$={order:s[o]};break;case 262:this.$=s[o-2],s[o-2].push(s[o]);break;case 263:this.$=new n.Expression({expression:s[o],direction:"ASC"});break;case 264:this.$=new n.Expression({expression:s[o-1],direction:s[o].toUpperCase()});break;case 265:this.$=new n.Expression({expression:s[o-2],direction:"ASC",nocase:!0});break;case 266:this.$=new n.Expression({expression:s[o-3],direction:s[o].toUpperCase(),nocase:!0});break;case 268:this.$={limit:s[o-1]},n.extend(this.$,s[o]);break;case 269:this.$={limit:s[o-2],offset:s[o-6]};break;case 271:this.$={offset:s[o]};break;case 272:case 509:case 533:case 648:case 658:case 682:case 684:case 688:s[o-2].push(s[o]),this.$=s[o-2];break;case 274:case 276:case 278:s[o-2].as=s[o],this.$=s[o-2];break;case 275:case 277:case 279:s[o-1].as=s[o],this.$=s[o-1];break;case 281:this.$=new n.Column({columid:s[o],tableid:s[o-2],databaseid:s[o-4]});break;case 282:this.$=new n.Column({columnid:s[o],tableid:s[o-2]});break;case 283:this.$=new n.Column({columnid:s[o]});break;case 284:this.$=new n.Column({columnid:s[o],tableid:s[o-2],databaseid:s[o-4]});break;case 285:case 286:this.$=new n.Column({columnid:s[o],tableid:s[o-2]});break;case 287:this.$=new n.Column({columnid:s[o]});break;case 302:this.$=new n.DomainValueValue;break;case 303:this.$=new n.Json({value:s[o]});break;case 306:case 307:case 308:n.queries||(n.queries=[]),n.queries.push(s[o-1]),s[o-1].queriesidx=n.queries.length,this.$=s[o-1];break;case 309:this.$=s[o];break;case 310:this.$=new n.FuncValue({funcid:"CURRENT_TIMESTAMP"});break;case 311:this.$=new n.JavaScript({value:s[o].substr(2,s[o].length-4)});break;case 312:this.$=new n.JavaScript({value:'alasql.fn["'+s[o-2]+'"] = '+s[o].substr(2,s[o].length-4)});break;case 313:this.$=new n.JavaScript({value:'alasql.aggr["'+s[o-2]+'"] = '+s[o].substr(2,s[o].length-4)});break;case 314:this.$=new n.FuncValue({funcid:s[o],newid:!0});break;case 315:this.$=s[o],n.extend(this.$,{newid:!0});break;case 316:this.$=new n.Convert({expression:s[o-3]}),n.extend(this.$,s[o-1]);break;case 317:this.$=new n.Convert({expression:s[o-5],style:s[o-1]}),n.extend(this.$,s[o-3]);break;case 318:this.$=new n.Convert({expression:s[o-1]}),n.extend(this.$,s[o-3]);break;case 319:this.$=new n.Convert({expression:s[o-3],style:s[o-1]}),n.extend(this.$,s[o-5]);break;case 326:this.$=new n.FuncValue({funcid:"CURRENT_TIMESTAMP"});break;case 327:s[o-2].length>1&&("MAX"==s[o-4].toUpperCase()||"MIN"==s[o-4].toUpperCase())?this.$=new n.FuncValue({funcid:s[o-4],args:s[o-2]}):this.$=new n.AggrValue({aggregatorid:s[o-4].toUpperCase(),expression:s[o-2].pop(),over:s[o]});break;case 328:this.$=new n.AggrValue({aggregatorid:s[o-5].toUpperCase(),expression:s[o-2],distinct:!0,over:s[o]});break;case 329:this.$=new n.AggrValue({aggregatorid:s[o-5].toUpperCase(),expression:s[o-2],over:s[o]});break;case 331:case 332:this.$=new n.Over,n.extend(this.$,s[o-1]);break;case 333:this.$=new n.Over,n.extend(this.$,s[o-2]),n.extend(this.$,s[o-1]);break;case 334:this.$={partition:s[o]};break;case 335:this.$={order:s[o]};break;case 336:this.$="SUM";break;case 337:this.$="COUNT";break;case 338:this.$="MIN";break;case 339:case 544:this.$="MAX";break;case 340:this.$="AVG";break;case 341:this.$="FIRST";break;case 342:this.$="LAST";break;case 343:this.$="AGGR";break;case 344:this.$="ARRAY";break;case 345:var f=s[o-4],p=s[o-1];p.length>1&&("MIN"==f.toUpperCase()||"MAX"==f.toUpperCase())?this.$=new n.FuncValue({funcid:f,args:p}):T.aggr[s[o-4]]?this.$=new n.AggrValue({aggregatorid:"REDUCE",funcid:f,expression:p.pop(),distinct:"DISTINCT"==s[o-2]}):this.$=new n.FuncValue({funcid:f,args:p});break;case 346:this.$=new n.FuncValue({funcid:s[o-2]});break;case 347:this.$=new n.FuncValue({funcid:"IIF",args:s[o-1]});break;case 348:this.$=new n.FuncValue({funcid:"REPLACE",args:s[o-1]});break;case 349:this.$=new n.FuncValue({funcid:"DATEADD",args:[new n.StringValue({value:s[o-5]}),s[o-3],s[o-1]]});break;case 350:this.$=new n.FuncValue({funcid:"DATEADD",args:[s[o-5],s[o-3],s[o-1]]});break;case 351:this.$=new n.FuncValue({funcid:"DATEDIFF",args:[new n.StringValue({value:s[o-5]}),s[o-3],s[o-1]]});break;case 352:this.$=new n.FuncValue({funcid:"DATEDIFF",args:[s[o-5],s[o-3],s[o-1]]});break;case 353:this.$=new n.FuncValue({funcid:"INTERVAL",args:[s[o-1],new n.StringValue({value:s[o].toLowerCase()})]});break;case 355:s[o-2].push(s[o]),this.$=s[o-2];break;case 356:this.$=new n.NumValue({value:+s[o]});break;case 357:this.$=new n.LogicValue({value:!0});break;case 358:this.$=new n.LogicValue({value:!1});break;case 359:this.$=new n.StringValue({value:s[o].substr(1,s[o].length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});break;case 360:this.$=new n.StringValue({value:s[o].substr(2,s[o].length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});break;case 361:this.$=new n.NullValue({value:void 0});break;case 362:this.$=new n.VarValue({variable:s[o]});break;case 363:n.exists||(n.exists=[]),this.$=new n.ExistsValue({value:s[o-1],existsidx:n.exists.length}),n.exists.push(s[o-1]);break;case 364:this.$=new n.ArrayValue({value:s[o-1]});break;case 365:case 366:this.$=new n.ParamValue({param:s[o]});break;case 367:void 0===n.question&&(n.question=0),this.$=new n.ParamValue({param:n.question++});break;case 368:void 0===n.question&&(n.question=0),this.$=new n.ParamValue({param:n.question++,array:!0});break;case 369:this.$=new n.CaseValue({expression:s[o-3],whens:s[o-2],elses:s[o-1]});break;case 370:this.$=new n.CaseValue({whens:s[o-2],elses:s[o-1]});break;case 371:case 699:case 700:this.$=s[o-1],this.$.push(s[o]);break;case 373:this.$={when:s[o-2],then:s[o]};break;case 376:case 377:this.$=new n.Op({left:s[o-2],op:"REGEXP",right:s[o]});break;case 378:this.$=new n.Op({left:s[o-2],op:"GLOB",right:s[o]});break;case 379:this.$=new n.Op({left:s[o-2],op:"LIKE",right:s[o]});break;case 380:this.$=new n.Op({left:s[o-4],op:"LIKE",right:s[o-2],escape:s[o]});break;case 381:this.$=new n.Op({left:s[o-2],op:"NOT LIKE",right:s[o]});break;case 382:this.$=new n.Op({left:s[o-4],op:"NOT LIKE",right:s[o-2],escape:s[o]});break;case 383:this.$=new n.Op({left:s[o-2],op:"||",right:s[o]});break;case 384:this.$=new n.Op({left:s[o-2],op:"+",right:s[o]});break;case 385:this.$=new n.Op({left:s[o-2],op:"-",right:s[o]});break;case 386:this.$=new n.Op({left:s[o-2],op:"*",right:s[o]});break;case 387:this.$=new n.Op({left:s[o-2],op:"/",right:s[o]});break;case 388:this.$=new n.Op({left:s[o-2],op:"%",right:s[o]});break;case 389:this.$=new n.Op({left:s[o-2],op:"^",right:s[o]});break;case 390:this.$=new n.Op({left:s[o-2],op:">>",right:s[o]});break;case 391:this.$=new n.Op({left:s[o-2],op:"<<",right:s[o]});break;case 392:this.$=new n.Op({left:s[o-2],op:"&",right:s[o]});break;case 393:this.$=new n.Op({left:s[o-2],op:"|",right:s[o]});break;case 394:case 395:case 397:this.$=new n.Op({left:s[o-2],op:"->",right:s[o]});break;case 396:this.$=new n.Op({left:s[o-4],op:"->",right:s[o-1]});break;case 398:case 399:case 401:this.$=new n.Op({left:s[o-2],op:"!",right:s[o]});break;case 400:this.$=new n.Op({left:s[o-4],op:"!",right:s[o-1]});break;case 402:this.$=new n.Op({left:s[o-2],op:">",right:s[o]});break;case 403:this.$=new n.Op({left:s[o-2],op:">=",right:s[o]});break;case 404:this.$=new n.Op({left:s[o-2],op:"<",right:s[o]});break;case 405:this.$=new n.Op({left:s[o-2],op:"<=",right:s[o]});break;case 406:this.$=new n.Op({left:s[o-2],op:"=",right:s[o]});break;case 407:this.$=new n.Op({left:s[o-2],op:"==",right:s[o]});break;case 408:this.$=new n.Op({left:s[o-2],op:"===",right:s[o]});break;case 409:this.$=new n.Op({left:s[o-2],op:"!=",right:s[o]});break;case 410:this.$=new n.Op({left:s[o-2],op:"!==",right:s[o]});break;case 411:this.$=new n.Op({left:s[o-2],op:"!===",right:s[o]});break;case 412:n.queries||(n.queries=[]),this.$=new n.Op({left:s[o-5],op:s[o-4],allsome:s[o-3],right:s[o-1],queriesidx:n.queries.length}),n.queries.push(s[o-1]);break;case 413:this.$=new n.Op({left:s[o-5],op:s[o-4],allsome:s[o-3],right:s[o-1]});break;case 414:"BETWEEN1"==s[o-2].op?"AND"==s[o-2].left.op?this.$=new n.Op({left:s[o-2].left.left,op:"AND",right:new n.Op({left:s[o-2].left.right,op:"BETWEEN",right1:s[o-2].right,right2:s[o]})}):this.$=new n.Op({left:s[o-2].left,op:"BETWEEN",right1:s[o-2].right,right2:s[o]}):"NOT BETWEEN1"==s[o-2].op?"AND"==s[o-2].left.op?this.$=new n.Op({left:s[o-2].left.left,op:"AND",right:new n.Op({left:s[o-2].left.right,op:"NOT BETWEEN",right1:s[o-2].right,right2:s[o]})}):this.$=new n.Op({left:s[o-2].left,op:"NOT BETWEEN",right1:s[o-2].right,right2:s[o]}):this.$=new n.Op({left:s[o-2],op:"AND",right:s[o]});break;case 415:this.$=new n.Op({left:s[o-2],op:"OR",right:s[o]});break;case 416:this.$=new n.UniOp({op:"NOT",right:s[o]});break;case 417:this.$=new n.UniOp({op:"-",right:s[o]});break;case 418:this.$=new n.UniOp({op:"+",right:s[o]});break;case 419:this.$=new n.UniOp({op:"~",right:s[o]});break;case 420:this.$=new n.UniOp({op:"#",right:s[o]});break;case 421:this.$=new n.UniOp({right:s[o-1]});break;case 422:n.queries||(n.queries=[]),this.$=new n.Op({left:s[o-4],op:"IN",right:s[o-1],queriesidx:n.queries.length}),n.queries.push(s[o-1]);break;case 423:n.queries||(n.queries=[]),this.$=new n.Op({left:s[o-5],op:"NOT IN",right:s[o-1],queriesidx:n.queries.length
-}),n.queries.push(s[o-1]);break;case 424:this.$=new n.Op({left:s[o-4],op:"IN",right:s[o-1]});break;case 425:this.$=new n.Op({left:s[o-5],op:"NOT IN",right:s[o-1]});break;case 426:this.$=new n.Op({left:s[o-3],op:"IN",right:[]});break;case 427:this.$=new n.Op({left:s[o-4],op:"NOT IN",right:[]});break;case 428:case 430:this.$=new n.Op({left:s[o-2],op:"IN",right:s[o]});break;case 429:case 431:this.$=new n.Op({left:s[o-3],op:"NOT IN",right:s[o]});break;case 432:this.$=new n.Op({left:s[o-2],op:"BETWEEN1",right:s[o]});break;case 433:this.$=new n.Op({left:s[o-2],op:"NOT BETWEEN1",right:s[o]});break;case 434:this.$=new n.Op({op:"IS",left:s[o-2],right:s[o]});break;case 435:this.$=new n.Op({op:"IS",left:s[o-2],right:new n.UniOp({op:"NOT",right:new n.NullValue({value:void 0})})});break;case 436:this.$=new n.Convert({expression:s[o-2]}),n.extend(this.$,s[o]);break;case 437:case 438:this.$=s[o];break;case 439:this.$=s[o-1];break;case 446:this.$="ALL";break;case 447:this.$="SOME";break;case 448:this.$="ANY";break;case 449:this.$=new n.Update({table:s[o-4],columns:s[o-2],where:s[o]});break;case 450:this.$=new n.Update({table:s[o-2],columns:s[o]});break;case 453:this.$=new n.SetColumn({column:s[o-2],expression:s[o]});break;case 454:this.$=new n.SetColumn({variable:s[o-2],expression:s[o],method:s[o-3]});break;case 455:this.$=new n.Delete({table:s[o-2],where:s[o]});break;case 456:this.$=new n.Delete({table:s[o]});break;case 457:this.$=new n.Insert({into:s[o-2],values:s[o]});break;case 458:this.$=new n.Insert({into:s[o-1],values:s[o]});break;case 459:case 461:this.$=new n.Insert({into:s[o-2],values:s[o],orreplace:!0});break;case 460:case 462:this.$=new n.Insert({into:s[o-1],values:s[o],orreplace:!0});break;case 463:this.$=new n.Insert({into:s[o-2],default:!0});break;case 464:this.$=new n.Insert({into:s[o-5],columns:s[o-3],values:s[o]});break;case 465:this.$=new n.Insert({into:s[o-4],columns:s[o-2],values:s[o]});break;case 466:this.$=new n.Insert({into:s[o-1],select:s[o]});break;case 467:this.$=new n.Insert({into:s[o-1],select:s[o],orreplace:!0});break;case 468:this.$=new n.Insert({into:s[o-4],columns:s[o-2],select:s[o]});break;case 473:this.$=[s[o-1]];break;case 476:this.$=s[o-4],s[o-4].push(s[o-1]);break;case 477:case 478:case 480:case 488:this.$=s[o-2],s[o-2].push(s[o]);break;case 489:this.$=new n.CreateTable({table:s[o-4]}),n.extend(this.$,s[o-7]),n.extend(this.$,s[o-6]),n.extend(this.$,s[o-5]),n.extend(this.$,s[o-2]),n.extend(this.$,s[o]);break;case 490:this.$=new n.CreateTable({table:s[o]}),n.extend(this.$,s[o-3]),n.extend(this.$,s[o-2]),n.extend(this.$,s[o-1]);break;case 492:this.$={class:!0};break;case 502:this.$={temporary:!0};break;case 504:this.$={ifnotexists:!0};break;case 505:this.$={columns:s[o-2],constraints:s[o]};break;case 506:this.$={columns:s[o]};break;case 507:this.$={as:s[o]};break;case 508:case 532:this.$=[s[o]];break;case 510:case 511:case 512:case 513:case 514:s[o].constraintid=s[o-1],this.$=s[o];break;case 517:this.$={type:"CHECK",expression:s[o-1]};break;case 518:this.$={type:"PRIMARY KEY",columns:s[o-1],clustered:(s[o-3]+"").toUpperCase()};break;case 519:this.$={type:"FOREIGN KEY",columns:s[o-5],fktable:s[o-2],fkcolumns:s[o-1]};break;case 525:this.$={type:"UNIQUE",columns:s[o-1],clustered:(s[o-3]+"").toUpperCase()};break;case 534:this.$=new n.ColumnDef({columnid:s[o-2]}),n.extend(this.$,s[o-1]),n.extend(this.$,s[o]);break;case 535:this.$=new n.ColumnDef({columnid:s[o-1]}),n.extend(this.$,s[o]);break;case 536:this.$=new n.ColumnDef({columnid:s[o],dbtypeid:""});break;case 537:this.$={dbtypeid:s[o-5],dbsize:s[o-3],dbprecision:+s[o-1]};break;case 538:this.$={dbtypeid:s[o-3],dbsize:s[o-1]};break;case 539:this.$={dbtypeid:s[o]};break;case 540:this.$={dbtypeid:"ENUM",enumvalues:s[o-1]};break;case 541:this.$=s[o-1],s[o-1].dbtypeid+="["+s[o]+"]";break;case 543:case 750:this.$=+s[o];break;case 545:this.$=void 0;break;case 547:n.extend(s[o-1],s[o]),this.$=s[o-1];break;case 550:this.$={primarykey:!0};break;case 551:case 552:this.$={foreignkey:{table:s[o-1],columnid:s[o]}};break;case 553:this.$={identity:{value:s[o-3],step:s[o-1]}};break;case 554:this.$={identity:{value:1,step:1}};break;case 555:case 557:this.$={default:s[o]};break;case 556:this.$={default:s[o-1]};break;case 558:this.$={null:!0};break;case 559:this.$={notnull:!0};break;case 560:this.$={check:s[o]};break;case 561:this.$={unique:!0};break;case 562:this.$={onupdate:s[o]};break;case 563:this.$={onupdate:s[o-1]};break;case 564:this.$=new n.DropTable({tables:s[o],type:s[o-2]}),n.extend(this.$,s[o-1]);break;case 568:this.$={ifexists:!0};break;case 569:this.$=new n.AlterTable({table:s[o-3],renameto:s[o]});break;case 570:this.$=new n.AlterTable({table:s[o-3],addcolumn:s[o]});break;case 571:this.$=new n.AlterTable({table:s[o-3],modifycolumn:s[o]});break;case 572:this.$=new n.AlterTable({table:s[o-5],renamecolumn:s[o-2],to:s[o]});break;case 573:this.$=new n.AlterTable({table:s[o-3],dropcolumn:s[o]});break;case 574:this.$=new n.AlterTable({table:s[o-2],renameto:s[o]});break;case 575:this.$=new n.AttachDatabase({databaseid:s[o],engineid:s[o-2].toUpperCase()});break;case 576:this.$=new n.AttachDatabase({databaseid:s[o-3],engineid:s[o-5].toUpperCase(),args:s[o-1]});break;case 577:this.$=new n.AttachDatabase({databaseid:s[o-2],engineid:s[o-4].toUpperCase(),as:s[o]});break;case 578:this.$=new n.AttachDatabase({databaseid:s[o-5],engineid:s[o-7].toUpperCase(),as:s[o],args:s[o-3]});break;case 579:this.$=new n.DetachDatabase({databaseid:s[o]});break;case 580:this.$=new n.CreateDatabase({databaseid:s[o]}),n.extend(this.$,s[o]);break;case 581:this.$=new n.CreateDatabase({engineid:s[o-4].toUpperCase(),databaseid:s[o-1],as:s[o]}),n.extend(this.$,s[o-2]);break;case 582:this.$=new n.CreateDatabase({engineid:s[o-7].toUpperCase(),databaseid:s[o-4],args:s[o-2],as:s[o]}),n.extend(this.$,s[o-5]);break;case 583:this.$=new n.CreateDatabase({engineid:s[o-4].toUpperCase(),as:s[o],args:[s[o-1]]}),n.extend(this.$,s[o-2]);break;case 584:this.$=void 0;break;case 586:case 587:this.$=new n.UseDatabase({databaseid:s[o]});break;case 588:this.$=new n.DropDatabase({databaseid:s[o]}),n.extend(this.$,s[o-1]);break;case 589:case 590:this.$=new n.DropDatabase({databaseid:s[o],engineid:s[o-3].toUpperCase()}),n.extend(this.$,s[o-1]);break;case 591:this.$=new n.CreateIndex({indexid:s[o-5],table:s[o-3],columns:s[o-1]});break;case 592:this.$=new n.CreateIndex({indexid:s[o-5],table:s[o-3],columns:s[o-1],unique:!0});break;case 593:this.$=new n.DropIndex({indexid:s[o]});break;case 594:this.$=new n.ShowDatabases;break;case 595:this.$=new n.ShowDatabases({like:s[o]});break;case 596:this.$=new n.ShowDatabases({engineid:s[o-1].toUpperCase()});break;case 597:this.$=new n.ShowDatabases({engineid:s[o-3].toUpperCase(),like:s[o]});break;case 598:this.$=new n.ShowTables;break;case 599:this.$=new n.ShowTables({like:s[o]});break;case 600:this.$=new n.ShowTables({databaseid:s[o]});break;case 601:this.$=new n.ShowTables({like:s[o],databaseid:s[o-2]});break;case 602:this.$=new n.ShowColumns({table:s[o]});break;case 603:this.$=new n.ShowColumns({table:s[o-2],databaseid:s[o]});break;case 604:this.$=new n.ShowIndex({table:s[o]});break;case 605:this.$=new n.ShowIndex({table:s[o-2],databaseid:s[o]});break;case 606:this.$=new n.ShowCreateTable({table:s[o]});break;case 607:this.$=new n.ShowCreateTable({table:s[o-2],databaseid:s[o]});break;case 608:this.$=new n.CreateTable({table:s[o-6],view:!0,select:s[o-1],viewcolumns:s[o-4]}),n.extend(this.$,s[o-9]),n.extend(this.$,s[o-7]);break;case 609:this.$=new n.CreateTable({table:s[o-3],view:!0,select:s[o-1]}),n.extend(this.$,s[o-6]),n.extend(this.$,s[o-4]);break;case 613:this.$=new n.DropTable({tables:s[o],view:!0}),n.extend(this.$,s[o-1]);break;case 614:case 760:this.$=new n.ExpressionStatement({expression:s[o]});break;case 615:this.$=new n.Source({url:s[o].value});break;case 616:this.$=new n.Assert({value:s[o]});break;case 617:this.$=new n.Assert({value:s[o].value});break;case 618:this.$=new n.Assert({value:s[o],message:s[o-2]});break;case 620:case 631:case 633:this.$=s[o].value;break;case 621:case 629:this.$=+s[o].value;break;case 622:this.$=!!s[o].value;break;case 630:this.$=""+s[o].value;break;case 639:this.$={};break;case 642:this.$=[];break;case 643:n.extend(s[o-2],s[o]),this.$=s[o-2];break;case 645:this.$={},this.$[s[o-2].substr(1,s[o-2].length-2)]=s[o];break;case 646:case 647:this.$={},this.$[s[o-2]]=s[o];break;case 650:this.$=new n.SetVariable({variable:s[o-2].toLowerCase(),value:s[o]});break;case 651:this.$=new n.SetVariable({variable:s[o-1].toLowerCase(),value:s[o]});break;case 652:this.$=new n.SetVariable({variable:s[o-2],expression:s[o]});break;case 653:this.$=new n.SetVariable({variable:s[o-3],props:s[o-2],expression:s[o]});break;case 654:this.$=new n.SetVariable({variable:s[o-2],expression:s[o],method:s[o-3]});break;case 655:this.$=new n.SetVariable({variable:s[o-3],props:s[o-2],expression:s[o],method:s[o-4]});break;case 656:this.$="@";break;case 657:this.$="$";break;case 663:this.$=!0;break;case 664:this.$=!1;break;case 665:this.$=new n.CommitTransaction;break;case 666:this.$=new n.RollbackTransaction;break;case 667:this.$=new n.BeginTransaction;break;case 668:this.$=new n.If({expression:s[o-2],thenstat:s[o-1],elsestat:s[o]}),s[o-1].exists&&(this.$.exists=s[o-1].exists),s[o-1].queries&&(this.$.queries=s[o-1].queries);break;case 669:this.$=new n.If({expression:s[o-1],thenstat:s[o]}),s[o].exists&&(this.$.exists=s[o].exists),s[o].queries&&(this.$.queries=s[o].queries);break;case 670:this.$=s[o];break;case 671:this.$=new n.While({expression:s[o-1],loopstat:s[o]}),s[o].exists&&(this.$.exists=s[o].exists),s[o].queries&&(this.$.queries=s[o].queries);break;case 672:this.$=new n.Continue;break;case 673:this.$=new n.Break;break;case 674:this.$=new n.BeginEnd({statements:s[o-1]});break;case 675:this.$=new n.Print({exprs:s[o]});break;case 676:this.$=new n.Print({select:s[o]});break;case 677:this.$=new n.Require({paths:s[o]});break;case 678:this.$=new n.Require({plugins:s[o]});break;case 679:case 680:this.$=s[o].toUpperCase();break;case 681:this.$=new n.Echo({expr:s[o]});break;case 686:this.$=new n.Declare({declares:s[o]});break;case 689:this.$={variable:s[o-1]},n.extend(this.$,s[o]);break;case 690:this.$={variable:s[o-2]},n.extend(this.$,s[o]);break;case 691:this.$={variable:s[o-3],expression:s[o]},n.extend(this.$,s[o-2]);break;case 692:this.$={variable:s[o-4],expression:s[o]},n.extend(this.$,s[o-2]);break;case 693:this.$=new n.TruncateTable({table:s[o]});break;case 694:this.$=new n.Merge,n.extend(this.$,s[o-4]),n.extend(this.$,s[o-3]),n.extend(this.$,s[o-2]),n.extend(this.$,{matches:s[o-1]}),n.extend(this.$,s[o]);break;case 695:case 696:this.$={into:s[o]};break;case 698:this.$={on:s[o]};break;case 703:this.$={matched:!0,action:s[o]};break;case 704:this.$={matched:!0,expr:s[o-2],action:s[o]};break;case 705:this.$={delete:!0};break;case 706:this.$={update:s[o]};break;case 707:case 708:this.$={matched:!1,bytarget:!0,action:s[o]};break;case 709:case 710:this.$={matched:!1,bytarget:!0,expr:s[o-2],action:s[o]};break;case 711:this.$={matched:!1,bysource:!0,action:s[o]};break;case 712:this.$={matched:!1,bysource:!0,expr:s[o-2],action:s[o]};break;case 713:this.$={insert:!0,values:s[o]};break;case 714:this.$={insert:!0,values:s[o],columns:s[o-3]};break;case 715:this.$={insert:!0,defaultvalues:!0};break;case 716:this.$={insert:!0,defaultvalues:!0,columns:s[o-3]};break;case 718:this.$={output:{columns:s[o]}};break;case 719:this.$={output:{columns:s[o-3],intovar:s[o],method:s[o-1]}};break;case 720:this.$={output:{columns:s[o-2],intotable:s[o]}};break;case 721:this.$={output:{columns:s[o-5],intotable:s[o-3],intocolumns:s[o-1]}};break;case 722:this.$=new n.CreateVertex({class:s[o-3],sharp:s[o-2],name:s[o-1]}),n.extend(this.$,s[o]);break;case 725:this.$={sets:s[o]};break;case 726:this.$={content:s[o]};break;case 727:this.$={select:s[o]};break;case 728:this.$=new n.CreateEdge({from:s[o-3],to:s[o-1],name:s[o-5]}),n.extend(this.$,s[o]);break;case 729:this.$=new n.CreateGraph({graph:s[o]});break;case 730:this.$=new n.CreateGraph({from:s[o]});break;case 733:this.$=s[o-2],s[o-1]&&(this.$.json=new n.Json({value:s[o-1]})),s[o]&&(this.$.as=s[o]);break;case 734:this.$={source:s[o-6],target:s[o]},s[o-3]&&(this.$.json=new n.Json({value:s[o-3]})),s[o-2]&&(this.$.as=s[o-2]),n.extend(this.$,s[o-4]);break;case 735:this.$={source:s[o-5],target:s[o]},s[o-2]&&(this.$.json=new n.Json({value:s[o-3]})),s[o-1]&&(this.$.as=s[o-2]);break;case 736:this.$={source:s[o-2],target:s[o]};break;case 740:this.$={vars:s[o],method:s[o-1]};break;case 743:case 744:var b=s[o-1];this.$={prop:s[o-3],sharp:s[o-2],name:void 0===b?void 0:b.substr(1,b.length-2),class:s[o]};break;case 745:var E=s[o-1];this.$={sharp:s[o-2],name:void 0===E?void 0:E.substr(1,E.length-2),class:s[o]};break;case 746:var g=s[o-1];this.$={name:void 0===g?void 0:g.substr(1,g.length-2),class:s[o]};break;case 747:this.$={class:s[o]};break;case 753:this.$=new n.AddRule({left:s[o-2],right:s[o]});break;case 754:this.$=new n.AddRule({right:s[o]});break;case 757:this.$=new n.Term({termid:s[o]});break;case 758:this.$=new n.Term({termid:s[o-3],args:s[o-1]});break;case 761:this.$=new n.CreateTrigger({trigger:s[o-6],when:s[o-5],action:s[o-4],table:s[o-2],statement:s[o]}),s[o].exists&&(this.$.exists=s[o].exists),s[o].queries&&(this.$.queries=s[o].queries);break;case 762:this.$=new n.CreateTrigger({trigger:s[o-5],when:s[o-4],action:s[o-3],table:s[o-1],funcid:s[o]});break;case 763:this.$=new n.CreateTrigger({trigger:s[o-6],when:s[o-4],action:s[o-3],table:s[o-5],statement:s[o]}),s[o].exists&&(this.$.exists=s[o].exists),s[o].queries&&(this.$.queries=s[o].queries);break;case 764:case 765:case 767:this.$="AFTER";break;case 766:this.$="BEFORE";break;case 768:this.$="INSTEADOF";break;case 769:this.$="INSERT";break;case 770:this.$="DELETE";break;case 771:this.$="UPDATE";break;case 772:this.$=new n.DropTrigger({trigger:s[o]});break;case 773:this.$=new n.Reindex({indexid:s[o]});break;case 1047:case 1067:case 1069:case 1071:case 1075:case 1077:case 1079:case 1081:case 1083:case 1085:this.$=[];break;case 1048:case 1062:case 1064:case 1068:case 1070:case 1072:case 1076:case 1078:case 1080:case 1082:case 1084:case 1086:s[o-1].push(s[o]);break;case 1061:case 1063:this.$=[s[o]]}},table:[t([10,602,764],r,{8:1,9:2,12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,2:n,4:a,5:s,14:i,53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),{1:[3]},{10:[1,105],11:106,602:Y,764:W},t(X,[2,8]),t(X,[2,9]),t(K,[2,12]),t(X,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:109,2:n,4:a,5:s,15:[1,110],53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),t(K,[2,14]),t(K,[2,15]),t(K,[2,16]),t(K,[2,17]),t(K,[2,18]),t(K,[2,19]),t(K,[2,20]),t(K,[2,21]),t(K,[2,22]),t(K,[2,23]),t(K,[2,24]),t(K,[2,25]),t(K,[2,26]),t(K,[2,27]),t(K,[2,28]),t(K,[2,29]),t(K,[2,30]),t(K,[2,31]),t(K,[2,32]),t(K,[2,33]),t(K,[2,34]),t(K,[2,35]),t(K,[2,36]),t(K,[2,37]),t(K,[2,38]),t(K,[2,39]),t(K,[2,40]),t(K,[2,41]),t(K,[2,42]),t(K,[2,43]),t(K,[2,44]),t(K,[2,45]),t(K,[2,46]),t(K,[2,47]),t(K,[2,48]),t(K,[2,49]),t(K,[2,50]),t(K,[2,51]),t(K,[2,52]),t(K,[2,53]),t(K,[2,54]),t(K,[2,55]),t(K,[2,56]),t(K,[2,57]),t(K,[2,58]),t(K,[2,59]),t(K,[2,60]),t(K,[2,61]),t(K,[2,62]),t(K,[2,63]),t(K,[2,64]),t(K,[2,65]),t(K,[2,66]),t(K,[2,67]),{353:[1,111]},{2:n,3:112,4:a,5:s},{2:n,3:114,4:a,5:s,156:Q,200:113,290:z,291:Z,292:ee,293:te},t(re,[2,501],{3:121,348:125,2:n,4:a,5:s,134:ne,135:ae,187:[1,123],193:[1,122],268:[1,129],269:[1,130],357:[1,131],405:[1,120],472:[1,124],509:[1,128]}),{145:se,449:132,450:133},{183:[1,135]},{405:[1,136]},{2:n,3:138,4:a,5:s,130:[1,144],193:[1,139],353:[1,143],397:140,405:[1,137],410:[1,141],509:[1,142]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:145,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Be,je,{340:204,171:[1,205],198:He}),t(Be,je,{340:207,198:He}),{2:n,3:219,4:a,5:s,77:Je,132:Ye,143:le,144:212,145:he,152:fe,156:Q,181:ge,198:[1,210],199:213,200:215,201:214,202:217,209:209,213:We,214:218,290:z,291:Z,292:ee,293:te,302:_e,419:190,420:Ge,424:Ve,453:208},{2:n,3:221,4:a,5:s},{353:[1,222]},t(Xe,[2,1043],{80:223,106:224,107:[1,225]}),t(Ke,[2,1047],{90:226}),{2:n,3:230,4:a,5:s,190:[1,228],193:[1,231],267:[1,227],353:[1,232],405:[1,229]},{353:[1,233]},{2:n,3:236,4:a,5:s,73:234,75:235},t([306,602,764],r,{12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,9:238,2:n,4:a,5:s,14:i,53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,435:[1,237],436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),{435:[1,239]},{435:[1,240]},{2:n,3:242,4:a,5:s,405:[1,241]},{2:n,3:244,4:a,5:s,199:243},t(Qe,[2,311]),{113:245,132:ue,296:Le},{2:n,3:114,4:a,5:s,113:251,131:oe,132:[1,248],143:le,144:246,145:ze,152:fe,156:Q,181:ge,196:250,200:255,201:254,257:252,258:253,265:Ze,274:247,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,302:_e,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:257,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(K,[2,672]),t(K,[2,673]),{2:n,3:168,4:a,5:s,40:259,56:165,77:ie,79:75,89:c,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:258,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,184:99,189:f,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:266,4:a,5:s,113:263,132:ue,296:Le,444:261,445:262,446:264,447:et},{2:n,3:267,4:a,5:s,143:tt,145:rt,431:268},{2:n,3:168,4:a,5:s,56:165,77:ie,94:271,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{505:[1,272]},{2:n,3:100,4:a,5:s,504:274,506:273},{2:n,3:114,4:a,5:s,156:Q,200:275,290:z,291:Z,292:ee,293:te},{2:n,3:168,4:a,5:s,56:165,77:ie,94:276,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(nt,at,{186:280,164:[1,279],185:[1,277],187:[1,278],195:st}),t(it,[2,757],{77:[1,282]}),t([2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,152,154,156,162,164,168,169,179,180,181,183,185,187,195,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],[2,152],{149:[1,283],150:[1,284],190:[1,285],191:[1,286],192:[1,287],193:[1,288],194:[1,289]}),t(ot,[2,1]),t(ot,[2,2]),{6:290,131:[1,439],172:[1,462],245:[1,411],285:[1,373],286:[1,407],370:[1,404],381:[1,295],402:[1,297],410:[1,549],414:[1,471],416:[1,443],417:[1,509],433:[1,442],435:[1,525],440:[1,342],460:[1,418],464:[1,448],470:[1,341],514:[1,307],515:[1,299],516:[1,399],518:[1,291],519:[1,292],520:[1,293],521:[1,294],522:[1,296],523:[1,298],524:[1,300],525:[1,301],526:[1,302],527:[1,303],528:[1,304],529:[1,305],530:[1,306],531:[1,308],532:[1,309],533:[1,310],534:[1,311],535:[1,312],536:[1,313],537:[1,314],538:[1,315],539:[1,316],540:[1,317],541:[1,318],542:[1,319],543:[1,320],544:[1,321],545:[1,322],546:[1,323],547:[1,324],548:[1,325],549:[1,326],550:[1,327],551:[1,328],552:[1,329],553:[1,330],554:[1,331],555:[1,332],556:[1,333],557:[1,334],558:[1,335],559:[1,336],560:[1,337],561:[1,338],562:[1,339],563:[1,340],564:[1,343],565:[1,344],566:[1,345],567:[1,346],568:[1,347],569:[1,348],570:[1,349],571:[1,350],572:[1,351],573:[1,352],574:[1,353],575:[1,354],576:[1,355],577:[1,356],578:[1,357],579:[1,358],580:[1,359],581:[1,360],582:[1,361],583:[1,362],584:[1,363],585:[1,364],586:[1,365],587:[1,366],588:[1,367],589:[1,368],590:[1,369],591:[1,370],592:[1,371],593:[1,372],594:[1,374],595:[1,375],596:[1,376],597:[1,377],598:[1,378],599:[1,379],600:[1,380],601:[1,381],602:[1,382],603:[1,383],604:[1,384],605:[1,385],606:[1,386],607:[1,387],608:[1,388],609:[1,389],610:[1,390],611:[1,391],612:[1,392],613:[1,393],614:[1,394],615:[1,395],616:[1,396],617:[1,397],618:[1,398],619:[1,400],620:[1,401],621:[1,402],622:[1,403],623:[1,405],624:[1,406],625:[1,408],626:[1,409],627:[1,410],628:[1,412],629:[1,413],630:[1,414],631:[1,415],632:[1,416],633:[1,417],634:[1,419],635:[1,420],636:[1,421],637:[1,422],638:[1,423],639:[1,424],640:[1,425],641:[1,426],642:[1,427],643:[1,428],644:[1,429],645:[1,430],646:[1,431],647:[1,432],648:[1,433],649:[1,434],650:[1,435],651:[1,436],652:[1,437],653:[1,438],654:[1,440],655:[1,441],656:[1,444],657:[1,445],658:[1,446],659:[1,447],660:[1,449],661:[1,450],662:[1,451],663:[1,452],664:[1,453],665:[1,454],666:[1,455],667:[1,456],668:[1,457],669:[1,458],670:[1,459],671:[1,460],672:[1,461],673:[1,463],674:[1,464],675:[1,465],676:[1,466],677:[1,467],678:[1,468],679:[1,469],680:[1,470],681:[1,472],682:[1,473],683:[1,474],684:[1,475],685:[1,476],686:[1,477],687:[1,478],688:[1,479],689:[1,480],690:[1,481],691:[1,482],692:[1,483],693:[1,484],694:[1,485],695:[1,486],696:[1,487],697:[1,488],698:[1,489],699:[1,490],700:[1,491],701:[1,492],702:[1,493],703:[1,494],704:[1,495],705:[1,496],706:[1,497],707:[1,498],708:[1,499],709:[1,500],710:[1,501],711:[1,502],712:[1,503],713:[1,504],714:[1,505],715:[1,506],716:[1,507],717:[1,508],718:[1,510],719:[1,511],720:[1,512],721:[1,513],722:[1,514],723:[1,515],724:[1,516],725:[1,517],726:[1,518],727:[1,519],728:[1,520],729:[1,521],730:[1,522],731:[1,523],732:[1,524],733:[1,526],734:[1,527],735:[1,528],736:[1,529],737:[1,530],738:[1,531],739:[1,532],740:[1,533],741:[1,534],742:[1,535],743:[1,536],744:[1,537],745:[1,538],746:[1,539],747:[1,540],748:[1,541],749:[1,542],750:[1,543],751:[1,544],752:[1,545],753:[1,546],754:[1,547],755:[1,548],756:[1,550],757:[1,551],758:[1,552],759:[1,553],760:[1,554],761:[1,555],762:[1,556],763:[1,557]},{1:[2,6]},t(X,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:558,2:n,4:a,5:s,53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),t(ut,[2,1041]),t(ut,[2,1042]),t(X,[2,10]),{16:[1,559]},{2:n,3:244,4:a,5:s,199:560},{405:[1,561]},t(K,[2,760]),{77:ct},{77:[1,563]},{77:lt},{77:[1,565]},{77:[1,566]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:567,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Be,ht,{350:568,156:dt}),{405:[1,570]},{2:n,3:571,4:a,5:s},{193:[1,572]},{2:n,3:578,4:a,5:s,132:ft,137:pt,143:tt,145:rt,152:bt,183:[1,574],431:585,473:573,474:575,475:576,478:577,482:582,493:579,497:581},{130:[1,589],349:586,353:[1,588],410:[1,587]},{113:591,132:ue,183:[2,1141],296:Le,471:590},t(Et,[2,1135],{465:592,3:593,2:n,4:a,5:s}),{2:n,3:594,4:a,5:s},{4:[1,595]},{4:[1,596]},t(re,[2,502]),t(K,[2,686],{74:[1,597]}),t(gt,[2,687]),{2:n,3:598,4:a,5:s},{2:n,3:244,4:a,5:s,199:599},{2:n,3:600,4:a,5:s},t(Be,mt,{398:601,156:vt}),{405:[1,603]},{2:n,3:604,4:a,5:s},t(Be,mt,{398:605,156:vt}),t(Be,mt,{398:606,156:vt}),{2:n,3:607,4:a,5:s},t(St,[2,1129]),t(St,[2,1130]),t(K,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:608,114:625,327:637,2:n,4:a,5:s,53:o,72:u,89:c,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:Rt,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,146:h,154:$t,156:d,170:Mt,171:Ut,179:_t,180:Ft,189:f,266:p,267:b,290:E,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),t(Qe,[2,288]),t(Qe,[2,289]),t(Qe,[2,290]),t(Qe,[2,291]),t(Qe,[2,292]),t(Qe,[2,293]),t(Qe,[2,294]),t(Qe,[2,295]),t(Qe,[2,296]),t(Qe,[2,297]),t(Qe,[2,298]),t(Qe,[2,299]),t(Qe,[2,300]),t(Qe,[2,301]),t(Qe,[2,302]),t(Qe,[2,303]),t(Qe,[2,304]),t(Qe,[2,305]),{2:n,3:168,4:a,5:s,26:654,27:653,36:649,40:648,56:165,77:ie,79:75,89:c,94:651,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,184:99,189:f,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,264:650,265:me,266:p,267:[1,655],270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:[1,652],291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,339:v,419:190,420:Ge,424:Ve},t(Qe,[2,309]),t(Qe,[2,310]),{77:[1,656]},t([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],ar,{77:ct,116:[1,657]}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:658,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:659,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:660,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:661,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:662,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve
-},t(Qe,[2,283]),t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,249,265,266,267,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,302,303,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,415,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764,765,766],[2,356]),t(sr,[2,357]),t(sr,[2,358]),t(sr,ir),t(sr,[2,360]),t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,361]),{2:n,3:664,4:a,5:s,131:[1,665],301:663},{2:n,3:666,4:a,5:s},t(sr,[2,367]),t(sr,[2,368]),{2:n,3:667,4:a,5:s,77:or,113:669,131:oe,132:ue,143:le,152:fe,181:ge,196:670,201:672,257:671,294:De,295:ke,296:Le,302:_e,419:673,424:Ve},{77:[1,674]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:675,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,304:676,307:677,308:ur,312:Pe,317:qe,419:190,420:Ge,424:Ve},{77:[1,679]},{77:[1,680]},t(cr,[2,624]),{2:n,3:695,4:a,5:s,77:lr,111:690,113:688,131:oe,132:ue,143:le,144:685,145:ze,152:fe,156:Q,181:ge,196:687,200:693,201:692,257:689,258:691,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,300:[1,683],302:_e,419:190,420:Ge,421:681,422:684,423:686,424:Ve,427:682},{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:696,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:697,4:a,5:s,156:Q,200:698,290:z,291:Z,292:ee,293:te},{77:[2,336]},{77:[2,337]},{77:[2,338]},{77:[2,339]},{77:[2,340]},{77:[2,341]},{77:[2,342]},{77:[2,343]},{77:[2,344]},{2:n,3:704,4:a,5:s,131:hr,132:dr,425:699,426:[1,700],428:701},{2:n,3:244,4:a,5:s,199:705},{290:[1,706]},t(Be,[2,472]),{2:n,3:244,4:a,5:s,199:707},{231:[1,709],454:708},{231:[2,695]},{2:n,3:219,4:a,5:s,77:Je,132:Ye,143:le,144:212,145:he,152:fe,156:Q,181:ge,199:213,200:215,201:214,202:217,209:710,213:We,214:218,290:z,291:Z,292:ee,293:te,302:_e,419:190,420:Ge,424:Ve},{40:711,79:75,89:c,184:99,189:f},t(fr,[2,1091],{210:712,76:[1,713]}),t(pr,[2,185],{3:714,2:n,4:a,5:s,76:[1,715],154:[1,716]}),t(pr,[2,189],{3:717,2:n,4:a,5:s,76:[1,718]}),t(pr,[2,190],{3:719,2:n,4:a,5:s,76:[1,720]}),t(pr,[2,193]),t(pr,[2,194],{3:721,2:n,4:a,5:s,76:[1,722]}),t(pr,[2,197],{3:723,2:n,4:a,5:s,76:[1,724]}),t([2,4,5,10,72,74,76,78,93,98,118,128,154,162,168,169,183,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],br,{77:ct,116:Er}),t([2,4,5,10,72,74,76,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],[2,200]),t(K,[2,773]),{2:n,3:244,4:a,5:s,199:726},t(gr,mr,{81:727,198:vr}),t(Xe,[2,1044]),t(Sr,[2,1057],{108:729,190:[1,730]}),t([10,78,183,306,310,602,764],mr,{419:190,81:731,117:732,3:733,114:736,144:758,158:768,160:769,2:n,4:a,5:s,72:Tr,76:Ar,77:yr,112:Nr,115:yt,116:Nt,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,198:vr,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,420:Ge,424:Ve}),{353:[1,782]},{183:[1,783]},t(K,[2,594],{112:[1,784]}),{405:[1,785]},{183:[1,786]},t(K,[2,598],{112:[1,787],183:[1,788]}),{2:n,3:244,4:a,5:s,199:789},{40:790,74:[1,791],79:75,89:c,184:99,189:f},t(dn,[2,70]),{76:[1,792]},t(K,[2,667]),{11:106,306:[1,793],602:Y,764:W},t(K,[2,665]),t(K,[2,666]),{2:n,3:794,4:a,5:s},t(K,[2,587]),{146:[1,795]},t([2,4,5,10,53,72,74,76,77,78,89,95,124,128,143,145,146,148,149,152,154,156,181,183,187,189,230,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],br,{116:Er}),t(K,[2,615]),t(K,[2,616]),t(K,[2,617]),t(K,ir,{74:[1,796]}),{77:or,113:669,131:oe,132:ue,143:le,152:fe,181:ge,196:670,201:672,257:671,294:De,295:ke,296:Le,302:_e,419:673,424:Ve},t(fn,[2,320]),t(fn,[2,321]),t(fn,[2,322]),t(fn,[2,323]),t(fn,[2,324]),t(fn,[2,325]),t(fn,[2,326]),t(K,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,114:625,327:637,12:797,2:n,4:a,5:s,53:o,72:u,89:c,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:Rt,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,146:h,154:$t,156:d,170:Mt,171:Ut,179:_t,180:Ft,189:f,266:p,267:b,290:E,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),t(K,[2,675],{74:pn}),t(K,[2,676]),t(bn,[2,354],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(K,[2,677],{74:[1,800]}),t(K,[2,678],{74:[1,801]}),t(gt,[2,683]),t(gt,[2,685]),t(gt,[2,679]),t(gt,[2,680]),{114:807,115:yt,116:Nt,124:[1,802],230:gn,429:803,430:804,433:mn},{2:n,3:808,4:a,5:s},t(Be,[2,656]),t(Be,[2,657]),t(K,[2,614],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:100,4:a,5:s,504:274,506:809},t(K,[2,754],{74:vn}),t(Sn,[2,756]),t(K,[2,759]),t(K,[2,681],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(Tn,at,{186:811,195:st}),t(Tn,at,{186:812,195:st}),t(Tn,at,{186:813,195:st}),t(An,[2,1087],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,188:814,174:815,253:816,94:817,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),{77:[1,819],131:oe,196:818},{2:n,3:100,4:a,5:s,504:274,506:820},t(yn,[2,153]),t(yn,[2,154]),t(yn,[2,155]),t(yn,[2,156]),t(yn,[2,157]),t(yn,[2,158]),t(yn,[2,159]),t(ot,[2,3]),t(ot,[2,774]),t(ot,[2,775]),t(ot,[2,776]),t(ot,[2,777]),t(ot,[2,778]),t(ot,[2,779]),t(ot,[2,780]),t(ot,[2,781]),t(ot,[2,782]),t(ot,[2,783]),t(ot,[2,784]),t(ot,[2,785]),t(ot,[2,786]),t(ot,[2,787]),t(ot,[2,788]),t(ot,[2,789]),t(ot,[2,790]),t(ot,[2,791]),t(ot,[2,792]),t(ot,[2,793]),t(ot,[2,794]),t(ot,[2,795]),t(ot,[2,796]),t(ot,[2,797]),t(ot,[2,798]),t(ot,[2,799]),t(ot,[2,800]),t(ot,[2,801]),t(ot,[2,802]),t(ot,[2,803]),t(ot,[2,804]),t(ot,[2,805]),t(ot,[2,806]),t(ot,[2,807]),t(ot,[2,808]),t(ot,[2,809]),t(ot,[2,810]),t(ot,[2,811]),t(ot,[2,812]),t(ot,[2,813]),t(ot,[2,814]),t(ot,[2,815]),t(ot,[2,816]),t(ot,[2,817]),t(ot,[2,818]),t(ot,[2,819]),t(ot,[2,820]),t(ot,[2,821]),t(ot,[2,822]),t(ot,[2,823]),t(ot,[2,824]),t(ot,[2,825]),t(ot,[2,826]),t(ot,[2,827]),t(ot,[2,828]),t(ot,[2,829]),t(ot,[2,830]),t(ot,[2,831]),t(ot,[2,832]),t(ot,[2,833]),t(ot,[2,834]),t(ot,[2,835]),t(ot,[2,836]),t(ot,[2,837]),t(ot,[2,838]),t(ot,[2,839]),t(ot,[2,840]),t(ot,[2,841]),t(ot,[2,842]),t(ot,[2,843]),t(ot,[2,844]),t(ot,[2,845]),t(ot,[2,846]),t(ot,[2,847]),t(ot,[2,848]),t(ot,[2,849]),t(ot,[2,850]),t(ot,[2,851]),t(ot,[2,852]),t(ot,[2,853]),t(ot,[2,854]),t(ot,[2,855]),t(ot,[2,856]),t(ot,[2,857]),t(ot,[2,858]),t(ot,[2,859]),t(ot,[2,860]),t(ot,[2,861]),t(ot,[2,862]),t(ot,[2,863]),t(ot,[2,864]),t(ot,[2,865]),t(ot,[2,866]),t(ot,[2,867]),t(ot,[2,868]),t(ot,[2,869]),t(ot,[2,870]),t(ot,[2,871]),t(ot,[2,872]),t(ot,[2,873]),t(ot,[2,874]),t(ot,[2,875]),t(ot,[2,876]),t(ot,[2,877]),t(ot,[2,878]),t(ot,[2,879]),t(ot,[2,880]),t(ot,[2,881]),t(ot,[2,882]),t(ot,[2,883]),t(ot,[2,884]),t(ot,[2,885]),t(ot,[2,886]),t(ot,[2,887]),t(ot,[2,888]),t(ot,[2,889]),t(ot,[2,890]),t(ot,[2,891]),t(ot,[2,892]),t(ot,[2,893]),t(ot,[2,894]),t(ot,[2,895]),t(ot,[2,896]),t(ot,[2,897]),t(ot,[2,898]),t(ot,[2,899]),t(ot,[2,900]),t(ot,[2,901]),t(ot,[2,902]),t(ot,[2,903]),t(ot,[2,904]),t(ot,[2,905]),t(ot,[2,906]),t(ot,[2,907]),t(ot,[2,908]),t(ot,[2,909]),t(ot,[2,910]),t(ot,[2,911]),t(ot,[2,912]),t(ot,[2,913]),t(ot,[2,914]),t(ot,[2,915]),t(ot,[2,916]),t(ot,[2,917]),t(ot,[2,918]),t(ot,[2,919]),t(ot,[2,920]),t(ot,[2,921]),t(ot,[2,922]),t(ot,[2,923]),t(ot,[2,924]),t(ot,[2,925]),t(ot,[2,926]),t(ot,[2,927]),t(ot,[2,928]),t(ot,[2,929]),t(ot,[2,930]),t(ot,[2,931]),t(ot,[2,932]),t(ot,[2,933]),t(ot,[2,934]),t(ot,[2,935]),t(ot,[2,936]),t(ot,[2,937]),t(ot,[2,938]),t(ot,[2,939]),t(ot,[2,940]),t(ot,[2,941]),t(ot,[2,942]),t(ot,[2,943]),t(ot,[2,944]),t(ot,[2,945]),t(ot,[2,946]),t(ot,[2,947]),t(ot,[2,948]),t(ot,[2,949]),t(ot,[2,950]),t(ot,[2,951]),t(ot,[2,952]),t(ot,[2,953]),t(ot,[2,954]),t(ot,[2,955]),t(ot,[2,956]),t(ot,[2,957]),t(ot,[2,958]),t(ot,[2,959]),t(ot,[2,960]),t(ot,[2,961]),t(ot,[2,962]),t(ot,[2,963]),t(ot,[2,964]),t(ot,[2,965]),t(ot,[2,966]),t(ot,[2,967]),t(ot,[2,968]),t(ot,[2,969]),t(ot,[2,970]),t(ot,[2,971]),t(ot,[2,972]),t(ot,[2,973]),t(ot,[2,974]),t(ot,[2,975]),t(ot,[2,976]),t(ot,[2,977]),t(ot,[2,978]),t(ot,[2,979]),t(ot,[2,980]),t(ot,[2,981]),t(ot,[2,982]),t(ot,[2,983]),t(ot,[2,984]),t(ot,[2,985]),t(ot,[2,986]),t(ot,[2,987]),t(ot,[2,988]),t(ot,[2,989]),t(ot,[2,990]),t(ot,[2,991]),t(ot,[2,992]),t(ot,[2,993]),t(ot,[2,994]),t(ot,[2,995]),t(ot,[2,996]),t(ot,[2,997]),t(ot,[2,998]),t(ot,[2,999]),t(ot,[2,1e3]),t(ot,[2,1001]),t(ot,[2,1002]),t(ot,[2,1003]),t(ot,[2,1004]),t(ot,[2,1005]),t(ot,[2,1006]),t(ot,[2,1007]),t(ot,[2,1008]),t(ot,[2,1009]),t(ot,[2,1010]),t(ot,[2,1011]),t(ot,[2,1012]),t(ot,[2,1013]),t(ot,[2,1014]),t(ot,[2,1015]),t(ot,[2,1016]),t(ot,[2,1017]),t(ot,[2,1018]),t(ot,[2,1019]),t(ot,[2,1020]),t(ot,[2,1021]),t(ot,[2,1022]),t(ot,[2,1023]),t(ot,[2,1024]),t(ot,[2,1025]),t(ot,[2,1026]),t(ot,[2,1027]),t(ot,[2,1028]),t(ot,[2,1029]),t(ot,[2,1030]),t(ot,[2,1031]),t(ot,[2,1032]),t(ot,[2,1033]),t(ot,[2,1034]),t(ot,[2,1035]),t(ot,[2,1036]),t(ot,[2,1037]),t(ot,[2,1038]),t(ot,[2,1039]),t(ot,[2,1040]),t(X,[2,7]),t(X,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:821,2:n,4:a,5:s,53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),{396:[1,825],401:[1,822],402:[1,823],403:[1,824]},{2:n,3:826,4:a,5:s},t(Tn,[2,1111],{289:827,767:829,78:[1,828],164:[1,831],185:[1,830]}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:832,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:833,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:834,4:a,5:s,132:[1,835]},{2:n,3:836,4:a,5:s,132:[1,837]},{2:n,3:838,4:a,5:s,99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{2:n,3:839,4:a,5:s},{154:[1,840]},t(Nn,ht,{350:841,156:dt}),{230:[1,842]},{2:n,3:843,4:a,5:s},t(K,[2,729],{74:Cn}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:845,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Sn,[2,732]),t(Rn,[2,1143],{419:190,476:846,144:847,139:On,141:On,145:ze,420:Ge,424:Ve}),{139:[1,848],141:[1,849]},t(wn,In,{490:851,493:852,77:[1,850],137:pt}),t(xn,[2,1167],{494:853,132:[1,854]}),t(Dn,[2,1171],{496:855,497:856,152:bt}),t(Dn,[2,747]),t(kn,[2,739]),{2:n,3:857,4:a,5:s,131:[1,858]},{2:n,3:859,4:a,5:s},{2:n,3:860,4:a,5:s},t(Be,ht,{350:861,156:dt}),t(Be,ht,{350:862,156:dt}),t(St,[2,491]),t(St,[2,492]),{183:[1,863]},{183:[2,1142]},t(Ln,[2,1137],{466:864,469:865,137:[1,866]}),t(Et,[2,1136]),t($n,Mn,{510:867,95:Un,230:[1,868],514:_n,515:Fn,516:Pn}),{76:[1,873]},{76:[1,874]},{145:se,450:875},{4:qn,7:879,76:[1,877],272:876,387:878,389:Gn},t(K,[2,456],{128:[1,882]}),t(K,[2,579]),{2:n,3:883,4:a,5:s},{298:[1,884]},t(Nn,mt,{398:885,156:vt}),t(K,[2,593]),{2:n,3:244,4:a,5:s,199:887,399:886},{2:n,3:244,4:a,5:s,199:887,399:888},t(K,[2,772]),t(X,[2,669],{438:889,310:[1,890]}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:891,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:892,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:893,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:894,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:895,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:896,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:897,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:898,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:899,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:900,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:901,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:902,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:903,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:904,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:905,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:906,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:907,4:a,5:s,77:[1,909],131:oe,156:Q,196:908,200:910,290:z,291:Z,292:ee,293:te},{2:n,3:911,4:a,5:s,77:[1,913],131:oe,156:Q,196:912,200:914,290:z,291:Z,292:ee,293:te},t(Vn,[2,440],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:915,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),t(Vn,[2,441],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:916,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),t(Vn,[2,442],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:917,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),t(Vn,[2,443],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:918,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),t(Vn,Bn,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:919,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:920,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:921,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Vn,[2,445],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:922,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:923,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:924,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{164:[1,926],166:[1,928],328:925,334:[1,927]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:929,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:930,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:695,4:a,5:s,77:[1,931],111:934,145:jn,156:Q,200:935,202:933,290:z,291:Z,292:ee,293:te,329:932},{99:[1,937],297:[1,938]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:939,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:940,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:941,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{4:qn,7:879,272:942,387:878,389:Gn},t(Hn,[2,88]),t(Hn,[2,89]),{78:[1,943]},{78:[1,944]},{78:[1,945]},{78:[1,946],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(Be,je,{340:207,77:lt,198:He}),{78:[2,1107]},{78:[2,1108]},{134:ne,135:ae},{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:947,152:fe,154:pe,156:Q,158:167,164:[1,949],179:be,180:Ee,181:ge,185:[1,948],196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,
-265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:950,4:a,5:s,149:Jn,180:[1,952]},t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,416],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,332:rr}),t(Yn,[2,417],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,180:Ft,312:qt,316:Bt}),t(Yn,[2,418],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,180:Ft,312:qt,316:Bt}),t(Wn,[2,419],{114:625,327:637,316:Bt}),t(Wn,[2,420],{114:625,327:637,316:Bt}),t(sr,[2,365]),t(sr,[2,1113]),t(sr,[2,1114]),t(sr,[2,366]),t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,362]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:953,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(cr,[2,620]),t(cr,[2,621]),t(cr,[2,622]),t(cr,[2,623]),t(cr,[2,625]),{40:954,79:75,89:c,184:99,189:f},{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,304:955,307:677,308:ur,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{305:956,306:Xn,307:957,308:ur,310:Kn},t(Qn,[2,372]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:959,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:960,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{4:qn,7:879,272:961,387:878,389:Gn},t(cr,[2,626]),{74:[1,963],300:[1,962]},t(cr,[2,642]),t(zn,[2,649]),t(Zn,[2,627]),t(Zn,[2,628]),t(Zn,[2,629]),t(Zn,[2,630]),t(Zn,[2,631]),t(Zn,[2,632]),t(Zn,[2,633]),t(Zn,[2,634]),t(Zn,[2,635]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:964,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],ar,{77:ct,116:ea}),{74:pn,300:[1,966]},t(ta,[2,314],{77:ct}),t(Qe,[2,315]),{74:[1,968],426:[1,967]},t(cr,[2,639]),t(ra,[2,644]),{152:[1,969]},{152:[1,970]},{152:[1,971]},{40:976,77:[1,975],79:75,89:c,143:le,144:979,145:ze,149:na,152:fe,181:ge,184:99,189:f,201:980,302:_e,341:972,342:973,343:[1,974],344:aa,419:190,420:Ge,424:Ve},t(Be,je,{340:981,198:He}),{77:sa,143:le,144:979,145:ze,149:na,152:fe,181:ge,201:980,302:_e,341:982,342:983,344:aa,419:190,420:Ge,424:Ve},{230:[1,986],455:985},{2:n,3:219,4:a,5:s,77:Je,132:Ye,143:le,144:212,145:he,152:fe,156:Q,181:ge,199:213,200:215,201:214,202:217,209:987,213:We,214:218,290:z,291:Z,292:ee,293:te,302:_e,419:190,420:Ge,424:Ve},{231:[2,696]},{78:[1,988]},t(pr,[2,1093],{211:989,3:990,2:n,4:a,5:s}),t(fr,[2,1092]),t(pr,[2,183]),{2:n,3:991,4:a,5:s},{212:[1,992]},t(pr,[2,187]),{2:n,3:993,4:a,5:s},t(pr,[2,191]),{2:n,3:994,4:a,5:s},t(pr,[2,195]),{2:n,3:995,4:a,5:s},t(pr,[2,198]),{2:n,3:996,4:a,5:s},{2:n,3:997,4:a,5:s},{148:[1,998]},t(ia,[2,172],{82:999,183:[1,1e3]}),{2:n,3:219,4:a,5:s,132:[1,1005],143:le,145:[1,1006],152:fe,156:Q,181:ge,199:1001,200:1002,201:1003,202:1004,290:z,291:Z,292:ee,293:te,302:_e},{2:n,3:1011,4:a,5:s,109:1007,110:1008,111:1009,112:oa},t(Sr,[2,1058]),t(ua,[2,1049],{91:1012,182:1013,183:[1,1014]}),t(Ke,[2,1048],{153:1015,179:ca,180:la,181:ha}),t([2,4,5,10,72,74,76,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,90],{77:[1,1019]}),{119:[1,1020]},t(da,[2,93]),{2:n,3:1021,4:a,5:s},t(da,[2,95]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1022,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1023,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,112:Nr,114:736,115:yt,116:Nt,117:1025,118:Cr,122:Rr,123:Or,124:wr,125:1024,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{77:[1,1026]},{77:[1,1027]},{77:[1,1028]},{77:[1,1029]},t(da,[2,104]),t(da,[2,105]),t(da,[2,106]),t(da,[2,107]),t(da,[2,108]),t(da,[2,109]),{2:n,3:1030,4:a,5:s},{2:n,3:1031,4:a,5:s,133:[1,1032]},t(da,[2,113]),t(da,[2,114]),t(da,[2,115]),t(da,[2,116]),t(da,[2,117]),t(da,[2,118]),{2:n,3:1033,4:a,5:s,77:or,113:669,131:oe,132:ue,143:le,152:fe,181:ge,196:670,201:672,257:671,294:De,295:ke,296:Le,302:_e,419:673,424:Ve},{145:[1,1034]},{77:[1,1035]},{145:[1,1036]},t(da,[2,123]),{77:[1,1037]},{2:n,3:1038,4:a,5:s},{77:[1,1039]},{77:[1,1040]},{77:[1,1041]},{77:[1,1042]},{77:[1,1043],164:[1,1044]},{77:[1,1045]},{77:[1,1046]},{77:[1,1047]},{77:[1,1048]},{77:[1,1049]},{77:[1,1050]},{77:[1,1051]},{77:[1,1052]},{77:[1,1053]},{77:[2,1073]},{77:[2,1074]},{2:n,3:244,4:a,5:s,199:1054},{2:n,3:244,4:a,5:s,199:1055},{113:1056,132:ue,296:Le},t(K,[2,596],{112:[1,1057]}),{2:n,3:244,4:a,5:s,199:1058},{113:1059,132:ue,296:Le},{2:n,3:1060,4:a,5:s},t(K,[2,693]),t(K,[2,68]),{2:n,3:236,4:a,5:s,75:1061},{77:[1,1062]},t(K,[2,674]),t(K,[2,586]),{2:n,3:1011,4:a,5:s,111:1065,143:fa,145:pa,147:1063,336:1064,337:1066},{144:1069,145:ze,419:190,420:Ge,424:Ve},t(K,[2,671]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1070,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Vn,Bn,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:1071,2:n,4:a,5:s,77:ie,131:oe,132:ue,137:ce,143:le,145:he,149:de,152:fe,154:pe,156:Q,179:be,180:Ee,181:ge,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,420:Ge,424:Ve}),{113:1072,132:ue,296:Le},{2:n,3:266,4:a,5:s,446:1073,447:et},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1075,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,230:gn,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve,429:1074,433:mn},t(K,[2,651]),{114:1077,115:yt,116:Nt,124:[1,1076]},t(K,[2,663]),t(K,[2,664]),{2:n,3:1079,4:a,5:s,77:ba,131:Ea,432:1078},{114:807,115:yt,116:Nt,124:[1,1082],430:1083},t(K,[2,753],{74:vn}),{2:n,3:100,4:a,5:s,504:1084},{2:n,3:168,4:a,5:s,56:165,77:ie,94:817,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,174:1085,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:817,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,174:1086,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:817,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,174:1087,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(An,[2,151]),t(An,[2,1088],{74:ga}),t(ma,[2,273]),t(ma,[2,280],{114:625,327:637,3:1090,113:1092,2:n,4:a,5:s,76:[1,1089],99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,131:[1,1091],132:ue,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,296:Le,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(nt,[2,1089],{197:1093,765:[1,1094]}),{131:oe,196:1095},{74:vn,78:[1,1096]},t(X,[2,11]),{148:[1,1097],190:[1,1098]},{190:[1,1099]},{190:[1,1100]},{190:[1,1101]},t(K,[2,575],{76:[1,1103],77:[1,1102]}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1104,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(sr,[2,346]),t(Tn,[2,1112]),t(Tn,[2,1109]),t(Tn,[2,1110]),{74:pn,78:[1,1105]},{74:pn,78:[1,1106]},{74:[1,1107]},{74:[1,1108]},{74:[1,1109]},{74:[1,1110]},t(sr,[2,353]),t(K,[2,580]),{298:[1,1111]},{2:n,3:1112,4:a,5:s,113:1113,132:ue,296:Le},{2:n,3:244,4:a,5:s,199:1114},{230:[1,1115]},{2:n,3:578,4:a,5:s,132:ft,137:pt,143:tt,145:rt,152:bt,431:585,474:1116,475:576,478:577,482:582,493:579,497:581},t(K,[2,730],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(Sn,[2,1145],{477:1117,483:1118,76:va}),t(Rn,[2,1144]),{2:n,3:1122,4:a,5:s,132:ft,137:pt,144:1121,145:ze,152:bt,419:190,420:Ge,424:Ve,475:1120,493:579,497:581},{2:n,3:1122,4:a,5:s,132:ft,137:pt,143:tt,145:rt,152:bt,431:585,475:1124,478:1123,482:582,493:579,497:581},{2:n,3:578,4:a,5:s,132:ft,137:pt,143:tt,145:rt,152:bt,431:585,473:1125,474:575,475:576,478:577,482:582,493:579,497:581},t(xn,[2,1163],{491:1126,132:[1,1127]}),t(wn,[2,1162]),t(Dn,[2,1169],{495:1128,497:1129,152:bt}),t(xn,[2,1168]),t(Dn,[2,746]),t(Dn,[2,1172]),t(wn,[2,749]),t(wn,[2,750]),t(Dn,[2,748]),t(kn,[2,740]),{2:n,3:244,4:a,5:s,199:1130},{2:n,3:244,4:a,5:s,199:1131},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1132,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Sa,[2,1139],{467:1133,113:1134,132:ue,296:Le}),t(Ln,[2,1138]),{2:n,3:1135,4:a,5:s},{335:Ta,338:Aa,339:ya,511:1136},{2:n,3:244,4:a,5:s,199:1140},t($n,[2,765]),t($n,[2,766]),t($n,[2,767]),{129:[1,1141]},{266:[1,1142]},{266:[1,1143]},t(gt,[2,688]),t(gt,[2,689],{124:[1,1144]}),{4:qn,7:879,272:1145,387:878,389:Gn},t([2,4,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,542],{5:[1,1146]}),t([2,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,539],{4:[1,1148],77:[1,1147]}),{77:[1,1149]},t(Na,[2,4]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1150,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(K,[2,588]),t(Nn,[2,568]),{2:n,3:1151,4:a,5:s,113:1152,132:ue,296:Le},t(K,[2,564],{74:Ca}),t(gt,[2,566]),t(K,[2,613],{74:Ca}),t(K,[2,668]),t(K,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1154,2:n,4:a,5:s,53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),t(Ra,[2,376],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,312:qt,316:Bt,317:jt,318:Ht,319:Jt}),t(Wn,[2,377],{114:625,327:637,316:Bt}),t(Ra,[2,378],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,312:qt,316:Bt,317:jt,318:Ht,319:Jt}),t(Oa,[2,379],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,312:qt,314:[1,1155],316:Bt,317:jt,318:Ht,319:Jt}),t(Oa,[2,381],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,312:qt,314:[1,1156],316:Bt,317:jt,318:Ht,319:Jt}),t(Qe,[2,383],{114:625,327:637}),t(Yn,[2,384],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,180:Ft,312:qt,316:Bt}),t(Yn,[2,385],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,180:Ft,312:qt,316:Bt}),t(wa,[2,386],{114:625,327:637,115:yt,116:Nt,123:Ct,136:wt,312:qt,316:Bt}),t(wa,[2,387],{114:625,327:637,115:yt,116:Nt,123:Ct,136:wt,312:qt,316:Bt}),t(wa,[2,388],{114:625,327:637,115:yt,116:Nt,123:Ct,136:wt,312:qt,316:Bt}),t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,123,124,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,389],{114:625,327:637,115:yt,116:Nt,136:wt,312:qt,316:Bt}),t(Ia,[2,390],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,179:_t,180:Ft,312:qt,316:Bt,317:jt}),t(Ia,[2,391],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,179:_t,180:Ft,312:qt,316:Bt,317:jt}),t(Ia,[2,392],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,179:_t,180:Ft,312:qt,316:Bt,317:jt}),t(Ia,[2,393],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,179:_t,180:Ft,312:qt,316:Bt,317:jt}),t(ta,[2,394],{77:ct}),t(Qe,[2,395]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1157,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Qe,[2,397]),t(ta,[2,398],{77:ct}),t(Qe,[2,399]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1158,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Qe,[2,401]),t(xa,[2,402],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,403],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,404],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,405],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t([2,4,5,10,53,72,89,99,124,139,140,146,154,156,170,171,189,266,267,290,306,310,320,321,322,323,324,325,326,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],Da,{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,407],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,408],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,409],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,410],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(xa,[2,411],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),{77:[1,1159]},{77:[2,446]},{77:[2,447]},{77:[2,448]},t(ka,[2,414],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,332:rr}),t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,156,162,164,166,168,169,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,415],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr}),{2:n,3:168,4:a,5:s,40:1160,56:165,77:ie,78:[1,1162],79:75,89:c,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1161,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,184:99,189:f,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Qe,[2,428]),t(Qe,[2,430]),t(Qe,[2,437]),t(Qe,[2,438]),{2:n,3:667,4:a,5:s,77:[1,1163]},{2:n,3:695,4:a,5:s,77:[1,1164],111:934,145:jn,156:Q,200:935,202:1166,290:z,291:Z,292:ee,293:te,329:1165},t(Qe,[2,435]),t(ka,[2,432],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,332:rr}),t(ka,[2,433],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,332:rr}),t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,434],{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt}),t(Qe,[2,436]),t(Qe,[2,306]),t(Qe,[2,307]),t(Qe,[2,308]),t(Qe,[2,421]),{74:pn,78:[1,1167]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1168,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1169,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Qe,La),t($a,[2,286]),t(Qe,[2,282]),{78:[1,1171],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1172]},{305:1173,306:Xn,307:957,308:ur,310:Kn},{306:[1,1174]},t(Qn,[2,371]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1175,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,309:[1,1176],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{76:[1,1177],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{74:[1,1178]},t(cr,[2,640]),{2:n,3:695,4:a,5:s,77:lr,111:690,113:688,131:oe,132:ue,143:le,144:685,145:ze,152:fe,156:Q,181:ge,196:687,200:693,201:692,257:689,258:691,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,300:[1,1179],302:_e,419:190,420:Ge,422:1180,423:686,424:Ve},{78:[1,1181],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{2:n,3:1182,4:a,5:s,149:Jn},t(Qe,[2,364]),t(cr,[2,637]),{2:n,3:704,4:a,5:s,131:hr,132:dr,426:[1,1183],428:1184},{2:n,3:695,4:a,5:s,77:lr,111:690,113:688,131:oe,132:ue,143:le,144:685,145:ze,152:fe,156:Q,181:ge,196:687,200:693,201:692,257:689,258:691,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,302:_e,419:190,420:Ge,422:1185,423:686,424:Ve},{2:n,3:695,4:a,5:s,77:lr,111:690,113:688,131:oe,132:ue,143:le,144:685,145:ze,152:fe,156:Q,181:ge,196:687,200:693,201:692,257:689,258:691,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,302:_e,419:190,420:Ge,422:1186,423:686,424:Ve},{2:n,3:695,4:a,5:s,77:lr,111:690,113:688,131:oe,132:ue,143:le,144:685,145:ze,152:fe,156:Q,181:ge,196:687,200:693,201:692,257:689,258:691,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,302:_e,419:190,420:Ge,422:1187,423:686,424:Ve},{77:sa,143:le,144:979,145:ze,152:fe,181:ge,201:980,302:_e,342:1188,419:190,420:Ge,424:Ve},t(Ma,[2,458],{74:Ua}),{149:na,341:1190,344:aa},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1194,100:1191,111:1193,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,345:1192,419:190,420:Ge,424:Ve},t(Ma,[2,466]),t(_a,[2,469]),t(_a,[2,470]),t(Fa,[2,474]),t(Fa,[2,475]),{2:n,3:244,4:a,5:s,199:1195},{77:sa,143:le,144:979,145:ze,152:fe,181:ge,201:980,302:_e,342:1196,419:190,420:Ge,424:Ve},t(Ma,[2,462],{74:Ua}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1194,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,345:1192,419:190,420:Ge,424:Ve},{308:Pa,456:1197,458:1198,459:1199},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1201,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,
-196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{230:[2,697]},t(pr,[2,181],{3:1202,2:n,4:a,5:s,76:[1,1203]}),t(pr,[2,182]),t(pr,[2,1094]),t(pr,[2,184]),t(pr,[2,186]),t(pr,[2,188]),t(pr,[2,192]),t(pr,[2,196]),t(pr,[2,199]),t([2,4,5,10,53,72,74,76,77,78,89,93,95,98,118,124,128,143,145,146,148,149,152,154,156,162,168,169,181,183,187,189,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],[2,201]),{2:n,3:1204,4:a,5:s},t(qa,[2,1045],{83:1205,92:1206,93:[1,1207],98:[1,1208]}),{2:n,3:219,4:a,5:s,77:[1,1210],132:Ye,143:le,144:212,145:he,152:fe,156:Q,181:ge,199:213,200:215,201:214,202:217,203:1209,209:1211,213:We,214:218,290:z,291:Z,292:ee,293:te,302:_e,419:190,420:Ge,424:Ve},t(gr,[2,164]),t(gr,[2,165]),t(gr,[2,166]),t(gr,[2,167]),t(gr,[2,168]),{2:n,3:667,4:a,5:s},t(Xe,[2,83],{74:[1,1212]}),t(Ga,[2,85]),t(Ga,[2,86]),{113:1213,132:ue,296:Le},t([10,72,74,78,93,98,118,124,128,162,168,169,183,198,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],ar,{116:ea}),t(ua,[2,73]),t(ua,[2,1050]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1214,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(da,[2,126]),t(da,[2,144]),t(da,[2,145]),t(da,[2,146]),{2:n,3:168,4:a,5:s,56:165,77:ie,78:[2,1065],94:260,111:149,113:153,127:1215,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1216,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{77:[1,1217]},t(da,[2,94]),t([2,4,5,10,72,74,76,77,78,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,96],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t([2,4,5,10,72,74,76,77,78,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,97],{114:625,327:637,99:Tt,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1218],112:Nr,114:736,115:yt,116:Nt,117:1219,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},t(Va,[2,1061],{153:1015,179:ca,180:la,181:ha}),{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,112:Nr,114:736,115:yt,116:Nt,117:1221,118:Cr,122:Rr,123:Or,124:wr,126:1220,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1222,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1223,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1224,4:a,5:s},t(da,[2,110]),t(da,[2,111]),t(da,[2,112]),t(da,[2,119]),{2:n,3:1225,4:a,5:s},{2:n,3:1011,4:a,5:s,111:1065,143:fa,145:pa,147:1226,336:1064,337:1066},{2:n,3:1227,4:a,5:s},{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1228,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(da,[2,125]),t(Va,[2,1067],{155:1229}),t(Va,[2,1069],{157:1230}),t(Va,[2,1071],{159:1231}),t(Va,[2,1075],{161:1232}),t(Ba,ja,{163:1233,178:1234}),{77:[1,1235]},t(Va,[2,1077],{165:1236}),t(Va,[2,1079],{167:1237}),t(Ba,ja,{178:1234,163:1238}),t(Ba,ja,{178:1234,163:1239}),t(Ba,ja,{178:1234,163:1240}),t(Ba,ja,{178:1234,163:1241}),{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,112:Nr,114:736,115:yt,116:Nt,117:1242,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:817,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,174:1243,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Ha,[2,1081],{176:1244}),t(K,[2,606],{183:[1,1245]}),t(K,[2,602],{183:[1,1246]}),t(K,[2,595]),{113:1247,132:ue,296:Le},t(K,[2,604],{183:[1,1248]}),t(K,[2,599]),t(K,[2,600],{112:[1,1249]}),t(dn,[2,69]),{40:1250,79:75,89:c,184:99,189:f},t(K,[2,450],{74:Ja,128:[1,1251]}),t(Ya,[2,451]),{124:[1,1253]},{2:n,3:1254,4:a,5:s},t(Be,[2,1115]),t(Be,[2,1116]),t(K,[2,618]),t(bn,[2,355],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(xa,Da,{114:625,327:637,112:At,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,332:rr}),t(gt,[2,682]),t(gt,[2,684]),t(K,[2,650]),t(K,[2,652],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1255,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1079,4:a,5:s,77:ba,131:Ea,432:1256},t(Wa,[2,659]),t(Wa,[2,660]),t(Wa,[2,661]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1257,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1258,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{114:1077,115:yt,116:Nt,124:[1,1259]},t(Sn,[2,755]),t(An,[2,148],{74:ga}),t(An,[2,149],{74:ga}),t(An,[2,150],{74:ga}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:817,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,253:1260,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1261,4:a,5:s,113:1263,131:[1,1262],132:ue,296:Le},t(ma,[2,275]),t(ma,[2,277]),t(ma,[2,279]),t(nt,[2,160]),t(nt,[2,1090]),{78:[1,1264]},t(it,[2,758]),{2:n,3:1265,4:a,5:s},{2:n,3:1266,4:a,5:s},{2:n,3:1268,4:a,5:s,384:1267},{2:n,3:1268,4:a,5:s,384:1269},{2:n,3:1270,4:a,5:s},{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1271,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1272,4:a,5:s},{74:pn,78:[1,1273]},t(sr,[2,347]),t(sr,[2,348]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1274,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1275,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1276,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1277,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Nn,[2,504]),t(K,Xa,{407:1278,76:Ka,77:[1,1279]}),t(K,Xa,{407:1281,76:Ka}),{77:[1,1282]},{2:n,3:244,4:a,5:s,199:1283},t(Sn,[2,731]),t(Sn,[2,733]),t(Sn,[2,1146]),{143:tt,145:rt,431:1284},t(Qa,[2,1147],{419:190,479:1285,144:1286,145:ze,420:Ge,424:Ve}),{76:va,139:[2,1151],481:1287,483:1288},t([10,74,76,78,132,139,145,152,306,310,420,424,602,764],In,{490:851,493:852,137:pt}),t(Sn,[2,736]),t(Sn,On),{74:Cn,78:[1,1289]},t(Dn,[2,1165],{492:1290,497:1291,152:bt}),t(xn,[2,1164]),t(Dn,[2,745]),t(Dn,[2,1170]),t(K,[2,490],{77:[1,1292]}),{76:[1,1294],77:[1,1293]},{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,148:[1,1295],154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(Ma,za,{79:75,184:99,468:1296,40:1299,89:c,146:Za,189:f,470:es}),t(Sa,[2,1140]),t(Ln,[2,723]),{230:[1,1300]},t(ts,[2,769]),t(ts,[2,770]),t(ts,[2,771]),t($n,Mn,{510:1301,95:Un,514:_n,515:Fn,516:Pn}),t($n,[2,768]),t(K,[2,312]),t(K,[2,313]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1302,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(gt,[2,690],{124:[1,1303]}),t(Na,[2,541]),{131:[1,1305],388:1304,390:[1,1306]},t(Na,[2,5]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1194,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,345:1307,419:190,420:Ge,424:Ve},t(K,[2,455],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(K,[2,589]),t(K,[2,590]),{2:n,3:244,4:a,5:s,199:1308},t(K,[2,670]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1309,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1310,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{78:[1,1311],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1312],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{2:n,3:168,4:a,5:s,40:1313,56:165,77:ie,79:75,89:c,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1314,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,184:99,189:f,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{78:[1,1315]},{74:pn,78:[1,1316]},t(Qe,[2,426]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1317,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,40:1318,56:165,77:ie,78:[1,1320],79:75,89:c,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1319,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,184:99,189:f,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Qe,[2,429]),t(Qe,[2,431]),t(Qe,rs,{275:1321,276:ns}),{78:[1,1323],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1324],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{2:n,3:1325,4:a,5:s,180:[1,1326]},t(cr,[2,619]),t(Qe,[2,363]),{306:[1,1327]},t(Qe,[2,370]),{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,306:[2,374],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1328,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{4:qn,7:879,272:1329,387:878,389:Gn},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1330,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(cr,[2,641]),t(zn,[2,648]),t(Zn,[2,636]),t($a,La),t(cr,[2,638]),t(ra,[2,643]),t(ra,[2,645]),t(ra,[2,646]),t(ra,[2,647]),t(Ma,[2,457],{74:Ua}),{77:[1,1332],143:le,144:1333,145:ze,152:fe,181:ge,201:1334,302:_e,419:190,420:Ge,424:Ve},t(Ma,[2,463]),{74:as,78:[1,1335]},{74:ss,78:[1,1337]},t([74,78,99,112,115,116,123,124,133,136,138,139,140,141,142,154,170,171,179,180,311,312,313,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333],is),t(os,[2,479],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{40:1341,77:sa,79:75,89:c,143:le,144:979,145:ze,149:na,152:fe,181:ge,184:99,189:f,201:980,302:_e,341:1339,342:1340,344:aa,419:190,420:Ge,424:Ve},t(Ma,[2,461],{74:Ua}),t(K,[2,717],{457:1342,458:1343,459:1344,308:Pa,464:[1,1345]}),t(us,[2,701]),t(us,[2,702]),{154:[1,1347],460:[1,1346]},{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,308:[2,698],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(pr,[2,179]),{2:n,3:1348,4:a,5:s},t(K,[2,574]),t(cs,[2,238],{84:1349,128:[1,1350]}),t(qa,[2,1046]),{77:[1,1351]},{77:[1,1352]},t(ia,[2,169],{204:1353,215:1355,205:1356,216:1357,221:1360,74:ls,206:hs,208:ds,222:fs,223:ps,224:bs,225:Es,226:gs,227:ms,228:vs,229:Ss}),{2:n,3:219,4:a,5:s,40:711,77:Je,79:75,89:c,132:Ye,143:le,144:212,145:he,152:fe,156:Q,181:ge,184:99,189:f,199:213,200:215,201:214,202:217,203:1369,209:1211,213:We,214:218,290:z,291:Z,292:ee,293:te,302:_e,419:190,420:Ge,424:Ve},t(Ts,[2,177]),{2:n,3:1011,4:a,5:s,110:1370,111:1009,112:oa},t(Ga,[2,87]),t(ua,[2,147],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{78:[1,1371]},{74:pn,78:[2,1066]},{2:n,3:168,4:a,5:s,56:165,77:ie,78:[2,1059],94:1376,111:149,113:153,120:1372,121:1373,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,241:1374,242:[1,1375],254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(da,[2,98]),t(Va,[2,1062],{153:1015,179:ca,180:la,181:ha}),{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1377],112:Nr,114:736,115:yt,116:Nt,117:1378,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},t(Va,[2,1063],{153:1015,179:ca,180:la,181:ha}),{78:[1,1379],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1380],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1381]},t(da,[2,120]),{74:Ja,78:[1,1382]},t(da,[2,122]),{74:pn,78:[1,1383]},{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1384],112:Nr,114:736,115:yt,116:Nt,117:1385,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1386],112:Nr,114:736,115:yt,116:Nt,117:1387,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1388],112:Nr,114:736,115:yt,116:Nt,117:1389,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1390],112:Nr,114:736,115:yt,116:Nt,117:1391,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{74:As,78:[1,1392]},t(os,[2,143],{419:190,3:733,114:736,144:758,158:768,160:769,117:1394,2:n,4:a,5:s,72:Tr,76:Ar,77:yr,112:Nr,115:yt,116:Nt,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,420:Ge,424:Ve}),t(Ba,ja,{178:1234,163:1395}),{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1396],112:Nr,114:736,115:yt,116:Nt,117:1397,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{2:n,3:733,4:a,5:s,72:Tr,76:Ar,77:yr,78:[1,1398],112:Nr,114:736,115:yt,116:Nt,117:1399,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{74:As,78:[1,1400]},{74:As,78:[1,1401]},{74:As,78:[1,1402]},{74:As,78:[1,1403]},{78:[1,1404],153:1015,179:ca,180:la,181:ha},{74:ga,78:[1,1405]},{2:n,3:733,4:a,5:s,72:Tr,74:[1,1406],76:Ar,77:yr,112:Nr,114:736,115:yt,116:Nt,117:1407,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,144:758,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,158:768,160:769,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,419:190,420:Ge,424:Ve},{2:n,3:1408,4:a,5:s},{2:n,3:1409,4:a,5:s},t(K,[2,597]),{2:n,3:1410,4:a,5:s},{113:1411,132:ue,296:Le},{78:[1,1412]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1413,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1011,4:a,5:s,111:1065,143:fa,145:pa,336:1414,337:1066},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1415,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{124:[1,1416]},t(K,[2,653],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(Wa,[2,658]),{78:[1,1417],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(K,[2,654],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1418,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(ma,[2,272]),t(ma,[2,274]),t(ma,[2,276]),t(ma,[2,278]),t(nt,[2,161]),t(K,[2,569]),{148:[1,1419]},t(K,[2,570]),t(Sn,[2,536],{387:878,7:879,272:1420,4:qn,386:[1,1421],389:Gn}),t(K,[2,571]),t(K,[2,573]),{74:pn,78:[1,1422]},t(K,[2,577]),t(sr,[2,345]),{74:[1,1423],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,
-124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{74:[1,1424],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{74:[1,1425],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{74:[1,1426],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(K,[2,581]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1427,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1428,4:a,5:s},t(K,[2,583]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1376,111:149,113:153,120:1429,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{77:[1,1430]},{2:n,3:1431,4:a,5:s},{76:va,139:[2,1149],480:1432,483:1433},t(Qa,[2,1148]),{139:[1,1434]},{139:[2,1152]},t(Sn,[2,737]),t(Dn,[2,744]),t(Dn,[2,1166]),{2:n,3:1268,4:a,5:s,76:[1,1437],351:1435,358:1436,384:1438},{2:n,3:1011,4:a,5:s,100:1439,111:1440},{40:1441,79:75,89:c,184:99,189:f},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1442,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Ma,[2,722]),{2:n,3:1011,4:a,5:s,111:1065,143:fa,145:pa,147:1443,336:1064,337:1066},{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1444,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Ma,[2,727]),{2:n,3:244,4:a,5:s,199:1445},{335:Ta,338:Aa,339:ya,511:1446},t(gt,[2,691],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1447,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{74:[1,1448],78:[1,1449]},t(os,[2,543]),t(os,[2,544]),{74:ss,78:[1,1450]},t(gt,[2,565]),t(Ra,[2,380],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,312:qt,316:Bt,317:jt,318:Ht,319:Jt}),t(Ra,[2,382],{114:625,327:637,115:yt,116:Nt,123:Ct,133:Ot,136:wt,138:It,141:kt,142:Lt,179:_t,180:Ft,312:qt,316:Bt,317:jt,318:Ht,319:Jt}),t(Qe,[2,396]),t(Qe,[2,400]),{78:[1,1451]},{74:pn,78:[1,1452]},t(Qe,[2,422]),t(Qe,[2,424]),{78:[1,1453],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1454]},{74:pn,78:[1,1455]},t(Qe,[2,427]),t(Qe,[2,327]),{77:[1,1456]},t(Qe,rs,{275:1457,276:ns}),t(Qe,rs,{275:1458,276:ns}),t($a,[2,284]),t(Qe,[2,281]),t(Qe,[2,369]),t(Qn,[2,373],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{74:[1,1460],78:[1,1459]},{74:[1,1462],78:[1,1461],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{2:n,3:1325,4:a,5:s},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1194,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,345:1463,419:190,420:Ge,424:Ve},t(Fa,[2,477]),t(Fa,[2,478]),{40:1466,77:sa,79:75,89:c,143:le,144:979,145:ze,149:na,152:fe,181:ge,184:99,189:f,201:980,302:_e,341:1464,342:1465,344:aa,419:190,420:Ge,424:Ve},{2:n,3:1011,4:a,5:s,111:1467},t(Fa,[2,473]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1468,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{77:sa,143:le,144:979,145:ze,152:fe,181:ge,201:980,302:_e,342:1469,419:190,420:Ge,424:Ve},t(Ma,[2,460],{74:Ua}),t(Ma,[2,467]),t(K,[2,694]),t(us,[2,699]),t(us,[2,700]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:817,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,174:1470,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{170:[1,1472],309:[1,1471]},{460:[1,1473]},t(pr,[2,180]),t(ys,[2,240],{85:1474,232:[1,1475]}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1476,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1477,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1478,4:a,5:s},t(ia,[2,170],{216:1357,221:1360,215:1479,205:1480,206:hs,208:ds,222:fs,223:ps,224:bs,225:Es,226:gs,227:ms,228:vs,229:Ss}),{2:n,3:219,4:a,5:s,77:Je,132:Ye,143:le,144:212,145:he,152:fe,156:Q,181:ge,199:213,200:215,201:214,202:217,209:1481,213:We,214:218,290:z,291:Z,292:ee,293:te,302:_e,419:190,420:Ge,424:Ve},t(Ns,[2,205]),t(Ns,[2,206]),{2:n,3:219,4:a,5:s,77:[1,1486],143:le,144:1484,145:he,152:fe,156:Q,181:ge,199:1483,200:1487,201:1485,202:1488,217:1482,290:z,291:Z,292:ee,293:te,302:_e,419:190,420:Ge,424:Ve},{207:[1,1489],223:Cs},{207:[1,1491],223:Rs},t(Os,[2,222]),{206:[1,1495],208:[1,1494],221:1493,223:ps,224:bs,225:Es,226:gs,227:ms,228:vs,229:Ss},t(Os,[2,224]),{223:[1,1496]},{208:[1,1498],223:[1,1497]},{208:[1,1500],223:[1,1499]},{208:[1,1501]},{223:[1,1502]},{223:[1,1503]},{74:ls,204:1504,205:1356,206:hs,208:ds,215:1355,216:1357,221:1360,222:fs,223:ps,224:bs,225:Es,226:gs,227:ms,228:vs,229:Ss},t(Ga,[2,84]),t(da,[2,100]),{74:ws,78:[1,1505]},{78:[1,1507]},t(Is,[2,261]),{78:[2,1060]},t(Is,[2,263],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,242:[1,1508],243:[1,1509],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(da,[2,99]),t(Va,[2,1064],{153:1015,179:ca,180:la,181:ha}),t(da,[2,101]),t(da,[2,102]),t(da,[2,103]),t(da,[2,121]),t(da,[2,124]),t(da,[2,127]),t(Va,[2,1068],{153:1015,179:ca,180:la,181:ha}),t(da,[2,128]),t(Va,[2,1070],{153:1015,179:ca,180:la,181:ha}),t(da,[2,129]),t(Va,[2,1072],{153:1015,179:ca,180:la,181:ha}),t(da,[2,130]),t(Va,[2,1076],{153:1015,179:ca,180:la,181:ha}),t(da,[2,131]),t(Ba,[2,1083],{177:1510}),t(Ba,[2,1086],{153:1015,179:ca,180:la,181:ha}),{74:As,78:[1,1511]},t(da,[2,133]),t(Va,[2,1078],{153:1015,179:ca,180:la,181:ha}),t(da,[2,134]),t(Va,[2,1080],{153:1015,179:ca,180:la,181:ha}),t(da,[2,135]),t(da,[2,136]),t(da,[2,137]),t(da,[2,138]),t(da,[2,139]),t(da,[2,140]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:260,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,151:1512,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Ha,[2,1082],{153:1015,179:ca,180:la,181:ha}),t(K,[2,607]),t(K,[2,603]),t(K,[2,605]),t(K,[2,601]),t(dn,[2,71]),t(K,[2,449],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(Ya,[2,452]),t(Ya,[2,453],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1513,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Wa,[2,662]),t(K,[2,655],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:1514,4:a,5:s},t(Sn,[2,545],{385:1515,391:1516,392:1517,366:1525,154:xs,187:Ds,230:ks,297:Ls,343:$s,356:Ms,368:Us,369:_s,373:Fs,374:Ps}),t(Sn,[2,535]),t(K,[2,576],{76:[1,1529]}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1530,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1531,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1532,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1533,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{74:pn,78:[1,1534]},t(K,[2,585]),{74:ws,78:[1,1535]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1376,111:149,113:153,120:1536,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t([10,74,78,139,306,310,602,764],[2,741]),{139:[1,1537]},{139:[2,1150]},{2:n,3:1122,4:a,5:s,132:ft,137:pt,143:tt,145:rt,152:bt,431:585,475:1124,478:1538,482:582,493:579,497:581},{78:[1,1539]},{74:[1,1540],78:[2,506]},{40:1541,79:75,89:c,184:99,189:f},t(os,[2,532]),{74:as,78:[1,1542]},t(Ts,is),t(K,[2,1133],{412:1543,413:1544,72:qs}),t(Ma,za,{79:75,184:99,114:625,327:637,40:1299,468:1546,89:c,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,146:Za,154:$t,170:Mt,171:Ut,179:_t,180:Ft,189:f,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr,470:es}),t(Ma,[2,725],{74:Ja}),t(Ma,[2,726],{74:pn}),t([10,53,72,89,124,146,156,189,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],[2,1181],{512:1547,3:1548,2:n,4:a,5:s,76:[1,1549]}),t(Gs,[2,1183],{513:1550,76:[1,1551]}),t(gt,[2,692],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{131:[1,1552]},t(Na,[2,538]),t(Na,[2,540]),t(Qe,[2,412]),t(Qe,[2,413]),t(Qe,[2,439]),t(Qe,[2,423]),t(Qe,[2,425]),{118:Vs,277:1553,278:1554,279:[1,1555]},t(Qe,[2,328]),t(Qe,[2,329]),t(Qe,[2,316]),{131:[1,1557]},t(Qe,[2,318]),{131:[1,1558]},{74:ss,78:[1,1559]},{77:sa,143:le,144:979,145:ze,152:fe,181:ge,201:980,302:_e,342:1560,419:190,420:Ge,424:Ve},t(Ma,[2,465],{74:Ua}),t(Ma,[2,468]),t(Ts,[2,488]),t(os,[2,480],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(Ma,[2,459],{74:Ua}),t(K,[2,718],{74:ga,198:[1,1561]}),{335:Bs,338:js,461:1562},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1565,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{119:[1,1567],170:[1,1568],309:[1,1566]},t(Hs,[2,259],{86:1569,118:[1,1570]}),{119:[1,1571]},t(cs,[2,239],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{95:[1,1572],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{95:[1,1573]},t(Ns,[2,203]),t(Ns,[2,204]),t(Ts,[2,178]),t(Ns,[2,237],{218:1574,230:[1,1575],231:[1,1576]}),t(Js,[2,208],{3:1577,2:n,4:a,5:s,76:[1,1578]}),t(Ys,[2,1095],{219:1579,76:[1,1580]}),{2:n,3:1581,4:a,5:s,76:[1,1582]},{40:1583,79:75,89:c,184:99,189:f},t(Js,[2,216],{3:1584,2:n,4:a,5:s,76:[1,1585]}),t(Js,[2,219],{3:1586,2:n,4:a,5:s,76:[1,1587]}),{77:[1,1588]},t(Os,[2,234]),{77:[1,1589]},t(Os,[2,230]),t(Os,[2,223]),{223:Rs},{223:Cs},t(Os,[2,225]),t(Os,[2,226]),{223:[1,1590]},t(Os,[2,228]),{223:[1,1591]},{223:[1,1592]},t(Os,[2,232]),t(Os,[2,233]),{78:[1,1593],205:1480,206:hs,208:ds,215:1479,216:1357,221:1360,222:fs,223:ps,224:bs,225:Es,226:gs,227:ms,228:vs,229:Ss},t(da,[2,91]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1376,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,241:1594,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(da,[2,92]),t(Is,[2,264]),{244:[1,1595]},t(os,[2,142],{419:190,3:733,114:736,144:758,158:768,160:769,117:1596,2:n,4:a,5:s,72:Tr,76:Ar,77:yr,112:Nr,115:yt,116:Nt,118:Cr,122:Rr,123:Or,124:wr,128:Ir,129:xr,130:Dr,131:kr,132:Lr,133:$r,134:Mr,135:Ur,136:_r,137:Fr,138:Pr,139:qr,140:Gr,141:Vr,142:Br,143:jr,145:Hr,146:Jr,148:Yr,149:Wr,150:Xr,152:Kr,154:Qr,156:zr,162:Zr,164:en,166:tn,168:rn,169:nn,170:an,171:sn,172:on,173:un,175:cn,185:ln,187:hn,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,420:Ge,424:Ve}),t(da,[2,132]),{74:pn,78:[1,1597]},t(Ya,[2,454],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(K,[2,572]),t(Sn,[2,534]),t(Sn,[2,546],{366:1525,392:1598,154:xs,187:Ds,230:ks,297:Ls,343:$s,356:Ms,368:Us,369:_s,373:Fs,374:Ps}),t(fn,[2,548]),{370:[1,1599]},{370:[1,1600]},{2:n,3:244,4:a,5:s,199:1601},t(fn,[2,554],{77:[1,1602]}),{2:n,3:114,4:a,5:s,77:[1,1604],113:251,131:oe,132:ue,143:le,152:fe,156:Q,181:ge,196:250,200:1605,201:254,257:252,258:253,265:Ze,274:1603,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,302:_e},t(fn,[2,558]),{297:[1,1606]},t(fn,[2,560]),t(fn,[2,561]),{335:[1,1607]},{77:[1,1608]},{2:n,3:1609,4:a,5:s},{78:[1,1610],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1611],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1612],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{78:[1,1613],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(K,Xa,{407:1614,76:Ka}),t(K,[2,591]),{74:ws,78:[1,1615]},{2:n,3:1122,4:a,5:s,132:ft,137:pt,143:tt,145:rt,152:bt,431:585,475:1124,478:1616,482:582,493:579,497:581},t(Sn,[2,735]),t(K,[2,493],{352:1617,354:1618,355:1619,4:Ws,243:Xs,343:Ks,356:Qs}),t(zs,Zs,{3:1268,359:1624,384:1625,360:1626,361:1627,2:n,4:a,5:s,367:ei}),{78:[2,507]},{76:[1,1629]},t(K,[2,609]),t(K,[2,1134]),{368:[1,1631],414:[1,1630]},t(Ma,[2,728]),t(K,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1632,2:n,4:a,5:s,53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),t(K,[2,762]),t(Gs,[2,1182]),t(K,r,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1633,2:n,4:a,5:s,53:o,72:u,89:c,124:l,146:h,156:d,189:f,266:p,267:b,290:E,335:g,338:m,339:v,396:S,400:A,401:y,404:N,406:C,408:R,409:w,417:I,418:x,434:D,436:k,437:L,439:$,440:M,441:U,442:_,443:F,447:P,448:q,451:G,452:V,505:B,507:j,508:H,517:J}),t(Gs,[2,1184]),{78:[1,1634]},{78:[1,1635],118:Vs,278:1636},{78:[1,1637]},{119:[1,1638]},{119:[1,1639]},{78:[1,1640]},{78:[1,1641]},t(Fa,[2,476]),t(Ma,[2,464],{74:Ua}),{2:n,3:244,4:a,5:s,143:tt,145:rt,199:1643,431:1642},t(us,[2,703]),t(us,[2,705]),{146:[1,1644]},{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,309:[1,1645],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},{339:ti,462:1646},{417:[1,1649],463:[1,1648]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1650,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(ri,[2,267],{87:1651,245:[1,1652],247:[1,1653]}),{119:[1,1654]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1660,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,233:1655,235:1656,236:ni,237:ai,238:si,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1661,4:a,5:s},{2:n,3:1662,4:a,5:s},t(Ns,[2,207]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1663,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1011,4:a,5:s,100:1664,111:1440},t(Js,[2,209]),{2:n,3:1665,4:a,5:s},t(Js,[2,1097],{220:1666,3:1667,2:n,4:a,5:s}),t(Ys,[2,1096]),t(Js,[2,212]),{2:n,3:1668,4:a,5:s},{78:[1,1669]},t(Js,[2,217]),{2:n,3:1670,4:a,5:s},t(Js,[2,220]),{2:n,3:1671,4:a,5:s},{40:1672,79:75,89:c,184:99,189:f},{40:1673,79:75,89:c,184:99,189:f},t(Os,[2,227]),t(Os,[2,229]),t(Os,[2,231]),t(ia,[2,171]),t(Is,[2,262]),t(Is,[2,265],{242:[1,1674]}),t(Ba,[2,1084],{153:1015,179:ca,180:la,181:ha}),t(da,[2,141]),t(fn,[2,547]),t(fn,[2,550]),{374:[1,1675]},t(fn,[2,1127],{395:1676,393:1677,77:ii}),{131:oe,196:1679},t(fn,[2,555]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1680,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(fn,[2,557]),t(fn,[2,559]),{2:n,3:114,4:a,5:s,77:[1,1682],113:251,131:oe,132:ue,143:le,152:fe,156:Q,181:ge,196:250,200:255,201:254,257:252,258:253,265:Ze,274:1681,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,302:_e},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1683,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(K,[2,578]),t(sr,[2,349]),t(sr,[2,350]),t(sr,[2,351]),t(sr,[2,352]),t(K,[2,582]),t(K,[2,592]),t(Sn,[2,734]),t(K,[2,489]),t(K,[2,494],{355:1684,4:Ws,243:Xs,343:Ks,356:Qs}),t(oi,[2,496]),t(oi,[2,497]),{124:[1,1685]},{124:[1,1686]},{124:[1,1687]},{74:[1,1688],78:[2,505]},t(os,[2,533]),t(os,[2,508]),{187:[1,1696],193:[1,1697],362:1689,363:1690,364:1691,365:1692,366:1693,368:Us,369:[1,1694],370:[1,1698],373:[1,1695]},{2:n,3:1699,4:a,5:s},{40:1700,79:75,89:c,184:99,189:f},{415:[1,1701]},{416:[1,1702]},t(K,[2,761]),t(K,[2,763]),t(Na,[2,537]),t(Qe,[2,331]),{78:[1,1703]},t(Qe,[2,332]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1660,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,233:1704,235:1656,236:ni,237:ai,238:si,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1376,111:149,113:153,120:1705,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(Qe,[2,317]),t(Qe,[2,319]),{2:n,3:1706,4:a,5:s},t(K,[2,720],{77:[1,1707]}),{2:n,3:1011,4:a,5:s,111:1065,143:fa,145:pa,147:1708,336:1064,337:1066},{335:Bs,338:js,461:1709},t(us,[2,707]),{77:[1,1711],343:[1,1712],344:[1,1710]},{170:[1,1714],309:[1,1713]},{170:[1,1716],309:[1,1715]},{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,309:[1,1717],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(ua,[2,250],{88:1718,162:[1,1719],168:[1,1721],169:[1,1720]}),{131:oe,196:1722},{131:oe,196:1723},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1376,111:149,113:153,120:1724,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},t(ys,[2,248],{234:1725,74:ui,239:[1,1727]}),t(ci,[2,242]),{146:[1,1728]},{77:[1,1729]},{77:[1,1730]},t(ci,[2,247],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{78:[2,1051],96:1731,99:[1,1733],102:1732},{99:[1,1734]},t(Ns,[2,235],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),t(Ns,[2,236],{74:as}),t(Js,[2,210]),t(Js,[2,211]),t(Js,[2,1098]),t(Js,[2,213]),{2:n,3:1735,4:a,5:s,76:[1,1736]},t(Js,[2,218]),t(Js,[2,221]),{78:[1,1737]},{78:[1,1738]},t(Is,[2,266]),{2:n,3:244,4:a,5:s,199:1739},t(fn,[2,552]),t(fn,[2,1128]),{2:n,3:1740,4:a,5:s},{74:[1,1741]},{78:[1,1742],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,
-317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(fn,[2,562]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1743,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{78:[1,1744],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(oi,[2,495]),{2:n,3:1745,4:a,5:s},{131:oe,196:1746},{2:n,3:1747,4:a,5:s},t(zs,Zs,{361:1627,360:1748,367:ei}),t(Sn,[2,510]),t(Sn,[2,511]),t(Sn,[2,512]),t(Sn,[2,513]),t(Sn,[2,514]),{370:[1,1749]},{370:[1,1750]},t(li,[2,1121],{382:1751,370:[1,1752]}),{2:n,3:1753,4:a,5:s},{2:n,3:1754,4:a,5:s},t(zs,[2,516]),t(K,[2,1131],{411:1755,413:1756,72:qs}),t(K,[2,610]),t(K,[2,611],{367:[1,1757]}),t(Qe,[2,333]),t([78,118],[2,334],{74:ui}),{74:ws,78:[2,335]},t(K,[2,719]),{2:n,3:1011,4:a,5:s,100:1758,111:1440},t(us,[2,706],{74:Ja}),t(us,[2,704]),{77:sa,143:le,144:979,145:ze,152:fe,181:ge,201:980,302:_e,342:1759,419:190,420:Ge,424:Ve},{2:n,3:1011,4:a,5:s,100:1760,111:1440},{344:[1,1761]},{339:ti,462:1762},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1763,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{339:ti,462:1764},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1765,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{339:ti,462:1766},t(ua,[2,72]),{40:1767,79:75,89:c,164:[1,1768],184:99,189:f,240:[1,1769]},{40:1770,79:75,89:c,184:99,189:f,240:[1,1771]},{40:1772,79:75,89:c,184:99,189:f,240:[1,1773]},t(ri,[2,270],{246:1774,247:[1,1775]}),{248:1776,249:[2,1099],766:[1,1777]},t(Hs,[2,260],{74:ws}),t(ys,[2,241]),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1660,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,235:1778,236:ni,237:ai,238:si,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1779,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{77:[1,1780]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1660,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,233:1781,235:1656,236:ni,237:ai,238:si,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1660,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,233:1782,235:1656,236:ni,237:ai,238:si,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{78:[1,1783]},{78:[2,1052]},{77:[1,1784]},{77:[1,1785]},t(Js,[2,214]),{2:n,3:1786,4:a,5:s},{2:n,3:1787,4:a,5:s,76:[1,1788]},{2:n,3:1789,4:a,5:s,76:[1,1790]},t(fn,[2,1125],{394:1791,393:1792,77:ii}),{78:[1,1793]},{131:oe,196:1794},t(fn,[2,556]),{78:[1,1795],99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(fn,[2,517]),t(oi,[2,498]),t(oi,[2,499]),t(oi,[2,500]),t(os,[2,509]),{2:n,3:1797,4:a,5:s,77:[2,1117],371:1796},{77:[1,1798]},{2:n,3:1800,4:a,5:s,77:[2,1123],383:1799},t(li,[2,1122]),{77:[1,1801]},{77:[1,1802]},t(K,[2,608]),t(K,[2,1132]),t(zs,Zs,{361:1627,360:1803,367:ei}),{74:as,78:[1,1804]},t(us,[2,713],{74:Ua}),{74:as,78:[1,1805]},t(us,[2,715]),t(us,[2,708]),{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,309:[1,1806],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(us,[2,711]),{99:Tt,112:At,114:625,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,309:[1,1807],311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,327:637,330:er,331:tr,332:rr,333:nr},t(us,[2,709]),t(ua,[2,251]),{40:1808,79:75,89:c,184:99,189:f,240:[1,1809]},{40:1810,79:75,89:c,184:99,189:f},t(ua,[2,253]),{40:1811,79:75,89:c,184:99,189:f},t(ua,[2,254]),{40:1812,79:75,89:c,184:99,189:f},t(ri,[2,268]),{131:oe,196:1813},{249:[1,1814]},{249:[2,1100]},t(ci,[2,243]),t(ys,[2,249],{114:625,327:637,99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1660,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,233:1815,235:1656,236:ni,237:ai,238:si,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{74:ui,78:[1,1816]},{74:ui,78:[1,1817]},t(qa,[2,1053],{97:1818,104:1819,3:1821,2:n,4:a,5:s,76:hi}),{2:n,3:168,4:a,5:s,56:165,77:ie,94:1824,103:1822,105:1823,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1011,4:a,5:s,100:1825,111:1440},t(Js,[2,215]),t(Ns,[2,173]),{2:n,3:1826,4:a,5:s},t(Ns,[2,175]),{2:n,3:1827,4:a,5:s},t(fn,[2,551]),t(fn,[2,1126]),t(fn,[2,549]),{78:[1,1828]},t(fn,[2,563]),{77:[1,1829]},{77:[2,1118]},{2:n,3:1831,4:a,5:s,132:di,372:1830},{77:[1,1833]},{77:[2,1124]},{2:n,3:1011,4:a,5:s,100:1834,111:1440},{2:n,3:1011,4:a,5:s,100:1835,111:1440},t(K,[2,612]),t(K,[2,721]),{343:[1,1837],344:[1,1836]},{339:ti,462:1838},{335:Bs,338:js,461:1839},t(ua,[2,252]),{40:1840,79:75,89:c,184:99,189:f},t(ua,[2,255]),t(ua,[2,257]),t(ua,[2,258]),t(ri,[2,271]),{131:[2,1101],250:1841,645:[1,1842]},{74:ui,78:[1,1843]},t(ci,[2,245]),t(ci,[2,246]),t(qa,[2,74]),t(qa,[2,1054]),{2:n,3:1844,4:a,5:s},t(qa,[2,78]),{74:[1,1846],78:[1,1845]},t(os,[2,80]),t(os,[2,81],{114:625,327:637,76:[1,1847],99:Tt,112:At,115:yt,116:Nt,123:Ct,124:En,133:Ot,136:wt,138:It,139:xt,140:Dt,141:kt,142:Lt,154:$t,170:Mt,171:Ut,179:_t,180:Ft,311:Pt,312:qt,313:Gt,315:Vt,316:Bt,317:jt,318:Ht,319:Jt,320:Yt,321:Wt,322:Xt,323:Kt,324:Qt,325:zt,326:Zt,330:er,331:tr,332:rr,333:nr}),{74:as,78:[1,1848]},t(Ns,[2,174]),t(Ns,[2,176]),t(fn,[2,553]),{2:n,3:1831,4:a,5:s,132:di,372:1849},{74:fi,78:[1,1850]},t(os,[2,528]),t(os,[2,529]),{2:n,3:1011,4:a,5:s,100:1852,111:1440},{74:as,78:[1,1853]},{74:as,78:[1,1854]},{77:sa,143:le,144:979,145:ze,152:fe,181:ge,201:980,302:_e,342:1855,419:190,420:Ge,424:Ve},{344:[1,1856]},t(us,[2,710]),t(us,[2,712]),t(ua,[2,256]),{131:oe,196:1857},{131:[2,1102]},t(ci,[2,244]),t(qa,[2,77]),{78:[2,76]},{2:n,3:168,4:a,5:s,56:165,77:ie,94:1824,105:1858,111:149,113:153,131:oe,132:ue,137:ce,143:le,144:161,145:he,149:de,152:fe,154:pe,156:Q,158:167,179:be,180:Ee,181:ge,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:me,266:p,270:ve,271:Se,273:Te,280:Ae,281:ye,282:Ne,283:Ce,284:Re,285:Oe,286:we,287:Ie,288:xe,290:z,291:Z,292:ee,293:te,294:De,295:ke,296:Le,297:$e,298:Me,299:Ue,302:_e,303:Fe,312:Pe,317:qe,419:190,420:Ge,424:Ve},{2:n,3:1859,4:a,5:s},{78:[1,1860]},{74:fi,78:[1,1861]},{374:[1,1862]},{2:n,3:1863,4:a,5:s,132:[1,1864]},{74:as,78:[1,1865]},t(Sn,[2,526]),t(Sn,[2,527]),t(us,[2,714],{74:Ua}),t(us,[2,716]),t(pi,[2,1103],{251:1866,766:[1,1867]}),t(os,[2,79]),t(os,[2,82]),t(qa,[2,1055],{3:1821,101:1868,104:1869,2:n,4:a,5:s,76:hi}),t(Sn,[2,518]),{2:n,3:244,4:a,5:s,199:1870},t(os,[2,530]),t(os,[2,531]),t(Sn,[2,525]),t(ri,[2,1105],{252:1871,415:[1,1872]}),t(pi,[2,1104]),t(qa,[2,75]),t(qa,[2,1056]),t(bi,[2,1119],{375:1873,377:1874,77:[1,1875]}),t(ri,[2,269]),t(ri,[2,1106]),t(Sn,[2,521],{376:1876,378:1877,230:[1,1878]}),t(bi,[2,1120]),{2:n,3:1831,4:a,5:s,132:di,372:1879},t(Sn,[2,519]),{230:[1,1881],379:1880},{338:[1,1882]},{74:fi,78:[1,1883]},t(Sn,[2,522]),{335:[1,1884]},{380:[1,1885]},t(bi,[2,520]),{380:[1,1886]},{381:[1,1887]},{381:[1,1888]},{230:[2,523]},t(Sn,[2,524])],defaultActions:{105:[2,6],194:[2,336],195:[2,337],196:[2,338],197:[2,339],198:[2,340],199:[2,341],200:[2,342],201:[2,343],202:[2,344],209:[2,695],591:[2,1142],653:[2,1107],654:[2,1108],710:[2,696],780:[2,1073],781:[2,1074],926:[2,446],927:[2,447],928:[2,448],987:[2,697],1288:[2,1152],1375:[2,1060],1433:[2,1150],1541:[2,507],1732:[2,1052],1777:[2,1100],1797:[2,1118],1800:[2,1124],1842:[2,1102],1845:[2,76],1887:[2,523]},parseError:function(e,t){if(!t.recoverable){var r=new Error(e);throw r.hash=t,r}this.trace(e)},parse:function(e){function t(e){for(var t=n.length-1,r=0;;){if(h.toString()in i[e])return r;if(0===e||t<2)return!1;t-=2,e=n[t],++r}}var r=this,n=[0],a=[null],s=[],i=this.table,o="",u=0,c=0,l=0,h=2,d=s.slice.call(arguments,1),f=Object.create(this.lexer),p={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(p.yy[b]=this.yy[b]);f.setInput(e,p.yy),p.yy.lexer=f,p.yy.parser=this,void 0===f.yylloc&&(f.yylloc={});var E=f.yylloc;s.push(E);var g=f.options&&f.options.ranges;"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,v,S,T,A,y,N,C,R,O=function(){var e;return e=f.lex()||1,"number"!=typeof e&&(e=r.symbols_[e]||e),e},w={};;){if(S=n[n.length-1],this.defaultActions[S]?T=this.defaultActions[S]:(null!==m&&void 0!==m||(m=O()),T=i[S]&&i[S][m]),void 0===T||!T.length||!T[0]){var I,x="";if(l)1!==v&&(I=t(S));else{I=t(S),R=[];for(y in i[S])this.terminals_[y]&&y>h&&R.push("'"+this.terminals_[y]+"'");x=f.showPosition?"Parse error on line "+(u+1)+":\n"+f.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(u+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(x,{text:f.match,token:this.terminals_[m]||m,line:f.yylineno,loc:E,expected:R,recoverable:!1!==I})}if(3==l){if(1===m||1===v)throw new Error(x||"Parsing halted while starting to recover from another error.");c=f.yyleng,o=f.yytext,u=f.yylineno,E=f.yylloc,m=O()}if(!1===I)throw new Error(x||"Parsing halted. No suitable error recovery rule available.");!function(e){n.length=n.length-2*e,a.length=a.length-e,s.length=s.length-e}(I),v=m==h?null:m,m=h,S=n[n.length-1],T=i[S]&&i[S][h],l=3}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+S+", token: "+m);switch(T[0]){case 1:n.push(m),a.push(f.yytext),s.push(f.yylloc),n.push(T[1]),m=null,v?(m=v,v=null):(c=f.yyleng,o=f.yytext,u=f.yylineno,E=f.yylloc,l>0&&l--);break;case 2:if(N=this.productions_[T[1]][1],w.$=a[a.length-N],w._$={first_line:s[s.length-(N||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(N||1)].first_column,last_column:s[s.length-1].last_column},g&&(w._$.range=[s[s.length-(N||1)].range[0],s[s.length-1].range[1]]),void 0!==(A=this.performAction.apply(w,[o,c,u,p.yy,T[1],a,s].concat(d))))return A;N&&(n=n.slice(0,-1*N*2),a=a.slice(0,-1*N),s=s.slice(0,-1*N)),n.push(this.productions_[T[1]][0]),a.push(w.$),s.push(w._$),C=i[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}},gi=["A","ABSENT","ABSOLUTE","ACCORDING","ACTION","ADA","ADD","ADMIN","AFTER","ALWAYS","ASC","ASSERTION","ASSIGNMENT","ATTRIBUTE","ATTRIBUTES","BASE64","BEFORE","BERNOULLI","BLOCKED","BOM","BREADTH","C","CASCADE","CATALOG","CATALOG_NAME","CHAIN","CHARACTERISTICS","CHARACTERS","CHARACTER_SET_CATALOG","CHARACTER_SET_NAME","CHARACTER_SET_SCHEMA","CLASS_ORIGIN","COBOL","COLLATION","COLLATION_CATALOG","COLLATION_NAME","COLLATION_SCHEMA","COLUMNS","COLUMN_NAME","COMMAND_FUNCTION","COMMAND_FUNCTION_CODE","COMMITTED","CONDITION_NUMBER","CONNECTION","CONNECTION_NAME","CONSTRAINTS","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONSTRUCTOR","CONTENT","CONTINUE","CONTROL","CURSOR_NAME","DATA","DATETIME_INTERVAL_CODE","DATETIME_INTERVAL_PRECISION","DB","DEFAULTS","DEFERRABLE","DEFERRED","DEFINED","DEFINER","DEGREE","DEPTH","DERIVED","DESC","DESCRIPTOR","DIAGNOSTICS","DISPATCH","DOCUMENT","DOMAIN","DYNAMIC_FUNCTION","DYNAMIC_FUNCTION_CODE","EMPTY","ENCODING","ENFORCED","EXCLUDE","EXCLUDING","EXPRESSION","FILE","FINAL","FIRST","FLAG","FOLLOWING","FORTRAN","FOUND","FS","G","GENERAL","GENERATED","GO","GOTO","GRANTED","HEX","HIERARCHY","ID","IGNORE","IMMEDIATE","IMMEDIATELY","IMPLEMENTATION","INCLUDING","INCREMENT","INDENT","INITIALLY","INPUT","INSTANCE","INSTANTIABLE","INSTEAD","INTEGRITY","INVOKER","ISOLATION","K","KEY","KEY_MEMBER","KEY_TYPE","LAST","LENGTH","LEVEL","LIBRARY","LIMIT","LINK","LOCATION","LOCATOR","M","MAP","MAPPING","MATCHED","MAXVALUE","MESSAGE_LENGTH","MESSAGE_OCTET_LENGTH","MESSAGE_TEXT","MINVALUE","MORE","MUMPS","NAME","NAMES","NAMESPACE","NESTING","NEXT","NFC","NFD","NFKC","NFKD","NIL","NORMALIZED","NULLABLE","NULLS","NUMBER","OBJECT","OCTETS","OFF","OPTION","OPTIONS","ORDERING","ORDINALITY","OTHERS","OUTPUT","OVERRIDING","P","PAD","PARAMETER_MODE","PARAMETER_NAME","PARAMETER_ORDINAL_POSITION","PARAMETER_SPECIFIC_CATALOG","PARAMETER_SPECIFIC_NAME","PARAMETER_SPECIFIC_SCHEMA","PARTIAL","PASCAL","PASSING","PASSTHROUGH","PATH","PERMISSION","PLACING","PLI","PRECEDING","PRESERVE","PRIOR","PRIVILEGES","PUBLIC","READ","RECOVERY","RELATIVE","REPEATABLE","REQUIRING","RESPECT","RESTART","RESTORE","RESTRICT","RETURNED_CARDINALITY","RETURNED_LENGTH","RETURNED_OCTET_LENGTH","RETURNED_SQLSTATE","RETURNING","ROLE","ROUTINE","ROUTINE_CATALOG","ROUTINE_NAME","ROUTINE_SCHEMA","ROW_COUNT","SCALE","SCHEMA","SCHEMA_NAME","SCOPE_CATALOG","SCOPE_NAME","SCOPE_SCHEMA","SECTION","SECURITY","SELECTIVE","SELF","SEQUENCE","SERIALIZABLE","SERVER","SERVER_NAME","SESSION","SETS","SIMPLE","SIZE","SOURCE","SPACE","SPECIFIC_NAME","STANDALONE","STATE","STATEMENT","STRIP","STRUCTURE","STYLE","SUBCLASS_ORIGIN","T","TABLE_NAME","TEMPORARY","TIES","TOKEN","TOP_LEVEL_COUNT","TRANSACTION","TRANSACTIONS_COMMITTED","TRANSACTIONS_ROLLED_BACK","TRANSACTION_ACTIVE","TRANSFORM","TRANSFORMS","TRIGGER_CATALOG","TRIGGER_NAME","TRIGGER_SCHEMA","TYPE","UNBOUNDED","UNCOMMITTED","UNDER","UNLINK","UNNAMED","UNTYPED","URI","USAGE","USER_DEFINED_TYPE_CATALOG","USER_DEFINED_TYPE_CODE","USER_DEFINED_TYPE_NAME","USER_DEFINED_TYPE_SCHEMA","VALID","VERSION","VIEW","WHITESPACE","WORK","WRAPPER","WRITE","XMLDECLARATION","XMLSCHEMA","YES","ZONE"];Ei.parseError=function(e,t){if(!(t.expected&&t.expected.indexOf("'LITERAL'")>-1&&/[a-zA-Z_][a-zA-Z_0-9]*/.test(t.token)&&gi.indexOf(t.token)>-1))throw new SyntaxError(e)};var mi=function(){return{EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,r=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var r,n,a;if(this.options.backtrack_lexer&&(a={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(a.yylloc.range=this.yylloc.range.slice(0))),n=e[0].match(/(?:\r\n?|\n).*/g),n&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],r=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var s in a)this[s]=a[s];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,r,n;this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),s=0;st[0].length)){if(t=r,n=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(r,a[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,a[n]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,r,n){switch(r){case 0:return 266;case 1:return 302;case 2:return 420;case 3:return 299;case 4:case 5:return 5;case 6:case 7:return 296;case 8:case 9:return 132;case 10:return;case 11:break;case 12:return 316;case 13:return 319;case 14:return t.yytext="VALUE",89;case 15:return t.yytext="VALUE",189;case 16:return t.yytext="ROW",189;case 17:return t.yytext="COLUMN",189;case 18:return t.yytext="MATRIX",189;case 19:return t.yytext="INDEX",189;case 20:return t.yytext="RECORDSET",189;case 21:return t.yytext="TEXT",189;case 22:return t.yytext="SELECT",189;case 23:return 520;case 24:return 381;case 25:return 402;case 26:return 515;case 27:return 287;case 28:case 29:return 269;case 30:return 164;case 31:return 400;case 32:return 170;case 33:return 229;case 34:return 166;case 35:return 207;case 36:return 288;case 37:return 76;case 38:return 418;case 39:return 242;case 40:return 404;case 41:return 356;case 42:return 284;case 43:return 514;case 44:return 437;case 45:return 330;case 46:return 441;case 47:return 331;case 48:return 315;case 49:return 119;case 50:return 112;case 51:return 315;case 52:return 112;case 53:return 315;case 54:return 112;case 55:return 315;case 56:return 508;case 57:return 303;case 58:return 271;case 59:return 368;case 60:return 130;case 61:return"CLOSE";case 62:return 243;case 63:case 64:return 190;case 65:return 434;case 66:return 367;case 67:return 470;case 68:return 440;case 69:return 273;case 70:return 240;case 71:return 281;case 72:return 267;case 73:return 206;case 74:return 238;case 75:return 265;case 76:return"CURSOR";case 77:return 405;case 78:return 291;case 79:return 292;case 80:return 448;case 81:return 343;case 82:return 338;case 83:return"DELETED";case 84:return 242;case 85:return 406;case 86:return 185;case 87:return 396;case 88:return 447;case 89:return 135;case 90:return 306;case 91:return 389;case 92:return 310;case 93:return 314;case 94:return 169;case 95:case 96:return 508;case 97:return 298;case 98:return 14;case 99:return 295;case 100:return 249;case 101:return 285;case 102:return 95;case 103:return 373;case 104:return 183;case 105:return 227;case 106:return 268;case 107:return 313;case 108:return 602;case 109:return 472;case 110:return 232;case 111:return 236;case 112:return 239;case 113:return 156;case 114:return 356;case 115:return 332;case 116:return 99;case 117:return 193;case 118:return 212;case 119:return 224;case 120:return 516;case 121:return 339;case 122:return 213;case 123:return 168;case 124:return 293;case 125:return 198;case 126:return 223;case 127:return 370;case 128:return 286;case 129:return"LET";case 130:return 225;case 131:return 112;case 132:return 245;case 133:return 460;case 134:return 191;case 135:return 283;case 136:return 390;case 137:return 282;case 138:return 452;case 139:return 169;case 140:return 403;case 141:return 222;case 142:return 645;case 143:return 270;case 144:return 244;case 145:return 380;case 146:return 154;case 147:return 297;case 148:return 433;case 149:return 230;case 150:return 415;case 151:return 129;case 152:return 247;case 153:return"OPEN";case 154:return 416;case 155:return 171;case 156:return 118;case 157:return 208;case 158:return 276;case 159:return 172;case 160:return 279;case 161:return 765;case 162:return 93;case 163:return 16;case 164:return 369;case 165:return 442;case 166:return 678;case 167:return 15;case 168:return 414;case 169:return 194;case 170:return"REDUCE";case 171:return 374;case 172:return 311;case 173:return 517;case 174:return 682;case 175:return 107;case 176:return 401;case 177:return 175;case 178:return 290;case 179:return 443;case 180:return 687;case 181:case 182:return 173;case 183:return 226;case 184:return 436;case 185:return 237;case 186:return 150;case 187:return 766;case 188:return 405;case 189:return 89;case 190:return 228;case 191:case 192:return 146;case 193:return 409;case 194:return 334;case 195:return 417;case 196:return"STRATEGY";case 197:return"STORE";case 198:return 280;case 199:case 200:return 353;case 201:return 463;case 202:case 203:return 357;case 204:return 192;case 205:return 309;case 206:return"TIMEOUT";case 207:return 148;case 208:return 195;case 209:case 210:return 435;case 211:return 509;case 212:return 294;case 213:return 451;case 214:return 162;case 215:return 187;case 216:return 98;case 217:return 335;case 218:return 408;case 219:return 231;case 220:return 149;case 221:return 344;case 222:return 134;case 223:return 410;case 224:return 308;case 225:return 128;case 226:return 439;case 227:return 72;case 228:return 435;case 229:case 230:return 131;case 231:return 115;case 232:return 137;case 233:return 179;case 234:return 317;case 235:return 180;case 236:return 133;case 237:return 138;case 238:return 326;case 239:return 323;case 240:return 325;case 241:return 322;case 242:return 320;case 243:return 318;case 244:return 319;case 245:return 142;case 246:return 141;case 247:return 139;case 248:return 321;case 249:return 324;case 250:return 140;case 251:return 124;case 252:return 324;case 253:return 77;case 254:return 78;case 255:return 145;case 256:return 424;case 257:return 426;case 258:return 300;case 259:return 505;case 260:return 507;case 261:return 122;case 262:return 116;case 263:return 74;case 264:return 333;case 265:return 152;case 266:return 764;case 267:return 143;case 268:return 181;case 269:return 136;case 270:return 123;case 271:return 312;case 272:return 4;case 273:return 10;case 274:return"INVALID"}},
-rules:[/^(?:``([^\`])+``)/i,/^(?:\[\?\])/i,/^(?:@\[)/i,/^(?:ARRAY\[)/i,/^(?:\[([^\]])*?\])/i,/^(?:`([^\`])*?`)/i,/^(?:N(['](\\.|[^']|\\')*?['])+)/i,/^(?:X(['](\\.|[^']|\\')*?['])+)/i,/^(?:(['](\\.|[^']|\\')*?['])+)/i,/^(?:(["](\\.|[^"]|\\")*?["])+)/i,/^(?:--(.*?)($|\r\n|\r|\n))/i,/^(?:\s+)/i,/^(?:\|\|)/i,/^(?:\|)/i,/^(?:VALUE\s+OF\s+SEARCH\b)/i,/^(?:VALUE\s+OF\s+SELECT\b)/i,/^(?:ROW\s+OF\s+SELECT\b)/i,/^(?:COLUMN\s+OF\s+SELECT\b)/i,/^(?:MATRIX\s+OF\s+SELECT\b)/i,/^(?:INDEX\s+OF\s+SELECT\b)/i,/^(?:RECORDSET\s+OF\s+SELECT\b)/i,/^(?:TEXT\s+OF\s+SELECT\b)/i,/^(?:SELECT\b)/i,/^(?:ABSOLUTE\b)/i,/^(?:ACTION\b)/i,/^(?:ADD\b)/i,/^(?:AFTER\b)/i,/^(?:AGGR\b)/i,/^(?:AGGREGATE\b)/i,/^(?:AGGREGATOR\b)/i,/^(?:ALL\b)/i,/^(?:ALTER\b)/i,/^(?:AND\b)/i,/^(?:ANTI\b)/i,/^(?:ANY\b)/i,/^(?:APPLY\b)/i,/^(?:ARRAY\b)/i,/^(?:AS\b)/i,/^(?:ASSERT\b)/i,/^(?:ASC\b)/i,/^(?:ATTACH\b)/i,/^(?:AUTO(_)?INCREMENT\b)/i,/^(?:AVG\b)/i,/^(?:BEFORE\b)/i,/^(?:BEGIN\b)/i,/^(?:BETWEEN\b)/i,/^(?:BREAK\b)/i,/^(?:NOT\s+BETWEEN\b)/i,/^(?:NOT\s+LIKE\b)/i,/^(?:BY\b)/i,/^(?:~~\*)/i,/^(?:!~~\*)/i,/^(?:~~)/i,/^(?:!~~)/i,/^(?:ILIKE\b)/i,/^(?:NOT\s+ILIKE\b)/i,/^(?:CALL\b)/i,/^(?:CASE\b)/i,/^(?:CAST\b)/i,/^(?:CHECK\b)/i,/^(?:CLASS\b)/i,/^(?:CLOSE\b)/i,/^(?:COLLATE\b)/i,/^(?:COLUMN\b)/i,/^(?:COLUMNS\b)/i,/^(?:COMMIT\b)/i,/^(?:CONSTRAINT\b)/i,/^(?:CONTENT\b)/i,/^(?:CONTINUE\b)/i,/^(?:CONVERT\b)/i,/^(?:CORRESPONDING\b)/i,/^(?:COUNT\b)/i,/^(?:CREATE\b)/i,/^(?:CROSS\b)/i,/^(?:CUBE\b)/i,/^(?:CURRENT_TIMESTAMP\b)/i,/^(?:CURSOR\b)/i,/^(?:DATABASE(S)?)/i,/^(?:DATEADD\b)/i,/^(?:DATEDIFF\b)/i,/^(?:DECLARE\b)/i,/^(?:DEFAULT\b)/i,/^(?:DELETE\b)/i,/^(?:DELETED\b)/i,/^(?:DESC\b)/i,/^(?:DETACH\b)/i,/^(?:DISTINCT\b)/i,/^(?:DROP\b)/i,/^(?:ECHO\b)/i,/^(?:EDGE\b)/i,/^(?:END\b)/i,/^(?:ENUM\b)/i,/^(?:ELSE\b)/i,/^(?:ESCAPE\b)/i,/^(?:EXCEPT\b)/i,/^(?:EXEC\b)/i,/^(?:EXECUTE\b)/i,/^(?:EXISTS\b)/i,/^(?:EXPLAIN\b)/i,/^(?:FALSE\b)/i,/^(?:FETCH\b)/i,/^(?:FIRST\b)/i,/^(?:FOR\b)/i,/^(?:FOREIGN\b)/i,/^(?:FROM\b)/i,/^(?:FULL\b)/i,/^(?:FUNCTION\b)/i,/^(?:GLOB\b)/i,/^(?:GO\b)/i,/^(?:GRAPH\b)/i,/^(?:GROUP\b)/i,/^(?:GROUPING\b)/i,/^(?:HAVING\b)/i,/^(?:IF\b)/i,/^(?:IDENTITY\b)/i,/^(?:IS\b)/i,/^(?:IN\b)/i,/^(?:INDEX\b)/i,/^(?:INDEXED\b)/i,/^(?:INNER\b)/i,/^(?:INSTEAD\b)/i,/^(?:INSERT\b)/i,/^(?:INSERTED\b)/i,/^(?:INTERSECT\b)/i,/^(?:INTERVAL\b)/i,/^(?:INTO\b)/i,/^(?:JOIN\b)/i,/^(?:KEY\b)/i,/^(?:LAST\b)/i,/^(?:LET\b)/i,/^(?:LEFT\b)/i,/^(?:LIKE\b)/i,/^(?:LIMIT\b)/i,/^(?:MATCHED\b)/i,/^(?:MATRIX\b)/i,/^(?:MAX(\s+)?(?=\())/i,/^(?:MAX(\s+)?(?=(,|\))))/i,/^(?:MIN(\s+)?(?=\())/i,/^(?:MERGE\b)/i,/^(?:MINUS\b)/i,/^(?:MODIFY\b)/i,/^(?:NATURAL\b)/i,/^(?:NEXT\b)/i,/^(?:NEW\b)/i,/^(?:NOCASE\b)/i,/^(?:NO\b)/i,/^(?:NOT\b)/i,/^(?:NULL\b)/i,/^(?:OFF\b)/i,/^(?:ON\b)/i,/^(?:ONLY\b)/i,/^(?:OF\b)/i,/^(?:OFFSET\b)/i,/^(?:OPEN\b)/i,/^(?:OPTION\b)/i,/^(?:OR\b)/i,/^(?:ORDER\b)/i,/^(?:OUTER\b)/i,/^(?:OVER\b)/i,/^(?:PATH\b)/i,/^(?:PARTITION\b)/i,/^(?:PERCENT\b)/i,/^(?:PIVOT\b)/i,/^(?:PLAN\b)/i,/^(?:PRIMARY\b)/i,/^(?:PRINT\b)/i,/^(?:PRIOR\b)/i,/^(?:QUERY\b)/i,/^(?:READ\b)/i,/^(?:RECORDSET\b)/i,/^(?:REDUCE\b)/i,/^(?:REFERENCES\b)/i,/^(?:REGEXP\b)/i,/^(?:REINDEX\b)/i,/^(?:RELATIVE\b)/i,/^(?:REMOVE\b)/i,/^(?:RENAME\b)/i,/^(?:REPEAT\b)/i,/^(?:REPLACE\b)/i,/^(?:REQUIRE\b)/i,/^(?:RESTORE\b)/i,/^(?:RETURN\b)/i,/^(?:RETURNS\b)/i,/^(?:RIGHT\b)/i,/^(?:ROLLBACK\b)/i,/^(?:ROLLUP\b)/i,/^(?:ROW\b)/i,/^(?:ROWS\b)/i,/^(?:SCHEMA(S)?)/i,/^(?:SEARCH\b)/i,/^(?:SEMI\b)/i,/^(?:SET\b)/i,/^(?:SETS\b)/i,/^(?:SHOW\b)/i,/^(?:SOME\b)/i,/^(?:SOURCE\b)/i,/^(?:STRATEGY\b)/i,/^(?:STORE\b)/i,/^(?:SUM\b)/i,/^(?:TABLE\b)/i,/^(?:TABLES\b)/i,/^(?:TARGET\b)/i,/^(?:TEMP\b)/i,/^(?:TEMPORARY\b)/i,/^(?:TEXTSTRING\b)/i,/^(?:THEN\b)/i,/^(?:TIMEOUT\b)/i,/^(?:TO\b)/i,/^(?:TOP\b)/i,/^(?:TRAN\b)/i,/^(?:TRANSACTION\b)/i,/^(?:TRIGGER\b)/i,/^(?:TRUE\b)/i,/^(?:TRUNCATE\b)/i,/^(?:UNION\b)/i,/^(?:UNIQUE\b)/i,/^(?:UNPIVOT\b)/i,/^(?:UPDATE\b)/i,/^(?:USE\b)/i,/^(?:USING\b)/i,/^(?:VALUE\b)/i,/^(?:VALUES\b)/i,/^(?:VERTEX\b)/i,/^(?:VIEW\b)/i,/^(?:WHEN\b)/i,/^(?:WHERE\b)/i,/^(?:WHILE\b)/i,/^(?:WITH\b)/i,/^(?:WORK\b)/i,/^(?:(\d*[.])?\d+[eE]\d+)/i,/^(?:(\d*[.])?\d+)/i,/^(?:->)/i,/^(?:#)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:&)/i,/^(?:\|)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?::-)/i,/^(?:\?-)/i,/^(?:\.\.)/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:!)/i,/^(?:\^)/i,/^(?:~)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274],inclusive:!0}}}}();return Ei.lexer=mi,e.prototype=Ei,Ei.Parser=e,new e}();void 0!==A&&"undefined"!=typeof exports&&(exports.parser=y,exports.Parser=y.Parser,exports.parse=function(){return y.parse.apply(y,arguments)},exports.main=function(e){e[1]||(console.log("Usage: "+e[0]+" FILE"),process.exit(1));var t=A("fs").readFileSync(A("path").normalize(e[1]),"utf8");return exports.parser.parse(t)},"undefined"!=typeof module&&A.main===module&&exports.main(process.argv.slice(1))),T.prettyflag=!1,T.pretty=function(e,t){var r=T.prettyflag;T.prettyflag=!t;var n=T.parse(e).toString();return T.prettyflag=r,n};var N=T.utils={},C=N.escapeq=function(e){return(""+e).replace(/["'\\\n\r\u2028\u2029]/g,function(e){switch(e){case'"':case"'":case"\\":return"\\"+e;case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029"}})},R=N.undoubleq=function(e){return e.replace(/(\')/g,"''")},O=N.doubleq=function(e){return e.replace(/(\'\')/g,"\\'")},w=(N.doubleqq=function(e){return e.replace(/\'/g,"'")},function(e){return e[0]===String.fromCharCode(65279)&&(e=e.substr(1)),e});N.global=function(){try{return Function("return this")()}catch(t){var e=self||window||e;if(e)return e;throw new Error("Unable to locate global object")}}();N.isNativeFunction=function(e){return"function"==typeof e&&!!~e.toString().indexOf("[native code]")};N.isWebWorker=function(){try{var e=N.global.importScripts;return N.isNativeFunction(e)}catch(e){return!1}}(),N.isNode=function(){try{return N.isNativeFunction(N.global.process.reallyExit)}catch(e){return!1}}(),N.isBrowser=function(){try{return N.isNativeFunction(N.global.location.reload)}catch(e){return!1}}(),N.isBrowserify=function(){return N.isBrowser&&"undefined"!=typeof process&&process.browser}(),N.isRequireJS=function(){return N.isBrowser&&"function"==typeof A&&"function"==typeof A.specified}(),N.isMeteor=function(){return"undefined"!=typeof Meteor&&Meteor.release}(),N.isMeteorClient=N.isMeteorClient=function(){return N.isMeteor&&Meteor.isClient}(),N.isMeteorServer=function(){return N.isMeteor&&Meteor.isServer}(),N.isCordova=function(){return"object"==typeof cordova}(),N.isReactNative=function(){return!1}(),N.hasIndexedDB=function(){return!!N.global.indexedDB}(),N.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)};var I=N.loadFile=function(e,t,r,n){var a;if(N.isNode||N.isMeteorServer);else if(N.isCordova)N.global.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(t){t.root.getFile(e,{create:!1},function(e){e.file(function(e){var t=new FileReader;t.onloadend=function(e){r(w(this.result))},t.readAsText(e)})})});else if("string"==typeof e)if("#"===e.substr(0,1)&&"undefined"!=typeof document)a=document.querySelector(e).textContent,r(a);else{var s=new XMLHttpRequest;s.onreadystatechange=function(){4===s.readyState&&(200===s.status?r&&r(w(s.responseText)):n&&n(s))},s.open("GET",e,t),s.responseType="text",s.send()}else if(e instanceof Event){var i=e.target.files,o=new FileReader;i[0].name;o.onload=function(e){var t=e.target.result;r(w(t))},o.readAsText(i[0])}};N.loadBinaryFile=function(e,t,r,n){if(N.isNode||N.isMeteorServer);else if("string"==typeof e){var a=new XMLHttpRequest;a.open("GET",e,t),a.responseType="arraybuffer",a.onload=function(){for(var e=new Uint8Array(a.response),t=[],n=0;n=26&&(e=(e/26|0)-1,t=String.fromCharCode(65+e%26)+t,e>26&&(e=(e/26|0)-1,t=String.fromCharCode(65+e%26)+t)),t},N.xlscn=function(e){var t=e.charCodeAt(0)-65;return e.length>1&&(t=26*(t+1)+e.charCodeAt(1)-65,e.length>2&&(t=26*(t+1)+e.charCodeAt(2)-65)),t},N.domEmptyChildren=function(e){for(var t=e.childNodes.length;t--;)e.removeChild(e.lastChild)},N.like=function(e,t,r){r||(r="");for(var n=0,a="^";n-1?a+="\\"+s:a+=s,n++}return a+="$",(""+(t||"")).toUpperCase().search(RegExp(a.toUpperCase()))>-1};N.glob=function(e,t){for(var r=0,n="^";r-1?n+="\\"+a:n+=a,r++}return n+="$",(""+(e||"")).toUpperCase().search(RegExp(n.toUpperCase()))>-1},N.findAlaSQLPath=function(){if(N.isWebWorker)return"";if(N.isMeteorClient)return"/packages/dist/";if(N.isMeteorServer)return"assets/packages/dist/";if(N.isNode)return"";if(N.isBrowser)for(var e=document.getElementsByTagName("script"),t=0;tT.MAXSQLCACHESIZE&&i.resetSqlCache(),i.sqlCacheSize++,i.sqlCache[s]=o);var c=T.res=o(r,n,a);return c}T.precompile(u.statements[0],T.useid,r);var c=T.res=u.statements[0].execute(e,r,n,a);return c}if(!n)return T.drun(e,u,r,n,a);T.adrun(e,u,r,n,a)}},T.drun=function(e,t,r,n,a){var s=T.useid;s!==e&&T.use(e);for(var i=[],o=0,u=t.statements.length;oe;e+=2){(0,Q[e])(Q[e+1]),Q[e]=void 0,Q[e+1]=void 0}j=0}function o(e,t){var r=this,n=new this.constructor(c);void 0===n[ee]&&I(n);var a=r._state;if(a){var s=arguments[a-1];H(function(){R(a,n,s,r._result)})}else T(r,n,e,t);return n}function u(e){var t=this;if(e&&"object"==typeof e&&e.constructor===t)return e;var r=new t(c);return g(r,e),r}function c(){}function l(){return new TypeError("You cannot resolve a promise with itself")}function h(){return new TypeError("A promises callback cannot return that same promise.")}function d(e){try{return e.then}catch(e){return ae.error=e,ae}}function f(e,t,r,n){try{e.call(t,r,n)}catch(e){return e}}function p(e,t,r){H(function(e){var n=!1,a=f(r,t,function(r){n||(n=!0,t!==r?g(e,r):v(e,r))},function(t){n||(n=!0,S(e,t))},"Settle: "+(e._label||" unknown promise"));!n&&a&&(n=!0,S(e,a))},e)}function b(e,t){t._state===re?v(e,t._result):t._state===ne?S(e,t._result):T(t,void 0,function(t){g(e,t)},function(t){S(e,t)})}function E(e,r,n){r.constructor===e.constructor&&n===z&&constructor.resolve===Z?b(e,r):n===ae?S(e,ae.error):void 0===n?v(e,r):t(n)?p(e,r,n):v(e,r)}function g(t,r){t===r?S(t,l()):e(r)?E(t,r,d(r)):v(t,r)}function m(e){e._onerror&&e._onerror(e._result),y(e)}function v(e,t){e._state===te&&(e._result=t,e._state=re,0!==e._subscribers.length&&H(y,e))}function S(e,t){e._state===te&&(e._state=ne,e._result=t,H(m,e))}function T(e,t,r,n){var a=e._subscribers,s=a.length;e._onerror=null,a[s]=t,a[s+re]=r,a[s+ne]=n,0===s&&e._state&&H(y,e)}function y(e){var t=e._subscribers,r=e._state;if(0!==t.length){for(var n,a,s=e._result,i=0;is;s++)t.resolve(e[s]).then(r,n)}:function(e,t){t(new TypeError("You must pass an array to race."))})}function k(e){var t=this,r=new t(c);return S(r,e),r}function L(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function $(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function M(e){this[ee]=w(),this._result=this._state=void 0,this._subscribers=[],c!==e&&("function"!=typeof e&&L(),this instanceof M?O(this,e):$())}function U(e,t){this._instanceConstructor=e,this.promise=new e(c),this.promise[ee]||I(this.promise),Array.isArray(t)?(this._input=t,this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?v(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&v(this.promise,this._result))):S(this.promise,_())}function _(){return new Error("Array Methods must be provided an Array")}function F(){var e;if("undefined"!=typeof global)e=global;else if("undefined"!=typeof self)e=self;else try{e=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var t=e.Promise;(!t||"[object Promise]"!==Object.prototype.toString.call(t.resolve())||t.cast)&&(e.Promise=le)}var P;P=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var q,G,V,B=P,j=0,H=function(e,t){Q[j]=e,Q[j+1]=t,2===(j+=2)&&(G?G(i):V())},J="undefined"!=typeof window?window:void 0,Y=J||{},W=Y.MutationObserver||Y.WebKitMutationObserver,X="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),K="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Q=new Array(1e3);V=X?function(){return function(){process.nextTick(i)}}():W?function(){var e=0,t=new W(i),r=document.createTextNode("");return t.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}():K?function(){var e=new MessageChannel;return e.port1.onmessage=i,function(){e.port2.postMessage(0)}}():void 0===J&&"function"==typeof A?function(){try{var e=A,t=e("vertx");return q=t.runOnLoop||t.runOnContext,a()}catch(e){return s()}}():s();var z=o,Z=u,ee=Math.random().toString(36).substring(16),te=void 0,re=1,ne=2,ae=new N,se=new N,ie=0,oe=x,ue=D,ce=k,le=M;M.all=oe,M.race=ue,M.resolve=Z,M.reject=ce,M._setScheduler=r,M._setAsap=n,M._asap=H,M.prototype={constructor:M,then:z,catch:function(e){return this.then(null,e)}};var he=U;U.prototype._enumerate=function(){for(var e=this.length,t=this._input,r=0;this._state===te&&e>r;r++)this._eachEntry(t[r],r)},U.prototype._eachEntry=function(e,t){var r=this._instanceConstructor,n=r.resolve;if(n===Z){var a=d(e);if(a===z&&e._state!==te)this._settledAt(e._state,t,e._result);else if("function"!=typeof a)this._remaining--,this._result[t]=e;else if(r===le){var s=new r(c);E(s,e,a),this._willSettleAt(s,t)}else this._willSettleAt(new r(function(t){t(e)}),t)}else this._willSettleAt(n(e),t)},U.prototype._settledAt=function(e,t,r){var n=this.promise;n._state===te&&(this._remaining--,e===ne?S(n,r):this._result[t]=r),0===this._remaining&&v(n,this._result)},U.prototype._willSettleAt=function(e,t){var r=this;T(e,void 0,function(e){r._settledAt(re,t,e)},function(e){r._settledAt(ne,t,e)})};var de=F,fe={Promise:le,polyfill:de};"function"==typeof define&&define.amd?define(function(){return fe}):"undefined"!=typeof module&&module.exports?module.exports=fe:void 0!==this&&(this.ES6Promise=fe),de()}.call(this);var B=function(e,t,r,n){return new N.global.Promise(function(a,s){T(e,t,function(e,t){t?s(t):(r&&n&&!1!==T.options.progress&&T.options.progress(r,n),a(e))})})},j=function(e){if(!(e.length<1)){for(var t,r,n,a=[],s=0;s0?{status:1,values:n}:{status:-1,values:[]}}return"object"!=typeof e||null===e||"object"!=typeof t||void 0===e[t[0]]?{status:-1,values:[]}:{status:1,values:[e[t[0]]]}},T.srch.APROP=function(e,t){return"object"!=typeof e||null===e||"object"!=typeof t||void 0===e[t[0]]?{status:1,values:[void 0]}:{status:1,values:[e[t[0]]]}},T.srch.EQ=function(e,t,r,n){var a=t[0].toJS("x","");return e===new Function("x,alasql,params","return "+a)(e,T,n)?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.LIKE=function(e,t,r,n){var a=t[0].toJS("x",""),s=new Function("x,alasql,params","return "+a);return e.toUpperCase().match(new RegExp("^"+s(e,T,n).toUpperCase().replace(/%/g,".*").replace(/\?|_/g,".")+"$"),"g")?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.ATTR=function(e,t,r){if("XML"===r.mode)return void 0===t?{status:1,values:[e.attributes]}:"object"==typeof e&&"object"==typeof e.attributes&&void 0!==e.attributes[t[0]]?{status:1,values:[e.attributes[t[0]]]}:{status:-1,values:[]};throw new Error("ATTR is not using in usual mode")},T.srch.CONTENT=function(e,t,r){if("XML"===r.mode)return{status:1,values:[e.content]};throw new Error("ATTR is not using in usual mode")},T.srch.SHARP=function(e,t){var r=T.databases[T.useid].objects[t[0]];return void 0!==e&&e===r?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.PARENT=function(){return console.error("PARENT not implemented",arguments),{status:-1,values:[]}},T.srch.CHILD=function(e,t,r){return"object"==typeof e?Array.isArray(e)?{status:1,values:e}:"XML"===r.mode?{status:1,values:Object.keys(e.children).map(function(t){return e.children[t]})}:{status:1,values:Object.keys(e).map(function(t){return e[t]})}:{status:1,values:[]}},T.srch.KEYS=function(e){return"object"==typeof e&&null!==e?{status:1,values:Object.keys(e)}:{status:1,values:[]}},T.srch.WHERE=function(e,t,r,n){var a=t[0].toJS("x","");return new Function("x,alasql,params","return "+a)(e,T,n)?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.NAME=function(e,t){return e.name===t[0]?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.CLASS=function(e,t){return e.$class==t?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.VERTEX=function(e){return"VERTEX"===e.$node?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.INSTANCEOF=function(e,t){return e instanceof T.fn[t[0]]?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.EDGE=function(e){return"EDGE"===e.$node?{status:1,values:[e]}:{status:-1,values:[]}},T.srch.EX=function(e,t,r,n){var a=t[0].toJS("x","");return{status:1,values:[new Function("x,alasql,params","return "+a)(e,T,n)]}},T.srch.RETURN=function(e,t,r,n){var a={};return t&&t.length>0&&t.forEach(function(t){var r=t.toJS("x",""),s=new Function("x,alasql,params","return "+r);void 0===t.as&&(t.as=t.toString()),a[t.as]=s(e,T,n)}),{status:1,values:[a]}},T.srch.REF=function(e){return{status:1,values:[T.databases[T.useid].objects[e]]}},T.srch.OUT=function(e){if(e.$out&&e.$out.length>0){return{status:1,values:e.$out.map(function(e){return T.databases[T.useid].objects[e]})}}return{status:-1,values:[]}},T.srch.OUTOUT=function(e){if(e.$out&&e.$out.length>0){var t=[];return e.$out.forEach(function(e){var r=T.databases[T.useid].objects[e];r&&r.$out&&r.$out.length>0&&r.$out.forEach(function(e){t=t.concat(T.databases[T.useid].objects[e])})}),{status:1,values:t}}return{status:-1,values:[]}},T.srch.IN=function(e){if(e.$in&&e.$in.length>0){return{status:1,values:e.$in.map(function(e){return T.databases[T.useid].objects[e]})}}return{status:-1,values:[]}},T.srch.ININ=function(e){if(e.$in&&e.$in.length>0){var t=[];return e.$in.forEach(function(e){var r=T.databases[T.useid].objects[e];r&&r.$in&&r.$in.length>0&&r.$in.forEach(function(e){t=t.concat(T.databases[T.useid].objects[e])})}),{status:1,values:t}}return{status:-1,values:[]}},T.srch.AS=function(e,t){return T.vars[t[0]]=e,{status:1,values:[e]}},T.srch.AT=function(e,t){return{status:1,values:[T.vars[t[0]]]}},T.srch.CLONEDEEP=function(e){
-return{status:1,values:[_(e)]}},T.srch.SET=function(e,t,r,n){var a=t.map(function(e){return"@"===e.method?"alasql.vars['"+e.variable+"']="+e.expression.toJS("x",""):"$"===e.method?"params['"+e.variable+"']="+e.expression.toJS("x",""):"x['"+e.column.columnid+"']="+e.expression.toJS("x","")}).join(";");return new Function("x,params,alasql",a)(e,n,T),{status:1,values:[e]}},T.srch.ROW=function(e,t,r,n){var a="var y;return [";return a+=t.map(function(e){return e.toJS("x","")}).join(","),a+="]",{status:1,values:[new Function("x,params,alasql",a)(e,n,T)]}},T.srch.D3=function(e){return"VERTEX"!==e.$node&&"EDGE"===e.$node&&(e.source=e.$in[0],e.target=e.$out[0]),{status:1,values:[e]}};var Q=function(e){if(e){if(e&&1===e.length&&e[0].expression&&"function"==typeof e[0].expression){var t=e[0].expression;return function(e,r){var n=t(e),a=t(r);return n>a?1:n===a?0:-1}}var r="",n="";return e.forEach(function(e){var t="";if(e.expression instanceof X.NumValue&&(e.expression=self.columns[e.expression.value-1]),e.expression instanceof X.Column){var a=e.expression.columnid;T.options.valueof&&(t=".valueOf()"),e.nocase&&(t+=".toUpperCase()"),"_"===a?(r+="if(a"+t+("ASC"===e.direction?">":"<")+"b"+t+")return 1;",r+="if(a"+t+"==b"+t+"){"):(r+="if((a['"+a+"']||'')"+t+("ASC"===e.direction?">":"<")+"(b['"+a+"']||'')"+t+")return 1;",r+="if((a['"+a+"']||'')"+t+"==(b['"+a+"']||'')"+t+"){")}else t=".valueOf()",e.nocase&&(t+=".toUpperCase()"),r+="if(("+e.toJS("a","")+"||'')"+t+("ASC"===e.direction?">(":"<(")+e.toJS("b","")+"||'')"+t+")return 1;",r+="if(("+e.toJS("a","")+"||'')"+t+"==("+e.toJS("b","")+"||'')"+t+"){";n+="}"}),r+="return 0;",r+=n+"return -1",new Function("a,b",r)}};T.srch.ORDERBY=function(e,t){return{status:1,values:e.sort(Q(t))}};var z=function(e){for(var t=0,r=e.sources.length;t0&&"ix"==n.optimization&&n.onleftfn&&n.onrightfn){if(n.databaseid&&T.databases[n.databaseid].tables[n.tableid]){T.databases[n.databaseid].tables[n.tableid].indices||(e.database.tables[n.tableid].indices={});var a=T.databases[n.databaseid].tables[n.tableid].indices[x(n.onrightfns+"`"+n.srcwherefns)];!T.databases[n.databaseid].tables[n.tableid].dirty&&a&&(n.ix=a)}if(!n.ix){n.ix={};for(var s,i={},o=0,u=n.data.length;(s=n.data[o])||n.getfn&&(s=n.getfn(o))||o0&&(e+=" GROUP BY "+this.group.map(function(e){return e.toString()}).join(", ")),this.having&&(e+=" HAVING "+this.having.toString()),this.order&&this.order.length>0&&(e+=" ORDER BY "+this.order.map(function(e){return e.toString()}).join(", ")),this.limit&&(e+=" LIMIT "+this.limit.value),this.offset&&(e+=" OFFSET "+this.offset.value),this.union&&(e+=" UNION "+(this.corresponding?"CORRESPONDING ":"")+this.union.toString()),this.unionall&&(e+=" UNION ALL "+(this.corresponding?"CORRESPONDING ":"")+this.unionall.toString()),this.except&&(e+=" EXCEPT "+(this.corresponding?"CORRESPONDING ":"")+this.except.toString()),this.intersect&&(e+=" INTERSECT "+(this.corresponding?"CORRESPONDING ":"")+this.intersect.toString()),e},X.Select.prototype.toJS=function(e){return"alasql.utils.flatArray(this.queriesfn["+(this.queriesidx-1)+"](this.params,null,"+e+"))[0]"},X.Select.prototype.compile=function(e,t){var r=T.databases[e],n=new W;if(n.removeKeys=[],n.aggrKeys=[],n.explain=this.explain,n.explaination=[],n.explid=1,n.modifier=this.modifier,n.database=r,this.compileWhereExists(n),this.compileQueries(n),n.defcols=this.compileDefCols(n,e),n.fromfn=this.compileFrom(n),this.joins&&this.compileJoins(n),n.rownums=[],this.compileSelectGroup0(n),this.group||n.selectGroup.length>0?n.selectgfns=this.compileSelectGroup1(n):n.selectfns=this.compileSelect1(n,t),this.compileRemoveColumns(n),this.where&&this.compileWhereJoins(n),n.wherefn=this.compileWhere(n),(this.group||n.selectGroup.length>0)&&(n.groupfn=this.compileGroup(n)),this.having&&(n.havingfn=this.compileHaving(n)),this.order&&(n.orderfn=this.compileOrder(n)),this.group||n.selectGroup.length>0?n.selectgfn=this.compileSelectGroup2(n):n.selectfn=this.compileSelect2(n),n.distinct=this.distinct,this.pivot&&(n.pivotfn=this.compilePivot(n)),this.unpivot&&(n.pivotfn=this.compileUnpivot(n)),this.top?n.limit=this.top.value:this.limit&&(n.limit=this.limit.value,this.offset&&(n.offset=this.offset.value)),n.percent=this.percent,n.corresponding=this.corresponding,this.union?(n.unionfn=this.union.compile(e),this.union.order?n.orderfn=this.union.compileOrder(n):n.orderfn=null):this.unionall?(n.unionallfn=this.unionall.compile(e),this.unionall.order?n.orderfn=this.unionall.compileOrder(n):n.orderfn=null):this.except?(n.exceptfn=this.except.compile(e),this.except.order?n.orderfn=this.except.compileOrder(n):n.orderfn=null):this.intersect&&(n.intersectfn=this.intersect.compile(e),this.intersect.order?n.intersectfn=this.intersect.compileOrder(n):n.orderfn=null),this.into){if(this.into instanceof X.Table)T.options.autocommit&&T.databases[this.into.databaseid||e].engineid?n.intoallfns='return alasql.engines["'+T.databases[this.into.databaseid||e].engineid+'"].intoTable("'+(this.into.databaseid||e)+'","'+this.into.tableid+'",this.data, columns, cb);':n.intofns="alasql.databases['"+(this.into.databaseid||e)+"'].tables['"+this.into.tableid+"'].data.push(r);";else if(this.into instanceof X.VarValue)n.intoallfns='alasql.vars["'+this.into.variable+'"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';else if(this.into instanceof X.FuncValue){var a="return alasql.into['"+this.into.funcid.toUpperCase()+"'](";this.into.args&&this.into.args.length>0?(a+=this.into.args[0].toJS()+",",this.into.args.length>1?a+=this.into.args[1].toJS()+",":a+="undefined,"):a+="undefined, undefined,",n.intoallfns=a+"this.data,columns,cb)"}else this.into instanceof X.ParamValue&&(n.intofns="params['"+this.into.param+"'].push(r)");n.intofns?n.intofn=new Function("r,i,params,alasql","var y;"+n.intofns):n.intoallfns&&(n.intoallfn=new Function("columns,cb,params,alasql","var y;"+n.intoallfns))}var s=function(e,t,r){return n.params=e,i(n,r,function(e){if(n.rownums.length>0)for(var r=0,a=e.length;r0?(t.args[0]?n+=t.args[0].toJS("query.oldscope")+",":n+="null,",t.args[1]?n+=t.args[1].toJS("query.oldscope")+",":n+="null,"):n+="null,null,",n+="cb,idx,query",n+=");/*if(cb)res=cb(res,idx,query);*/return res",s.datafn=new Function("query, params, cb, idx, alasql",n);else{if(!(t instanceof X.FromData))throw new Error("Wrong table at FROM");s.datafn=function(e,r,n,a,s){var i=t.data;return n&&(i=n(i,a,e)),i}}e.sources.push(s)}),e.defaultTableid=e.sources[0].alias)},T.prepareFromData=function(e,t){var r,n,a=e;if("string"==typeof e){if(a=e.split(/\r?\n/),t)for(r=0,n=a.length;r0?(t.args[0]?o+=t.args[0].toJS("query.oldscope")+",":o+="null,",t.args[1]?o+=t.args[1].toJS("query.oldscope")+",":o+="null,"):o+="null,null,",o+="cb,idx,query",o+=");/*if(cb)res=cb(res,idx,query);*/return res",s.datafn=new Function("query, params, cb, idx, alasql",o),e.aliases[s.alias]={type:"funcvalue"}}var u=s.alias;if(t.natural){if(t.using||t.on)throw new Error("NATURAL JOIN cannot have USING or ON clauses");if(e.sources.length>0){var c=e.sources[e.sources.length-1],l=T.databases[c.databaseid].tables[c.tableid],h=T.databases[s.databaseid].tables[s.tableid];if(!l||!h)throw new Error("In this version of Alasql NATURAL JOIN works for tables with predefined columns only");var d=l.columns.map(function(e){return e.columnid}),f=h.columns.map(function(e){return e.columnid});t.using=L(d,f).map(function(e){return{columnid:e}})}}if(t.using)c=e.sources[e.sources.length-1],s.onleftfns=t.using.map(function(e){return"p['"+(c.alias||c.tableid)+"']['"+e.columnid+"']"}).join('+"`"+'),s.onleftfn=new Function("p,params,alasql","var y;return "+s.onleftfns),s.onrightfns=t.using.map(function(e){return"p['"+(s.alias||s.tableid)+"']['"+e.columnid+"']"}).join('+"`"+'),s.onrightfn=new Function("p,params,alasql","var y;return "+s.onrightfns),s.optimization="ix";else if(t.on)if(t.on instanceof X.Op&&"="===t.on.op&&!t.on.allsome){s.optimization="ix";var p="",b="",E="",g=!1,m=t.on.left.toJS("p",e.defaultTableid,e.defcols),v=t.on.right.toJS("p",e.defaultTableid,e.defcols);m.indexOf("p['"+u+"']")>-1&&!(v.indexOf("p['"+u+"']")>-1)?(m.match(/p\['.*?'\]/g)||[]).every(function(e){return e==="p['"+u+"']"})?b=m:g=!0:!(m.indexOf("p['"+u+"']")>-1)&&v.indexOf("p['"+u+"']")>-1&&(v.match(/p\['.*?'\]/g)||[]).every(function(e){return e==="p['"+u+"']"})?p=m:g=!0,v.indexOf("p['"+u+"']")>-1&&!(m.indexOf("p['"+u+"']")>-1)?(v.match(/p\['.*?'\]/g)||[]).every(function(e){return e==="p['"+u+"']"})?b=v:g=!0:!(v.indexOf("p['"+u+"']")>-1)&&m.indexOf("p['"+u+"']")>-1&&(m.match(/p\['.*?'\]/g)||[]).every(function(e){return e==="p['"+u+"']"})?p=v:g=!0,g&&(b="",p="",E=t.on.toJS("p",e.defaultTableid,e.defcols),s.optimization="no"),s.onleftfns=p,s.onrightfns=b,s.onmiddlefns=E||"true",s.onleftfn=new Function("p,params,alasql","var y;return "+s.onleftfns),s.onrightfn=new Function("p,params,alasql","var y;return "+s.onrightfns),s.onmiddlefn=new Function("p,params,alasql","var y;return "+s.onmiddlefns)}else s.optimization="no",s.onmiddlefns=t.on.toJS("p",e.defaultTableid,e.defcols),s.onmiddlefn=new Function("p,params,alasql","var y;return "+t.on.toJS("p",e.defaultTableid,e.defcols));e.sources.push(s)})},X.Select.prototype.compileWhere=function(e){if(this.where){if("function"==typeof this.where)return this.where;var t=this.where.toJS("p",e.defaultTableid,e.defcols);return e.wherefns=t,new Function("p,params,alasql","var y;return "+t)}return function(){return!0}},X.Select.prototype.compileWhereJoins=function(e){},X.Select.prototype.compileGroup=function(e){if(e.sources.length>0)var t=e.sources[0].alias;else var t="";var r=e.defcols,n=[[]];this.group&&(n=p(this.group,e));var a=[];n.forEach(function(e){a=D(a,e)}),e.allgroups=a,e.ingroup=[];var s="";return n.forEach(function(n){s+="var g=this.xgroups[";var i=n.map(function(t){var r=t.split("\t")[0],n=t.split("\t")[1];return""===r?"1":(e.ingroup.push(r),n)});0===i.length&&(i=["''"]),s+=i.join('+"`"+'),s+="];if(!g) {this.groups.push((g=this.xgroups[",s+=i.join('+"`"+'),s+="] = {",s+=n.map(function(e){var t=e.split("\t")[0],r=e.split("\t")[1];return""===t?"":"'"+t+"':"+r+","}).join("");var o=k(a,n);s+=o.map(function(e){return"'"+e.split("\t")[0]+"':null,"}).join("");var u="",c="";void 0!==e.groupStar&&(c+="for(var f in p['"+e.groupStar+"']) {g[f]=p['"+e.groupStar+"'][f];};"),s+=e.selectGroup.map(function(n){var a=n.expression.toJS("p",t,r),s=n.nick;return n instanceof X.AggrValue?(n.distinct&&(u+=",g['$$_VALUES_"+s+"']={},g['$$_VALUES_"+s+"']["+a+"]=true"),"SUM"===n.aggregatorid?"'"+s+"':("+a+")||0,":"MIN"===n.aggregatorid||"MAX"===n.aggregatorid||"FIRST"===n.aggregatorid||"LAST"===n.aggregatorid?"'"+s+"':"+a+",":"ARRAY"===n.aggregatorid?"'"+s+"':["+a+"],":"COUNT"===n.aggregatorid?"*"===n.expression.columnid?"'"+s+"':1,":"'"+s+"':(typeof "+a+' != "undefined")?1:0,':"AVG"===n.aggregatorid?(e.removeKeys.push("_SUM_"+s),e.removeKeys.push("_COUNT_"+s),"'"+s+"':"+a+",'_SUM_"+s+"':("+a+")||0,'_COUNT_"+s+"':(typeof "+a+' != "undefined")?1:0,'):"AGGR"===n.aggregatorid?(u+=",g['"+s+"']="+n.expression.toJS("g",-1),""):"REDUCE"===n.aggregatorid?(e.aggrKeys.push(n),"'"+s+"':alasql.aggr['"+n.funcid+"']("+a+",undefined,1),"):""):""}).join(""),s+="}"+u+",g));"+c+"} else {",s+=e.selectGroup.map(function(e){var n=e.nick,a=e.expression.toJS("p",t,r);if(e instanceof X.AggrValue){var s="",i="";if(e.distinct)var s="if(typeof "+a+'!="undefined" && (!g[\'$$_VALUES_'+n+"']["+a+"])) \t\t\t\t \t\t {",i="g['$$_VALUES_"+n+"']["+a+"]=true;}";return"SUM"===e.aggregatorid?s+"g['"+n+"']+=("+a+"||0);"+i:"COUNT"===e.aggregatorid?"*"===e.expression.columnid?s+"g['"+n+"']++;"+i:s+"if(typeof "+a+'!="undefined") g[\''+n+"']++;"+i:"ARRAY"===e.aggregatorid?s+"g['"+n+"'].push("+a+");"+i:"MIN"===e.aggregatorid?s+"g['"+n+"']=Math.min(g['"+n+"'],"+a+");"+i:"MAX"===e.aggregatorid?s+"g['"+n+"']=Math.max(g['"+n+"'],"+a+");"+i:"FIRST"===e.aggregatorid?"":"LAST"===e.aggregatorid?s+"g['"+n+"']="+a+";"+i:"AVG"===e.aggregatorid?s+"g['_SUM_"+n+"']+=(y="+a+")||0;g['_COUNT_"+n+"']+=(typeof y!=\"undefined\")?1:0;g['"+n+"']=g['_SUM_"+n+"']/g['_COUNT_"+n+"'];"+i:"AGGR"===e.aggregatorid?s+"g['"+n+"']="+e.expression.toJS("g",-1)+";"+i:"REDUCE"===e.aggregatorid?s+"g['"+n+"']=alasql.aggr."+e.funcid+"("+a+",g['"+n+"'],2);"+i:""}return""}).join(""),s+="}"}),new Function("p,params,alasql","var y;"+s)},X.Select.prototype.compileSelect1=function(t,r){var n=this;t.columns=[],t.xcolumns={},t.selectColumns={},t.dirtyColumns=!1;var a="var r={",s="",i=[];return this.columns.forEach(function(a){if(a instanceof X.Column)if("*"===a.columnid)if(a.func)s+="r=params['"+a.param+"'](p['"+t.sources[0].alias+"'],p,params,alasql);";else if(a.tableid){var o=f(t,a.tableid,!1);o.s&&(i=i.concat(o.s)),s+=o.sp}else for(var u in t.aliases){var o=f(t,u,!0);o.s&&(i=i.concat(o.s)),s+=o.sp}else{var c=a.tableid,l=a.databaseid||t.sources[0].databaseid||t.database.databaseid;if(c||(c=t.defcols[a.columnid]),c||(c=t.defaultTableid),"_"!==a.columnid){var h=r&&r.length>1&&Array.isArray(r[0])&&r[0].length>=1&&r[0][0].hasOwnProperty("sheetid");h?s='var r={};var w=p["'+c+'"];var cols=['+n.columns.map(function(e){return"'"+e.columnid+"'"}).join(",")+"];var colas=["+n.columns.map(function(e){return"'"+(e.as||e.columnid)+"'"}).join(",")+"];for (var i=0;i0){var b=p[a.columnid];if(void 0===b)throw new Error("Column does not exists: "+a.columnid);var E={columnid:a.as||a.columnid,dbtypeid:b.dbtypeid,dbsize:b.dbsize,dbpecision:b.dbprecision,dbenum:b.dbenum};t.columns.push(E),t.xcolumns[E.columnid]=E}else{var E={columnid:a.as||a.columnid};t.columns.push(E),t.xcolumns[E.columnid]=E,t.dirtyColumns=!0}}else{var E={columnid:a.as||a.columnid};t.columns.push(E),t.xcolumns[E.columnid]=E}}else if(a instanceof X.AggrValue){n.group||(n.group=[""]),a.as||(a.as=C(a.toString())),"SUM"===a.aggregatorid||"MAX"===a.aggregatorid||"MIN"===a.aggregatorid||"FIRST"===a.aggregatorid||"LAST"===a.aggregatorid||"AVG"===a.aggregatorid||"ARRAY"===a.aggregatorid||"REDUCE"===a.aggregatorid?i.push("'"+C(a.as)+"':"+e(a.expression.toJS("p",t.defaultTableid,t.defcols))):"COUNT"===a.aggregatorid&&i.push("'"+C(a.as)+"':1");var E={columnid:a.as||a.columnid||a.toString()};t.columns.push(E),t.xcolumns[E.columnid]=E}else{i.push("'"+C(a.as||a.columnid||a.toString())+"':"+e(a.toJS("p",t.defaultTableid,t.defcols))),t.selectColumns[C(a.as||a.columnid||a.toString())]=!0;var E={columnid:a.as||a.columnid||a.toString()};t.columns.push(E),t.xcolumns[E.columnid]=E}}),a+=i.join(",")+"};"+s},X.Select.prototype.compileSelect2=function(e){var t=e.selectfns;return this.orderColumns&&this.orderColumns.length>0&&this.orderColumns.forEach(function(r,n){var a="$$$"+n;r instanceof X.Column&&e.xcolumns[r.columnid]?t+="r['"+a+"']=r['"+r.columnid+"'];":t+="r['"+a+"']="+r.toJS("p",e.defaultTableid,e.defcols)+";",e.removeKeys.push(a)}),new Function("p,params,alasql","var y;"+t+"return r")},X.Select.prototype.compileSelectGroup0=function(e){var t=this;t.columns.forEach(function(r,n){if(r instanceof X.Column&&"*"===r.columnid)e.groupStar=r.tableid||"default";else{var a;a=C(r instanceof X.Column?r.columnid:r.toString(!0));for(var s=0;s-1&&(r+="r['"+(t.as||t.nick)+"']=g['"+t.nick+"'];")}),this.orderColumns&&this.orderColumns.length>0&&this.orderColumns.forEach(function(t,n){var a="$$$"+n;t instanceof X.Column&&e.groupColumns[t.columnid]?r+="r['"+a+"']=r['"+t.columnid+"'];":r+="r['"+a+"']="+t.toJS("g","")+";",e.removeKeys.push(a)}),new Function("g,params,alasql","var y;"+r+"return r")},X.Select.prototype.compileRemoveColumns=function(e){void 0!==this.removecolumns&&(e.removeKeys=e.removeKeys.concat(this.removecolumns.filter(function(e){return void 0===e.like}).map(function(e){return e.columnid})),e.removeLikeKeys=this.removecolumns.filter(function(e){return void 0!==e.like}).map(function(e){return e.like.value}))},X.Select.prototype.compileHaving=function(e){if(this.having){var t=this.having.toJS("g",-1);return e.havingfns=t,new Function("g,params,alasql","var y;return "+t)}return function(){return!0}},X.Select.prototype.compileOrder=function(e){var t=this;if(t.orderColumns=[],this.order){if(this.order&&1==this.order.length&&this.order[0].expression&&"function"==typeof this.order[0].expression){var r=this.order[0].expression;return function(e,t){var n=r(e),a=r(t);return n>a?1:n==a?0:-1}}var n="",a="";return this.order.forEach(function(r,s){if(r.expression instanceof X.NumValue)var i=t.columns[r.expression.value-1];else var i=r.expression;t.orderColumns.push(i);var o="$$$"+s,u="";if(r.expression instanceof X.Column){var c=r.expression.columnid;if(e.xcolumns[c]){var l=e.xcolumns[c].dbtypeid;"DATE"!=l&&"DATETIME"!=l&&"DATETIME2"!=l||(u=".valueOf()")}else T.options.valueof&&(u=".valueOf()")}r.nocase&&(u+=".toUpperCase()"),n+="if((a['"+o+"']||'')"+u+("ASC"==r.direction?">":"<")+"(b['"+o+"']||'')"+u+")return 1;",n+="if((a['"+o+"']||'')"+u+"==(b['"+o+"']||'')"+u+"){",a+="}"}),n+="return 0;",n+=a+"return -1",e.orderfns=n,new Function("a,b","var y;"+n)}},X.Select.prototype.compilePivot=function(e){var t=this,r=t.pivot.columnid,n=t.pivot.expr.expression.columnid,a=t.pivot.expr.aggregatorid,s=t.pivot.inlist;return s&&(s=s.map(function(e){return e.expr.columnid})),function(){var e=this,t=e.columns.filter(function(e){return e.columnid!=r&&e.columnid!=n}).map(function(e){return e.columnid}),i=[],o={},u={},c={},l=[];if(e.data.forEach(function(e){if(!s||s.indexOf(e[r])>-1){var h=t.map(function(t){return e[t]}).join("`"),d=u[h];if(d||(d={},u[h]=d,l.push(d),t.forEach(function(t){d[t]=e[t]})),c[h]||(c[h]={}),c[h][e[r]]?c[h][e[r]]++:c[h][e[r]]=1,o[e[r]]||(o[e[r]]=!0,i.push(e[r])),"SUM"==a||"AVG"==a)void 0===d[e[r]]&&(d[e[r]]=0),d[e[r]]+=e[n];else if("COUNT"==a)void 0===d[e[r]]&&(d[e[r]]=0),d[e[r]]++;else if("MIN"==a)void 0===d[e[r]]&&(d[e[r]]=1/0),e[n]d[e[r]]&&(d[e[r]]=e[n]);else if("FIRST"==a)void 0===d[e[r]]&&(d[e[r]]=e[n]);else if("LAST"==a)d[e[r]]=e[n];else{if(!T.aggr[a])throw new Error("Wrong aggregator in PIVOT clause");T.aggr[a](d[e[r]],e[n])}}}),"AVG"==a)for(var h in u){var d=u[h];for(var f in d)-1==t.indexOf(f)&&f!=n&&(d[f]=d[f]/c[h][f])}e.data=l,s&&(i=s);var p=e.columns.filter(function(e){return e.columnid==n})[0];e.columns=e.columns.filter(function(e){return!(e.columnid==r||e.columnid==n)}),i.forEach(function(t){var r=_(p);r.columnid=t,e.columns.push(r)})}},X.Select.prototype.compileUnpivot=function(e){var t=this,r=t.unpivot.tocolumnid,n=t.unpivot.forcolumnid,a=t.unpivot.inlist.map(function(e){return e.columnid});return function(){var t=[],s=e.columns.map(function(e){return e.columnid}).filter(function(e){return-1==a.indexOf(e)&&e!=n&&e!=r});e.data.forEach(function(e){a.forEach(function(a){var i={};s.forEach(function(t){i[t]=e[t]}),i[n]=a,i[r]=e[a],t.push(i)})}),e.data=t}};var Z=function(e,t){for(var r=[],n=0,a=e.length,s=0;s"===this.op||"!"===this.op){var e=this.left.toString()+this.op;return"string"!=typeof this.right&&"number"!=typeof this.right&&(e+="("),e+=this.right.toString(),"string"!=typeof this.right&&"number"!=typeof this.right&&(e+=")"),e}return this.left.toString()+" "+this.op+" "+(this.allsome?this.allsome+" ":"")+this.right.toString()},X.Op.prototype.findAggregator=function(e){this.left&&this.left.findAggregator&&this.left.findAggregator(e),this.right&&this.right.findAggregator&&!this.allsome&&this.right.findAggregator(e)},X.Op.prototype.toType=function(e){if(["-","*","/","%","^"].indexOf(this.op)>-1)return"number";if(["||"].indexOf(this.op)>-1)return"string";if("+"===this.op){if("string"===this.left.toType(e)||"string"===this.right.toType(e))return"string";if("number"===this.left.toType(e)||"number"===this.right.toType(e))return"number"}return["AND","OR","NOT","=","==","===","!=","!==","!===",">",">=","<","<=","IN","NOT IN","LIKE","NOT LIKE","REGEXP","GLOB"].indexOf(this.op)>-1?"boolean":"BETWEEN"===this.op||"NOT BETWEEN"===this.op||"IS NULL"===this.op||"IS NOT NULL"===this.op?"boolean":this.allsome?"boolean":this.op?"unknown":this.left.toType()},X.Op.prototype.toJS=function(e,t,r){var n,a=[],s=this.op,i=this,o=function(n){return n.toJS&&(n=n.toJS(e,t,r)),"y["+(a.push(n)-1)+"]"},u=function(){return o(i.left)},c=function(){return o(i.right)};if("="===this.op?s="===":"<>"===this.op?s="!=":"OR"===this.op&&(s="||"),"->"===this.op){var l="("+u()+"||{})";if("string"==typeof this.right)n=l+'["'+this.right+'"]';else if("number"==typeof this.right)n=l+"["+this.right+"]";else if(this.right instanceof X.FuncValue){var h=[];if(this.right.args&&0!==this.right.args.length)var h=this.right.args.map(o);n=l+"['"+this.right.funcid+"']("+h.join(",")+")"}else n=l+"["+c()+"]"}if("!"===this.op&&"string"==typeof this.right&&(n="alasql.databases[alasql.useid].objects["+u()+']["'+this.right+'"]'),"IS"===this.op&&(n="(("+u()+"==null) === ("+c()+"==null))"),"=="===this.op&&(n="alasql.utils.deepEqual("+u()+","+c()+")"),"==="!==this.op&&"!==="!==this.op||(n="("+("!==="===this.op?"!":"")+"(("+u()+").valueOf()===("+c()+").valueOf()))"),"!=="===this.op&&(n="(!alasql.utils.deepEqual("+u()+","+c()+"))"),"||"===this.op&&(n="(''+("+u()+"||'')+("+c()+'||""))'),"LIKE"===this.op||"NOT LIKE"===this.op){var n="("+("NOT LIKE"===this.op?"!":"")+"alasql.utils.like("+c()+","+u();this.escape&&(n+=","+o(this.escape)),n+="))"}if("REGEXP"===this.op&&(n="alasql.stdfn.REGEXP_LIKE("+u()+","+c()+")"),"GLOB"===this.op&&(n="alasql.utils.glob("+u()+","+c()+")"),"BETWEEN"===this.op||"NOT BETWEEN"===this.op){var d=u();n="("+("NOT BETWEEN"===this.op?"!":"")+"(("+o(this.right1)+"<="+d+") && ("+d+"<="+o(this.right2)+")))"}if("IN"===this.op&&(this.right instanceof X.Select?(n="(",n+="alasql.utils.flatArray(this.queriesfn["+this.queriesidx+"](params,null,"+e+"))",n+=".indexOf(",n+=u()+")>-1)"):n=Array.isArray(this.right)?"(["+this.right.map(o).join(",")+"].indexOf("+u()+")>-1)":"("+c()+".indexOf("+u()+")>-1)"),"NOT IN"===this.op&&(this.right instanceof X.Select?(n="(",n+="alasql.utils.flatArray(this.queriesfn["+this.queriesidx+"](params,null,p))",n+=".indexOf(",n+=u()+")<0)"):Array.isArray(this.right)?(n="(["+this.right.map(o).join(",")+"].indexOf(",n+=u()+")<0)"):(n="("+c()+".indexOf(",n+=u()+")==-1)")),"ALL"===this.allsome){var n;if(this.right instanceof X.Select)n="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))",n+=".every(function(b){return (",n+=u()+")"+s+"b})";else{if(!Array.isArray(this.right))throw new Error("NOT IN operator without SELECT");n=""+(1==this.right.length?o(this.right[0]):"["+this.right.map(o).join(",")+"]"),n+=".every(function(b){return (",n+=u()+")"+s+"b})"}}if("SOME"===this.allsome||"ANY"===this.allsome){var n;if(this.right instanceof X.Select)n="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))",n+=".some(function(b){return (",n+=u()+")"+s+"b})";else{if(!Array.isArray(this.right))throw new Error("SOME/ANY operator without SELECT");n=""+(1==this.right.length?o(this.right[0]):"["+this.right.map(o).join(",")+"]"),n+=".some(function(b){return (",n+=u()+")"+s+"b})"}}if("AND"===this.op){if(this.left.reduced){if(this.right.reduced)return"true";n=c()}else this.right.reduced&&(n=u());s="&&"}var f=n||"("+u()+s+c()+")",p="y=[("+a.join("), (")+")]";return"&&"===s||"||"===s||"IS"===s||"IS NULL"===s||"IS NOT NULL"===s?"("+p+", "+f+")":"("+p+", y.some(function(e){return e == null}) ? void 0 : "+f+")"},X.VarValue=function(e){return X.extend(this,e)},X.VarValue.prototype.toString=function(){return"@"+this.variable},X.VarValue.prototype.toType=function(){return"unknown"},X.VarValue.prototype.toJS=function(){return"alasql.vars['"+this.variable+"']"},X.NumValue=function(e){return X.extend(this,e)},X.NumValue.prototype.toString=function(){return this.value.toString()},X.NumValue.prototype.toType=function(){return"number"},X.NumValue.prototype.toJS=function(){return""+this.value},X.StringValue=function(e){return X.extend(this,e)},X.StringValue.prototype.toString=function(){return"'"+this.value.toString()+"'"},X.StringValue.prototype.toType=function(){return"string"},X.StringValue.prototype.toJS=function(){return"'"+C(this.value)+"'"},X.DomainValueValue=function(e){return X.extend(this,e)},X.DomainValueValue.prototype.toString=function(){return"VALUE"},X.DomainValueValue.prototype.toType=function(){return"object"},X.DomainValueValue.prototype.toJS=function(e,t,r){return e},X.ArrayValue=function(e){return X.extend(this,e)},X.ArrayValue.prototype.toString=function(){return"ARRAY[]"},X.ArrayValue.prototype.toType=function(){return"object"},X.ArrayValue.prototype.toJS=function(e,t,r){return"[("+this.value.map(function(n){return n.toJS(e,t,r)}).join("), (")+")]"},X.LogicValue=function(e){return X.extend(this,e)},X.LogicValue.prototype.toString=function(){return this.value?"TRUE":"FALSE"},X.LogicValue.prototype.toType=function(){return"boolean"},X.LogicValue.prototype.toJS=function(){return this.value?"true":"false"},X.NullValue=function(e){return X.extend(this,e)},X.NullValue.prototype.toString=function(){return"NULL"},X.NullValue.prototype.toJS=function(){return"undefined"},X.ParamValue=function(e){return X.extend(this,e)},X.ParamValue.prototype.toString=function(){return"$"+this.param},X.ParamValue.prototype.toJS=function(){return"string"==typeof this.param?"params['"+this.param+"']":"params["+this.param+"]"},X.UniOp=function(e){return X.extend(this,e)},X.UniOp.prototype.toString=function(){var e;return e=void 0,"~"===this.op&&(e=this.op+this.right.toString()),"-"===this.op&&(e=this.op+this.right.toString()),"+"===this.op&&(e=this.op+this.right.toString()),"#"===this.op&&(e=this.op+this.right.toString()),"NOT"===this.op&&(e=this.op+"("+this.right.toString()+")"),null===this.op&&(e="("+this.right.toString()+")"),e||(e="("+this.right.toString()+")"),e},X.UniOp.prototype.findAggregator=function(e){this.right.findAggregator&&this.right.findAggregator(e)},X.UniOp.prototype.toType=function(){return"-"===this.op?"number":"+"===this.op?"number":"NOT"===this.op?"boolean":void 0},X.UniOp.prototype.toJS=function(e,t,r){return"~"===this.op?"(~("+this.right.toJS(e,t,r)+"))":"-"===this.op?"(-("+this.right.toJS(e,t,r)+"))":"+"===this.op?"("+this.right.toJS(e,t,r)+")":"NOT"===this.op?"!("+this.right.toJS(e,t,r)+")":"#"===this.op?this.right instanceof X.Column?"(alasql.databases[alasql.useid].objects['"+this.right.columnid+"'])":"(alasql.databases[alasql.useid].objects["+this.right.toJS(e,t,r)+"])":null==this.op?"("+this.right.toJS(e,t,r)+")":void 0},X.Column=function(e){return X.extend(this,e)},X.Column.prototype.toString=function(e){var t;return t=this.columnid==+this.columnid?"["+this.columnid+"]":this.columnid,this.tableid&&(t=+this.columnid===this.columnid?this.tableid+t:this.tableid+"."+t,this.databaseid&&(t=this.databaseid+"."+t)),this.alias&&!e&&(t+=" AS "+this.alias),t},X.Column.prototype.toJS=function(e,t,r){var n="";if(this.tableid||""!==t||r)if("g"===e)n="g['"+this.nick+"']";else if(this.tableid)n="_"!==this.columnid?e+"['"+this.tableid+"']['"+this.columnid+"']":"g"===e?"g['_']":e+"['"+this.tableid+"']";else if(r){var a=r[this.columnid];if("-"===a)throw new Error('Cannot resolve column "'+this.columnid+'" because it exists in two source tables');n=a?"_"!==this.columnid?e+"['"+a+"']['"+this.columnid+"']":e+"['"+a+"']":"_"!==this.columnid?e+"['"+(this.tableid||t)+"']['"+this.columnid+"']":e+"['"+(this.tableid||t)+"']"}else n=-1===t?e+"['"+this.columnid+"']":"_"!==this.columnid?e+"['"+(this.tableid||t)+"']['"+this.columnid+"']":e+"['"+(this.tableid||t)+"']";else n="_"!==this.columnid?e+"['"+this.columnid+"']":"g"===e?"g['_']":e;return n},X.AggrValue=function(e){return X.extend(this,e)},X.AggrValue.prototype.toString=function(e){var t="";return"REDUCE"===this.aggregatorid?t+=this.funcid+"(":t+=this.aggregatorid+"(",this.distinct&&(t+="DISTINCT "),this.expression&&(t+=this.expression.toString()),t+=")",this.over&&(t+=" "+this.over.toString()),this.alias&&!e&&(t+=" AS "+this.alias),t},X.AggrValue.prototype.findAggregator=function(e){var t=C(this.toString())+":"+e.selectGroup.length,r=!1;if(!r){if(!this.nick){this.nick=t;for(var r=!1,n=0;n-1?"number":["ARRAY"].indexOf(this.aggregatorid)>-1?"array":["FIRST","LAST"].indexOf(this.aggregatorid)>-1?this.expression.toType():void 0},X.AggrValue.prototype.toJS=function(){var e=this.nick;return void 0===e&&(e=this.toString()),"g['"+e+"']"},X.OrderExpression=function(e){return X.extend(this,e)},X.OrderExpression.prototype.toString=X.Expression.prototype.toString,X.GroupExpression=function(e){return X.extend(this,e)},X.GroupExpression.prototype.toString=function(){return this.type+"("+this.group.toString()+")"},X.FromData=function(e){return X.extend(this,e)},X.FromData.prototype.toString=function(){return this.data?"DATA("+(1e16*Math.random()|0)+")":"?"},X.FromData.prototype.toJS=function(){},X.Select.prototype.exec=function(e,t){this.preparams&&(e=this.preparams.concat(e));var r=T.useid;db=T.databases[r];var n=this.toString(),a=x(n),s=this.compile(r);if(s){s.sql=n,s.dbversion=db.dbversion,db.sqlCacheSize>T.MAXSQLCACHESIZE&&db.resetSqlCache(),db.sqlCacheSize++,db.sqlCache[a]=s;return T.res=s(e,t)}},X.Select.prototype.Select=function(){var e=this;if(arguments.length>1)args=Array.prototype.slice.call(arguments);else{if(1!=arguments.length)throw new Error("Wrong number of arguments of Select() function");Array.isArray(arguments[0])?args=arguments[0]:args=[arguments[0]]}return e.columns=[],args.forEach(function(t){if("string"==typeof t)e.columns.push(new X.Column({columnid:t}));else if("function"==typeof t){var r=0;e.preparams?r=e.preparams.length:e.preparams=[],e.preparams.push(t),e.columns.push(new X.Column({columnid:"*",func:t,param:r}))}}),e},X.Select.prototype.From=function(e){var t=this;if(t.from||(t.from=[]),Array.isArray(e)){var r=0;t.preparams?r=t.preparams.length:t.preparams=[],t.preparams.push(e),t.from.push(new X.ParamValue({param:r}))}else{if("string"!=typeof e)throw new Error("Unknown arguments in From() function");t.from.push(new X.Table({tableid:e}))}return t},X.Select.prototype.OrderBy=function(){var e=this;if(e.order=[],0==arguments.length)args=["_"];else if(arguments.length>1)args=Array.prototype.slice.call(arguments);else{if(1!=arguments.length)throw new Error("Wrong number of arguments of Select() function");Array.isArray(arguments[0])?args=arguments[0]:args=[arguments[0]]}return args.length>0&&args.forEach(function(t){var r=new X.Column({columnid:t});"function"==typeof t&&(r=t),e.order.push(new X.OrderExpression({expression:r,direction:"ASC"}))}),e},X.Select.prototype.Top=function(e){var t=this;return t.top=new X.NumValue({value:e}),t},X.Select.prototype.GroupBy=function(){var e=this;if(arguments.length>1)args=Array.prototype.slice.call(arguments);else{if(1!=arguments.length)throw new Error("Wrong number of arguments of Select() function");Array.isArray(arguments[0])?args=arguments[0]:args=[arguments[0]]}return e.group=[],args.forEach(function(t){var r=new X.Column({columnid:t});e.group.push(r)}),e},X.Select.prototype.Where=function(e){var t=this;return"function"==typeof e&&(t.where=e),t},X.FuncValue=function(e){return X.extend(this,e)},X.FuncValue.prototype.toString=function(e){var t="";return T.fn[this.funcid]?t+=this.funcid:T.aggr[this.funcid]?t+=this.funcid:(T.stdlib[this.funcid.toUpperCase()]||T.stdfn[this.funcid.toUpperCase()])&&(t+=this.funcid.toUpperCase()),t+="(",this.args&&this.args.length>0&&(t+=this.args.map(function(e){return e.toString()}).join(",")),t+=")",this.as&&!e&&(t+=" AS "+this.as.toString()),t},X.FuncValue.prototype.execute=function(e,t,r){var n=1;return T.precompile(this,e,t),new Function("params,alasql","var y;return "+this.toJS("","",null))(t,T),r&&(n=r(n)),n},X.FuncValue.prototype.findAggregator=function(e){this.args&&this.args.length>0&&this.args.forEach(function(t){t.findAggregator&&t.findAggregator(e)})},X.FuncValue.prototype.toJS=function(e,t,r){var n="",a=this.funcid;return!T.fn[a]&&T.stdlib[a.toUpperCase()]?this.args&&this.args.length>0?n+=T.stdlib[a.toUpperCase()].apply(this,this.args.map(function(r){return r.toJS(e,t)})):n+=T.stdlib[a.toUpperCase()]():!T.fn[a]&&T.stdfn[a.toUpperCase()]?(this.newid&&(n+="new "),n+="alasql.stdfn."+this.funcid.toUpperCase()+"(",this.args&&this.args.length>0&&(n+=this.args.map(function(n){return n.toJS(e,t,r)}).join(",")),n+=")"):(this.newid&&(n+="new "),n+="alasql.fn."+this.funcid+"(",this.args&&this.args.length>0&&(n+=this.args.map(function(n){return n.toJS(e,t,r)}).join(",")),n+=")"),n};var ne=T.stdlib={},ae=T.stdfn={};ne.ABS=function(e){return"Math.abs("+e+")"},ne.CLONEDEEP=function(e){return"alasql.utils.cloneDeep("+e+")"},ae.CONCAT=function(){return Array.prototype.slice.call(arguments).join("")},ne.EXP=function(e){return"Math.pow(Math.E,"+e+")"},ne.IIF=function(e,t,r){if(3==arguments.length)return"(("+e+")?("+t+"):("+r+"))";throw new Error("Number of arguments of IFF is not equals to 3")},ne.IFNULL=function(e,t){return"("+e+"||"+t+")"},ne.INSTR=function(e,t){return"(("+e+").indexOf("+t+")+1)"},ne.LEN=ne.LENGTH=function(e){return t(e,"y.length")},ne.LOWER=ne.LCASE=function(e){return t(e,"String(y).toLowerCase()")},ne.LTRIM=function(e){return t(e,'y.replace(/^[ ]+/,"")')},ne.RTRIM=function(e){return t(e,'y.replace(/[ ]+$/,"")')},ne.MAX=ne.GREATEST=function(){return"Math.max("+Array.prototype.join.call(arguments,",")+")"},ne.MIN=ne.LEAST=function(){return"Math.min("+Array.prototype.join.call(arguments,",")+")"},ne.SUBSTRING=ne.SUBSTR=ne.MID=function(e,r,n){return 2==arguments.length?t(e,"y.substr("+r+"-1)"):3==arguments.length?t(e,"y.substr("+r+"-1,"+n+")"):void 0},ae.REGEXP_LIKE=function(e,t,r){return(e||"").search(RegExp(t,r))>-1},ne.ISNULL=ne.NULLIF=function(e,t){return"("+e+"=="+t+"?undefined:"+e+")"},ne.POWER=function(e,t){return"Math.pow("+e+","+t+")"},ne.RANDOM=function(e){return 0==arguments.length?"Math.random()":"(Math.random()*("+e+")|0)"},ne.ROUND=function(e,t){return 2==arguments.length?"Math.round(("+e+")*Math.pow(10,("+t+")))/Math.pow(10,("+t+"))":"Math.round("+e+")"},ne.CEIL=ne.CEILING=function(e){return"Math.ceil("+e+")"},ne.FLOOR=function(e){return"Math.floor("+e+")"},ne.ROWNUM=function(){return"1"},ne.ROW_NUMBER=function(){return"1"},ne.SQRT=function(e){return"Math.sqrt("+e+")"},ne.TRIM=function(e){return t(e,"y.trim()")},ne.UPPER=ne.UCASE=function(e){return t(e,"String(y).toUpperCase()")},ae.CONCAT_WS=function(){var e=Array.prototype.slice.call(arguments);return e.slice(1,e.length).join(e[0])},T.aggr.GROUP_CONCAT=function(e,t,r){return 1===r?""+e:2===r?t+=","+e:t},T.aggr.MEDIAN=function(e,t,r){if(2===r)return null!==e&&t.push(e),t;if(1===r)return null===e?[]:[e];if(!t.length)return t;var n=t.sort(),a=(n.length+1)/2;return Number.isInteger(a)?n[a-1]:(n[Math.floor(a-1)]+n[Math.ceil(a-1)])/2},T.aggr.QUART=function(e,t,r,n){if(2===r)return null!==e&&t.push(e),t;if(1===r)return null===e?[]:[e];if(!t.length)return t;n=n||1;var a=t.sort(),s=n*(a.length+1)/4;return Number.isInteger(s)?a[s-1]:a[Math.floor(s)]},T.aggr.QUART2=function(e,t,r){return T.aggr.QUART(e,t,r,2)},T.aggr.QUART3=function(e,t,r){return T.aggr.QUART(e,t,r,3)},T.aggr.VAR=function(e,t,r){if(1===r)return null===e?{arr:[],sum:0}:{arr:[e],sum:e};if(2===r)return null===e?t:(t.arr.push(e),t.sum+=e,t);for(var n=t.arr.length,a=t.sum/n,s=0,i=0;i>8&255]+se[e>>16&255]+se[e>>24&255]+"-"+se[255&t]+se[t>>8&255]+"-"+se[t>>16&15|64]+se[t>>24&255]+"-"+se[63&r|128]+se[r>>8&255]+"-"+se[r>>16&255]+se[r>>24&255]+se[255&n]+se[n>>8&255]+se[n>>16&255]+se[n>>24&255]},X.CaseValue=function(e){return X.extend(this,e)},X.CaseValue.prototype.toString=function(){var e="CASE ";return this.expression&&(e+=this.expression.toString()),this.whens&&(e+=this.whens.map(function(e){return" WHEN "+e.when.toString()+" THEN "+e.then.toString()}).join()),e+=" END"},X.CaseValue.prototype.findAggregator=function(e){this.expression&&this.expression.findAggregator&&this.expression.findAggregator(e),this.whens&&this.whens.length>0&&this.whens.forEach(function(t){t.when.findAggregator&&t.when.findAggregator(e),t.then.findAggregator&&t.then.findAggregator(e)}),this.elses&&this.elses.findAggregator&&this.elses.findAggregator(e)},X.CaseValue.prototype.toJS=function(e,t,r){var n="((function("+e+",params,alasql){var y,r;";return this.expression?(n+="v="+this.expression.toJS(e,t,r)+";",n+=(this.whens||[]).map(function(n){return" if(v=="+n.when.toJS(e,t,r)+") {r="+n.then.toJS(e,t,r)+"}"}).join(" else "),this.elses&&(n+=" else {r="+this.elses.toJS(e,t,r)+"}")):(n+=(this.whens||[]).map(function(n){return" if("+n.when.toJS(e,t,r)+") {r="+n.then.toJS(e,t,r)+"}"}).join(" else "),this.elses&&(n+=" else {r="+this.elses.toJS(e,t,r)+"}")),n+=";return r;}).bind(this))("+e+",params,alasql)"},X.Json=function(e){return X.extend(this,e)},X.Json.prototype.toString=function(){var e="";return e+=oe(this.value),e+=""};var oe=T.utils.JSONtoString=function(e){var t="";if("string"==typeof e)t='"'+e+'"';else if("number"==typeof e)t=e;else if("boolean"==typeof e)t=e;else{if("object"!=typeof e)throw new Error("2Can not show JSON object "+JSON.stringify(e));if(Array.isArray(e))t+="["+e.map(function(e){return oe(e)}).join(",")+"]";else if(!e.toJS||e instanceof X.Json){t="{";var r=[];for(var n in e){var a="";if("string"==typeof n)a+='"'+n+'"';else if("number"==typeof n)a+=n;else{if("boolean"!=typeof n)throw new Error("THis is not ES6... no expressions on left side yet");a+=n}a+=":"+oe(e[n]),r.push(a)}t+=r.join(",")+"}"}else{if(!e.toString)throw new Error("1Can not show JSON object "+JSON.stringify(e));t=e.toString()}}return t};X.Json.prototype.toJS=function(e,t,r){return b(this.value,e,t,r)},X.Convert=function(e){return X.extend(this,e)},X.Convert.prototype.toString=function(){var e="CONVERT(";return e+=this.dbtypeid,void 0!==this.dbsize&&(e+="("+this.dbsize,this.dbprecision&&(e+=","+dbprecision),e+=")"),e+=","+this.expression.toString(),this.style&&(e+=","+this.style),e+=")"},X.Convert.prototype.toJS=function(e,t,r){return"alasql.stdfn.CONVERT("+this.expression.toJS(e,t,r)+',{dbtypeid:"'+this.dbtypeid+'",dbsize:'+this.dbsize+",style:"+this.style+"})"},T.stdfn.CONVERT=function(e,t){var r=e;if(t.style){var n;switch(n=/\d{8}/.test(r)?new Date(+r.substr(0,4),+r.substr(4,2)-1,+r.substr(6,2)):new Date(r),t.style){case 1:r=("0"+(n.getMonth()+1)).substr(-2)+"/"+("0"+n.getDate()).substr(-2)+"/"+("0"+n.getYear()).substr(-2);break;case 2:r=("0"+n.getYear()).substr(-2)+"."+("0"+(n.getMonth()+1)).substr(-2)+"."+("0"+n.getDate()).substr(-2);break;case 3:r=("0"+n.getDate()).substr(-2)+"/"+("0"+(n.getMonth()+1)).substr(-2)+"/"+("0"+n.getYear()).substr(-2);break;case 4:r=("0"+n.getDate()).substr(-2)+"."+("0"+(n.getMonth()+1)).substr(-2)+"."+("0"+n.getYear()).substr(-2);break;case 5:r=("0"+n.getDate()).substr(-2)+"-"+("0"+(n.getMonth()+1)).substr(-2)+"-"+("0"+n.getYear()).substr(-2);break;case 6:r=("0"+n.getDate()).substr(-2)+" "+n.toString().substr(4,3).toLowerCase()+" "+("0"+n.getYear()).substr(-2);break;case 7:r=n.toString().substr(4,3)+" "+("0"+n.getDate()).substr(-2)+","+("0"+n.getYear()).substr(-2);break;case 8:case 108:r=("0"+n.getHours()).substr(-2)+":"+("0"+n.getMinutes()).substr(-2)+":"+("0"+n.getSeconds()).substr(-2);break;case 10:r=("0"+(n.getMonth()+1)).substr(-2)+"-"+("0"+n.getDate()).substr(-2)+"-"+("0"+n.getYear()).substr(-2);break;case 11:r=("0"+n.getYear()).substr(-2)+"/"+("0"+(n.getMonth()+1)).substr(-2)+"/"+("0"+n.getDate()).substr(-2);break;case 12:r=("0"+n.getYear()).substr(-2)+("0"+(n.getMonth()+1)).substr(-2)+("0"+n.getDate()).substr(-2);break;case 101:r=("0"+(n.getMonth()+1)).substr(-2)+"/"+("0"+n.getDate()).substr(-2)+"/"+n.getFullYear();break;case 102:r=n.getFullYear()+"."+("0"+(n.getMonth()+1)).substr(-2)+"."+("0"+n.getDate()).substr(-2);break;case 103:r=("0"+n.getDate()).substr(-2)+"/"+("0"+(n.getMonth()+1)).substr(-2)+"/"+n.getFullYear();break;case 104:r=("0"+n.getDate()).substr(-2)+"."+("0"+(n.getMonth()+1)).substr(-2)+"."+n.getFullYear();break;case 105:r=("0"+n.getDate()).substr(-2)+"-"+("0"+(n.getMonth()+1)).substr(-2)+"-"+n.getFullYear();break;case 106:r=("0"+n.getDate()).substr(-2)+" "+n.toString().substr(4,3).toLowerCase()+" "+n.getFullYear();break;case 107:r=n.toString().substr(4,3)+" "+("0"+n.getDate()).substr(-2)+","+n.getFullYear();break;case 110:r=("0"+(n.getMonth()+1)).substr(-2)+"-"+("0"+n.getDate()).substr(-2)+"-"+n.getFullYear();break;case 111:r=n.getFullYear()+"/"+("0"+(n.getMonth()+1)).substr(-2)+"/"+("0"+n.getDate()).substr(-2);break;case 112:r=n.getFullYear()+("0"+(n.getMonth()+1)).substr(-2)+("0"+n.getDate()).substr(-2);break;default:throw new Error("The CONVERT style "+t.style+" is not realized yet.")}}var a=t.dbtypeid.toUpperCase();if("Date"==t.dbtypeid)return new Date(r);if("DATE"==a){var s=new Date(r),i=s.getFullYear()+"."+("0"+(s.getMonth()+1)).substr(-2)+"."+("0"+s.getDate()).substr(-2);return i}if("DATETIME"==a||"DATETIME2"==a){var s=new Date(r),i=s.getFullYear()+"."+("0"+(s.getMonth()+1)).substr(-2)+"."+("0"+s.getDate()).substr(-2);return i+=" "+("0"+s.getHours()).substr(-2)+":"+("0"+s.getMinutes()).substr(-2)+":"+("0"+s.getSeconds()).substr(-2),i+="."+("00"+s.getMilliseconds()).substr(-3)}if(["MONEY"].indexOf(a)>-1){var o=+r;return(0|o)+100*o%100/100}if(["BOOLEAN"].indexOf(a)>-1)return!!r;if(["INT","INTEGER","SMALLINT","BIGINT","SERIAL","SMALLSERIAL","BIGSERIAL"].indexOf(t.dbtypeid.toUpperCase())>-1)return 0|r;if(["STRING","VARCHAR","NVARCHAR","CHARACTER VARIABLE"].indexOf(t.dbtypeid.toUpperCase())>-1)return t.dbsize?(""+r).substr(0,t.dbsize):""+r;if(["CHAR","CHARACTER","NCHAR"].indexOf(a)>-1)return(r+new Array(t.dbsize+1).join(" ")).substr(0,t.dbsize);if(["NUMBER","FLOAT"].indexOf(a)>-1){if(void 0!==t.dbprecision){var o=+r,u=Math.pow(10,t.dbprecision);return(0|o)+o*u%u/u}return+r}if(["DECIMAL","NUMERIC"].indexOf(a)>-1){var o=+r,u=Math.pow(10,t.dbprecision);return(0|o)+o*u%u/u}if(["JSON"].indexOf(a)>-1){if("object"==typeof r)return r;try{return JSON.parse(r)}catch(e){throw new Error("Cannot convert string to JSON")}}return r},X.ColumnDef=function(e){return X.extend(this,e)},X.ColumnDef.prototype.toString=function(){var e=this.columnid;return this.dbtypeid&&(e+=" "+this.dbtypeid),this.dbsize&&(e+="("+this.dbsize,this.dbprecision&&(e+=","+this.dbprecision),e+=")"),this.primarykey&&(e+=" PRIMARY KEY"),this.notnull&&(e+=" NOT NULL"),e},X.CreateTable=function(e){return X.extend(this,e)},X.CreateTable.prototype.toString=function(){var e="CREATE";if(this.temporary&&(e+=" TEMPORARY"),this.view?e+=" VIEW":e+=" "+(this.class?"CLASS":"TABLE"),this.ifnotexists&&(e+=" IF NOT EXISTS"),e+=" "+this.table.toString(),this.viewcolumns&&(e+="("+this.viewcolumns.map(function(e){return e.toString()}).join(",")+")"),this.as)e+=" AS "+this.as;else{e+=" ("+this.columns.map(function(e){return e.toString()}).join(",")+")"}return this.view&&this.select&&(e+=" AS "+this.select.toString()),e},X.CreateTable.prototype.execute=function(e,t,r){var n=T.databases[this.table.databaseid||e],a=this.table.tableid;if(!a)throw new Error("Table name is not defined");var s=this.columns,i=this.constraints||[];if(this.ifnotexists&&n.tables[a])return r?r(0):0;if(n.tables[a])throw new Error("Can not create table '"+a+"', because it already exists in the database '"+n.databaseid+"'");var o=n.tables[a]=new T.Table;this.class&&(o.isclass=!0);var u=[],c=[];if(s&&s.forEach(function(t){var r=t.dbtypeid;T.fn[r]||(r=r.toUpperCase()),["SERIAL","SMALLSERIAL","BIGSERIAL"].indexOf(r)>-1&&(t.identity={value:1,step:1});var n={columnid:t.columnid,dbtypeid:r,dbsize:t.dbsize,dbprecision:t.dbprecision,notnull:t.notnull,identity:t.identity};if(t.identity&&(o.identities[t.columnid]={value:+t.identity.value,step:+t.identity.step}),t.check&&o.checks.push({id:t.check.constrantid,fn:new Function("r","var y;return "+t.check.expression.toJS("r",""))}),t.default&&u.push("'"+t.columnid+"':"+t.default.toJS("r","")),t.primarykey){var a=o.pk={};a.columns=[t.columnid],a.onrightfns="r['"+t.columnid+"']",a.onrightfn=new Function("r","var y;return "+a.onrightfns),a.hh=x(a.onrightfns),o.uniqs[a.hh]={}}if(t.unique){var s={};o.uk=o.uk||[],o.uk.push(s),s.columns=[t.columnid],s.onrightfns="r['"+t.columnid+"']",s.onrightfn=new Function("r","var y;return "+s.onrightfns),s.hh=x(s.onrightfns),o.uniqs[s.hh]={}}if(t.foreignkey){var i=t.foreignkey.table,l=T.databases[i.databaseid||e].tables[i.tableid];if(void 0===i.columnid){if(!(l.pk.columns&&l.pk.columns.length>0))throw new Error("FOREIGN KEY allowed only to tables with PRIMARY KEYs");i.columnid=l.pk.columns[0]}var h=function(e){var r={};if(void 0===e[t.columnid])return!0;r[i.columnid]=e[t.columnid];var n=l.pk.onrightfn(r);if(!l.uniqs[l.pk.hh][n])throw new Error('Foreign key "'+e[t.columnid]+'" is not found in table '+l.tableid);return!0};o.checks.push({fn:h})}t.onupdate&&c.push("r['"+t.columnid+"']="+t.onupdate.toJS("r","")),o.columns.push(n),o.xcolumns[n.columnid]=n}),o.defaultfns=u.join(","),o.onupdatefns=c.join(";"),i.forEach(function(t){var r;if("PRIMARY KEY"===t.type){if(o.pk)throw new Error("Primary key already exists");var n=o.pk={};n.columns=t.columns,n.onrightfns=n.columns.map(function(e){return"r['"+e+"']"}).join("+'`'+"),n.onrightfn=new Function("r","var y;return "+n.onrightfns),n.hh=x(n.onrightfns),o.uniqs[n.hh]={}}else if("CHECK"===t.type)r=new Function("r","var y;return "+t.expression.toJS("r",""));else if("UNIQUE"===t.type){var a={};o.uk=o.uk||[],o.uk.push(a),a.columns=t.columns,a.onrightfns=a.columns.map(function(e){return"r['"+e+"']"}).join("+'`'+"),a.onrightfn=new Function("r","var y;return "+a.onrightfns),a.hh=x(a.onrightfns),o.uniqs[a.hh]={}}else if("FOREIGN KEY"===t.type){var s=o.xcolumns[t.columns[0]],i=t.fktable;t.fkcolumns&&t.fkcolumns.length>0&&(i.columnid=t.fkcolumns[0]);var u=T.databases[i.databaseid||e].tables[i.tableid];void 0===i.columnid&&(i.columnid=u.pk.columns[0]),r=function(e){var t={};if(void 0===e[s.columnid])return!0;t[i.columnid]=e[s.columnid];var r=u.pk.onrightfn(t);if(!u.uniqs[u.pk.hh][r])throw new Error('Foreign key "'+e[s.columnid]+'" is not found in table '+u.tableid);return!0}}r&&o.checks.push({fn:r,id:t.constraintid,fk:"FOREIGN KEY"===t.type})}),this.view&&this.viewcolumns){var l=this;this.viewcolumns.forEach(function(e,t){l.select.columns[t].as=e.columnid})}if(this.view&&this.select&&(o.view=!0,o.select=this.select.compile(this.table.databaseid||e)),n.engineid)return T.engines[n.engineid].createTable(this.table.databaseid||e,a,this.ifnotexists,r);o.insert=function(r,n){var a=T.inserted;T.inserted=[r];var s=this,i=!1,o=!1;for(var u in s.beforeinsert){var c=s.beforeinsert[u];c&&(c.funcid?!1===T.fn[c.funcid](r)&&(o=o||!0):c.statement&&!1===c.statement.execute(e)&&(o=o||!0))}if(!o){var l=!1;for(u in s.insteadofinsert)l=!0,(c=s.insteadofinsert[u])&&(c.funcid?T.fn[c.funcid](r):c.statement&&c.statement.execute(e));if(!l){for(var h in s.identities){var d=s.identities[h];r[h]=d.value}if(s.checks&&s.checks.length>0&&s.checks.forEach(function(e){if(!e.fn(r))throw new Error("Violation of CHECK constraint "+(e.id||""))}),s.columns.forEach(function(e){if(e.notnull&&void 0===r[e.columnid])throw new Error("Wrong NULL value in NOT NULL column "+e.columnid)}),s.pk){var f=s.pk,p=f.onrightfn(r);if(void 0!==s.uniqs[f.hh][p]){if(!n)throw new Error("Cannot insert record, because it already exists in primary key index");i=s.uniqs[f.hh][p]}}
-if(s.uk&&s.uk.length&&s.uk.forEach(function(e){var t=e.onrightfn(r);if(void 0!==s.uniqs[e.hh][t]){if(!n)throw new Error("Cannot insert record, because it already exists in unique index");i=s.uniqs[e.hh][t]}}),i)s.update(function(e){for(var t in r)e[t]=r[t]},s.data.indexOf(i),t);else{s.data.push(r);for(var h in s.identities){var d=s.identities[h];d.value+=d.step}if(s.pk){var f=s.pk,p=f.onrightfn(r);s.uniqs[f.hh][p]=r}s.uk&&s.uk.length&&s.uk.forEach(function(e){var t=e.onrightfn(r);s.uniqs[e.hh][t]=r})}for(var u in s.afterinsert){var c=s.afterinsert[u];c&&(c.funcid?T.fn[c.funcid](r):c.statement&&c.statement.execute(e))}T.inserted=a}}},o.delete=function(t){var r=this,n=r.data[t],a=!1;for(var s in r.beforedelete){var i=r.beforedelete[s];i&&(i.funcid?!1===T.fn[i.funcid](n)&&(a=a||!0):i.statement&&!1===i.statement.execute(e)&&(a=a||!0))}if(a)return!1;var o=!1;for(var s in r.insteadofdelete){o=!0;var i=r.insteadofdelete[s];i&&(i.funcid?T.fn[i.funcid](n):i.statement&&i.statement.execute(e))}if(!o){if(this.pk){var u=this.pk,c=u.onrightfn(n);if(void 0===this.uniqs[u.hh][c])throw new Error("Something wrong with primary key index on table");this.uniqs[u.hh][c]=void 0}r.uk&&r.uk.length&&r.uk.forEach(function(e){var t=e.onrightfn(n);if(void 0===r.uniqs[e.hh][t])throw new Error("Something wrong with unique index on table");r.uniqs[e.hh][t]=void 0})}},o.deleteall=function(){this.data.length=0,this.pk&&(this.uniqs[this.pk.hh]={}),o.uk&&o.uk.length&&o.uk.forEach(function(e){o.uniqs[e.hh]={}})},o.update=function(t,r,n){var a,s=_(this.data[r]);if(this.pk&&(a=this.pk,a.pkaddr=a.onrightfn(s,n),void 0===this.uniqs[a.hh][a.pkaddr]))throw new Error("Something wrong with index on table");o.uk&&o.uk.length&&o.uk.forEach(function(e){if(e.ukaddr=e.onrightfn(s),void 0===o.uniqs[e.hh][e.ukaddr])throw new Error("Something wrong with unique index on table")}),t(s,n,T);var i=!1;for(var u in o.beforeupdate){var c=o.beforeupdate[u];c&&(c.funcid?!1===T.fn[c.funcid](this.data[r],s)&&(i=i||!0):c.statement&&!1===c.statement.execute(e)&&(i=i||!0))}if(i)return!1;var l=!1;for(var u in o.insteadofupdate){l=!0;var c=o.insteadofupdate[u];c&&(c.funcid?T.fn[c.funcid](this.data[r],s):c.statement&&c.statement.execute(e))}if(!l){if(o.checks&&o.checks.length>0&&o.checks.forEach(function(e){if(!e.fn(s))throw new Error("Violation of CHECK constraint "+(e.id||""))}),o.columns.forEach(function(e){if(e.notnull&&void 0===s[e.columnid])throw new Error("Wrong NULL value in NOT NULL column "+e.columnid)}),this.pk&&(a.newpkaddr=a.onrightfn(s),void 0!==this.uniqs[a.hh][a.newpkaddr]&&a.newpkaddr!==a.pkaddr))throw new Error("Record already exists");o.uk&&o.uk.length&&o.uk.forEach(function(e){if(e.newukaddr=e.onrightfn(s),void 0!==o.uniqs[e.hh][e.newukaddr]&&e.newukaddr!==e.ukaddr)throw new Error("Record already exists")}),this.pk&&(this.uniqs[a.hh][a.pkaddr]=void 0,this.uniqs[a.hh][a.newpkaddr]=s),o.uk&&o.uk.length&&o.uk.forEach(function(e){o.uniqs[e.hh][e.ukaddr]=void 0,o.uniqs[e.hh][e.newukaddr]=s}),this.data[r]=s;for(var u in o.afterupdate){var c=o.afterupdate[u];c&&(c.funcid?T.fn[c.funcid](this.data[r],s):c.statement&&c.statement.execute(e))}}};var h;return T.options.nocount||(h=1),r&&(h=r(h)),h},T.fn.Date=Object,T.fn.Date=Date,T.fn.Number=Number,T.fn.String=String,T.fn.Boolean=Boolean,ae.EXTEND=T.utils.extend,ae.CHAR=String.fromCharCode.bind(String),ae.ASCII=function(e){return e.charCodeAt(0)},ae.COALESCE=function(){for(var e=0;e0)var n=this.sets.map(function(e){return"x['"+e.column.columnid+"']="+e.expression.toJS("x","")}).join(";"),s=new Function("x,params,alasql",n);return function(e,n){var i,o,u=T.databases[t];o=void 0!==r?r:u.counter++;var c={$id:o,$node:"VERTEX"};return u.objects[c.$id]=c,i=c,a&&a(c),s&&s(c,e,T),n&&(i=n(i)),i}},X.CreateEdge=function(e){return X.extend(this,e)},X.CreateEdge.prototype.toString=function(){var e="CREATE EDGE ";return this.class&&(e+=this.class+" "),e},X.CreateEdge.prototype.toJS=function(e){return"this.queriesfn["+(this.queriesidx-1)+"](this.params,null,"+e+")"},X.CreateEdge.prototype.compile=function(e){var t=e,r=new Function("params,alasql","var y;return "+this.from.toJS()),n=new Function("params,alasql","var y;return "+this.to.toJS());if(void 0!==this.name)var a="x.name="+this.name.toJS(),s=new Function("x",a);if(this.sets&&this.sets.length>0)var a=this.sets.map(function(e){return"x['"+e.column.columnid+"']="+e.expression.toJS("x","")}).join(";"),i=new Function("x,params,alasql","var y;"+a);return function(e,a){var o=0,u=T.databases[t],c={$id:u.counter++,$node:"EDGE"},l=r(e,T),h=n(e,T);return c.$in=[l.$id],c.$out=[h.$id],void 0===l.$out&&(l.$out=[]),l.$out.push(c.$id),void 0===typeof h.$in&&(h.$in=[]),h.$in.push(c.$id),u.objects[c.$id]=c,o=c,s&&s(c),i&&i(c,e,T),a&&(o=a(o)),o}},X.CreateGraph=function(e){return X.extend(this,e)},X.CreateGraph.prototype.toString=function(){var e="CREATE GRAPH ";return this.class&&(e+=this.class+" "),e},X.CreateGraph.prototype.execute=function(e,t,r){function n(e){var t=T.databases[T.useid].objects;for(var r in t)if(t[r].name===e)return t[r]}function a(r){var n={};void 0!==r.as&&(T.vars[r.as]=n),void 0!==r.prop&&(n.$id=r.prop,n.name=r.prop),void 0!==r.sharp&&(n.$id=r.sharp),void 0!==r.name&&(n.name=r.name),void 0!==r.class&&(n.$class=r.class);var a=T.databases[e];if(void 0===n.$id&&(n.$id=a.counter++),n.$node="VERTEX",void 0!==r.json&&q(n,new Function("params,alasql","var y;return "+r.json.toJS())(t,T)),a.objects[n.$id]=n,void 0!==n.$class){if(void 0===T.databases[e].tables[n.$class])throw new Error("No such class. Pleace use CREATE CLASS");T.databases[e].tables[n.$class].data.push(n)}return s.push(n.$id),n}var s=[];return this.from&&T.from[this.from.funcid]&&(this.graph=T.from[this.from.funcid.toUpperCase()]),this.graph.forEach(function(r){if(r.source){var i={};void 0!==r.as&&(T.vars[r.as]=i),void 0!==r.prop&&(i.name=r.prop),void 0!==r.sharp&&(i.$id=r.sharp),void 0!==r.name&&(i.name=r.name),void 0!==r.class&&(i.$class=r.class);var o=T.databases[e];void 0===i.$id&&(i.$id=o.counter++),i.$node="EDGE",void 0!==r.json&&q(i,new Function("params,alasql","var y;return "+r.json.toJS())(t,T));var u;if(r.source.vars){var c=T.vars[r.source.vars];u="object"==typeof c?c:o.objects[c]}else{var l=r.source.sharp;void 0===l&&(l=r.source.prop),u=T.databases[e].objects[l],void 0!==u||!T.options.autovertex||void 0===r.source.prop&&void 0===r.source.name||void 0===(u=n(r.source.prop||r.source.name))&&(u=a(r.source))}var h;if(r.source.vars){var c=T.vars[r.target.vars];h="object"==typeof c?c:o.objects[c]}else{var d=r.target.sharp;void 0===d&&(d=r.target.prop),h=T.databases[e].objects[d],void 0!==h||!T.options.autovertex||void 0===r.target.prop&&void 0===r.target.name||void 0===(h=n(r.target.prop||r.target.name))&&(h=a(r.target))}if(i.$in=[u.$id],i.$out=[h.$id],void 0===u.$out&&(u.$out=[]),u.$out.push(i.$id),void 0===h.$in&&(h.$in=[]),h.$in.push(i.$id),o.objects[i.$id]=i,void 0!==i.$class){if(void 0===T.databases[e].tables[i.$class])throw new Error("No such class. Pleace use CREATE CLASS");T.databases[e].tables[i.$class].data.push(i)}s.push(i.$id)}else a(r)}),r&&(s=r(s)),s},X.CreateGraph.prototype.compile1=function(e){var t=e,r=new Function("params,alasql","var y;return "+this.from.toJS()),n=new Function("params,alasql","var y;return "+this.to.toJS());if(void 0!==this.name)var a="x.name="+this.name.toJS(),s=new Function("x",a);if(this.sets&&this.sets.length>0)var a=this.sets.map(function(e){return"x['"+e.column.columnid+"']="+e.expression.toJS("x","")}).join(";"),i=new Function("x,params,alasql","var y;"+a);return function(e,a){var o=0,u=T.databases[t],c={$id:u.counter++,$node:"EDGE"},l=r(e,T),h=n(e,T);return c.$in=[l.$id],c.$out=[h.$id],void 0===l.$out&&(l.$out=[]),l.$out.push(c.$id),void 0===h.$in&&(h.$in=[]),h.$in.push(c.$id),u.objects[c.$id]=c,o=c,s&&s(c),i&&i(c,e,T),a&&(o=a(o)),o}},X.AlterTable=function(e){return X.extend(this,e)},X.AlterTable.prototype.toString=function(){var e="ALTER TABLE "+this.table.toString();return this.renameto&&(e+=" RENAME TO "+this.renameto),e},X.AlterTable.prototype.execute=function(e,t,r){var n=T.databases[e];if(n.dbversion=Date.now(),this.renameto){var a=this.table.tableid,s=this.renameto,i=1;if(n.tables[s])throw new Error("Can not rename a table '"+a+"' to '"+s+"', because the table with this name already exists");if(s===a)throw new Error("Can not rename a table '"+a+"' to itself");return n.tables[s]=n.tables[a],delete n.tables[a],i=1,r&&r(i),i}if(this.addcolumn){n=T.databases[this.table.databaseid||e],n.dbversion++;var o=this.table.tableid,u=n.tables[o],c=this.addcolumn.columnid;if(u.xcolumns[c])throw new Error('Cannot add column "'+c+'", because it already exists in the table "'+o+'"');var l={columnid:c,dbtypeid:this.dbtypeid,dbsize:this.dbsize,dbprecision:this.dbprecision,dbenum:this.dbenum,defaultfns:null};u.columns.push(l),u.xcolumns[c]=l;for(var h=0,d=u.data.length;h0)for(var l=0,h=s.data.length;l0)for(var l=0,h=s.data.length;l=0?r+="(x="+s[t].toJS()+",x==undefined?undefined:+x)":T.fn[a.xcolumns[e.columnid].dbtypeid]?(r+="(new "+a.xcolumns[e.columnid].dbtypeid+"(",r+=s[t].toJS(),r+="))"):r+=s[t].toJS():r+=s[t].toJS(),u.push(r)}):Array.isArray(s)&&a.columns&&a.columns.length>0?a.columns.forEach(function(e,t){var r="'"+e.columnid+"':";["INT","FLOAT","NUMBER","MONEY"].indexOf(e.dbtypeid)>=0?r+="+"+s[t].toJS():T.fn[e.dbtypeid]?(r+="(new "+e.dbtypeid+"(",r+=s[t].toJS(),r+="))"):r+=s[t].toJS(),u.push(r)}):o=b(s),r.tables[n].defaultfns&&u.unshift(r.tables[n].defaultfns),i+=o?"a="+o+";":"a={"+u.join(",")+"};",r.tables[n].isclass&&(i+="var db=alasql.databases['"+e+"'];",i+='a.$class="'+n+'";',i+="a.$id=db.counter++;",i+="db.objects[a.$id]=a;"),r.tables[n].insert?(i+="var db=alasql.databases['"+e+"'];",i+="db.tables['"+n+"'].insert(a,"+(t.orreplace?"true":"false")+");"):i+="aa.push(a);"}),s=u+i,r.tables[n].insert||(i+="alasql.databases['"+e+"'].tables['"+n+"'].data=alasql.databases['"+e+"'].tables['"+n+"'].data.concat(aa);"),r.tables[n].insert&&r.tables[n].isclass?i+="return a.$id;":i+="return "+t.values.length;var c=new Function("db, params, alasql","var y;"+u+i).bind(this)}else if(this.select){this.select.modifier="RECORDSET";var l=this.select.compile(e);if(r.engineid&&T.engines[r.engineid].intoTable){var h=function(e,t){var a=l(e);return T.engines[r.engineid].intoTable(r.databaseid,n,a.data,null,t)};return h}var d="return alasql.utils.extend(r,{"+a.defaultfns+"})",f=new Function("r,db,params,alasql",d),c=function(e,r,a){var s=l(r).data;if(e.tables[n].insert)for(var i=0,o=s.length;i0&&(e+="("+this.args.map(function(e){return e.toString()}).join(", ")+")"),this.as&&(e+=" AS "+this.as),e},X.CreateDatabase.prototype.execute=function(e,t,r){if(this.args&&this.args.length>0&&this.args.map(function(e){return new Function("params,alasql","var y;return "+e.toJS())(t,T)}),this.engineid){var n=T.engines[this.engineid].createDatabase(this.databaseid,this.args,this.ifnotexists,this.as,r);return n}var a=this.databaseid;if(T.databases[a])throw new Error("Database '"+a+"' already exists");var n=(new T.Database(a),1);return r?r(n):n},X.AttachDatabase=function(e){return X.extend(this,e)},X.AttachDatabase.prototype.toString=function(e){var t="ATTACH";return this.engineid&&(t+=" "+this.engineid),t+=" DATABASE "+this.databaseid,e&&(t+="(",e.length>0&&(t+=e.map(function(e){return e.toString()}).join(", ")),t+=")"),this.as&&(t+=" AS "+this.as),t},X.AttachDatabase.prototype.execute=function(e,t,r){if(!T.engines[this.engineid])throw new Error('Engine "'+this.engineid+'" is not defined.');return T.engines[this.engineid].attachDatabase(this.databaseid,this.as,this.args,t,r)},X.DetachDatabase=function(e){return X.extend(this,e)},X.DetachDatabase.prototype.toString=function(){var e="DETACH";return e+=" DATABASE "+this.databaseid},X.DetachDatabase.prototype.execute=function(e,t,r){if(!T.databases[this.databaseid].engineid)throw new Error('Cannot detach database "'+this.engineid+'", because it was not attached.');var n,a=this.databaseid;if(a===T.DEFAULTDATABASEID)throw new Error("Drop of default database is prohibited");if(T.databases[a])delete T.databases[a],a===T.useid&&T.use(),n=1;else{if(!this.ifexists)throw new Error("Database '"+a+"' does not exist");n=0}return r&&r(n),n},X.UseDatabase=function(e){return X.extend(this,e)},X.UseDatabase.prototype.toString=function(){return"USE DATABASE "+this.databaseid},X.UseDatabase.prototype.execute=function(e,t,r){var n=this.databaseid;if(!T.databases[n])throw new Error("Database '"+n+"' does not exist");T.use(n);return r&&r(1),1},X.DropDatabase=function(e){return X.extend(this,e)},X.DropDatabase.prototype.toString=function(){var e="DROP";return this.ifexists&&(e+=" IF EXISTS"),e+=" DATABASE "+this.databaseid},X.DropDatabase.prototype.execute=function(e,t,r){if(this.engineid)return T.engines[this.engineid].dropDatabase(this.databaseid,this.ifexists,r);var n,a=this.databaseid;if(a===T.DEFAULTDATABASEID)throw new Error("Drop of default database is prohibited");if(T.databases[a]){if(T.databases[a].engineid)throw new Error("Cannot drop database '"+a+"', because it is attached. Detach it.");delete T.databases[a],a===T.useid&&T.use(),n=1}else{if(!this.ifexists)throw new Error("Database '"+a+"' does not exist");n=0}return r&&r(n),n},X.Declare=function(e){return X.extend(this,e)},X.Declare.prototype.toString=function(){var e="DECLARE ";return this.declares&&this.declares.length>0&&(e=this.declares.map(function(e){var t="";return t+="@"+e.variable+" ",t+=e.dbtypeid,this.dbsize&&(t+="("+this.dbsize,this.dbprecision&&(t+=","+this.dbprecision),t+=")"),e.expression&&(t+=" = "+e.expression.toString()),t}).join(",")),e},X.Declare.prototype.execute=function(e,t,r){var n=1;return this.declares&&this.declares.length>0&&this.declares.map(function(e){var r=e.dbtypeid;T.fn[r]||(r=r.toUpperCase()),T.declares[e.variable]={dbtypeid:r,dbsize:e.dbsize,dbprecision:e.dbprecision},e.expression&&(T.vars[e.variable]=new Function("params,alasql","return "+e.expression.toJS("({})","",null))(t,T),T.declares[e.variable]&&(T.vars[e.variable]=T.stdfn.CONVERT(T.vars[e.variable],T.declares[e.variable])))}),r&&(n=r(n)),n},X.ShowDatabases=function(e){return X.extend(this,e)},X.ShowDatabases.prototype.toString=function(){var e="SHOW DATABASES";return this.like&&(e+="LIKE "+this.like.toString()),e},X.ShowDatabases.prototype.execute=function(e,t,r){if(this.engineid)return T.engines[this.engineid].showDatabases(this.like,r);var n=this,a=[];for(var s in T.databases)a.push({databaseid:s});return n.like&&a&&a.length>0&&(a=a.filter(function(e){return T.utils.like(n.like.value,e.databaseid)})),r&&r(a),a},X.ShowTables=function(e){return X.extend(this,e)},X.ShowTables.prototype.toString=function(){var e="SHOW TABLES";return this.databaseid&&(e+=" FROM "+this.databaseid),this.like&&(e+=" LIKE "+this.like.toString()),e},X.ShowTables.prototype.execute=function(e,t,r){var n=T.databases[this.databaseid||e],a=this,s=[];for(var i in n.tables)s.push({tableid:i});return a.like&&s&&s.length>0&&(s=s.filter(function(e){
-return T.utils.like(a.like.value,e.tableid)})),r&&r(s),s},X.ShowColumns=function(e){return X.extend(this,e)},X.ShowColumns.prototype.toString=function(){var e="SHOW COLUMNS";return this.table.tableid&&(e+=" FROM "+this.table.tableid),this.databaseid&&(e+=" FROM "+this.databaseid),e},X.ShowColumns.prototype.execute=function(e,t,r){var n=T.databases[this.databaseid||e],a=n.tables[this.table.tableid];if(a&&a.columns){var s=a.columns.map(function(e){return{columnid:e.columnid,dbtypeid:e.dbtypeid,dbsize:e.dbsize}});return r&&r(s),s}return r&&r([]),[]},X.ShowIndex=function(e){return X.extend(this,e)},X.ShowIndex.prototype.toString=function(){var e="SHOW INDEX";return this.table.tableid&&(e+=" FROM "+this.table.tableid),this.databaseid&&(e+=" FROM "+this.databaseid),e},X.ShowIndex.prototype.execute=function(e,t,r){var n=T.databases[this.databaseid||e],a=n.tables[this.table.tableid],s=[];if(a&&a.indices)for(var i in a.indices)s.push({hh:i,len:Object.keys(a.indices[i]).length});return r&&r(s),s},X.ShowCreateTable=function(e){return X.extend(this,e)},X.ShowCreateTable.prototype.toString=function(){var e="SHOW CREATE TABLE "+this.table.tableid;return this.databaseid&&(e+=" FROM "+this.databaseid),e},X.ShowCreateTable.prototype.execute=function(e){var t=T.databases[this.databaseid||e],r=t.tables[this.table.tableid];if(r){var n="CREATE TABLE "+this.table.tableid+" (",a=[];return r.columns&&(r.columns.forEach(function(e){var t=e.columnid+" "+e.dbtypeid;e.dbsize&&(t+="("+e.dbsize+")"),e.primarykey&&(t+=" PRIMARY KEY"),a.push(t)}),n+=a.join(", ")),n+=")"}throw new Error('There is no such table "'+this.table.tableid+'"')},X.SetVariable=function(e){return X.extend(this,e)},X.SetVariable.prototype.toString=function(){var e="SET ";return void 0!==this.value&&(e+=this.variable.toUpperCase()+" "+(this.value?"ON":"OFF")),this.expression&&(e+=this.method+this.variable+" = "+this.expression.toString()),e},X.SetVariable.prototype.execute=function(e,t,r){if(void 0!==this.value){var n=this.value;"ON"==n?n=!0:"OFF"==n&&(n=!1),T.options[this.variable]=n}else if(this.expression){this.exists&&(this.existsfn=this.exists.map(function(t){var r=t.compile(e);return r.query&&!r.query.modifier&&(r.query.modifier="RECORDSET"),r})),this.queries&&(this.queriesfn=this.queries.map(function(t){var r=t.compile(e);return r.query&&!r.query.modifier&&(r.query.modifier="RECORDSET"),r}));var a=new Function("params,alasql","return "+this.expression.toJS("({})","",null)).bind(this)(t,T);if(T.declares[this.variable]&&(a=T.stdfn.CONVERT(a,T.declares[this.variable])),this.props&&this.props.length>0){if("@"==this.method)var s="alasql.vars['"+this.variable+"']";else var s="params['"+this.variable+"']";s+=this.props.map(function(e){return"string"==typeof e?"['"+e+"']":"number"==typeof e?"["+e+"]":"["+e.toJS()+"]"}).join(),new Function("value,params,alasql","var y;"+s+"=value")(a,t,T)}else"@"==this.method?T.vars[this.variable]=a:t[this.variable]=a}var a=1;return r&&(a=r(a)),a},T.test=function(e,t,r){if(0===arguments.length)return void T.log(T.con.results);var n=Date.now();if(1===arguments.length)return r(),void T.con.log(Date.now()-n);2===arguments.length&&(r=t,t=1);for(var a=0;a",e),Array.isArray(a)&&console.table?console.table(a):console.log(oe(a));else{var s;s="output"===n?document.getElementsByTagName("output")[0]:"string"==typeof n?document.getElementById(n):n;var i="";if("string"==typeof e&&T.options.logprompt&&(i+=""+T.pretty(e)+"
"),Array.isArray(a))if(0===a.length)i+="[ ]
";else if("object"!=typeof a[0]||Array.isArray(a[0]))for(var o=0,u=a.length;o"+E(a[o])+"
";else i+=E(a);else i+=E(a);s.innerHTML+=i}},T.clear=function(){var e=T.options.logtarget;if(N.isNode||N.isMeteorServer)console.clear&&console.clear();else{var t;t="output"===e?document.getElementsByTagName("output")[0]:"string"==typeof e?document.getElementById(e):e,t.innerHTML=""}},T.write=function(e){var t=T.options.logtarget;if(N.isNode||N.isMeteorServer)console.log&&console.log(e);else{var r;r="output"===t?document.getElementsByTagName("output")[0]:"string"==typeof t?document.getElementById(t):t,r.innerHTML+=e}},T.prompt=function(e,t,r){if(N.isNode)throw new Error("The prompt not realized for Node.js");var n=0;if("string"==typeof e&&(e=document.getElementById(e)),"string"==typeof t&&(t=document.getElementById(t)),t.textContent=T.useid,r){T.prompthistory.push(r),n=T.prompthistory.length;try{var a=Date.now();T.log(r),T.write(''+(Date.now()-a)+" ms
")}catch(e){T.write(""+olduseid+"> "+sql+"
"),T.write(''+e+"
")}}var s=e.getBoundingClientRect().top+document.getElementsByTagName("body")[0].scrollTop;g(document.getElementsByTagName("body")[0],s,500),e.onkeydown=function(r){if(13===r.which){var a=e.value,s=T.useid;e.value="",T.prompthistory.push(a),n=T.prompthistory.length;try{var i=Date.now();T.log(a),T.write('
'+(Date.now()-i)+" ms
")}catch(e){T.write(""+s+"> "+T.pretty(a,!1)+"
"),T.write(''+e+"
")}e.focus(),t.textContent=T.useid;var o=e.getBoundingClientRect().top+document.getElementsByTagName("body")[0].scrollTop;g(document.getElementsByTagName("body")[0],o,500)}else 38===r.which?(n--,n<0&&(n=0),T.prompthistory[n]&&(e.value=T.prompthistory[n],r.preventDefault())):40===r.which&&(n++,n>=T.prompthistory.length?(n=T.prompthistory.length,e.value=""):T.prompthistory[n]&&(e.value=T.prompthistory[n],r.preventDefault()))}},X.BeginTransaction=function(e){return X.extend(this,e)},X.BeginTransaction.prototype.toString=function(){return"BEGIN TRANSACTION"},X.BeginTransaction.prototype.execute=function(e,t,r){return T.databases[e].engineid?T.engines[T.databases[T.useid].engineid].begin(e,r):(r&&r(1),1)},X.CommitTransaction=function(e){return X.extend(this,e)},X.CommitTransaction.prototype.toString=function(){return"COMMIT TRANSACTION"},X.CommitTransaction.prototype.execute=function(e,t,r){return T.databases[e].engineid?T.engines[T.databases[T.useid].engineid].commit(e,r):(r&&r(1),1)},X.RollbackTransaction=function(e){return X.extend(this,e)},X.RollbackTransaction.prototype.toString=function(){return"ROLLBACK TRANSACTION"},X.RollbackTransaction.prototype.execute=function(e,t,r){return T.databases[e].engineid?T.engines[T.databases[e].engineid].rollback(e,r):(r&&r(1),1)},T.options.tsql&&(T.stdfn.OBJECT_ID=function(e,t){void 0===t&&(t="T"),t=t.toUpperCase();var r=e.split("."),n=T.useid,a=r[0];2==r.length&&(n=r[0],a=r[1]);var s=T.databases[n].tables;n=T.databases[n].databaseid;for(var i in s)if(i==a){if(s[i].view&&"V"==t)return n+"."+i;if(!s[i].view&&"T"==t)return n+"."+i;return}}),T.options.mysql,(T.options.mysql||T.options.sqlite)&&(T.from.INFORMATION_SCHEMA=function(e,t,r,n,a){if("VIEWS"==e||"TABLES"==e){var s=[];for(var i in T.databases){var o=T.databases[i].tables;for(var u in o)(o[u].view&&"VIEWS"==e||!o[u].view&&"TABLES"==e)&&s.push({TABLE_CATALOG:i,TABLE_NAME:u})}return r&&(s=r(s,n,a)),s}throw new Error("Unknown INFORMATION_SCHEMA table")}),T.options.postgres,T.options.oracle,T.options.sqlite,T.into.SQL=function(e,t,r,n,a){var s;"object"==typeof e&&(t=e,e=void 0);var i={};if(T.utils.extend(i,t),void 0===i.tableid)throw new Error("Table for INSERT TO is not defined.");var o="";0===n.length&&"object"==typeof r[0]&&(n=Object.keys(r[0]).map(function(e){return{columnid:e}}));for(var u=0,c=r.length;u0&&(n=Object.keys(r[0]).map(function(e){return{columnid:e}})),"object"==typeof e&&(t=e,e=void 0);var s=r.length,i="";if(r.length>0){var o=n[0].columnid;i+=r.map(function(e){return e[o]}).join("\n")}return e=T.utils.autoExtFilename(e,"txt",t),s=T.utils.saveFile(e,i),a&&(s=a(s)),s},T.into.TAB=T.into.TSV=function(e,t,r,n,a){var s={};return T.utils.extend(s,t),s.separator="\t",e=T.utils.autoExtFilename(e,"tab",t),s.autoExt=!1,T.into.CSV(e,s,r,n,a)},T.into.CSV=function(e,t,r,n,a){0===n.length&&r.length>0&&(n=Object.keys(r[0]).map(function(e){return{columnid:e}})),"object"==typeof e&&(t=e,e=void 0);var s={headers:!0};s.separator=";",s.quote='"',s.utf8Bom=!0,t&&!t.headers&&void 0!==t.headers&&(s.utf8Bom=!1),T.utils.extend(s,t);var i=r.length,o=s.utf8Bom?"\ufeff":"";return s.headers&&(o+=s.quote+n.map(function(e){return e.columnid.trim()}).join(s.quote+s.separator+s.quote)+s.quote+"\r\n"),r.forEach(function(e){o+=n.map(function(t){var r=e[t.columnid];return""!==s.quote&&(r=(r+"").replace(new RegExp("\\"+s.quote,"g"),s.quote+s.quote)),+r!=r&&(r=s.quote+r+s.quote),r}).join(s.separator)+"\r\n"}),e=T.utils.autoExtFilename(e,"csv",t),i=T.utils.saveFile(e,o,null,{disableAutoBom:!0}),a&&(i=a(i)),i},T.into.XLS=function(e,t,r,n,a){"object"==typeof e&&(t=e,e=void 0);var s={};t&&t.sheets&&(s=t.sheets);var i={headers:!0};void 0!==s.Sheet1?i=s[0]:void 0!==t&&(i=t),void 0===i.sheetid&&(i.sheetid="Sheet1");var o=function(){var e=' \t\t \t\t\x3c!--[if gte mso 9]> ';if(e+=" "+i.sheetid+" \t\t ",e+=" ",e+="",e+="",void 0!==i.caption){var a=i.caption;"string"==typeof a&&(a={title:a}),e+="",e+=a.title,e+=" "}return void 0!==i.columns?n=i.columns:0==n.length&&r.length>0&&"object"==typeof r[0]&&(n=Array.isArray(r[0])?r[0].map(function(e,t){return{columnid:t}}):Object.keys(r[0]).map(function(e){return{columnid:e}})),n.forEach(function(e,t){void 0!==i.column&&q(e,i.column),void 0===e.width&&(i.column&&"undefined"!=i.column.width?e.width=i.column.width:e.width="120px"),"number"==typeof e.width&&(e.width=e.width+"px"),void 0===e.columnid&&(e.columnid=t),void 0===e.title&&(e.title=""+e.columnid.trim()),i.headers&&Array.isArray(i.headers)&&(e.title=i.headers[t])}),e+="",n.forEach(function(t){e+=' '}),e+=" ",i.headers&&(e+="",e+="",n.forEach(function(t,r){e+="",void 0!==t.title&&("function"==typeof t.title?e+=t.title(i,t,r):e+=t.title),e+=" "}),e+=" ",e+=" "),e+="",r&&r.length>0&&r.forEach(function(r,a){if(!(a>i.limit)){e+="",n.forEach(function(n,o){var u={};q(u,i.cell),q(u,s.cell),void 0!==i.column&&q(u,i.column.cell),q(u,n.cell),i.cells&&i.cells[a]&&i.cells[a][o]&&q(u,i.cells[a][o]);var c=r[n.columnid];"function"==typeof u.value&&(c=u.value(c,i,r,n,u,a,o));var l=u.typeid;"function"==typeof l&&(l=l(c,i,r,n,u,a,o)),void 0===l&&("number"==typeof c?l="number":"string"==typeof c?l="string":"boolean"==typeof c?l="boolean":"object"==typeof c&&c instanceof Date&&(l="date"));var h="";"money"==l?h='mso-number-format:"\\#\\,\\#\\#0\\\\ _р_\\.";white-space:normal;':"number"==l?h=" ":"date"==l?h='mso-number-format:"Short Date";':t.types&&t.types[l]&&t.types[l].typestyle&&(h=t.types[l].typestyle),h=h||'mso-number-format:"\\@";',e+="";var d=u.format;if(void 0===c)e+="";else if(void 0!==d)if("function"==typeof d)e+=d(c);else{if("string"!=typeof d)throw new Error("Unknown format type. Should be function or string");e+=c}else e+="number"==l||"date"==l?c.toString():"money"==l?(+c).toFixed(2):c;e+=" "}),e+=" "}}),e+=" ",e+="
",e+="",e+=""}();e=T.utils.autoExtFilename(e,"xls",t);var u=T.utils.saveFile(e,o);return a&&(u=a(u)),u},T.into.XLSXML=function(e,t,r,n,a){t=t||{},"object"==typeof e&&(t=e,e=void 0);var s={};t&&t.sheets?s=t.sheets:s.Sheet1=t,e=T.utils.autoExtFilename(e,"xls",t);var i=T.utils.saveFile(e,function(){function e(e){var t="";for(var r in e){t+="<"+r;for(var n in e[r])t+=" ","x:"==n.substr(0,2)?t+=n:t+="ss:",t+=n+'="'+e[r][n]+'"';t+="/>"}var s=x(t);return o[s]||(o[s]={styleid:u},a+='",u++),"s"+o[s].styleid}var a="",i=" ",o={},u=62;for(var c in s){var l=s[c];void 0!==l.columns?n=l.columns:0==n.length&&r.length>0&&"object"==typeof r[0]&&(n=Array.isArray(r[0])?r[0].map(function(e,t){return{columnid:t}}):Object.keys(r[0]).map(function(e){return{columnid:e}})),n.forEach(function(e,t){void 0!==l.column&&q(e,l.column),void 0===e.width&&(l.column&&void 0!==l.column.width?e.width=l.column.width:e.width=120),"number"==typeof e.width&&(e.width=e.width),void 0===e.columnid&&(e.columnid=t),void 0===e.title&&(e.title=""+e.columnid.trim()),l.headers&&Array.isArray(l.headers)&&(e.title=l.headers[idx])}),i+=' \t \t\t\t',n.forEach(function(e,t){i+=' '}),l.headers&&(i+='',n.forEach(function(t,r){if(i+="',void 0!==t.title&&("function"==typeof t.title?i+=t.title(l,t,r):i+=t.title),i+=" | "}),i+="
"),r&&r.length>0&&r.forEach(function(r,a){if(!(a>l.limit)){var s={};if(q(s,l.row),l.rows&&l.rows[a]&&q(s,l.rows[a]),i+="",n.forEach(function(n,o){var u={};q(u,l.cell),q(u,s.cell),void 0!==l.column&&q(u,l.column.cell),q(u,n.cell),l.cells&&l.cells[a]&&l.cells[a][o]&&q(u,l.cells[a][o]);var c=r[n.columnid];"function"==typeof u.value&&(c=u.value(c,l,r,n,u,a,o));var h=u.typeid;"function"==typeof h&&(h=h(c,l,r,n,u,a,o)),void 0===h&&("number"==typeof c?h="number":"string"==typeof c?h="string":"boolean"==typeof c?h="boolean":"object"==typeof c&&c instanceof Date&&(h="date"));var d="String";"number"==h?d="Number":"date"==h&&(d="Date");var f="";"money"==h?f='mso-number-format:"\\#\\,\\#\\#0\\\\ _р_\\.";white-space:normal;':"number"==h?f=" ":"date"==h?f='mso-number-format:"Short Date";':t.types&&t.types[h]&&t.types[h].typestyle&&(f=t.types[h].typestyle),f=f||'mso-number-format:"\\@";',i+="",i+='';var b=u.format;if(void 0===c)i+="";else if(void 0!==b)if("function"==typeof b)i+=b(c);else{if("string"!=typeof b)throw new Error("Unknown format type. Should be function or string");i+=c}else i+="number"==h||"date"==h?c.toString():"money"==h?(+c).toFixed(2):c;i+=" | "}),i+="
"}}),i+="
"}return i+="",' \t\t \t\t \t\t \t\t \t\t \t\t \t\t \t\t 0 \t\t \t\t \t\t '+a+i}());return a&&(i=a(i)),i},T.into.XLSX=function(e,t,r,n,s){function i(){"object"==typeof t&&Array.isArray(t)?r&&r.length>0&&r.forEach(function(e,r){o(t[r],e,void 0,r+1)}):o(t,r,n,1),u(s)}function o(e,t,r,n){var a={sheetid:"Sheet "+n,headers:!0};T.utils.extend(a,e);var s=Object.keys(t).length;(!r||0==r.length)&&s>0&&(r=Object.keys(t[0]).map(function(e){return{columnid:e}}));var i={};h.SheetNames.indexOf(a.sheetid)>-1?i=h.Sheets[a.sheetid]:(h.SheetNames.push(a.sheetid),h.Sheets[a.sheetid]={},i=h.Sheets[a.sheetid]);var o="A1";a.range&&(o=a.range);var u=T.utils.xlscn(o.match(/[A-Z]+/)[0]),c=+o.match(/[0-9]+/)[0]-1;if(h.Sheets[a.sheetid]["!ref"])var l=h.Sheets[a.sheetid]["!ref"],d=T.utils.xlscn(l.match(/[A-Z]+/)[0]),f=+l.match(/[0-9]+/)[0]-1;else var d=1,f=1;var p=Math.max(u+r.length,d),b=Math.max(c+s+2,f),E=c+1;h.Sheets[a.sheetid]["!ref"]="A1:"+T.utils.xlsnc(p)+b,a.headers&&(r.forEach(function(e,t){i[T.utils.xlsnc(u+t)+""+E]={v:e.columnid.trim()}}),E++);for(var g=0;g=b)return f;if(c)return c=!1,d;var t=E;if(e.charCodeAt(t)===h){for(var r=t;r++0){var s=this.exprs.map(function(e){var r=new Function("params,alasql,p","var y;return "+e.toJS("({})","",null)).bind(n),a=r(t,T);return oe(a)});console.log.apply(console,s)}else if(this.select){var i=this.select.execute(e,t);console.log(oe(i))}else console.log();return r&&(a=r(a)),a},X.Source=function(e){return X.extend(this,e)},X.Source.prototype.toString=function(){var e="SOURCE";return this.url&&(e+=" '"+this.url+" '"),e},X.Source.prototype.execute=function(e,t,r){var n;return I(this.url,!!r,function(e){return n=T(e),r&&(n=r(n)),n},function(e){throw e}),n},X.Require=function(e){return X.extend(this,e)},X.Require.prototype.toString=function(){var e="REQUIRE";return this.paths&&this.paths.length>0&&(e+=this.paths.map(function(e){return e.toString()}).join(",")),this.plugins&&this.plugins.length>0&&(e+=this.plugins.map(function(e){return e.toUpperCase()}).join(",")),e},X.Require.prototype.execute=function(e,t,r){var n=this,a=0,s="";return this.paths&&this.paths.length>0?this.paths.forEach(function(e){I(e.value,!!r,function(e){a++,s+=e,a0?this.plugins.forEach(function(e){T.plugins[e]||I(T.path+"/alasql-"+e.toLowerCase()+".js",!!r,function(i){a++,s+=i,a0&&(r=r.filter(function(e){return e.databaseid.match(a)}))}return t&&(r=t(r)),r},he.createTable=function(e,t,r,n){var a=1,s=T.databases[e].lsdbid;if(he.get(s+"."+t)&&!r)throw new Error('Table "'+t+'" alsready exists in localStorage database "'+s+'"');var i=he.get(s);T.databases[e].tables[t];return i.tables[t]=!0,he.set(s,i),he.storeTable(e,t),n&&(a=n(a)),a},he.truncateTable=function(e,t,r,n){var a,s=1,i=T.databases[e].lsdbid;if(a=T.options.autocommit?he.get(i):T.databases[e],!r&&!a.tables[t])throw new Error('Cannot truncate table "'+t+'" in localStorage, because it does not exist');return he.restoreTable(e,t).data=[],he.storeTable(e,t),n&&(s=n(s)),s},he.dropTable=function(e,t,r,n){var a,s=1,i=T.databases[e].lsdbid;if(a=T.options.autocommit?he.get(i):T.databases[e],!r&&!a.tables[t])throw new Error('Cannot drop table "'+t+'" in localStorage, because it does not exist');return delete a.tables[t],he.set(i,a),he.removeTable(e,t),n&&(s=n(s)),s},he.fromTable=function(e,t,r,n,a){var s=(T.databases[e].lsdbid,he.restoreTable(e,t).data);return r&&(s=r(s,n,a)),s},he.intoTable=function(e,t,r,n,a){var s=(T.databases[e].lsdbid,r.length),i=he.restoreTable(e,t);return i.data||(i.data=[]),i.data=i.data.concat(r),he.storeTable(e,t),a&&(s=a(s)),s},he.loadTableData=function(e,t){T.databases[e],T.databases[e].lsdbid;he.restoreTable(e,t)},he.saveTableData=function(e,t){var r=T.databases[e],n=T.databases[e].lsdbid;he.storeTable(n,t),r.tables[t].data=void 0},he.commit=function(e,t){var r=T.databases[e],n=T.databases[e].lsdbid,a={databaseid:n,tables:{}};if(r.tables)for(var s in r.tables)a.tables[s]=!0,he.storeTable(e,s);return he.set(n,a),t?t(1):1},he.begin=he.commit,he.rollback=function(e,t){return};var de=T.engines.SQLITE=function(){};de.createDatabase=function(e,t,r,n,a){throw new Error("Connot create SQLITE database in memory. Attach it.")},de.dropDatabase=function(e){throw new Error("This is impossible to drop SQLite database. Detach it.")},de.attachDatabase=function(e,t,r,n,a){if(T.databases[t])throw new Error('Unable to attach database as "'+t+'" because it already exists');if(r[0]&&r[0]instanceof X.StringValue||r[0]instanceof X.ParamValue){if(r[0]instanceof X.StringValue)var s=r[0].value;else if(r[0]instanceof X.ParamValue)var s=n[r[0].param];return T.utils.loadBinaryFile(s,!0,function(r){var n=new T.Database(t||e);n.engineid="SQLITE",n.sqldbid=e;var s=n.sqldb=new SQL.Database(r);n.tables=[],s.exec("SELECT * FROM sqlite_master WHERE type='table'")[0].values.forEach(function(e){n.tables[e[1]]={};var t=n.tables[e[1]].columns=[],r=T.parse(e[4]),a=r.statements[0].columns;a&&a.length>0&&a.forEach(function(e){t.push(e)})}),a(1)},function(e){throw new Error('Cannot open SQLite database file "'+r[0].value+'"')}),1}throw new Error("Cannot attach SQLite database without a file")},de.fromTable=function(e,t,r,n,a){var s=T.databases[e].sqldb.exec("SELECT * FROM "+t),i=a.sources[n].columns=[];s[0].columns.length>0&&s[0].columns.forEach(function(e){i.push({columnid:e})});var o=[];s[0].values.length>0&&s[0].values.forEach(function(e){var t={};i.forEach(function(r,n){t[r.columnid]=e[n]}),o.push(t)}),r&&r(o,n,a)},de.intoTable=function(e,t,r,n,a){for(var s=T.databases[e].sqldb,i=0,o=r.length;i1){var o="REQUIRE "+t.map(function(e){return'"'+e+'"'}).join(",");T(o,[],r)}}else if(!1===e)return void delete T.webworker});var pe=pe||function(e){if(!(void 0===e||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var t=e.document,r=function(){return e.URL||e.webkitURL||e},n=t.createElementNS("http://www.w3.org/1999/xhtml","a"),a="download"in n,s=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},i=/constructor/i.test(e.HTMLElement)||e.safari,o=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},c=function(e){var t=function(){"string"==typeof e?r().revokeObjectURL(e):e.remove()};setTimeout(t,4e4)},l=function(e,t,r){t=[].concat(t);for(var n=t.length;n--;){var a=e["on"+t[n]];if("function"==typeof a)try{a.call(e,r||e)}catch(e){u(e)}}},h=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e},d=function(t,u,d){d||(t=h(t));var f,p=this,b=t.type,E="application/octet-stream"===b,g=function(){l(p,"writestart progress write writeend".split(" "))};if(p.readyState=p.INIT,a)return f=r().createObjectURL(t),void setTimeout(function(){n.href=f,n.download=u,s(n),g(),c(f),p.readyState=p.DONE});!function(){if((o||E&&i)&&e.FileReader){var n=new FileReader;return n.onloadend=function(){var t=o?n.result:n.result.replace(/^data:[^;]*;/,"data:attachment/file;");e.open(t,"_blank")||(e.location.href=t),t=void 0,p.readyState=p.DONE,g()},n.readAsDataURL(t),void(p.readyState=p.INIT)}if(f||(f=r().createObjectURL(t)),E)e.location.href=f;else{e.open(f,"_blank")||(e.location.href=f)}p.readyState=p.DONE,g(),c(f)}()},f=d.prototype,p=function(e,t,r){return new d(e,t||e.name||"download",r)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,r){return t=t||e.name||"download",r||(e=h(e)),navigator.msSaveOrOpenBlob(e,t)}:(f.abort=function(){},f.readyState=f.INIT=0,f.WRITING=1,f.DONE=2,f.error=f.onwritestart=f.onprogress=f.onwrite=f.onabort=f.onerror=f.onwriteend=null,p)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=pe:"undefined"!=typeof define&&null!==define&&null!==define.amd&&define("FileSaver.js",function(){return pe}),(N.isCordova||N.isMeteorServer||N.isNode)&&console.warn("It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead."),T.utils.saveAs=pe}return new H("alasql"),T.use("alasql"),T});
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.alasql=t()}(this,function(){"use strict";var e={n2u:function(e){return"(y="+e+",y===y?y:undefined)"},und:function(e,t){return"(y="+e+',typeof y=="undefined"?undefined:'+t+")"},returnTrue:function(){return!0},returnUndefined:function(){}};e.global="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:Function("return this")(),e.isNativeFunction=function(e){return"function"==typeof e&&!!~e.toString().indexOf("[native code]")},e.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},e.extend=function(e,t){for(var s in e=e||{},t)t.hasOwnProperty(s)&&(e[s]=t[s]);return e};var t=e.global,s=e.isNativeFunction,l={};l.isWebWorker=function(){try{var e=t.importScripts;return s(e)}catch(e){return!1}}(),l.isNode=function(){try{return s(t.process.reallyExit)}catch(e){return!1}}(),l.isBrowser=function(){try{return s(t.location.reload)}catch(e){return!1}}(),l.isBrowserify=l.isBrowser&&"undefined"!=typeof process&&process.browser,l.isRequireJS=l.isBrowser&&"function"==typeof require&&"function"==typeof require.specified,l.isMeteor="undefined"!=typeof Meteor&&Meteor.release,l.isMeteorClient=l.isMeteor&&Meteor.isClient,l.isMeteorServer=l.isMeteor&&Meteor.isServer,l.isCordova="object"==typeof cordova,l.isReactNative=function(){var e=!1;try{"object"==typeof require("react-native")&&(e=!0)}catch(e){}return e}(),l.hasIndexedDB=!!t.indexedDB,l.isIE=!1,l.findAlaSQLPath=function(){if(l.isWebWorker)return"";if(l.isMeteorClient)return"/packages/dist/";if(l.isMeteorServer)return"assets/packages/dist/";if(l.isNode)return __dirname;if(l.isBrowser)for(var e=document.getElementsByTagName("script"),t=0;t>",right:r[o]});break;case 391:this.$=new a.Op({left:r[o-2],op:"<<",right:r[o]});break;case 392:this.$=new a.Op({left:r[o-2],op:"&",right:r[o]});break;case 393:this.$=new a.Op({left:r[o-2],op:"|",right:r[o]});break;case 394:case 395:case 397:this.$=new a.Op({left:r[o-2],op:"->",right:r[o]});break;case 396:this.$=new a.Op({left:r[o-4],op:"->",right:r[o-1]});break;case 398:case 399:case 401:this.$=new a.Op({left:r[o-2],op:"!",right:r[o]});break;case 400:this.$=new a.Op({left:r[o-4],op:"!",right:r[o-1]});break;case 402:this.$=new a.Op({left:r[o-2],op:">",right:r[o]});break;case 403:this.$=new a.Op({left:r[o-2],op:">=",right:r[o]});break;case 404:this.$=new a.Op({left:r[o-2],op:"<",right:r[o]});break;case 405:this.$=new a.Op({left:r[o-2],op:"<=",right:r[o]});break;case 406:this.$=new a.Op({left:r[o-2],op:"=",right:r[o]});break;case 407:this.$=new a.Op({left:r[o-2],op:"==",right:r[o]});break;case 408:this.$=new a.Op({left:r[o-2],op:"===",right:r[o]});break;case 409:this.$=new a.Op({left:r[o-2],op:"!=",right:r[o]});break;case 410:this.$=new a.Op({left:r[o-2],op:"!==",right:r[o]});break;case 411:this.$=new a.Op({left:r[o-2],op:"!===",right:r[o]});break;case 412:a.queries||(a.queries=[]),this.$=new a.Op({left:r[o-5],op:r[o-4],allsome:r[o-3],right:r[o-1],queriesidx:a.queries.length}),a.queries.push(r[o-1]);break;case 413:this.$=new a.Op({left:r[o-5],op:r[o-4],allsome:r[o-3],right:r[o-1]});break;case 414:"BETWEEN1"==r[o-2].op?"AND"==r[o-2].left.op?this.$=new a.Op({left:r[o-2].left.left,op:"AND",right:new a.Op({left:r[o-2].left.right,op:"BETWEEN",right1:r[o-2].right,right2:r[o]})}):this.$=new a.Op({left:r[o-2].left,op:"BETWEEN",right1:r[o-2].right,right2:r[o]}):"NOT BETWEEN1"==r[o-2].op?"AND"==r[o-2].left.op?this.$=new a.Op({left:r[o-2].left.left,op:"AND",right:new a.Op({left:r[o-2].left.right,op:"NOT BETWEEN",right1:r[o-2].right,right2:r[o]})}):this.$=new a.Op({left:r[o-2].left,op:"NOT BETWEEN",right1:r[o-2].right,right2:r[o]}):this.$=new a.Op({left:r[o-2],op:"AND",right:r[o]});break;case 415:this.$=new a.Op({left:r[o-2],op:"OR",right:r[o]});break;case 416:this.$=new a.UniOp({op:"NOT",right:r[o]});break;case 417:this.$=new a.UniOp({op:"-",right:r[o]});break;case 418:this.$=new a.UniOp({op:"+",right:r[o]});break;case 419:this.$=new a.UniOp({op:"~",right:r[o]});break;case 420:this.$=new a.UniOp({op:"#",right:r[o]});break;case 421:this.$=new a.UniOp({right:r[o-1]});break;case 422:a.queries||(a.queries=[]),this.$=new a.Op({left:r[o-4],op:"IN",right:r[o-1],queriesidx:a.queries.length}),a.queries.push(r[o-1]);break;case 423:a.queries||(a.queries=[]),this.$=new a.Op({left:r[o-5],op:"NOT IN",right:r[o-1],queriesidx:a.queries.length}),a.queries.push(r[o-1]);break;case 424:this.$=new a.Op({left:r[o-4],op:"IN",right:r[o-1]});break;case 425:this.$=new a.Op({left:r[o-5],op:"NOT IN",right:r[o-1]});break;case 426:this.$=new a.Op({left:r[o-3],op:"IN",right:[]});break;case 427:this.$=new a.Op({left:r[o-4],op:"NOT IN",right:[]});break;case 428:case 430:this.$=new a.Op({left:r[o-2],op:"IN",right:r[o]});break;case 429:case 431:this.$=new a.Op({left:r[o-3],op:"NOT IN",right:r[o]});break;case 432:this.$=new a.Op({left:r[o-2],op:"BETWEEN1",right:r[o]});break;case 433:this.$=new a.Op({left:r[o-2],op:"NOT BETWEEN1",right:r[o]});break;case 434:this.$=new a.Op({op:"IS",left:r[o-2],right:r[o]});break;case 435:this.$=new a.Op({op:"IS",left:r[o-2],right:new a.UniOp({op:"NOT",right:new a.NullValue({value:void 0})})});break;case 436:this.$=new a.Convert({expression:r[o-2]}),a.extend(this.$,r[o]);break;case 437:case 438:this.$=r[o];break;case 439:this.$=r[o-1];break;case 446:this.$="ALL";break;case 447:this.$="SOME";break;case 448:this.$="ANY";break;case 449:this.$=new a.Update({table:r[o-4],columns:r[o-2],where:r[o]});break;case 450:this.$=new a.Update({table:r[o-2],columns:r[o]});break;case 453:this.$=new a.SetColumn({column:r[o-2],expression:r[o]});break;case 454:this.$=new a.SetColumn({variable:r[o-2],expression:r[o],method:r[o-3]});break;case 455:this.$=new a.Delete({table:r[o-2],where:r[o]});break;case 456:this.$=new a.Delete({table:r[o]});break;case 457:this.$=new a.Insert({into:r[o-2],values:r[o]});break;case 458:this.$=new a.Insert({into:r[o-1],values:r[o]});break;case 459:case 461:this.$=new a.Insert({into:r[o-2],values:r[o],orreplace:!0});break;case 460:case 462:this.$=new a.Insert({into:r[o-1],values:r[o],orreplace:!0});break;case 463:this.$=new a.Insert({into:r[o-2],default:!0});break;case 464:this.$=new a.Insert({into:r[o-5],columns:r[o-3],values:r[o]});break;case 465:this.$=new a.Insert({into:r[o-4],columns:r[o-2],values:r[o]});break;case 466:this.$=new a.Insert({into:r[o-1],select:r[o]});break;case 467:this.$=new a.Insert({into:r[o-1],select:r[o],orreplace:!0});break;case 468:this.$=new a.Insert({into:r[o-4],columns:r[o-2],select:r[o]});break;case 473:this.$=[r[o-1]];break;case 476:this.$=r[o-4],r[o-4].push(r[o-1]);break;case 477:case 478:case 480:case 488:this.$=r[o-2],r[o-2].push(r[o]);break;case 489:this.$=new a.CreateTable({table:r[o-4]}),a.extend(this.$,r[o-7]),a.extend(this.$,r[o-6]),a.extend(this.$,r[o-5]),a.extend(this.$,r[o-2]),a.extend(this.$,r[o]);break;case 490:this.$=new a.CreateTable({table:r[o]}),a.extend(this.$,r[o-3]),a.extend(this.$,r[o-2]),a.extend(this.$,r[o-1]);break;case 492:this.$={class:!0};break;case 502:this.$={temporary:!0};break;case 504:this.$={ifnotexists:!0};break;case 505:this.$={columns:r[o-2],constraints:r[o]};break;case 506:this.$={columns:r[o]};break;case 507:this.$={as:r[o]};break;case 508:case 532:this.$=[r[o]];break;case 510:case 511:case 512:case 513:case 514:r[o].constraintid=r[o-1],this.$=r[o];break;case 517:this.$={type:"CHECK",expression:r[o-1]};break;case 518:this.$={type:"PRIMARY KEY",columns:r[o-1],clustered:(r[o-3]+"").toUpperCase()};break;case 519:this.$={type:"FOREIGN KEY",columns:r[o-5],fktable:r[o-2],fkcolumns:r[o-1]};break;case 525:this.$={type:"UNIQUE",columns:r[o-1],clustered:(r[o-3]+"").toUpperCase()};break;case 534:this.$=new a.ColumnDef({columnid:r[o-2]}),a.extend(this.$,r[o-1]),a.extend(this.$,r[o]);break;case 535:this.$=new a.ColumnDef({columnid:r[o-1]}),a.extend(this.$,r[o]);break;case 536:this.$=new a.ColumnDef({columnid:r[o],dbtypeid:""});break;case 537:this.$={dbtypeid:r[o-5],dbsize:r[o-3],dbprecision:+r[o-1]};break;case 538:this.$={dbtypeid:r[o-3],dbsize:r[o-1]};break;case 539:this.$={dbtypeid:r[o]};break;case 540:this.$={dbtypeid:"ENUM",enumvalues:r[o-1]};break;case 541:this.$=r[o-1],r[o-1].dbtypeid+="["+r[o]+"]";break;case 543:case 750:this.$=+r[o];break;case 545:this.$=void 0;break;case 547:a.extend(r[o-1],r[o]),this.$=r[o-1];break;case 550:this.$={primarykey:!0};break;case 551:case 552:this.$={foreignkey:{table:r[o-1],columnid:r[o]}};break;case 553:this.$={identity:{value:r[o-3],step:r[o-1]}};break;case 554:this.$={identity:{value:1,step:1}};break;case 555:case 557:this.$={default:r[o]};break;case 556:this.$={default:r[o-1]};break;case 558:this.$={null:!0};break;case 559:this.$={notnull:!0};break;case 560:this.$={check:r[o]};break;case 561:this.$={unique:!0};break;case 562:this.$={onupdate:r[o]};break;case 563:this.$={onupdate:r[o-1]};break;case 564:this.$=new a.DropTable({tables:r[o],type:r[o-2]}),a.extend(this.$,r[o-1]);break;case 568:this.$={ifexists:!0};break;case 569:this.$=new a.AlterTable({table:r[o-3],renameto:r[o]});break;case 570:this.$=new a.AlterTable({table:r[o-3],addcolumn:r[o]});break;case 571:this.$=new a.AlterTable({table:r[o-3],modifycolumn:r[o]});break;case 572:this.$=new a.AlterTable({table:r[o-5],renamecolumn:r[o-2],to:r[o]});break;case 573:this.$=new a.AlterTable({table:r[o-3],dropcolumn:r[o]});break;case 574:this.$=new a.AlterTable({table:r[o-2],renameto:r[o]});break;case 575:this.$=new a.AttachDatabase({databaseid:r[o],engineid:r[o-2].toUpperCase()});break;case 576:this.$=new a.AttachDatabase({databaseid:r[o-3],engineid:r[o-5].toUpperCase(),args:r[o-1]});break;case 577:this.$=new a.AttachDatabase({databaseid:r[o-2],engineid:r[o-4].toUpperCase(),as:r[o]});break;case 578:this.$=new a.AttachDatabase({databaseid:r[o-5],engineid:r[o-7].toUpperCase(),as:r[o],args:r[o-3]});break;case 579:this.$=new a.DetachDatabase({databaseid:r[o]});break;case 580:this.$=new a.CreateDatabase({databaseid:r[o]}),a.extend(this.$,r[o]);break;case 581:this.$=new a.CreateDatabase({engineid:r[o-4].toUpperCase(),databaseid:r[o-1],as:r[o]}),a.extend(this.$,r[o-2]);break;case 582:this.$=new a.CreateDatabase({engineid:r[o-7].toUpperCase(),databaseid:r[o-4],args:r[o-2],as:r[o]}),a.extend(this.$,r[o-5]);break;case 583:this.$=new a.CreateDatabase({engineid:r[o-4].toUpperCase(),as:r[o],args:[r[o-1]]}),a.extend(this.$,r[o-2]);break;case 584:this.$=void 0;break;case 586:case 587:this.$=new a.UseDatabase({databaseid:r[o]});break;case 588:this.$=new a.DropDatabase({databaseid:r[o]}),a.extend(this.$,r[o-1]);break;case 589:case 590:this.$=new a.DropDatabase({databaseid:r[o],engineid:r[o-3].toUpperCase()}),a.extend(this.$,r[o-1]);break;case 591:this.$=new a.CreateIndex({indexid:r[o-5],table:r[o-3],columns:r[o-1]});break;case 592:this.$=new a.CreateIndex({indexid:r[o-5],table:r[o-3],columns:r[o-1],unique:!0});break;case 593:this.$=new a.DropIndex({indexid:r[o]});break;case 594:this.$=new a.ShowDatabases;break;case 595:this.$=new a.ShowDatabases({like:r[o]});break;case 596:this.$=new a.ShowDatabases({engineid:r[o-1].toUpperCase()});break;case 597:this.$=new a.ShowDatabases({engineid:r[o-3].toUpperCase(),like:r[o]});break;case 598:this.$=new a.ShowTables;break;case 599:this.$=new a.ShowTables({like:r[o]});break;case 600:this.$=new a.ShowTables({databaseid:r[o]});break;case 601:this.$=new a.ShowTables({like:r[o],databaseid:r[o-2]});break;case 602:this.$=new a.ShowColumns({table:r[o]});break;case 603:this.$=new a.ShowColumns({table:r[o-2],databaseid:r[o]});break;case 604:this.$=new a.ShowIndex({table:r[o]});break;case 605:this.$=new a.ShowIndex({table:r[o-2],databaseid:r[o]});break;case 606:this.$=new a.ShowCreateTable({table:r[o]});break;case 607:this.$=new a.ShowCreateTable({table:r[o-2],databaseid:r[o]});break;case 608:this.$=new a.CreateTable({table:r[o-6],view:!0,select:r[o-1],viewcolumns:r[o-4]}),a.extend(this.$,r[o-9]),a.extend(this.$,r[o-7]);break;case 609:this.$=new a.CreateTable({table:r[o-3],view:!0,select:r[o-1]}),a.extend(this.$,r[o-6]),a.extend(this.$,r[o-4]);break;case 613:this.$=new a.DropTable({tables:r[o],view:!0}),a.extend(this.$,r[o-1]);break;case 614:case 760:this.$=new a.ExpressionStatement({expression:r[o]});break;case 615:this.$=new a.Source({url:r[o].value});break;case 616:this.$=new a.Assert({value:r[o]});break;case 617:this.$=new a.Assert({value:r[o].value});break;case 618:this.$=new a.Assert({value:r[o],message:r[o-2]});break;case 620:case 631:case 633:this.$=r[o].value;break;case 621:case 629:this.$=+r[o].value;break;case 622:this.$=!!r[o].value;break;case 630:this.$=""+r[o].value;break;case 639:this.$={};break;case 642:this.$=[];break;case 643:a.extend(r[o-2],r[o]),this.$=r[o-2];break;case 645:this.$={},this.$[r[o-2].substr(1,r[o-2].length-2)]=r[o];break;case 646:case 647:this.$={},this.$[r[o-2]]=r[o];break;case 650:this.$=new a.SetVariable({variable:r[o-2].toLowerCase(),value:r[o]});break;case 651:this.$=new a.SetVariable({variable:r[o-1].toLowerCase(),value:r[o]});break;case 652:this.$=new a.SetVariable({variable:r[o-2],expression:r[o]});break;case 653:this.$=new a.SetVariable({variable:r[o-3],props:r[o-2],expression:r[o]});break;case 654:this.$=new a.SetVariable({variable:r[o-2],expression:r[o],method:r[o-3]});break;case 655:this.$=new a.SetVariable({variable:r[o-3],props:r[o-2],expression:r[o],method:r[o-4]});break;case 656:this.$="@";break;case 657:this.$="$";break;case 663:this.$=!0;break;case 664:this.$=!1;break;case 665:this.$=new a.CommitTransaction;break;case 666:this.$=new a.RollbackTransaction;break;case 667:this.$=new a.BeginTransaction;break;case 668:this.$=new a.If({expression:r[o-2],thenstat:r[o-1],elsestat:r[o]}),r[o-1].exists&&(this.$.exists=r[o-1].exists),r[o-1].queries&&(this.$.queries=r[o-1].queries);break;case 669:this.$=new a.If({expression:r[o-1],thenstat:r[o]}),r[o].exists&&(this.$.exists=r[o].exists),r[o].queries&&(this.$.queries=r[o].queries);break;case 670:this.$=r[o];break;case 671:this.$=new a.While({expression:r[o-1],loopstat:r[o]}),r[o].exists&&(this.$.exists=r[o].exists),r[o].queries&&(this.$.queries=r[o].queries);break;case 672:this.$=new a.Continue;break;case 673:this.$=new a.Break;break;case 674:this.$=new a.BeginEnd({statements:r[o-1]});break;case 675:this.$=new a.Print({exprs:r[o]});break;case 676:this.$=new a.Print({select:r[o]});break;case 677:this.$=new a.Require({paths:r[o]});break;case 678:this.$=new a.Require({plugins:r[o]});break;case 679:case 680:this.$=r[o].toUpperCase();break;case 681:this.$=new a.Echo({expr:r[o]});break;case 686:this.$=new a.Declare({declares:r[o]});break;case 689:this.$={variable:r[o-1]},a.extend(this.$,r[o]);break;case 690:this.$={variable:r[o-2]},a.extend(this.$,r[o]);break;case 691:this.$={variable:r[o-3],expression:r[o]},a.extend(this.$,r[o-2]);break;case 692:this.$={variable:r[o-4],expression:r[o]},a.extend(this.$,r[o-2]);break;case 693:this.$=new a.TruncateTable({table:r[o]});break;case 694:this.$=new a.Merge,a.extend(this.$,r[o-4]),a.extend(this.$,r[o-3]),a.extend(this.$,r[o-2]),a.extend(this.$,{matches:r[o-1]}),a.extend(this.$,r[o]);break;case 695:case 696:this.$={into:r[o]};break;case 698:this.$={on:r[o]};break;case 703:this.$={matched:!0,action:r[o]};break;case 704:this.$={matched:!0,expr:r[o-2],action:r[o]};break;case 705:this.$={delete:!0};break;case 706:this.$={update:r[o]};break;case 707:case 708:this.$={matched:!1,bytarget:!0,action:r[o]};break;case 709:case 710:this.$={matched:!1,bytarget:!0,expr:r[o-2],action:r[o]};break;case 711:this.$={matched:!1,bysource:!0,action:r[o]};break;case 712:this.$={matched:!1,bysource:!0,expr:r[o-2],action:r[o]};break;case 713:this.$={insert:!0,values:r[o]};break;case 714:this.$={insert:!0,values:r[o],columns:r[o-3]};break;case 715:this.$={insert:!0,defaultvalues:!0};break;case 716:this.$={insert:!0,defaultvalues:!0,columns:r[o-3]};break;case 718:this.$={output:{columns:r[o]}};break;case 719:this.$={output:{columns:r[o-3],intovar:r[o],method:r[o-1]}};break;case 720:this.$={output:{columns:r[o-2],intotable:r[o]}};break;case 721:this.$={output:{columns:r[o-5],intotable:r[o-3],intocolumns:r[o-1]}};break;case 722:this.$=new a.CreateVertex({class:r[o-3],sharp:r[o-2],name:r[o-1]}),a.extend(this.$,r[o]);break;case 725:this.$={sets:r[o]};break;case 726:this.$={content:r[o]};break;case 727:this.$={select:r[o]};break;case 728:this.$=new a.CreateEdge({from:r[o-3],to:r[o-1],name:r[o-5]}),a.extend(this.$,r[o]);break;case 729:this.$=new a.CreateGraph({graph:r[o]});break;case 730:this.$=new a.CreateGraph({from:r[o]});break;case 733:this.$=r[o-2],r[o-1]&&(this.$.json=new a.Json({value:r[o-1]})),r[o]&&(this.$.as=r[o]);break;case 734:this.$={source:r[o-6],target:r[o]},r[o-3]&&(this.$.json=new a.Json({value:r[o-3]})),r[o-2]&&(this.$.as=r[o-2]),a.extend(this.$,r[o-4]);break;case 735:this.$={source:r[o-5],target:r[o]},r[o-2]&&(this.$.json=new a.Json({value:r[o-3]})),r[o-1]&&(this.$.as=r[o-2]);break;case 736:this.$={source:r[o-2],target:r[o]};break;case 740:this.$={vars:r[o],method:r[o-1]};break;case 743:case 744:var p=r[o-1];this.$={prop:r[o-3],sharp:r[o-2],name:void 0===p?void 0:p.substr(1,p.length-2),class:r[o]};break;case 745:var b=r[o-1];this.$={sharp:r[o-2],name:void 0===b?void 0:b.substr(1,b.length-2),class:r[o]};break;case 746:var T=r[o-1];this.$={name:void 0===T?void 0:T.substr(1,T.length-2),class:r[o]};break;case 747:this.$={class:r[o]};break;case 753:this.$=new a.AddRule({left:r[o-2],right:r[o]});break;case 754:this.$=new a.AddRule({right:r[o]});break;case 757:this.$=new a.Term({termid:r[o]});break;case 758:this.$=new a.Term({termid:r[o-3],args:r[o-1]});break;case 761:this.$=new a.CreateTrigger({trigger:r[o-6],when:r[o-5],action:r[o-4],table:r[o-2],statement:r[o]}),r[o].exists&&(this.$.exists=r[o].exists),r[o].queries&&(this.$.queries=r[o].queries);break;case 762:this.$=new a.CreateTrigger({trigger:r[o-5],when:r[o-4],action:r[o-3],table:r[o-1],funcid:r[o]});break;case 763:this.$=new a.CreateTrigger({trigger:r[o-6],when:r[o-4],action:r[o-3],table:r[o-5],statement:r[o]}),r[o].exists&&(this.$.exists=r[o].exists),r[o].queries&&(this.$.queries=r[o].queries);break;case 764:case 765:case 767:this.$="AFTER";break;case 766:this.$="BEFORE";break;case 768:this.$="INSTEADOF";break;case 769:this.$="INSERT";break;case 770:this.$="DELETE";break;case 771:this.$="UPDATE";break;case 772:this.$=new a.DropTrigger({trigger:r[o]});break;case 773:this.$=new a.Reindex({indexid:r[o]});break;case 1047:case 1067:case 1069:case 1071:case 1075:case 1077:case 1079:case 1081:case 1083:case 1085:this.$=[];break;case 1048:case 1062:case 1064:case 1068:case 1070:case 1072:case 1076:case 1078:case 1080:case 1082:case 1084:case 1086:r[o-1].push(r[o]);break;case 1061:case 1063:this.$=[r[o]]}},table:[e([10,602,764],t,{8:1,9:2,12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,2:s,4:a,5:i,14:r,53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),{1:[3]},{10:[1,105],11:106,602:H,764:Y},e(j,[2,8]),e(j,[2,9]),e(J,[2,12]),e(j,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:109,2:s,4:a,5:i,15:[1,110],53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),e(J,[2,14]),e(J,[2,15]),e(J,[2,16]),e(J,[2,17]),e(J,[2,18]),e(J,[2,19]),e(J,[2,20]),e(J,[2,21]),e(J,[2,22]),e(J,[2,23]),e(J,[2,24]),e(J,[2,25]),e(J,[2,26]),e(J,[2,27]),e(J,[2,28]),e(J,[2,29]),e(J,[2,30]),e(J,[2,31]),e(J,[2,32]),e(J,[2,33]),e(J,[2,34]),e(J,[2,35]),e(J,[2,36]),e(J,[2,37]),e(J,[2,38]),e(J,[2,39]),e(J,[2,40]),e(J,[2,41]),e(J,[2,42]),e(J,[2,43]),e(J,[2,44]),e(J,[2,45]),e(J,[2,46]),e(J,[2,47]),e(J,[2,48]),e(J,[2,49]),e(J,[2,50]),e(J,[2,51]),e(J,[2,52]),e(J,[2,53]),e(J,[2,54]),e(J,[2,55]),e(J,[2,56]),e(J,[2,57]),e(J,[2,58]),e(J,[2,59]),e(J,[2,60]),e(J,[2,61]),e(J,[2,62]),e(J,[2,63]),e(J,[2,64]),e(J,[2,65]),e(J,[2,66]),e(J,[2,67]),{353:[1,111]},{2:s,3:112,4:a,5:i},{2:s,3:114,4:a,5:i,156:X,200:113,290:K,291:W,292:Q,293:z},e(Z,[2,501],{3:121,348:125,2:s,4:a,5:i,134:ee,135:te,187:[1,123],193:[1,122],268:[1,129],269:[1,130],357:[1,131],405:[1,120],472:[1,124],509:[1,128]}),{145:se,449:132,450:133},{183:[1,135]},{405:[1,136]},{2:s,3:138,4:a,5:i,130:[1,144],193:[1,139],353:[1,143],397:140,405:[1,137],410:[1,141],509:[1,142]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:145,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Ge,Fe,{340:204,171:[1,205],198:Ve}),e(Ge,Fe,{340:207,198:Ve}),{2:s,3:219,4:a,5:i,77:Be,132:He,143:oe,144:212,145:ce,152:le,156:X,181:fe,198:[1,210],199:213,200:215,201:214,202:217,209:209,213:Ye,214:218,290:K,291:W,292:Q,293:z,302:xe,419:190,420:Pe,424:qe,453:208},{2:s,3:221,4:a,5:i},{353:[1,222]},e(je,[2,1043],{80:223,106:224,107:[1,225]}),e(Je,[2,1047],{90:226}),{2:s,3:230,4:a,5:i,190:[1,228],193:[1,231],267:[1,227],353:[1,232],405:[1,229]},{353:[1,233]},{2:s,3:236,4:a,5:i,73:234,75:235},e([306,602,764],t,{12:3,13:4,17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,9:238,2:s,4:a,5:i,14:r,53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,435:[1,237],436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),{435:[1,239]},{435:[1,240]},{2:s,3:242,4:a,5:i,405:[1,241]},{2:s,3:244,4:a,5:i,199:243},e(Xe,[2,311]),{113:245,132:re,296:Le},{2:s,3:114,4:a,5:i,113:251,131:ie,132:[1,248],143:oe,144:246,145:Ke,152:le,156:X,181:fe,196:250,200:255,201:254,257:252,258:253,265:We,274:247,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,302:xe,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:257,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(J,[2,672]),e(J,[2,673]),{2:s,3:168,4:a,5:i,40:259,56:165,77:ae,79:75,89:c,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:258,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,184:99,189:E,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:266,4:a,5:i,113:263,132:re,296:Le,444:261,445:262,446:264,447:Qe},{2:s,3:267,4:a,5:i,143:ze,145:Ze,431:268},{2:s,3:168,4:a,5:i,56:165,77:ae,94:271,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{505:[1,272]},{2:s,3:100,4:a,5:i,504:274,506:273},{2:s,3:114,4:a,5:i,156:X,200:275,290:K,291:W,292:Q,293:z},{2:s,3:168,4:a,5:i,56:165,77:ae,94:276,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(et,tt,{186:280,164:[1,279],185:[1,277],187:[1,278],195:st}),e(at,[2,757],{77:[1,282]}),e([2,4,5,10,72,77,78,93,98,107,118,128,131,132,137,143,145,152,154,156,162,164,168,169,179,180,181,183,185,187,195,198,232,245,247,265,266,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,302,303,306,310,312,317,420,424,602,764],[2,152],{149:[1,283],150:[1,284],190:[1,285],191:[1,286],192:[1,287],193:[1,288],194:[1,289]}),e(it,[2,1]),e(it,[2,2]),{6:290,131:[1,439],172:[1,462],245:[1,411],285:[1,373],286:[1,407],370:[1,404],381:[1,295],402:[1,297],410:[1,549],414:[1,471],416:[1,443],417:[1,509],433:[1,442],435:[1,525],440:[1,342],460:[1,418],464:[1,448],470:[1,341],514:[1,307],515:[1,299],516:[1,399],518:[1,291],519:[1,292],520:[1,293],521:[1,294],522:[1,296],523:[1,298],524:[1,300],525:[1,301],526:[1,302],527:[1,303],528:[1,304],529:[1,305],530:[1,306],531:[1,308],532:[1,309],533:[1,310],534:[1,311],535:[1,312],536:[1,313],537:[1,314],538:[1,315],539:[1,316],540:[1,317],541:[1,318],542:[1,319],543:[1,320],544:[1,321],545:[1,322],546:[1,323],547:[1,324],548:[1,325],549:[1,326],550:[1,327],551:[1,328],552:[1,329],553:[1,330],554:[1,331],555:[1,332],556:[1,333],557:[1,334],558:[1,335],559:[1,336],560:[1,337],561:[1,338],562:[1,339],563:[1,340],564:[1,343],565:[1,344],566:[1,345],567:[1,346],568:[1,347],569:[1,348],570:[1,349],571:[1,350],572:[1,351],573:[1,352],574:[1,353],575:[1,354],576:[1,355],577:[1,356],578:[1,357],579:[1,358],580:[1,359],581:[1,360],582:[1,361],583:[1,362],584:[1,363],585:[1,364],586:[1,365],587:[1,366],588:[1,367],589:[1,368],590:[1,369],591:[1,370],592:[1,371],593:[1,372],594:[1,374],595:[1,375],596:[1,376],597:[1,377],598:[1,378],599:[1,379],600:[1,380],601:[1,381],602:[1,382],603:[1,383],604:[1,384],605:[1,385],606:[1,386],607:[1,387],608:[1,388],609:[1,389],610:[1,390],611:[1,391],612:[1,392],613:[1,393],614:[1,394],615:[1,395],616:[1,396],617:[1,397],618:[1,398],619:[1,400],620:[1,401],621:[1,402],622:[1,403],623:[1,405],624:[1,406],625:[1,408],626:[1,409],627:[1,410],628:[1,412],629:[1,413],630:[1,414],631:[1,415],632:[1,416],633:[1,417],634:[1,419],635:[1,420],636:[1,421],637:[1,422],638:[1,423],639:[1,424],640:[1,425],641:[1,426],642:[1,427],643:[1,428],644:[1,429],645:[1,430],646:[1,431],647:[1,432],648:[1,433],649:[1,434],650:[1,435],651:[1,436],652:[1,437],653:[1,438],654:[1,440],655:[1,441],656:[1,444],657:[1,445],658:[1,446],659:[1,447],660:[1,449],661:[1,450],662:[1,451],663:[1,452],664:[1,453],665:[1,454],666:[1,455],667:[1,456],668:[1,457],669:[1,458],670:[1,459],671:[1,460],672:[1,461],673:[1,463],674:[1,464],675:[1,465],676:[1,466],677:[1,467],678:[1,468],679:[1,469],680:[1,470],681:[1,472],682:[1,473],683:[1,474],684:[1,475],685:[1,476],686:[1,477],687:[1,478],688:[1,479],689:[1,480],690:[1,481],691:[1,482],692:[1,483],693:[1,484],694:[1,485],695:[1,486],696:[1,487],697:[1,488],698:[1,489],699:[1,490],700:[1,491],701:[1,492],702:[1,493],703:[1,494],704:[1,495],705:[1,496],706:[1,497],707:[1,498],708:[1,499],709:[1,500],710:[1,501],711:[1,502],712:[1,503],713:[1,504],714:[1,505],715:[1,506],716:[1,507],717:[1,508],718:[1,510],719:[1,511],720:[1,512],721:[1,513],722:[1,514],723:[1,515],724:[1,516],725:[1,517],726:[1,518],727:[1,519],728:[1,520],729:[1,521],730:[1,522],731:[1,523],732:[1,524],733:[1,526],734:[1,527],735:[1,528],736:[1,529],737:[1,530],738:[1,531],739:[1,532],740:[1,533],741:[1,534],742:[1,535],743:[1,536],744:[1,537],745:[1,538],746:[1,539],747:[1,540],748:[1,541],749:[1,542],750:[1,543],751:[1,544],752:[1,545],753:[1,546],754:[1,547],755:[1,548],756:[1,550],757:[1,551],758:[1,552],759:[1,553],760:[1,554],761:[1,555],762:[1,556],763:[1,557]},{1:[2,6]},e(j,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:558,2:s,4:a,5:i,53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),e(rt,[2,1041]),e(rt,[2,1042]),e(j,[2,10]),{16:[1,559]},{2:s,3:244,4:a,5:i,199:560},{405:[1,561]},e(J,[2,760]),{77:nt},{77:[1,563]},{77:ot},{77:[1,565]},{77:[1,566]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:567,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Ge,ct,{350:568,156:ut}),{405:[1,570]},{2:s,3:571,4:a,5:i},{193:[1,572]},{2:s,3:578,4:a,5:i,132:lt,137:ht,143:ze,145:Ze,152:Et,183:[1,574],431:585,473:573,474:575,475:576,478:577,482:582,493:579,497:581},{130:[1,589],349:586,353:[1,588],410:[1,587]},{113:591,132:re,183:[2,1141],296:Le,471:590},e(dt,[2,1135],{465:592,3:593,2:s,4:a,5:i}),{2:s,3:594,4:a,5:i},{4:[1,595]},{4:[1,596]},e(Z,[2,502]),e(J,[2,686],{74:[1,597]}),e(ft,[2,687]),{2:s,3:598,4:a,5:i},{2:s,3:244,4:a,5:i,199:599},{2:s,3:600,4:a,5:i},e(Ge,pt,{398:601,156:bt}),{405:[1,603]},{2:s,3:604,4:a,5:i},e(Ge,pt,{398:605,156:bt}),e(Ge,pt,{398:606,156:bt}),{2:s,3:607,4:a,5:i},e(Tt,[2,1129]),e(Tt,[2,1130]),e(J,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:608,114:625,327:637,2:s,4:a,5:i,53:n,72:o,89:c,99:gt,112:At,115:St,116:mt,123:Nt,124:Rt,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,146:l,154:$t,156:h,170:wt,171:Dt,179:xt,180:Mt,189:E,266:d,267:f,290:p,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),e(Xe,[2,288]),e(Xe,[2,289]),e(Xe,[2,290]),e(Xe,[2,291]),e(Xe,[2,292]),e(Xe,[2,293]),e(Xe,[2,294]),e(Xe,[2,295]),e(Xe,[2,296]),e(Xe,[2,297]),e(Xe,[2,298]),e(Xe,[2,299]),e(Xe,[2,300]),e(Xe,[2,301]),e(Xe,[2,302]),e(Xe,[2,303]),e(Xe,[2,304]),e(Xe,[2,305]),{2:s,3:168,4:a,5:i,26:654,27:653,36:649,40:648,56:165,77:ae,79:75,89:c,94:651,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,184:99,189:E,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,264:650,265:pe,266:d,267:[1,655],270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:[1,652],291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,339:g,419:190,420:Pe,424:qe},e(Xe,[2,309]),e(Xe,[2,310]),{77:[1,656]},e([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],ts,{77:nt,116:[1,657]}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:658,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:659,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:660,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:661,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:662,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Xe,[2,283]),e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,249,265,266,267,270,271,273,280,281,282,283,284,285,286,287,288,290,291,292,293,294,295,296,297,298,299,300,302,303,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,415,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764,765,766],[2,356]),e(ss,[2,357]),e(ss,[2,358]),e(ss,as),e(ss,[2,360]),e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,361]),{2:s,3:664,4:a,5:i,131:[1,665],301:663},{2:s,3:666,4:a,5:i},e(ss,[2,367]),e(ss,[2,368]),{2:s,3:667,4:a,5:i,77:is,113:669,131:ie,132:re,143:oe,152:le,181:fe,196:670,201:672,257:671,294:ve,295:ke,296:Le,302:xe,419:673,424:qe},{77:[1,674]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:675,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,304:676,307:677,308:rs,312:Ue,317:_e,419:190,420:Pe,424:qe},{77:[1,679]},{77:[1,680]},e(ns,[2,624]),{2:s,3:695,4:a,5:i,77:os,111:690,113:688,131:ie,132:re,143:oe,144:685,145:Ke,152:le,156:X,181:fe,196:687,200:693,201:692,257:689,258:691,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,300:[1,683],302:xe,419:190,420:Pe,421:681,422:684,423:686,424:qe,427:682},{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:696,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:697,4:a,5:i,156:X,200:698,290:K,291:W,292:Q,293:z},{77:[2,336]},{77:[2,337]},{77:[2,338]},{77:[2,339]},{77:[2,340]},{77:[2,341]},{77:[2,342]},{77:[2,343]},{77:[2,344]},{2:s,3:704,4:a,5:i,131:cs,132:us,425:699,426:[1,700],428:701},{2:s,3:244,4:a,5:i,199:705},{290:[1,706]},e(Ge,[2,472]),{2:s,3:244,4:a,5:i,199:707},{231:[1,709],454:708},{231:[2,695]},{2:s,3:219,4:a,5:i,77:Be,132:He,143:oe,144:212,145:ce,152:le,156:X,181:fe,199:213,200:215,201:214,202:217,209:710,213:Ye,214:218,290:K,291:W,292:Q,293:z,302:xe,419:190,420:Pe,424:qe},{40:711,79:75,89:c,184:99,189:E},e(ls,[2,1091],{210:712,76:[1,713]}),e(hs,[2,185],{3:714,2:s,4:a,5:i,76:[1,715],154:[1,716]}),e(hs,[2,189],{3:717,2:s,4:a,5:i,76:[1,718]}),e(hs,[2,190],{3:719,2:s,4:a,5:i,76:[1,720]}),e(hs,[2,193]),e(hs,[2,194],{3:721,2:s,4:a,5:i,76:[1,722]}),e(hs,[2,197],{3:723,2:s,4:a,5:i,76:[1,724]}),e([2,4,5,10,72,74,76,78,93,98,118,128,154,162,168,169,183,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],Es,{77:nt,116:ds}),e([2,4,5,10,72,74,76,78,93,98,118,128,162,168,169,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,306,310,602,764],[2,200]),e(J,[2,773]),{2:s,3:244,4:a,5:i,199:726},e(fs,ps,{81:727,198:bs}),e(je,[2,1044]),e(Ts,[2,1057],{108:729,190:[1,730]}),e([10,78,183,306,310,602,764],ps,{419:190,81:731,117:732,3:733,114:736,144:758,158:768,160:769,2:s,4:a,5:i,72:gs,76:As,77:Ss,112:ms,115:St,116:mt,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,198:bs,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,420:Pe,424:qe}),{353:[1,782]},{183:[1,783]},e(J,[2,594],{112:[1,784]}),{405:[1,785]},{183:[1,786]},e(J,[2,598],{112:[1,787],183:[1,788]}),{2:s,3:244,4:a,5:i,199:789},{40:790,74:[1,791],79:75,89:c,184:99,189:E},e(ca,[2,70]),{76:[1,792]},e(J,[2,667]),{11:106,306:[1,793],602:H,764:Y},e(J,[2,665]),e(J,[2,666]),{2:s,3:794,4:a,5:i},e(J,[2,587]),{146:[1,795]},e([2,4,5,10,53,72,74,76,77,78,89,95,124,128,143,145,146,148,149,152,154,156,181,183,187,189,230,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],Es,{116:ds}),e(J,[2,615]),e(J,[2,616]),e(J,[2,617]),e(J,as,{74:[1,796]}),{77:is,113:669,131:ie,132:re,143:oe,152:le,181:fe,196:670,201:672,257:671,294:ve,295:ke,296:Le,302:xe,419:673,424:qe},e(ua,[2,320]),e(ua,[2,321]),e(ua,[2,322]),e(ua,[2,323]),e(ua,[2,324]),e(ua,[2,325]),e(ua,[2,326]),e(J,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,114:625,327:637,12:797,2:s,4:a,5:i,53:n,72:o,89:c,99:gt,112:At,115:St,116:mt,123:Nt,124:Rt,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,146:l,154:$t,156:h,170:wt,171:Dt,179:xt,180:Mt,189:E,266:d,267:f,290:p,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),e(J,[2,675],{74:la}),e(J,[2,676]),e(ha,[2,354],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(J,[2,677],{74:[1,800]}),e(J,[2,678],{74:[1,801]}),e(ft,[2,683]),e(ft,[2,685]),e(ft,[2,679]),e(ft,[2,680]),{114:807,115:St,116:mt,124:[1,802],230:da,429:803,430:804,433:fa},{2:s,3:808,4:a,5:i},e(Ge,[2,656]),e(Ge,[2,657]),e(J,[2,614],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:100,4:a,5:i,504:274,506:809},e(J,[2,754],{74:pa}),e(ba,[2,756]),e(J,[2,759]),e(J,[2,681],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(Ta,tt,{186:811,195:st}),e(Ta,tt,{186:812,195:st}),e(Ta,tt,{186:813,195:st}),e(ga,[2,1087],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,188:814,174:815,253:816,94:817,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),{77:[1,819],131:ie,196:818},{2:s,3:100,4:a,5:i,504:274,506:820},e(Aa,[2,153]),e(Aa,[2,154]),e(Aa,[2,155]),e(Aa,[2,156]),e(Aa,[2,157]),e(Aa,[2,158]),e(Aa,[2,159]),e(it,[2,3]),e(it,[2,774]),e(it,[2,775]),e(it,[2,776]),e(it,[2,777]),e(it,[2,778]),e(it,[2,779]),e(it,[2,780]),e(it,[2,781]),e(it,[2,782]),e(it,[2,783]),e(it,[2,784]),e(it,[2,785]),e(it,[2,786]),e(it,[2,787]),e(it,[2,788]),e(it,[2,789]),e(it,[2,790]),e(it,[2,791]),e(it,[2,792]),e(it,[2,793]),e(it,[2,794]),e(it,[2,795]),e(it,[2,796]),e(it,[2,797]),e(it,[2,798]),e(it,[2,799]),e(it,[2,800]),e(it,[2,801]),e(it,[2,802]),e(it,[2,803]),e(it,[2,804]),e(it,[2,805]),e(it,[2,806]),e(it,[2,807]),e(it,[2,808]),e(it,[2,809]),e(it,[2,810]),e(it,[2,811]),e(it,[2,812]),e(it,[2,813]),e(it,[2,814]),e(it,[2,815]),e(it,[2,816]),e(it,[2,817]),e(it,[2,818]),e(it,[2,819]),e(it,[2,820]),e(it,[2,821]),e(it,[2,822]),e(it,[2,823]),e(it,[2,824]),e(it,[2,825]),e(it,[2,826]),e(it,[2,827]),e(it,[2,828]),e(it,[2,829]),e(it,[2,830]),e(it,[2,831]),e(it,[2,832]),e(it,[2,833]),e(it,[2,834]),e(it,[2,835]),e(it,[2,836]),e(it,[2,837]),e(it,[2,838]),e(it,[2,839]),e(it,[2,840]),e(it,[2,841]),e(it,[2,842]),e(it,[2,843]),e(it,[2,844]),e(it,[2,845]),e(it,[2,846]),e(it,[2,847]),e(it,[2,848]),e(it,[2,849]),e(it,[2,850]),e(it,[2,851]),e(it,[2,852]),e(it,[2,853]),e(it,[2,854]),e(it,[2,855]),e(it,[2,856]),e(it,[2,857]),e(it,[2,858]),e(it,[2,859]),e(it,[2,860]),e(it,[2,861]),e(it,[2,862]),e(it,[2,863]),e(it,[2,864]),e(it,[2,865]),e(it,[2,866]),e(it,[2,867]),e(it,[2,868]),e(it,[2,869]),e(it,[2,870]),e(it,[2,871]),e(it,[2,872]),e(it,[2,873]),e(it,[2,874]),e(it,[2,875]),e(it,[2,876]),e(it,[2,877]),e(it,[2,878]),e(it,[2,879]),e(it,[2,880]),e(it,[2,881]),e(it,[2,882]),e(it,[2,883]),e(it,[2,884]),e(it,[2,885]),e(it,[2,886]),e(it,[2,887]),e(it,[2,888]),e(it,[2,889]),e(it,[2,890]),e(it,[2,891]),e(it,[2,892]),e(it,[2,893]),e(it,[2,894]),e(it,[2,895]),e(it,[2,896]),e(it,[2,897]),e(it,[2,898]),e(it,[2,899]),e(it,[2,900]),e(it,[2,901]),e(it,[2,902]),e(it,[2,903]),e(it,[2,904]),e(it,[2,905]),e(it,[2,906]),e(it,[2,907]),e(it,[2,908]),e(it,[2,909]),e(it,[2,910]),e(it,[2,911]),e(it,[2,912]),e(it,[2,913]),e(it,[2,914]),e(it,[2,915]),e(it,[2,916]),e(it,[2,917]),e(it,[2,918]),e(it,[2,919]),e(it,[2,920]),e(it,[2,921]),e(it,[2,922]),e(it,[2,923]),e(it,[2,924]),e(it,[2,925]),e(it,[2,926]),e(it,[2,927]),e(it,[2,928]),e(it,[2,929]),e(it,[2,930]),e(it,[2,931]),e(it,[2,932]),e(it,[2,933]),e(it,[2,934]),e(it,[2,935]),e(it,[2,936]),e(it,[2,937]),e(it,[2,938]),e(it,[2,939]),e(it,[2,940]),e(it,[2,941]),e(it,[2,942]),e(it,[2,943]),e(it,[2,944]),e(it,[2,945]),e(it,[2,946]),e(it,[2,947]),e(it,[2,948]),e(it,[2,949]),e(it,[2,950]),e(it,[2,951]),e(it,[2,952]),e(it,[2,953]),e(it,[2,954]),e(it,[2,955]),e(it,[2,956]),e(it,[2,957]),e(it,[2,958]),e(it,[2,959]),e(it,[2,960]),e(it,[2,961]),e(it,[2,962]),e(it,[2,963]),e(it,[2,964]),e(it,[2,965]),e(it,[2,966]),e(it,[2,967]),e(it,[2,968]),e(it,[2,969]),e(it,[2,970]),e(it,[2,971]),e(it,[2,972]),e(it,[2,973]),e(it,[2,974]),e(it,[2,975]),e(it,[2,976]),e(it,[2,977]),e(it,[2,978]),e(it,[2,979]),e(it,[2,980]),e(it,[2,981]),e(it,[2,982]),e(it,[2,983]),e(it,[2,984]),e(it,[2,985]),e(it,[2,986]),e(it,[2,987]),e(it,[2,988]),e(it,[2,989]),e(it,[2,990]),e(it,[2,991]),e(it,[2,992]),e(it,[2,993]),e(it,[2,994]),e(it,[2,995]),e(it,[2,996]),e(it,[2,997]),e(it,[2,998]),e(it,[2,999]),e(it,[2,1e3]),e(it,[2,1001]),e(it,[2,1002]),e(it,[2,1003]),e(it,[2,1004]),e(it,[2,1005]),e(it,[2,1006]),e(it,[2,1007]),e(it,[2,1008]),e(it,[2,1009]),e(it,[2,1010]),e(it,[2,1011]),e(it,[2,1012]),e(it,[2,1013]),e(it,[2,1014]),e(it,[2,1015]),e(it,[2,1016]),e(it,[2,1017]),e(it,[2,1018]),e(it,[2,1019]),e(it,[2,1020]),e(it,[2,1021]),e(it,[2,1022]),e(it,[2,1023]),e(it,[2,1024]),e(it,[2,1025]),e(it,[2,1026]),e(it,[2,1027]),e(it,[2,1028]),e(it,[2,1029]),e(it,[2,1030]),e(it,[2,1031]),e(it,[2,1032]),e(it,[2,1033]),e(it,[2,1034]),e(it,[2,1035]),e(it,[2,1036]),e(it,[2,1037]),e(it,[2,1038]),e(it,[2,1039]),e(it,[2,1040]),e(j,[2,7]),e(j,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:821,2:s,4:a,5:i,53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),{396:[1,825],401:[1,822],402:[1,823],403:[1,824]},{2:s,3:826,4:a,5:i},e(Ta,[2,1111],{289:827,767:829,78:[1,828],164:[1,831],185:[1,830]}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:832,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:833,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:834,4:a,5:i,132:[1,835]},{2:s,3:836,4:a,5:i,132:[1,837]},{2:s,3:838,4:a,5:i,99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{2:s,3:839,4:a,5:i},{154:[1,840]},e(Sa,ct,{350:841,156:ut}),{230:[1,842]},{2:s,3:843,4:a,5:i},e(J,[2,729],{74:ma}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:845,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ba,[2,732]),e(Na,[2,1143],{419:190,476:846,144:847,139:Ra,141:Ra,145:Ke,420:Pe,424:qe}),{139:[1,848],141:[1,849]},e(Ca,Oa,{490:851,493:852,77:[1,850],137:ht}),e(Ia,[2,1167],{494:853,132:[1,854]}),e(ya,[2,1171],{496:855,497:856,152:Et}),e(ya,[2,747]),e(va,[2,739]),{2:s,3:857,4:a,5:i,131:[1,858]},{2:s,3:859,4:a,5:i},{2:s,3:860,4:a,5:i},e(Ge,ct,{350:861,156:ut}),e(Ge,ct,{350:862,156:ut}),e(Tt,[2,491]),e(Tt,[2,492]),{183:[1,863]},{183:[2,1142]},e(ka,[2,1137],{466:864,469:865,137:[1,866]}),e(dt,[2,1136]),e(La,$a,{510:867,95:wa,230:[1,868],514:Da,515:xa,516:Ma}),{76:[1,873]},{76:[1,874]},{145:se,450:875},{4:Ua,7:879,76:[1,877],272:876,387:878,389:_a},e(J,[2,456],{128:[1,882]}),e(J,[2,579]),{2:s,3:883,4:a,5:i},{298:[1,884]},e(Sa,pt,{398:885,156:bt}),e(J,[2,593]),{2:s,3:244,4:a,5:i,199:887,399:886},{2:s,3:244,4:a,5:i,199:887,399:888},e(J,[2,772]),e(j,[2,669],{438:889,310:[1,890]}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:891,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:892,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:893,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:894,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:895,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:896,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:897,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:898,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:899,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:900,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:901,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:902,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:903,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:904,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:905,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:906,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:907,4:a,5:i,77:[1,909],131:ie,156:X,196:908,200:910,290:K,291:W,292:Q,293:z},{2:s,3:911,4:a,5:i,77:[1,913],131:ie,156:X,196:912,200:914,290:K,291:W,292:Q,293:z},e(Pa,[2,440],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:915,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),e(Pa,[2,441],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:916,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),e(Pa,[2,442],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:917,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),e(Pa,[2,443],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:918,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),e(Pa,qa,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:919,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:920,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:921,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Pa,[2,445],{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:922,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:923,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:924,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{164:[1,926],166:[1,928],328:925,334:[1,927]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:929,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:930,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:695,4:a,5:i,77:[1,931],111:934,145:Ga,156:X,200:935,202:933,290:K,291:W,292:Q,293:z,329:932},{99:[1,937],297:[1,938]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:939,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:940,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:941,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{4:Ua,7:879,272:942,387:878,389:_a},e(Fa,[2,88]),e(Fa,[2,89]),{78:[1,943]},{78:[1,944]},{78:[1,945]},{78:[1,946],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(Ge,Fe,{340:207,77:ot,198:Ve}),{78:[2,1107]},{78:[2,1108]},{134:ee,135:te},{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:947,152:le,154:he,156:X,158:167,164:[1,949],179:Ee,180:de,181:fe,185:[1,948],196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:950,4:a,5:i,149:Va,180:[1,952]},e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,416],{114:625,327:637,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,332:Zt}),e(Ba,[2,417],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,180:Mt,312:_t,316:Gt}),e(Ba,[2,418],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,180:Mt,312:_t,316:Gt}),e(Ha,[2,419],{114:625,327:637,316:Gt}),e(Ha,[2,420],{114:625,327:637,316:Gt}),e(ss,[2,365]),e(ss,[2,1113]),e(ss,[2,1114]),e(ss,[2,366]),e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,231,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,362]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:953,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ns,[2,620]),e(ns,[2,621]),e(ns,[2,622]),e(ns,[2,623]),e(ns,[2,625]),{40:954,79:75,89:c,184:99,189:E},{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,304:955,307:677,308:rs,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{305:956,306:Ya,307:957,308:rs,310:ja},e(Ja,[2,372]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:959,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:960,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{4:Ua,7:879,272:961,387:878,389:_a},e(ns,[2,626]),{74:[1,963],300:[1,962]},e(ns,[2,642]),e(Xa,[2,649]),e(Ka,[2,627]),e(Ka,[2,628]),e(Ka,[2,629]),e(Ka,[2,630]),e(Ka,[2,631]),e(Ka,[2,632]),e(Ka,[2,633]),e(Ka,[2,634]),e(Ka,[2,635]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:964,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e([2,4,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,426,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],ts,{77:nt,116:Wa}),{74:la,300:[1,966]},e(Qa,[2,314],{77:nt}),e(Xe,[2,315]),{74:[1,968],426:[1,967]},e(ns,[2,639]),e(za,[2,644]),{152:[1,969]},{152:[1,970]},{152:[1,971]},{40:976,77:[1,975],79:75,89:c,143:oe,144:979,145:Ke,149:Za,152:le,181:fe,184:99,189:E,201:980,302:xe,341:972,342:973,343:[1,974],344:ei,419:190,420:Pe,424:qe},e(Ge,Fe,{340:981,198:Ve}),{77:ti,143:oe,144:979,145:Ke,149:Za,152:le,181:fe,201:980,302:xe,341:982,342:983,344:ei,419:190,420:Pe,424:qe},{230:[1,986],455:985},{2:s,3:219,4:a,5:i,77:Be,132:He,143:oe,144:212,145:ce,152:le,156:X,181:fe,199:213,200:215,201:214,202:217,209:987,213:Ye,214:218,290:K,291:W,292:Q,293:z,302:xe,419:190,420:Pe,424:qe},{231:[2,696]},{78:[1,988]},e(hs,[2,1093],{211:989,3:990,2:s,4:a,5:i}),e(ls,[2,1092]),e(hs,[2,183]),{2:s,3:991,4:a,5:i},{212:[1,992]},e(hs,[2,187]),{2:s,3:993,4:a,5:i},e(hs,[2,191]),{2:s,3:994,4:a,5:i},e(hs,[2,195]),{2:s,3:995,4:a,5:i},e(hs,[2,198]),{2:s,3:996,4:a,5:i},{2:s,3:997,4:a,5:i},{148:[1,998]},e(si,[2,172],{82:999,183:[1,1e3]}),{2:s,3:219,4:a,5:i,132:[1,1005],143:oe,145:[1,1006],152:le,156:X,181:fe,199:1001,200:1002,201:1003,202:1004,290:K,291:W,292:Q,293:z,302:xe},{2:s,3:1011,4:a,5:i,109:1007,110:1008,111:1009,112:ai},e(Ts,[2,1058]),e(ii,[2,1049],{91:1012,182:1013,183:[1,1014]}),e(Je,[2,1048],{153:1015,179:ri,180:ni,181:oi}),e([2,4,5,10,72,74,76,78,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,90],{77:[1,1019]}),{119:[1,1020]},e(ci,[2,93]),{2:s,3:1021,4:a,5:i},e(ci,[2,95]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1022,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1023,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,112:ms,114:736,115:St,116:mt,117:1025,118:Ns,122:Rs,123:Cs,124:Os,125:1024,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{77:[1,1026]},{77:[1,1027]},{77:[1,1028]},{77:[1,1029]},e(ci,[2,104]),e(ci,[2,105]),e(ci,[2,106]),e(ci,[2,107]),e(ci,[2,108]),e(ci,[2,109]),{2:s,3:1030,4:a,5:i},{2:s,3:1031,4:a,5:i,133:[1,1032]},e(ci,[2,113]),e(ci,[2,114]),e(ci,[2,115]),e(ci,[2,116]),e(ci,[2,117]),e(ci,[2,118]),{2:s,3:1033,4:a,5:i,77:is,113:669,131:ie,132:re,143:oe,152:le,181:fe,196:670,201:672,257:671,294:ve,295:ke,296:Le,302:xe,419:673,424:qe},{145:[1,1034]},{77:[1,1035]},{145:[1,1036]},e(ci,[2,123]),{77:[1,1037]},{2:s,3:1038,4:a,5:i},{77:[1,1039]},{77:[1,1040]},{77:[1,1041]},{77:[1,1042]},{77:[1,1043],164:[1,1044]},{77:[1,1045]},{77:[1,1046]},{77:[1,1047]},{77:[1,1048]},{77:[1,1049]},{77:[1,1050]},{77:[1,1051]},{77:[1,1052]},{77:[1,1053]},{77:[2,1073]},{77:[2,1074]},{2:s,3:244,4:a,5:i,199:1054},{2:s,3:244,4:a,5:i,199:1055},{113:1056,132:re,296:Le},e(J,[2,596],{112:[1,1057]}),{2:s,3:244,4:a,5:i,199:1058},{113:1059,132:re,296:Le},{2:s,3:1060,4:a,5:i},e(J,[2,693]),e(J,[2,68]),{2:s,3:236,4:a,5:i,75:1061},{77:[1,1062]},e(J,[2,674]),e(J,[2,586]),{2:s,3:1011,4:a,5:i,111:1065,143:ui,145:li,147:1063,336:1064,337:1066},{144:1069,145:Ke,419:190,420:Pe,424:qe},e(J,[2,671]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1070,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Pa,qa,{255:146,200:147,256:148,111:149,254:150,196:151,257:152,113:153,258:154,201:155,202:156,259:157,260:158,261:159,144:161,262:162,263:163,56:165,158:167,3:168,419:190,94:1071,2:s,4:a,5:i,77:ae,131:ie,132:re,137:ne,143:oe,145:ce,149:ue,152:le,154:he,156:X,179:Ee,180:de,181:fe,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,420:Pe,424:qe}),{113:1072,132:re,296:Le},{2:s,3:266,4:a,5:i,446:1073,447:Qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1075,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,230:da,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe,429:1074,433:fa},e(J,[2,651]),{114:1077,115:St,116:mt,124:[1,1076]},e(J,[2,663]),e(J,[2,664]),{2:s,3:1079,4:a,5:i,77:hi,131:Ei,432:1078},{114:807,115:St,116:mt,124:[1,1082],430:1083},e(J,[2,753],{74:pa}),{2:s,3:100,4:a,5:i,504:1084},{2:s,3:168,4:a,5:i,56:165,77:ae,94:817,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,174:1085,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:817,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,174:1086,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:817,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,174:1087,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ga,[2,151]),e(ga,[2,1088],{74:di}),e(fi,[2,273]),e(fi,[2,280],{114:625,327:637,3:1090,113:1092,2:s,4:a,5:i,76:[1,1089],99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,131:[1,1091],132:re,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,296:Le,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(et,[2,1089],{197:1093,765:[1,1094]}),{131:ie,196:1095},{74:pa,78:[1,1096]},e(j,[2,11]),{148:[1,1097],190:[1,1098]},{190:[1,1099]},{190:[1,1100]},{190:[1,1101]},e(J,[2,575],{76:[1,1103],77:[1,1102]}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1104,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ss,[2,346]),e(Ta,[2,1112]),e(Ta,[2,1109]),e(Ta,[2,1110]),{74:la,78:[1,1105]},{74:la,78:[1,1106]},{74:[1,1107]},{74:[1,1108]},{74:[1,1109]},{74:[1,1110]},e(ss,[2,353]),e(J,[2,580]),{298:[1,1111]},{2:s,3:1112,4:a,5:i,113:1113,132:re,296:Le},{2:s,3:244,4:a,5:i,199:1114},{230:[1,1115]},{2:s,3:578,4:a,5:i,132:lt,137:ht,143:ze,145:Ze,152:Et,431:585,474:1116,475:576,478:577,482:582,493:579,497:581},e(J,[2,730],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(ba,[2,1145],{477:1117,483:1118,76:pi}),e(Na,[2,1144]),{2:s,3:1122,4:a,5:i,132:lt,137:ht,144:1121,145:Ke,152:Et,419:190,420:Pe,424:qe,475:1120,493:579,497:581},{2:s,3:1122,4:a,5:i,132:lt,137:ht,143:ze,145:Ze,152:Et,431:585,475:1124,478:1123,482:582,493:579,497:581},{2:s,3:578,4:a,5:i,132:lt,137:ht,143:ze,145:Ze,152:Et,431:585,473:1125,474:575,475:576,478:577,482:582,493:579,497:581},e(Ia,[2,1163],{491:1126,132:[1,1127]}),e(Ca,[2,1162]),e(ya,[2,1169],{495:1128,497:1129,152:Et}),e(Ia,[2,1168]),e(ya,[2,746]),e(ya,[2,1172]),e(Ca,[2,749]),e(Ca,[2,750]),e(ya,[2,748]),e(va,[2,740]),{2:s,3:244,4:a,5:i,199:1130},{2:s,3:244,4:a,5:i,199:1131},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1132,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(bi,[2,1139],{467:1133,113:1134,132:re,296:Le}),e(ka,[2,1138]),{2:s,3:1135,4:a,5:i},{335:Ti,338:gi,339:Ai,511:1136},{2:s,3:244,4:a,5:i,199:1140},e(La,[2,765]),e(La,[2,766]),e(La,[2,767]),{129:[1,1141]},{266:[1,1142]},{266:[1,1143]},e(ft,[2,688]),e(ft,[2,689],{124:[1,1144]}),{4:Ua,7:879,272:1145,387:878,389:_a},e([2,4,10,53,72,74,76,77,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,542],{5:[1,1146]}),e([2,5,10,53,72,74,76,78,89,93,95,98,99,107,112,115,116,118,122,123,124,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,230,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,297,300,306,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,343,356,368,369,373,374,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,539],{4:[1,1148],77:[1,1147]}),{77:[1,1149]},e(Si,[2,4]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1150,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(J,[2,588]),e(Sa,[2,568]),{2:s,3:1151,4:a,5:i,113:1152,132:re,296:Le},e(J,[2,564],{74:mi}),e(ft,[2,566]),e(J,[2,613],{74:mi}),e(J,[2,668]),e(J,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1154,2:s,4:a,5:i,53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),e(Ni,[2,376],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,312:_t,316:Gt,317:Ft,318:Vt,319:Bt}),e(Ha,[2,377],{114:625,327:637,316:Gt}),e(Ni,[2,378],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,312:_t,316:Gt,317:Ft,318:Vt,319:Bt}),e(Ri,[2,379],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,312:_t,314:[1,1155],316:Gt,317:Ft,318:Vt,319:Bt}),e(Ri,[2,381],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,312:_t,314:[1,1156],316:Gt,317:Ft,318:Vt,319:Bt}),e(Xe,[2,383],{114:625,327:637}),e(Ba,[2,384],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,180:Mt,312:_t,316:Gt}),e(Ba,[2,385],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,180:Mt,312:_t,316:Gt}),e(Ci,[2,386],{114:625,327:637,115:St,116:mt,123:Nt,136:Ot,312:_t,316:Gt}),e(Ci,[2,387],{114:625,327:637,115:St,116:mt,123:Nt,136:Ot,312:_t,316:Gt}),e(Ci,[2,388],{114:625,327:637,115:St,116:mt,123:Nt,136:Ot,312:_t,316:Gt}),e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,112,118,122,123,124,128,129,130,131,132,133,134,135,137,138,139,140,141,142,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,179,180,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,311,313,314,315,317,318,319,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,389],{114:625,327:637,115:St,116:mt,136:Ot,312:_t,316:Gt}),e(Oi,[2,390],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,179:xt,180:Mt,312:_t,316:Gt,317:Ft}),e(Oi,[2,391],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,179:xt,180:Mt,312:_t,316:Gt,317:Ft}),e(Oi,[2,392],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,179:xt,180:Mt,312:_t,316:Gt,317:Ft}),e(Oi,[2,393],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,179:xt,180:Mt,312:_t,316:Gt,317:Ft}),e(Qa,[2,394],{77:nt}),e(Xe,[2,395]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1157,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Xe,[2,397]),e(Qa,[2,398],{77:nt}),e(Xe,[2,399]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1158,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Xe,[2,401]),e(Ii,[2,402],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,403],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,404],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,405],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e([2,4,5,10,53,72,89,99,124,139,140,146,154,156,170,171,189,266,267,290,306,310,320,321,322,323,324,325,326,330,331,333,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],yi,{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,407],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,408],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,409],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,410],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(Ii,[2,411],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),{77:[1,1159]},{77:[2,446]},{77:[2,447]},{77:[2,448]},e(vi,[2,414],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,332:Zt}),e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,107,118,122,128,129,130,131,132,134,135,137,143,145,146,148,149,150,152,156,162,164,166,168,169,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,415],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt}),{2:s,3:168,4:a,5:i,40:1160,56:165,77:ae,78:[1,1162],79:75,89:c,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1161,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,184:99,189:E,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Xe,[2,428]),e(Xe,[2,430]),e(Xe,[2,437]),e(Xe,[2,438]),{2:s,3:667,4:a,5:i,77:[1,1163]},{2:s,3:695,4:a,5:i,77:[1,1164],111:934,145:Ga,156:X,200:935,202:1166,290:K,291:W,292:Q,293:z,329:1165},e(Xe,[2,435]),e(vi,[2,432],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,332:Zt}),e(vi,[2,433],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,332:Zt}),e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,99,107,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,189,198,206,208,222,223,224,225,226,227,228,229,232,239,242,243,245,247,266,267,280,281,282,283,284,285,286,287,288,290,296,300,306,308,309,310,314,320,321,322,323,324,325,326,330,331,332,333,335,338,339,396,400,401,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,464,470,505,507,508,517,602,764],[2,434],{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt}),e(Xe,[2,436]),e(Xe,[2,306]),e(Xe,[2,307]),e(Xe,[2,308]),e(Xe,[2,421]),{74:la,78:[1,1167]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1168,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1169,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Xe,ki),e(Li,[2,286]),e(Xe,[2,282]),{78:[1,1171],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1172]},{305:1173,306:Ya,307:957,308:rs,310:ja},{306:[1,1174]},e(Ja,[2,371]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1175,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,309:[1,1176],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{76:[1,1177],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{74:[1,1178]},e(ns,[2,640]),{2:s,3:695,4:a,5:i,77:os,111:690,113:688,131:ie,132:re,143:oe,144:685,145:Ke,152:le,156:X,181:fe,196:687,200:693,201:692,257:689,258:691,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,300:[1,1179],302:xe,419:190,420:Pe,422:1180,423:686,424:qe},{78:[1,1181],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{2:s,3:1182,4:a,5:i,149:Va},e(Xe,[2,364]),e(ns,[2,637]),{2:s,3:704,4:a,5:i,131:cs,132:us,426:[1,1183],428:1184},{2:s,3:695,4:a,5:i,77:os,111:690,113:688,131:ie,132:re,143:oe,144:685,145:Ke,152:le,156:X,181:fe,196:687,200:693,201:692,257:689,258:691,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,302:xe,419:190,420:Pe,422:1185,423:686,424:qe},{2:s,3:695,4:a,5:i,77:os,111:690,113:688,131:ie,132:re,143:oe,144:685,145:Ke,152:le,156:X,181:fe,196:687,200:693,201:692,257:689,258:691,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,302:xe,419:190,420:Pe,422:1186,423:686,424:qe},{2:s,3:695,4:a,5:i,77:os,111:690,113:688,131:ie,132:re,143:oe,144:685,145:Ke,152:le,156:X,181:fe,196:687,200:693,201:692,257:689,258:691,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,302:xe,419:190,420:Pe,422:1187,423:686,424:qe},{77:ti,143:oe,144:979,145:Ke,152:le,181:fe,201:980,302:xe,342:1188,419:190,420:Pe,424:qe},e($i,[2,458],{74:wi}),{149:Za,341:1190,344:ei},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1194,100:1191,111:1193,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,345:1192,419:190,420:Pe,424:qe},e($i,[2,466]),e(Di,[2,469]),e(Di,[2,470]),e(xi,[2,474]),e(xi,[2,475]),{2:s,3:244,4:a,5:i,199:1195},{77:ti,143:oe,144:979,145:Ke,152:le,181:fe,201:980,302:xe,342:1196,419:190,420:Pe,424:qe},e($i,[2,462],{74:wi}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1194,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,345:1192,419:190,420:Pe,424:qe},{308:Mi,456:1197,458:1198,459:1199},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1201,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{230:[2,697]},e(hs,[2,181],{3:1202,2:s,4:a,5:i,76:[1,1203]}),e(hs,[2,182]),e(hs,[2,1094]),e(hs,[2,184]),e(hs,[2,186]),e(hs,[2,188]),e(hs,[2,192]),e(hs,[2,196]),e(hs,[2,199]),e([2,4,5,10,53,72,74,76,77,78,89,93,95,98,118,124,128,143,145,146,148,149,152,154,156,162,168,169,181,183,187,189,206,208,222,223,224,225,226,227,228,229,230,231,232,245,247,266,267,290,297,302,306,310,335,338,339,343,344,356,368,369,373,374,396,400,401,402,403,404,406,408,409,417,418,420,424,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,514,515,516,517,602,764],[2,201]),{2:s,3:1204,4:a,5:i},e(Ui,[2,1045],{83:1205,92:1206,93:[1,1207],98:[1,1208]}),{2:s,3:219,4:a,5:i,77:[1,1210],132:He,143:oe,144:212,145:ce,152:le,156:X,181:fe,199:213,200:215,201:214,202:217,203:1209,209:1211,213:Ye,214:218,290:K,291:W,292:Q,293:z,302:xe,419:190,420:Pe,424:qe},e(fs,[2,164]),e(fs,[2,165]),e(fs,[2,166]),e(fs,[2,167]),e(fs,[2,168]),{2:s,3:667,4:a,5:i},e(je,[2,83],{74:[1,1212]}),e(_i,[2,85]),e(_i,[2,86]),{113:1213,132:re,296:Le},e([10,72,74,78,93,98,118,124,128,162,168,169,183,198,206,208,222,223,224,225,226,227,228,229,232,245,247,306,310,602,764],ts,{116:Wa}),e(ii,[2,73]),e(ii,[2,1050]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1214,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ci,[2,126]),e(ci,[2,144]),e(ci,[2,145]),e(ci,[2,146]),{2:s,3:168,4:a,5:i,56:165,77:ae,78:[2,1065],94:260,111:149,113:153,127:1215,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1216,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{77:[1,1217]},e(ci,[2,94]),e([2,4,5,10,72,74,76,77,78,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,96],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e([2,4,5,10,72,74,76,77,78,112,118,122,124,128,129,130,131,132,134,135,137,139,140,143,145,146,148,149,150,152,154,156,162,164,166,168,169,170,171,172,173,175,181,183,185,187,198,280,281,282,283,284,285,286,287,288,306,310,420,424,602,764],[2,97],{114:625,327:637,99:gt,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1218],112:ms,114:736,115:St,116:mt,117:1219,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},e(Pi,[2,1061],{153:1015,179:ri,180:ni,181:oi}),{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,112:ms,114:736,115:St,116:mt,117:1221,118:Ns,122:Rs,123:Cs,124:Os,126:1220,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1222,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1223,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1224,4:a,5:i},e(ci,[2,110]),e(ci,[2,111]),e(ci,[2,112]),e(ci,[2,119]),{2:s,3:1225,4:a,5:i},{2:s,3:1011,4:a,5:i,111:1065,143:ui,145:li,147:1226,336:1064,337:1066},{2:s,3:1227,4:a,5:i},{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1228,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ci,[2,125]),e(Pi,[2,1067],{155:1229}),e(Pi,[2,1069],{157:1230}),e(Pi,[2,1071],{159:1231}),e(Pi,[2,1075],{161:1232}),e(qi,Gi,{163:1233,178:1234}),{77:[1,1235]},e(Pi,[2,1077],{165:1236}),e(Pi,[2,1079],{167:1237}),e(qi,Gi,{178:1234,163:1238}),e(qi,Gi,{178:1234,163:1239}),e(qi,Gi,{178:1234,163:1240}),e(qi,Gi,{178:1234,163:1241}),{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,112:ms,114:736,115:St,116:mt,117:1242,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:817,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,174:1243,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Fi,[2,1081],{176:1244}),e(J,[2,606],{183:[1,1245]}),e(J,[2,602],{183:[1,1246]}),e(J,[2,595]),{113:1247,132:re,296:Le},e(J,[2,604],{183:[1,1248]}),e(J,[2,599]),e(J,[2,600],{112:[1,1249]}),e(ca,[2,69]),{40:1250,79:75,89:c,184:99,189:E},e(J,[2,450],{74:Vi,128:[1,1251]}),e(Bi,[2,451]),{124:[1,1253]},{2:s,3:1254,4:a,5:i},e(Ge,[2,1115]),e(Ge,[2,1116]),e(J,[2,618]),e(ha,[2,355],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(Ii,yi,{114:625,327:637,112:At,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,332:Zt}),e(ft,[2,682]),e(ft,[2,684]),e(J,[2,650]),e(J,[2,652],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1255,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1079,4:a,5:i,77:hi,131:Ei,432:1256},e(Hi,[2,659]),e(Hi,[2,660]),e(Hi,[2,661]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1257,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1258,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{114:1077,115:St,116:mt,124:[1,1259]},e(ba,[2,755]),e(ga,[2,148],{74:di}),e(ga,[2,149],{74:di}),e(ga,[2,150],{74:di}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:817,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,253:1260,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1261,4:a,5:i,113:1263,131:[1,1262],132:re,296:Le},e(fi,[2,275]),e(fi,[2,277]),e(fi,[2,279]),e(et,[2,160]),e(et,[2,1090]),{78:[1,1264]},e(at,[2,758]),{2:s,3:1265,4:a,5:i},{2:s,3:1266,4:a,5:i},{2:s,3:1268,4:a,5:i,384:1267},{2:s,3:1268,4:a,5:i,384:1269},{2:s,3:1270,4:a,5:i},{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1271,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1272,4:a,5:i},{74:la,78:[1,1273]},e(ss,[2,347]),e(ss,[2,348]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1274,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1275,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1276,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1277,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Sa,[2,504]),e(J,Yi,{407:1278,76:ji,77:[1,1279]}),e(J,Yi,{407:1281,76:ji}),{77:[1,1282]},{2:s,3:244,4:a,5:i,199:1283},e(ba,[2,731]),e(ba,[2,733]),e(ba,[2,1146]),{143:ze,145:Ze,431:1284},e(Ji,[2,1147],{419:190,479:1285,144:1286,145:Ke,420:Pe,424:qe}),{76:pi,139:[2,1151],481:1287,483:1288},e([10,74,76,78,132,139,145,152,306,310,420,424,602,764],Oa,{490:851,493:852,137:ht}),e(ba,[2,736]),e(ba,Ra),{74:ma,78:[1,1289]},e(ya,[2,1165],{492:1290,497:1291,152:Et}),e(Ia,[2,1164]),e(ya,[2,745]),e(ya,[2,1170]),e(J,[2,490],{77:[1,1292]}),{76:[1,1294],77:[1,1293]},{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,148:[1,1295],154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e($i,Xi,{79:75,184:99,468:1296,40:1299,89:c,146:Ki,189:E,470:Wi}),e(bi,[2,1140]),e(ka,[2,723]),{230:[1,1300]},e(Qi,[2,769]),e(Qi,[2,770]),e(Qi,[2,771]),e(La,$a,{510:1301,95:wa,514:Da,515:xa,516:Ma}),e(La,[2,768]),e(J,[2,312]),e(J,[2,313]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1302,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ft,[2,690],{124:[1,1303]}),e(Si,[2,541]),{131:[1,1305],388:1304,390:[1,1306]},e(Si,[2,5]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1194,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,345:1307,419:190,420:Pe,424:qe},e(J,[2,455],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(J,[2,589]),e(J,[2,590]),{2:s,3:244,4:a,5:i,199:1308},e(J,[2,670]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1309,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1310,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{78:[1,1311],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1312],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{2:s,3:168,4:a,5:i,40:1313,56:165,77:ae,79:75,89:c,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1314,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,184:99,189:E,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{78:[1,1315]},{74:la,78:[1,1316]},e(Xe,[2,426]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1317,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,40:1318,56:165,77:ae,78:[1,1320],79:75,89:c,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1319,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,184:99,189:E,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Xe,[2,429]),e(Xe,[2,431]),e(Xe,zi,{275:1321,276:Zi}),{78:[1,1323],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1324],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{2:s,3:1325,4:a,5:i,180:[1,1326]},e(ns,[2,619]),e(Xe,[2,363]),{306:[1,1327]},e(Xe,[2,370]),{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,306:[2,374],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1328,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{4:Ua,7:879,272:1329,387:878,389:_a},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1330,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ns,[2,641]),e(Xa,[2,648]),e(Ka,[2,636]),e(Li,ki),e(ns,[2,638]),e(za,[2,643]),e(za,[2,645]),e(za,[2,646]),e(za,[2,647]),e($i,[2,457],{74:wi}),{77:[1,1332],143:oe,144:1333,145:Ke,152:le,181:fe,201:1334,302:xe,419:190,420:Pe,424:qe},e($i,[2,463]),{74:er,78:[1,1335]},{74:tr,78:[1,1337]},e([74,78,99,112,115,116,123,124,133,136,138,139,140,141,142,154,170,171,179,180,311,312,313,315,316,317,318,319,320,321,322,323,324,325,326,330,331,332,333],sr),e(ar,[2,479],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{40:1341,77:ti,79:75,89:c,143:oe,144:979,145:Ke,149:Za,152:le,181:fe,184:99,189:E,201:980,302:xe,341:1339,342:1340,344:ei,419:190,420:Pe,424:qe},e($i,[2,461],{74:wi}),e(J,[2,717],{457:1342,458:1343,459:1344,308:Mi,464:[1,1345]}),e(ir,[2,701]),e(ir,[2,702]),{154:[1,1347],460:[1,1346]},{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,308:[2,698],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(hs,[2,179]),{2:s,3:1348,4:a,5:i},e(J,[2,574]),e(rr,[2,238],{84:1349,128:[1,1350]}),e(Ui,[2,1046]),{77:[1,1351]},{77:[1,1352]},e(si,[2,169],{204:1353,215:1355,205:1356,216:1357,221:1360,74:nr,206:or,208:cr,222:ur,223:lr,224:hr,225:Er,226:dr,227:fr,228:pr,229:br}),{2:s,3:219,4:a,5:i,40:711,77:Be,79:75,89:c,132:He,143:oe,144:212,145:ce,152:le,156:X,181:fe,184:99,189:E,199:213,200:215,201:214,202:217,203:1369,209:1211,213:Ye,214:218,290:K,291:W,292:Q,293:z,302:xe,419:190,420:Pe,424:qe},e(Tr,[2,177]),{2:s,3:1011,4:a,5:i,110:1370,111:1009,112:ai},e(_i,[2,87]),e(ii,[2,147],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{78:[1,1371]},{74:la,78:[2,1066]},{2:s,3:168,4:a,5:i,56:165,77:ae,78:[2,1059],94:1376,111:149,113:153,120:1372,121:1373,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,241:1374,242:[1,1375],254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ci,[2,98]),e(Pi,[2,1062],{153:1015,179:ri,180:ni,181:oi}),{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1377],112:ms,114:736,115:St,116:mt,117:1378,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},e(Pi,[2,1063],{153:1015,179:ri,180:ni,181:oi}),{78:[1,1379],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1380],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1381]},e(ci,[2,120]),{74:Vi,78:[1,1382]},e(ci,[2,122]),{74:la,78:[1,1383]},{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1384],112:ms,114:736,115:St,116:mt,117:1385,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1386],112:ms,114:736,115:St,116:mt,117:1387,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1388],112:ms,114:736,115:St,116:mt,117:1389,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1390],112:ms,114:736,115:St,116:mt,117:1391,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{74:gr,78:[1,1392]},e(ar,[2,143],{419:190,3:733,114:736,144:758,158:768,160:769,117:1394,2:s,4:a,5:i,72:gs,76:As,77:Ss,112:ms,115:St,116:mt,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,420:Pe,424:qe}),e(qi,Gi,{178:1234,163:1395}),{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1396],112:ms,114:736,115:St,116:mt,117:1397,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{2:s,3:733,4:a,5:i,72:gs,76:As,77:Ss,78:[1,1398],112:ms,114:736,115:St,116:mt,117:1399,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{74:gr,78:[1,1400]},{74:gr,78:[1,1401]},{74:gr,78:[1,1402]},{74:gr,78:[1,1403]},{78:[1,1404],153:1015,179:ri,180:ni,181:oi},{74:di,78:[1,1405]},{2:s,3:733,4:a,5:i,72:gs,74:[1,1406],76:As,77:Ss,112:ms,114:736,115:St,116:mt,117:1407,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,144:758,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,158:768,160:769,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,419:190,420:Pe,424:qe},{2:s,3:1408,4:a,5:i},{2:s,3:1409,4:a,5:i},e(J,[2,597]),{2:s,3:1410,4:a,5:i},{113:1411,132:re,296:Le},{78:[1,1412]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1413,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1011,4:a,5:i,111:1065,143:ui,145:li,336:1414,337:1066},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1415,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{124:[1,1416]},e(J,[2,653],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(Hi,[2,658]),{78:[1,1417],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(J,[2,654],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1418,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(fi,[2,272]),e(fi,[2,274]),e(fi,[2,276]),e(fi,[2,278]),e(et,[2,161]),e(J,[2,569]),{148:[1,1419]},e(J,[2,570]),e(ba,[2,536],{387:878,7:879,272:1420,4:Ua,386:[1,1421],389:_a}),e(J,[2,571]),e(J,[2,573]),{74:la,78:[1,1422]},e(J,[2,577]),e(ss,[2,345]),{74:[1,1423],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{74:[1,1424],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{74:[1,1425],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{74:[1,1426],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(J,[2,581]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1427,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1428,4:a,5:i},e(J,[2,583]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1376,111:149,113:153,120:1429,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{77:[1,1430]},{2:s,3:1431,4:a,5:i},{76:pi,139:[2,1149],480:1432,483:1433},e(Ji,[2,1148]),{139:[1,1434]},{139:[2,1152]},e(ba,[2,737]),e(ya,[2,744]),e(ya,[2,1166]),{2:s,3:1268,4:a,5:i,76:[1,1437],351:1435,358:1436,384:1438},{2:s,3:1011,4:a,5:i,100:1439,111:1440},{40:1441,79:75,89:c,184:99,189:E},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1442,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e($i,[2,722]),{2:s,3:1011,4:a,5:i,111:1065,143:ui,145:li,147:1443,336:1064,337:1066},{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1444,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e($i,[2,727]),{2:s,3:244,4:a,5:i,199:1445},{335:Ti,338:gi,339:Ai,511:1446},e(ft,[2,691],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1447,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{74:[1,1448],78:[1,1449]},e(ar,[2,543]),e(ar,[2,544]),{74:tr,78:[1,1450]},e(ft,[2,565]),e(Ni,[2,380],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,312:_t,316:Gt,317:Ft,318:Vt,319:Bt}),e(Ni,[2,382],{114:625,327:637,115:St,116:mt,123:Nt,133:Ct,136:Ot,138:It,141:kt,142:Lt,179:xt,180:Mt,312:_t,316:Gt,317:Ft,318:Vt,319:Bt}),e(Xe,[2,396]),e(Xe,[2,400]),{78:[1,1451]},{74:la,78:[1,1452]},e(Xe,[2,422]),e(Xe,[2,424]),{78:[1,1453],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1454]},{74:la,78:[1,1455]},e(Xe,[2,427]),e(Xe,[2,327]),{77:[1,1456]},e(Xe,zi,{275:1457,276:Zi}),e(Xe,zi,{275:1458,276:Zi}),e(Li,[2,284]),e(Xe,[2,281]),e(Xe,[2,369]),e(Ja,[2,373],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{74:[1,1460],78:[1,1459]},{74:[1,1462],78:[1,1461],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{2:s,3:1325,4:a,5:i},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1194,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,345:1463,419:190,420:Pe,424:qe},e(xi,[2,477]),e(xi,[2,478]),{40:1466,77:ti,79:75,89:c,143:oe,144:979,145:Ke,149:Za,152:le,181:fe,184:99,189:E,201:980,302:xe,341:1464,342:1465,344:ei,419:190,420:Pe,424:qe},{2:s,3:1011,4:a,5:i,111:1467},e(xi,[2,473]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1468,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{77:ti,143:oe,144:979,145:Ke,152:le,181:fe,201:980,302:xe,342:1469,419:190,420:Pe,424:qe},e($i,[2,460],{74:wi}),e($i,[2,467]),e(J,[2,694]),e(ir,[2,699]),e(ir,[2,700]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:817,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,174:1470,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,253:816,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{170:[1,1472],309:[1,1471]},{460:[1,1473]},e(hs,[2,180]),e(Ar,[2,240],{85:1474,232:[1,1475]}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1476,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1477,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1478,4:a,5:i},e(si,[2,170],{216:1357,221:1360,215:1479,205:1480,206:or,208:cr,222:ur,223:lr,224:hr,225:Er,226:dr,227:fr,228:pr,229:br}),{2:s,3:219,4:a,5:i,77:Be,132:He,143:oe,144:212,145:ce,152:le,156:X,181:fe,199:213,200:215,201:214,202:217,209:1481,213:Ye,214:218,290:K,291:W,292:Q,293:z,302:xe,419:190,420:Pe,424:qe},e(Sr,[2,205]),e(Sr,[2,206]),{2:s,3:219,4:a,5:i,77:[1,1486],143:oe,144:1484,145:ce,152:le,156:X,181:fe,199:1483,200:1487,201:1485,202:1488,217:1482,290:K,291:W,292:Q,293:z,302:xe,419:190,420:Pe,424:qe},{207:[1,1489],223:mr},{207:[1,1491],223:Nr},e(Rr,[2,222]),{206:[1,1495],208:[1,1494],221:1493,223:lr,224:hr,225:Er,226:dr,227:fr,228:pr,229:br},e(Rr,[2,224]),{223:[1,1496]},{208:[1,1498],223:[1,1497]},{208:[1,1500],223:[1,1499]},{208:[1,1501]},{223:[1,1502]},{223:[1,1503]},{74:nr,204:1504,205:1356,206:or,208:cr,215:1355,216:1357,221:1360,222:ur,223:lr,224:hr,225:Er,226:dr,227:fr,228:pr,229:br},e(_i,[2,84]),e(ci,[2,100]),{74:Cr,78:[1,1505]},{78:[1,1507]},e(Or,[2,261]),{78:[2,1060]},e(Or,[2,263],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,242:[1,1508],243:[1,1509],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(ci,[2,99]),e(Pi,[2,1064],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,101]),e(ci,[2,102]),e(ci,[2,103]),e(ci,[2,121]),e(ci,[2,124]),e(ci,[2,127]),e(Pi,[2,1068],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,128]),e(Pi,[2,1070],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,129]),e(Pi,[2,1072],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,130]),e(Pi,[2,1076],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,131]),e(qi,[2,1083],{177:1510}),e(qi,[2,1086],{153:1015,179:ri,180:ni,181:oi}),{74:gr,78:[1,1511]},e(ci,[2,133]),e(Pi,[2,1078],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,134]),e(Pi,[2,1080],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,135]),e(ci,[2,136]),e(ci,[2,137]),e(ci,[2,138]),e(ci,[2,139]),e(ci,[2,140]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:260,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,151:1512,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Fi,[2,1082],{153:1015,179:ri,180:ni,181:oi}),e(J,[2,607]),e(J,[2,603]),e(J,[2,605]),e(J,[2,601]),e(ca,[2,71]),e(J,[2,449],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(Bi,[2,452]),e(Bi,[2,453],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1513,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Hi,[2,662]),e(J,[2,655],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:1514,4:a,5:i},e(ba,[2,545],{385:1515,391:1516,392:1517,366:1525,154:Ir,187:yr,230:vr,297:kr,343:Lr,356:$r,368:wr,369:Dr,373:xr,374:Mr}),e(ba,[2,535]),e(J,[2,576],{76:[1,1529]}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1530,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1531,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1532,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1533,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{74:la,78:[1,1534]},e(J,[2,585]),{74:Cr,78:[1,1535]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1376,111:149,113:153,120:1536,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e([10,74,78,139,306,310,602,764],[2,741]),{139:[1,1537]},{139:[2,1150]},{2:s,3:1122,4:a,5:i,132:lt,137:ht,143:ze,145:Ze,152:Et,431:585,475:1124,478:1538,482:582,493:579,497:581},{78:[1,1539]},{74:[1,1540],78:[2,506]},{40:1541,79:75,89:c,184:99,189:E},e(ar,[2,532]),{74:er,78:[1,1542]},e(Tr,sr),e(J,[2,1133],{412:1543,413:1544,72:Ur}),e($i,Xi,{79:75,184:99,114:625,327:637,40:1299,468:1546,89:c,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,146:Ki,154:$t,170:wt,171:Dt,179:xt,180:Mt,189:E,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es,470:Wi}),e($i,[2,725],{74:Vi}),e($i,[2,726],{74:la}),e([10,53,72,89,124,146,156,189,266,267,290,306,310,335,338,339,396,400,401,404,406,408,409,417,418,434,436,437,439,440,441,442,443,447,448,451,452,505,507,508,517,602,764],[2,1181],{512:1547,3:1548,2:s,4:a,5:i,76:[1,1549]}),e(_r,[2,1183],{513:1550,76:[1,1551]}),e(ft,[2,692],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{131:[1,1552]},e(Si,[2,538]),e(Si,[2,540]),e(Xe,[2,412]),e(Xe,[2,413]),e(Xe,[2,439]),e(Xe,[2,423]),e(Xe,[2,425]),{118:Pr,277:1553,278:1554,279:[1,1555]},e(Xe,[2,328]),e(Xe,[2,329]),e(Xe,[2,316]),{131:[1,1557]},e(Xe,[2,318]),{131:[1,1558]},{74:tr,78:[1,1559]},{77:ti,143:oe,144:979,145:Ke,152:le,181:fe,201:980,302:xe,342:1560,419:190,420:Pe,424:qe},e($i,[2,465],{74:wi}),e($i,[2,468]),e(Tr,[2,488]),e(ar,[2,480],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e($i,[2,459],{74:wi}),e(J,[2,718],{74:di,198:[1,1561]}),{335:qr,338:Gr,461:1562},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1565,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{119:[1,1567],170:[1,1568],309:[1,1566]},e(Fr,[2,259],{86:1569,118:[1,1570]}),{119:[1,1571]},e(rr,[2,239],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{95:[1,1572],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{95:[1,1573]},e(Sr,[2,203]),e(Sr,[2,204]),e(Tr,[2,178]),e(Sr,[2,237],{218:1574,230:[1,1575],231:[1,1576]}),e(Vr,[2,208],{3:1577,2:s,4:a,5:i,76:[1,1578]}),e(Br,[2,1095],{219:1579,76:[1,1580]}),{2:s,3:1581,4:a,5:i,76:[1,1582]},{40:1583,79:75,89:c,184:99,189:E},e(Vr,[2,216],{3:1584,2:s,4:a,5:i,76:[1,1585]}),e(Vr,[2,219],{3:1586,2:s,4:a,5:i,76:[1,1587]}),{77:[1,1588]},e(Rr,[2,234]),{77:[1,1589]},e(Rr,[2,230]),e(Rr,[2,223]),{223:Nr},{223:mr},e(Rr,[2,225]),e(Rr,[2,226]),{223:[1,1590]},e(Rr,[2,228]),{223:[1,1591]},{223:[1,1592]},e(Rr,[2,232]),e(Rr,[2,233]),{78:[1,1593],205:1480,206:or,208:cr,215:1479,216:1357,221:1360,222:ur,223:lr,224:hr,225:Er,226:dr,227:fr,228:pr,229:br},e(ci,[2,91]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1376,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,241:1594,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ci,[2,92]),e(Or,[2,264]),{244:[1,1595]},e(ar,[2,142],{419:190,3:733,114:736,144:758,158:768,160:769,117:1596,2:s,4:a,5:i,72:gs,76:As,77:Ss,112:ms,115:St,116:mt,118:Ns,122:Rs,123:Cs,124:Os,128:Is,129:ys,130:vs,131:ks,132:Ls,133:$s,134:ws,135:Ds,136:xs,137:Ms,138:Us,139:_s,140:Ps,141:qs,142:Gs,143:Fs,145:Vs,146:Bs,148:Hs,149:Ys,150:js,152:Js,154:Xs,156:Ks,162:Ws,164:Qs,166:zs,168:Zs,169:ea,170:ta,171:sa,172:aa,173:ia,175:ra,185:na,187:oa,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,420:Pe,424:qe}),e(ci,[2,132]),{74:la,78:[1,1597]},e(Bi,[2,454],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(J,[2,572]),e(ba,[2,534]),e(ba,[2,546],{366:1525,392:1598,154:Ir,187:yr,230:vr,297:kr,343:Lr,356:$r,368:wr,369:Dr,373:xr,374:Mr}),e(ua,[2,548]),{370:[1,1599]},{370:[1,1600]},{2:s,3:244,4:a,5:i,199:1601},e(ua,[2,554],{77:[1,1602]}),{2:s,3:114,4:a,5:i,77:[1,1604],113:251,131:ie,132:re,143:oe,152:le,156:X,181:fe,196:250,200:1605,201:254,257:252,258:253,265:We,274:1603,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,302:xe},e(ua,[2,558]),{297:[1,1606]},e(ua,[2,560]),e(ua,[2,561]),{335:[1,1607]},{77:[1,1608]},{2:s,3:1609,4:a,5:i},{78:[1,1610],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1611],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1612],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{78:[1,1613],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(J,Yi,{407:1614,76:ji}),e(J,[2,591]),{74:Cr,78:[1,1615]},{2:s,3:1122,4:a,5:i,132:lt,137:ht,143:ze,145:Ze,152:Et,431:585,475:1124,478:1616,482:582,493:579,497:581},e(ba,[2,735]),e(J,[2,493],{352:1617,354:1618,355:1619,4:Hr,243:Yr,343:jr,356:Jr}),e(Xr,Kr,{3:1268,359:1624,384:1625,360:1626,361:1627,2:s,4:a,5:i,367:Wr}),{78:[2,507]},{76:[1,1629]},e(J,[2,609]),e(J,[2,1134]),{368:[1,1631],414:[1,1630]},e($i,[2,728]),e(J,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1632,2:s,4:a,5:i,53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),e(J,[2,762]),e(_r,[2,1182]),e(J,t,{17:5,18:7,19:8,20:9,21:10,22:11,23:12,24:13,25:14,26:15,27:16,28:17,29:18,30:19,31:20,32:21,33:22,34:23,35:24,36:25,37:26,38:27,39:28,40:29,41:30,42:31,43:32,44:33,45:34,46:35,47:36,48:37,49:38,50:39,51:40,52:41,54:43,55:44,56:45,57:46,58:47,59:48,60:49,61:50,62:51,63:52,64:53,65:54,66:55,67:56,68:57,69:58,70:59,71:60,79:75,504:95,184:99,3:100,12:1633,2:s,4:a,5:i,53:n,72:o,89:c,124:u,146:l,156:h,189:E,266:d,267:f,290:p,335:b,338:T,339:g,396:A,400:S,401:m,404:N,406:R,408:C,409:O,417:I,418:y,434:v,436:k,437:L,439:$,440:w,441:D,442:x,443:M,447:U,448:_,451:P,452:q,505:G,507:F,508:V,517:B}),e(_r,[2,1184]),{78:[1,1634]},{78:[1,1635],118:Pr,278:1636},{78:[1,1637]},{119:[1,1638]},{119:[1,1639]},{78:[1,1640]},{78:[1,1641]},e(xi,[2,476]),e($i,[2,464],{74:wi}),{2:s,3:244,4:a,5:i,143:ze,145:Ze,199:1643,431:1642},e(ir,[2,703]),e(ir,[2,705]),{146:[1,1644]},{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,309:[1,1645],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},{339:Qr,462:1646},{417:[1,1649],463:[1,1648]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1650,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(zr,[2,267],{87:1651,245:[1,1652],247:[1,1653]}),{119:[1,1654]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1660,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,233:1655,235:1656,236:Zr,237:en,238:tn,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1661,4:a,5:i},{2:s,3:1662,4:a,5:i},e(Sr,[2,207]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1663,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1011,4:a,5:i,100:1664,111:1440},e(Vr,[2,209]),{2:s,3:1665,4:a,5:i},e(Vr,[2,1097],{220:1666,3:1667,2:s,4:a,5:i}),e(Br,[2,1096]),e(Vr,[2,212]),{2:s,3:1668,4:a,5:i},{78:[1,1669]},e(Vr,[2,217]),{2:s,3:1670,4:a,5:i},e(Vr,[2,220]),{2:s,3:1671,4:a,5:i},{40:1672,79:75,89:c,184:99,189:E},{40:1673,79:75,89:c,184:99,189:E},e(Rr,[2,227]),e(Rr,[2,229]),e(Rr,[2,231]),e(si,[2,171]),e(Or,[2,262]),e(Or,[2,265],{242:[1,1674]}),e(qi,[2,1084],{153:1015,179:ri,180:ni,181:oi}),e(ci,[2,141]),e(ua,[2,547]),e(ua,[2,550]),{374:[1,1675]},e(ua,[2,1127],{395:1676,393:1677,77:sn}),{131:ie,196:1679},e(ua,[2,555]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1680,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(ua,[2,557]),e(ua,[2,559]),{2:s,3:114,4:a,5:i,77:[1,1682],113:251,131:ie,132:re,143:oe,152:le,156:X,181:fe,196:250,200:255,201:254,257:252,258:253,265:We,274:1681,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,302:xe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1683,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(J,[2,578]),e(ss,[2,349]),e(ss,[2,350]),e(ss,[2,351]),e(ss,[2,352]),e(J,[2,582]),e(J,[2,592]),e(ba,[2,734]),e(J,[2,489]),e(J,[2,494],{355:1684,4:Hr,243:Yr,343:jr,356:Jr}),e(an,[2,496]),e(an,[2,497]),{124:[1,1685]},{124:[1,1686]},{124:[1,1687]},{74:[1,1688],78:[2,505]},e(ar,[2,533]),e(ar,[2,508]),{187:[1,1696],193:[1,1697],362:1689,363:1690,364:1691,365:1692,366:1693,368:wr,369:[1,1694],370:[1,1698],373:[1,1695]},{2:s,3:1699,4:a,5:i},{40:1700,79:75,89:c,184:99,189:E},{415:[1,1701]},{416:[1,1702]},e(J,[2,761]),e(J,[2,763]),e(Si,[2,537]),e(Xe,[2,331]),{78:[1,1703]},e(Xe,[2,332]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1660,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,233:1704,235:1656,236:Zr,237:en,238:tn,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1376,111:149,113:153,120:1705,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Xe,[2,317]),e(Xe,[2,319]),{2:s,3:1706,4:a,5:i},e(J,[2,720],{77:[1,1707]}),{2:s,3:1011,4:a,5:i,111:1065,143:ui,145:li,147:1708,336:1064,337:1066},{335:qr,338:Gr,461:1709},e(ir,[2,707]),{77:[1,1711],343:[1,1712],344:[1,1710]},{170:[1,1714],309:[1,1713]},{170:[1,1716],309:[1,1715]},{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,309:[1,1717],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(ii,[2,250],{88:1718,162:[1,1719],168:[1,1721],169:[1,1720]}),{131:ie,196:1722},{131:ie,196:1723},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1376,111:149,113:153,120:1724,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,241:1374,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},e(Ar,[2,248],{234:1725,74:rn,239:[1,1727]}),e(nn,[2,242]),{146:[1,1728]},{77:[1,1729]},{77:[1,1730]},e(nn,[2,247],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{78:[2,1051],96:1731,99:[1,1733],102:1732},{99:[1,1734]},e(Sr,[2,235],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),e(Sr,[2,236],{74:er}),e(Vr,[2,210]),e(Vr,[2,211]),e(Vr,[2,1098]),e(Vr,[2,213]),{2:s,3:1735,4:a,5:i,76:[1,1736]},e(Vr,[2,218]),e(Vr,[2,221]),{78:[1,1737]},{78:[1,1738]},e(Or,[2,266]),{2:s,3:244,4:a,5:i,199:1739},e(ua,[2,552]),e(ua,[2,1128]),{2:s,3:1740,4:a,5:i},{74:[1,1741]},{78:[1,1742],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(ua,[2,562]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1743,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{78:[1,1744],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(an,[2,495]),{2:s,3:1745,4:a,5:i},{131:ie,196:1746},{2:s,3:1747,4:a,5:i},e(Xr,Kr,{361:1627,360:1748,367:Wr}),e(ba,[2,510]),e(ba,[2,511]),e(ba,[2,512]),e(ba,[2,513]),e(ba,[2,514]),{370:[1,1749]},{370:[1,1750]},e(on,[2,1121],{382:1751,370:[1,1752]}),{2:s,3:1753,4:a,5:i},{2:s,3:1754,4:a,5:i},e(Xr,[2,516]),e(J,[2,1131],{411:1755,413:1756,72:Ur}),e(J,[2,610]),e(J,[2,611],{367:[1,1757]}),e(Xe,[2,333]),e([78,118],[2,334],{74:rn}),{74:Cr,78:[2,335]},e(J,[2,719]),{2:s,3:1011,4:a,5:i,100:1758,111:1440},e(ir,[2,706],{74:Vi}),e(ir,[2,704]),{77:ti,143:oe,144:979,145:Ke,152:le,181:fe,201:980,302:xe,342:1759,419:190,420:Pe,424:qe},{2:s,3:1011,4:a,5:i,100:1760,111:1440},{344:[1,1761]},{339:Qr,462:1762},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1763,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{339:Qr,462:1764},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1765,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{339:Qr,462:1766},e(ii,[2,72]),{40:1767,79:75,89:c,164:[1,1768],184:99,189:E,240:[1,1769]},{40:1770,79:75,89:c,184:99,189:E,240:[1,1771]},{40:1772,79:75,89:c,184:99,189:E,240:[1,1773]},e(zr,[2,270],{246:1774,247:[1,1775]}),{248:1776,249:[2,1099],766:[1,1777]},e(Fr,[2,260],{74:Cr}),e(Ar,[2,241]),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1660,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,235:1778,236:Zr,237:en,238:tn,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1779,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{77:[1,1780]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1660,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,233:1781,235:1656,236:Zr,237:en,238:tn,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1660,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,233:1782,235:1656,236:Zr,237:en,238:tn,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{78:[1,1783]},{78:[2,1052]},{77:[1,1784]},{77:[1,1785]},e(Vr,[2,214]),{2:s,3:1786,4:a,5:i},{2:s,3:1787,4:a,5:i,76:[1,1788]},{2:s,3:1789,4:a,5:i,76:[1,1790]},e(ua,[2,1125],{394:1791,393:1792,77:sn}),{78:[1,1793]},{131:ie,196:1794},e(ua,[2,556]),{78:[1,1795],99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(ua,[2,517]),e(an,[2,498]),e(an,[2,499]),e(an,[2,500]),e(ar,[2,509]),{2:s,3:1797,4:a,5:i,77:[2,1117],371:1796},{77:[1,1798]},{2:s,3:1800,4:a,5:i,77:[2,1123],383:1799},e(on,[2,1122]),{77:[1,1801]},{77:[1,1802]},e(J,[2,608]),e(J,[2,1132]),e(Xr,Kr,{361:1627,360:1803,367:Wr}),{74:er,78:[1,1804]},e(ir,[2,713],{74:wi}),{74:er,78:[1,1805]},e(ir,[2,715]),e(ir,[2,708]),{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,309:[1,1806],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(ir,[2,711]),{99:gt,112:At,114:625,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,309:[1,1807],311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,327:637,330:Qt,331:zt,332:Zt,333:es},e(ir,[2,709]),e(ii,[2,251]),{40:1808,79:75,89:c,184:99,189:E,240:[1,1809]},{40:1810,79:75,89:c,184:99,189:E},e(ii,[2,253]),{40:1811,79:75,89:c,184:99,189:E},e(ii,[2,254]),{40:1812,79:75,89:c,184:99,189:E},e(zr,[2,268]),{131:ie,196:1813},{249:[1,1814]},{249:[2,1100]},e(nn,[2,243]),e(Ar,[2,249],{114:625,327:637,99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1660,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,233:1815,235:1656,236:Zr,237:en,238:tn,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{74:rn,78:[1,1816]},{74:rn,78:[1,1817]},e(Ui,[2,1053],{97:1818,104:1819,3:1821,2:s,4:a,5:i,76:cn}),{2:s,3:168,4:a,5:i,56:165,77:ae,94:1824,103:1822,105:1823,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1011,4:a,5:i,100:1825,111:1440},e(Vr,[2,215]),e(Sr,[2,173]),{2:s,3:1826,4:a,5:i},e(Sr,[2,175]),{2:s,3:1827,4:a,5:i},e(ua,[2,551]),e(ua,[2,1126]),e(ua,[2,549]),{78:[1,1828]},e(ua,[2,563]),{77:[1,1829]},{77:[2,1118]},{2:s,3:1831,4:a,5:i,132:un,372:1830},{77:[1,1833]},{77:[2,1124]},{2:s,3:1011,4:a,5:i,100:1834,111:1440},{2:s,3:1011,4:a,5:i,100:1835,111:1440},e(J,[2,612]),e(J,[2,721]),{343:[1,1837],344:[1,1836]},{339:Qr,462:1838},{335:qr,338:Gr,461:1839},e(ii,[2,252]),{40:1840,79:75,89:c,184:99,189:E},e(ii,[2,255]),e(ii,[2,257]),e(ii,[2,258]),e(zr,[2,271]),{131:[2,1101],250:1841,645:[1,1842]},{74:rn,78:[1,1843]},e(nn,[2,245]),e(nn,[2,246]),e(Ui,[2,74]),e(Ui,[2,1054]),{2:s,3:1844,4:a,5:i},e(Ui,[2,78]),{74:[1,1846],78:[1,1845]},e(ar,[2,80]),e(ar,[2,81],{114:625,327:637,76:[1,1847],99:gt,112:At,115:St,116:mt,123:Nt,124:Ea,133:Ct,136:Ot,138:It,139:yt,140:vt,141:kt,142:Lt,154:$t,170:wt,171:Dt,179:xt,180:Mt,311:Ut,312:_t,313:Pt,315:qt,316:Gt,317:Ft,318:Vt,319:Bt,320:Ht,321:Yt,322:jt,323:Jt,324:Xt,325:Kt,326:Wt,330:Qt,331:zt,332:Zt,333:es}),{74:er,78:[1,1848]},e(Sr,[2,174]),e(Sr,[2,176]),e(ua,[2,553]),{2:s,3:1831,4:a,5:i,132:un,372:1849},{74:ln,78:[1,1850]},e(ar,[2,528]),e(ar,[2,529]),{2:s,3:1011,4:a,5:i,100:1852,111:1440},{74:er,78:[1,1853]},{74:er,78:[1,1854]},{77:ti,143:oe,144:979,145:Ke,152:le,181:fe,201:980,302:xe,342:1855,419:190,420:Pe,424:qe},{344:[1,1856]},e(ir,[2,710]),e(ir,[2,712]),e(ii,[2,256]),{131:ie,196:1857},{131:[2,1102]},e(nn,[2,244]),e(Ui,[2,77]),{78:[2,76]},{2:s,3:168,4:a,5:i,56:165,77:ae,94:1824,105:1858,111:149,113:153,131:ie,132:re,137:ne,143:oe,144:161,145:ce,149:ue,152:le,154:he,156:X,158:167,179:Ee,180:de,181:fe,196:151,200:147,201:155,202:156,254:150,255:146,256:148,257:152,258:154,259:157,260:158,261:159,262:162,263:163,265:pe,266:d,270:be,271:Te,273:ge,280:Ae,281:Se,282:me,283:Ne,284:Re,285:Ce,286:Oe,287:Ie,288:ye,290:K,291:W,292:Q,293:z,294:ve,295:ke,296:Le,297:$e,298:we,299:De,302:xe,303:Me,312:Ue,317:_e,419:190,420:Pe,424:qe},{2:s,3:1859,4:a,5:i},{78:[1,1860]},{74:ln,78:[1,1861]},{374:[1,1862]},{2:s,3:1863,4:a,5:i,132:[1,1864]},{74:er,78:[1,1865]},e(ba,[2,526]),e(ba,[2,527]),e(ir,[2,714],{74:wi}),e(ir,[2,716]),e(hn,[2,1103],{251:1866,766:[1,1867]}),e(ar,[2,79]),e(ar,[2,82]),e(Ui,[2,1055],{3:1821,101:1868,104:1869,2:s,4:a,5:i,76:cn}),e(ba,[2,518]),{2:s,3:244,4:a,5:i,199:1870},e(ar,[2,530]),e(ar,[2,531]),e(ba,[2,525]),e(zr,[2,1105],{252:1871,415:[1,1872]}),e(hn,[2,1104]),e(Ui,[2,75]),e(Ui,[2,1056]),e(En,[2,1119],{375:1873,377:1874,77:[1,1875]}),e(zr,[2,269]),e(zr,[2,1106]),e(ba,[2,521],{376:1876,378:1877,230:[1,1878]}),e(En,[2,1120]),{2:s,3:1831,4:a,5:i,132:un,372:1879},e(ba,[2,519]),{230:[1,1881],379:1880},{338:[1,1882]},{74:ln,78:[1,1883]},e(ba,[2,522]),{335:[1,1884]},{380:[1,1885]},e(En,[2,520]),{380:[1,1886]},{381:[1,1887]},{381:[1,1888]},{230:[2,523]},e(ba,[2,524])],defaultActions:{105:[2,6],194:[2,336],195:[2,337],196:[2,338],197:[2,339],198:[2,340],199:[2,341],200:[2,342],201:[2,343],202:[2,344],209:[2,695],591:[2,1142],653:[2,1107],654:[2,1108],710:[2,696],780:[2,1073],781:[2,1074],926:[2,446],927:[2,447],928:[2,448],987:[2,697],1288:[2,1152],1375:[2,1060],1433:[2,1150],1541:[2,507],1732:[2,1052],1777:[2,1100],1797:[2,1118],1800:[2,1124],1842:[2,1102],1845:[2,76],1887:[2,523]},parseError:function(e,t){if(!t.recoverable){var s=new Error(e);throw s.hash=t,s}this.trace(e)},parse:function(e){var t=this,s=this,a=[0],i=[null],r=[],n=this.table,o="",c=0,u=0,l=0,h=r.slice.call(arguments,1),E=Object.create(this.lexer),d={yy:{}};for(var f in t.yy)Object.prototype.hasOwnProperty.call(t.yy,f)&&(d.yy[f]=t.yy[f]);E.setInput(e,d.yy),d.yy.lexer=E,d.yy.parser=this,void 0===E.yylloc&&(E.yylloc={});var p=E.yylloc;r.push(p);var b=E.options&&E.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var T,g,A,S,m,N,R,C,O,I,y=function(){var e;return"number"!=typeof(e=E.lex()||1)&&(e=s.symbols_[e]||e),e},v={};;){if(A=a[a.length-1],t.defaultActions[A]?S=t.defaultActions[A]:(null==T&&(T=y()),S=n[A]&&n[A][T]),void 0===S||!S.length||!S[0]){var k,L="",$=function(e){for(var t=a.length-1,s=0;;){if(2..toString()in n[e])return s;if(0===e||t<2)return!1;e=a[t-=2],++s}};if(l)1!==g&&(k=$(A));else{for(N in k=$(A),O=[],n[A])t.terminals_[N]&&2t[0].length)){if(t=s,a=n,i.options.backtrack_lexer){if(!1!==(e=i.test_match(s,r[n])))return e;if(i._backtrack){t=!1;continue}return!1}if(!i.options.flex)break}return t?!1!==(e=this.test_match(t,r[a]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return e||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return 0)/i,/^(?:#)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:&)/i,/^(?:\|)/i,/^(?:<<)/i,/^(?:>>)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?::-)/i,/^(?:\?-)/i,/^(?:\.\.)/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:!)/i,/^(?:\^)/i,/^(?:~)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274],inclusive:!0}}};function bn(){this.yy={}}return dn.lexer=pn,new((bn.prototype=dn).Parser=bn)}();function u(e,t,s,a){if(0<=s){var i=a.sources[s];i.data=t,"function"==typeof i.data&&(i.getfn=i.data,i.dontcache=i.getfn.dontcache,"OUTER"!==i.joinmode&&"RIGHT"!==i.joinmode&&"ANTI"!==i.joinmode||(i.dontcache=!1),i.data={})}else a.queriesdata[-s-1]=flatArray(t);if(a.sourceslen--,!(0=a.sources.length)a.wherefn(i,a.params,e)&&(a.groupfn?a.groupfn(i,a.params,e):a.data.push(a.selectfn(i,a.params,e)));else if(a.sources[r].applyselect)(n=a.sources[r]).applyselect(a.params,function(e){if(0R.MAXSQLCACHESIZE&&n.resetSqlCache(),n.sqlCacheSize++,n.sqlCache[r]=o);var u=R.res=o(s,a,i);return u}return R.precompile(c.statements[0],R.useid,s),u=R.res=c.statements[0].execute(e,s,a,i)}if(!a)return R.drun(e,c,s,a,i);R.adrun(e,c,s,a,i)}},R.drun=function(e,t,s,a,i){var r=R.useid;r!==e&&R.use(e);for(var n=[],o=0,c=t.statements.length;o"===this.op||"!"===this.op){var e=this.left.toString()+this.op;return"string"!=typeof this.right&&"number"!=typeof this.right&&(e+="("),e+=this.right.toString(),"string"!=typeof this.right&&"number"!=typeof this.right&&(e+=")"),e}return this.left.toString()+" "+this.op+" "+(this.allsome?this.allsome+" ":"")+this.right.toString()},L.Op.prototype.findAggregator=function(e){this.left&&this.left.findAggregator&&this.left.findAggregator(e),this.right&&this.right.findAggregator&&!this.allsome&&this.right.findAggregator(e)},L.Op.prototype.toType=function(e){if(-1<["-","*","/","%","^"].indexOf(this.op))return"number";if(-1<["||"].indexOf(this.op))return"string";if("+"===this.op){if("string"===this.left.toType(e)||"string"===this.right.toType(e))return"string";if("number"===this.left.toType(e)||"number"===this.right.toType(e))return"number"}return-1<["AND","OR","NOT","=","==","===","!=","!==","!===",">",">=","<","<=","IN","NOT IN","LIKE","NOT LIKE","REGEXP","GLOB"].indexOf(this.op)?"boolean":"BETWEEN"===this.op||"NOT BETWEEN"===this.op||"IS NULL"===this.op||"IS NOT NULL"===this.op?"boolean":this.allsome?"boolean":this.op?"unknown":this.left.toType()},L.Op.prototype.toJS=function(t,s,a){var e,i=[],r=this.op,n=this,o=function(e){return e.toJS&&(e=e.toJS(t,s,a)),"y["+(i.push(e)-1)+"]"},c=function(){return o(n.left)},u=function(){return o(n.right)};if("="===this.op?r="===":"<>"===this.op?r="!=":"OR"===this.op&&(r="||"),"->"===this.op){var l="("+c()+"||{})";if("string"==typeof this.right)e=l+'["'+this.right+'"]';else if("number"==typeof this.right)e=l+"["+this.right+"]";else if(this.right instanceof L.FuncValue){var h=[];this.right.args&&0!==this.right.args.length&&(h=this.right.args.map(o)),e=l+"['"+this.right.funcid+"']("+h.join(",")+")"}else e=l+"["+u()+"]"}if("!"===this.op&&"string"==typeof this.right&&(e="alasql.databases[alasql.useid].objects["+c()+']["'+this.right+'"]'),"IS"===this.op&&(e="(("+c()+"==null) === ("+u()+"==null))"),"=="===this.op&&(e="alasql.utils.deepEqual("+c()+","+u()+")"),"==="!==this.op&&"!==="!==this.op||(e="("+("!==="===this.op?"!":"")+"(("+c()+").valueOf()===("+u()+").valueOf()))"),"!=="===this.op&&(e="(!alasql.utils.deepEqual("+c()+","+u()+"))"),"||"===this.op&&(e="(''+("+c()+"||'')+("+u()+'||""))'),"LIKE"!==this.op&&"NOT LIKE"!==this.op||(e="("+("NOT LIKE"===this.op?"!":"")+"alasql.utils.like("+u()+","+c(),this.escape&&(e+=","+o(this.escape)),e+="))"),"REGEXP"===this.op&&(e="alasql.stdfn.REGEXP_LIKE("+c()+","+u()+")"),"GLOB"===this.op&&(e="alasql.utils.glob("+c()+","+u()+")"),"BETWEEN"===this.op||"NOT BETWEEN"===this.op){var E=c();e="("+("NOT BETWEEN"===this.op?"!":"")+"(("+o(this.right1)+"<="+E+") && ("+E+"<="+o(this.right2)+")))"}if("IN"===this.op&&(this.right instanceof L.Select?(e="(",e+="alasql.utils.flatArray(this.queriesfn["+this.queriesidx+"](params,null,"+t+"))",e+=".indexOf(",e+=c()+")>-1)"):e=Array.isArray(this.right)?"(["+this.right.map(o).join(",")+"].indexOf("+c()+")>-1)":"("+u()+".indexOf("+c()+")>-1)"),"NOT IN"===this.op&&(this.right instanceof L.Select?(e="(",e+="alasql.utils.flatArray(this.queriesfn["+this.queriesidx+"](params,null,p))",e+=".indexOf(",e+=c()+")<0)"):Array.isArray(this.right)?(e="(["+this.right.map(o).join(",")+"].indexOf(",e+=c()+")<0)"):(e="("+u()+".indexOf(",e+=c()+")==-1)")),"ALL"===this.allsome)if(this.right instanceof L.Select)e="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))",e+=".every(function(b){return (",e+=c()+")"+r+"b})";else{if(!Array.isArray(this.right))throw new Error("NOT IN operator without SELECT");e=""+(1==this.right.length?o(this.right[0]):"["+this.right.map(o).join(",")+"]"),e+=".every(function(b){return (",e+=c()+")"+r+"b})"}if("SOME"===this.allsome||"ANY"===this.allsome)if(this.right instanceof L.Select)e="alasql.utils.flatArray(this.query.queriesfn["+this.queriesidx+"](params,null,p))",e+=".some(function(b){return (",e+=c()+")"+r+"b})";else{if(!Array.isArray(this.right))throw new Error("SOME/ANY operator without SELECT");e=""+(1==this.right.length?o(this.right[0]):"["+this.right.map(o).join(",")+"]"),e+=".some(function(b){return (",e+=c()+")"+r+"b})"}if("AND"===this.op){if(this.left.reduced){if(this.right.reduced)return"true";e=u()}else this.right.reduced&&(e=c());r="&&"}var d=e||"("+c()+r+u()+")",f="y=[("+i.join("), (")+")]";return"&&"===r||"||"===r||"IS"===r||"IS NULL"===r||"IS NOT NULL"===r?"("+f+", "+d+")":"("+f+", y.some(function(e){return e == null}) ? void 0 : "+d+")"},L.VarValue=function(e){return L.extend(this,e)},L.VarValue.prototype.toString=function(){return"@"+this.variable},L.VarValue.prototype.toType=function(){return"unknown"},L.VarValue.prototype.toJS=function(){return"alasql.vars['"+this.variable+"']"},L.NumValue=function(e){return L.extend(this,e)},L.NumValue.prototype.toString=function(){return this.value.toString()},L.NumValue.prototype.toType=function(){return"number"},L.NumValue.prototype.toJS=function(){return""+this.value},L.StringValue=function(e){return L.extend(this,e)},L.StringValue.prototype.toString=function(){return"'"+this.value.toString()+"'"},L.StringValue.prototype.toType=function(){return"string"},L.StringValue.prototype.toJS=function(){return"'"+g.escapeq(this.value)+"'"},L.DomainValueValue=function(e){return L.extend(this,e)},L.DomainValueValue.prototype.toString=function(){return"VALUE"},L.DomainValueValue.prototype.toType=function(){return"object"},L.DomainValueValue.prototype.toJS=function(e,t,s){return e},L.ArrayValue=function(e){return L.extend(this,e)},L.ArrayValue.prototype.toString=function(){return"ARRAY[]"},L.ArrayValue.prototype.toType=function(){return"object"},L.ArrayValue.prototype.toJS=function(t,s,a){return"[("+this.value.map(function(e){return e.toJS(t,s,a)}).join("), (")+")]"},L.LogicValue=function(e){return L.extend(this,e)},L.LogicValue.prototype.toString=function(){return this.value?"TRUE":"FALSE"},L.LogicValue.prototype.toType=function(){return"boolean"},L.LogicValue.prototype.toJS=function(){return this.value?"true":"false"},L.NullValue=function(e){return L.extend(this,e)},L.NullValue.prototype.toString=function(){return"NULL"},L.NullValue.prototype.toJS=function(){return"undefined"},L.ParamValue=function(e){return L.extend(this,e)},L.ParamValue.prototype.toString=function(){return"$"+this.param},L.ParamValue.prototype.toJS=function(){return"string"==typeof this.param?"params['"+this.param+"']":"params["+this.param+"]"},L.UniOp=function(e){return L.extend(this,e)},L.UniOp.prototype.toString=function(){var e;return e=void 0,"~"===this.op&&(e=this.op+this.right.toString()),"-"===this.op&&(e=this.op+this.right.toString()),"+"===this.op&&(e=this.op+this.right.toString()),"#"===this.op&&(e=this.op+this.right.toString()),"NOT"===this.op&&(e=this.op+"("+this.right.toString()+")"),null===this.op&&(e="("+this.right.toString()+")"),e||(e="("+this.right.toString()+")"),e},L.UniOp.prototype.findAggregator=function(e){this.right.findAggregator&&this.right.findAggregator(e)},L.UniOp.prototype.toType=function(){return"-"===this.op?"number":"+"===this.op?"number":"NOT"===this.op?"boolean":void 0},L.UniOp.prototype.toJS=function(e,t,s){return"~"===this.op?"(~("+this.right.toJS(e,t,s)+"))":"-"===this.op?"(-("+this.right.toJS(e,t,s)+"))":"+"===this.op?"("+this.right.toJS(e,t,s)+")":"NOT"===this.op?"!("+this.right.toJS(e,t,s)+")":"#"===this.op?this.right instanceof L.Column?"(alasql.databases[alasql.useid].objects['"+this.right.columnid+"'])":"(alasql.databases[alasql.useid].objects["+this.right.toJS(e,t,s)+"])":null==this.op?"("+this.right.toJS(e,t,s)+")":void 0},L.Column=function(e){return L.extend(this,e)},L.Column.prototype.toString=function(e){var t;return t=this.columnid==+this.columnid?"["+this.columnid+"]":this.columnid,this.tableid&&(t=+this.columnid===this.columnid?this.tableid+t:this.tableid+"."+t,this.databaseid&&(t=this.databaseid+"."+t)),this.alias&&!e&&(t+=" AS "+this.alias),t},L.Column.prototype.toJS=function(e,t,s){var a="";if(this.tableid||""!==t||s)if("g"===e)a="g['"+this.nick+"']";else if(this.tableid)a="_"!==this.columnid?e+"['"+this.tableid+"']['"+this.columnid+"']":"g"===e?"g['_']":e+"['"+this.tableid+"']";else if(s){var i=s[this.columnid];if("-"===i)throw new Error('Cannot resolve column "'+this.columnid+'" because it exists in two source tables');a=i?"_"!==this.columnid?e+"['"+i+"']['"+this.columnid+"']":e+"['"+i+"']":"_"!==this.columnid?e+"['"+(this.tableid||t)+"']['"+this.columnid+"']":e+"['"+(this.tableid||t)+"']"}else a=-1===t?e+"['"+this.columnid+"']":"_"!==this.columnid?e+"['"+(this.tableid||t)+"']['"+this.columnid+"']":e+"['"+(this.tableid||t)+"']";else a="_"!==this.columnid?e+"['"+this.columnid+"']":"g"===e?"g['_']":e;return a},L.AggrValue=function(e){return L.extend(this,e)},L.AggrValue.prototype.toString=function(e){var t="";return"REDUCE"===this.aggregatorid?t+=this.funcid+"(":t+=this.aggregatorid+"(",this.distinct&&(t+="DISTINCT "),this.expression&&(t+=this.expression.toString()),t+=")",this.over&&(t+=" "+this.over.toString()),this.alias&&!e&&(t+=" AS "+this.alias),t},L.AggrValue.prototype.findAggregator=function(e){var t=g.escapeq(this.toString())+":"+e.selectGroup.length;if(!(s=!1)){if(!this.nick){this.nick=t;for(var s=!1,a=0;a>8&255]+i[e>>16&255]+i[e>>24&255]+"-"+i[255&t]+i[t>>8&255]+"-"+i[t>>16&15|64]+i[t>>24&255]+"-"+i[63&s|128]+i[s>>8&255]+"-"+i[s>>16&255]+i[s>>24&255]+i[255&a]+i[a>>8&255]+i[a>>16&255]+i[a>>24&255]},e.alasql.stdfn=t}(te),(re=(ie=te).alasql).aggr.GROUP_CONCAT=function(e,t,s){return 1===s?""+e:2===s?t+=","+e:t},re.aggr.MEDIAN=function(e,t,s){if(2===s)return null!==e&&t.push(e),t;if(1===s)return null===e?[]:[e];if(!t.length)return t;var a=t.sort(),i=(a.length+1)/2;return Number.isInteger(i)?a[i-1]:(a[Math.floor(i-1)]+a[Math.ceil(i-1)])/2},re.aggr.QUART=function(e,t,s,a){if(2===s)return null!==e&&t.push(e),t;if(1===s)return null===e?[]:[e];if(!t.length)return t;a=a||1;var i=t.sort(),r=a*(i.length+1)/4;return Number.isInteger(r)?i[r-1]:i[Math.floor(r)]},re.aggr.QUART2=function(e,t,s){return re.aggr.QUART(e,t,s,2)},re.aggr.QUART3=function(e,t,s){return re.aggr.QUART(e,t,s,3)},re.aggr.VAR=function(e,t,s){if(1===s)return null===e?{arr:[],sum:0}:{arr:[e],sum:e};if(2===s)return null===e||(t.arr.push(e),t.sum+=e),t;for(var a=t.arr.length,i=t.sum/a,r=0,n=0;n {
+ await esbuild.build({
+ entryPoints: ["./src/main.js"],
+ bundle: true,
+ minify: true,
+ sourcemap: true,
+ target: ["chrome58", "firefox57", "safari11", "edge16"],
+ outfile: "./dist/es6/alasql.js",
+ });
+
+ await esbuild.build({
+ entryPoints: ["./src/main.js"],
+ bundle: true,
+ platform: "node",
+ target: ["node12"],
+ packages: "external",
+ outfile: "./dist/alasql.fs.js",
+ });
+})();
diff --git a/gulpfile.js b/gulpfile.js
index ae54d562fe..9f9d5a76ec 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -157,13 +157,13 @@ gulp.task('js-merge', function() {
.pipe(replace(/PACKAGE_VERSION_NUMBER/g, version)) // Please set version in package.json file
.pipe(gulp.dest('./dist'))
- .pipe(dereserve()) // Support IE8
- .pipe(replace(/\/\/\*not-for-browser\/\*/g, '/*not-for-browser/*')) // Remove things not for browser build
- .pipe(replace(/\/\*only-for-browser\/\*/g, '//*only-for-browser/*')) // Reveal things only for browser build
- .pipe(rename('alasql.js'))
- .pipe(gulp.dest('./dist'))
- .pipe(rename('alasql.min.js'))
- .pipe(
+ //.pipe(dereserve()) // Support IE8
+ //.pipe(replace(/\/\/\*not-for-browser\/\*/g, '/*not-for-browser/*')) // Remove things not for browser build
+ //.pipe(replace(/\/\*only-for-browser\/\*/g, '//*only-for-browser/*')) // Reveal things only for browser build
+ //.pipe(rename('alasql.js'))
+ //.pipe(gulp.dest('./dist'))
+ //.pipe(rename('alasql.min.js'))
+ /*.pipe(
uglify({
preserveComments: function(a, b) {
return 1 === b.line && /^!/.test(b.value);
@@ -171,6 +171,7 @@ gulp.task('js-merge', function() {
})
) // leave first line of comment if starts with a "!"
.pipe(gulp.dest('./dist'));
+ */
});
gulp.task('jison-compile', function() {
diff --git a/inch.json b/inch.json
deleted file mode 100644
index f13ff2b3fc..0000000000
--- a/inch.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "files": {
- "included": [
- "src/*.js"
- ],
- "excluded": [
- "!regexp:/vendor/"
- ]
- }
-}
diff --git a/lib/assert/assert.js b/lib/assert/assert.js
deleted file mode 100644
index 73c9fa55ce..0000000000
--- a/lib/assert/assert.js
+++ /dev/null
@@ -1,431 +0,0 @@
-// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
-//
-// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
-//
-// Copyright (c) 2011 Jxck
-//
-// Originally from node.js (http://nodejs.org)
-// Copyright Joyent, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the 'Software'), to
-// deal in the Software without restriction, including without limitation the
-// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-(function(module) {
-
-if (typeof module.exports === 'undefined') {
- module.exports = module; // this case must be browser
-}
-
-// UTILITY
-
-// Object.create compatible in IE
-var create = Object.create || function(p) {
- if (!p) throw Error('no type');
- function f() {};
- f.prototype = p;
- return new f();
-};
-
-// UTILITY
-var util = {
- inherits: function(ctor, superCtor) {
- ctor.super_ = superCtor;
- ctor.prototype = create(superCtor.prototype, {
- constructor: {
- value: ctor,
- enumerable: false,
- writable: true,
- configurable: true
- }
- });
- },
- isArray: function(ar) {
- return Array.isArray(ar);
- },
- isBoolean: function(arg) {
- return typeof arg === 'boolean';
- },
- isNull: function(arg) {
- return arg === null;
- },
- isNullOrUndefined: function(arg) {
- return arg == null;
- },
- isNumber: function(arg) {
- return typeof arg === 'number';
- },
- isString: function(arg) {
- return typeof arg === 'string';
- },
- isSymbol: function(arg) {
- return typeof arg === 'symbol';
- },
- isUndefined: function(arg) {
- return arg === void 0;
- },
- isRegExp: function(re) {
- return util.isObject(re) && util.objectToString(re) === '[object RegExp]';
- },
- isObject: function(arg) {
- return typeof arg === 'object' && arg !== null;
- },
- isDate: function(d) {
- return util.isObject(d) && util.objectToString(d) === '[object Date]';
- },
- isError: function(e) {
- return isObject(e) &&
- (objectToString(e) === '[object Error]' || e instanceof Error);
- },
- isFunction: function(arg) {
- return typeof arg === 'function';
- },
- isPrimitive: function(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
- },
- objectToString: function(o) {
- return Object.prototype.toString.call(o);
- }
-};
-
-var pSlice = Array.prototype.slice;
-
-// from https://github.com/substack/node-deep-equal
-var Object_keys = typeof Object.keys === 'function'
- ? Object.keys
- : function (obj) {
- var keys = [];
- for (var key in obj) keys.push(key);
- return keys;
- }
-;
-
-// 1. The assert module provides functions that throw
-// AssertionError's when particular conditions are not met. The
-// assert module must conform to the following interface.
-
-var assert = module.exports = ok;
-
-// 2. The AssertionError is defined in assert.
-// new assert.AssertionError({ message: message,
-// actual: actual,
-// expected: expected })
-
-assert.AssertionError = function AssertionError(options) {
- this.name = 'AssertionError';
- this.actual = options.actual;
- this.expected = options.expected;
- this.operator = options.operator;
- if (options.message) {
- this.message = options.message;
- this.generatedMessage = false;
- } else {
- this.message = getMessage(this);
- this.generatedMessage = true;
- }
- var stackStartFunction = options.stackStartFunction || fail;
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, stackStartFunction);
- } else {
- // try to throw an error now, and from the stack property
- // work out the line that called in to assert.js.
- try {
- this.stack = (new Error).stack.toString();
- } catch (e) {}
- }
-};
-
-// assert.AssertionError instanceof Error
-util.inherits(assert.AssertionError, Error);
-
-function replacer(key, value) {
- if (util.isUndefined(value)) {
- return '' + value;
- }
- if (util.isNumber(value) && (isNaN(value) || !isFinite(value))) {
- return value.toString();
- }
- if (util.isFunction(value) || util.isRegExp(value)) {
- return value.toString();
- }
- return value;
-}
-
-function truncate(s, n) {
- if (util.isString(s)) {
- return s.length < n ? s : s.slice(0, n);
- } else {
- return s;
- }
-}
-
-function getMessage(self) {
- return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
- self.operator + ' ' +
- truncate(JSON.stringify(self.expected, replacer), 128);
-}
-
-// At present only the three keys mentioned above are used and
-// understood by the spec. Implementations or sub modules can pass
-// other keys to the AssertionError's constructor - they will be
-// ignored.
-
-// 3. All of the following functions must throw an AssertionError
-// when a corresponding condition is not met, with a message that
-// may be undefined if not provided. All assertion methods provide
-// both the actual and expected values to the assertion error for
-// display purposes.
-
-function fail(actual, expected, message, operator, stackStartFunction) {
- throw new assert.AssertionError({
- message: message,
- actual: actual,
- expected: expected,
- operator: operator,
- stackStartFunction: stackStartFunction
- });
-}
-
-// EXTENSION! allows for well behaved errors defined elsewhere.
-assert.fail = fail;
-
-// 4. Pure assertion tests whether a value is truthy, as determined
-// by !!guard.
-// assert.ok(guard, message_opt);
-// This statement is equivalent to assert.equal(true, !!guard,
-// message_opt);. To test strictly for the value true, use
-// assert.strictEqual(true, guard, message_opt);.
-
-function ok(value, message) {
- if (!value) fail(value, true, message, '==', assert.ok);
-}
-assert.ok = ok;
-
-// 5. The equality assertion tests shallow, coercive equality with
-// ==.
-// assert.equal(actual, expected, message_opt);
-
-assert.equal = function equal(actual, expected, message) {
- if (actual != expected) fail(actual, expected, message, '==', assert.equal);
-};
-
-// 6. The non-equality assertion tests for whether two objects are not equal
-// with != assert.notEqual(actual, expected, message_opt);
-
-assert.notEqual = function notEqual(actual, expected, message) {
- if (actual == expected) {
- fail(actual, expected, message, '!=', assert.notEqual);
- }
-};
-
-// 7. The equivalence assertion tests a deep equality relation.
-// assert.deepEqual(actual, expected, message_opt);
-
-assert.deepEqual = function deepEqual(actual, expected, message) {
- if (!_deepEqual(actual, expected)) {
- fail(actual, expected, message, 'deepEqual', assert.deepEqual);
- }
-};
-
-function _deepEqual(actual, expected) {
- // 7.1. All identical values are equivalent, as determined by ===.
- if (actual === expected) {
- return true;
-
- // } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
- // if (actual.length != expected.length) return false;
- //
- // for (var i = 0; i < actual.length; i++) {
- // if (actual[i] !== expected[i]) return false;
- // }
- //
- // return true;
- //
- // 7.2. If the expected value is a Date object, the actual value is
- // equivalent if it is also a Date object that refers to the same time.
- } else if (util.isDate(actual) && util.isDate(expected)) {
- return actual.getTime() === expected.getTime();
-
- // 7.3 If the expected value is a RegExp object, the actual value is
- // equivalent if it is also a RegExp object with the same source and
- // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
- } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
- return actual.source === expected.source &&
- actual.global === expected.global &&
- actual.multiline === expected.multiline &&
- actual.lastIndex === expected.lastIndex &&
- actual.ignoreCase === expected.ignoreCase;
-
- // 7.4. Other pairs that do not both pass typeof value == 'object',
- // equivalence is determined by ==.
- } else if (!util.isObject(actual) && !util.isObject(expected)) {
- return actual == expected;
-
- // 7.5 For all other Object pairs, including Array objects, equivalence is
- // determined by having the same number of owned properties (as verified
- // with Object.prototype.hasOwnProperty.call), the same set of keys
- // (although not necessarily the same order), equivalent values for every
- // corresponding key, and an identical 'prototype' property. Note: this
- // accounts for both named and indexed properties on Arrays.
- } else {
- return objEquiv(actual, expected);
- }
-}
-
-function isArguments(object) {
- return Object.prototype.toString.call(object) == '[object Arguments]';
-}
-
-function objEquiv(a, b) {
- if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
- return false;
- // an identical 'prototype' property.
- if (a.prototype !== b.prototype) return false;
- //~~~I've managed to break Object.keys through screwy arguments passing.
- // Converting to array solves the problem.
- var aIsArgs = isArguments(a),
- bIsArgs = isArguments(b);
- if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
- return false;
- if (aIsArgs) {
- a = pSlice.call(a);
- b = pSlice.call(b);
- return _deepEqual(a, b);
- }
- try {
- var ka = Object.keys(a),
- kb = Object.keys(b),
- key, i;
- } catch (e) {//happens when one is a string literal and the other isn't
- return false;
- }
- // having the same number of owned properties (keys incorporates
- // hasOwnProperty)
- if (ka.length != kb.length)
- return false;
- //the same set of keys (although not necessarily the same order),
- ka.sort();
- kb.sort();
- //~~~cheap key test
- for (i = ka.length - 1; i >= 0; i--) {
- if (ka[i] != kb[i])
- return false;
- }
- //equivalent values for every corresponding key, and
- //~~~possibly expensive deep test
- for (i = ka.length - 1; i >= 0; i--) {
- key = ka[i];
- if (!_deepEqual(a[key], b[key])) return false;
- }
- return true;
-}
-
-// 8. The non-equivalence assertion tests for any deep inequality.
-// assert.notDeepEqual(actual, expected, message_opt);
-
-assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
- if (_deepEqual(actual, expected)) {
- fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
- }
-};
-
-// 9. The strict equality assertion tests strict equality, as determined by ===.
-// assert.strictEqual(actual, expected, message_opt);
-
-assert.strictEqual = function strictEqual(actual, expected, message) {
- if (actual !== expected) {
- fail(actual, expected, message, '===', assert.strictEqual);
- }
-};
-
-// 10. The strict non-equality assertion tests for strict inequality, as
-// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
-
-assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
- if (actual === expected) {
- fail(actual, expected, message, '!==', assert.notStrictEqual);
- }
-};
-
-function expectedException(actual, expected) {
- if (!actual || !expected) {
- return false;
- }
-
- if (Object.prototype.toString.call(expected) == '[object RegExp]') {
- return expected.test(actual);
- } else if (actual instanceof expected) {
- return true;
- } else if (expected.call({}, actual) === true) {
- return true;
- }
-
- return false;
-}
-
-function _throws(shouldThrow, block, expected, message) {
- var actual;
-
- if (util.isString(expected)) {
- message = expected;
- expected = null;
- }
-
- try {
- block();
- } catch (e) {
- actual = e;
- }
-
- message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
- (message ? ' ' + message : '.');
-
- if (shouldThrow && !actual) {
- fail(actual, expected, 'Missing expected exception' + message);
- }
-
- if (!shouldThrow && expectedException(actual, expected)) {
- fail(actual, expected, 'Got unwanted exception' + message);
- }
-
- if ((shouldThrow && actual && expected &&
- !expectedException(actual, expected)) || (!shouldThrow && actual)) {
- throw actual;
- }
-}
-
-// 11. Expected to throw an error:
-// assert.throws(block, Error_opt, message_opt);
-
-assert.throws = function(block, /*optional*/error, /*optional*/message) {
- _throws.apply(this, [true].concat(pSlice.call(arguments)));
-};
-
-// EXTENSION! This is annoying to write outside this module.
-assert.doesNotThrow = function(block, /*optional*/message) {
- _throws.apply(this, [false].concat(pSlice.call(arguments)));
-};
-
-assert.ifError = function(err) { if (err) {throw err;}};
-
-module.assert = module.exports;
-delete module.exports;
-})(this);
diff --git a/lib/base64/base64.min.js b/lib/base64/base64.min.js
deleted file mode 100644
index b2f13773f7..0000000000
--- a/lib/base64/base64.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(global){"use strict";var _Base64=global.Base64;var version="2.1.7";var buffer;if(typeof module!=="undefined"&&module.exports){buffer=require("buffer").Buffer}var b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b64tab=function(bin){var t={};for(var i=0,l=bin.length;i>>6)+fromCharCode(128|cc&63):fromCharCode(224|cc>>>12&15)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return fromCharCode(240|cc>>>18&7)+fromCharCode(128|cc>>>12&63)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}};var re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;var utob=function(u){return u.replace(re_utob,cb_utob)};var cb_encode=function(ccc){var padlen=[0,2,1][ccc.length%3],ord=ccc.charCodeAt(0)<<16|(ccc.length>1?ccc.charCodeAt(1):0)<<8|(ccc.length>2?ccc.charCodeAt(2):0),chars=[b64chars.charAt(ord>>>18),b64chars.charAt(ord>>>12&63),padlen>=2?"=":b64chars.charAt(ord>>>6&63),padlen>=1?"=":b64chars.charAt(ord&63)];return chars.join("")};var btoa=global.btoa?function(b){return global.btoa(b)}:function(b){return b.replace(/[\s\S]{1,3}/g,cb_encode)};var _encode=buffer?function(u){return(u.constructor===buffer.constructor?u:new buffer(u)).toString("base64")}:function(u){return btoa(utob(u))};var encode=function(u,urisafe){return!urisafe?_encode(String(u)):_encode(String(u)).replace(/[+\/]/g,function(m0){return m0=="+"?"-":"_"}).replace(/=/g,"")};var encodeURI=function(u){return encode(u,true)};var re_btou=new RegExp(["[À-ß][-¿]","[à-ï][-¿]{2}","[ð-÷][-¿]{3}"].join("|"),"g");var cb_btou=function(cccc){switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset=cp-65536;return fromCharCode((offset>>>10)+55296)+fromCharCode((offset&1023)+56320);case 3:return fromCharCode((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return fromCharCode((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}};var btou=function(b){return b.replace(re_btou,cb_btou)};var cb_decode=function(cccc){var len=cccc.length,padlen=len%4,n=(len>0?b64tab[cccc.charAt(0)]<<18:0)|(len>1?b64tab[cccc.charAt(1)]<<12:0)|(len>2?b64tab[cccc.charAt(2)]<<6:0)|(len>3?b64tab[cccc.charAt(3)]:0),chars=[fromCharCode(n>>>16),fromCharCode(n>>>8&255),fromCharCode(n&255)];chars.length-=[0,0,2,1][padlen];return chars.join("")};var atob=global.atob?function(a){return global.atob(a)}:function(a){return a.replace(/[\s\S]{1,4}/g,cb_decode)};var _decode=buffer?function(a){return(a.constructor===buffer.constructor?a:new buffer(a,"base64")).toString()}:function(a){return btou(atob(a))};var decode=function(a){return _decode(String(a).replace(/[-_]/g,function(m0){return m0=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))};var noConflict=function(){var Base64=global.Base64;global.Base64=_Base64;return Base64};global.Base64={VERSION:version,atob:atob,btoa:btoa,fromBase64:decode,toBase64:encode,utob:utob,encode:encode,encodeURI:encodeURI,btou:btou,decode:decode,noConflict:noConflict};if(typeof Object.defineProperty==="function"){var noEnum=function(v){return{value:v,enumerable:false,writable:true,configurable:true}};global.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",noEnum(function(){return decode(this)}));Object.defineProperty(String.prototype,"toBase64",noEnum(function(urisafe){return encode(this,urisafe)}));Object.defineProperty(String.prototype,"toBase64URI",noEnum(function(){return encode(this,true)}))}}})(this);if(this["Meteor"]){Base64=global.Base64}
\ No newline at end of file
diff --git a/lib/jquery/jquery.min.js b/lib/jquery/jquery.min.js
deleted file mode 100644
index e5ace116b6..0000000000
--- a/lib/jquery/jquery.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML=" ",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML=" ","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML=" ",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
-},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""," "],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
-},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("
-
-
\ No newline at end of file
diff --git a/lib/xml-parser/index.js b/lib/xml-parser/index.js
deleted file mode 100644
index 992fd71917..0000000000
--- a/lib/xml-parser/index.js
+++ /dev/null
@@ -1,167 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var debug = require('debug')('xml-parser');
-
-/**
- * Expose `parse`.
- */
-
-module.exports = parse;
-
-/**
- * Parse the given string of `xml`.
- *
- * @param {String} xml
- * @return {Object}
- * @api public
- */
-
-function parse(xml) {
- xml = xml.trim();
-
- // strip comments
- xml = xml.replace(//g, '');
-
- return document();
-
- /**
- * XML document.
- */
-
- function document() {
- return {
- declaration: declaration(),
- root: tag()
- }
- }
-
- /**
- * Declaration.
- */
-
- function declaration() {
- var m = match(/^<\?xml\s*/);
- if (!m) return;
-
- // tag
- var node = {
- attributes: {}
- };
-
- // attributes
- while (!(eos() || is('?>'))) {
- var attr = attribute();
- if (!attr) return node;
- node.attributes[attr.name] = attr.value;
- }
-
- match(/\?>\s*/);
-
- return node;
- }
-
- /**
- * Tag.
- */
-
- function tag() {
- debug('tag %j', xml);
- var m = match(/^<([\w-:.]+)\s*/);
- if (!m) return;
-
- // name
- var node = {
- name: m[1],
- attributes: {},
- children: []
- };
-
- // attributes
- while (!(eos() || is('>') || is('?>') || is('/>'))) {
- var attr = attribute();
- if (!attr) return node;
- node.attributes[attr.name] = attr.value;
- }
-
- // self closing tag
- if (match(/^\s*\/>\s*/)) {
- return node;
- }
-
- match(/\??>\s*/);
-
- // content
- node.content = content();
-
- // children
- var child;
- while (child = tag()) {
- node.children.push(child);
- }
-
- // closing
- match(/^<\/[\w-:.]+>\s*/);
-
- return node;
- }
-
- /**
- * Text content.
- */
-
- function content() {
- debug('content %j', xml);
- var m = match(/^([^<]*)/);
- if (m) return m[1];
- return '';
- }
-
- /**
- * Attribute.
- */
-
- function attribute() {
- debug('attribute %j', xml);
- var m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);
- if (!m) return;
- return { name: m[1], value: strip(m[2]) }
- }
-
- /**
- * Strip quotes from `val`.
- */
-
- function strip(val) {
- return val.replace(/^['"]|['"]$/g, '');
- }
-
- /**
- * Match `re` and advance the string.
- */
-
- function match(re) {
- var m = xml.match(re);
- if (!m) return;
- xml = xml.slice(m[0].length);
- return m;
- }
-
- /**
- * End-of-source.
- */
-
- function eos() {
- return 0 == xml.length;
- }
-
- /**
- * Check for `prefix`.
- */
-
- function is(prefix) {
- return 0 == xml.indexOf(prefix);
- }
-}
diff --git a/lib/xml-parser/test306.xml b/lib/xml-parser/test306.xml
deleted file mode 100644
index 15666e5ac9..0000000000
--- a/lib/xml-parser/test306.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
- Andrey Gershun
- Andrey Gershun
- 2015-05-03T12:34:07Z
- Alfina
- 14.0
-
-
-
-
-
- 9940
- 25600
- 0
- 0
- 1
- False
- False
-
-
-
-
-
-
-
-
- aaaa |
-
-
- 2 |
-
-
- 3 |
-
-
-
-
- 200
- 0
-
-
- 3
- 1
-
-
- False
- False
-
-
-
-
-
- 5 |
-
-
- 6 |
-
-
- 7 |
-
-
-
- 0
-
- False
- False
-
-
-
diff --git a/lib/xmldoc/xmldoc.js b/lib/xmldoc/xmldoc.js
deleted file mode 100644
index f003f05637..0000000000
--- a/lib/xmldoc/xmldoc.js
+++ /dev/null
@@ -1,235 +0,0 @@
-(function () {
-
-var sax;
-
-if (typeof module !== 'undefined' && module.exports) {
- // We're being used in a Node-like environment
- sax = require('sax');
-}
-else {
- // assume it's attached to the Window object in a browser
- sax = this.sax;
-
- if (!sax) // no sax for you!
- throw new Error("Expected sax to be defined. Make sure you're including sax.js before this file.");
-}
-
-/*
-XmlElement is our basic building block. Everything is an XmlElement; even XmlDocument
-behaves like an XmlElement by inheriting its attributes and functions.
-*/
-
-function XmlElement(tag) {
- // Capture the parser object off of the XmlDocument delegate
- var parser = delegates[delegates.length - 1].parser;
-
- this.name = tag.name;
- this.attr = tag.attributes || {};
- this.val = "";
- this.children = [];
- this.firstChild = null;
- this.lastChild = null;
-
- // Assign parse information
- this.line = parser.line;
- this.column = parser.column;
- this.position = parser.position;
- this.startTagPosition = parser.startTagPosition;
-}
-
-// SaxParser handlers
-
-XmlElement.prototype._opentag = function(tag) {
-
- var child = new XmlElement(tag);
-
- // add to our children array
- this.children.push(child);
-
- // update first/last pointers
- if (!this.firstChild) this.firstChild = child;
- this.lastChild = child;
-
- delegates.unshift(child);
-};
-
-XmlElement.prototype._closetag = function() {
- delegates.shift();
-};
-
-XmlElement.prototype._text = function(text) {
- if (text) this.val += text;
-};
-
-XmlElement.prototype._cdata = function(cdata) {
- if (cdata) this.val += cdata;
-};
-
-// Useful functions
-
-XmlElement.prototype.eachChild = function(iterator, context) {
- for (var i=0, l=this.children.length; i 1 ? descendant.attr[components[1]] : descendant.val;
- else
- return null;
-};
-
-// String formatting (for debugging)
-
-XmlElement.prototype.toString = function(options) {
- return this.toStringWithIndent("", options);
-};
-
-XmlElement.prototype.toStringWithIndent = function(indent, options) {
- var s = indent + "<" + this.name;
- var linebreak = options && options.compressed ? "" : "\n";
-
- for (var name in this.attr)
- if (Object.prototype.hasOwnProperty.call(this.attr, name))
- s += " " + name + '="' + this.attr[name] + '"';
-
- var finalVal = this.val.trim().replace(//g, ">").replace(/&/g, '&');
-
- if (options && options.trimmed && finalVal.length > 25)
- finalVal = finalVal.substring(0,25).trim() + "…";
-
- if (this.children.length) {
- s += ">" + linebreak;
-
- var childIndent = indent + (options && options.compressed ? "" : " ");
-
- if (finalVal.length)
- s += childIndent + finalVal + linebreak;
-
- for (var i=0, l=this.children.length; i";
- }
- else if (finalVal.length) {
- s += ">" + finalVal + "" + this.name +">";
- }
- else s += "/>";
-
- return s;
-};
-
-/*
-XmlDocument is the class we expose to the user; it uses the sax parser to create a hierarchy
-of XmlElements.
-*/
-
-function XmlDocument(xml) {
- xml && (xml = xml.toString().trim());
-
- if (!xml)
- throw new Error("No XML to parse!");
-
- // Expose the parser to the other delegates while the parser is running
- this.parser = sax.parser(true); // strict
- addParserEvents(this.parser);
-
- // We'll use the file-scoped "delegates" var to remember what elements we're currently
- // parsing; they will push and pop off the stack as we get deeper into the XML hierarchy.
- // It's safe to use a global because JS is single-threaded.
- delegates = [this];
-
- this.parser.write(xml);
-
- // Remove the parser as it is no longer needed and should not be exposed to clients
- delete this.parser;
-}
-
-// make XmlDocument inherit XmlElement's methods
-extend(XmlDocument.prototype, XmlElement.prototype);
-
-XmlDocument.prototype._opentag = function(tag) {
- if (typeof this.children === 'undefined')
- // the first tag we encounter should be the root - we'll "become" the root XmlElement
- XmlElement.call(this,tag);
- else
- // all other tags will be the root element's children
- XmlElement.prototype._opentag.apply(this,arguments);
-};
-
-// file-scoped global stack of delegates
-var delegates = null;
-
-/*
-Helper functions
-*/
-
-function addParserEvents(parser) {
- parser.onopentag = parser_opentag;
- parser.onclosetag = parser_closetag;
- parser.ontext = parser_text;
- parser.oncdata = parser_cdata;
-}
-
-// create these closures and cache them by keeping them file-scoped
-function parser_opentag() { delegates[0]._opentag.apply(delegates[0],arguments) }
-function parser_closetag() { delegates[0]._closetag.apply(delegates[0],arguments) }
-function parser_text() { delegates[0]._text.apply(delegates[0],arguments) }
-function parser_cdata() { delegates[0]._cdata.apply(delegates[0],arguments) }
-
-// a relatively standard extend method
-function extend(destination, source) {
- for (var prop in source)
- if (source.hasOwnProperty(prop))
- destination[prop] = source[prop];
-}
-
-// Are we being used in a Node-like environment?
-if (typeof module !== 'undefined' && module.exports)
- module.exports.XmlDocument = XmlDocument;
-else
- this.XmlDocument = XmlDocument;
-
-})();
diff --git a/package-lock.json b/package-lock.json
index 367f9981a6..d97e6d47b3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,19 +1,151 @@
{
"name": "alasql",
- "version": "0.4.5",
+ "version": "0.5.0-modular-typescript",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "JSONSelect": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/JSONSelect/-/JSONSelect-0.4.0.tgz",
- "integrity": "sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40=",
+ "@babel/code-frame": {
+ "version": "7.0.0-beta.51",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz",
+ "integrity": "sha1-vXHZsZKvl435FYKdOdQJRFZDmgw=",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "7.0.0-beta.51"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.0.0-beta.51",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.51.tgz",
+ "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=",
+ "dev": true,
+ "requires": {
+ "chalk": "2.1.0",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ }
+ },
+ "@gerhobbelt/ast-types": {
+ "version": "0.9.13-4",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/ast-types/-/ast-types-0.9.13-4.tgz",
+ "integrity": "sha512-V8UIj1XN6XOP014fPpecxEa7AlAB9kaTOB/wF9UbguuwIMWCHDmdA9i03JDK9zXyVDVaLWCYh42JK8F9f27AtA==",
"dev": true
},
- "JSV": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
- "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=",
+ "@gerhobbelt/ast-util": {
+ "version": "0.6.1-4",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/ast-util/-/ast-util-0.6.1-4.tgz",
+ "integrity": "sha512-NP7YZh7rR6CNiMLyKTF+qb2Epx0r5x/zKQ3Z14TgXl73YJurC8WkMkFM9nDj8cRXb6R+f+BEu4DqAvvYKMxbqg==",
+ "dev": true,
+ "requires": {
+ "@gerhobbelt/ast-types": "0.9.13-4",
+ "private": "0.1.7"
+ }
+ },
+ "@gerhobbelt/esprima": {
+ "version": "4.0.1-15",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/esprima/-/esprima-4.0.1-15.tgz",
+ "integrity": "sha512-0VITWyCsgbRlNv0WjWfEszAHcgJL/iAQKSNfzU/uoJ6S7W/mgM8q4iWmzv7BDl4nmRpcYoSqW2B/BwXJNFzNMg==",
+ "dev": true
+ },
+ "@gerhobbelt/json5": {
+ "version": "0.5.1-21",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/json5/-/json5-0.5.1-21.tgz",
+ "integrity": "sha512-BwqwZb2iv7Iu4nwJwj1D0LKvnvKxMVXB+VgTsrwb+s36KY/xYaTmKbFq0MAoEGiMBcB8jz3/L/J6lBBdx5XqAw==",
+ "dev": true,
+ "requires": {
+ "yargs": "10.0.3"
+ },
+ "dependencies": {
+ "yargs": {
+ "version": "10.0.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz",
+ "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==",
+ "dev": true,
+ "requires": {
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "8.1.0"
+ }
+ }
+ }
+ },
+ "@gerhobbelt/linewrap": {
+ "version": "0.2.2-3",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/linewrap/-/linewrap-0.2.2-3.tgz",
+ "integrity": "sha512-u2eUbXgNtqckBI4gxds/uiUNoytT+qIqpePmVDI5isW8A18uB3Qz1P+UxAHgFafGOZWJNrpR0IKnZhl7QhaUng==",
+ "dev": true
+ },
+ "@gerhobbelt/nomnom": {
+ "version": "1.8.4-24",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/nomnom/-/nomnom-1.8.4-24.tgz",
+ "integrity": "sha512-spzyz2vHd1BhYNSUMXjqJOwk4AjnOIzZz3cYCOryUCzMvlqz01/+SAPEy/pjT47CrOGdWd0JgemePjru1aLYgQ==",
+ "dev": true,
+ "requires": {
+ "@gerhobbelt/linewrap": "0.2.2-3",
+ "chalk": "2.1.0",
+ "exit": "0.1.2"
+ }
+ },
+ "@gerhobbelt/recast": {
+ "version": "0.13.0-24",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/recast/-/recast-0.13.0-24.tgz",
+ "integrity": "sha512-WqIAY+8RwgsgZHtJjeZJK3/w60uOMGOiW3Tcrm+gE31a3lcCjMnCgmYbauHLGCUYdRtepGS+jnr29ub3MFhKCg==",
+ "dev": true,
+ "requires": {
+ "@gerhobbelt/ast-types": "0.10.1-15",
+ "@gerhobbelt/esprima": "4.0.1-15",
+ "core-js": "2.5.3",
+ "private": "0.1.8",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "@gerhobbelt/ast-types": {
+ "version": "0.10.1-15",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/ast-types/-/ast-types-0.10.1-15.tgz",
+ "integrity": "sha512-CXoPKXH9xqCiWza0S/4TFjXa7aS8GAA8gYenBzhMN5+VwWDFBd2QVUGESq75nRe+yxgUkzSFQvq6rtAuQLRouA==",
+ "dev": true
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
+ }
+ }
+ },
+ "@gerhobbelt/xregexp": {
+ "version": "3.2.0-22",
+ "resolved": "https://registry.npmjs.org/@gerhobbelt/xregexp/-/xregexp-3.2.0-22.tgz",
+ "integrity": "sha512-TRu38Z67VxFSMrBP3z/ORiJVQqp56ulidZirbobtmJnVGBWLdo4GbHtihgIJFGieIZuk+LxmPkK45SY+SQsR3A==",
+ "dev": true
+ },
+ "@types/es6-promise": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/@types/es6-promise/-/es6-promise-3.3.0.tgz",
+ "integrity": "sha512-ixCIAEkLUKv9movnHKCzx2rzAJgEnSALDXPrOSSwOjWwXFs0ssSZKan+O2e3FExPPCbX+DfA9NcKsbvLuyUlNA==",
+ "dev": true,
+ "requires": {
+ "es6-promise": "4.2.4"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "10.3.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.5.tgz",
+ "integrity": "sha512-6lRwZN0Y3TuglwaaZN2XPocobmzLlhxcqDjKFjNYSsXG/TFAGYkCqkzZh4+ms8iTHHQE6gJXLHPV7TziVGeWhg==",
"dev": true
},
"abbrev": {
@@ -23,18 +155,27 @@
"dev": true
},
"acorn": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz",
- "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw==",
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
+ "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
"dev": true
},
+ "acorn-dynamic-import": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
+ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.7.1"
+ }
+ },
"acorn-jsx": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
"integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
"dev": true,
"requires": {
- "acorn": "^3.0.4"
+ "acorn": "3.3.0"
},
"dependencies": {
"acorn": {
@@ -46,12 +187,12 @@
}
},
"adler-32": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.1.0.tgz",
- "integrity": "sha1-A1UaXH8O371PyPoSpoFJeOq2UcM=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
+ "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=",
"requires": {
- "exit-on-epipe": "~1.0.1",
- "printj": "~1.1.0"
+ "exit-on-epipe": "1.0.1",
+ "printj": "1.1.2"
}
},
"ajv": {
@@ -59,10 +200,10 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
+ "co": "4.6.0",
+ "fast-deep-equal": "1.1.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
}
},
"ajv-keywords": {
@@ -77,9 +218,9 @@
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
}
},
"amdefine": {
@@ -94,46 +235,13 @@
"integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
"dev": true,
"requires": {
- "string-width": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "string-width": "2.1.1"
}
},
"ansi-escapes": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
- "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
+ "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
"dev": true
},
"ansi-regex": {
@@ -142,10 +250,13 @@
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "1.9.2"
+ }
},
"ansicolors": {
"version": "0.2.1",
@@ -153,19 +264,22 @@
"integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=",
"dev": true
},
- "archy": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
- "dev": true
+ "append-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
+ "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
+ "dev": true,
+ "requires": {
+ "buffer-equal": "1.0.0"
+ }
},
"argparse": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
- "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
- "sprintf-js": "~1.0.2"
+ "sprintf-js": "1.0.3"
}
},
"arr-diff": {
@@ -174,25 +288,13 @@
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"dev": true,
"requires": {
- "arr-flatten": "^1.0.1"
+ "arr-flatten": "1.1.0"
}
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
- "dev": true
- },
- "array-differ": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
- "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
- "dev": true
- },
- "array-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
"array-find-index": {
@@ -201,19 +303,13 @@
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
"dev": true
},
- "array-slice": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.0.0.tgz",
- "integrity": "sha1-5zA08A3MH0CHYAj9IP6ud71LfC8=",
- "dev": true
- },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"dev": true,
"requires": {
- "array-uniq": "^1.0.1"
+ "array-uniq": "1.0.3"
}
},
"array-uniq": {
@@ -244,20 +340,11 @@
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
- "ast-types": {
- "version": "0.6.16",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.6.16.tgz",
- "integrity": "sha1-BCBbcu3dGVqP6qCB8R0ClKJN7ZM=",
- "dev": true
- },
"async": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
- "integrity": "sha1-hDGQ/WtzV6C54clW7d3V7IRitU0=",
- "dev": true,
- "requires": {
- "lodash": "^4.14.0"
- }
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
},
"asynckit": {
"version": "0.4.0",
@@ -276,9 +363,9 @@
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
- "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
+ "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w=="
},
"babel-code-frame": {
"version": "6.26.0",
@@ -286,15 +373,34 @@
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
"dev": true,
"requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
},
"dependencies": {
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
}
}
@@ -305,7 +411,7 @@
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
"dev": true,
"requires": {
- "babel-runtime": "^6.22.0"
+ "babel-runtime": "6.26.0"
}
},
"babel-runtime": {
@@ -314,8 +420,8 @@
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"dev": true,
"requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
+ "core-js": "2.5.3",
+ "regenerator-runtime": "0.11.1"
}
},
"babel-traverse": {
@@ -324,15 +430,32 @@
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
"dev": true,
"requires": {
- "babel-code-frame": "^6.26.0",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "debug": "^2.6.8",
- "globals": "^9.18.0",
- "invariant": "^2.2.2",
- "lodash": "^4.17.4"
+ "babel-code-frame": "6.26.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "debug": "2.6.9",
+ "globals": "9.18.0",
+ "invariant": "2.2.4",
+ "lodash": "4.17.10"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
+ }
}
},
"babel-types": {
@@ -341,24 +464,16 @@
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
"dev": true,
"requires": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
- },
- "dependencies": {
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- }
+ "babel-runtime": "6.26.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.10",
+ "to-fast-properties": "1.0.3"
}
},
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
"dev": true
},
"balanced-match": {
@@ -373,21 +488,9 @@
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"optional": true,
"requires": {
- "tweetnacl": "^0.14.3"
+ "tweetnacl": "0.14.5"
}
},
- "beeper": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
- "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
- "dev": true
- },
- "binaryextensions": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz",
- "integrity": "sha1-HmN0iLNbWL2l9HdL+WpSEqjJB1U=",
- "dev": true
- },
"bluebird": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
@@ -397,131 +500,108 @@
"blueimp-md5": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.10.0.tgz",
- "integrity": "sha1-AvCEOSH5DcoU9biSCjhZMgHWlk0=",
+ "integrity": "sha512-EkNUOi7tpV68TqjpiUz9D9NcT8um2+qtgntmMbi5UKssVX2m/2PLqotcric0RE63pB3HPN/fjf3cKHN2ufGSUQ==",
"dev": true
},
- "boom": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
- "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
- "requires": {
- "hoek": "4.x.x"
- }
- },
"boxen": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
"integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
"dev": true,
"requires": {
- "ansi-align": "^2.0.0",
- "camelcase": "^4.0.0",
- "chalk": "^2.0.1",
- "cli-boxes": "^1.0.0",
- "string-width": "^2.0.0",
- "term-size": "^1.2.0",
- "widest-line": "^2.0.0"
+ "ansi-align": "2.0.0",
+ "camelcase": "4.1.0",
+ "chalk": "2.1.0",
+ "cli-boxes": "1.0.0",
+ "string-width": "2.1.1",
+ "term-size": "1.2.0",
+ "widest-line": "2.0.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+ "dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ }
+ },
+ "buble": {
+ "version": "0.19.3",
+ "resolved": "https://registry.npmjs.org/buble/-/buble-0.19.3.tgz",
+ "integrity": "sha512-3B0Lcy2u6x6km0BqTz/FS3UnrOJlnIlBWsyjvtqzdtmWkqiS0+Sg4hc6L9Mmm63hZKTACpYS9vUeIoKSi1vcrQ==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.7.1",
+ "acorn-dynamic-import": "3.0.0",
+ "acorn-jsx": "4.1.1",
+ "chalk": "2.4.1",
+ "magic-string": "0.22.5",
+ "minimist": "1.2.0",
+ "os-homedir": "1.0.2",
+ "vlq": "1.0.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha1-wVm41b4PnlpvNG2rlPFs4CIWG4g=",
+ "acorn-jsx": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz",
+ "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==",
"dev": true,
"requires": {
- "color-convert": "^1.9.0"
+ "acorn": "5.7.1"
}
},
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
- },
"chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
- "ansi-styles": "^3.1.0",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^4.0.0"
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
}
},
"has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
"supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true,
"requires": {
- "has-flag": "^2.0.0"
+ "has-flag": "3.0.0"
}
}
}
},
- "brace-expansion": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
- "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "dev": true,
- "requires": {
- "expand-range": "^1.8.1",
- "preserve": "^0.2.0",
- "repeat-element": "^1.1.2"
- }
- },
- "browser-stdout": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
- "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
+ "buffer-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
+ "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=",
"dev": true
},
"buffer-from": {
@@ -530,65 +610,19 @@
"integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==",
"dev": true
},
- "bufferstreams": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.3.tgz",
- "integrity": "sha512-HaJnVuslRF4g2kSDeyl++AaVizoitCpL9PglzCYwy0uHHyvWerfvEb8jWmYbF1z4kiVFolGomnxSGl+GUQp2jg==",
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
+ },
+ "caller-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
+ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
"dev": true,
"requires": {
- "readable-stream": "^2.0.2"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
- },
- "caller-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
- "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
- "dev": true,
- "requires": {
- "callsites": "^0.2.0"
+ "callsites": "0.2.0"
}
},
"callsite": {
@@ -603,12 +637,39 @@
"integrity": "sha1-mgOQZC5D/ou4I5ReUUZPafQWQ94=",
"dev": true,
"requires": {
- "callsite": "^1.0.0",
- "chalk": "^1.1.1",
- "error-stack-parser": "^1.3.3",
- "highlight-es": "^1.0.0",
- "lodash": "4.6.1 || ^4.16.1",
- "pinkie-promise": "^2.0.0"
+ "callsite": "1.0.0",
+ "chalk": "1.1.3",
+ "error-stack-parser": "1.3.6",
+ "highlight-es": "1.0.3",
+ "lodash": "4.17.10",
+ "pinkie-promise": "2.0.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
}
},
"callsites": {
@@ -618,9 +679,9 @@
"dev": true
},
"camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
},
"camelcase-keys": {
"version": "2.1.0",
@@ -628,8 +689,8 @@
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
"requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
+ "camelcase": "2.1.1",
+ "map-obj": "1.0.1"
},
"dependencies": {
"camelcase": {
@@ -652,8 +713,8 @@
"integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=",
"dev": true,
"requires": {
- "ansicolors": "~0.2.1",
- "redeyed": "~1.0.0"
+ "ansicolors": "0.2.1",
+ "redeyed": "1.0.1"
}
},
"caseless": {
@@ -666,38 +727,37 @@
"resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
"dev": true,
+ "optional": true,
"requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
}
},
"cfb": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.0.1.tgz",
- "integrity": "sha1-VXuyT2fa54gDeFoVldNlvILF+rQ=",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.0.7.tgz",
+ "integrity": "sha512-KjjZFR+a/e8RDdDTr4PwR0P/HIFRI3sxArFQttml0pFkhIO4TnvS/1+dqtGXPqe5/0MHp2IzjFx1JTzmohHT+w==",
"requires": {
- "commander": "^2.12.1",
- "printj": "~1.1.0"
+ "commander": "2.15.1",
+ "printj": "1.1.2"
},
"dependencies": {
"commander": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
- "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
+ "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
}
}
},
"chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
+ "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
"dev": true,
"requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "4.5.0"
}
},
"chardet": {
@@ -707,9 +767,9 @@
"dev": true
},
"ci-info": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz",
- "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz",
+ "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==",
"dev": true
},
"circular-json": {
@@ -718,15 +778,6 @@
"integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
"dev": true
},
- "cjson": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.3.0.tgz",
- "integrity": "sha1-5kObkHA9MS/24iJAl76pLOPQKhQ=",
- "dev": true,
- "requires": {
- "jsonlint": "1.6.0"
- }
- },
"cli-boxes": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
@@ -734,12 +785,12 @@
"dev": true
},
"cli-cursor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
- "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
"dev": true,
"requires": {
- "restore-cursor": "^1.0.1"
+ "restore-cursor": "2.0.0"
}
},
"cli-spinners": {
@@ -766,13 +817,13 @@
}
},
"cli-usage": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.4.tgz",
- "integrity": "sha1-fAHg3HBsI0s5yTODjI4gshdXduI=",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/cli-usage/-/cli-usage-0.1.7.tgz",
+ "integrity": "sha512-x/Q52iLSZsRrRb2ePmTsVYXrGcrPQ8G4yRAY7QpMlumxAfPVrnDOH2X6Z5s8qsAX7AA7YuIi8AXFrvH0wWEesA==",
"dev": true,
"requires": {
- "marked": "^0.3.6",
- "marked-terminal": "^1.6.2"
+ "marked": "0.3.19",
+ "marked-terminal": "2.0.0"
}
},
"cli-width": {
@@ -785,16 +836,30 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
}
},
"clone": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz",
- "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
+ "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
"dev": true
},
"clone-buffer": {
@@ -804,20 +869,20 @@
"dev": true
},
"clone-stats": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
- "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
+ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"cloneable-readable": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz",
- "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
+ "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "process-nextick-args": "^1.0.6",
- "through2": "^2.0.1"
+ "inherits": "2.0.3",
+ "process-nextick-args": "2.0.0",
+ "readable-stream": "2.3.6"
}
},
"co": {
@@ -831,48 +896,48 @@
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"codepage": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.11.1.tgz",
- "integrity": "sha1-hkcjl+pbLNuwe3cBalEkd6PLiCM=",
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.12.2.tgz",
+ "integrity": "sha512-FAN+oPs/ocaPLFvIt4vEOHgWA6UJ6t+fVbbVBoXDpTpC+4JYasomYZEEjR/Miph3qQrVnIShRwwmwu4P35JW1w==",
"requires": {
- "commander": "~2.11.0",
- "exit-on-epipe": "~1.0.1",
- "voc": "~1.0.0"
+ "commander": "2.14.1",
+ "exit-on-epipe": "1.0.1"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz",
+ "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw=="
+ }
}
},
"color-convert": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
- "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
+ "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
"dev": true,
"requires": {
- "color-name": "^1.1.1"
+ "color-name": "1.1.1"
}
},
"color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "colors": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",
- "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
"dev": true
},
"combined-stream": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
- "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"requires": {
- "delayed-stream": "~1.0.0"
+ "delayed-stream": "1.0.0"
}
},
"commander": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
- "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM="
+ "version": "2.13.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
+ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
},
"concat-map": {
"version": "0.0.1",
@@ -886,104 +951,26 @@
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"dev": true,
"requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "buffer-from": "1.1.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "typedarray": "0.0.6"
}
},
- "concat-with-sourcemaps": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz",
- "integrity": "sha1-9Vs74q60dgGxCi1SWcz7cP0vHdY=",
+ "configstore": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
+ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
"dev": true,
"requires": {
- "source-map": "^0.5.1"
- }
- },
- "configstore": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-0.3.2.tgz",
- "integrity": "sha1-JeTBbDdoq/dcWmW8YXYfSVBVtFk=",
- "dev": true,
- "requires": {
- "graceful-fs": "^3.0.1",
- "js-yaml": "^3.1.0",
- "mkdirp": "^0.5.0",
- "object-assign": "^2.0.0",
- "osenv": "^0.1.0",
- "user-home": "^1.0.0",
- "uuid": "^2.0.1",
- "xdg-basedir": "^1.0.0"
- },
- "dependencies": {
- "graceful-fs": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
- "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
- "dev": true,
- "requires": {
- "natives": "^1.1.0"
- }
- },
- "object-assign": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
- "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
- "dev": true
- },
- "uuid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
- "dev": true
- }
+ "dot-prop": "4.2.0",
+ "graceful-fs": "4.1.11",
+ "make-dir": "1.3.0",
+ "unique-string": "1.0.0",
+ "write-file-atomic": "2.3.0",
+ "xdg-basedir": "3.0.0"
}
},
- "contains-path": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
- "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
- "dev": true
- },
"contra": {
"version": "1.9.4",
"resolved": "https://registry.npmjs.org/contra/-/contra-1.9.4.tgz",
@@ -994,6 +981,12 @@
"ticky": "1.0.1"
}
},
+ "convert-source-map": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
+ "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+ "dev": true
+ },
"core-js": {
"version": "2.5.3",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz",
@@ -1006,12 +999,12 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"crc-32": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.1.1.tgz",
- "integrity": "sha1-XXOdXkxuNSrYME1zIj1IP+Va240=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz",
+ "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==",
"requires": {
- "exit-on-epipe": "~1.0.1",
- "printj": "~1.1.0"
+ "exit-on-epipe": "1.0.1",
+ "printj": "1.1.2"
}
},
"create-error-class": {
@@ -1020,30 +1013,17 @@
"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
"dev": true,
"requires": {
- "capture-stack-trace": "^1.0.0"
+ "capture-stack-trace": "1.0.0"
}
},
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
"requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "dependencies": {
- "lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- }
+ "lru-cache": "4.1.3",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
}
},
"cross-spawn-async": {
@@ -1052,38 +1032,8 @@
"integrity": "sha1-hF/wwINKPe2dFg2sptOQkGuyiMw=",
"dev": true,
"requires": {
- "lru-cache": "^4.0.0",
- "which": "^1.2.8"
- },
- "dependencies": {
- "lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- }
- }
- },
- "cryptiles": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
- "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
- "requires": {
- "boom": "5.x.x"
- },
- "dependencies": {
- "boom": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
- "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
- "requires": {
- "hoek": "4.x.x"
- }
- }
+ "lru-cache": "4.1.3",
+ "which": "1.3.1"
}
},
"crypto-random-string": {
@@ -1098,7 +1048,7 @@
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
"dev": true,
"requires": {
- "array-find-index": "^1.0.1"
+ "array-find-index": "1.0.2"
}
},
"dashdash": {
@@ -1106,19 +1056,13 @@
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"requires": {
- "assert-plus": "^1.0.0"
+ "assert-plus": "1.0.0"
}
},
- "dateformat": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
- "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
- "dev": true
- },
"debug": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -1129,10 +1073,19 @@
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
+ "deep-assign": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-2.0.0.tgz",
+ "integrity": "sha1-6+BrHwfwja5ZdiDj3RYi83GhxXI=",
+ "dev": true,
+ "requires": {
+ "is-obj": "1.0.1"
+ }
+ },
"deep-extend": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
- "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=",
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"dev": true
},
"deep-is": {
@@ -1141,13 +1094,14 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+ "define-properties": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
"dev": true,
"requires": {
- "clone": "^1.0.2"
+ "foreach": "2.0.5",
+ "object-keys": "1.0.12"
}
},
"del": {
@@ -1156,58 +1110,13 @@
"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
"dev": true,
"requires": {
- "globby": "^5.0.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "rimraf": "^2.2.8"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- }
+ "globby": "5.0.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.1",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "rimraf": "2.6.2"
}
},
"delayed-stream": {
@@ -1216,187 +1125,52 @@
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depcheck": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.6.8.tgz",
- "integrity": "sha1-givXLv6QCv1mt4tZ3SabpjsQAgw=",
- "dev": true,
- "requires": {
- "babel-traverse": "^6.7.3",
- "babylon": "^6.1.21",
- "builtin-modules": "^1.1.1",
- "deprecate": "^1.0.0",
- "deps-regex": "^0.1.4",
- "js-yaml": "^3.4.2",
- "lodash": "^4.5.1",
- "minimatch": "^3.0.2",
- "require-package-name": "^2.0.1",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-0.6.9.tgz",
+ "integrity": "sha1-7+b99c8AwhcoEbwqJAPVnlNB5Rk=",
+ "dev": true,
+ "requires": {
+ "babel-traverse": "6.26.0",
+ "babylon": "6.18.0",
+ "builtin-modules": "1.1.1",
+ "deprecate": "1.0.0",
+ "deps-regex": "0.1.4",
+ "js-yaml": "3.12.0",
+ "lodash": "4.17.10",
+ "minimatch": "3.0.4",
+ "require-package-name": "2.0.1",
"walkdir": "0.0.11",
- "yargs": "^8.0.2"
+ "yargs": "8.0.2"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "os-locale": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "dev": true,
- "requires": {
- "execa": "^0.7.0",
- "lcid": "^1.0.0",
- "mem": "^1.1.0"
- }
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "yargs": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
+ "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
"dev": true,
"requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
+ "camelcase": "4.1.0",
+ "cliui": "3.2.0",
+ "decamelize": "1.2.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "read-pkg-up": "2.0.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "7.0.0"
}
},
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "yargs-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
+ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
"dev": true,
"requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
- "dev": true,
- "requires": {
- "camelcase": "^4.1.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^2.0.0",
- "read-pkg-up": "^2.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^7.0.0"
- }
- },
- "yargs-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
- "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "dev": true,
- "requires": {
- "camelcase": "^4.1.0"
+ "camelcase": "4.1.0"
}
}
}
@@ -1407,79 +1181,40 @@
"integrity": "sha1-ZhSQ7SQokWpsiIPYg05WRvTkpKg=",
"dev": true
},
- "deprecated": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
- "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
- "dev": true
- },
"deps-regex": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz",
"integrity": "sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ=",
"dev": true
},
- "detect-file": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
- "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=",
- "dev": true,
- "requires": {
- "fs-exists-sync": "^0.1.0"
- }
- },
- "diff": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz",
- "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=",
- "dev": true
- },
"doctrine": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
"requires": {
- "esutils": "^2.0.2",
- "isarray": "^1.0.0"
- },
- "dependencies": {
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- }
+ "esutils": "2.0.2"
}
},
"dom-storage": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.0.2.tgz",
- "integrity": "sha1-7RfL9oq9EOCu+BgnE+KXxeS1ALA="
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz",
+ "integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q=="
},
"dot-prop": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
"dev": true,
"requires": {
- "is-obj": "^1.0.0"
+ "is-obj": "1.0.1"
}
},
- "duplexer2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
- "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
- "dev": true,
- "requires": {
- "readable-stream": "~1.1.9"
- }
+ "duplexer": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+ "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+ "dev": true
},
"duplexer3": {
"version": "0.1.4",
@@ -1488,97 +1223,42 @@
"dev": true
},
"duplexify": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz",
- "integrity": "sha1-ThUWvmiDi8kKSZlPCzmm5ZYL780=",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
+ "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
"dev": true,
"requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- },
- "dependencies": {
- "end-of-stream": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz",
- "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=",
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "end-of-stream": "1.4.1",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "stream-shift": "1.0.0"
}
},
- "ebnf-parser": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/ebnf-parser/-/ebnf-parser-0.1.10.tgz",
- "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=",
- "dev": true
- },
"ecc-jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"optional": true,
"requires": {
- "jsbn": "~0.1.0"
+ "jsbn": "0.1.1"
}
},
"end-of-stream": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
- "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
"dev": true,
"requires": {
- "once": "~1.3.0"
+ "once": "1.4.0"
}
},
"error-ex": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
"requires": {
- "is-arrayish": "^0.2.1"
+ "is-arrayish": "0.2.1"
}
},
"error-stack-parser": {
@@ -1587,52 +1267,13 @@
"integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=",
"dev": true,
"requires": {
- "stackframe": "^0.3.1"
- }
- },
- "es-simpler-traverser": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/es-simpler-traverser/-/es-simpler-traverser-0.0.1.tgz",
- "integrity": "sha1-+WmwWI8Po1N0IDrsTz2HpOYBVCE=",
- "dev": true
- },
- "es3-safe-recast": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es3-safe-recast/-/es3-safe-recast-2.0.2.tgz",
- "integrity": "sha1-e/2zVXvwPygJE0jDTWtU9p6sz0s=",
- "dev": true,
- "requires": {
- "es-simpler-traverser": "0.0.1",
- "recast": "^0.9.18"
- },
- "dependencies": {
- "recast": {
- "version": "0.9.18",
- "resolved": "https://registry.npmjs.org/recast/-/recast-0.9.18.tgz",
- "integrity": "sha1-9wkhu59zfY4fsGpEAxW9fsFFh8k=",
- "dev": true,
- "requires": {
- "ast-types": "~0.6.1",
- "esprima-fb": "~10001.1.0-dev-harmony-fb",
- "private": "~0.1.5",
- "source-map": "~0.1.40"
- }
- },
- "source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
- "dev": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- }
+ "stackframe": "0.3.1"
}
},
"es6-promise": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.2.tgz",
- "integrity": "sha512-LSas5vsuA6Q4nEdf9wokY5/AJYXry98i0IzXsv49rYsgDGDNDPbqAYR1Pe23iFxygfbGZNR/5VrHXBCh2BhvUQ=="
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz",
+ "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ=="
},
"escape-string-regexp": {
"version": "1.0.5",
@@ -1641,31 +1282,38 @@
"dev": true
},
"escodegen": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
- "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
"requires": {
- "esprima": "~1.1.1",
- "estraverse": "~1.5.0",
- "esutils": "~1.0.0",
- "source-map": "~0.1.33"
+ "esprima": "2.7.3",
+ "estraverse": "1.9.3",
+ "esutils": "2.0.2",
+ "optionator": "0.8.2",
+ "source-map": "0.2.0"
},
"dependencies": {
"esprima": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
- "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=",
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "estraverse": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
"dev": true
},
"source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"dev": true,
"optional": true,
"requires": {
- "amdefine": ">=0.0.4"
+ "amdefine": "1.0.1"
}
}
}
@@ -1676,505 +1324,96 @@
"integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
"dev": true,
"requires": {
- "ajv": "^5.3.0",
- "babel-code-frame": "^6.22.0",
- "chalk": "^2.1.0",
- "concat-stream": "^1.6.0",
- "cross-spawn": "^5.1.0",
- "debug": "^3.1.0",
- "doctrine": "^2.1.0",
- "eslint-scope": "^3.7.1",
- "eslint-visitor-keys": "^1.0.0",
- "espree": "^3.5.4",
- "esquery": "^1.0.0",
- "esutils": "^2.0.2",
- "file-entry-cache": "^2.0.0",
- "functional-red-black-tree": "^1.0.1",
- "glob": "^7.1.2",
- "globals": "^11.0.1",
- "ignore": "^3.3.3",
- "imurmurhash": "^0.1.4",
- "inquirer": "^3.0.6",
- "is-resolvable": "^1.0.0",
- "js-yaml": "^3.9.1",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.3.0",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.2",
- "mkdirp": "^0.5.1",
- "natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
- "path-is-inside": "^1.0.2",
- "pluralize": "^7.0.0",
- "progress": "^2.0.0",
- "regexpp": "^1.0.1",
- "require-uncached": "^1.0.3",
- "semver": "^5.3.0",
- "strip-ansi": "^4.0.0",
- "strip-json-comments": "~2.0.1",
+ "ajv": "5.5.2",
+ "babel-code-frame": "6.26.0",
+ "chalk": "2.1.0",
+ "concat-stream": "1.6.2",
+ "cross-spawn": "5.1.0",
+ "debug": "3.1.0",
+ "doctrine": "2.1.0",
+ "eslint-scope": "3.7.1",
+ "eslint-visitor-keys": "1.0.0",
+ "espree": "3.5.4",
+ "esquery": "1.0.1",
+ "esutils": "2.0.2",
+ "file-entry-cache": "2.0.0",
+ "functional-red-black-tree": "1.0.1",
+ "glob": "7.1.2",
+ "globals": "11.7.0",
+ "ignore": "3.3.10",
+ "imurmurhash": "0.1.4",
+ "inquirer": "3.3.0",
+ "is-resolvable": "1.1.0",
+ "js-yaml": "3.12.0",
+ "json-stable-stringify-without-jsonify": "1.0.1",
+ "levn": "0.3.0",
+ "lodash": "4.17.10",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "natural-compare": "1.4.0",
+ "optionator": "0.8.2",
+ "path-is-inside": "1.0.2",
+ "pluralize": "7.0.0",
+ "progress": "2.0.0",
+ "regexpp": "1.1.0",
+ "require-uncached": "1.0.3",
+ "semver": "5.5.0",
+ "strip-ansi": "4.0.0",
+ "strip-json-comments": "2.0.1",
"table": "4.0.2",
- "text-table": "~0.2.0"
+ "text-table": "0.2.0"
},
"dependencies": {
- "ansi-escapes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
- "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
- "dev": true
- },
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "dev": true,
- "requires": {
- "restore-cursor": "^2.0.0"
- }
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "dev": true,
- "requires": {
- "escape-string-regexp": "^1.0.5"
- }
- },
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "globals": {
- "version": "11.5.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz",
- "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
- "dev": true,
- "requires": {
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.0",
- "cli-cursor": "^2.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^2.0.4",
- "figures": "^2.0.0",
- "lodash": "^4.3.0",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rx-lite": "^4.0.8",
- "rx-lite-aggregates": "^4.0.8",
- "string-width": "^2.1.0",
- "strip-ansi": "^4.0.0",
- "through": "^2.3.6"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
- "dev": true
- },
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "dev": true,
- "requires": {
- "mimic-fn": "^1.0.0"
- }
- },
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "dev": true,
- "requires": {
- "onetime": "^2.0.0",
- "signal-exit": "^3.0.2"
- }
- },
- "run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
- },
- "rx-lite": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
- "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
+ "ansi-regex": "3.0.0"
}
}
}
},
- "eslint-config-airbnb-base": {
- "version": "12.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz",
- "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==",
+ "eslint-scope": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
+ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
"dev": true,
"requires": {
- "eslint-restricted-globals": "^0.1.1"
+ "esrecurse": "4.2.1",
+ "estraverse": "4.2.0"
}
},
- "eslint-config-standard": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz",
- "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==",
+ "eslint-visitor-keys": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
+ "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
"dev": true
},
- "eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "espree": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
+ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
"dev": true,
"requires": {
- "debug": "^2.6.9",
- "resolve": "^1.5.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "resolve": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.5"
- }
- }
- }
- },
- "eslint-module-utils": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz",
- "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
- "dev": true,
- "requires": {
- "debug": "^2.6.8",
- "pkg-dir": "^1.0.0"
- }
- },
- "eslint-plugin-import": {
- "version": "2.12.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.12.0.tgz",
- "integrity": "sha1-2tMXgSktZmSyUxf9BJ0uKy8CIF0=",
- "dev": true,
- "requires": {
- "contains-path": "^0.1.0",
- "debug": "^2.6.8",
- "doctrine": "1.5.0",
- "eslint-import-resolver-node": "^0.3.1",
- "eslint-module-utils": "^2.2.0",
- "has": "^1.0.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.3",
- "read-pkg-up": "^2.0.0",
- "resolve": "^1.6.0"
- },
- "dependencies": {
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "^2.0.0"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "dev": true,
- "requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "dev": true,
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
- },
- "resolve": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.5"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- }
- }
- },
- "eslint-plugin-node": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz",
- "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==",
- "dev": true,
- "requires": {
- "ignore": "^3.3.6",
- "minimatch": "^3.0.4",
- "resolve": "^1.3.3",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
- }
- },
- "eslint-plugin-promise": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz",
- "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==",
- "dev": true
- },
- "eslint-plugin-standard": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz",
- "integrity": "sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==",
- "dev": true
- },
- "eslint-restricted-globals": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz",
- "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=",
- "dev": true
- },
- "eslint-scope": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz",
- "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
- "dev": true,
- "requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
- }
- },
- "eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
- "dev": true
- },
- "espree": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
- "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
- "dev": true,
- "requires": {
- "acorn": "^5.5.0",
- "acorn-jsx": "^3.0.0"
+ "acorn": "5.7.1",
+ "acorn-jsx": "3.0.1"
}
},
- "esprima-fb": {
- "version": "10001.1.0-dev-harmony-fb",
- "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-10001.1.0-dev-harmony-fb.tgz",
- "integrity": "sha1-9++0UtPIAG3eazxZZ4YE9xFKiCw=",
- "dev": true
- },
"esquery": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
"integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
"dev": true,
"requires": {
- "estraverse": "^4.0.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
+ "estraverse": "4.2.0"
}
},
"esrecurse": {
@@ -2183,65 +1422,47 @@
"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
"dev": true,
"requires": {
- "estraverse": "^4.1.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- }
+ "estraverse": "4.2.0"
}
},
"estraverse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
- "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ },
+ "estree-walker": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz",
+ "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==",
"dev": true
},
"esutils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
- "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
"execa": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz",
- "integrity": "sha1-4urUcsLDGq1vc/GslW7vReEjIMs=",
- "dev": true,
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
"requires": {
- "cross-spawn-async": "^2.1.1",
- "npm-run-path": "^1.0.0",
- "object-assign": "^4.0.1",
- "path-key": "^1.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "npm-run-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz",
- "integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=",
- "dev": true,
- "requires": {
- "path-key": "^1.0.0"
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- },
- "path-key": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz",
- "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=",
- "dev": true
- }
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
}
},
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
"exit-hook": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz",
@@ -2251,7 +1472,7 @@
"exit-on-epipe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
- "integrity": "sha1-C92S6H1ShdJn2qgXHQ6wYVlolpI="
+ "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw=="
},
"expand-brackets": {
"version": "0.1.5",
@@ -2259,7 +1480,7 @@
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
"requires": {
- "is-posix-bracket": "^0.1.0"
+ "is-posix-bracket": "0.1.1"
}
},
"expand-range": {
@@ -2268,16 +1489,16 @@
"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"dev": true,
"requires": {
- "fill-range": "^2.1.0"
+ "fill-range": "2.2.4"
}
},
"expand-tilde": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
"dev": true,
"requires": {
- "os-homedir": "^1.0.1"
+ "homedir-polyfill": "1.0.1"
}
},
"extend": {
@@ -2291,9 +1512,9 @@
"integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
"dev": true,
"requires": {
- "chardet": "^0.4.0",
- "iconv-lite": "^0.4.17",
- "tmp": "^0.0.33"
+ "chardet": "0.4.2",
+ "iconv-lite": "0.4.23",
+ "tmp": "0.0.33"
}
},
"extglob": {
@@ -2302,7 +1523,15 @@
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
"dev": true,
"requires": {
- "is-extglob": "^1.0.0"
+ "is-extglob": "1.0.0"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ }
}
},
"extsprintf": {
@@ -2310,20 +1539,10 @@
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
- "fancy-log": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz",
- "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.1",
- "time-stamp": "^1.0.0"
- }
- },
"fast-deep-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
- "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
},
"fast-json-stable-stringify": {
"version": "2.0.0",
@@ -2337,21 +1556,12 @@
"dev": true
},
"figures": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
"dev": true,
"requires": {
- "escape-string-regexp": "^1.0.5",
- "object-assign": "^4.1.0"
- },
- "dependencies": {
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- }
+ "escape-string-regexp": "1.0.5"
}
},
"file-entry-cache": {
@@ -2360,16 +1570,8 @@
"integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
"dev": true,
"requires": {
- "flat-cache": "^1.2.1",
- "object-assign": "^4.0.1"
- },
- "dependencies": {
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- }
+ "flat-cache": "1.3.0",
+ "object-assign": "4.1.1"
}
},
"filename-regex": {
@@ -2378,92 +1580,53 @@
"integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
"dev": true
},
- "fill-range": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
- "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
- "dev": true,
- "requires": {
- "is-number": "^2.1.0",
- "isobject": "^2.0.0",
- "randomatic": "^1.1.3",
- "repeat-element": "^1.1.2",
- "repeat-string": "^1.5.2"
- }
- },
- "find-index": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
- "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
+ "filesize": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
+ "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
"dev": true
},
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "findup-sync": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
- "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=",
+ "fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
"dev": true,
"requires": {
- "detect-file": "^0.1.0",
- "is-glob": "^2.0.1",
- "micromatch": "^2.3.7",
- "resolve-dir": "^0.1.0"
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "3.0.0",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
}
},
- "fined": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
- "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
- "dev": true,
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"requires": {
- "expand-tilde": "^2.0.2",
- "is-plain-object": "^2.0.3",
- "object.defaults": "^1.1.0",
- "object.pick": "^1.2.0",
- "parse-filepath": "^1.0.1"
- },
- "dependencies": {
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
- "dev": true,
- "requires": {
- "homedir-polyfill": "^1.0.1"
- }
- }
+ "locate-path": "2.0.0"
}
},
- "first-chunk-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
- "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
- "dev": true
- },
- "flagged-respawn": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz",
- "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=",
- "dev": true
- },
"flat-cache": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
"integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
"dev": true,
"requires": {
- "circular-json": "^0.3.1",
- "del": "^2.0.2",
- "graceful-fs": "^4.1.2",
- "write": "^0.2.1"
+ "circular-json": "0.3.3",
+ "del": "2.2.2",
+ "graceful-fs": "4.1.11",
+ "write": "0.2.1"
+ }
+ },
+ "flush-write-stream": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz",
+ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6"
}
},
"for-in": {
@@ -2478,37 +1641,55 @@
"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
"dev": true,
"requires": {
- "for-in": "^1.0.1"
+ "for-in": "1.0.2"
}
},
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
- "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.5",
- "mime-types": "^2.1.12"
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.6",
+ "mime-types": "2.1.18"
}
},
"frac": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.0.tgz",
- "integrity": "sha1-3EN+nGpka2CxJ9gqxJAkZERcweM=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
+ "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
+ },
+ "fs-extra": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
+ "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
+ "dev": true,
"requires": {
- "voc": "~1.0.0"
+ "graceful-fs": "4.1.11",
+ "jsonfile": "4.0.0",
+ "universalify": "0.1.2"
}
},
- "fs-exists-sync": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
- "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
- "dev": true
+ "fs-mkdirp-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
+ "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "through2": "2.0.3"
+ }
},
"fs.realpath": {
"version": "1.0.0",
@@ -2528,15 +1709,6 @@
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
"dev": true
},
- "gaze": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
- "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
- "dev": true,
- "requires": {
- "globule": "~0.1.0"
- }
- },
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
@@ -2551,15 +1723,14 @@
"get-stream": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
- "dev": true
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"requires": {
- "assert-plus": "^1.0.0"
+ "assert-plus": "1.0.0"
}
},
"giturl": {
@@ -2569,15 +1740,17 @@
"dev": true
},
"glob": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^2.0.1",
- "once": "^1.3.0"
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
"glob-base": {
@@ -2586,73 +1759,62 @@
"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
"dev": true,
"requires": {
- "glob-parent": "^2.0.0",
- "is-glob": "^2.0.0"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true,
- "requires": {
- "is-glob": "^2.0.0"
- }
- },
- "glob-stream": {
- "version": "3.1.18",
- "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
- "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
- "dev": true,
- "requires": {
- "glob": "^4.3.1",
- "glob2base": "^0.0.12",
- "minimatch": "^2.0.1",
- "ordered-read-streams": "^0.1.0",
- "through2": "^0.6.1",
- "unique-stream": "^1.0.0"
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
},
"dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+ "glob-parent": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "is-glob": "2.0.1"
}
},
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
"requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
+ "is-extglob": "1.0.0"
}
}
}
},
- "glob-watcher": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
- "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"requires": {
- "gaze": "^0.5.1"
+ "is-glob": "3.1.0",
+ "path-dirname": "1.0.2"
}
},
- "glob2base": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
- "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
+ "glob-stream": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
+ "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
"dev": true,
"requires": {
- "find-index": "^0.1.1"
+ "extend": "3.0.1",
+ "glob": "7.1.2",
+ "glob-parent": "3.1.0",
+ "is-negated-glob": "1.0.0",
+ "ordered-read-streams": "1.0.1",
+ "pumpify": "1.5.1",
+ "readable-stream": "2.3.6",
+ "remove-trailing-separator": "1.1.0",
+ "to-absolute-glob": "2.0.2",
+ "unique-stream": "2.2.1"
}
},
"global-dirs": {
@@ -2661,489 +1823,127 @@
"integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
"dev": true,
"requires": {
- "ini": "^1.3.4"
+ "ini": "1.3.5"
}
},
"global-modules": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
"dev": true,
"requires": {
- "global-prefix": "^0.1.4",
- "is-windows": "^0.2.0"
+ "global-prefix": "1.0.2",
+ "is-windows": "1.0.2",
+ "resolve-dir": "1.0.1"
}
},
"global-prefix": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
"dev": true,
"requires": {
- "homedir-polyfill": "^1.0.0",
- "ini": "^1.3.4",
- "is-windows": "^0.2.0",
- "which": "^1.2.12"
+ "expand-tilde": "2.0.2",
+ "homedir-polyfill": "1.0.1",
+ "ini": "1.3.5",
+ "is-windows": "1.0.2",
+ "which": "1.3.1"
}
},
"globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
+ "version": "11.7.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
+ "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==",
"dev": true
},
"globby": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
- "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "arrify": "^1.0.0",
- "glob": "^6.0.1",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "glob": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
- "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
- "dev": true,
- "requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
- }
- }
- },
- "globule": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
- "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
- "dev": true,
- "requires": {
- "glob": "~3.1.21",
- "lodash": "~1.0.1",
- "minimatch": "~0.2.11"
- },
- "dependencies": {
- "glob": {
- "version": "3.1.21",
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
- "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
- "dev": true,
- "requires": {
- "graceful-fs": "~1.2.0",
- "inherits": "1",
- "minimatch": "~0.2.11"
- }
- },
- "graceful-fs": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
- "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
- "dev": true
- },
- "inherits": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
- "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
- "dev": true
- },
- "lodash": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
- "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
- "dev": true
- },
- "minimatch": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
- "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
- "dev": true,
- "requires": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
- }
- }
- }
- },
- "glogg": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz",
- "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
"requires": {
- "sparkles": "^1.0.0"
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "glob": "7.1.2",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
}
},
- "got": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/got/-/got-3.3.1.tgz",
- "integrity": "sha1-5dDtSvVfw+701WAHdp2YGSvLLso=",
+ "globs": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globs/-/globs-0.1.4.tgz",
+ "integrity": "sha512-D23dWbOq48vlOraoSigbcQV4tWrnhwk+E/Um2cMuDS3/5dwGmdFeA7L/vAvDhLFlQOTDqHcXh35m/71g2A2WzQ==",
"dev": true,
"requires": {
- "duplexify": "^3.2.0",
- "infinity-agent": "^2.0.0",
- "is-redirect": "^1.0.0",
- "is-stream": "^1.0.0",
- "lowercase-keys": "^1.0.0",
- "nested-error-stacks": "^1.0.0",
- "object-assign": "^3.0.0",
- "prepend-http": "^1.0.0",
- "read-all-stream": "^3.0.0",
- "timed-out": "^2.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
- },
- "graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
- "dev": true
- },
- "growl": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
- "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
- "dev": true
- },
- "gulp": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
- "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
- "dev": true,
- "requires": {
- "archy": "^1.0.0",
- "chalk": "^1.0.0",
- "deprecated": "^0.0.1",
- "gulp-util": "^3.0.0",
- "interpret": "^1.0.0",
- "liftoff": "^2.1.0",
- "minimist": "^1.1.0",
- "orchestrator": "^0.3.0",
- "pretty-hrtime": "^1.0.0",
- "semver": "^4.1.0",
- "tildify": "^1.0.0",
- "v8flags": "^2.0.2",
- "vinyl-fs": "^0.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
- "dev": true
- }
+ "glob": "7.1.2"
}
},
- "gulp-concat": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
- "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
+ "google-closure-compiler-js": {
+ "version": "20180610.0.0",
+ "resolved": "https://registry.npmjs.org/google-closure-compiler-js/-/google-closure-compiler-js-20180610.0.0.tgz",
+ "integrity": "sha512-ZU66aqVzLgTpFmZidpsvq4WkLmh3x7ZN8WpgST/garpvNuNoS0tjio99T7IMg6MomYSgkSYNRa9SoDVMZHclVA==",
"dev": true,
"requires": {
- "concat-with-sourcemaps": "^1.0.0",
- "through2": "^2.0.0",
- "vinyl": "^2.0.0"
+ "minimist": "1.2.0",
+ "vinyl": "2.2.0",
+ "webpack-core": "0.6.9"
},
"dependencies": {
- "clone": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
- "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
- "dev": true
- },
- "clone-stats": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
- "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
- "dev": true
- },
- "replace-ext": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
- "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
- },
- "vinyl": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
- "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
- "dev": true,
- "requires": {
- "clone": "^2.1.1",
- "clone-buffer": "^1.0.0",
- "clone-stats": "^1.0.0",
- "cloneable-readable": "^1.0.0",
- "remove-trailing-separator": "^1.0.1",
- "replace-ext": "^1.0.0"
- }
}
}
},
- "gulp-dereserve": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/gulp-dereserve/-/gulp-dereserve-0.2.1.tgz",
- "integrity": "sha1-fl6Zd4R2h4NFNggDyo+LEniwxT4=",
- "dev": true,
- "requires": {
- "bufferstreams": "^1.0.2",
- "es3-safe-recast": "^2.0.1",
- "gulp-util": "^3.0.1",
- "recast": "^0.10.12",
- "through2": "^2.0.0",
- "vinyl-sourcemaps-apply": "^0.1.4"
- }
- },
- "gulp-exec": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/gulp-exec/-/gulp-exec-2.1.3.tgz",
- "integrity": "sha1-RgpOyN+GhB0XOLx0lYxo5XaTQtk=",
- "dev": true,
- "requires": {
- "gulp-util": "^3.0.7",
- "gulplog": "^1.0.0",
- "through2": "^2.0.1"
- }
- },
- "gulp-jison": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gulp-jison/-/gulp-jison-1.2.0.tgz",
- "integrity": "sha1-OoH9tcWNQHCVeNwIGD+jikESqkk=",
+ "got": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
+ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
"dev": true,
"requires": {
- "gulp-util": "~3.0.4",
- "jison": "~0.4.15",
- "through2": "~0.6.3"
- },
- "dependencies": {
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- }
- }
+ "create-error-class": "3.0.2",
+ "duplexer3": "0.1.4",
+ "get-stream": "3.0.0",
+ "is-redirect": "1.0.0",
+ "is-retry-allowed": "1.1.0",
+ "is-stream": "1.1.0",
+ "lowercase-keys": "1.0.1",
+ "safe-buffer": "5.1.2",
+ "timed-out": "4.0.1",
+ "unzip-response": "2.0.1",
+ "url-parse-lax": "1.0.0"
}
},
- "gulp-rename": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz",
- "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=",
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
- "gulp-replace": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.6.1.tgz",
- "integrity": "sha1-Eb+Mj85TPjPi9qjy9DC5VboL4GY=",
- "dev": true,
- "requires": {
- "istextorbinary": "1.0.2",
- "readable-stream": "^2.0.1",
- "replacestream": "^4.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "gulp-shell": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.6.3.tgz",
- "integrity": "sha1-Lqpu3/+ovf96jwufmFKHbzMzHGs=",
- "dev": true,
- "requires": {
- "async": "^2.1.5",
- "gulp-util": "^3.0.8",
- "lodash": "^4.17.4",
- "through2": "^2.0.3"
- }
- },
- "gulp-uglify": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-2.1.2.tgz",
- "integrity": "sha1-bbhbHQ7mPRgFhZK2WGSdZcLsRUE=",
- "dev": true,
- "requires": {
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash": "^4.13.1",
- "make-error-cause": "^1.1.1",
- "through2": "^2.0.0",
- "uglify-js": "~2.8.10",
- "uglify-save-license": "^0.4.1",
- "vinyl-sourcemaps-apply": "^0.2.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
- "dev": true
- },
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "dev": true,
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
- }
- },
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
- "dev": true,
- "requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- }
- },
- "vinyl-sourcemaps-apply": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
- "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
- "dev": true,
- "requires": {
- "source-map": "^0.5.1"
- }
- },
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
- "dev": true
- },
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "dev": true,
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- }
- }
- },
- "gulp-util": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
- "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
- "dev": true,
- "requires": {
- "array-differ": "^1.0.0",
- "array-uniq": "^1.0.2",
- "beeper": "^1.0.0",
- "chalk": "^1.0.0",
- "dateformat": "^2.0.0",
- "fancy-log": "^1.1.0",
- "gulplog": "^1.0.0",
- "has-gulplog": "^0.1.0",
- "lodash._reescape": "^3.0.0",
- "lodash._reevaluate": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.template": "^3.0.0",
- "minimist": "^1.1.0",
- "multipipe": "^0.1.2",
- "object-assign": "^3.0.0",
- "replace-ext": "0.0.1",
- "through2": "^2.0.0",
- "vinyl": "^0.5.0"
- }
- },
- "gulplog": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
- "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+ "gzip-size": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
+ "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
"dev": true,
"requires": {
- "glogg": "^1.0.0"
+ "duplexer": "0.1.1"
}
},
"handlebars": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz",
- "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=",
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
"dev": true,
"requires": {
- "async": "^1.4.0",
- "optimist": "^0.6.1",
- "source-map": "^0.4.4",
- "uglify-js": "^2.6"
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
},
"dependencies": {
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
- },
"camelcase": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
@@ -3158,8 +1958,8 @@
"dev": true,
"optional": true,
"requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
"wordwrap": "0.0.2"
}
},
@@ -3169,7 +1969,7 @@
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
- "amdefine": ">=0.0.4"
+ "amdefine": "1.0.1"
}
},
"uglify-js": {
@@ -3179,9 +1979,9 @@
"dev": true,
"optional": true,
"requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
+ "source-map": "0.5.7",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
},
"dependencies": {
"source-map": {
@@ -3193,10 +1993,10 @@
}
}
},
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true,
"optional": true
},
@@ -3207,9 +2007,9 @@
"dev": true,
"optional": true,
"requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
"window-size": "0.1.0"
}
}
@@ -3225,17 +2025,8 @@
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
"requires": {
- "ajv": "^5.1.0",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
+ "ajv": "5.5.2",
+ "har-schema": "2.0.0"
}
},
"has-ansi": {
@@ -3244,79 +2035,83 @@
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.1.1"
}
},
"has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
- "has-gulplog": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
- "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
- "dev": true,
- "requires": {
- "sparkles": "^1.0.0"
- }
- },
- "hawk": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
- "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
- "requires": {
- "boom": "4.x.x",
- "cryptiles": "3.x.x",
- "hoek": "4.x.x",
- "sntp": "2.x.x"
- }
- },
- "he": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
- "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
"dev": true
},
"highlight-es": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.1.tgz",
- "integrity": "sha1-O7AesfIGLdqrcviyN2ajv4wadx8=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/highlight-es/-/highlight-es-1.0.3.tgz",
+ "integrity": "sha512-s/SIX6yp/5S1p8aC/NRDC1fwEb+myGIfp8/TzZz0rtAv8fzsdX7vGl3Q1TrXCsczFq8DI3CBFBCySPClfBSdbg==",
"dev": true,
"requires": {
- "chalk": "^1.1.1",
- "is-es2016-keyword": "^1.0.0",
- "js-tokens": "^3.0.0"
+ "chalk": "2.4.1",
+ "is-es2016-keyword": "1.0.0",
+ "js-tokens": "3.0.2"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
}
},
- "hoek": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
- "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ=="
- },
"homedir-polyfill": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
"dev": true,
"requires": {
- "parse-passwd": "^1.0.0"
+ "parse-passwd": "1.0.0"
}
},
"hosted-git-info": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "integrity": "sha1-bWDjSzq7yDEwYsO3mO+NkBoHrzw="
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz",
+ "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==",
+ "dev": true
},
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
+ "assert-plus": "1.0.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.14.2"
}
},
"iconv-lite": {
@@ -3325,13 +2120,13 @@
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"dev": true,
"requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "safer-buffer": "2.1.2"
}
},
"ignore": {
- "version": "3.3.8",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz",
- "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==",
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
"dev": true
},
"import-lazy": {
@@ -3352,23 +2147,17 @@
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
"requires": {
- "repeating": "^2.0.0"
+ "repeating": "2.0.1"
}
},
- "infinity-agent": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz",
- "integrity": "sha1-ReDi/3qesDCyfWK3SzdEt6esQhY=",
- "dev": true
- },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
}
},
"inherits": {
@@ -3378,45 +2167,57 @@
"dev": true
},
"ini": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
- "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true
},
"inquirer": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
- "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
- "dev": true,
- "requires": {
- "ansi-escapes": "^1.1.0",
- "ansi-regex": "^2.0.0",
- "chalk": "^1.0.0",
- "cli-cursor": "^1.0.1",
- "cli-width": "^2.0.0",
- "figures": "^1.3.5",
- "lodash": "^4.3.0",
- "readline2": "^1.0.1",
- "run-async": "^0.1.0",
- "rx-lite": "^3.1.2",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.0",
- "through": "^2.3.6"
- }
- },
- "interpret": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz",
- "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=",
- "dev": true
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "3.1.0",
+ "chalk": "2.1.0",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "2.2.0",
+ "figures": "2.0.0",
+ "lodash": "4.17.10",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rx-lite": "4.0.8",
+ "rx-lite-aggregates": "4.0.8",
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
},
"invariant": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
- "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dev": true,
"requires": {
- "loose-envify": "^1.0.0"
+ "loose-envify": "1.3.1"
}
},
"invert-kv": {
@@ -3425,32 +2226,34 @@
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
},
"is-absolute": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
- "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
"dev": true,
"requires": {
- "is-relative": "^0.2.1",
- "is-windows": "^0.2.0"
+ "is-relative": "1.0.0",
+ "is-windows": "1.0.2"
}
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
},
"is-buffer": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
- "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-builtin-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
"requires": {
- "builtin-modules": "^1.0.0"
+ "builtin-modules": "1.1.1"
}
},
"is-ci": {
@@ -3459,7 +2262,7 @@
"integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==",
"dev": true,
"requires": {
- "ci-info": "^1.0.0"
+ "ci-info": "1.1.3"
}
},
"is-dotfile": {
@@ -3474,7 +2277,7 @@
"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
"dev": true,
"requires": {
- "is-primitive": "^2.0.0"
+ "is-primitive": "2.0.0"
}
},
"is-es2016-keyword": {
@@ -3490,9 +2293,9 @@
"dev": true
},
"is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-finite": {
@@ -3501,7 +2304,7 @@
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "number-is-nan": "1.0.1"
}
},
"is-fullwidth-code-point": {
@@ -3509,16 +2312,16 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"requires": {
- "number-is-nan": "^1.0.0"
+ "number-is-nan": "1.0.1"
}
},
"is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "is-extglob": "^1.0.0"
+ "is-extglob": "2.1.1"
}
},
"is-installed-globally": {
@@ -3527,11 +2330,23 @@
"integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
"dev": true,
"requires": {
- "global-dirs": "^0.1.0",
- "is-path-inside": "^1.0.0"
+ "global-dirs": "0.1.1",
+ "is-path-inside": "1.0.1"
}
},
- "is-npm": {
+ "is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
+ "dev": true
+ },
+ "is-negated-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
+ "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
+ "dev": true
+ },
+ "is-npm": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
"integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
@@ -3543,7 +2358,7 @@
"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
"dev": true,
"requires": {
- "kind-of": "^3.0.2"
+ "kind-of": "3.2.2"
}
},
"is-obj": {
@@ -3564,7 +2379,7 @@
"integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
"dev": true,
"requires": {
- "is-path-inside": "^1.0.0"
+ "is-path-inside": "1.0.1"
}
},
"is-path-inside": {
@@ -3573,30 +2388,7 @@
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
"dev": true,
"requires": {
- "path-is-inside": "^1.0.1"
- }
- },
- "is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
- "dev": true
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- }
+ "path-is-inside": "1.0.2"
}
},
"is-posix-bracket": {
@@ -3624,12 +2416,12 @@
"dev": true
},
"is-relative": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
- "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
"dev": true,
"requires": {
- "is-unc-path": "^0.1.1"
+ "is-unc-path": "1.0.0"
}
},
"is-resolvable": {
@@ -3647,8 +2439,7 @@
"is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
"is-typedarray": {
"version": "1.0.0",
@@ -3656,36 +2447,42 @@
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-unc-path": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
- "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
"dev": true,
"requires": {
- "unc-path-regex": "^0.1.0"
+ "unc-path-regex": "0.1.2"
}
},
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=",
+ "dev": true
},
"is-windows": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
"isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
"isobject": {
"version": "2.1.0",
@@ -3694,14 +2491,6 @@
"dev": true,
"requires": {
"isarray": "1.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- }
}
},
"isstream": {
@@ -3715,147 +2504,69 @@
"integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
"dev": true,
"requires": {
- "abbrev": "1.0.x",
- "async": "1.x",
- "escodegen": "1.8.x",
- "esprima": "2.7.x",
- "glob": "^5.0.15",
- "handlebars": "^4.0.1",
- "js-yaml": "3.x",
- "mkdirp": "0.5.x",
- "nopt": "3.x",
- "once": "1.x",
- "resolve": "1.1.x",
- "supports-color": "^3.1.0",
- "which": "^1.1.1",
- "wordwrap": "^1.0.0"
+ "abbrev": "1.0.9",
+ "async": "1.5.2",
+ "escodegen": "1.8.1",
+ "esprima": "2.7.3",
+ "glob": "5.0.15",
+ "handlebars": "4.0.11",
+ "js-yaml": "3.12.0",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "once": "1.4.0",
+ "resolve": "1.1.7",
+ "supports-color": "3.2.3",
+ "which": "1.3.1",
+ "wordwrap": "1.0.0"
},
"dependencies": {
- "async": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
- "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
- "dev": true
- },
- "escodegen": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
- "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
- "dev": true,
- "requires": {
- "esprima": "^2.7.1",
- "estraverse": "^1.9.1",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.2.0"
- }
- },
"esprima": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"dev": true
},
- "estraverse": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
- "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
- "dev": true
- },
"glob": {
"version": "5.0.15",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
"dev": true,
"requires": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "2 || 3",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "has-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
- "source-map": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
- "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
- "dev": true,
- "optional": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
- },
"supports-color": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
"dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "has-flag": "1.0.0"
}
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- }
- }
- },
- "istextorbinary": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz",
- "integrity": "sha1-rOGTVNGpoBc+/rEITOD4ewrX3s8=",
- "dev": true,
- "requires": {
- "binaryextensions": "~1.0.0",
- "textextensions": "~1.0.0"
- }
- },
- "jison": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/jison/-/jison-0.4.18.tgz",
- "integrity": "sha1-xopqVL/nAo+kC8/GzIu9ntKR9QI=",
- "dev": true,
- "requires": {
- "JSONSelect": "0.4.0",
- "cjson": "0.3.0",
- "ebnf-parser": "0.1.10",
- "escodegen": "1.3.x",
- "esprima": "1.1.x",
- "jison-lex": "0.3.x",
- "lex-parser": "~0.1.3",
- "nomnom": "1.5.2"
- },
- "dependencies": {
- "esprima": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
- "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=",
- "dev": true
}
}
},
- "jison-lex": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/jison-lex/-/jison-lex-0.3.4.tgz",
- "integrity": "sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U=",
+ "jison-gho": {
+ "version": "0.6.1-215",
+ "resolved": "https://registry.npmjs.org/jison-gho/-/jison-gho-0.6.1-215.tgz",
+ "integrity": "sha512-cGFo7c0it0PDSbcRYReA4XdoPCtbz3/tVhZ++qfxAkhBNDnLj/S+5A85gdbWiK0HCfqlZ81wbgiyWhaqrk4ViQ==",
"dev": true,
"requires": {
- "lex-parser": "0.1.x",
- "nomnom": "1.5.2"
+ "@gerhobbelt/ast-util": "0.6.1-4",
+ "@gerhobbelt/json5": "0.5.1-21",
+ "@gerhobbelt/nomnom": "1.8.4-24",
+ "@gerhobbelt/recast": "0.13.0-24",
+ "@gerhobbelt/xregexp": "3.2.0-22"
}
},
"js-tokens": {
@@ -3865,19 +2576,19 @@
"dev": true
},
"js-yaml": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz",
- "integrity": "sha1-LnhEFka9RoLpY/IrbpKCPDCcYtw=",
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
"dev": true,
"requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "argparse": "1.0.10",
+ "esprima": "4.0.0"
},
"dependencies": {
"esprima": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
- "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=",
+ "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
"dev": true
}
}
@@ -3898,6 +2609,15 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
},
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
+ },
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
@@ -3909,22 +2629,21 @@
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
- "json3": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
- "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
- "dev": true
- },
- "jsonlint": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.0.tgz",
- "integrity": "sha1-iKpGvCiaesk7tGyuLVihh6m7SUo=",
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
- "JSV": ">= 4.0.x",
- "nomnom": ">= 1.5.x"
+ "graceful-fs": "4.1.11"
}
},
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -3942,269 +2661,93 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "^1.1.5"
+ "is-buffer": "1.1.6"
}
},
"latest-version": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-1.0.1.tgz",
- "integrity": "sha1-cs/Ebj6NG+ZR4eu1Tqn26pbzdLs=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
+ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
"dev": true,
"requires": {
- "package-json": "^1.0.0"
+ "package-json": "4.0.1"
}
},
"lazy-cache": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
"integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
- "dev": true
+ "dev": true,
+ "optional": true
+ },
+ "lazystream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
},
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"requires": {
- "invert-kv": "^1.0.0"
+ "invert-kv": "1.0.0"
}
},
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "lead": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
+ "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
+ "flush-write-stream": "1.0.3"
}
},
- "lex-parser": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/lex-parser/-/lex-parser-0.1.4.tgz",
- "integrity": "sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA=",
- "dev": true
- },
- "liftoff": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
- "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=",
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"dev": true,
"requires": {
- "extend": "^3.0.0",
- "findup-sync": "^0.4.2",
- "fined": "^1.0.1",
- "flagged-respawn": "^0.3.2",
- "lodash.isplainobject": "^4.0.4",
- "lodash.isstring": "^4.0.1",
- "lodash.mapvalues": "^4.4.0",
- "rechoir": "^0.6.2",
- "resolve": "^1.1.7"
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2"
}
},
"load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "strip-bom": "3.0.0"
}
},
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
"requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
- },
- "dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- }
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
}
},
"lodash": {
- "version": "4.17.4",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
- "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
- },
- "lodash._baseassign": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
- "dev": true,
- "requires": {
- "lodash._basecopy": "^3.0.0",
- "lodash.keys": "^3.0.0"
- }
- },
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
- },
- "lodash._basecreate": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
- "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
- "dev": true
- },
- "lodash._basetostring": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
- "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
- "dev": true
- },
- "lodash._basevalues": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
- "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
- "dev": true
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
- "dev": true
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
- },
- "lodash._reescape": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
- "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
- "dev": true
- },
- "lodash._reevaluate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
- "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
- "dev": true
- },
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
- "dev": true
- },
- "lodash._root": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
- "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
- "dev": true
+ "version": "4.17.10",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
},
"lodash.assign": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
- },
- "lodash.create": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
- "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
- "dev": true,
- "requires": {
- "lodash._baseassign": "^3.0.0",
- "lodash._basecreate": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0"
- }
- },
- "lodash.escape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
- "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
- "dev": true,
- "requires": {
- "lodash._root": "^3.0.0"
- }
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
- "dev": true
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
- "dev": true
- },
- "lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
- "dev": true
- },
- "lodash.isstring": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
- "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
- "dev": true
- },
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
- "dev": true,
- "requires": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
- }
- },
- "lodash.mapvalues": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
- "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
"dev": true
},
- "lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
- "dev": true
- },
- "lodash.template": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
- "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
- "dev": true,
- "requires": {
- "lodash._basecopy": "^3.0.0",
- "lodash._basetostring": "^3.0.0",
- "lodash._basevalues": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0",
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0",
- "lodash.keys": "^3.0.0",
- "lodash.restparam": "^3.0.0",
- "lodash.templatesettings": "^3.0.0"
- }
- },
- "lodash.templatesettings": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
- "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
- "dev": true,
- "requires": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.escape": "^3.0.0"
- }
- },
"lodash.toarray": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
@@ -4223,7 +2766,7 @@
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
"dev": true,
"requires": {
- "js-tokens": "^3.0.0"
+ "js-tokens": "3.0.2"
}
},
"loud-rejection": {
@@ -4232,60 +2775,59 @@
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
"dev": true,
"requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
}
},
"lowercase-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
- "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
"dev": true
},
"lru-cache": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
- "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
- "dev": true
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
},
- "make-dir": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz",
- "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==",
+ "magic-string": {
+ "version": "0.22.5",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
+ "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
"dev": true,
"requires": {
- "pify": "^3.0.0"
+ "vlq": "0.2.3"
},
"dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "vlq": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
"dev": true
}
}
},
- "make-error": {
+ "make-dir": {
"version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz",
- "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=",
- "dev": true
- },
- "make-error-cause": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
- "integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"dev": true,
"requires": {
- "make-error": "^1.2.0"
+ "pify": "3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
}
},
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
- "dev": true
- },
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
@@ -4293,31 +2835,63 @@
"dev": true
},
"marked": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz",
- "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=",
+ "version": "0.3.19",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz",
+ "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==",
"dev": true
},
"marked-terminal": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz",
- "integrity": "sha1-yMRgiBx3LHYEtkNnAH7l938SWQQ=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-2.0.0.tgz",
+ "integrity": "sha1-Xq9Wi+ZvaGVBr6UqVYKAMQox3i0=",
"dev": true,
"requires": {
- "cardinal": "^1.0.0",
- "chalk": "^1.1.3",
- "cli-table": "^0.3.1",
- "lodash.assign": "^4.2.0",
- "node-emoji": "^1.4.1"
+ "cardinal": "1.0.0",
+ "chalk": "1.1.3",
+ "cli-table": "0.3.1",
+ "lodash.assign": "4.2.0",
+ "node-emoji": "1.8.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
}
},
+ "math-random": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
+ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
+ "dev": true
+ },
"mem": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "dev": true,
"requires": {
- "mimic-fn": "^1.0.0"
+ "mimic-fn": "1.2.0"
}
},
"meow": {
@@ -4326,88 +2900,168 @@
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
"requires": {
- "camelcase-keys": "^2.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
+ "camelcase-keys": "2.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.4.0",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
},
"dependencies": {
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ }
+ },
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ }
}
}
},
- "merge-options": {
- "version": "0.0.64",
- "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-0.0.64.tgz",
- "integrity": "sha1-y+BPWUppheryf3+PCyo6z2+dVi0=",
- "dev": true,
- "requires": {
- "is-plain-obj": "^1.1.0"
- }
- },
"micromatch": {
"version": "2.3.11",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
"dev": true,
"requires": {
- "arr-diff": "^2.0.0",
- "array-unique": "^0.2.1",
- "braces": "^1.8.2",
- "expand-brackets": "^0.1.4",
- "extglob": "^0.3.1",
- "filename-regex": "^2.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.1",
- "kind-of": "^3.0.2",
- "normalize-path": "^2.0.1",
- "object.omit": "^2.0.0",
- "parse-glob": "^3.0.4",
- "regex-cache": "^0.4.2"
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.4"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ }
}
},
"mime-db": {
- "version": "1.30.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
- "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
},
"mime-types": {
- "version": "2.1.17",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
- "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"requires": {
- "mime-db": "~1.30.0"
+ "mime-db": "1.33.0"
}
},
"mimic-fn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
- "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=",
- "dev": true
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
},
"minimatch": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
- "brace-expansion": "^1.0.0"
+ "brace-expansion": "1.1.11"
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mkdirp": {
@@ -4417,87 +3071,16 @@
"dev": true,
"requires": {
"minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
- }
- }
- },
- "mocha": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz",
- "integrity": "sha1-HgSA/jbS2lhY0etqzDhBiybqog0=",
- "dev": true,
- "requires": {
- "browser-stdout": "1.3.0",
- "commander": "2.9.0",
- "debug": "2.6.8",
- "diff": "3.2.0",
- "escape-string-regexp": "1.0.5",
- "glob": "7.1.1",
- "growl": "1.9.2",
- "he": "1.1.1",
- "json3": "3.3.2",
- "lodash.create": "3.1.1",
- "mkdirp": "0.5.1",
- "supports-color": "3.1.2"
- },
- "dependencies": {
- "commander": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
- "dev": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
- },
- "glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
- "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.2",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "supports-color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
- "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
- "dev": true,
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
}
},
"mocha.parallel": {
- "version": "0.15.3",
- "resolved": "https://registry.npmjs.org/mocha.parallel/-/mocha.parallel-0.15.3.tgz",
- "integrity": "sha1-VGR2kdTxH17/y1Llx4tLv80hRoQ=",
+ "version": "0.15.5",
+ "resolved": "https://registry.npmjs.org/mocha.parallel/-/mocha.parallel-0.15.5.tgz",
+ "integrity": "sha512-c7zvhmyM5IF6uStvT2ic23Nt6GYcukhGPh5QW5+mxOngrWGTMnUPMfPbKafc/bnCUJ3Y4jiy4LoPmIJYY9K9yQ==",
"dev": true,
"requires": {
- "bluebird": "^2.9.34",
- "semaphore": "^1.0.5"
+ "bluebird": "2.11.0",
+ "semaphore": "1.1.0"
}
},
"ms": {
@@ -4506,160 +3089,77 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
- "multipipe": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
- "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
- "dev": true,
- "requires": {
- "duplexer2": "0.0.2"
- }
- },
"mute-stream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
- "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
"dev": true
},
"mversion": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/mversion/-/mversion-1.10.1.tgz",
- "integrity": "sha1-kyLRpPEfZnDeACTRgjoyphWj1A4=",
- "dev": true,
- "requires": {
- "chalk": "^0.5.0",
- "cli-usage": "^0.1.2",
- "contra": "^1.6.8",
- "minimatch": "^1.0.0",
- "minimist": "^0.2.0",
- "rc": "^0.5.0",
- "semver": "^4.0.3",
- "through2": "^1.0.0",
- "update-notifier": "^0.2.2",
- "vinyl-fs": "^0.3.4"
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/mversion/-/mversion-1.12.0.tgz",
+ "integrity": "sha512-Ax/IG1lW1OkB/HdhlmpM93jWboFP+hhWn7OTTOoQRckGNkWes78/di2YG77Oa+3vMZHeBKs0yrV6F5H1hWBR9g==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.4.1",
+ "cli-usage": "0.1.7",
+ "contra": "1.9.4",
+ "minimatch": "3.0.4",
+ "minimist": "1.2.0",
+ "rc": "1.2.8",
+ "semver": "5.5.0",
+ "through2": "2.0.3",
+ "update-notifier": "2.5.0",
+ "vinyl-fs": "3.0.3"
},
"dependencies": {
- "ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
- "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
- "dev": true
- },
- "ansi-styles": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
- "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
- "dev": true
- },
"chalk": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
- "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^1.1.0",
- "escape-string-regexp": "^1.0.0",
- "has-ansi": "^0.1.0",
- "strip-ansi": "^0.3.0",
- "supports-color": "^0.2.0"
- }
- },
- "has-ansi": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
- "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
- "dev": true,
- "requires": {
- "ansi-regex": "^0.2.0"
- }
- },
- "minimatch": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
- "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
}
},
- "minimist": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz",
- "integrity": "sha1-Tf/lJdriuGTGbC4jxicdev3s784=",
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "semver": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
- "strip-ansi": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
- "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
- "dev": true,
- "requires": {
- "ansi-regex": "^0.2.1"
- }
- },
"supports-color": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
- "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
- "dev": true
- },
- "through2": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz",
- "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true,
"requires": {
- "readable-stream": ">=1.1.13-1 <1.2.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
+ "has-flag": "3.0.0"
}
}
}
},
- "natives": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz",
- "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=",
- "dev": true
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
- "nested-error-stacks": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz",
- "integrity": "sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88=",
- "dev": true,
- "requires": {
- "inherits": "~2.0.1"
- }
- },
"node-emoji": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz",
- "integrity": "sha1-buxr+wdCHiFIx1xrunJCH4UwqCY=",
- "dev": true,
- "requires": {
- "lodash.toarray": "^4.4.0"
- }
- },
- "nomnom": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.5.2.tgz",
- "integrity": "sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8=",
+ "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==",
"dev": true,
"requires": {
- "colors": "0.5.x",
- "underscore": "1.1.x"
+ "lodash.toarray": "4.4.0"
}
},
"nopt": {
@@ -4668,18 +3168,19 @@
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
"dev": true,
"requires": {
- "abbrev": "1"
+ "abbrev": "1.0.9"
}
},
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "dev": true,
"requires": {
- "hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
+ "hosted-git-info": "2.6.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.5.0",
+ "validate-npm-package-license": "3.0.3"
}
},
"normalize-path": {
@@ -4688,218 +3189,226 @@
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
"requires": {
- "remove-trailing-separator": "^1.0.1"
+ "remove-trailing-separator": "1.1.0"
+ }
+ },
+ "now-and-later": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz",
+ "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
}
},
"npm-check": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/npm-check/-/npm-check-5.5.2.tgz",
- "integrity": "sha512-xK2DNWha5ZUguocpoOmRO6650d6TAWgdmJljm4XhOvjMhROrnitfx4FH9I2b3AgXaPoBICnuy4Ubo+mTaQqlnw==",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.6.1",
- "callsite-record": "^3.0.0",
- "chalk": "^1.1.3",
- "co": "^4.6.0",
- "depcheck": "^0.6.3",
- "execa": "^0.2.2",
- "giturl": "^1.0.0",
- "global-modules": "^1.0.0",
- "globby": "^4.0.0",
- "inquirer": "^0.12.0",
- "is-ci": "^1.0.8",
- "lodash": "^4.7.0",
- "meow": "^3.7.0",
- "merge-options": "0.0.64",
- "minimatch": "^3.0.2",
- "node-emoji": "^1.0.3",
- "ora": "^0.2.1",
- "package-json": "^4.0.1",
- "path-exists": "^2.1.0",
- "pkg-dir": "^1.0.0",
- "semver": "^5.0.1",
- "semver-diff": "^2.0.0",
- "text-table": "^0.2.0",
- "throat": "^2.0.2",
- "update-notifier": "^2.1.0"
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/npm-check/-/npm-check-5.7.1.tgz",
+ "integrity": "sha512-dwcM2+tfeaqZHIbnp/bsMFepu8mGdH+REnax3KnZowKj7oTPQXrwfOC4v/yk3eMtM0JHhzU8yItTAZgY3X+qJg==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.26.0",
+ "callsite-record": "3.2.2",
+ "chalk": "1.1.3",
+ "co": "4.6.0",
+ "depcheck": "0.6.9",
+ "execa": "0.2.2",
+ "giturl": "1.0.0",
+ "global-modules": "1.0.0",
+ "globby": "4.1.0",
+ "inquirer": "0.12.0",
+ "is-ci": "1.1.0",
+ "lodash": "4.17.10",
+ "meow": "3.7.0",
+ "minimatch": "3.0.4",
+ "node-emoji": "1.8.1",
+ "ora": "0.2.3",
+ "package-json": "4.0.1",
+ "path-exists": "2.1.0",
+ "pkg-dir": "1.0.0",
+ "semver": "5.5.0",
+ "semver-diff": "2.1.0",
+ "text-table": "0.2.0",
+ "throat": "2.0.2",
+ "update-notifier": "2.5.0",
+ "xtend": "4.0.1"
},
"dependencies": {
+ "ansi-escapes": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
+ "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=",
+ "dev": true
+ },
"ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
- "color-convert": "^1.9.0"
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
}
},
- "configstore": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz",
- "integrity": "sha1-CU7mYquD+tmRdnjeEU+q6o/NypA=",
+ "cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
"dev": true,
"requires": {
- "dot-prop": "^4.1.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^1.0.0",
- "unique-string": "^1.0.0",
- "write-file-atomic": "^2.0.0",
- "xdg-basedir": "^3.0.0"
+ "restore-cursor": "1.0.1"
}
},
- "expand-tilde": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "execa": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz",
+ "integrity": "sha1-4urUcsLDGq1vc/GslW7vReEjIMs=",
"dev": true,
"requires": {
- "homedir-polyfill": "^1.0.1"
+ "cross-spawn-async": "2.2.5",
+ "npm-run-path": "1.0.0",
+ "object-assign": "4.1.1",
+ "path-key": "1.0.0",
+ "strip-eof": "1.0.0"
}
},
- "global-modules": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+ "figures": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
"dev": true,
"requires": {
- "global-prefix": "^1.0.1",
- "is-windows": "^1.0.1",
- "resolve-dir": "^1.0.0"
+ "escape-string-regexp": "1.0.5",
+ "object-assign": "4.1.1"
}
},
- "global-prefix": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+ "glob": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
"dev": true,
"requires": {
- "expand-tilde": "^2.0.2",
- "homedir-polyfill": "^1.0.1",
- "ini": "^1.3.4",
- "is-windows": "^1.0.1",
- "which": "^1.2.14"
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
- "got": {
- "version": "6.7.1",
- "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
- "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "globby": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
+ "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=",
"dev": true,
"requires": {
- "create-error-class": "^3.0.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^3.0.0",
- "is-redirect": "^1.0.0",
- "is-retry-allowed": "^1.0.0",
- "is-stream": "^1.0.0",
- "lowercase-keys": "^1.0.0",
- "safe-buffer": "^5.0.1",
- "timed-out": "^4.0.0",
- "unzip-response": "^2.0.1",
- "url-parse-lax": "^1.0.0"
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "glob": "6.0.4",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
}
},
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
- },
- "is-windows": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz",
- "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=",
- "dev": true
- },
- "latest-version": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
- "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
- "dev": true,
- "requires": {
- "package-json": "^4.0.0"
+ "inquirer": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz",
+ "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "1.4.0",
+ "ansi-regex": "2.1.1",
+ "chalk": "1.1.3",
+ "cli-cursor": "1.0.2",
+ "cli-width": "2.2.0",
+ "figures": "1.7.0",
+ "lodash": "4.17.10",
+ "readline2": "1.0.1",
+ "run-async": "0.1.0",
+ "rx-lite": "3.1.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "through": "2.3.8"
}
},
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+ "npm-run-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz",
+ "integrity": "sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8=",
"dev": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "path-key": "1.0.0"
}
},
- "package-json": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
- "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
- "got": "^6.7.1",
- "registry-auth-token": "^3.0.1",
- "registry-url": "^3.0.3",
- "semver": "^5.1.0"
+ "pinkie-promise": "2.0.1"
}
},
- "resolve-dir": {
+ "path-key": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz",
+ "integrity": "sha1-XVPVeAGWRsDWiADbThRua9wqx68=",
+ "dev": true
+ },
+ "restore-cursor": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
"dev": true,
"requires": {
- "expand-tilde": "^2.0.0",
- "global-modules": "^1.0.0"
+ "exit-hook": "1.1.1",
+ "onetime": "1.1.0"
}
},
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "run-async": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
+ "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
"dev": true,
"requires": {
- "has-flag": "^2.0.0"
+ "once": "1.4.0"
}
},
- "timed-out": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
- "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
+ "rx-lite": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
+ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
"dev": true
},
- "update-notifier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz",
- "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=",
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
- "boxen": "^1.2.1",
- "chalk": "^2.0.1",
- "configstore": "^3.0.0",
- "import-lazy": "^2.1.0",
- "is-installed-globally": "^0.1.0",
- "is-npm": "^1.0.0",
- "latest-version": "^3.0.0",
- "semver-diff": "^2.0.0",
- "xdg-basedir": "^3.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.1.0",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^4.0.0"
- }
- }
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
}
},
- "xdg-basedir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
- "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
}
}
@@ -4908,28 +3417,27 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "dev": true,
"requires": {
- "path-key": "^2.0.0"
+ "path-key": "2.0.1"
}
},
"nsp": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/nsp/-/nsp-2.8.1.tgz",
- "integrity": "sha1-Q24/E4aeBhDTo49Z1V+bNTzDKBc=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.1",
- "cli-table": "^0.3.1",
- "cvss": "^1.0.0",
- "https-proxy-agent": "^1.0.0",
- "joi": "^6.9.1",
- "nodesecurity-npm-utils": "^5.0.0",
- "path-is-absolute": "^1.0.0",
- "rc": "^1.1.2",
- "semver": "^5.0.3",
- "subcommand": "^2.0.3",
- "wreck": "^6.3.0"
+ "integrity": "sha512-jvjDg2Gsw4coD/iZ5eQddsDlkvnwMCNnpG05BproSnuG+Gr1bSQMwWMcQeYje+qdDl3XznmhblMPLpZLecTORQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "cli-table": "0.3.1",
+ "cvss": "1.0.2",
+ "https-proxy-agent": "1.0.0",
+ "joi": "6.10.1",
+ "nodesecurity-npm-utils": "5.0.0",
+ "path-is-absolute": "1.0.1",
+ "rc": "1.2.1",
+ "semver": "5.4.1",
+ "subcommand": "2.1.0",
+ "wreck": "6.3.0"
},
"dependencies": {
"agent-base": {
@@ -4938,8 +3446,8 @@
"integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
"dev": true,
"requires": {
- "extend": "~3.0.0",
- "semver": "~5.0.1"
+ "extend": "3.0.1",
+ "semver": "5.0.3"
},
"dependencies": {
"semver": {
@@ -4968,7 +3476,7 @@
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
- "hoek": "2.x.x"
+ "hoek": "2.16.3"
}
},
"chalk": {
@@ -4977,11 +3485,11 @@
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
}
},
"cli-table": {
@@ -5014,7 +3522,7 @@
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -5044,7 +3552,7 @@
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.1.1"
}
},
"hoek": {
@@ -5059,9 +3567,9 @@
"integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
"dev": true,
"requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3"
+ "agent-base": "2.1.1",
+ "debug": "2.6.9",
+ "extend": "3.0.1"
}
},
"ini": {
@@ -5082,10 +3590,10 @@
"integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=",
"dev": true,
"requires": {
- "hoek": "2.x.x",
- "isemail": "1.x.x",
- "moment": "2.x.x",
- "topo": "1.x.x"
+ "hoek": "2.16.3",
+ "isemail": "1.2.0",
+ "moment": "2.18.1",
+ "topo": "1.1.0"
}
},
"minimist": {
@@ -5124,16 +3632,16 @@
"integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
"dev": true,
"requires": {
- "deep-extend": "~0.4.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
}
},
"semver": {
"version": "5.4.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=",
+ "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
"dev": true
},
"strip-ansi": {
@@ -5142,7 +3650,7 @@
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.1.1"
}
},
"strip-json-comments": {
@@ -5157,10 +3665,10 @@
"integrity": "sha1-XkzspaN3njNlsVEeBfhmh3MC92A=",
"dev": true,
"requires": {
- "cliclopts": "^1.1.0",
- "debug": "^2.1.3",
- "minimist": "^1.2.0",
- "xtend": "^4.0.0"
+ "cliclopts": "1.1.1",
+ "debug": "2.6.9",
+ "minimist": "1.2.0",
+ "xtend": "4.0.1"
}
},
"supports-color": {
@@ -5175,7 +3683,7 @@
"integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=",
"dev": true,
"requires": {
- "hoek": "2.x.x"
+ "hoek": "2.16.3"
}
},
"wreck": {
@@ -5184,8 +3692,8 @@
"integrity": "sha1-oTaXafB7u2LWo3gzanhx/Hc8dAs=",
"dev": true,
"requires": {
- "boom": "2.x.x",
- "hoek": "2.x.x"
+ "boom": "2.10.1",
+ "hoek": "2.16.3"
}
},
"xtend": {
@@ -5207,38 +3715,27 @@
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
},
"object-assign": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
- "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
- "object.defaults": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+ "object-keys": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
+ "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
+ "dev": true
+ },
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
"dev": true,
"requires": {
- "array-each": "^1.0.1",
- "array-slice": "^1.0.0",
- "for-own": "^1.0.0",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "for-own": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
- "dev": true,
- "requires": {
- "for-in": "^1.0.1"
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- }
+ "define-properties": "1.1.2",
+ "function-bind": "1.1.1",
+ "has-symbols": "1.0.0",
+ "object-keys": "1.0.12"
}
},
"object.omit": {
@@ -5247,42 +3744,28 @@
"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
"dev": true,
"requires": {
- "for-own": "^0.1.4",
- "is-extendable": "^0.1.1"
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
}
},
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- }
+ "wrappy": "1.0.2"
}
},
- "once": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
- "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
"dev": true,
"requires": {
- "wrappy": "1"
+ "mimic-fn": "1.2.0"
}
},
- "onetime": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
- "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
- "dev": true
- },
"open": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz",
@@ -5295,14 +3778,14 @@
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
"requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
+ "minimist": "0.0.8",
+ "wordwrap": "0.0.3"
},
"dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true
}
}
@@ -5313,20 +3796,12 @@
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
"dev": true,
"requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
- },
- "dependencies": {
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- }
+ "deep-is": "0.1.3",
+ "fast-levenshtein": "2.0.6",
+ "levn": "0.3.0",
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2",
+ "wordwrap": "1.0.0"
}
},
"ora": {
@@ -5335,37 +3810,73 @@
"integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=",
"dev": true,
"requires": {
- "chalk": "^1.1.1",
- "cli-cursor": "^1.0.2",
- "cli-spinners": "^0.1.2",
- "object-assign": "^4.0.1"
+ "chalk": "1.1.3",
+ "cli-cursor": "1.0.2",
+ "cli-spinners": "0.1.2",
+ "object-assign": "4.1.1"
},
"dependencies": {
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "cli-cursor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
+ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "1.0.1"
+ }
+ },
+ "onetime": {
+ "version": "1.1.0",
+ "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
+ "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
+ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "dev": true,
+ "requires": {
+ "exit-hook": "1.1.1",
+ "onetime": "1.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
}
}
},
- "orchestrator": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
- "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
+ "ordered-read-streams": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
+ "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
"dev": true,
"requires": {
- "end-of-stream": "~0.1.5",
- "sequencify": "~0.0.7",
- "stream-consume": "~0.1.0"
+ "readable-stream": "2.3.6"
}
},
- "ordered-read-streams": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
- "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
- "dev": true
- },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -5373,11 +3884,13 @@
"dev": true
},
"os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
+ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
"requires": {
- "lcid": "^1.0.0"
+ "execa": "0.7.0",
+ "lcid": "1.0.0",
+ "mem": "1.1.0"
}
},
"os-tmpdir": {
@@ -5386,65 +3899,42 @@
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
- "osenv": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
- "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
- "dev": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
},
"p-limit": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
- "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
- "dev": true,
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"requires": {
- "p-try": "^1.0.0"
+ "p-try": "1.0.0"
}
},
"p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
"requires": {
- "p-limit": "^1.1.0"
+ "p-limit": "1.3.0"
}
},
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
},
"package-json": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-1.2.0.tgz",
- "integrity": "sha1-yOysCUInzfdqMWh07QXifMk5oOA=",
- "dev": true,
- "requires": {
- "got": "^3.2.0",
- "registry-url": "^3.0.0"
- }
- },
- "parse-filepath": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz",
- "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
+ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
"dev": true,
"requires": {
- "is-absolute": "^0.2.3",
- "map-cache": "^0.2.0",
- "path-root": "^0.1.1"
+ "got": "6.7.1",
+ "registry-auth-token": "3.3.2",
+ "registry-url": "3.1.0",
+ "semver": "5.5.0"
}
},
"parse-glob": {
@@ -5453,18 +3943,36 @@
"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
"dev": true,
"requires": {
- "glob-base": "^0.3.0",
- "is-dotfile": "^1.0.0",
- "is-extglob": "^1.0.0",
- "is-glob": "^2.0.0"
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ },
+ "dependencies": {
+ "is-extglob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
+ }
}
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
"requires": {
- "error-ex": "^1.2.0"
+ "error-ex": "1.3.2"
}
},
"parse-passwd": {
@@ -5473,13 +3981,16 @@
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
"path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
},
"path-is-absolute": {
"version": "1.0.1",
@@ -5496,8 +4007,7 @@
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
},
"path-parse": {
"version": "1.0.5",
@@ -5505,29 +4015,13 @@
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
- "path-root": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
- "dev": true,
- "requires": {
- "path-root-regex": "^0.1.0"
- }
- },
- "path-root-regex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
- "dev": true
- },
"path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "pify": "2.3.0"
}
},
"performance-now": {
@@ -5538,19 +4032,22 @@
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
},
"pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
"requires": {
- "pinkie": "^2.0.0"
+ "pinkie": "2.0.4"
}
},
"pkg-dir": {
@@ -5559,7 +4056,28 @@
"integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
"dev": true,
"requires": {
- "find-up": "^1.0.0"
+ "find-up": "1.1.2"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ }
}
},
"pluralize": {
@@ -5587,32 +4105,26 @@
"dev": true
},
"prettier": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.10.2.tgz",
- "integrity": "sha512-TcdNoQIWFoHblurqqU6d1ysopjq7UX0oRcT/hJ8qvBAELiYWn+Ugf0AXdnzISEJ7vuhNnQ98N8jR8Sh53x4IZg==",
- "dev": true
- },
- "pretty-hrtime": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
- "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
+ "version": "1.13.5",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.5.tgz",
+ "integrity": "sha512-4M90mfvLz6yRf2Dhzd+xPIE6b4xkI8nHMJhsSm9IlfG17g6wujrrm7+H1X8x52tC4cSNm6HmuhCUSNe6Hd5wfw==",
"dev": true
},
"printj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.0.tgz",
- "integrity": "sha1-hUh7Xo+WdjsLSiU2E7753Zs4fjw="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
+ "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ=="
},
"private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
+ "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=",
"dev": true
},
"process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true
},
"progress": {
@@ -5624,8 +4136,28 @@
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ },
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
+ },
+ "pumpify": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "dev": true,
+ "requires": {
+ "duplexify": "3.6.0",
+ "inherits": "2.0.3",
+ "pump": "2.0.1"
+ }
},
"punycode": {
"version": "1.4.1",
@@ -5633,142 +4165,89 @@
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"qs": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"randomatic": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
- "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz",
+ "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==",
"dev": true,
"requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
+ "is-number": "4.0.0",
+ "kind-of": "6.0.2",
+ "math-random": "1.0.1"
},
"dependencies": {
"is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "dev": true
},
"kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
}
}
},
"rc": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.5.tgz",
- "integrity": "sha1-VBzDMA9GS23+ZDLXVvDy3T6esZk=",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dev": true,
"requires": {
- "deep-extend": "~0.2.5",
- "ini": "~1.3.0",
- "minimist": "~0.0.7",
- "strip-json-comments": "0.1.x"
+ "deep-extend": "0.6.0",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
},
"dependencies": {
"minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- }
- }
- },
- "read-all-stream": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
- "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0",
- "readable-stream": "^2.0.0"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
}
}
},
"read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
"requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
+ "load-json-file": "2.0.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "2.0.0"
}
},
"read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
"requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
+ "find-up": "2.1.0",
+ "read-pkg": "2.0.0"
}
},
"readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
},
"readline2": {
@@ -5777,54 +4256,27 @@
"integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=",
"dev": true,
"requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
"mute-stream": "0.0.5"
- }
- },
- "recast": {
- "version": "0.10.43",
- "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.43.tgz",
- "integrity": "sha1-uV1Q9tYHYaX2JS4V2AZ4FoSRzn8=",
- "dev": true,
- "requires": {
- "ast-types": "0.8.15",
- "esprima-fb": "~15001.1001.0-dev-harmony-fb",
- "private": "~0.1.5",
- "source-map": "~0.5.0"
},
"dependencies": {
- "ast-types": {
- "version": "0.8.15",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.15.tgz",
- "integrity": "sha1-ju8IJ/BN/w7IhXupJavj/qYZTlI=",
- "dev": true
- },
- "esprima-fb": {
- "version": "15001.1001.0-dev-harmony-fb",
- "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
- "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=",
+ "mute-stream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
+ "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=",
"dev": true
}
}
},
- "rechoir": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
- "dev": true,
- "requires": {
- "resolve": "^1.1.6"
- }
- },
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
"dev": true,
"requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
+ "indent-string": "2.1.0",
+ "strip-indent": "1.0.1"
}
},
"redeyed": {
@@ -5833,7 +4285,7 @@
"integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=",
"dev": true,
"requires": {
- "esprima": "~3.0.0"
+ "esprima": "3.0.0"
},
"dependencies": {
"esprima": {
@@ -5853,10 +4305,10 @@
"regex-cache": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
"dev": true,
"requires": {
- "is-equal-shallow": "^0.1.3"
+ "is-equal-shallow": "0.1.3"
}
},
"regexpp": {
@@ -5866,39 +4318,13 @@
"dev": true
},
"registry-auth-token": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz",
- "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
+ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
"dev": true,
"requires": {
- "rc": "^1.1.6",
- "safe-buffer": "^5.0.1"
- },
- "dependencies": {
- "deep-extend": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
- "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
- "dev": true
- },
- "rc": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.3.tgz",
- "integrity": "sha1-UVdakA+N1oOBxxC0cSwhVMPiA1s=",
- "dev": true,
- "requires": {
- "deep-extend": "~0.4.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- }
+ "rc": "1.2.8",
+ "safe-buffer": "5.1.2"
}
},
"registry-url": {
@@ -5907,33 +4333,28 @@
"integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
"dev": true,
"requires": {
- "rc": "^1.0.1"
- },
- "dependencies": {
- "deep-extend": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
- "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
- "dev": true
- },
- "rc": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
- "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
- "dev": true,
- "requires": {
- "deep-extend": "~0.4.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true
- }
+ "rc": "1.2.8"
+ }
+ },
+ "remove-bom-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
+ "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6",
+ "is-utf8": "0.2.1"
+ }
+ },
+ "remove-bom-stream": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
+ "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
+ "dev": true,
+ "requires": {
+ "remove-bom-buffer": "3.0.0",
+ "safe-buffer": "5.1.2",
+ "through2": "2.0.3"
}
},
"remove-trailing-separator": {
@@ -5960,210 +4381,553 @@
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
"requires": {
- "is-finite": "^1.0.0"
+ "is-finite": "1.0.2"
+ }
+ },
+ "replace-ext": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
+ "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+ "dev": true
+ },
+ "request": {
+ "version": "2.87.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
+ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
+ "requires": {
+ "aws-sign2": "0.7.0",
+ "aws4": "1.7.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.6",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.3.2",
+ "har-validator": "5.0.3",
+ "http-signature": "1.2.0",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.18",
+ "oauth-sign": "0.8.2",
+ "performance-now": "2.1.0",
+ "qs": "6.5.2",
+ "safe-buffer": "5.1.2",
+ "tough-cookie": "2.3.4",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.2.1"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+ },
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ },
+ "require-package-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz",
+ "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=",
+ "dev": true
+ },
+ "require-uncached": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
+ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+ "dev": true,
+ "requires": {
+ "caller-path": "0.1.0",
+ "resolve-from": "1.0.1"
+ }
+ },
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ },
+ "resolve-dir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+ "dev": true,
+ "requires": {
+ "expand-tilde": "2.0.2",
+ "global-modules": "1.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "dev": true
+ },
+ "resolve-options": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
+ "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
+ "dev": true,
+ "requires": {
+ "value-or-function": "3.0.0"
+ }
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "rexreplace": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/rexreplace/-/rexreplace-3.1.1.tgz",
+ "integrity": "sha512-jsPB5lgswq7KMM8FdlnSzH5vfCaehkIcvoqYBsFw8RJ5NTu4K2Crd1YlCl2qmmDGfeBwadbDLCEw09Wnf7PBSw==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.4.1",
+ "globs": "0.1.4",
+ "yargs": "12.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "3.2.1",
+ "escape-string-regexp": "1.0.5",
+ "supports-color": "5.4.0"
+ }
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "decamelize": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
+ "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
+ "dev": true,
+ "requires": {
+ "xregexp": "4.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "3.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "3.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
+ "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
+ "dev": true,
+ "requires": {
+ "p-try": "2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
+ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
+ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ },
+ "yargs": {
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.1.tgz",
+ "integrity": "sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ==",
+ "dev": true,
+ "requires": {
+ "cliui": "4.1.0",
+ "decamelize": "2.0.0",
+ "find-up": "3.0.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "10.1.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
+ }
+ },
+ "right-align": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "align-text": "0.1.4"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
+ },
+ "rollup": {
+ "version": "0.61.2",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.61.2.tgz",
+ "integrity": "sha512-NN7GaX3c9I3oz+CjEex7+JbnSxrLMTBXNRThI4qdN2Tq0K/7RiedlEzOHyuVAHPZKvQeoPiRioTWL3xhmN+oCg==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "@types/node": "10.3.5"
+ }
+ },
+ "rollup-plugin-buble": {
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.19.2.tgz",
+ "integrity": "sha512-dxK0prR8j/7qhI2EZDz/evKCRuhuZMpRlUGPrRWmpg5/2V8tP1XFW+Uk0WfxyNgFfJHvy0GmxnJSTb5dIaNljQ==",
+ "dev": true,
+ "requires": {
+ "buble": "0.19.3",
+ "rollup-pluginutils": "2.3.0"
+ }
+ },
+ "rollup-plugin-cleanup": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.0.0.tgz",
+ "integrity": "sha512-G7CGGvwIx1uEWm6TRaYiEez3+9PmSGlty6RjBZyrs9JlsXDGs58HiJZAdy9/KuRaPfwD974qU5444JtpPiduCA==",
+ "dev": true,
+ "requires": {
+ "acorn": "5.7.1",
+ "magic-string": "0.25.0",
+ "rollup-pluginutils": "2.3.0"
+ },
+ "dependencies": {
+ "magic-string": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.0.tgz",
+ "integrity": "sha512-Msbwa9oNYNPjwVh9ury5X2BHbTFWoirTlzuf4X+pIoSOQVKNRJHXTx1WmKYuXzRM4QZFv8dGXyZvhDMmWhGLPw==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "1.4.1"
+ }
+ }
+ }
+ },
+ "rollup-plugin-closure-compiler-js": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-closure-compiler-js/-/rollup-plugin-closure-compiler-js-1.0.6.tgz",
+ "integrity": "sha1-WOPjEpetGlMtkRQQi8BvJ1bXLD0=",
+ "dev": true,
+ "requires": {
+ "google-closure-compiler-js": "20180610.0.0"
+ }
+ },
+ "rollup-plugin-commonjs": {
+ "version": "9.1.3",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.1.3.tgz",
+ "integrity": "sha512-g91ZZKZwTW7F7vL6jMee38I8coj/Q9GBdTmXXeFL7ldgC1Ky5WJvHgbKlAiXXTh762qvohhExwUgeQGFh9suGg==",
+ "dev": true,
+ "requires": {
+ "estree-walker": "0.5.2",
+ "magic-string": "0.22.5",
+ "resolve": "1.8.1",
+ "rollup-pluginutils": "2.3.0"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
+ }
+ }
+ },
+ "rollup-plugin-filesize": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-filesize/-/rollup-plugin-filesize-2.0.0.tgz",
+ "integrity": "sha512-ZFwmrHvfAXLyYLK9mgiFDCDg3wncX/Dx5XLA9KDBqVu+Gi3zH7hvpjho36QZyyAmYm8iEwv1KGOCMdCernzo7A==",
+ "dev": true,
+ "requires": {
+ "boxen": "1.3.0",
+ "colors": "1.3.0",
+ "deep-assign": "2.0.0",
+ "filesize": "3.6.1",
+ "gzip-size": "3.0.0"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.0.tgz",
+ "integrity": "sha512-EDpX3a7wHMWFA7PUHWPHNWqOxIIRSJetuwl0AS5Oi/5FMV8kWm69RTlgm00GKjBO1xFHMtBbL49yRtMMdticBw==",
+ "dev": true
+ }
+ }
+ },
+ "rollup-plugin-hashbang": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-hashbang/-/rollup-plugin-hashbang-1.0.1.tgz",
+ "integrity": "sha512-m35A6J3ZT4n8+ZDnMex4RLb8UdEuAMuN22Wh3V+NDgLB8drJ80U5W+huwgBIMkOSzT6CRVRlx0hvGVODB7Y/gg==",
+ "dev": true,
+ "requires": {
+ "magic-string": "0.22.5"
+ }
+ },
+ "rollup-plugin-node-resolve": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.3.0.tgz",
+ "integrity": "sha512-9zHGr3oUJq6G+X0oRMYlzid9fXicBdiydhwGChdyeNRGPcN/majtegApRKHLR5drboUvEWU+QeUmGTyEZQs3WA==",
+ "dev": true,
+ "requires": {
+ "builtin-modules": "2.0.0",
+ "is-module": "1.0.0",
+ "resolve": "1.1.7"
+ },
+ "dependencies": {
+ "builtin-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz",
+ "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==",
+ "dev": true
+ }
}
},
- "replace-ext": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
- "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
- "dev": true
+ "rollup-plugin-preserve-shebang": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-preserve-shebang/-/rollup-plugin-preserve-shebang-0.1.6.tgz",
+ "integrity": "sha512-b+psdlXZOjmlnKmL6/YAkR8PR15VPcUNXdT35urBRJ8jE6UxHyb4HXeeN3qRZJbMJJaX1eRP72XwH6IvGFh5Jw==",
+ "dev": true,
+ "requires": {
+ "magic-string": "0.22.5"
+ }
},
- "replacestream": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
- "integrity": "sha1-PuV5gJK+Nksc2xSEMISSyz3/LzY=",
+ "rollup-plugin-progress": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-progress/-/rollup-plugin-progress-0.4.0.tgz",
+ "integrity": "sha1-7AtO4zlkNGRUEjJykmKLh7O0Tx4=",
"dev": true,
"requires": {
- "escape-string-regexp": "^1.0.3",
- "object-assign": "^4.0.1",
- "readable-stream": "^2.0.2"
+ "chalk": "1.1.3",
+ "rollup-pluginutils": "1.5.2"
},
"dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
}
},
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
+ "estree-walker": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz",
+ "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=",
+ "dev": true
+ },
+ "rollup-pluginutils": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
+ "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
"dev": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "estree-walker": "0.2.1",
+ "minimatch": "3.0.4"
}
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
}
}
},
- "request": {
- "version": "2.83.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
- "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.6.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.5",
- "extend": "~3.0.1",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.1",
- "har-validator": "~5.0.3",
- "hawk": "~6.0.2",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.17",
- "oauth-sign": "~0.8.2",
- "performance-now": "^2.1.0",
- "qs": "~6.5.1",
- "safe-buffer": "^5.1.1",
- "stringstream": "~0.0.5",
- "tough-cookie": "~2.3.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.1.0"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
- },
- "require-package-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz",
- "integrity": "sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk=",
- "dev": true
- },
- "require-uncached": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
- "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
- "dev": true,
- "requires": {
- "caller-path": "^0.1.0",
- "resolve-from": "^1.0.0"
- }
- },
- "resolve": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
- "integrity": "sha1-p1vgHFPaJdk0qY69DkxKcxL5KoY=",
+ "rollup-plugin-re": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-re/-/rollup-plugin-re-1.0.7.tgz",
+ "integrity": "sha1-/hdHBO1ZzahMrwK9ATtYLm/apPY=",
"dev": true,
"requires": {
- "path-parse": "^1.0.5"
+ "magic-string": "0.16.0",
+ "rollup-pluginutils": "2.3.0"
+ },
+ "dependencies": {
+ "magic-string": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.16.0.tgz",
+ "integrity": "sha1-lw67DacZMwEoX7GqZQ85vdgetFo=",
+ "dev": true,
+ "requires": {
+ "vlq": "0.2.3"
+ }
+ },
+ "vlq": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+ "dev": true
+ }
}
},
- "resolve-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
+ "rollup-plugin-replace": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.0.0.tgz",
+ "integrity": "sha512-pK9mTd/FNrhtBxcTBXoh0YOwRIShV0gGhv9qvUtNcXHxIMRZMXqfiZKVBmCRGp8/2DJRy62z2JUE7/5tP6WxOQ==",
"dev": true,
"requires": {
- "expand-tilde": "^1.2.2",
- "global-modules": "^0.2.3"
+ "magic-string": "0.22.5",
+ "minimatch": "3.0.4",
+ "rollup-pluginutils": "2.3.0"
}
},
- "resolve-from": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
- "dev": true
- },
- "restore-cursor": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
- "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=",
+ "rollup-plugin-typescript2": {
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.15.0.tgz",
+ "integrity": "sha512-0SiFfXhs41wQ94RIzw8EDM9vblyLNFNDgyqX1rci6e1KpYcxIbNH67nzv0DCS31LnA7K4F9irTl+ZPezvm/zug==",
"dev": true,
"requires": {
- "exit-hook": "^1.0.0",
- "onetime": "^1.0.0"
+ "fs-extra": "5.0.0",
+ "resolve": "1.8.1",
+ "rollup-pluginutils": "2.3.0",
+ "tslib": "1.9.2"
+ },
+ "dependencies": {
+ "resolve": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "dev": true,
+ "requires": {
+ "path-parse": "1.0.5"
+ }
+ }
}
},
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "rollup-plugin-uglify": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-4.0.0.tgz",
+ "integrity": "sha512-f6W31EQLzxSEYfN3x6/lyljHqXSoCjXKcTsnwz3evQvHgU1+qTzU2SE0SIG7tbAvaCewp2UaZ5x3k6nYsxOP9A==",
"dev": true,
"requires": {
- "align-text": "^0.1.1"
+ "@babel/code-frame": "7.0.0-beta.51",
+ "uglify-js": "3.4.4"
}
},
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "rollup-pluginutils": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz",
+ "integrity": "sha512-xB6hsRsjdJdIYWEyYUJy/3ki5g69wrf0luHPGNK3ZSocV6HLNfio59l3dZ3TL4xUwEKgROhFi9jOCt6c5gfUWw==",
"dev": true,
"requires": {
- "glob": "^7.0.5"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- }
+ "estree-walker": "0.5.2",
+ "micromatch": "2.3.11"
}
},
"run-async": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz",
- "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
"dev": true,
"requires": {
- "once": "^1.3.0"
+ "is-promise": "2.1.0"
}
},
"rx-lite": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
- "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
+ "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
"dev": true
},
"rx-lite-aggregates": {
@@ -6172,30 +4936,30 @@
"integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
"dev": true,
"requires": {
- "rx-lite": "*"
+ "rx-lite": "4.0.8"
}
},
"safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"semaphore": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/semaphore/-/semaphore-1.1.0.tgz",
- "integrity": "sha1-qq2LhrIP6OmzKxbcLuaCqM0mqKo=",
+ "integrity": "sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA==",
"dev": true
},
"semver": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
- "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4="
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
+ "dev": true
},
"semver-diff": {
"version": "2.1.0",
@@ -6203,15 +4967,9 @@
"integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
"dev": true,
"requires": {
- "semver": "^5.0.3"
+ "semver": "5.5.0"
}
},
- "sequencify": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
- "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
- "dev": true
- },
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -6221,28 +4979,19 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "shebang-regex": "1.0.0"
}
},
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
- },
- "sigmund": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
- "dev": true
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
},
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
"slice-ansi": {
"version": "1.0.0",
@@ -6250,7 +4999,7 @@
"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0"
+ "is-fullwidth-code-point": "2.0.0"
},
"dependencies": {
"is-fullwidth-code-point": {
@@ -6261,43 +5010,55 @@
}
}
},
- "sntp": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz",
- "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==",
- "requires": {
- "hoek": "4.x.x"
- }
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "dev": true
},
"source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
- "sparkles": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
- "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
+ "sourcemap-codec": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz",
+ "integrity": "sha512-hX1eNBNuilj8yfFnECh0DzLgwKpBLMIvmhgEhixXNui8lMLBInTI8Kyxt++RwJnMNu7cAUo635L2+N1TxMJCzA==",
"dev": true
},
"spdx-correct": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
+ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
+ "dev": true,
"requires": {
- "spdx-license-ids": "^1.0.2"
+ "spdx-expression-parse": "3.0.0",
+ "spdx-license-ids": "3.0.0"
}
},
+ "spdx-exceptions": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
+ "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
+ "dev": true
+ },
"spdx-expression-parse": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "2.1.0",
+ "spdx-license-ids": "3.0.0"
+ }
},
"spdx-license-ids": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc="
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
+ "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
+ "dev": true
},
"sprintf-js": {
"version": "1.0.3",
@@ -6306,26 +5067,27 @@
"dev": true
},
"ssf": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.1.tgz",
- "integrity": "sha1-8j2CtjeS71YIkInBzQyEjpEc26Y=",
+ "version": "0.10.2",
+ "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz",
+ "integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==",
"requires": {
- "frac": "~1.1.0"
+ "frac": "1.1.2"
}
},
"sshpk": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
- "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
+ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "tweetnacl": "~0.14.0"
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2",
+ "tweetnacl": "0.14.5"
}
},
"stackframe": {
@@ -6334,12 +5096,6 @@
"integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=",
"dev": true
},
- "stream-consume": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz",
- "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=",
- "dev": true
- },
"stream-shift": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
@@ -6352,57 +5108,62 @@
"integrity": "sha1-s/D6QZKVICpaKJ9ta+n0kJphcZM=",
"dev": true
},
- "string-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz",
- "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=",
- "dev": true,
- "requires": {
- "strip-ansi": "^3.0.0"
- }
- },
"string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
}
},
"string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- },
- "stringstream": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
- "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"requires": {
- "ansi-regex": "^2.0.0"
+ "ansi-regex": "2.1.1"
}
},
"strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "requires": {
- "is-utf8": "^0.2.0"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
},
"strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
},
"strip-indent": {
"version": "1.0.1",
@@ -6410,101 +5171,36 @@
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
"dev": true,
"requires": {
- "get-stdin": "^4.0.1"
+ "get-stdin": "4.0.1"
}
},
"strip-json-comments": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz",
- "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
"dev": true
},
"supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
+ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "dev": true,
+ "requires": {
+ "has-flag": "2.0.0"
+ }
},
"table": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
- "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
- "dev": true,
- "requires": {
- "ajv": "^5.2.3",
- "ajv-keywords": "^2.1.0",
- "chalk": "^2.1.0",
- "lodash": "^4.17.4",
- "slice-ansi": "1.0.0",
- "string-width": "^2.1.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
+ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.2",
+ "ajv-keywords": "2.1.1",
+ "chalk": "2.1.0",
+ "lodash": "4.17.10",
+ "slice-ansi": "1.0.0",
+ "string-width": "2.1.1"
}
},
"tabletop": {
@@ -6513,8 +5209,8 @@
"integrity": "sha1-ZU1ITK5ODmWh8gd6e+xg2nt0ZPM=",
"dev": true,
"requires": {
- "nsp": "^2.6.2",
- "request": "^2.51.0"
+ "nsp": "2.8.1",
+ "request": "2.87.0"
}
},
"term-size": {
@@ -6523,24 +5219,7 @@
"integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
"dev": true,
"requires": {
- "execa": "^0.7.0"
- },
- "dependencies": {
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- }
+ "execa": "0.7.0"
}
},
"text-table": {
@@ -6549,12 +5228,6 @@
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
- "textextensions": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz",
- "integrity": "sha1-ZUhjk+4fK7A5pgy7oFsLaL2VAdI=",
- "dev": true
- },
"throat": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/throat/-/throat-2.0.2.tgz",
@@ -6573,67 +5246,30 @@
"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
"dev": true,
"requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
- "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~1.0.6",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.0.3",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
- "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "readable-stream": "2.3.6",
+ "xtend": "4.0.1"
}
},
- "ticky": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz",
- "integrity": "sha1-t8+nHnaPHJAAxJe5FRswlHxQ5G0=",
- "dev": true
- },
- "tildify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
- "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
+ "through2-filter": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
"dev": true,
"requires": {
- "os-homedir": "^1.0.0"
+ "through2": "2.0.3",
+ "xtend": "4.0.1"
}
},
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
+ "ticky": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz",
+ "integrity": "sha1-t8+nHnaPHJAAxJe5FRswlHxQ5G0=",
"dev": true
},
"timed-out": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz",
- "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
+ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
"dev": true
},
"tmp": {
@@ -6642,7 +5278,17 @@
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"dev": true,
"requires": {
- "os-tmpdir": "~1.0.2"
+ "os-tmpdir": "1.0.2"
+ }
+ },
+ "to-absolute-glob": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+ "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
+ "dev": true,
+ "requires": {
+ "is-absolute": "1.0.0",
+ "is-negated-glob": "1.0.0"
}
},
"to-fast-properties": {
@@ -6651,12 +5297,21 @@
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true
},
+ "to-through": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
+ "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
+ "dev": true,
+ "requires": {
+ "through2": "2.0.3"
+ }
+ },
"tough-cookie": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
- "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"requires": {
- "punycode": "^1.4.1"
+ "punycode": "1.4.1"
}
},
"trim-newlines": {
@@ -6665,12 +5320,18 @@
"integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
"dev": true
},
+ "tslib": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz",
+ "integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw==",
+ "dev": true
+ },
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"requires": {
- "safe-buffer": "^5.0.1"
+ "safe-buffer": "5.1.2"
}
},
"tweetnacl": {
@@ -6685,7 +5346,7 @@
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2"
+ "prelude-ls": "1.1.2"
}
},
"typedarray": {
@@ -6694,36 +5355,30 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
+ "typescript": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
+ "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
+ "dev": true
+ },
"uglify-js": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.7.tgz",
- "integrity": "sha512-esJIpNQIC44EFSrbeFPhiXHy2HJ+dTcnn0Zdkn+5meuLsvoV0mFJffKlyezNIIHNfhF0NpgbifygCfEyAogIhQ==",
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.4.tgz",
+ "integrity": "sha512-RiB1kNcC9RMyqwRrjXC+EjgLoXULoDnCaOnEDzUCHkBN0bHwmtF5rzDMiDWU29gu0kXCRRWwtcTAVFWRECmU2Q==",
"dev": true,
"requires": {
- "commander": "~2.13.0",
- "source-map": "~0.6.1"
+ "commander": "2.16.0",
+ "source-map": "0.6.1"
},
"dependencies": {
"commander": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
- "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
+ "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
"dev": true
}
}
},
- "uglify-save-license": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz",
- "integrity": "sha1-lXJsF8xv0XHDYX479NjYKqjEzOE=",
- "dev": true
- },
"uglify-to-browserify": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
@@ -6737,17 +5392,15 @@
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
"dev": true
},
- "underscore": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz",
- "integrity": "sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA=",
- "dev": true
- },
"unique-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
- "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
- "dev": true
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",
+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "1.0.1",
+ "through2-filter": "2.0.0"
+ }
},
"unique-string": {
"version": "1.0.0",
@@ -6755,9 +5408,15 @@
"integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
"dev": true,
"requires": {
- "crypto-random-string": "^1.0.0"
+ "crypto-random-string": "1.0.0"
}
},
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ },
"unzip-response": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
@@ -6765,68 +5424,21 @@
"dev": true
},
"update-notifier": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.2.2.tgz",
- "integrity": "sha1-5ps6eEtOaGoqzZj15mlEWRmW4Yc=",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
+ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==",
"dev": true,
"requires": {
- "chalk": "^0.5.1",
- "configstore": "^0.3.1",
- "is-npm": "^1.0.0",
- "latest-version": "^1.0.0",
- "semver-diff": "^2.0.0",
- "string-length": "^1.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
- "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
- "dev": true
- },
- "ansi-styles": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
- "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
- "dev": true
- },
- "chalk": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
- "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
- "dev": true,
- "requires": {
- "ansi-styles": "^1.1.0",
- "escape-string-regexp": "^1.0.0",
- "has-ansi": "^0.1.0",
- "strip-ansi": "^0.3.0",
- "supports-color": "^0.2.0"
- }
- },
- "has-ansi": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
- "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
- "dev": true,
- "requires": {
- "ansi-regex": "^0.2.0"
- }
- },
- "strip-ansi": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
- "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
- "dev": true,
- "requires": {
- "ansi-regex": "^0.2.1"
- }
- },
- "supports-color": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
- "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
- "dev": true
- }
+ "boxen": "1.3.0",
+ "chalk": "2.1.0",
+ "configstore": "3.1.2",
+ "import-lazy": "2.1.0",
+ "is-ci": "1.1.0",
+ "is-installed-globally": "0.1.0",
+ "is-npm": "1.0.0",
+ "latest-version": "3.1.0",
+ "semver-diff": "2.1.0",
+ "xdg-basedir": "3.0.0"
}
},
"url-parse-lax": {
@@ -6835,15 +5447,9 @@
"integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
"dev": true,
"requires": {
- "prepend-http": "^1.0.1"
+ "prepend-http": "1.0.4"
}
},
- "user-home": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
- "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
- "dev": true
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -6851,168 +5457,135 @@
"dev": true
},
"uuid": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
- "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
+ "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA=="
},
- "v8flags": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
- "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
+ "validate-npm-package-license": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
+ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"dev": true,
"requires": {
- "user-home": "^1.1.1"
+ "spdx-correct": "3.0.0",
+ "spdx-expression-parse": "3.0.0"
}
},
- "validate-npm-package-license": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
- "requires": {
- "spdx-correct": "~1.0.0",
- "spdx-expression-parse": "~1.0.0"
- }
+ "value-or-function": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
+ "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=",
+ "dev": true
},
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
- "assert-plus": "^1.0.0",
+ "assert-plus": "1.0.0",
"core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
+ "extsprintf": "1.3.0"
}
},
"vinyl": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
- "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
+ "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
"dev": true,
"requires": {
- "clone": "^1.0.0",
- "clone-stats": "^0.0.1",
- "replace-ext": "0.0.1"
+ "clone": "2.1.1",
+ "clone-buffer": "1.0.0",
+ "clone-stats": "1.0.0",
+ "cloneable-readable": "1.1.2",
+ "remove-trailing-separator": "1.1.0",
+ "replace-ext": "1.0.0"
}
},
"vinyl-fs": {
- "version": "0.3.14",
- "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
- "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
- "dev": true,
- "requires": {
- "defaults": "^1.0.0",
- "glob-stream": "^3.1.5",
- "glob-watcher": "^0.0.6",
- "graceful-fs": "^3.0.0",
- "mkdirp": "^0.5.0",
- "strip-bom": "^1.0.0",
- "through2": "^0.6.1",
- "vinyl": "^0.4.0"
- },
- "dependencies": {
- "clone": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
- "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
- "dev": true
- },
- "graceful-fs": {
- "version": "3.0.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
- "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
- "dev": true,
- "requires": {
- "natives": "^1.1.0"
- }
- },
- "readable-stream": {
- "version": "1.0.34",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
- "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "strip-bom": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
- "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
- "dev": true,
- "requires": {
- "first-chunk-stream": "^1.0.0",
- "is-utf8": "^0.2.0"
- }
- },
- "through2": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
- "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
- "dev": true,
- "requires": {
- "readable-stream": ">=1.0.33-1 <1.1.0-0",
- "xtend": ">=4.0.0 <4.1.0-0"
- }
- },
- "vinyl": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
- "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
- "dev": true,
- "requires": {
- "clone": "^0.2.0",
- "clone-stats": "^0.0.1"
- }
- }
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
+ "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
+ "dev": true,
+ "requires": {
+ "fs-mkdirp-stream": "1.0.0",
+ "glob-stream": "6.1.0",
+ "graceful-fs": "4.1.11",
+ "is-valid-glob": "1.0.0",
+ "lazystream": "1.0.0",
+ "lead": "1.0.0",
+ "object.assign": "4.1.0",
+ "pumpify": "1.5.1",
+ "readable-stream": "2.3.6",
+ "remove-bom-buffer": "3.0.0",
+ "remove-bom-stream": "1.2.0",
+ "resolve-options": "1.1.0",
+ "through2": "2.0.3",
+ "to-through": "2.0.0",
+ "value-or-function": "3.0.0",
+ "vinyl": "2.2.0",
+ "vinyl-sourcemap": "1.1.0"
+ }
+ },
+ "vinyl-sourcemap": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
+ "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
+ "dev": true,
+ "requires": {
+ "append-buffer": "1.0.2",
+ "convert-source-map": "1.5.1",
+ "graceful-fs": "4.1.11",
+ "normalize-path": "2.1.1",
+ "now-and-later": "2.0.0",
+ "remove-bom-buffer": "3.0.0",
+ "vinyl": "2.2.0"
}
},
- "vinyl-sourcemaps-apply": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.1.4.tgz",
- "integrity": "sha1-xfy9Q+LyOEI8LcmL3db3m3K8NFs=",
+ "vlq": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.0.tgz",
+ "integrity": "sha512-o3WmXySo+oI5thgqr7Qy8uBkT/v9Zr+sRyrh1lr8aWPUkgDWdWt4Nae2WKBrLsocgE8BuWWD0jLc+VW8LeU+2g==",
+ "dev": true
+ },
+ "walkdir": {
+ "version": "0.0.11",
+ "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
+ "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
+ "dev": true
+ },
+ "webpack-core": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
"dev": true,
"requires": {
- "source-map": "^0.1.39"
+ "source-list-map": "0.1.8",
+ "source-map": "0.4.4"
},
"dependencies": {
"source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
- "amdefine": ">=0.0.4"
+ "amdefine": "1.0.1"
}
}
}
},
- "voc": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/voc/-/voc-1.0.0.tgz",
- "integrity": "sha1-VGXAzhHQiB99jjbYylhwQ/M6Ja4="
- },
- "walkdir": {
- "version": "0.0.11",
- "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
- "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
- "dev": true
- },
"which": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
- "dev": true,
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"requires": {
- "isexe": "^2.0.0"
+ "isexe": "2.0.0"
}
},
"which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
"widest-line": {
"version": "2.0.0",
@@ -7020,51 +5593,20 @@
"integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=",
"dev": true,
"requires": {
- "string-width": "^2.1.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "string-width": "2.1.1"
}
},
"window-size": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
- "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU="
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+ "dev": true,
+ "optional": true
},
"wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true
},
"wrap-ansi": {
@@ -7072,8 +5614,20 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1"
+ },
+ "dependencies": {
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ }
}
},
"wrappy": {
@@ -7088,43 +5642,46 @@
"integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
"dev": true,
"requires": {
- "mkdirp": "^0.5.1"
+ "mkdirp": "0.5.1"
}
},
"write-file-atomic": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
- "integrity": "sha1-H/YVdcLipOjlENb6TiQ8zhg5mas=",
+ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.11",
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
+ "graceful-fs": "4.1.11",
+ "imurmurhash": "0.1.4",
+ "signal-exit": "3.0.2"
}
},
"xdg-basedir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-1.0.1.tgz",
- "integrity": "sha1-FP+PY6T9vLBdW27qIrNvMDO58E4=",
- "dev": true,
- "requires": {
- "user-home": "^1.0.0"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
},
"xlsx": {
- "version": "0.11.17",
- "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.11.17.tgz",
- "integrity": "sha1-UHRh+5eDrQr+HPdRrrWZVukyMto=",
+ "version": "0.11.19",
+ "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.11.19.tgz",
+ "integrity": "sha512-UTfD64o5Ka/E6QHL12fzcq5wnt9MCtuwgoUdYSTDxjjDkhNmZwSfPlJH/+Yh8vE6nU/0ax3MXNrc9AP4haAmIg==",
"requires": {
- "adler-32": "~1.1.0",
- "cfb": "~1.0.1",
- "codepage": "~1.11.0",
- "commander": "~2.11.0",
- "crc-32": "~1.1.1",
- "exit-on-epipe": "~1.0.1",
- "ssf": "~0.10.1"
+ "adler-32": "1.2.0",
+ "cfb": "1.0.7",
+ "codepage": "1.12.2",
+ "commander": "2.13.0",
+ "crc-32": "1.2.0",
+ "exit-on-epipe": "1.0.1",
+ "ssf": "0.10.2"
}
},
+ "xregexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
+ "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
+ "dev": true
+ },
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
@@ -7139,37 +5696,67 @@
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
},
"yargs": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-5.0.0.tgz",
- "integrity": "sha1-M1UUSXfQV1fbuG1uOOwFYSOzpm4=",
- "requires": {
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "lodash.assign": "^4.2.0",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "window-size": "^0.2.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^3.2.0"
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz",
+ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==",
+ "requires": {
+ "cliui": "4.1.0",
+ "decamelize": "1.2.0",
+ "find-up": "2.1.0",
+ "get-caller-file": "1.0.2",
+ "os-locale": "2.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "3.2.1",
+ "yargs-parser": "9.0.2"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ },
+ "yargs-parser": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz",
+ "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=",
+ "requires": {
+ "camelcase": "4.1.0"
+ }
+ }
}
},
"yargs-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-3.2.0.tgz",
- "integrity": "sha1-UIE1XRnZ0MjF2BrakIy05tGGZk8=",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz",
+ "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==",
+ "dev": true,
"requires": {
- "camelcase": "^3.0.0",
- "lodash.assign": "^4.1.0"
+ "camelcase": "4.1.0"
}
}
}
diff --git a/package.json b/package.json
index cd3bdf59ec..5e9ec457af 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "alasql",
"description": "Use SQL to select and filter javascript data - including relational joins and search in nested objects (JSON). Export to and import from Excel and CSV",
- "version": "0.4.6",
+ "version": "0.5.0-modular-typescript",
"author": "Andrey Gershun ",
"contributors": [
"Mathias Rangel Wulff "
@@ -12,20 +12,25 @@
"test": "test"
},
"scripts": {
- "test": "npm run build && cd test && mocha . --reporter dot",
- "test:this": "gulp && cd test && mocha",
- "test:only": "cd test && mocha . --reporter dot",
- "test:browser": "node test/browserTestRunner.js 7387",
- "test:cover": "istanbul cover -x 'lib/zt/zt.js' --dir test/coverage _mocha",
- "build": "npm run format:src && gulp",
- "build:jison": "gulp --jison && gulp",
- "build:watch": "gulp watch",
+ "test": "npm run build && npm run test-only",
+ "test-this": "gulp && cd test && mocha",
+ "test-only": "mocha ./test --bail # --reporter dot",
+ "test-browser": "node test/browserTestRunner.js 7387",
+ "test-cover": "istanbul cover -x 'test/lib/zt.js' --dir test/coverage _mocha",
+ "prebuild": "rm -fr build # && npm run format",
+ "build": "tsc src/main -t ES6 --outDir build/ES6 --allowJs && rollup -c",
+ "build-fast": "node esbuild.mjs",
+ "Q_postbuild": "echo \"require('./build/alasql.es5.js')\" | node",
+ "Q_postbuild_": "java -jar /Users/mrw/Downloads/compiler-latest/closure-compiler-v20180610.jar --compilation_level SIMPLE --js dist/alasql.js > dist/alasql.min3.js",
+ "Qpostbuild": "uglifyjs -c -- build/alasql.es5.js > build/alasql.min.js",
+ "QQpostbuild": "rexreplace PACKAGE_VERSION_NUMBER 'require(\"package.json\").version' -j build/**/.*",
"bump": "mversion --no-prefix",
"uptodate": "npm-check -u --skip-unused",
"release": "f='/tmp/alasql.tmp' && curl https://raw.githubusercontent.com/wiki/agershun/alasql/How-to-release.md > $f && sh $f ; rm $f",
- "jison": "jison ./src/alasqlparser.jison -o ./src/alasqlparser.js",
- "format:src": "prettier src/*.js --write",
- "format:test": "prettier test/*.js --write"
+ "jison": "jison -c 2 ./src/alasqlparser.jison -o ./src/alasqlparser.js && echo 'export default alasqlparser;' >> ./src/alasqlparser.js && rr '(function) (locateNearestErrorRecoveryRule|__b0rk_on_internal_failure)' 'var €2=€1' ./src/alasqlparser.js",
+ "format": "npm run format:src && npm run format:test",
+ "format:src": "prettier src/*.?s --write && prettier src/**/*.?s --write ",
+ "format:test": "prettier test/*.?s --write && prettier test/**/*.?s --write"
},
"dependencies": {
"dom-storage": "^2.0.1",
@@ -33,37 +38,38 @@
"lodash": "^4.17.4",
"request": "^2.83.0",
"xlsx": "^0.11.17",
- "yargs": "^5.0.0"
+ "yargs": "^11.0.0"
},
"devDependencies": {
+ "@types/es6-promise": "^3.3.0",
"blueimp-md5": "^2.10.0",
"eslint": "^4.19.1",
- "eslint-config-airbnb-base": "^12.1.0",
- "eslint-config-standard": "^11.0.0",
- "eslint-plugin-import": "^2.12.0",
- "eslint-plugin-node": "^6.0.1",
- "eslint-plugin-promise": "^3.8.0",
- "eslint-plugin-standard": "^3.1.0",
- "gulp": "^3.9.1",
- "gulp-concat": "^2.6.1",
- "gulp-dereserve": "^0.2.1",
- "gulp-exec": "^2.1.3",
- "gulp-jison": "^1.2.0",
- "gulp-rename": "^1.2.2",
- "gulp-replace": "^0.6.1",
- "gulp-shell": "^0.6.3",
- "gulp-uglify": "^2.1.2",
"istanbul": "^0.4.5",
"jison": "^0.4.18",
- "mocha": "^3.5.3",
"mocha.parallel": "^0.15.3",
"mversion": "^1.10.1",
"npm-check": "^5.5.2",
"open": "0.0.5",
"prettier": "^1.10.2",
+ "rexreplace": "^3.1.1",
+ "rollup": "^0.61.1",
+ "rollup-plugin-buble": "^0.19.2",
+ "rollup-plugin-cleanup": "^3.0.0",
+ "rollup-plugin-closure-compiler-js": "^1.0.6",
+ "rollup-plugin-commonjs": "^9.1.0",
+ "rollup-plugin-filesize": "^2.0.0",
+ "rollup-plugin-hashbang": "^1.0.1",
+ "rollup-plugin-node-resolve": "^3.0.0",
+ "rollup-plugin-preserve-shebang": "^0.1.6",
+ "rollup-plugin-progress": "^0.4.0",
+ "rollup-plugin-re": "^1.0.7",
+ "rollup-plugin-replace": "^2.0.0",
+ "rollup-plugin-typescript2": "^0.15.0",
+ "rollup-plugin-uglify": "^4.0.0",
"strftime": "^0.10.0",
"tabletop": "^1.5.2",
- "uglify-js": "^3.3.7"
+ "typescript": "^2.9.2",
+ "uglify-js": "^3.4.4"
},
"engines": [
"node"
diff --git a/rollup.config.js b/rollup.config.js
new file mode 100644
index 0000000000..deec4301e5
--- /dev/null
+++ b/rollup.config.js
@@ -0,0 +1,97 @@
+/*
+import commonjs from 'rollup-plugin-commonjs';
+import pkg from './package.json';
+import progress from 'rollup-plugin-progress';
+import closure from 'rollup-plugin-closure-compiler-js';
+import hashbang from 'rollup-plugin-hashbang'
+
+*/
+import replace from 'rollup-plugin-replace';
+import buble from 'rollup-plugin-buble';
+import { uglify } from 'rollup-plugin-uglify';
+import resolve from 'rollup-plugin-node-resolve';
+//import typescript from 'rollup-plugin-typescript2';
+import filesize from 'rollup-plugin-filesize';
+import cleanup from 'rollup-plugin-cleanup';
+
+
+// https://github.com/ritz078/rollup-plugin-filesize
+// https://github.com/jkuri/rollup-plugin-progress
+// https://github.com/TrySound/rollup-plugin-uglify
+// https://github.com/camelaissani/rollup-plugin-closure-compiler-js
+// https://github.com/rollup/rollup-plugin-buble (for browser)
+// https://github.com/jetiny/rollup-plugin-re
+// https://github.com/ezolenko/rollup-plugin-typescript2
+// https://www.npmjs.com/package/rollup-plugin-cleanup
+
+
+const patterns = {'PACKAGE_VERSION_NUMBER': require('./package.json').version}
+
+const patternsBrowser = {
+ "//*not-for-browser/*": '/*not-for-browser/*',
+ "/*only-for-browser/*": '//*only-for-browser/*',
+ ...patterns
+}
+
+export default [
+ /*{
+ input: 'build/ES6/main',
+ output: {
+ name: 'alasql',
+ file: 'build/alasql.es6.js',
+ format: 'umd'
+ },
+ plugins: [
+ //hashbang(),
+ replace({patterns}),
+ //progress(),
+ resolve(),
+ //buble(),
+ filesize(),
+ ]
+ },//*/
+ {
+ input: 'build/ES6/main',
+ output: {
+ name: 'alasql',
+ file: 'dist/alasql.fs.js',
+ format: 'umd'
+ },
+ plugins: [
+ replace(patterns),
+ resolve(),
+ buble(),
+ cleanup(),
+ filesize(),
+ ]
+ },{
+ input: 'build/ES6/main',
+ output: {
+ name: 'alasql',
+ file: 'dist/alasql.js',
+ format: 'umd'
+ },
+ plugins: [
+ replace(patternsBrowser),
+ resolve(),
+ buble(),
+ // cleanup(),
+ filesize(),
+ ]
+ },{
+ input: 'build/ES6/main',
+ output: {
+ name: 'alasql',
+ file: 'dist/alasql.min.js',
+ format: 'umd'
+ },
+ plugins: [
+ replace(patternsBrowser),
+ resolve(),
+ buble(),
+ uglify({compress:true}),
+ filesize(),
+ ]
+ },
+
+];
diff --git a/src/10start.js b/src/10start.js
deleted file mode 100644
index 2a7c2eb4a8..0000000000
--- a/src/10start.js
+++ /dev/null
@@ -1,125 +0,0 @@
-/* eslint-disable */
-
-"use strict";
-
-/**
- @fileoverview AlaSQL JavaScript SQL library
- @see http://github.com/agershun/alasql
-*/
-
-/**
- Callback from statement
- @callback statement-callback
- @param {object} data Result data
-*/
-
-/**
- UMD envelope for AlaSQL
-*/
-
-(function (root, factory) {
- if (typeof define === 'function' && define.amd) {
- define([], factory);
- } else if (typeof exports === 'object') {
- /** alasql main function */
- module.exports = factory();
- } else {
- root.alasql = factory();
- }
-}(this, function () {
-
-/**
- AlaSQL - Main Alasql class
- @function
- @param {string|function|object} sql - SQL-statement or data object for fuent interface
- @param {object} params - SQL parameters
- @param {function} cb - callback function
- @param {object} scope - Scope for nested queries
- @return {any} - Result data object
-
- @example
- Standard sync call:
- alasql('CREATE TABLE one');
- Query:
- var res = alasql('SELECT * FROM one');
- Call with parameters:
- var res = alasql('SELECT * FROM ?',[data]);
- Standard async call with callback function:
- alasql('SELECT * FROM ?',[data],function(res){
- console.log(data);
- });
- Call with scope for subquery (to pass common values):
- var scope = {one:{a:2,b;20}}
- alasql('SELECT * FROM ? two WHERE two.a = one.a',[data],null,scope);
- Call for fluent interface with data object:
- alasql(data).Where(function(x){return x.a == 10}).exec();
- Call for fluent interface without data object:
- alasql().From(data).Where(function(x){return x.a == 10}).exec();
- */
-
-var alasql = function(sql, params, cb, scope) {
-
- params = params||[];
-
- if(typeof importScripts !== 'function' && alasql.webworker) {
- var id = alasql.lastid++;
- alasql.buffer[id] = cb;
- alasql.webworker.postMessage({id:id,sql:sql,params:params});
- return;
- }
-
- if(arguments.length === 0) {
- // Without arguments - Fluent interface
- return new yy.Select({
- columns:[new yy.Column({columnid:'*'})],
- from: [new yy.ParamValue({param:0})]
- });
- } else if(arguments.length === 1){
- // Access promise notation without using `.promise(...)`
- if(sql.constructor === Array){
- return alasql.promise(sql);
- }
- }
- // Avoid setting params if not needed even with callback
- if(typeof params === 'function'){
- scope = cb;
- cb = params;
- params = [];
- }
-
- if(typeof params !== 'object'){
- params = [params];
- }
-
- // Standard interface
- // alasql('#sql');
- if(typeof sql === 'string' && sql[0]==='#' && typeof document === "object") {
- sql = document.querySelector(sql).textContent;
- } else if(typeof sql === 'object' && sql instanceof HTMLElement) {
- sql = sql.textContent;
- } else if(typeof sql === 'function') {
- // to run multiline functions
- sql = sql.toString();
- sql = (/\/\*([\S\s]+)\*\//m.exec(sql) || ['','Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function.'])[1];
- }
- // Run SQL
- return alasql.exec(sql, params, cb, scope);
-};
-
-/**
- Current version of alasql
- @constant {string}
-*/
-alasql.version = 'PACKAGE_VERSION_NUMBER';
-
-/**
- Debug flag
- @type {boolean}
-*/
-alasql.debug = undefined; // Initial debug variable
-
-
-/*only-for-browser/*
-var require = function(){return null}; // as alasqlparser.js is generated, we can not "remove" referenses to
-var __dirname = '';
-//*/
diff --git a/src/15utility.js b/src/15utility.js
deleted file mode 100755
index ef26418d88..0000000000
--- a/src/15utility.js
+++ /dev/null
@@ -1,1299 +0,0 @@
-/*jshint unused:false*/
-/*
- Utilities for Alasql.js
-
- @todo Review the list of utilities
- @todo Find more effective utilities
-*/
-
-/**
- Alasql utility functions
- @type {object}
- */
-var utils = (alasql.utils = {});
-
-/**
- Convert NaN to undefined
- @function
- @param {string} s JavaScript string to be modified
- @return {string} Covered expression
-
- @example
-
- 123 => 123
- undefined => undefined
- NaN => undefined
-
-*/
-function n2u(s) {
- return '(y=' + s + ',y===y?y:undefined)';
-}
-
-/**
- Return undefined if s undefined
- @param {string} s JavaScript string to be modified
- @return {string} Covered expression
-
- @example
-
- 123,a => a
- undefined,a => undefined
- NaN,a => undefined
-
-*/
-function und(s, r) {
- return '(y=' + s + ',typeof y=="undefined"?undefined:' + r + ')';
-}
-
-/**
- Return always true. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
- @function
- @return {boolean} Always true
-*/
-function returnTrue() {
- return true;
-}
-
-/**
- Return undefined. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
- @function
- @return {undefined} Always undefined
-*/
-function returnUndefined() {}
-
-/**
- Escape string
- @function
- @param {string} s Source string
- @return {string} Escaped string
- @example
-
- Pit\er's => Pit\\er\'s
-
-*/
-// based on joliss/js-string-escape
-var escapeq = (utils.escapeq = function(s) {
- // console.log(s);
- return ('' + s).replace(/["'\\\n\r\u2028\u2029]/g, function(character) {
- // Escape all characters not included in SingleStringCharacters and
- // DoubleStringCharacters on
- // http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
- switch (character) {
- case '"':
- case "'":
- case '\\':
- return '\\' + character;
- // Four possible LineTerminator characters need to be escaped:
- case '\n':
- return '\\n';
- case '\r':
- return '\\r';
- case '\u2028':
- return '\\u2028';
- case '\u2029':
- return '\\u2029';
- }
- });
-});
-
-/**
- Double quotes for SQL statements
- @param {string} s Source string
- @return {string} Escaped string
-
- @example
-
- Piter's => Piter''s
-
- */
-var escapeqq = (utils.undoubleq = function(s) {
- return s.replace(/(\')/g, "''");
-});
-
-/**
- Replace double quotes with single quote
- @param {string} s Source string
- @return {string} Replaced string
- @example
-
- Piter''s => Piter's
-
- */
-var doubleq = (utils.doubleq = function(s) {
- return s.replace(/(\'\')/g, "\\'");
-});
-
-/**
- Replace sigle quote to escaped single quote
- @param {string} s Source string
- @return {string} Replaced string
-
- @todo Chack this functions
-
-*/
-var doubleqq = (utils.doubleqq = function(s) {
- return s.replace(/\'/g, "'");
-});
-
-/**
- Cut BOM first character for UTF-8 files (for merging two files)
- @param {string} s Source string
- @return {string} Replaced string
-*/
-
-var cutbom = function(s) {
- if (s[0] === String.fromCharCode(65279)) {
- s = s.substr(1);
- }
- return s;
-};
-
-/**
- Get the blobal scope
- Inspired by System.global
- @return {object} The global scope
-*/
-utils.global = (function() {
- try {
- return Function('return this')();
- } catch (e) {
- //If Content Security Policy
- var global = self || window || global;
-
- if (global) {
- return global;
- } else {
- throw new Error('Unable to locate global object');
- }
- }
-})();
-
-/**
- Find out if a function is native to the enviroment
- @param {function} Function to check
- @return {boolean} True if function is native
-*/
-var isNativeFunction = (utils.isNativeFunction = function(fn) {
- return typeof fn === 'function' && !!~fn.toString().indexOf('[native code]');
-});
-
-/**
- Find out if code is running in a web worker enviroment
- @return {boolean} True if code is running in a web worker enviroment
-*/
-utils.isWebWorker = (function() {
- try {
- var importScripts = utils.global.importScripts;
- return utils.isNativeFunction(importScripts);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a node enviroment
- @return {boolean} True if code is running in a node enviroment
-*/
-utils.isNode = (function() {
- try {
- return utils.isNativeFunction(utils.global.process.reallyExit);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a browser enviroment
- @return {boolean} True if code is running in a browser enviroment
-*/
-utils.isBrowser = (function() {
- try {
- return utils.isNativeFunction(utils.global.location.reload);
- } catch (e) {
- return false;
- }
-})();
-
-/**
- Find out if code is running in a browser with a browserify setup
- @return {boolean} True if code is running in a browser with a browserify setup
-*/
-utils.isBrowserify = (function() {
- return utils.isBrowser && typeof process !== 'undefined' && process.browser;
-})();
-
-/**
- Find out if code is running in a browser with a requireJS setup
- @return {boolean} True if code is running in a browser with a requireJS setup
-*/
-utils.isRequireJS = (function() {
- return (
- utils.isBrowser && typeof require === 'function' && typeof require.specified === 'function'
- );
-})();
-
-/**
- Find out if code is running with Meteor in the enviroment
- @return {boolean} True if code is running with Meteor in the enviroment
-
- @todo Find out if this is the best way to do this
-*/
-utils.isMeteor = (function() {
- return typeof Meteor !== 'undefined' && Meteor.release;
-})();
-
-/**
- Find out if code is running on a Meteor client
- @return {boolean} True if code is running on a Meteor client
-*/
-utils.isMeteorClient = utils.isMeteorClient = (function() {
- return utils.isMeteor && Meteor.isClient;
-})();
-
-/**
- Find out if code is running on a Meteor server
- @return {boolean} True if code is running on a Meteor server
-*/
-utils.isMeteorServer = (function() {
- return utils.isMeteor && Meteor.isServer;
-})();
-
-/**
- Find out code is running in a cordovar enviroment
- @return {boolean} True if code is running in a web worker enviroment
-
- @todo Find out if this is the best way to do this
-*/
-utils.isCordova = (function() {
- return typeof cordova === 'object';
-})();
-
-utils.isReactNative = (function() {
- var isReact = false;
- //*not-for-browser/*
- try {
- if (typeof require('react-native') === 'object') {
- isReact = true;
- }
- } catch (e) {
- void 0;
- }
- //*/
- return isReact;
-})();
-
-utils.hasIndexedDB = (function() {
- return !!utils.global.indexedDB;
-})();
-
-utils.isArray = function(obj) {
- return '[object Array]' === Object.prototype.toString.call(obj);
-};
-/**
- Load text file from anywhere
- @param {string|object} path File path or HTML event
- @param {boolean} asy True - async call, false - sync call
- @param {function} success Success function
- @param {function} error Error function
- @return {string} Read data
-
- @todo Define Event type
- @todo Smaller if-else structures.
-*/
-var loadFile = (utils.loadFile = function(path, asy, success, error) {
- var data, fs;
- if (utils.isNode || utils.isMeteorServer) {
- //*not-for-browser/*
- if (utils.isMeteor) {
- fs = Npm.require('fs');
- } else {
- fs = require('fs');
- }
-
- // If path is empty, than read data from stdin (for Node)
- if (typeof path === 'undefined') {
- var buff = '';
- process.stdin.setEncoding('utf8');
- process.stdin.on('readable', function() {
- var chunk = process.stdin.read();
- if (chunk !== null) {
- buff += chunk.toString();
- }
- });
- process.stdin.on('end', function() {
- success(cutbom(buff));
- });
- } else {
- if (/^[a-z]+:\/\//i.test(path)) {
- var request = require('request');
- request(path, function(err, response, body) {
- if (err) {
- throw err;
- }
- success(cutbom(body.toString()));
- });
- } else {
- //If async callthen call async
- if (asy) {
- fs.readFile(path, function(err, data) {
- if (err) {
- throw err;
- }
- success(cutbom(data.toString()));
- });
- } else {
- // Call sync version
- data = fs.readFileSync(path);
- success(cutbom(data.toString()));
- }
- }
- }
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.readFile(path, 'utf8')
- .then(function(contents) {
- success(cutbom(contents));
- })
- .catch(function(err) {
- throw err;
- });
- //*/
- } else if (utils.isCordova) {
- /* If Cordova */
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(path, {create: false}, function(fileEntry) {
- fileEntry.file(function(file) {
- var fileReader = new FileReader();
- fileReader.onloadend = function(e) {
- success(cutbom(this.result));
- };
- fileReader.readAsText(file);
- });
- });
- });
-
- /** @todo Check eliminated code below */
-
- /*/*
-
- var paths = path.split('/');
- var filename = paths[paths.length-1];
- var dirpath = path.substr(0,path.length-filename.length);
- // console.log('CORDOVA',filename,dirpath);
- //return success('[{"a":"'+filename+'"}]');
-
- window.resolveLocalFileSystemURL(dirpath, function(dir) {
- dir.getFile(filename, null, function(file) {
- file.file(function(file) {
- var reader = new FileReader();
- // console.log('READ FILE 2');
- reader.onloadend = function(e) {
-// console.log('READ FILE 3',this.result);
- success(this.result);
- };
- reader.readAsText(file);
- });
- });
- });
-*/
- } else {
- /* For string */
- if (typeof path === 'string') {
- // For browser read from tag
- /*
- SELECT * FROM TXT('#one') -- read data from HTML element with id="one"
- */
- if (path.substr(0, 1) === '#' && typeof document !== 'undefined') {
- data = document.querySelector(path).textContent;
- success(data);
- } else {
- /*
- Simply read file from HTTP request, like:
- SELECT * FROM TXT('http://alasql.org/README.md');
- */
- var xhr = new XMLHttpRequest();
- xhr.onreadystatechange = function() {
- if (xhr.readyState === 4) {
- if (xhr.status === 200) {
- if (success) {
- success(cutbom(xhr.responseText));
- }
- } else if (error) {
- error(xhr);
- }
- // Todo: else...?
- }
- };
- xhr.open('GET', path, asy); // Async
- xhr.responseType = 'text';
- xhr.send();
- }
- } else if (path instanceof Event) {
- /*
- For browser read from files input element
-
-
- */
- /** @type {array} List of files from element */
- var files = path.target.files;
- /** type {object} */
- var reader = new FileReader();
- /** type {string} */
- var name = files[0].name;
- reader.onload = function(e) {
- var data = e.target.result;
- success(cutbom(data));
- };
- reader.readAsText(files[0]);
- }
- }
-});
-
-/**
- @function Load binary file from anywhere
- @param {string} path File path
- @param {boolean} asy True - async call, false - sync call
- @param {function} success Success function
- @param {function} error Error function
- @return 1 for Async, data - for sync version
-
- @todo merge functionality from loadFile and LoadBinaryFile
-*/
-
-var loadBinaryFile = (utils.loadBinaryFile = function(path, asy, success, error) {
- var fs;
- if (utils.isNode || utils.isMeteorServer) {
- //*not-for-browser/*
- if (utils.isMeteorServer) {
- fs = Npm.require('fs'); // For Meteor
- } else {
- fs = require('fs');
- }
-
- if (/^[a-z]+:\/\//i.test(path)) {
- var request = require('request');
- request({url: path, encoding: null}, function(err, response, data) {
- if (err) {
- throw err;
- }
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- });
- } else {
- if (asy) {
- fs.readFile(path, function(err, data) {
- if (err) {
- throw err;
- }
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- });
- } else {
- var data = fs.readFileSync(path);
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- }
- }
- } else if (utils.isReactNative) {
- // If ReactNative
- //var RNFS = require('react-native-fs');
- var RNFetchBlob = require('react-native-fetch-blob').default;
- var dirs = RNFetchBlob.fs.dirs;
- //should use readStream instead if the file is large
- RNFetchBlob.fs.readFile(path, 'base64').then(function(data) {
- //RNFetchBlob.base64.decode(data) //need more test on excel
- success(data);
- });
- //*/
- } else {
- if (typeof path === 'string') {
- // For browser
- var xhr = new XMLHttpRequest();
- xhr.open('GET', path, asy); // Async
- xhr.responseType = 'arraybuffer';
- xhr.onload = function() {
- var data = new Uint8Array(xhr.response);
- var arr = [];
- for (var i = 0; i < data.length; ++i) {
- arr[i] = String.fromCharCode(data[i]);
- }
- success(arr.join(''));
- };
- // xhr.responseType = "blob";
- xhr.send();
- } else if (path instanceof Event) {
- // console.log("event");
- var files = path.target.files;
- var reader = new FileReader();
- var name = files[0].name;
- reader.onload = function(e) {
- var data = e.target.result;
- success(data);
- };
- reader.readAsArrayBuffer(files[0]);
- } else if (path instanceof Blob) {
- success(path);
- }
- }
-});
-
-var removeFile = (utils.removeFile = function(path, cb) {
- if (utils.isNode) {
- //*not-for-browser/*
- var fs = require('fs');
- fs.remove(path, cb);
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(
- path,
- {create: false},
- function(fileEntry) {
- fileEntry.remove(cb);
- cb && cb(); // jshint ignore:line
- },
- function() {
- cb && cb(); // jshint ignore:line
- }
- );
- });
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.unlink(path)
- .then(function() {
- cb && cb();
- })
- .catch(function(err) {
- throw err;
- });
- //*/
- } else {
- throw new Error('You can remove files only in Node.js and Apache Cordova');
- }
-});
-
-// Todo: check if it makes sense to support cordova and Meteor server
-var deleteFile = (utils.deleteFile = function(path, cb) {
- //*not-for-browser/*
- if (utils.isNode) {
- var fs = require('fs');
- fs.unlink(path, cb);
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.unlink(path)
- .then(function() {
- cb && cb();
- })
- .catch(function(err) {
- throw err;
- });
- }
- //*/
-});
-
-utils.autoExtFilename = function(filename, ext, config) {
- config = config || {};
- if (
- typeof filename !== 'string' ||
- filename.match(/^[A-z]+:\/\/|\n|\..{2,4}$/) ||
- config.autoExt === 0 ||
- config.autoExt === false
- ) {
- return filename;
- }
- return filename + '.' + ext;
-};
-
-var fileExists = (utils.fileExists = function(path, cb) {
- if (utils.isNode) {
- //*not-for-browser/*
- var fs = require('fs');
- fs.exists(path, cb);
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- fileSystem.root.getFile(
- path,
- {create: false},
- function(fileEntry) {
- cb(true);
- },
- function() {
- cb(false);
- }
- );
- });
- } else if (utils.isReactNative) {
- // If ReactNative
- var RNFS = require('react-native-fs');
- RNFS.exists(path)
- .then(function(yes) {
- cb && cb(yes);
- })
- .catch(function(err) {
- throw err;
- });
- //*/
- } else {
- // TODO Cordova, etc.
- throw new Error('You can use exists() only in Node.js or Apach Cordova');
- }
-});
-
-/**
- Save text file from anywhere
- @param {string} path File path
- @param {array} data Data object
- @param {function} cb Callback
- @param {object=} opts
-*/
-
-var saveFile = (utils.saveFile = function(path, data, cb, opts) {
- var res = 1;
- if (path === undefined) {
- //
- // Return data into result variable
- // like: alasql('SELECT * INTO TXT() FROM ?',[data]);
- //
- res = data;
- if (cb) {
- res = cb(res);
- }
- } else {
- if (utils.isNode) {
- //*not-for-browser/*
- var fs = require('fs');
- data = fs.writeFileSync(path, data);
- if (cb) {
- res = cb(res);
- }
- } else if (utils.isReactNative) {
- var RNFS = require('react-native-fs');
- RNFS.writeFile(path, data)
- .then(function(success) {
- //, 'utf8'
- if (cb) res = cb(res);
- })
- .catch(function(err) {
- console.error(err.message);
- });
- } else if (utils.isCordova) {
- utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
- // alasql.utils.removeFile(path,function(){
- fileSystem.root.getFile(path, {create: true}, function(fileEntry) {
- fileEntry.createWriter(function(fileWriter) {
- fileWriter.onwriteend = function() {
- if (cb) {
- res = cb(res);
- }
- };
- fileWriter.write(data);
- });
- });
- });
- //*/
-
- /*/*
- } else if((typeof cordova == 'object') && cordova.file) {
-// console.log('saveFile 1');
- // Cordova
- var paths = path.split('/');
- var filename = paths[paths.length-1];
- var dirpath = path.substr(0,path.length-filename.length);
- // console.log('CORDOVA',filename,dirpath);
- //return success('[{"a":"'+filename+'"}]');
-
- window.resolveLocalFileSystemURL(dirpath, function(dir) {
-// console.log('saveFile 2');
-
- dir.getFile(filename, {create:true}, function(file) {
-// console.log('saveFile 3');
-
-// file.file(function(file) {
-// console.log('saveFile 4');
-
- file.createWriter(function(fileWriter) {
-
-// fileWriter.seek(fileWriter.length);
-
- var blob = new Blob([data], {type:'text/plain'});
- fileWriter.write(blob);
- fileWriter.onwriteend = function(){
- if(cb) cb();
- };
-// console.log("ok, in theory i worked");
- });
-*/
- /*/*
- // Corodva
- function writeFinish() {
- // ... your done code here...
- return cb()
- };
- var written = 0;
- var BLOCK_SIZE = 1*1024*1024; // write 1M every time of write
- function writeNext(cbFinish) {
- var sz = Math.min(BLOCK_SIZE, data.length - written);
- var sub = data.slice(written, written+sz);
- writer.write(sub);
- written += sz;
- writer.onwrite = function(evt) {
- if (written < data.length)
- writeNext(cbFinish);
- else
- cbFinish();
- };
- }
- writeNext(writeFinish);
- }
-*/
- // });
- // });
- // });
- } else {
- if (isIE() === 9) {
- // Solution was taken from
- // http://megatuto.com/formation-JAVASCRIPT.php?JAVASCRIPT_Example=Javascript+Save+CSV+file+in+IE+8/IE+9+without+using+window.open()+Categorie+javascript+internet-explorer-8&category=&article=7993
- // var URI = 'data:text/plain;charset=utf-8,';
-
- // Prepare data
- var ndata = data.replace(/\r\n/g, 'A;D;');
- ndata = ndata.replace(/\n/g, 'D;');
- ndata = ndata.replace(/\t/g, ' ');
- var testlink = utils.global.open('about:blank', '_blank');
- testlink.document.write(ndata); //fileData has contents for the file
- testlink.document.close();
- testlink.document.execCommand('SaveAs', false, path);
- testlink.close();
- } else {
- var opt = {
- disableAutoBom: false,
- };
- alasql.utils.extend(opt, opts);
- var blob = new Blob([data], {type: 'text/plain;charset=utf-8'});
- saveAs(blob, path, opt.disableAutoBom);
- if (cb) {
- res = cb(res);
- }
- }
- }
- }
-
- return res;
-});
-
-/**
- @function Is this IE9
- @return {boolean} True for IE9 and false for other browsers
-
- For IE9 compatibility issues
-*/
-function isIE() {
- var myNav = navigator.userAgent.toLowerCase();
- return myNav.indexOf('msie') !== -1 ? parseInt(myNav.split('msie')[1]) : false;
-}
-
-// For LOAD
-// var saveBinaryFile = utils.saveFile = function(path, data, cb) {
-// if(utils.isNode) {
-// // For Node.js
-// var fs = require('fs');
-// var data = fs.writeFileSync(path,data);
-// } else {
-// var blob = new Blob([data], {type: "text/plain;charset=utf-8"});
-// saveAs(blob, path);
-// }
-// };
-
-/**
- @function Hash a string to signed integer
- @param {string} source string
- @return {integer} hash number
-*/
-
-// FNV-1a inspired hashing
-var hash = (utils.hash = function(str) {
- var hash = 0x811c9dc5,
- i = str.length;
- while (i) {
- hash = hash ^ str.charCodeAt(--i);
- hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
- }
- return hash;
-});
-
-/**
- Union arrays
- @function
- @param {array} a
- @param {array} b
- @return {array}
-*/
-var arrayUnion = (utils.arrayUnion = function(a, b) {
- var r = b.slice(0);
- a.forEach(function(i) {
- if (r.indexOf(i) < 0) {
- r.push(i);
- }
- });
- return r;
-});
-
-/**
- Array Difference
- */
-var arrayDiff = (utils.arrayDiff = function(a, b) {
- return a.filter(function(i) {
- return b.indexOf(i) < 0;
- });
-});
-
-/**
- Arrays deep intersect (with records)
- */
-var arrayIntersect = (utils.arrayIntersect = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- found = found || ai === bi;
- });
-
- if (found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep union (with records)
- */
-var arrayUnionDeep = (utils.arrayUnionDeep = function(a, b) {
- var r = b.slice(0);
- a.forEach(function(ai) {
- var found = false;
-
- r.forEach(function(ri) {
- // found = found || equalDeep(ai, ri, true);
- found = found || deepEqual(ai, ri);
- });
-
- if (!found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep union (with records)
- */
-var arrayExceptDeep = (utils.arrayExceptDeep = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- // found = found || equalDeep(ai, bi, true);
- found = found || deepEqual(ai, bi);
- });
-
- if (!found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Arrays deep intersect (with records)
- */
-var arrayIntersectDeep = (utils.arrayIntersectDeep = function(a, b) {
- var r = [];
- a.forEach(function(ai) {
- var found = false;
-
- b.forEach(function(bi) {
- // found = found || equalDeep(ai, bi, true);
- found = found || deepEqual(ai, bi, true);
- });
-
- if (found) {
- r.push(ai);
- }
- });
- return r;
-});
-
-/**
- Deep clone objects
- */
-var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
- if (null === obj || typeof obj !== 'object') {
- return obj;
- }
-
- if (obj instanceof Date) {
- return new Date(obj);
- }
-
- var temp = obj.constructor(); // changed
-
- for (var key in obj) {
- if (obj.hasOwnProperty(key)) {
- temp[key] = cloneDeep(obj[key]);
- }
- }
- return temp;
-});
-
-/**
- Check equality of objects
-*/
-
-/*/*
-var equalDeep = utils.equalDeep = function equalDeep (x, y, deep) {
- if (deep) {
- if (x === y){
- return true;
- }
-
- var p;
- for (p in y) {
- if (typeof (x[p]) === 'undefined') { return false; }
- }
-
- for (p in y) {
- if (y[p]) {
- switch (typeof (y[p])) {
- case 'object':
- if (!equalDeep(y[p],x[p])) { return false; } break;
- case 'function':
- if (
- typeof (x[p]) === 'undefined' ||
- (p !== 'equals' && y[p].toString() !== x[p].toString())
- ){
- return false;
- }
- break;
- default:
- if (y[p] !== x[p]) { return false; }
- }
- } else {
- if (x[p]){
- return false;
- }
- }
- }
-
- for (p in x) {
- if (typeof (y[p]) === 'undefined') { return false; }
- }
-
- return true;
- }
- return x === y;
-};
-*/
-
-/**
- Compare two objects in deep
- */
-var deepEqual = (utils.deepEqual = function(x, y) {
- if (x === y) {
- return true;
- }
-
- if (typeof x === 'object' && null !== x && (typeof y === 'object' && null !== y)) {
- if (Object.keys(x).length !== Object.keys(y).length) {
- return false;
- }
- for (var prop in x) {
- if (!deepEqual(x[prop], y[prop])) {
- return false;
- }
- }
- return true;
- }
-
- return false;
-});
-/**
- Array with distinct records
- @param {array} data
- @return {array}
-*/
-var distinctArray = (utils.distinctArray = function(data) {
- var uniq = {};
- // TODO: Speedup, because Object.keys is slow
- for (var i = 0, ilen = data.length; i < ilen; i++) {
- var uix;
- if (typeof data[i] === 'object') {
- uix = Object.keys(data[i])
- .sort()
- .map(function(k) {
- return k + '`' + data[i][k];
- })
- .join('`');
- } else {
- uix = data[i];
- }
- uniq[uix] = data[i];
- }
- var res = [];
- for (var key in uniq) {
- res.push(uniq[key]);
- }
- return res;
-});
-
-/**
- Extend object a with properties of b
- @function
- @param {object} a
- @param {object} b
- @return {object}
-*/
-var extend = (utils.extend = function extend(a, b) {
- a = a || {};
- for (var key in b) {
- if (b.hasOwnProperty(key)) {
- a[key] = b[key];
- }
- }
- return a;
-});
-
-/**
- Flat array by first row
- */
-var flatArray = (utils.flatArray = function(a) {
- //console.log(684,a);
- if (!a || 0 === a.length) {
- return [];
- }
-
- // For recordsets
- if (typeof a === 'object' && a instanceof alasql.Recordset) {
- return a.data.map(function(ai) {
- return ai[a.columns[0].columnid];
- });
- }
- // Else for other arrays
- var key = Object.keys(a[0])[0];
- if (key === undefined) {
- return [];
- }
- return a.map(function(ai) {
- return ai[key];
- });
-});
-
-/**
- Convert array of objects to array of arrays
- */
-var arrayOfArrays = (utils.arrayOfArrays = function(a) {
- return a.map(function(aa) {
- var ar = [];
- for (var key in aa) {
- ar.push(aa[key]);
- }
- return ar;
- });
-});
-
-if (!Array.isArray) {
- Array.isArray = function(arg) {
- return Object.prototype.toString.call(arg) === '[object Array]';
- };
-}
-
-/**
- Excel:convert number to Excel column, like 1 => 'A'
- @param {integer} i Column number, starting with 0
- @return {string} Column name, starting with 'A'
-*/
-
-var xlsnc = (utils.xlsnc = function(i) {
- var addr = String.fromCharCode(65 + (i % 26));
- if (i >= 26) {
- i = ((i / 26) | 0) - 1;
- addr = String.fromCharCode(65 + (i % 26)) + addr;
- if (i > 26) {
- i = ((i / 26) | 0) - 1;
- addr = String.fromCharCode(65 + (i % 26)) + addr;
- }
- }
- return addr;
-});
-
-/**
- Excel:conver Excel column name to number
- @param {string} s Column number, like 'A' or 'BE'
- @return {string} Column name, starting with 0
-*/
-var xlscn = (utils.xlscn = function(s) {
- var n = s.charCodeAt(0) - 65;
- if (s.length > 1) {
- n = (n + 1) * 26 + s.charCodeAt(1) - 65;
- // console.log(n, s.charCodeAt(0)-65, s.charCodeAt(1)-65);
- if (s.length > 2) {
- n = (n + 1) * 26 + s.charCodeAt(2) - 65;
- }
- }
- return n;
-});
-
-var domEmptyChildren = (utils.domEmptyChildren = function(container) {
- var len = container.childNodes.length;
- while (len--) {
- container.removeChild(container.lastChild);
- }
-});
-
-/**
- SQL LIKE emulation
- @parameter {string} pattern Search pattern
- @parameter {string} value Searched value
- @parameter {string} escape Escape character (optional)
- @return {boolean} If value LIKE pattern ESCAPE escape
-*/
-
-var like = (utils.like = function(pattern, value, escape) {
- // Verify escape character
- if (!escape) escape = '';
-
- var i = 0;
- var s = '^';
-
- while (i < pattern.length) {
- var c = pattern[i],
- c1 = '';
- if (i < pattern.length - 1) c1 = pattern[i + 1];
-
- if (c === escape) {
- s += '\\' + c1;
- i++;
- } else if (c === '[' && c1 === '^') {
- s += '[^';
- i++;
- } else if (c === '[' || c === ']') {
- s += c;
- } else if (c === '%') {
- s += '.*';
- } else if (c === '_') {
- s += '.';
- } else if ('/.*+?|(){}'.indexOf(c) > -1) {
- s += '\\' + c;
- } else {
- s += c;
- }
- i++;
- }
-
- s += '$';
- // if(value == undefined) return false;
- //console.log(s,value,(value||'').search(RegExp(s))>-1);
- return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
-});
-
-utils.glob = function(value, pattern) {
- var i = 0;
- var s = '^';
-
- while (i < pattern.length) {
- var c = pattern[i],
- c1 = '';
- if (i < pattern.length - 1) c1 = pattern[i + 1];
-
- if (c === '[' && c1 === '^') {
- s += '[^';
- i++;
- } else if (c === '[' || c === ']') {
- s += c;
- } else if (c === '*') {
- s += '.*';
- } else if (c === '?') {
- s += '.';
- } else if ('/.*+?|(){}'.indexOf(c) > -1) {
- s += '\\' + c;
- } else {
- s += c;
- }
- i++;
- }
-
- s += '$';
- return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
-};
-
-/**
- Get path of alasql.js
- @todo Rewrite and simplify the code. Review, is this function is required separately
-*/
-utils.findAlaSQLPath = function() {
- /** type {string} Path to alasql library and plugins */
-
- if (utils.isWebWorker) {
- return '';
- /** @todo Check how to get path in worker */
- } else if (utils.isMeteorClient) {
- return '/packages/dist/';
- } else if (utils.isMeteorServer) {
- return 'assets/packages/dist/';
- } else if (utils.isNode) {
- return __dirname;
- } else if (utils.isBrowser) {
- var sc = document.getElementsByTagName('script');
-
- for (var i = 0; i < sc.length; i++) {
- if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
- return sc[i].src.substr(0, sc[i].src.length - 16);
- } else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
- return sc[i].src.substr(0, sc[i].src.length - 20);
- } else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
- return sc[i].src.substr(0, sc[i].src.length - 9);
- } else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
- return sc[i].src.substr(0, sc[i].src.length - 13);
- }
- }
- }
- return '';
-};
-
-var getXLSX = function() {
- var XLSX = null;
- /* If require() shuold be supported else take from global scope */
- if (utils.isNode || utils.isBrowserify || utils.isMeteorServer) {
- //*not-for-browser/*
- XLSX = require('xlsx') || null;
- //*/
- } else {
- XLSX = utils.global.XLSX || null;
- }
-
- if (null === XLSX) {
- throw new Error('Please include the xlsx.js library');
- }
-
- return XLSX;
-};
-
-// set AlaSQl path
-alasql.path = alasql.utils.findAlaSQLPath();
diff --git a/src/16comments.js b/src/16comments.js
deleted file mode 100755
index 893b26045f..0000000000
--- a/src/16comments.js
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- Strip all comments.
- @function
- @param {string} str
- @return {string}
- Based om the https://github.com/lehni/uncomment.js/blob/master/uncomment.js
- I just replaced JavaScript's '//' to SQL's '--' and remove other stuff
-
- @todo Fixed [aaa/*bbb] for column names
- @todo Bug if -- comments in the last line
- @todo Check if it possible to model it with Jison parser
- @todo Remove unused code
- */
-
-/* global alasql */
-
-alasql.utils.uncomment = function(str) {
- // Add some padding so we can always look ahead and behind by two chars
- str = ('__' + str + '__').split('');
- var quote = false,
- quoteSign,
- // regularExpression = false,
- // characterClass = false,
- blockComment = false,
- lineComment = false;
- // preserveComment = false;
-
- for (var i = 0, l = str.length; i < l; i++) {
- // console.log(i,str[i]);
- // When checking for quote escaping, we also need to check that the
- // escape sign itself is not escaped, as otherwise '\\' would cause
- // the wrong impression of an unclosed string:
- var unescaped = str[i - 1] !== '\\' || str[i - 2] === '\\';
-
- if (quote) {
- if (str[i] === quoteSign && unescaped) {
- quote = false;
- }
- /*/* // } else if (regularExpression) {
- // Make sure '/'' inside character classes is not considered the end
- // of the regular expression.
- // if (str[i] === '[' && unescaped) {
- // characterClass = true;
- // } else if (str[i] === ']' && unescaped && characterClass) {
- // characterClass = false;
- // } else if (str[i] === '/' && unescaped && !characterClass) {
- // regularExpression = false;
- // }
-*/
- } else if (blockComment) {
- // Is the block comment closing?
- if (str[i] === '*' && str[i + 1] === '/') {
- // if (!preserveComment)
- str[i] = str[i + 1] = '';
- blockComment /* = preserveComment*/ = false;
- // Increase by 1 to skip closing '/', as it would be mistaken
- // for a regexp otherwise
- i++;
- } else {
- //if (!preserveComment) {
- str[i] = '';
- }
- } else if (lineComment) {
- // One-line comments end with the line-break
- if (str[i + 1] === '\n' || str[i + 1] === '\r') {
- lineComment = false;
- }
- str[i] = '';
- } else {
- if (str[i] === '"' || str[i] === "'") {
- quote = true;
- quoteSign = str[i];
- } else if (str[i] === '[' && str[i - 1] !== '@') {
- quote = true;
- quoteSign = ']';
- // } else if (str[i] === '-' && str[i + 1] === '-') {
- // str[i] = '';
- // lineComment = true;
- } else if (str[i] === '/' && str[i + 1] === '*') {
- // Do not filter out conditional comments /*@ ... */
- // and comments marked as protected /*! ... */
- // preserveComment = /[@!]/.test(str[i + 2]);
- // if (!preserveComment)
- str[i] = '';
- blockComment = true;
- // console.log('block');
- /*/* // } else if (str[i + 1] === '/') {
- // str[i] = '';
- // lineComment = true;
- // } else {
- // We need to make sure we don't count normal divisions as
- // regular expresions. Matching this properly is difficult,
- // but if we assume that normal division always have a space
- // after /, a simple check for white space or '='' (for /=)
- // is enough to distinguish divisions from regexps.
- // TODO: Develop a proper check for regexps.
- // if (!/[\s=]/.test(str[i + 1])) {
- // regularExpression = true;
- // }
- // }
-*/
- }
- }
- }
- // Remove padding again.
- str = str.join('').slice(2, -2);
-
- /*/*
- // Strip empty lines that contain only white space and line breaks, as they
- // are left-overs from comment removal.
- str = str.replace(/^[ \t]+(\r\n|\n|\r)/gm, function(all) {
- return '';
- });
- // Replace a sequence of more than two line breaks with only two.
- str = str.replace(/(\r\n|\n|\r)(\r\n|\n|\r)+/g, function(all, lineBreak) {
- return lineBreak + lineBreak;
- });
-*/
- return str;
-};
diff --git a/src/17alasql.js b/src/17alasql.js
deleted file mode 100755
index c3aae5c55b..0000000000
--- a/src/17alasql.js
+++ /dev/null
@@ -1,533 +0,0 @@
-/**
- Database class for Alasql.js
-*/
-
-// Initial parameters
-
-/**
- Jison parser
-*/
-alasql.parser = alasqlparser;
-
-/*/* This is not working :-/ */
-alasql.parser.parseError = function(str, hash) {
- throw new Error('Have you used a reserved keyword without `escaping` it?\n' + str);
-};
-
-/**
- Jison parser
- @param {string} sql SQL statement
- @return {object} AST (Abstract Syntax Tree)
-
- @todo Create class AST
- @todo Add other parsers
-
- @example
- alasql.parse = function(sql) {
- // My own parser here
- }
- */
-alasql.parse = function(sql) {
- return alasqlparser.parse(alasql.utils.uncomment(sql));
-};
-
-/**
- List of engines of external databases
- @type {object}
- @todo Create collection type
- */
-alasql.engines = {};
-
-/**
- List of databases
- @type {object}
- */
-alasql.databases = {};
-
-/**
- Number of databases
- @type {number}
-*/
-alasql.databasenum = 0;
-
-/**
- Alasql options object
- */
-alasql.options = {};
-alasql.options.errorlog = false; // Log or throw error
-alasql.options.valueof = false; // Use valueof in orderfn
-alasql.options.dropifnotexists = false; // DROP database in any case
-alasql.options.datetimeformat = 'sql'; // How to handle DATE and DATETIME types
-// Another value is 'javascript'
-alasql.options.casesensitive = true; // Table and column names are case sensitive and converted to lower-case
-alasql.options.logtarget = 'output'; // target for log. Values: 'console', 'output', 'id' of html tag
-alasql.options.logprompt = true; // Print SQL at log
-
-alasql.options.progress = false; // Callback for async queries progress
-
-// Default modifier
-// values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX
-alasql.options.modifier = undefined;
-// How many rows to lookup to define columns
-alasql.options.columnlookup = 10;
-// Create vertex if not found
-alasql.options.autovertex = true;
-
-// Use dbo as current database (for partial T-SQL comaptibility)
-alasql.options.usedbo = true;
-
-// AUTOCOMMIT ON | OFF
-alasql.options.autocommit = true;
-
-// Use cache
-alasql.options.cache = true;
-
-// Compatibility flags
-alasql.options.tsql = true;
-
-alasql.options.mysql = true;
-
-alasql.options.postgres = true;
-
-alasql.options.oracle = true;
-
-alasql.options.sqlite = true;
-
-alasql.options.orientdb = true;
-
-// for SET NOCOUNT OFF
-alasql.options.nocount = false;
-
-// Check for NaN and convert it to undefined
-alasql.options.nan = false;
-
-alasql.options.joinstar = 'overwrite'; // Option for SELECT * FROM a,b
-
-//alasql.options.worker = false;
-
-// Variables
-alasql.vars = {};
-
-alasql.declares = {};
-
-alasql.prompthistory = [];
-
-alasql.plugins = {}; // If plugin already loaded
-
-alasql.from = {}; // FROM functions
-
-alasql.into = {}; // INTO functions
-
-alasql.fn = {};
-
-alasql.aggr = {};
-
-alasql.busy = 0;
-
-// Cache
-alasql.MAXSQLCACHESIZE = 10000;
-alasql.DEFAULTDATABASEID = 'alasql';
-
-/* WebWorker */
-alasql.lastid = 0;
-
-alasql.buffer = {};
-
-/**
- Select current database
- @param {string} databaseid Selected database identificator
- */
-alasql.use = function(databaseid) {
- if (!databaseid) {
- databaseid = alasql.DEFAULTDATABASEID;
- }
- if (alasql.useid === databaseid) {
- return;
- }
- alasql.useid = databaseid;
- var db = alasql.databases[alasql.useid];
- alasql.tables = db.tables;
- // alasql.fn = db.fn;
- db.resetSqlCache();
- if (alasql.options.usedbo) {
- alasql.databases.dbo = db; // Operator???
- }
-};
-
-alasql.autoval = function(tablename, colname, getNext, databaseid) {
- var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];
-
- if (!db.tables[tablename]) {
- throw new Error('Tablename not found: ' + tablename);
- }
-
- if (!db.tables[tablename].identities[colname]) {
- throw new Error('Colname not found: ' + colname);
- }
-
- if (getNext) {
- return db.tables[tablename].identities[colname].value || null;
- }
-
- return (
- db.tables[tablename].identities[colname].value -
- db.tables[tablename].identities[colname].step || null
- );
-};
-
-/**
- Run single SQL statement on current database
- */
-alasql.exec = function(sql, params, cb, scope) {
- // Avoid setting params if not needed even with callback
- if (typeof params === 'function') {
- scope = cb;
- cb = params;
- params = {};
- }
-
- delete alasql.error;
- params = params || {};
- if (alasql.options.errorlog) {
- try {
- return alasql.dexec(alasql.useid, sql, params, cb, scope);
- } catch (err) {
- alasql.error = err;
- if (cb) {
- cb(null, alasql.error);
- }
- }
- } else {
- return alasql.dexec(alasql.useid, sql, params, cb, scope);
- }
-};
-
-/**
- Run SQL statement on specific database
- */
-alasql.dexec = function(databaseid, sql, params, cb, scope) {
- var db = alasql.databases[databaseid];
- // if(db.databaseid != databaseid) console.trace('got!');
- // console.log(3,db.databaseid,databaseid);
-
- var hh;
- // Create hash
- if (alasql.options.cache) {
- hh = hash(sql);
- var statement = db.sqlCache[hh];
- // If database structure was not changed since last time return cache
- if (statement && db.dbversion === statement.dbversion) {
- return statement(params, cb);
- }
- }
-
- // Create AST
- var ast = alasql.parse(sql);
- if (!ast.statements) {
- return;
- }
- if (0 === ast.statements.length) {
- return 0;
- } else if (1 === ast.statements.length) {
- if (ast.statements[0].compile) {
- // Compile and Execute
- var statement = ast.statements[0].compile(databaseid, params);
- if (!statement) {
- return;
- }
- statement.sql = sql;
- statement.dbversion = db.dbversion;
-
- if (alasql.options.cache) {
- // Secure sqlCache size
- if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
- db.resetSqlCache();
- }
- db.sqlCacheSize++;
- db.sqlCache[hh] = statement;
- }
- var res = (alasql.res = statement(params, cb, scope));
- return res;
- } else {
- // console.log(ast.statements[0]);
- alasql.precompile(ast.statements[0], alasql.useid, params);
- var res = (alasql.res = ast.statements[0].execute(databaseid, params, cb, scope));
- return res;
- }
- } else {
- // Multiple statements
- if (cb) {
- alasql.adrun(databaseid, ast, params, cb, scope);
- } else {
- return alasql.drun(databaseid, ast, params, cb, scope);
- }
- }
-};
-
-/**
- Run multiple statements and return array of results sync
- */
-alasql.drun = function(databaseid, ast, params, cb, scope) {
- var useid = alasql.useid;
-
- if (useid !== databaseid) {
- alasql.use(databaseid);
- }
-
- var res = [];
- for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {
- if (ast.statements[i]) {
- if (ast.statements[i].compile) {
- var statement = ast.statements[i].compile(alasql.useid);
- res.push((alasql.res = statement(params, null, scope)));
- } else {
- alasql.precompile(ast.statements[i], alasql.useid, params);
- res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));
- }
- }
- }
- if (useid !== databaseid) {
- alasql.use(useid);
- }
-
- if (cb) {
- cb(res);
- }
-
- alasql.res = res;
-
- return res;
-};
-
-/**
- Run multiple statements and return array of results async
- */
-alasql.adrun = function(databaseid, ast, params, cb, scope) {
- var idx = 0;
- var noqueries = ast.statements.length;
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
-
- // alasql.busy++;
- var useid = alasql.useid;
- if (useid !== databaseid) {
- alasql.use(databaseid);
- }
- var res = [];
-
- function adrunone(data) {
- if (data !== undefined) {
- res.push(data);
- }
- var astatement = ast.statements.shift();
- if (!astatement) {
- if (useid !== databaseid) {
- alasql.use(useid);
- }
- cb(res);
- // alasql.busy--;
- // if(alasql.busy<0) alasql.busy = 0;
- } else {
- if (astatement.compile) {
- var statement = astatement.compile(alasql.useid);
- statement(params, adrunone, scope);
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
- } else {
- alasql.precompile(ast.statements[0], alasql.useid, params);
- astatement.execute(alasql.useid, params, adrunone);
- if (alasql.options.progress !== false) {
- alasql.options.progress(noqueries, idx++);
- }
- }
- }
- }
-
- adrunone(); /** @todo Check, why data is empty here */
-};
-
-/**
- Compile statement to JavaScript function
- @param {string} sql SQL statement
- @param {string} databaseid Database identificator
- @return {functions} Compiled statement functions
-*/
-alasql.compile = function(sql, databaseid) {
- databaseid = databaseid || alasql.useid;
-
- var ast = alasql.parse(sql); // Create AST
-
- if (1 === ast.statements.length) {
- var statement = ast.statements[0].compile(databaseid);
- statement.promise = function(params) {
- return new Promise(function(resolve, reject) {
- statement(params, function(data, err) {
- if (err) {
- reject(err);
- } else {
- resolve(data);
- }
- });
- });
- };
-
- return statement;
- /*/*
- if(kind == 'value') {
- return function(params,cb) {
- var res = statementfn(params);
- var key = Object.keys(res[0])[0];
- if(cb) cb(res[0][key]);
- return res[0][key];
- };
- } else if(kind == 'single') {
- return function(params,cb) {
- var res = statementfn(params);
- if(cb) cb(res[0]);
- return res[0];
- }
- } else if(kind == 'row') {
- return function(params,cb) {
- var res = statementfn(params,cb);
- var a = [];
- for(var key in res[0]) {
- a.push(res[0][key]);
- };
- if(cb) cb(a);
- return a;
- }
- } else if(kind == 'column') {
- return function(params,cb) {
- var res = statementfn(params,cb);
- var ar = [];
- var key = Object.keys(res)[0];
- for(var i=0, ilen=res.length; i alasql.MAXSQLCACHESIZE) {
-// this.resetSqlCache();
-// }
-// };
-// return statement;
-// }
-
-// SQL.js compatibility method
-//Database.prototype.prepare = Database.prototype.compile;
-
-
-// Added for compatibility with WebSQL
-*/
diff --git a/src/23table.js b/src/23table.js
deleted file mode 100755
index ce89248eb1..0000000000
--- a/src/23table.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-//
-// Table class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-var Table = (alasql.Table = function(params) {
- // Step 1: Data array
- this.data = [];
-
- // Step 2: Columns
- this.columns = [];
- this.xcolumns = {};
-
- // Step 3: indices
- this.inddefs = {};
- this.indices = {};
- this.uniqs = {};
- this.uniqdefs = {};
-
- // Step 4: identities
- this.identities = {};
-
- // Step 5: checkfn...
- this.checks = [];
- this.checkfns = []; // For restore... to be done...
-
- // Step 6: INSERT/DELETE/UPDATE
-
- // Step 7: Triggers...
- // Create trigger hubs
- this.beforeinsert = {};
- this.afterinsert = {};
- this.insteadofinsert = {};
-
- this.beforedelete = {};
- this.afterdelete = {};
- this.insteadofdelete = {};
-
- this.beforeupdate = {};
- this.afterupdate = {};
- this.insteadofupdate = {};
-
- // Done
- extend(this, params);
-});
-
-/*/*
-// View = function(){
-// this.data = [];
-// this.columns = [];
-// this.ixcolumns = {};
-// this.ixdefs = {};
-// this.indices = {};
-// };
-
-// alasql.View = View;
-*/
-
-Table.prototype.indexColumns = function() {
- var self = this;
- self.xcolumns = {};
- self.columns.forEach(function(col) {
- self.xcolumns[col.columnid] = col;
- });
-};
diff --git a/src/25queryclass.js b/src/25queryclass.js
deleted file mode 100755
index 2b7a1549c7..0000000000
--- a/src/25queryclass.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-//
-// Query class for Alasql.js
-// Date: 14.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Table class
-
-/**
- @class Query Main query class
- */
-var Query = (alasql.Query = function(params) {
- this.alasql = alasql;
- // console.log(12,alasql);
- // Columns
- this.columns = [];
- this.xcolumns = {};
- this.selectGroup = [];
- this.groupColumns = {};
- // Data array
- extend(this, params);
-});
-
-/**
- @class Recordset data object
- */
-var Recordset = (alasql.Recordset = function(params) {
- // Data array
- extend(this, params);
-});
-
-/*/*
-// View = function(){
-// this.data = [];
-// this.columns = [];
-// this.ixcolumns = {};
-// this.ixdefs = {};
-// this.indices = {};
-// };
-
-// alasql.View = View;
-*/
diff --git a/src/28yy.js b/src/28yy.js
deleted file mode 100755
index 588baa771b..0000000000
--- a/src/28yy.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-//
-// Parser helper for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-var yy = (alasqlparser.yy = alasql.yy = {});
-
-// Utility
-yy.extend = extend;
-// Option for case sensitive
-yy.casesensitive = alasql.options.casesensitive;
-
-// Base class for all yy classes
-var Base = (yy.Base = function(params) {
- return yy.extend(this, params);
-});
-
-Base.prototype.toString = function() {};
-Base.prototype.toType = function() {};
-Base.prototype.toJS = function() {};
-
-// var BaseClause = yy,BaseClause = function (params) { return yy.extend(this, params); };
-Base.prototype.compile = returnUndefined;
-Base.prototype.exec = function() {};
-
-// var BaseStatement = yy,BaseStatement = function (params) { return yy.extend(this, params); };
-Base.prototype.compile = returnUndefined;
-Base.prototype.exec = function() {};
diff --git a/src/30statements.js b/src/30statements.js
deleted file mode 100755
index f63f2e3099..0000000000
--- a/src/30statements.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-//
-// Statements class for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// Statements container
-yy.Statements = function(params) {
- return yy.extend(this, params);
-};
-
-yy.Statements.prototype.toString = function() {
- return this.statements
- .map(function(st) {
- return st.toString();
- })
- .join('; ');
-};
-
-// Compile array of statements into single statement
-yy.Statements.prototype.compile = function(db) {
- var statements = this.statements.map(function(st) {
- return st.compile(db);
- });
- if (statements.length === 1) {
- return statements[0];
- } else {
- return function(params, cb) {
- var res = statements.map(function(st) {
- return st(params);
- });
- if (cb) {
- cb(res);
- }
- return res;
- };
- }
-};
diff --git a/src/40select.js b/src/40select.js
deleted file mode 100755
index 4c0b7153aa..0000000000
--- a/src/40select.js
+++ /dev/null
@@ -1,541 +0,0 @@
-/*
-//
-// Select run-time part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-//
-// Main part of SELECT procedure
-//
-
-/* global yy */
-
-yy.Select = function(params) {
- return yy.extend(this, params);
-};
-yy.Select.prototype.toString = function() {
- var s;
- s = '';
- if (this.explain) {
- s += 'EXPLAIN ';
- }
- s += 'SELECT ';
- if (this.modifier) {
- s += this.modifier + ' ';
- }
- if (this.distinct) {
- s += 'DISTINCT ';
- }
- if (this.top) {
- s += 'TOP ' + this.top.value + ' ';
- if (this.percent) {
- s += 'PERCENT ';
- }
- }
- s += this.columns
- .map(function(col) {
- var s;
- s = col.toString();
- if (typeof col.as !== 'undefined') {
- s += ' AS ' + col.as;
- }
- return s;
- })
- .join(', ');
- if (this.from) {
- s +=
- ' FROM ' +
- this.from
- .map(function(f) {
- var ss;
- ss = f.toString();
- if (f.as) {
- ss += ' AS ' + f.as;
- }
- return ss;
- })
- .join(',');
- }
- if (this.joins) {
- s += this.joins
- .map(function(jn) {
- var ss;
- ss = ' ';
- if (jn.joinmode) {
- ss += jn.joinmode + ' ';
- }
- if (jn.table) {
- ss += 'JOIN ' + jn.table.toString();
- } else if (jn.select) {
- ss += 'JOIN (' + jn.select.toString() + ')';
- } else if (jn instanceof alasql.yy.Apply) {
- ss += jn.toString();
- } else {
- throw new Error('Wrong type in JOIN mode');
- }
- if (jn.as) {
- ss += ' AS ' + jn.as;
- }
- if (jn.using) {
- ss += ' USING ' + jn.using.toString();
- }
- if (jn.on) {
- ss += ' ON ' + jn.on.toString();
- }
- return ss;
- })
- .join('');
- }
- if (this.where) {
- s += ' WHERE ' + this.where.toString();
- }
- if (this.group && this.group.length > 0) {
- s +=
- ' GROUP BY ' +
- this.group
- .map(function(grp) {
- return grp.toString();
- })
- .join(', ');
- }
- if (this.having) {
- s += ' HAVING ' + this.having.toString();
- }
- if (this.order && this.order.length > 0) {
- s +=
- ' ORDER BY ' +
- this.order
- .map(function(ord) {
- return ord.toString();
- })
- .join(', ');
- }
- if (this.limit) {
- s += ' LIMIT ' + this.limit.value;
- }
- if (this.offset) {
- s += ' OFFSET ' + this.offset.value;
- }
- if (this.union) {
- s += ' UNION ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.union.toString();
- }
- if (this.unionall) {
- s +=
- ' UNION ALL ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.unionall.toString();
- }
- if (this.except) {
- s += ' EXCEPT ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.except.toString();
- }
- if (this.intersect) {
- s +=
- ' INTERSECT ' +
- (this.corresponding ? 'CORRESPONDING ' : '') +
- this.intersect.toString();
- }
- return s;
-};
-
-/**
- Select statement in expression
- */
-yy.Select.prototype.toJS = function(context) {
- // console.log('Expression',this);
- // if(this.expression.reduced) return 'true';
- // return this.expression.toJS(context, tableid, defcols);
- // console.log('Select.toJS', 81, this.queriesidx);
- // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
-
- var s =
- 'alasql.utils.flatArray(this.queriesfn[' +
- (this.queriesidx - 1) +
- '](this.params,null,' +
- context +
- '))[0]';
-
- // var s = '(ee=alasql.utils.flatArray(this.queriesfn['+(this.queriesidx-1)+'](this.params,null,'+context+')),console.log(999,ee),ee[0])';
-
- return s;
-};
-
-// Compile SELECT statement
-yy.Select.prototype.compile = function(databaseid, params) {
- var db = alasql.databases[databaseid];
- // Create variable for query
- var query = new Query();
-
- // Array with columns to be removed
- query.removeKeys = [];
- query.aggrKeys = [];
-
- query.explain = this.explain; // Explain
- query.explaination = [];
- query.explid = 1;
- //console.log(this.modifier);
- query.modifier = this.modifier;
-
- query.database = db;
- // 0. Precompile whereexists
- this.compileWhereExists(query);
-
- // 0. Precompile queries for IN, NOT IN, ANY and ALL operators
- this.compileQueries(query);
-
- query.defcols = this.compileDefCols(query, databaseid);
-
- // 1. Compile FROM clause
- query.fromfn = this.compileFrom(query);
-
- // 2. Compile JOIN clauses
- if (this.joins) {
- this.compileJoins(query);
- }
-
- // todo?: 3. Compile SELECT clause
-
- // For ROWNUM()
- query.rownums = [];
-
- this.compileSelectGroup0(query);
-
- if (this.group || query.selectGroup.length > 0) {
- query.selectgfns = this.compileSelectGroup1(query);
- } else {
- query.selectfns = this.compileSelect1(query, params);
- }
-
- // Remove columns clause
- this.compileRemoveColumns(query);
-
- // 5. Optimize WHERE and JOINS
- if (this.where) {
- this.compileWhereJoins(query);
- }
-
- // 4. Compile WHERE clause
- query.wherefn = this.compileWhere(query);
-
- // 6. Compile GROUP BY
- if (this.group || query.selectGroup.length > 0) {
- query.groupfn = this.compileGroup(query);
- }
-
- // 6. Compile HAVING
- if (this.having) {
- query.havingfn = this.compileHaving(query);
- }
-
- // 8. Compile ORDER BY clause
- if (this.order) {
- query.orderfn = this.compileOrder(query);
- }
-
- if (this.group || query.selectGroup.length > 0) {
- query.selectgfn = this.compileSelectGroup2(query);
- } else {
- query.selectfn = this.compileSelect2(query);
- }
-
- // 7. Compile DISTINCT, LIMIT and OFFSET
- query.distinct = this.distinct;
-
- // 9. Compile PIVOT clause
- if (this.pivot) query.pivotfn = this.compilePivot(query);
- if (this.unpivot) query.pivotfn = this.compileUnpivot(query);
-
- // 10. Compile TOP/LIMIT/OFFSET/FETCH cleuse
- if (this.top) {
- query.limit = this.top.value;
- } else if (this.limit) {
- query.limit = this.limit.value;
- if (this.offset) {
- query.offset = this.offset.value;
- }
- }
-
- query.percent = this.percent;
-
- // 9. Compile ordering function for UNION and UNIONALL
- query.corresponding = this.corresponding; // If CORRESPONDING flag exists
- if (this.union) {
- query.unionfn = this.union.compile(databaseid);
- if (this.union.order) {
- query.orderfn = this.union.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.unionall) {
- query.unionallfn = this.unionall.compile(databaseid);
- if (this.unionall.order) {
- query.orderfn = this.unionall.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.except) {
- query.exceptfn = this.except.compile(databaseid);
- if (this.except.order) {
- query.orderfn = this.except.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- } else if (this.intersect) {
- query.intersectfn = this.intersect.compile(databaseid);
- if (this.intersect.order) {
- query.intersectfn = this.intersect.compileOrder(query);
- } else {
- query.orderfn = null;
- }
- }
-
- // SELECT INTO
- if (this.into) {
- if (this.into instanceof yy.Table) {
- //
- // Save into the table in database
- //
- if (
- alasql.options.autocommit &&
- alasql.databases[this.into.databaseid || databaseid].engineid
- ) {
- // For external database when AUTOCOMMIT is ONs
- query.intoallfns =
- 'return alasql.engines["' +
- alasql.databases[this.into.databaseid || databaseid].engineid +
- '"]' +
- '.intoTable("' +
- (this.into.databaseid || databaseid) +
- '","' +
- this.into.tableid +
- '",this.data, columns, cb);';
- } else {
- // Into AlaSQL tables
- query.intofns =
- "alasql.databases['" +
- (this.into.databaseid || databaseid) +
- "'].tables" +
- "['" +
- this.into.tableid +
- "'].data.push(r);";
- }
- } else if (this.into instanceof yy.VarValue) {
- //
- // Save into local variable
- // SELECT * INTO @VAR1 FROM ?
- //
- query.intoallfns =
- 'alasql.vars["' +
- this.into.variable +
- '"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';
- } else if (this.into instanceof yy.FuncValue) {
- //
- // If this is INTO() function, then call it
- // with one or two parameters
- //
- var qs = "return alasql.into['" + this.into.funcid.toUpperCase() + "'](";
- if (this.into.args && this.into.args.length > 0) {
- qs += this.into.args[0].toJS() + ',';
- if (this.into.args.length > 1) {
- qs += this.into.args[1].toJS() + ',';
- } else {
- qs += 'undefined,';
- }
- } else {
- qs += 'undefined, undefined,';
- }
- query.intoallfns = qs + 'this.data,columns,cb)';
- //console.log('999');
- } else if (this.into instanceof yy.ParamValue) {
- //
- // Save data into parameters array
- // like alasql('SELECT * INTO ? FROM ?',[outdata,srcdata]);
- //
- query.intofns = "params['" + this.into.param + "'].push(r)";
- }
-
- if (query.intofns) {
- // Create intofn function
- // console.log(234234, query.intofns);
- query.intofn = new Function('r,i,params,alasql', 'var y;' + query.intofns);
- } else if (query.intoallfns) {
- // Create intoallfn function
- // console.log(23423234, query.intoallfns);
- query.intoallfn = new Function('columns,cb,params,alasql', 'var y;' + query.intoallfns);
- }
- }
- //console.log(query);
-
- // Now, compile all togeather into one function with query object in scope
- var statement = function(params, cb, oldscope) {
- query.params = params;
- var res1 = queryfn(query, oldscope, function(res) {
- //console.log(res[0].schoolid);
- //console.log(184,res);
- if (query.rownums.length > 0) {
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- for (var j = 0, jlen = query.rownums.length; j < jlen; j++) {
- res[i][query.rownums[j]] = i + 1;
- }
- }
- }
-
- var res2 = modify(query, res);
-
- if (cb) {
- cb(res2);
- }
- //console.log(8888,res2);
- return res2;
- });
- //console.log(9999,res1);
-
- // if(typeof res1 != 'undefined') res1 = modify(query,res1);
-
- return res1;
- };
-
- // statement.dbversion = ;
- // console.log(statement.query);
- //console.log(202,statement);
- statement.query = query;
- return statement;
-};
-
-/**
- Modify res according modifier
- @function
- @param {object} query Query object
- @param res {object|number|string|boolean} res Data to be converted
-*/
-function modify(query, res) {
- // jshint ignore:line
- // console.log(arguments);
-
- /* If source is a primitive value then return it */
- if (
- typeof res === 'undefined' ||
- typeof res === 'number' ||
- typeof res === 'string' ||
- typeof res == 'boolean'
- ) {
- return res;
- }
-
- var modifier = query.modifier || alasql.options.modifier;
- var columns = query.columns;
- if (typeof columns === 'undefined' || columns.length == 0) {
- // Try to create columns
- if (res.length > 0) {
- var allcol = {};
- for (var i = Math.min(res.length, alasql.options.columnlookup || 10) - 1; 0 <= i; i--) {
- for (var key in res[i]) {
- allcol[key] = true;
- }
- }
-
- columns = Object.keys(allcol).map(function(columnid) {
- return {columnid: columnid};
- });
- } else {
- // Cannot recognize columns
- columns = [];
- }
- }
-
- // console.log(columns);
-
- if (modifier === 'VALUE') {
- // console.log(222,res);
- if (res.length > 0) {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
- res = res[0][key];
- } else {
- res = undefined;
- }
- } else if (modifier === 'ROW') {
- if (res.length > 0) {
- var key;
- var a = [];
- for (var key in res[0]) {
- a.push(res[0][key]);
- }
- res = a;
- } else {
- res = undefined;
- }
- } else if (modifier === 'COLUMN') {
- var ar = [];
- if (res.length > 0) {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
-
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- ar.push(res[i][key]);
- }
- }
- res = ar;
- } else if (modifier === 'MATRIX') {
- // Returns square matrix of rows
- var ar = [];
- for (var i = 0; i < res.length; i++) {
- var a = [];
- var r = res[i];
- for (var j = 0; j < columns.length; j++) {
- a.push(r[columns[j].columnid]);
- }
- ar.push(a);
- }
- res = ar;
- } else if (modifier === 'INDEX') {
- var ar = {};
- var key, val;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- val = columns[1].columnid;
- } else {
- var okeys = Object.keys(res[0]);
- key = okeys[0];
- val = okeys[1];
- }
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- ar[res[i][key]] = res[i][val];
- }
- res = ar;
- // res = arrayOfArrays(res);
- } else if (modifier === 'RECORDSET') {
- res = new alasql.Recordset({columns: columns, data: res});
- // res = arrayOfArrays(res);
- } else if (modifier === 'TEXTSTRING') {
- var key;
- if (columns && columns.length > 0) {
- key = columns[0].columnid;
- } else {
- key = Object.keys(res[0])[0];
- }
-
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- res[i] = res[i][key];
- }
- res = res.join('\n');
- // res = arrayOfArrays(res);
- }
- return res;
-}
-
-// yy.Select.prototype.exec = function(databaseid) {
-// throw new Error('Select statement should be precompiled');
-
-// };
-yy.Select.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
- // throw new Error('Insert statement is should be compiled')
-};
diff --git a/src/41exists.js b/src/41exists.js
deleted file mode 100755
index 6d317d52b6..0000000000
--- a/src/41exists.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-//
-// EXISTS and other subqueries functions functions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.ExistsValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ExistsValue.prototype.toString = function() {
- return 'EXISTS(' + this.value.toString() + ')';
-};
-
-yy.ExistsValue.prototype.toType = function() {
- return 'boolean';
-};
-
-yy.ExistsValue.prototype.toJS = function(context, tableid, defcols) {
- // return 'ww=this.existsfn['+this.existsidx+'](params,null,p),console.log(ww),ww.length';
-
- return 'this.existsfn[' + this.existsidx + '](params,null,' + context + ').data.length';
-};
-
-yy.Select.prototype.compileWhereExists = function(query) {
- if (!this.exists) return;
- query.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(query.database.databaseid);
- // console.log(nq);
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
-};
-
-yy.Select.prototype.compileQueries = function(query) {
- if (!this.queries) return;
- query.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(query.database.databaseid);
- // console.log(nq);
- // if(!nq.query) nq.query = {};
- nq.query.modifier = 'RECORDSET';
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- return nq;
- });
-};
-
-//
-// Prepare subqueries and exists
-//
-alasql.precompile = function(statement, databaseid, params) {
- // console.log(statement);
- if (!statement) return;
- statement.params = params;
- if (statement.queries) {
- //console.log(52,statement.queries[0]);
- statement.queriesfn = statement.queries.map(function(q) {
- var nq = q.compile(databaseid || statement.database.databaseid);
- // console.log(nq);
- // nq.query.modifier = undefined;
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (statement.exists) {
- //console.log(62,statement.exists);
- statement.existsfn = statement.exists.map(function(ex) {
- var nq = ex.compile(databaseid || statement.database.databaseid);
- // console.log(nq.query.modifier);
- // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
- // if(!nq.query.modifier) nq.query.modifier = 'ARRAY';
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-};
diff --git a/src/422where.js b/src/422where.js
deleted file mode 100755
index 2301dae8ea..0000000000
--- a/src/422where.js
+++ /dev/null
@@ -1,107 +0,0 @@
-yy.Select.prototype.compileWhere = function(query) {
- if (this.where) {
- if (typeof this.where == 'function') {
- return this.where;
- } else {
- var s = this.where.toJS('p', query.defaultTableid, query.defcols);
- query.wherefns = s;
- // console.log(s);
- return new Function('p,params,alasql', 'var y;return ' + s);
- }
- } else
- return function() {
- return true;
- };
-};
-
-yy.Select.prototype.compileWhereJoins = function(query) {
- return;
-
- // TODO Fix Where optimization
- //console.log(query);
-
- optimizeWhereJoin(query, this.where.expression);
-
- //for sources compile wherefs
- query.sources.forEach(function(source) {
- if (source.srcwherefns) {
- source.srcwherefn = new Function(
- 'p,params,alasql',
- 'var y;return ' + source.srcwherefns
- );
- }
- if (source.wxleftfns) {
- source.wxleftfn = new Function('p,params,alasql', 'var y;return ' + source.wxleftfns);
- }
- if (source.wxrightfns) {
- source.wxrightfn = new Function('p,params,alasql', 'var y;return ' + source.wxrightfns);
- }
- // console.log(source.alias, source.wherefns)
- // console.log(source);
- });
-};
-
-function optimizeWhereJoin(query, ast) {
- if (!ast) return false;
- if (!(ast instanceof yy.Op)) return;
- if (ast.op != '=' && ast.op != 'AND') return;
- if (ast.allsome) return;
-
- var s = ast.toJS('p', query.defaultTableid, query.defcols);
- var fsrc = [];
- query.sources.forEach(function(source, idx) {
- // Optimization allowed only for tables only
- if (source.tableid) {
- // This is a good place to remove all unnecessary optimizations
- if (s.indexOf("p['" + source.alias + "']") > -1) fsrc.push(source);
- }
- });
- //console.log(fsrc.length);
- // if(fsrc.length < query.sources.length) return;
- // console.log(ast);
- // console.log(s);
- // console.log(fsrc.length);
- if (fsrc.length == 0) {
- // console.log('no optimization, can remove this part of ast');
- return;
- } else if (fsrc.length == 1) {
- if (
- !(s.match(/p\[\'.*?\'\]/g) || []).every(function(s) {
- return s == "p['" + fsrc[0].alias + "']";
- })
- ) {
- return;
- // This is means, that we have column from parent query
- // So we return without optimization
- }
-
- var src = fsrc[0]; // optmiization source
- src.srcwherefns = src.srcwherefns ? src.srcwherefns + '&&' + s : s;
-
- if (ast instanceof yy.Op && (ast.op == '=' && !ast.allsome)) {
- if (ast.left instanceof yy.Column) {
- var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
- if (rs.indexOf("p['" + fsrc[0].alias + "']") == -1) {
- fsrc[0].wxleftfns = ls;
- fsrc[0].wxrightfns = rs;
- }
- }
- if (ast.right instanceof yy.Column) {
- var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
- var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
- if (ls.indexOf("p['" + fsrc[0].alias + "']") == -1) {
- fsrc[0].wxleftfns = rs;
- fsrc[0].wxrightfns = ls;
- }
- }
- }
- ast.reduced = true; // To do not duplicate wherefn and srcwherefn
- return;
- } else {
- if ((ast.op = 'AND')) {
- optimizeWhereJoin(query, ast.left);
- optimizeWhereJoin(query, ast.right);
- }
- }
-}
diff --git a/src/44defcols.js b/src/44defcols.js
deleted file mode 100755
index 6e2d4adb0a..0000000000
--- a/src/44defcols.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-//
-// Select run-time part for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.Select.prototype.compileDefCols = function(query, databaseid) {
- // console.log('defcols');
- var defcols = {'.': {}};
- if (this.from) {
- this.from.forEach(function(fr) {
- defcols['.'][fr.as || fr.tableid] = true;
- if (fr instanceof yy.Table) {
- var alias = fr.as || fr.tableid;
- // console.log(alasql.databases[fr.databaseid || databaseid]);
- // console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
- //console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
- //console.log(alasql.databases);
- var table = alasql.databases[fr.databaseid || databaseid].tables[fr.tableid];
- //console.log(table);
-
- if (undefined === table) {
- throw new Error('Table does not exists: ' + fr.tableid);
- }
-
- if (table.columns) {
- table.columns.forEach(function(col) {
- if (defcols[col.columnid]) {
- defcols[col.columnid] = '-'; // Ambigous
- } else {
- defcols[col.columnid] = alias;
- }
- });
- }
- } else if (fr instanceof yy.Select) {
- } else if (fr instanceof yy.Search) {
- } else if (fr instanceof yy.ParamValue) {
- } else if (fr instanceof yy.VarValue) {
- } else if (fr instanceof yy.FuncValue) {
- } else if (fr instanceof yy.FromData) {
- } else if (fr instanceof yy.Json) {
- } else if (fr.inserted) {
- } else {
- // console.log(fr);
- throw new Error('Unknown type of FROM clause');
- }
- });
- }
-
- if (this.joins) {
- this.joins.forEach(function(jn) {
- defcols['.'][jn.as || jn.table.tableid] = true;
-
- // console.log(jn);
- if (jn.table) {
- var alias = jn.table.tableid;
- if (jn.as) alias = jn.as;
- var alias = jn.as || jn.table.tableid;
- var table =
- alasql.databases[jn.table.databaseid || databaseid].tables[jn.table.tableid];
- // console.log(jn.table.tableid, jn.table.databaseid);
- if (table.columns) {
- table.columns.forEach(function(col) {
- if (defcols[col.columnid]) {
- defcols[col.columnid] = '-'; // Ambigous
- } else {
- defcols[col.columnid] = alias;
- }
- });
- }
- } else if (jn.select) {
- } else if (jn.param) {
- } else if (jn.func) {
- } else {
- throw new Error('Unknown type of FROM clause');
- }
- });
- }
- // for(var k in defcols) {
- // if(defcols[k] == '-') defcols[k] = undefined;
- // }
- // console.log(89,defcols);
- return defcols;
-};
diff --git a/src/50expression.js b/src/50expression.js
deleted file mode 100755
index 8df9ee397d..0000000000
--- a/src/50expression.js
+++ /dev/null
@@ -1,1149 +0,0 @@
-/*
-//
-// Expressions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/**
- Expression statement ( = 2*2; )
- @class
- @param {object} params Initial parameters
-*/
-yy.ExpressionStatement = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Convert AST to string
- @this ExpressionStatement
- @return {string}
-*/
-yy.ExpressionStatement.prototype.toString = function() {
- return this.expression.toString();
-};
-/**
- Execute statement
- @param {string} databaseid Database identificatro
- @param {object} params Statement parameters
- @param {statement-callback} cb Callback
- @return {object} Result value
-*/
-yy.ExpressionStatement.prototype.execute = function(databaseid, params, cb) {
- if (this.expression) {
- // console.log(this.expression.toJS('','', null));
- // console.log(this.expression.toJS('','', null));
- // console.log(this.expression.toJS('({})','', null));
-
- alasql.precompile(this, databaseid, params); // Precompile queries
- var exprfn = new Function(
- 'params,alasql,p',
- 'var y;return ' + this.expression.toJS('({})', '', null)
- ).bind(this);
- var res = exprfn(params, alasql);
- if (cb) {
- res = cb(res);
- }
- return res;
- }
-};
-
-/**
- Expression class
- @class
- @param {object} params Initial parameters
-*/
-
-yy.Expression = function(params) {
- return yy.extend(this, params);
-};
-
-/**
- Convert AST to string
- @this ExpressionStatement
- @return {string}
-*/
-yy.Expression.prototype.toString = function(dontas) {
- var s = this.expression.toString(dontas);
- if (this.order) {
- s += ' ' + this.order.toString();
- }
- if (this.nocase) {
- s += ' COLLATE NOCASE';
- }
- if (this.direction) {
- s += ' ' + this.direction;
- }
- return s;
-};
-
-/**
- Find aggregator in AST subtree
- @this ExpressionStatement
- @param {object} query Query object
-*/
-yy.Expression.prototype.findAggregator = function(query) {
- if (this.expression.findAggregator) {
- this.expression.findAggregator(query);
- }
-};
-
-/**
- Convert AST to JavaScript expression
- @this ExpressionStatement
- @param {string} context Context string, e.g. 'p','g', or 'x'
- @param {string} tableid Default table name
- @param {object} defcols Default columns dictionary
- @return {string} JavaScript expression
-*/
-
-yy.Expression.prototype.toJS = function(context, tableid, defcols) {
- // console.log('Expression',this);
- if (this.expression.reduced) {
- return 'true';
- }
- return this.expression.toJS(context, tableid, defcols);
-};
-
-/**
- Compile AST to JavaScript expression
- @this ExpressionStatement
- @param {string} context Context string, e.g. 'p','g', or 'x'
- @param {string} tableid Default table name
- @param {object} defcols Default columns dictionary
- @return {string} JavaScript expression
-*/
-
-yy.Expression.prototype.compile = function(context, tableid, defcols) {
- // console.log('Expression',this);
- if (this.reduced) {
- return returnTrue();
- }
- return new Function('p', 'var y;return ' + this.toJS(context, tableid, defcols));
-};
-
-/**
- JavaScript class
- @class
-*/
-yy.JavaScript = function(params) {
- return yy.extend(this, params);
-};
-yy.JavaScript.prototype.toString = function() {
- var s = '``' + this.value + '``';
- return s;
-};
-
-yy.JavaScript.prototype.toJS = function(/* context, tableid, defcols*/) {
- // console.log('Expression',this);
- return '(' + this.value + ')';
-};
-yy.JavaScript.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- var expr = new Function('params,alasql,p', this.value);
- expr(params, alasql);
- if (cb) {
- res = cb(res);
- }
- return res;
-};
-
-/**
- Literal class
- @class
- @example
- MyVar, [My vairable], `MySQL variable`
-*/
-
-yy.Literal = function(params) {
- return yy.extend(this, params);
-};
-yy.Literal.prototype.toString = function(dontas) {
- var s = this.value;
- if (this.value1) {
- s = this.value1 + '.' + s;
- }
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- // else s = tableid+'.'+s;
- return s;
-};
-
-/**
- Join class
- @class
-*/
-
-yy.Join = function(params) {
- return yy.extend(this, params);
-};
-yy.Join.prototype.toString = function() {
- var s = ' ';
- if (this.joinmode) {
- s += this.joinmode + ' ';
- }
- s += 'JOIN ' + this.table.toString();
- return s;
-};
-
-// yy.Join.prototype.toJS = function(context, tableid) {
-// return 'JOIN'+this.table.toString();
-// }
-
-/**
- Table class
- @class
-*/
-
-yy.Table = function(params) {
- return yy.extend(this, params);
-};
-yy.Table.prototype.toString = function() {
- var s = this.tableid;
- // if(this.joinmode)
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- return s;
-};
-
-/**
- View class
- @class
-*/
-
-yy.View = function(params) {
- return yy.extend(this, params);
-};
-yy.View.prototype.toString = function() {
- var s = this.viewid;
- // if(this.joinmode)
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- return s;
-};
-
-/**
- Binary operation class
- @class
-*/
-yy.Op = function(params) {
- return yy.extend(this, params);
-};
-yy.Op.prototype.toString = function() {
- if (this.op === 'IN' || this.op === 'NOT IN') {
- return this.left.toString() + ' ' + this.op + ' (' + this.right.toString() + ')';
- }
- if (this.allsome) {
- return (
- this.left.toString() +
- ' ' +
- this.op +
- ' ' +
- this.allsome +
- ' (' +
- this.right.toString() +
- ')'
- );
- }
- if (this.op === '->' || this.op === '!') {
- var s = this.left.toString() + this.op;
- // console.log(this.right);
-
- if (typeof this.right !== 'string' && typeof this.right !== 'number') {
- s += '(';
- }
-
- s += this.right.toString();
-
- if (typeof this.right !== 'string' && typeof this.right !== 'number') {
- s += ')';
- }
-
- return s;
- }
- return (
- this.left.toString() +
- ' ' +
- this.op +
- ' ' +
- (this.allsome ? this.allsome + ' ' : '') +
- this.right.toString()
- );
-};
-
-yy.Op.prototype.findAggregator = function(query) {
- // console.log(this.toString());
- if (this.left && this.left.findAggregator) {
- this.left.findAggregator(query);
- }
- // Do not go in > ALL
- if (this.right && this.right.findAggregator && !this.allsome) {
- this.right.findAggregator(query);
- }
-};
-
-yy.Op.prototype.toType = function(tableid) {
- if (['-', '*', '/', '%', '^'].indexOf(this.op) > -1) {
- return 'number';
- }
- if (['||'].indexOf(this.op) > -1) {
- return 'string';
- }
- if (this.op === '+') {
- if (this.left.toType(tableid) === 'string' || this.right.toType(tableid) === 'string') {
- return 'string';
- }
- if (this.left.toType(tableid) === 'number' || this.right.toType(tableid) === 'number') {
- return 'number';
- }
- }
-
- if (
- [
- 'AND',
- 'OR',
- 'NOT',
- '=',
- '==',
- '===',
- '!=',
- '!==',
- '!===',
- '>',
- '>=',
- '<',
- '<=',
- 'IN',
- 'NOT IN',
- 'LIKE',
- 'NOT LIKE',
- 'REGEXP',
- 'GLOB',
- ].indexOf(this.op) > -1
- ) {
- return 'boolean';
- }
-
- if (
- this.op === 'BETWEEN' ||
- this.op === 'NOT BETWEEN' ||
- this.op === 'IS NULL' ||
- this.op === 'IS NOT NULL'
- ) {
- return 'boolean';
- }
-
- if (this.allsome) {
- return 'boolean';
- }
-
- if (!this.op) {
- return this.left.toType();
- }
-
- return 'unknown';
-};
-
-yy.Op.prototype.toJS = function(context, tableid, defcols) {
- // console.log(this);
- var s;
- var refs = [];
- var op = this.op;
- var _this = this;
- //var leftJS = function(){return _this.left.toJS(context,tableid, defcols)};
- //var rightJS = function(){return _this.right.toJS(context,tableid, defcols)};
- var accessedLeft = false,
- accessedRight = false;
- var ref = function(expr) {
- if (expr.toJS) {
- expr = expr.toJS(context, tableid, defcols);
- }
- var i = refs.push(expr) - 1;
- return 'y[' + i + ']';
- };
- var leftJS = function() {
- return ref(_this.left);
- };
- var rightJS = function() {
- return ref(_this.right);
- };
-
- if (this.op === '=') {
- op = '===';
- } else if (this.op === '<>') {
- op = '!=';
- } else if (this.op === 'OR') {
- op = '||';
- }
-
- // Arrow operator
- if (this.op === '->') {
- // Expression to prevent error if object is empty (#344)
- var ljs = '(' + leftJS() + '||{})';
-
- if (typeof this.right === 'string') {
- s = ljs + '["' + this.right + '"]';
- } else if (typeof this.right === 'number') {
- s = ljs + '[' + this.right + ']';
- } else if (this.right instanceof yy.FuncValue) {
- var ss = [];
- if (!(!this.right.args || 0 === this.right.args.length)) {
- var ss = this.right.args.map(ref);
- }
- s = '' + ljs + "['" + this.right.funcid + "'](" + ss.join(',') + ')';
- } else {
- s = '' + ljs + '[' + rightJS() + ']';
- }
- }
-
- if (this.op === '!') {
- if (typeof this.right === 'string') {
- s =
- '' +
- 'alasql.databases[alasql.useid].objects[' +
- leftJS() +
- ']["' +
- this.right +
- '"]';
- }
- // TODO - add other cases
- }
-
- if (this.op === 'IS') {
- s =
- '' +
- '(' +
- '(' +
- leftJS() +
- '==null)' + // Cant be ===
- ' === ' +
- '(' +
- rightJS() +
- '==null)' + // Cant be ===
- ')';
- }
-
- if (this.op === '==') {
- s = '' + 'alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + ')';
- }
-
- if (this.op === '===' || this.op === '!===') {
- s =
- '' +
- '(' +
- (this.op === '!===' ? '!' : '') +
- '(' +
- '(' +
- leftJS() +
- ').valueOf()' +
- '===' +
- '(' +
- rightJS() +
- ').valueOf()' +
- ')' +
- ')';
- }
-
- if (this.op === '!==') {
- s = '' + '(!alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + '))';
- }
- if (this.op === '||') {
- s = '' + "(''+(" + leftJS() + "||'')+(" + rightJS() + '||""))';
- }
- if (this.op === 'LIKE' || this.op === 'NOT LIKE') {
- var s =
- '(' +
- (this.op === 'NOT LIKE' ? '!' : '') +
- 'alasql.utils.like(' +
- rightJS() +
- ',' +
- leftJS();
- if (this.escape) {
- s += ',' + ref(this.escape);
- }
- s += '))';
- }
- if (this.op === 'REGEXP') {
- s = 'alasql.stdfn.REGEXP_LIKE(' + leftJS() + ',' + rightJS() + ')';
- }
- if (this.op === 'GLOB') {
- s = 'alasql.utils.glob(' + leftJS() + ',' + rightJS() + ')';
- }
-
- if (this.op === 'BETWEEN' || this.op === 'NOT BETWEEN') {
- var left = leftJS();
- s =
- '' +
- '(' +
- (this.op === 'NOT BETWEEN' ? '!' : '') +
- '(' +
- '(' +
- ref(this.right1) +
- '<=' +
- left +
- ') && (' +
- left +
- '<=' +
- ref(this.right2) +
- ')' +
- ')' +
- ')';
-
- /*/*
- if(this.right instanceof yy.Op && this.right.op == 'AND') {
-
- return ref('(('+this.right.left)+'<='+leftJS()+')&&'+
- ref('('+leftJS()+'<='+this.right.right)+'))';
-
- } else {
- throw new Error('Wrong BETWEEN operator without AND part');
- }
-*/
- }
-
- if (this.op === 'IN') {
- if (this.right instanceof yy.Select) {
- s = '(';
- // s += 'this.query.queriesdata['+this.queriesidx+']';
- // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,context))';
- s +=
- 'alasql.utils.flatArray(this.queriesfn[' +
- this.queriesidx +
- '](params,null,' +
- context +
- '))';
- s += '.indexOf(';
- s += leftJS() + ')>-1)';
- } else if (Array.isArray(this.right)) {
- // if(this.right.length == 0) return 'false';
- s = '([' + this.right.map(ref).join(',') + '].indexOf(' + leftJS() + ')>-1)';
- //console.log(s);
- } else {
- s = '(' + rightJS() + '.indexOf(' + leftJS() + ')>-1)';
- //console.log('expression',350,s);
- // } else {
- // throw new Error('Wrong IN operator without SELECT part');
- }
- }
-
- if (this.op === 'NOT IN') {
- if (this.right instanceof yy.Select) {
- s = '(';
- //this.query.queriesdata['+this.queriesidx+']
- // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,p))';
- s += 'alasql.utils.flatArray(this.queriesfn[' + this.queriesidx + '](params,null,p))';
- s += '.indexOf(';
- s += leftJS() + ')<0)';
- } else if (Array.isArray(this.right)) {
- // if(this.right.length == 0) return 'true';
- s = '([' + this.right.map(ref).join(',') + '].indexOf(';
- s += leftJS() + ')<0)';
- } else {
- s = '(' + rightJS() + '.indexOf(';
- s += leftJS() + ')==-1)';
-
- // throw new Error('Wrong NOT IN operator without SELECT part');
- }
- }
-
- if (this.allsome === 'ALL') {
- var s;
- if (this.right instanceof yy.Select) {
- // var s = 'this.query.queriesdata['+this.queriesidx+']';
- s =
- 'alasql.utils.flatArray(this.query.queriesfn[' +
- this.queriesidx +
- '](params,null,p))';
-
- s += '.every(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else if (Array.isArray(this.right)) {
- s =
- '' +
- (this.right.length == 1
- ? ref(this.right[0])
- : '[' + this.right.map(ref).join(',') + ']');
- s += '.every(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else {
- throw new Error('NOT IN operator without SELECT');
- }
- }
-
- if (this.allsome === 'SOME' || this.allsome === 'ANY') {
- var s;
- if (this.right instanceof yy.Select) {
- // var s = 'this.query.queriesdata['+this.queriesidx+']';
- s =
- 'alasql.utils.flatArray(this.query.queriesfn[' +
- this.queriesidx +
- '](params,null,p))';
- s += '.some(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else if (Array.isArray(this.right)) {
- s =
- '' +
- (this.right.length == 1
- ? ref(this.right[0])
- : '[' + this.right.map(ref).join(',') + ']');
- s += '.some(function(b){return (';
- s += leftJS() + ')' + op + 'b})';
- } else {
- throw new Error('SOME/ANY operator without SELECT');
- }
- }
-
- // Special case for AND optimization (if reduced)
- if (this.op === 'AND') {
- if (this.left.reduced) {
- if (this.right.reduced) {
- return 'true';
- } else {
- s = rightJS();
- }
- } else if (this.right.reduced) {
- s = leftJS();
- }
-
- // Otherwise process as regular operation (see below)
- op = '&&';
- }
-
- // if(this.op === '^') {
- // // return 'Math.pow('
- // // + leftJS()
- // // + ','
- // // + rightJS()
- // // + ')';
- // }
-
- // Change names
- // console.log(this);
- var expr = s || '(' + leftJS() + op + rightJS() + ')';
-
- var declareRefs = 'y=[(' + refs.join('), (') + ')]';
-
- if (op === '&&' || op === '||' || op === 'IS' || op === 'IS NULL' || op === 'IS NOT NULL') {
- return '(' + declareRefs + ', ' + expr + ')';
- }
-
- return (
- '(' + declareRefs + ', ' + 'y.some(function(e){return e == null}) ? void 0 : ' + expr + ')'
- );
-};
-
-yy.VarValue = function(params) {
- return yy.extend(this, params);
-};
-yy.VarValue.prototype.toString = function() {
- return '@' + this.variable;
-};
-
-yy.VarValue.prototype.toType = function() {
- return 'unknown';
-};
-
-yy.VarValue.prototype.toJS = function() {
- return "alasql.vars['" + this.variable + "']";
-};
-
-yy.NumValue = function(params) {
- return yy.extend(this, params);
-};
-yy.NumValue.prototype.toString = function() {
- return this.value.toString();
-};
-
-yy.NumValue.prototype.toType = function() {
- return 'number';
-};
-
-yy.NumValue.prototype.toJS = function() {
- return '' + this.value;
-};
-
-yy.StringValue = function(params) {
- return yy.extend(this, params);
-};
-yy.StringValue.prototype.toString = function() {
- return "'" + this.value.toString() + "'";
-};
-
-yy.StringValue.prototype.toType = function() {
- return 'string';
-};
-
-yy.StringValue.prototype.toJS = function() {
- // console.log("'"+doubleqq(this.value)+"'");
- // return "'"+doubleqq(this.value)+"'";
- return "'" + escapeq(this.value) + "'";
-};
-
-yy.DomainValueValue = function(params) {
- return yy.extend(this, params);
-};
-yy.DomainValueValue.prototype.toString = function() {
- return 'VALUE';
-};
-
-yy.DomainValueValue.prototype.toType = function() {
- return 'object';
-};
-
-yy.DomainValueValue.prototype.toJS = function(context, tableid, defcols) {
- // console.log("'"+doubleqq(this.value)+"'");
- // return "'"+doubleqq(this.value)+"'";
- return context;
-};
-
-yy.ArrayValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ArrayValue.prototype.toString = function() {
- return 'ARRAY[]';
-};
-
-yy.ArrayValue.prototype.toType = function() {
- return 'object';
-};
-
-yy.ArrayValue.prototype.toJS = function(context, tableid, defcols) {
- // console.log("'"+doubleqq(this.value)+"'");
- // return "'"+doubleqq(this.value)+"'";
- return (
- '[(' +
- this.value
- .map(function(el) {
- return el.toJS(context, tableid, defcols);
- })
- .join('), (') +
- ')]'
- );
-};
-
-yy.LogicValue = function(params) {
- return yy.extend(this, params);
-};
-yy.LogicValue.prototype.toString = function() {
- return this.value ? 'TRUE' : 'FALSE';
-};
-
-yy.LogicValue.prototype.toType = function() {
- return 'boolean';
-};
-
-yy.LogicValue.prototype.toJS = function() {
- return this.value ? 'true' : 'false';
-};
-
-yy.NullValue = function(params) {
- return yy.extend(this, params);
-};
-yy.NullValue.prototype.toString = function() {
- return 'NULL';
-};
-yy.NullValue.prototype.toJS = function() {
- return 'undefined';
- // return 'undefined';
-};
-
-yy.ParamValue = function(params) {
- return yy.extend(this, params);
-};
-yy.ParamValue.prototype.toString = function() {
- return '$' + this.param;
-};
-yy.ParamValue.prototype.toJS = function() {
- if (typeof this.param === 'string') {
- return "params['" + this.param + "']";
- }
-
- return 'params[' + this.param + ']';
-};
-
-yy.UniOp = function(params) {
- return yy.extend(this, params);
-};
-yy.UniOp.prototype.toString = function() {
- var s;
- s = void 0;
- if (this.op === '~') {
- s = this.op + this.right.toString();
- }
- if (this.op === '-') {
- s = this.op + this.right.toString();
- }
- if (this.op === '+') {
- s = this.op + this.right.toString();
- }
- if (this.op === '#') {
- s = this.op + this.right.toString();
- }
- if (this.op === 'NOT') {
- s = this.op + '(' + this.right.toString() + ')';
- }
- if (this.op === null) {
- s = '(' + this.right.toString() + ')';
- }
- if (!s) {
- s = '(' + this.right.toString() + ')';
- }
- return s;
-};
-
-yy.UniOp.prototype.findAggregator = function(query) {
- if (this.right.findAggregator) {
- this.right.findAggregator(query);
- }
-};
-
-yy.UniOp.prototype.toType = function() {
- if (this.op === '-') {
- return 'number';
- }
-
- if (this.op === '+') {
- return 'number';
- }
-
- if (this.op === 'NOT') {
- return 'boolean';
- }
-
- // Todo: implement default case
-};
-
-yy.UniOp.prototype.toJS = function(context, tableid, defcols) {
- if (this.op === '~') {
- return '(~(' + this.right.toJS(context, tableid, defcols) + '))';
- }
-
- if (this.op === '-') {
- return '(-(' + this.right.toJS(context, tableid, defcols) + '))';
- }
-
- if (this.op === '+') {
- return '(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- if (this.op === 'NOT') {
- return '!(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- if (this.op === '#') {
- if (this.right instanceof yy.Column) {
- return "(alasql.databases[alasql.useid].objects['" + this.right.columnid + "'])";
- } else {
- return (
- '(alasql.databases[alasql.useid].objects[' +
- this.right.toJS(context, tableid, defcols) +
- '])'
- );
- }
- }
-
- // Please avoid === here
- if (this.op == null) {
- // jshint ignore:line
- return '(' + this.right.toJS(context, tableid, defcols) + ')';
- }
-
- // Todo: implement default case.
-};
-
-/*/*
-// yy.Star = function (params) { return yy.extend(this, params); }
-// yy.Star.prototype.toString = function() {
-// var s = this.fieldid;
-// if(this.tableid) {
-// s = this.tableid+'.'+s;
-// if(this.databaseid) {
-// s = this.databaseid+'.'+s;
-// }
-// }
-// if(this.alias) s += ' AS '+this.alias;
-// return s;
-// }
-*/
-yy.Column = function(params) {
- return yy.extend(this, params);
-};
-yy.Column.prototype.toString = function(dontas) {
- var s;
- if (this.columnid == +this.columnid) {
- // jshint ignore:line
- s = '[' + this.columnid + ']';
- } else {
- s = this.columnid;
- }
- if (this.tableid) {
- if (+this.columnid === this.columnid) {
- s = this.tableid + s;
- } else {
- s = this.tableid + '.' + s;
- }
- if (this.databaseid) {
- s = this.databaseid + '.' + s;
- }
- }
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- return s;
-};
-
-yy.Column.prototype.toJS = function(context, tableid, defcols) {
- /*/*
-// var s = this.value;
-// var s = this.columnid;
-// if(this.tableid) {
-// s = this.tableid+'.'+s;
-// // if(this.databaseid) {
-// // s = this.databaseid+'.'+s;
-// // }
-// } else {
-// s = tableid+'.'+s;
-// }
-*/
- //console.log('yy.Column',this, tableid);
- // console.log(392,this.columnid);
-
- //console.log(506,this);
-
- //console.log(523, this, tableid);
-
- var s = '';
- if (!this.tableid && tableid === '' && !defcols) {
- if (this.columnid !== '_') {
- s = context + "['" + this.columnid + "']";
- } else {
- if (context === 'g') {
- s = "g['_']";
- } else {
- s = context;
- }
- }
- } else {
- if (context === 'g') {
- // if(this.columnid == '_') {
- // } else {
- s = "g['" + this.nick + "']";
- // }
- } else if (this.tableid) {
- if (this.columnid !== '_') {
- // if() {
- // s = context+'[\''+tableid + '\'][\''+this.tableid+'\'][\''+this.columnid+'\']';
- // } else {
- s = context + "['" + this.tableid + "']['" + this.columnid + "']";
- // }
- } else {
- if (context === 'g') {
- s = "g['_']";
- } else {
- s = context + "['" + this.tableid + "']";
- }
- }
- } else if (defcols) {
- var tbid = defcols[this.columnid];
- if (tbid === '-') {
- throw new Error(
- 'Cannot resolve column "' +
- this.columnid +
- '" because it exists in two source tables'
- );
- } else if (tbid) {
- if (this.columnid !== '_') {
- s = context + "['" + tbid + "']['" + this.columnid + "']";
- } else {
- s = context + "['" + tbid + "']";
- }
- // console.log(836,tbid,s);
- } else {
- if (this.columnid !== '_') {
- // if(defcols['.'][this.tableid]) {
- // console.log(847,tableid);
- // console.log(context+'[\''+tableid + '\'][\''+this.tableid + '\']','[\''+this.columnid+'\']');
- // s = context+'[\''+tableid + '\'][\''+this.tableid + '\'][\''+this.columnid+'\']';
- // } else {
- s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
- // }
- } else {
- s = context + "['" + (this.tableid || tableid) + "']";
- }
- }
- } else if (tableid === -1) {
- // if(this.columnid != '') {
- s = context + "['" + this.columnid + "']";
- // } else {
- // s = context;
- // }
- } else {
- if (this.columnid !== '_') {
- s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
- } else {
- s = context + "['" + (this.tableid || tableid) + "']";
- }
- }
- }
- // console.log(context,s);
- // console.trace(new Error());
- //console.log(874,s);
- return s;
-};
-
-yy.AggrValue = function(params) {
- return yy.extend(this, params);
-};
-yy.AggrValue.prototype.toString = function(dontas) {
- var s = '';
- if (this.aggregatorid === 'REDUCE') {
- s += this.funcid + '(';
- } else {
- s += this.aggregatorid + '(';
- }
-
- if (this.distinct) {
- s += 'DISTINCT ';
- }
-
- if (this.expression) {
- s += this.expression.toString();
- }
-
- s += ')';
-
- if (this.over) {
- s += ' ' + this.over.toString();
- }
- // console.log(this.over);
- if (this.alias && !dontas) s += ' AS ' + this.alias;
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-yy.AggrValue.prototype.findAggregator = function(query) {
- // console.log('aggregator found',this.toString());
-
- // var colas = this.as || this.toString();
-
- var colas = escapeq(this.toString()) + ':' + query.selectGroup.length;
- // console.log('findAgg',this);
-
- /*/* var found = false;
- for(var i=0;i
- -1
- ) {
- return 'number';
- }
-
- if (['ARRAY'].indexOf(this.aggregatorid) > -1) {
- return 'array';
- }
-
- if (['FIRST', 'LAST'].indexOf(this.aggregatorid) > -1) {
- return this.expression.toType();
- }
-
- // todo: implement default;
-};
-
-yy.AggrValue.prototype.toJS = function(/*context, tableid, defcols*/) {
- /*/*
-// var s = 'alasql.functions.'+this.funcid+'(';
-// if(this.expression) s += this.expression.toJS(context, tableid);
-// s += ')';
-// if(this.alias) s += ' AS '+this.alias;
-// return s;
-// var s = '';
-//if(this.as) console.log(499,this.as);
-// var colas = this.as;
-*/
- var colas = this.nick;
- if (colas === undefined) {
- colas = this.toString();
- }
- return "g['" + colas + "']";
-};
-
-yy.OrderExpression = function(params) {
- return yy.extend(this, params);
-};
-yy.OrderExpression.prototype.toString = yy.Expression.prototype.toString;
-/*/* //Duplicated code
-
-function() {
- var s = this.expression.toString();
- if(this.order) s += ' '+this.order.toString();
- if(this.nocase) s += ' '+'COLLATE'+' '+'NOCASE';
- return s;
-}*/
-
-yy.GroupExpression = function(params) {
- return yy.extend(this, params);
-};
-yy.GroupExpression.prototype.toString = function() {
- return this.type + '(' + this.group.toString() + ')';
-};
-
-/*/* //Duplicated code
-yy.ColumnDef = function (params) { return yy.extend(this, params); }
-yy.ColumnDef.prototype.toString = function() {
- var s = this.columnid;
- if(this.dbtypeid) s += ' '+this.dbtypeid;
- if(this.dbsize) {
- s += '('+this.dbsize;
- if(this.dbprecision) s += ','+this.dbprecision;
- s += ')';
- };
- if(this.primarykey) s += ' PRIMARY KEY';
- if(this.notnull) s += ' NOT NULL';
- return s;
-}*/
diff --git a/src/55functions.js b/src/55functions.js
deleted file mode 100755
index d5491e4ea7..0000000000
--- a/src/55functions.js
+++ /dev/null
@@ -1,478 +0,0 @@
-/*
-//
-// Functions for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-yy.FuncValue = function(params) {
- return yy.extend(this, params);
-};
-yy.FuncValue.prototype.toString = function(dontas) {
- var s = '';
-
- if (alasql.fn[this.funcid]) s += this.funcid;
- else if (alasql.aggr[this.funcid]) s += this.funcid;
- else if (alasql.stdlib[this.funcid.toUpperCase()] || alasql.stdfn[this.funcid.toUpperCase()])
- s += this.funcid.toUpperCase();
-
- s += '(';
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toString();
- })
- .join(',');
- }
- s += ')';
- if (this.as && !dontas) s += ' AS ' + this.as.toString();
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-yy.FuncValue.prototype.execute = function(databaseid, params, cb) {
- var res = 1;
- alasql.precompile(this, databaseid, params); // Precompile queries
- // console.log(34,this.toJS('','',null));
- var expr = new Function('params,alasql', 'var y;return ' + this.toJS('', '', null));
- expr(params, alasql);
- if (cb) res = cb(res);
- return res;
-};
-
-/*/*
-//yy.FuncValue.prototype.compile = function(context, tableid, defcols){
-// console.log('Expression',this);
-// if(this.reduced) return returnTrue();
-// return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
-//};
-
-
-// yy.FuncValue.prototype.compile = function(context, tableid, defcols){
-// // console.log('Expression',this);
-// if(this.reduced) return returnTrue();
-// return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
-// };
-
-*/
-
-yy.FuncValue.prototype.findAggregator = function(query) {
- if (this.args && this.args.length > 0) {
- this.args.forEach(function(arg) {
- if (arg.findAggregator) arg.findAggregator(query);
- });
- }
-};
-
-yy.FuncValue.prototype.toJS = function(context, tableid, defcols) {
- var s = '';
- var funcid = this.funcid;
- // IF this is standard compile functions
- if (!alasql.fn[funcid] && alasql.stdlib[funcid.toUpperCase()]) {
- if (this.args && this.args.length > 0) {
- s += alasql.stdlib[funcid.toUpperCase()].apply(
- this,
- this.args.map(function(arg) {
- return arg.toJS(context, tableid);
- })
- );
- } else {
- s += alasql.stdlib[funcid.toUpperCase()]();
- }
- } else if (!alasql.fn[funcid] && alasql.stdfn[funcid.toUpperCase()]) {
- if (this.newid) s += 'new ';
- s += 'alasql.stdfn.' + this.funcid.toUpperCase() + '(';
- // if(this.args) s += this.args.toJS(context, tableid);
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toJS(context, tableid, defcols);
- })
- .join(',');
- }
- s += ')';
- } else {
- // This is user-defined run-time function
- // TODO arguments!!!
- // var s = '';
- if (this.newid) s += 'new ';
- s += 'alasql.fn.' + this.funcid + '(';
- // if(this.args) s += this.args.toJS(context, tableid);
- if (this.args && this.args.length > 0) {
- s += this.args
- .map(function(arg) {
- return arg.toJS(context, tableid, defcols);
- })
- .join(',');
- }
- s += ')';
- }
- //console.log('userfn:',s,this);
-
- // if(this.alias) s += ' AS '+this.alias;
- return s;
-};
-
-/*/*
-// // Functions compiler
-// nodes.FunctionValue.prototype.toJS = function (context, tableid) {
-// var s = '';
-// s += fns[this.name.toUpperCase()].apply(null,this.arguments.map(function(arg){
-// if(arg) return arg.toJS(context, tableid);
-// else return '';
-// }));
-// return s;
-// };
-*/
-
-/*/*
-//
-// SQL FUNCTIONS COMPILERS
-// Based on SQLite functions
-
-// IMPORTANT: These are compiled functions
-
-//alasql.fn = {}; // Keep for compatibility
-//alasql.userlib = alasql.fn;
-*/
-
-var stdlib = (alasql.stdlib = {});
-var stdfn = (alasql.stdfn = {});
-
-stdlib.ABS = function(a) {
- return 'Math.abs(' + a + ')';
-};
-stdlib.CLONEDEEP = function(a) {
- return 'alasql.utils.cloneDeep(' + a + ')';
-};
-
-stdfn.CONCAT = function() {
- return Array.prototype.slice.call(arguments).join('');
-};
-stdlib.EXP = function(a) {
- return 'Math.pow(Math.E,' + a + ')';
-};
-
-stdlib.IIF = function(a, b, c) {
- if (arguments.length == 3) {
- return '((' + a + ')?(' + b + '):(' + c + '))';
- } else {
- throw new Error('Number of arguments of IFF is not equals to 3');
- }
-};
-stdlib.IFNULL = function(a, b) {
- return '(' + a + '||' + b + ')';
-};
-stdlib.INSTR = function(s, p) {
- return '((' + s + ').indexOf(' + p + ')+1)';
-};
-
-//stdlib.LEN = stdlib.LENGTH = function(s) {return '('+s+'+"").length';};
-
-stdlib.LEN = stdlib.LENGTH = function(s) {
- return und(s, 'y.length');
-};
-//stdlib.LENGTH = function(s) {return '('+s+').length'};
-
-stdlib.LOWER = stdlib.LCASE = function(s) {
- return und(s, 'String(y).toLowerCase()');
-};
-//stdlib.LCASE = function(s) {return '('+s+').toLowerCase()';}
-
-// Returns a character expression after it removes leading blanks.
-// see https://docs.microsoft.com/en-us/sql/t-sql/functions/ltrim-transact-sql
-stdlib.LTRIM = function(s) {
- return und(s, 'y.replace(/^[ ]+/,"")');
-};
-
-// Returns a character string after truncating all trailing spaces.
-// see https://docs.microsoft.com/en-us/sql/t-sql/functions/rtrim-transact-sql
-stdlib.RTRIM = function(s) {
- return und(s, 'y.replace(/[ ]+$/,"")');
-};
-
-stdlib.MAX = stdlib.GREATEST = function() {
- return 'Math.max(' + Array.prototype.join.call(arguments, ',') + ')';
-};
-
-stdlib.MIN = stdlib.LEAST = function() {
- return 'Math.min(' + Array.prototype.join.call(arguments, ',') + ')';
-};
-
-stdlib.SUBSTRING = stdlib.SUBSTR = stdlib.MID = function(a, b, c) {
- if (arguments.length == 2) return und(a, 'y.substr(' + b + '-1)');
- else if (arguments.length == 3) return und(a, 'y.substr(' + b + '-1,' + c + ')');
-};
-
-stdfn.REGEXP_LIKE = function(a, b, c) {
- // console.log(a,b,c);
- return (a || '').search(RegExp(b, c)) > -1;
-};
-
-// Here we uses undefined instead of null
-stdlib.ISNULL = stdlib.NULLIF = function(a, b) {
- return '(' + a + '==' + b + '?undefined:' + a + ')';
-};
-
-stdlib.POWER = function(a, b) {
- return 'Math.pow(' + a + ',' + b + ')';
-};
-
-stdlib.RANDOM = function(r) {
- if (arguments.length == 0) {
- return 'Math.random()';
- } else {
- return '(Math.random()*(' + r + ')|0)';
- }
-};
-stdlib.ROUND = function(s, d) {
- if (arguments.length == 2) {
- return 'Math.round((' + s + ')*Math.pow(10,(' + d + ')))/Math.pow(10,(' + d + '))';
- } else {
- return 'Math.round(' + s + ')';
- }
-};
-stdlib.CEIL = stdlib.CEILING = function(s) {
- return 'Math.ceil(' + s + ')';
-};
-stdlib.FLOOR = function(s) {
- return 'Math.floor(' + s + ')';
-};
-
-stdlib.ROWNUM = function() {
- return '1';
-};
-stdlib.ROW_NUMBER = function() {
- return '1';
-};
-
-stdlib.SQRT = function(s) {
- return 'Math.sqrt(' + s + ')';
-};
-
-stdlib.TRIM = function(s) {
- return und(s, 'y.trim()');
-};
-
-stdlib.UPPER = stdlib.UCASE = function(s) {
- return und(s, 'String(y).toUpperCase()');
-};
-
-// Concatination of strings
-stdfn.CONCAT_WS = function() {
- var args = Array.prototype.slice.call(arguments);
- return args.slice(1, args.length).join(args[0]);
-};
-
-//stdlib.UCASE = function(s) {return '('+s+').toUpperCase()';}
-//REPLACE
-// RTRIM
-// SUBSTR
-// TRIM
-//REPLACE
-// RTRIM
-// SUBSTR
-// TRIM
-
-// Aggregator for joining strings
-alasql.aggr.GROUP_CONCAT = function(v, s, stage) {
- if (stage === 1) {
- return '' + v;
- } else if (stage === 2) {
- s += ',' + v;
- return s;
- }
- return s;
-};
-
-alasql.aggr.MEDIAN = function(v, s, stage) {
- if (stage === 2) {
- if (v !== null) {
- s.push(v);
- }
- return s;
- } else if (stage === 1) {
- if (v === null) {
- return [];
- }
- return [v];
- } else {
- if (!s.length) {
- return s;
- }
-
- var r = s.sort();
- var p = (r.length + 1) / 2;
- if (Number.isInteger(p)) {
- return r[p - 1];
- }
-
- return (r[Math.floor(p - 1)] + r[Math.ceil(p - 1)]) / 2;
- }
-};
-
-alasql.aggr.QUART = function(v, s, stage, nth) {
- //Quartile (first quartile per default or input param)
- if (stage === 2) {
- if (v !== null) {
- s.push(v);
- }
- return s;
- } else if (stage === 1) {
- if (v === null) {
- return [];
- }
- return [v];
- } else {
- if (!s.length) {
- return s;
- }
-
- nth = !nth ? 1 : nth;
- var r = s.sort();
- var p = (nth * (r.length + 1)) / 4;
- if (Number.isInteger(p)) {
- return r[p - 1]; //Integer value
- }
- return r[Math.floor(p)]; //Math.ceil -1 or Math.floor
- }
-};
-
-alasql.aggr.QUART2 = function(v, s, stage) {
- //Second Quartile
- return alasql.aggr.QUART(v, s, stage, 2);
-};
-alasql.aggr.QUART3 = function(v, s, stage) {
- //Third Quartile
- return alasql.aggr.QUART(v, s, stage, 3);
-};
-
-// Standard deviation
-alasql.aggr.VAR = function(v, s, stage) {
- if (stage === 1) {
- if (v === null) {
- return {arr: [], sum: 0};
- }
- return {arr: [v], sum: v};
- } else if (stage === 2) {
- if (v === null) {
- return s;
- }
- s.arr.push(v);
- s.sum += v;
- return s;
- } else {
- var N = s.arr.length;
- var avg = s.sum / N;
- var std = 0;
- for (var i = 0; i < N; i++) {
- std += (s.arr[i] - avg) * (s.arr[i] - avg);
- }
- std = std / (N - 1);
- return std;
- }
-};
-
-alasql.aggr.STDEV = function(v, s, stage) {
- if (stage === 1 || stage === 2) {
- return alasql.aggr.VAR(v, s, stage);
- } else {
- return Math.sqrt(alasql.aggr.VAR(v, s, stage));
- }
-};
-
-// Standard deviation
-// alasql.aggr.VARP = function(v,s,acc){
-// if(typeof acc.arr == 'undefined') {
-// acc.arr = [v];
-// acc.sum = v;
-// } else {
-// acc.arr.push(v);
-// acc.sum += v;
-// }
-// var N = acc.arr.length;
-// var avg = acc.sum / N;
-// var std = 0;
-// for(var i=0;i> 8) & 0xff] +
- lut[(d0 >> 16) & 0xff] +
- lut[(d0 >> 24) & 0xff] +
- '-' +
- lut[d1 & 0xff] +
- lut[(d1 >> 8) & 0xff] +
- '-' +
- lut[((d1 >> 16) & 0x0f) | 0x40] +
- lut[(d1 >> 24) & 0xff] +
- '-' +
- lut[(d2 & 0x3f) | 0x80] +
- lut[(d2 >> 8) & 0xff] +
- '-' +
- lut[(d2 >> 16) & 0xff] +
- lut[(d2 >> 24) & 0xff] +
- lut[d3 & 0xff] +
- lut[(d3 >> 8) & 0xff] +
- lut[(d3 >> 16) & 0xff] +
- lut[(d3 >> 24) & 0xff]
- );
-};
diff --git a/src/60createtable.js b/src/60createtable.js
deleted file mode 100755
index 68f0ece780..0000000000
--- a/src/60createtable.js
+++ /dev/null
@@ -1,693 +0,0 @@
-/*
-//
-// CREATE TABLE for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global alasql, yy, hash */
-
-yy.ColumnDef = function(params) {
- return yy.extend(this, params);
-};
-yy.ColumnDef.prototype.toString = function() {
- var s = this.columnid;
- if (this.dbtypeid) {
- s += ' ' + this.dbtypeid;
- }
-
- if (this.dbsize) {
- s += '(' + this.dbsize;
- if (this.dbprecision) {
- s += ',' + this.dbprecision;
- }
- s += ')';
- }
-
- if (this.primarykey) {
- s += ' PRIMARY KEY';
- }
-
- if (this.notnull) {
- s += ' NOT NULL';
- }
-
- return s;
-};
-
-yy.CreateTable = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateTable.prototype.toString = function() {
- var s = 'CREATE';
- if (this.temporary) {
- s += ' TEMPORARY';
- }
-
- if (this.view) {
- s += ' VIEW';
- } else {
- s += ' ' + (this.class ? 'CLASS' : 'TABLE');
- }
- if (this.ifnotexists) {
- s += ' IF NOT EXISTS';
- }
- s += ' ' + this.table.toString();
- if (this.viewcolumns) {
- s +=
- '(' +
- this.viewcolumns
- .map(function(vcol) {
- return vcol.toString();
- })
- .join(',') +
- ')';
- }
- if (this.as) {
- s += ' AS ' + this.as;
- } else {
- var ss = this.columns.map(function(col) {
- return col.toString();
- });
- s += ' (' + ss.join(',') + ')';
- }
-
- if (this.view && this.select) {
- s += ' AS ' + this.select.toString();
- }
-
- return s;
-};
-
-// CREATE TABLE
-//yy.CreateTable.prototype.compile = returnUndefined;
-yy.CreateTable.prototype.execute = function(databaseid, params, cb) {
- // var self = this;
- var db = alasql.databases[this.table.databaseid || databaseid];
-
- var tableid = this.table.tableid;
- if (!tableid) {
- throw new Error('Table name is not defined');
- }
-
- // var ifnotexists = this.ifnotexists;
- var columns = this.columns;
- // if(false) {
- // if(!columns) {
- // throw new Error('Columns are not defined');
- // }
- // }
- var constraints = this.constraints || [];
- // console.log(this);
-
- // IF NOT EXISTS
- if (this.ifnotexists && db.tables[tableid]) {
- return cb ? cb(0) : 0;
- }
-
- if (db.tables[tableid]) {
- throw new Error(
- "Can not create table '" +
- tableid +
- "', because it already exists in the database '" +
- db.databaseid +
- "'"
- );
- }
-
- var table = (db.tables[tableid] = new alasql.Table()); // TODO Can use special object?
- // If this is a class
- if (this.class) {
- table.isclass = true;
- }
-
- var ss = []; // DEFAULT function components
- var uss = []; // ON UPDATE function components
- if (columns) {
- columns.forEach(function(col) {
- var dbtypeid = col.dbtypeid;
- if (!alasql.fn[dbtypeid]) {
- dbtypeid = dbtypeid.toUpperCase();
- }
-
- // Process SERIAL data type like Postgress
- if (['SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(dbtypeid) > -1) {
- col.identity = {value: 1, step: 1};
- }
-
- var newcol = {
- columnid: col.columnid,
- dbtypeid: dbtypeid,
- dbsize: col.dbsize, // Fixed issue #150
- dbprecision: col.dbprecision, // Fixed issue #150
- notnull: col.notnull,
- identity: col.identity,
- };
- if (col.identity) {
- table.identities[col.columnid] = {
- value: +col.identity.value,
- step: +col.identity.step,
- };
- // ss.push('\''+col.columnid+'\':(alasql.databases[\''+db.databaseid+'\'].tables[\''
- // +tableid+'\'].identities[\''+col.columnid+'\'].value)');
- }
- if (col.check) {
- table.checks.push({
- id: col.check.constrantid,
- fn: new Function('r', 'var y;return ' + col.check.expression.toJS('r', '')),
- });
- }
-
- if (col.default) {
- ss.push("'" + col.columnid + "':" + col.default.toJS('r', ''));
- }
-
- // Check for primary key
- if (col.primarykey) {
- var pk = (table.pk = {});
- pk.columns = [col.columnid];
- pk.onrightfns = "r['" + col.columnid + "']";
- pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
- pk.hh = hash(pk.onrightfns);
- table.uniqs[pk.hh] = {};
- }
-
- // UNIQUE clause
- if (col.unique) {
- var uk = {};
- table.uk = table.uk || [];
- table.uk.push(uk);
- uk.columns = [col.columnid];
- uk.onrightfns = "r['" + col.columnid + "']";
- uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
- uk.hh = hash(uk.onrightfns);
- table.uniqs[uk.hh] = {};
- }
-
- // UNIQUE clause
- if (col.foreignkey) {
- // console.log(138,col.foreignkey);
- var fk = col.foreignkey.table;
- var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
- if (typeof fk.columnid === 'undefined') {
- if (fktable.pk.columns && fktable.pk.columns.length > 0) {
- fk.columnid = fktable.pk.columns[0];
- } else {
- throw new Error('FOREIGN KEY allowed only to tables with PRIMARY KEYs');
- }
- }
- // console.log(fktable.pk);
- var fkfn = function(r) {
- var rr = {};
- if (typeof r[col.columnid] === 'undefined') {
- return true;
- }
- rr[fk.columnid] = r[col.columnid];
- var addr = fktable.pk.onrightfn(rr);
- // console.log(r, rr, addr);
- // console.log(fktable.uniqs[fktable.pk.hh][addr]);
- if (!fktable.uniqs[fktable.pk.hh][addr]) {
- throw new Error(
- 'Foreign key "' +
- r[col.columnid] +
- '" is not found in table ' +
- fktable.tableid
- );
- }
- return true;
- };
- table.checks.push({fn: fkfn});
- /*/* var uk = {};
- if(typeof table.uk == 'undefined') table.uk = [];
- table.uk.push(uk);
- uk.columns = [col.columnid];
- uk.onrightfns = 'r[\''+col.columnid+'\']';
- uk.onrightfn = new Function("r",'return '+uk.onrightfns);
- uk.hh = hash(uk.onrightfns);
- table.uniqs[uk.hh] = {};
-*/
- }
-
- if (col.onupdate) {
- uss.push("r['" + col.columnid + "']=" + col.onupdate.toJS('r', ''));
- }
-
- table.columns.push(newcol);
- table.xcolumns[newcol.columnid] = newcol;
- });
- }
- table.defaultfns = ss.join(',');
- table.onupdatefns = uss.join(';');
-
- // if(constraints) {
- constraints.forEach(function(con) {
- //console.log(con, con.columns);
- var checkfn;
-
- if (con.type === 'PRIMARY KEY') {
- if (table.pk) {
- throw new Error('Primary key already exists');
- }
- var pk = (table.pk = {});
- pk.columns = con.columns;
- pk.onrightfns = pk.columns
- .map(function(columnid) {
- return "r['" + columnid + "']";
- })
- .join("+'`'+");
- pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
- pk.hh = hash(pk.onrightfns);
- table.uniqs[pk.hh] = {};
- } else if (con.type === 'CHECK') {
- // console.log(con.expression.toJS('r',''));
- checkfn = new Function('r', 'var y;return ' + con.expression.toJS('r', ''));
- } else if (con.type === 'UNIQUE') {
- // console.log(con);
- var uk = {};
- table.uk = table.uk || [];
- table.uk.push(uk);
- uk.columns = con.columns;
- uk.onrightfns = uk.columns
- .map(function(columnid) {
- return "r['" + columnid + "']";
- })
- .join("+'`'+");
- uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
- uk.hh = hash(uk.onrightfns);
- table.uniqs[uk.hh] = {};
- } else if (con.type === 'FOREIGN KEY') {
- // console.log(con);
- var col = table.xcolumns[con.columns[0]];
- var fk = con.fktable;
- if (con.fkcolumns && con.fkcolumns.length > 0) {
- fk.columnid = con.fkcolumns[0];
- }
- var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
- if (typeof fk.columnid === 'undefined') {
- fk.columnid = fktable.pk.columns[0];
- }
- // console.log(fktable.pk);
- checkfn = function(r) {
- var rr = {};
- if (typeof r[col.columnid] === 'undefined') {
- return true;
- }
- rr[fk.columnid] = r[col.columnid];
- var addr = fktable.pk.onrightfn(rr);
- // console.log(r, rr, addr);
- // console.log(fktable.uniqs[fktable.pk.hh][addr]);
- if (!fktable.uniqs[fktable.pk.hh][addr]) {
- //console.log(228,table,col,fk);
- throw new Error(
- 'Foreign key "' +
- r[col.columnid] +
- '" is not found in table ' +
- fktable.tableid
- );
- }
- return true;
- };
- }
- if (checkfn) {
- table.checks.push({fn: checkfn, id: con.constraintid, fk: con.type === 'FOREIGN KEY'});
- }
- });
-
- if (this.view && this.viewcolumns) {
- var self = this;
- this.viewcolumns.forEach(function(vcol, idx) {
- self.select.columns[idx].as = vcol.columnid;
- });
- }
-
- //Used in 420from queryfn when table.view = true!
- if (this.view && this.select) {
- table.view = true;
- // console.log(this.select.toString());
- // console.log('this.table.databaseid',this.table.databaseid);
- // console.log(this.select.compile(this.table.databaseid||databaseid));
- table.select = this.select.compile(this.table.databaseid || databaseid);
- }
-
- if (db.engineid) {
- // console.log(101,db.engineid);
- return alasql.engines[db.engineid].createTable(
- this.table.databaseid || databaseid,
- tableid,
- this.ifnotexists,
- cb
- );
- // console.log('createtable',res1);
- // return res1;
- }
-
- // }
- // if(table.pk) {
-
- table.insert = function(r, orreplace) {
- var oldinserted = alasql.inserted;
- alasql.inserted = [r];
-
- var table = this;
-
- var toreplace = false; // For INSERT OR REPLACE
-
- /*
- // IDENTINY or AUTO_INCREMENT
- // if(table.identities && table.identities.length>0) {
- // table.identities.forEach(function(ident){
- // r[ident.columnid] = ident.value;
- // });
- // }
-*/
- // Trigger prevent functionality
- var prevent = false;
- for (var tr in table.beforeinsert) {
- var trigger = table.beforeinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return;
-
- // Trigger prevent functionality
- var escape = false;
- for (tr in table.insteadofinsert) {
- escape = true;
- trigger = table.insteadofinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- //console.log(262,r);
- //console.log(263,table.identities)
- for (var columnid in table.identities) {
- var ident = table.identities[columnid];
- // console.log(ident);
- r[columnid] = ident.value;
- // console.log(ident);
- }
- //console.log(270,r);
-
- if (table.checks && table.checks.length > 0) {
- table.checks.forEach(function(check) {
- if (!check.fn(r)) {
- // if(orreplace) toreplace=true; else
- throw new Error('Violation of CHECK constraint ' + (check.id || ''));
- }
- });
- }
-
- table.columns.forEach(function(column) {
- if (column.notnull && typeof r[column.columnid] === 'undefined') {
- throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
- }
- });
- if (table.pk) {
- var pk = table.pk;
- var addr = pk.onrightfn(r);
-
- if (typeof table.uniqs[pk.hh][addr] !== 'undefined') {
- //console.log(pk,addr,pk.onrightfn({ono:1}));
- //console.log(r, pk.onrightfn(r), pk.onrightfns);
- if (orreplace) toreplace = table.uniqs[pk.hh][addr];
- else
- throw new Error(
- 'Cannot insert record, because it already exists in primary key index'
- );
- }
- // table.uniqs[pk.hh][addr]=r;
- }
-
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][ukaddr] !== 'undefined') {
- if (orreplace) toreplace = table.uniqs[uk.hh][ukaddr];
- else
- throw new Error(
- 'Cannot insert record, because it already exists in unique index'
- );
- }
- // table.uniqs[uk.hh][ukaddr]=r;
- });
- }
-
- if (toreplace) {
- // Do UPDATE!!!
- // console.log();
- table.update(
- function(t) {
- for (var f in r) t[f] = r[f];
- },
- table.data.indexOf(toreplace),
- params
- );
- } else {
- table.data.push(r);
-
- // Final change before insert
-
- // Update indices
-
- for (var columnid in table.identities) {
- var ident = table.identities[columnid];
- // console.log(ident);
- ident.value += ident.step;
- // console.log(ident);
- }
-
- if (table.pk) {
- var pk = table.pk;
- var addr = pk.onrightfn(r);
- table.uniqs[pk.hh][addr] = r;
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- table.uniqs[uk.hh][ukaddr] = r;
- });
- }
- }
-
- // Trigger prevent functionality
- for (var tr in table.afterinsert) {
- var trigger = table.afterinsert[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- alasql.inserted = oldinserted;
- };
-
- table.delete = function(index) {
- var table = this;
- var r = table.data[index];
-
- // Prevent trigger
- var prevent = false;
- for (var tr in table.beforedelete) {
- var trigger = table.beforedelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return false;
-
- // Trigger prevent functionality
- var escape = false;
- for (var tr in table.insteadofdelete) {
- escape = true;
- var trigger = table.insteadofdelete[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- if (this.pk) {
- var pk = this.pk;
- var addr = pk.onrightfn(r);
- if (typeof this.uniqs[pk.hh][addr] === 'undefined') {
- throw new Error('Something wrong with primary key index on table');
- } else {
- this.uniqs[pk.hh][addr] = undefined;
- }
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- var ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][ukaddr] === 'undefined') {
- throw new Error('Something wrong with unique index on table');
- }
- table.uniqs[uk.hh][ukaddr] = undefined;
- });
- }
- };
-
- table.deleteall = function() {
- this.data.length = 0;
- if (this.pk) {
- // var r = this.data[i];
- this.uniqs[this.pk.hh] = {};
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- table.uniqs[uk.hh] = {};
- });
- }
- };
-
- table.update = function(assignfn, i, params) {
- // TODO: Analyze the speed
- var r = cloneDeep(this.data[i]);
-
- var pk;
- // PART 1 - PRECHECK
- if (this.pk) {
- pk = this.pk;
- pk.pkaddr = pk.onrightfn(r, params);
- if (typeof this.uniqs[pk.hh][pk.pkaddr] === 'undefined') {
- throw new Error('Something wrong with index on table');
- }
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- uk.ukaddr = uk.onrightfn(r);
- if (typeof table.uniqs[uk.hh][uk.ukaddr] === 'undefined') {
- throw new Error('Something wrong with unique index on table');
- }
- });
- }
-
- assignfn(r, params, alasql);
-
- // Prevent trigger
- var prevent = false;
- for (var tr in table.beforeupdate) {
- var trigger = table.beforeupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- if (alasql.fn[trigger.funcid](this.data[i], r) === false)
- prevent = prevent || true;
- } else if (trigger.statement) {
- if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
- }
- }
- }
- if (prevent) return false;
-
- // Trigger prevent functionality
- var escape = false;
- for (var tr in table.insteadofupdate) {
- escape = true;
- var trigger = table.insteadofupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](this.data[i], r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- if (escape) return;
-
- // PART 2 - POST CHECK
- if (table.checks && table.checks.length > 0) {
- table.checks.forEach(function(check) {
- if (!check.fn(r)) {
- throw new Error('Violation of CHECK constraint ' + (check.id || ''));
- }
- });
- }
-
- table.columns.forEach(function(column) {
- if (column.notnull && typeof r[column.columnid] === 'undefined') {
- throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
- }
- });
- if (this.pk) {
- pk.newpkaddr = pk.onrightfn(r);
- if (
- typeof this.uniqs[pk.hh][pk.newpkaddr] !== 'undefined' &&
- pk.newpkaddr !== pk.pkaddr
- ) {
- throw new Error('Record already exists');
- }
- }
-
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- uk.newukaddr = uk.onrightfn(r);
- if (
- typeof table.uniqs[uk.hh][uk.newukaddr] !== 'undefined' &&
- uk.newukaddr !== uk.ukaddr
- ) {
- throw new Error('Record already exists');
- }
- });
- }
-
- // PART 3 UPDATE
- if (this.pk) {
- this.uniqs[pk.hh][pk.pkaddr] = undefined;
- this.uniqs[pk.hh][pk.newpkaddr] = r;
- }
- if (table.uk && table.uk.length) {
- table.uk.forEach(function(uk) {
- table.uniqs[uk.hh][uk.ukaddr] = undefined;
- table.uniqs[uk.hh][uk.newukaddr] = r;
- });
- }
-
- this.data[i] = r;
-
- // Trigger prevent functionality
- for (var tr in table.afterupdate) {
- var trigger = table.afterupdate[tr];
- if (trigger) {
- if (trigger.funcid) {
- alasql.fn[trigger.funcid](this.data[i], r);
- } else if (trigger.statement) {
- trigger.statement.execute(databaseid);
- }
- }
- }
- };
-
- // console.log(databaseid);
- // console.log(db.databaseid,db.tables);
- // console.log(table);
-
- var res;
-
- if (!alasql.options.nocount) {
- res = 1;
- }
-
- if (cb) res = cb(res);
- return res;
-};
diff --git a/src/70insert.js b/src/70insert.js
deleted file mode 100755
index 0e2ae36c0b..0000000000
--- a/src/70insert.js
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
-//
-// INSERT for Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql*/
-yy.Insert = function(params) {
- return yy.extend(this, params);
-};
-yy.Insert.prototype.toString = function() {
- var s = 'INSERT ';
- if (this.orreplace) s += 'OR REPLACE ';
- if (this.replaceonly) s = 'REPLACE ';
- s += 'INTO ' + this.into.toString();
- if (this.columns) s += '(' + this.columns.toString() + ')';
- if (this.values) s += ' VALUES ' + this.values.toString();
- if (this.select) s += ' ' + this.select.toString();
- return s;
-};
-
-yy.Insert.prototype.toJS = function(context, tableid, defcols) {
- // console.log('Expression',this);
- // if(this.expression.reduced) return 'true';
- // return this.expression.toJS(context, tableid, defcols);
- // console.log('Select.toJS', 81, this.queriesidx);
- // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
-
- var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
- // s = '(console.log(this.queriesfn[0]),'+s+')';
- // console.log(this,s);
-
- return s;
-};
-
-yy.Insert.prototype.compile = function(databaseid) {
- var self = this;
- databaseid = self.into.databaseid || databaseid;
- var db = alasql.databases[databaseid];
- // console.log(self);
- var tableid = self.into.tableid;
- var table = db.tables[tableid];
-
- if (!table) {
- throw "Table '" + tableid + "' could not be found";
- }
-
- // Check, if this dirty flag is required
- var s = '';
- var sw = '';
- var s = "db.tables['" + tableid + "'].dirty=true;";
- var s3 = 'var a,aa=[],x;';
-
- var s33;
-
- // INSERT INTO table VALUES
- if (this.values) {
- if (this.exists) {
- this.existsfn = this.exists.map(function(ex) {
- var nq = ex.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
- if (this.queries) {
- this.queriesfn = this.queries.map(function(q) {
- var nq = q.compile(databaseid);
- nq.query.modifier = 'RECORDSET';
- return nq;
- });
- }
-
- // console.log(1);
- self.values.forEach(function(values) {
- var ss = [];
-
- // s += 'db.tables[\''+tableid+'\'].data.push({';
-
- // s += '';
- if (self.columns) {
- self.columns.forEach(function(col, idx) {
- //console.log(db.tables, tableid, table);
- // ss.push(col.columnid +':'+ self.values[idx].value.toString());
- // console.log(rec[f.name.value]);
- // if(rec[f.name.value] == "NULL") rec[f.name.value] = undefined;
-
- // if(table.xflds[f.name.value].dbtypeid == "INT") rec[f.name.value] = +rec[f.name.value]|0;
- // else if(table.xflds[f.name.value].dbtypeid == "FLOAT") rec[f.name.value] = +rec[f.name.value];
- var q = "'" + col.columnid + "':";
- if (table.xcolumns && table.xcolumns[col.columnid]) {
- if (
- ['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(
- table.xcolumns[col.columnid].dbtypeid
- ) >= 0
- ) {
- //q += ''
- q += '(x=' + values[idx].toJS() + ',x==undefined?undefined:+x)';
- } else if (alasql.fn[table.xcolumns[col.columnid].dbtypeid]) {
- q += '(new ' + table.xcolumns[col.columnid].dbtypeid + '(';
- q += values[idx].toJS();
- q += '))';
- } else {
- q += values[idx].toJS();
- }
- } else {
- q += values[idx].toJS();
- }
- ss.push(q);
- });
- } else {
- // var table = db.tables[tableid];
- // console.log('table1', db, self);
- //console.log(111, table.columns);
- //console.log(74,table);
- if (Array.isArray(values) && table.columns && table.columns.length > 0) {
- table.columns.forEach(function(col, idx) {
- var q = "'" + col.columnid + "':";
- // var val = values[idx].toJS();
-
- if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(col.dbtypeid) >= 0) {
- q += '+' + values[idx].toJS();
- } else if (alasql.fn[col.dbtypeid]) {
- q += '(new ' + col.dbtypeid + '(';
- q += values[idx].toJS();
- q += '))';
- } else {
- q += values[idx].toJS();
- }
- /*/*
- // if(table.xcolumns && table.xcolumns[col.columnid] &&
- // (table.xcolumns[col.columnid].dbtypeid == "DATE" ||
- // table.xcolumns[col.columnid].dbtypeid == "DATETIME"
- // )) {
- // val = "(new Date("+val+"))";
- // }
- // || table.xcolumns[col.columnid].dbtypeid == "FLOAT"
- // || table.xcolumns[col.columnid].dbtypeid == "NUMBER"
- // || table.xcolumns[col.columnid].dbtypeid == "MONEY"
- // )) q += '+';
- // console.log(self.values[idx].toString());
- //console.log(self);
-// q += val;
-
- // if(table.xcolumns && table.xcolumns[col.columnid] && table.xcolumns[col.columnid].dbtypeid == "INT") q += '|0';
-*/
-
- ss.push(q);
- /*/*
- // console.log(fld);
- // TODO: type checking and conversions
- // rec[fld.fldid] = eval(self.insertExpression[idx].toJS('',''));
- // console.log(rec[fld.fldid]);
- // if(rec[fld.fldid] == "NULL") rec[fld.fldid] = undefined;
-
- // if(table.xflds[fld.fldid].dbtypeid == "INT") rec[fld.fldid] = +rec[fld.fldid]|0;
- // else if(table.xflds[fld.fldid].dbtypeid == "FLOAT" || table.xflds[fld.fldid].dbtypeid == "MONEY" )
- // rec[fld.fldid] = +rec[fld.fldid];
-*/
- });
- } else {
- // console.log(222,values);
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
- sw = JSONtoJS(values);
- }
- }
- //console.log(ss);
-
- if (db.tables[tableid].defaultfns) {
- ss.unshift(db.tables[tableid].defaultfns);
- }
- if (sw) {
- s += 'a=' + sw + ';';
- } else {
- s += 'a={' + ss.join(',') + '};';
- }
-
- // If this is a class
- if (db.tables[tableid].isclass) {
- s += "var db=alasql.databases['" + databaseid + "'];";
- s += 'a.$class="' + tableid + '";';
- s += 'a.$id=db.counter++;';
- s += 'db.objects[a.$id]=a;';
- }
- // s += 'db.tables[\''+tableid+'\'].insert(r);';
- if (db.tables[tableid].insert) {
- s += "var db=alasql.databases['" + databaseid + "'];";
- s +=
- "db.tables['" +
- tableid +
- "'].insert(a," +
- (self.orreplace ? 'true' : 'false') +
- ');';
- } else {
- s += 'aa.push(a);';
- }
- });
-
- s33 = s3 + s;
-
- if (db.tables[tableid].insert) {
- // s += 'alasql.databases[\''+databaseid+'\'].tables[\''+tableid+'\'].insert(r);';
- } else {
- s +=
- "alasql.databases['" +
- databaseid +
- "'].tables['" +
- tableid +
- "'].data=" +
- "alasql.databases['" +
- databaseid +
- "'].tables['" +
- tableid +
- "'].data.concat(aa);";
- }
-
- if (db.tables[tableid].insert) {
- if (db.tables[tableid].isclass) {
- s += 'return a.$id;';
- } else {
- s += 'return ' + self.values.length;
- }
- } else {
- s += 'return ' + self.values.length;
- }
-
- //console.log(186,s3+s);
- var insertfn = new Function('db, params, alasql', 'var y;' + s3 + s).bind(this);
-
- // INSERT INTO table SELECT
- } else if (this.select) {
- this.select.modifier = 'RECORDSET';
- var selectfn = this.select.compile(databaseid);
- if (db.engineid && alasql.engines[db.engineid].intoTable) {
- var statement = function(params, cb) {
- var aa = selectfn(params);
- var res = alasql.engines[db.engineid].intoTable(
- db.databaseid,
- tableid,
- aa.data,
- null,
- cb
- );
- return res;
- };
- return statement;
- } else {
- // console.log(224,table.defaultfns);
- var defaultfns = 'return alasql.utils.extend(r,{' + table.defaultfns + '})';
- var defaultfn = new Function('r,db,params,alasql', defaultfns);
- var insertfn = function(db, params, alasql) {
- var res = selectfn(params).data;
- if (db.tables[tableid].insert) {
- // If insert() function exists (issue #92)
- for (var i = 0, ilen = res.length; i < ilen; i++) {
- var r = cloneDeep(res[i]);
- defaultfn(r, db, params, alasql);
- db.tables[tableid].insert(r, self.orreplace);
- }
- } else {
- db.tables[tableid].data = db.tables[tableid].data.concat(res);
- }
- if (alasql.options.nocount) return;
- else return res.length;
- };
- }
- } else if (this.default) {
- var insertfns =
- "db.tables['" + tableid + "'].data.push({" + table.defaultfns + '});return 1;';
- var insertfn = new Function('db,params,alasql', insertfns);
- } else {
- throw new Error('Wrong INSERT parameters');
- }
-
- // console.log(1,s);
- // console.log(s33);
-
- if (db.engineid && alasql.engines[db.engineid].intoTable && alasql.options.autocommit) {
- var statement = function(params, cb) {
- var aa = new Function('db,params', 'var y;' + s33 + 'return aa;')(db, params);
- // console.log(s33);
- var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa, null, cb);
- // if(cb) cb(res);
- return res;
- };
- } else {
- var statement = function(params, cb) {
- //console.log(databaseid);
- var db = alasql.databases[databaseid];
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].loadTableData(databaseid, tableid);
- }
-
- var res = insertfn(db, params, alasql);
-
- if (alasql.options.autocommit && db.engineid) {
- alasql.engines[db.engineid].saveTableData(databaseid, tableid);
- }
- // var res = insertfn(db, params);
- if (alasql.options.nocount) res = undefined;
- if (cb) cb(res);
- return res;
- };
- }
-
- return statement;
-};
-
-yy.Insert.prototype.execute = function(databaseid, params, cb) {
- return this.compile(databaseid)(params, cb);
- // throw new Error('Insert statement is should be compiled')
-};
diff --git a/src/76usedatabase.js b/src/76usedatabase.js
deleted file mode 100755
index 9eae4dce87..0000000000
--- a/src/76usedatabase.js
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
-//
-// UPDATE for Alasql.js
-// Date: 03.11.2014
-// Modified: 16.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-/* global yy alasql */
-
-// CREATE DATABASE databaseid
-yy.CreateDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.CreateDatabase.prototype.toString = function() {
- var s = 'CREATE';
- if (this.engineid) s += ' ' + this.engineid;
- s += ' DATABASE';
- if (this.ifnotexists) s += ' IF NOT EXISTS';
- s += ' ' + this.databaseid;
- if (this.args && this.args.length > 0) {
- s +=
- '(' +
- this.args
- .map(function(arg) {
- return arg.toString();
- })
- .join(', ') +
- ')';
- }
- if (this.as) s += ' AS ' + this.as;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.CreateDatabase.prototype.execute = function(databaseid, params, cb) {
- var args;
- if (this.args && this.args.length > 0) {
- args = this.args.map(function(arg) {
- // console.log(346235, arg.toJS());
- return new Function('params,alasql', 'var y;return ' + arg.toJS())(params, alasql);
- });
- }
- if (this.engineid) {
- var res = alasql.engines[this.engineid].createDatabase(
- this.databaseid,
- this.args,
- this.ifnotexists,
- this.as,
- cb
- );
- return res;
- } else {
- var dbid = this.databaseid;
- if (alasql.databases[dbid]) {
- throw new Error("Database '" + dbid + "' already exists");
- }
- var a = new alasql.Database(dbid);
- var res = 1;
- if (cb) return cb(res);
- return res;
- }
-};
-
-// CREATE DATABASE databaseid
-yy.AttachDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.AttachDatabase.prototype.toString = function(args) {
- var s = 'ATTACH';
- if (this.engineid) s += ' ' + this.engineid;
- s += ' DATABASE' + ' ' + this.databaseid;
- // TODO add params
- if (args) {
- s += '(';
- if (args.length > 0) {
- s += args
- .map(function(arg) {
- return arg.toString();
- })
- .join(', ');
- }
- s += ')';
- }
- if (this.as) s += ' AS' + ' ' + this.as;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.AttachDatabase.prototype.execute = function(databaseid, params, cb) {
- if (!alasql.engines[this.engineid]) {
- throw new Error('Engine "' + this.engineid + '" is not defined.');
- }
- var res = alasql.engines[this.engineid].attachDatabase(
- this.databaseid,
- this.as,
- this.args,
- params,
- cb
- );
- return res;
-};
-
-// CREATE DATABASE databaseid
-yy.DetachDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.DetachDatabase.prototype.toString = function() {
- var s = 'DETACH';
- s += ' DATABASE' + ' ' + this.databaseid;
- return s;
-};
-//yy.CreateDatabase.prototype.compile = returnUndefined;
-yy.DetachDatabase.prototype.execute = function(databaseid, params, cb) {
- if (!alasql.databases[this.databaseid].engineid) {
- throw new Error(
- 'Cannot detach database "' + this.engineid + '", because it was not attached.'
- );
- }
- var res;
-
- var dbid = this.databaseid;
-
- if (dbid === alasql.DEFAULTDATABASEID) {
- throw new Error('Drop of default database is prohibited');
- }
-
- if (!alasql.databases[dbid]) {
- if (!this.ifexists) {
- throw new Error("Database '" + dbid + "' does not exist");
- } else {
- res = 0;
- }
- } else {
- delete alasql.databases[dbid];
- if (dbid === alasql.useid) {
- alasql.use();
- }
- res = 1;
- }
- if (cb) cb(res);
- return res;
- // var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, cb);
- // return res;
-};
-
-// USE DATABSE databaseid
-// USE databaseid
-yy.UseDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.UseDatabase.prototype.toString = function() {
- return 'USE' + ' ' + 'DATABASE' + ' ' + this.databaseid;
-};
-//yy.UseDatabase.prototype.compile = returnUndefined;
-yy.UseDatabase.prototype.execute = function(databaseid, params, cb) {
- var dbid = this.databaseid;
- if (!alasql.databases[dbid]) {
- throw new Error("Database '" + dbid + "' does not exist");
- }
- alasql.use(dbid);
- var res = 1;
- if (cb) cb(res);
- return res;
-};
-
-// DROP DATABASE databaseid
-yy.DropDatabase = function(params) {
- return yy.extend(this, params);
-};
-yy.DropDatabase.prototype.toString = function() {
- var s = 'DROP';
- if (this.ifexists) s += ' IF EXISTS';
- s += ' DATABASE ' + this.databaseid;
- return s;
-};
-//yy.DropDatabase.prototype.compile = returnUndefined;
-yy.DropDatabase.prototype.execute = function(databaseid, params, cb) {
- if (this.engineid) {
- return alasql.engines[this.engineid].dropDatabase(this.databaseid, this.ifexists, cb);
- }
- var res;
-
- var dbid = this.databaseid;
-
- if (dbid === alasql.DEFAULTDATABASEID) {
- throw new Error('Drop of default database is prohibited');
- }
- if (!alasql.databases[dbid]) {
- if (!this.ifexists) {
- throw new Error("Database '" + dbid + "' does not exist");
- } else {
- res = 0;
- }
- } else {
- if (alasql.databases[dbid].engineid) {
- throw new Error(
- "Cannot drop database '" + dbid + "', because it is attached. Detach it."
- );
- }
-
- delete alasql.databases[dbid];
- if (dbid === alasql.useid) {
- alasql.use();
- }
- res = 1;
- }
- if (cb) cb(res);
- return res;
-};
diff --git a/src/823postgres.js b/src/823postgres.js
deleted file mode 100755
index 999162e301..0000000000
--- a/src/823postgres.js
+++ /dev/null
@@ -1,2 +0,0 @@
-if (alasql.options.postgres) {
-}
diff --git a/src/824oracle.js b/src/824oracle.js
deleted file mode 100755
index d692981265..0000000000
--- a/src/824oracle.js
+++ /dev/null
@@ -1,2 +0,0 @@
-if (alasql.options.oracle) {
-}
diff --git a/src/825sqlite.js b/src/825sqlite.js
deleted file mode 100755
index e900edf20b..0000000000
--- a/src/825sqlite.js
+++ /dev/null
@@ -1,2 +0,0 @@
-if (alasql.options.sqlite) {
-}
diff --git a/src/826orientdb.js b/src/826orientdb.js
deleted file mode 100755
index 22594fffa0..0000000000
--- a/src/826orientdb.js
+++ /dev/null
@@ -1,2 +0,0 @@
-if (alasql.options.orientdb) {
-}
diff --git a/src/97saveas.js b/src/97saveas.js
deleted file mode 100755
index 4d8c35cc28..0000000000
--- a/src/97saveas.js
+++ /dev/null
@@ -1 +0,0 @@
-if(utils.isBrowser && !utils.isWebWorker) {
diff --git a/src/98finish.js b/src/98finish.js
deleted file mode 100755
index 2f3157bc9b..0000000000
--- a/src/98finish.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/* eslint-disable */
-
-/*
-//
-// Last part of Alasql.js
-// Date: 03.11.2014
-// (c) 2014, Andrey Gershun
-//
-*/
-
-// This is a final part of Alasql
-
-
-/*only-for-browser/*
-if(utils.isCordova || utils.isMeteorServer || utils.isNode ){
- console.warn('It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead.')
-}
-//*/
-
-
-// FileSaveAs
-alasql.utils.saveAs = saveAs;
-
-};
-
-// Create default database
-new Database("alasql");
-
-// Set default database
-alasql.use("alasql");
-
-return alasql;
-}));
-
diff --git a/src/alasqlObj.ts b/src/alasqlObj.ts
new file mode 100755
index 0000000000..fde129efab
--- /dev/null
+++ b/src/alasqlObj.ts
@@ -0,0 +1,86 @@
+/**
+ AlaSQL - Main Alasql class
+ @function
+ @param {string|function|object} sql - SQL-statement or data object for fuent interface
+ @param {object} params - SQL parameters
+ @param {function} cb - callback function
+ @param {object} scope - Scope for nested queries
+ @return {any} - Result data object
+
+ @example
+ Standard sync call:
+ alasql('CREATE TABLE one');
+ Query:
+ var res = alasql('SELECT * FROM one');
+ Call with parameters:
+ var res = alasql('SELECT * FROM ?',[data]);
+ Standard async call with callback function:
+ alasql('SELECT * FROM ?',[data],function(res){
+ console.log(data);
+ });
+ Call with scope for subquery (to pass common values):
+ var scope = {one:{a:2,b;20}}
+ alasql('SELECT * FROM ? two WHERE two.a = one.a',[data],null,scope);
+ Call for fluent interface with data object:
+ alasql(data).Where(function(x){return x.a == 10}).exec();
+ Call for fluent interface without data object:
+ alasql().From(data).Where(function(x){return x.a == 10}).exec();
+ */
+
+export default function logic(mem) {
+ let yy = mem.grammar.yy;
+
+ return function(sql?: any, params?: any, cb?: any, scope?: string) {
+ params = params || [];
+
+ if (typeof importScripts !== 'function' && mem.alasql.webworker) {
+ var id = mem.alasql.lastid++;
+ mem.alasql.buffer[id] = cb;
+ mem.alasql.webworker.postMessage({id, sql, params});
+ return;
+ }
+
+ if (arguments.length === 0) {
+ // Without arguments - Fluent interface
+ return new yy.Select({
+ columns: [new yy.Column({columnid: '*'})],
+ from: [new yy.ParamValue({param: 0})],
+ });
+ } else if (arguments.length === 1) {
+ // Access promise notation without using `.promise(...)`
+ if (sql.constructor === Array) {
+ return mem.alasql.promise(sql);
+ }
+ }
+ // Avoid setting params if not needed even with callback
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = [];
+ }
+
+ if (typeof params !== 'object') {
+ params = [params];
+ }
+
+ // Standard interface
+ // alasql('#sql');
+
+ /*only-for-browser/*
+ if (typeof sql === 'string' && sql[0] === '#' && typeof document === 'object') {
+ sql = document.querySelector(sql).textContent;
+ } else if (typeof sql === 'object' && sql instanceof HTMLElement) {
+ sql = sql.textContent;
+ } else //*/
+ if (typeof sql === 'function') {
+ // to run multiline functions
+ sql = sql.toString();
+ sql = (/\/\*([\S\s]+)\*\//m.exec(sql) || [
+ '',
+ 'Function given as SQL. Plese Provide SQL string or have a /* ... */ syle comment with SQL in the function.',
+ ])[1];
+ }
+ // Run SQL
+ return mem.alasql.exec(sql, params, cb, scope);
+ };
+}
diff --git a/src/alasqlparser.jison b/src/alasqlparser.jison
index d37804d054..e214cbfeb3 100755
--- a/src/alasqlparser.jison
+++ b/src/alasqlparser.jison
@@ -348,8 +348,7 @@ SETS return 'SET'
Literal
: LITERAL
{
- if (alasql.options.casesensitive) $$ = $1;
- else $$ = $1.toLowerCase();
+ $$ = yy.casesensitive ? $1 : $1.toLowerCase() ;
}
| BRALITERAL
{ $$ = doubleq($1.substr(1,$1.length-2)); }
@@ -1362,7 +1361,7 @@ FuncValue
var exprlist = $4;
if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
$$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- } else if(alasql.aggr[$1]) {
+ } else if(yy.isInAggr($1)) {
$$ = new yy.AggrValue({aggregatorid: 'REDUCE',
funcid: funcid, expression: exprlist.pop(),distinct:($3=='DISTINCT') });
} else {
diff --git a/src/alasqlparser.js b/src/alasqlparser.js
old mode 100755
new mode 100644
index b63f826403..bfe1415704
--- a/src/alasqlparser.js
+++ b/src/alasqlparser.js
@@ -84,9 +84,8 @@ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* actio
var $0 = $$.length - 1;
switch (yystate) {
case 1:
-
- if (alasql.options.casesensitive) this.$ = $$[$0];
- else this.$ = $$[$0].toLowerCase();
+
+ this.$ = yy.casesensitive ? $$[$0] : $$[$0].toLowerCase() ;
break;
case 2:
@@ -117,14 +116,14 @@ case 11:
this.$ = $$[$0]; $$[$0].explain = true;
break;
case 12:
-
- this.$ = $$[$0];
-
- // TODO combine exists and queries
- if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
+
+ this.$ = $$[$0];
+
+ // TODO combine exists and queries
+ if(yy.exists) this.$.exists = yy.exists;
+ delete yy.exists;
+ if(yy.queries) this.$.queries = yy.queries;
+ delete yy.queries;
break;
case 13: case 162: case 172: case 237: case 238: case 240: case 248: case 250: case 259: case 267: case 270: case 375: case 491: case 501: case 503: case 515: case 521: case 522: case 567:
@@ -140,21 +139,21 @@ case 71:
this.$ = {name:$$[$0-4], select:$$[$0-1]};
break;
case 72:
-
- yy.extend(this.$,$$[$0-9]); yy.extend(this.$,$$[$0-8]); yy.extend(this.$,$$[$0-7]); yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-5]); yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
- this.$ = $$[$0-9];
-/* if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
+
+ yy.extend(this.$,$$[$0-9]); yy.extend(this.$,$$[$0-8]); yy.extend(this.$,$$[$0-7]); yy.extend(this.$,$$[$0-6]);
+ yy.extend(this.$,$$[$0-5]); yy.extend(this.$,$$[$0-4]);yy.extend(this.$,$$[$0-3]);
+ yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
+ this.$ = $$[$0-9];
+/* if(yy.exists) this.$.exists = yy.exists;
+ delete yy.exists;
+ if(yy.queries) this.$.queries = yy.queries;
+ delete yy.queries;
*/
break;
case 73:
-
- this.$ = new yy.Search({selectors:$$[$0-2], from:$$[$0]});
- yy.extend(this.$,$$[$0-1]);
+
+ this.$ = new yy.Search({selectors:$$[$0-2], from:$$[$0]});
+ yy.extend(this.$,$$[$0-1]);
break;
case 74:
@@ -191,10 +190,10 @@ case 91:
this.$ = {srchid:"ORDERBY", args: $$[$0-1]};
break;
case 92:
-
- var dir = $$[$0-1];
- if(!dir) dir = 'ASC';
- this.$ = {srchid:"ORDERBY", args: [{expression: new yy.Column({columnid:'_'}), direction:dir}]};
+
+ var dir = $$[$0-1];
+ if(!dir) dir = 'ASC';
+ this.$ = {srchid:"ORDERBY", args: [{expression: new yy.Column({columnid:'_'}), direction:dir}]};
break;
case 93:
@@ -360,12 +359,12 @@ case 150:
this.$ = new yy.Select({ columns:$$[$0], all:true }); yy.extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]);
break;
case 151:
-
- if(!$$[$0]) {
- this.$ = new yy.Select({columns:[new yy.Column({columnid:'_',})], modifier:'COLUMN'});
- } else {
- this.$ = new yy.Select({ columns:$$[$0] }); yy.extend(this.$, $$[$0-2]);yy.extend(this.$, $$[$0-1]);
- }
+
+ if(!$$[$0]) {
+ this.$ = new yy.Select({columns:[new yy.Column({columnid:'_',})], modifier:'COLUMN'});
+ } else {
+ this.$ = new yy.Select({ columns:$$[$0] }); yy.extend(this.$, $$[$0-2]);yy.extend(this.$, $$[$0-1]);
+ }
break;
case 152:
@@ -405,18 +404,18 @@ case 164: case 165: case 166: case 167:
this.$ = {into: $$[$0]}
break;
case 168:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- if(s[0] == '#') {
- this.$ = {into: new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- this.$ = {into: new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x4=='XLSX' || x4 == 'JSON') {
- this.$ = {into: new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- }
+
+ var s = $$[$0];
+ s = s.substr(1,s.length-2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ if(s[0] == '#') {
+ this.$ = {into: new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
+ } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
+ this.$ = {into: new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
+ } else if(x4=='XLSX' || x4 == 'JSON') {
+ this.$ = {into: new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
+ }
break;
case 169:
@@ -474,34 +473,34 @@ case 189: case 190: case 194: case 197:
this.$ = $$[$0]; $$[$0].as = 'default';
break;
case 193:
- this.$ = {inserted:true}; /*$$[$0].as = 'default'*/;
+ this.$ = {inserted:true}; $$[$0].as = 'default';
break;
case 200:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- var r;
- if(s[0] == '#') {
- r = new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- r = new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x4=='XLSX' || x4 == 'JSON') {
- r = new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else {
- throw new Error('Unknown string in FROM clause');
- };
- this.$ = r;
+
+ var s = $$[$0];
+ s = s.substr(1,s.length-2);
+ var x3 = s.substr(-3).toUpperCase();
+ var x4 = s.substr(-4).toUpperCase();
+ var r;
+ if(s[0] == '#') {
+ r = new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
+ } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
+ r = new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
+ } else if(x4=='XLSX' || x4 == 'JSON') {
+ r = new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
+ } else {
+ throw new Error('Unknown string in FROM clause');
+ };
+ this.$ = r;
break;
case 201:
-
- if($$[$0-2] == 'INFORMATION_SCHEMA') {
- this.$ = new yy.FuncValue({funcid: $$[$0-2], args:[new yy.StringValue({value:$$[$0]})]});
- } else {
- this.$ = new yy.Table({databaseid: $$[$0-2], tableid:$$[$0]});
- }
+
+ if($$[$0-2] == 'INFORMATION_SCHEMA') {
+ this.$ = new yy.FuncValue({funcid: $$[$0-2], args:[new yy.StringValue({value:$$[$0]})]});
+ } else {
+ this.$ = new yy.Table({databaseid: $$[$0-2], tableid:$$[$0]});
+ }
break;
case 202:
@@ -691,11 +690,11 @@ case 303:
this.$ = new yy.Json({value:$$[$0]});
break;
case 306: case 307: case 308:
-
- if(!yy.queries) yy.queries = [];
- yy.queries.push($$[$0-1]);
- $$[$0-1].queriesidx = yy.queries.length;
- this.$ = $$[$0-1];
+
+ if(!yy.queries) yy.queries = [];
+ yy.queries.push($$[$0-1]);
+ $$[$0-1].queriesidx = yy.queries.length;
+ this.$ = $$[$0-1];
break;
case 309:
@@ -735,19 +734,19 @@ case 326:
this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});
break;
case 327:
-
- if($$[$0-2].length > 1 && ($$[$0-4].toUpperCase() == 'MAX' || $$[$0-4].toUpperCase() == 'MIN')) {
- this.$ = new yy.FuncValue({funcid:$$[$0-4],args:$$[$0-2]});
- } else {
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-4].toUpperCase(), expression: $$[$0-2].pop(), over:$$[$0]});
- }
+
+ if($$[$0-2].length > 1 && ($$[$0-4].toUpperCase() == 'MAX' || $$[$0-4].toUpperCase() == 'MIN')) {
+ this.$ = new yy.FuncValue({funcid:$$[$0-4],args:$$[$0-2]});
+ } else {
+ this.$ = new yy.AggrValue({aggregatorid: $$[$0-4].toUpperCase(), expression: $$[$0-2].pop(), over:$$[$0]});
+ }
break;
case 328:
this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2], distinct:true, over:$$[$0]});
break;
case 329:
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2],
+ this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2],
over:$$[$0]});
break;
case 331: case 332:
@@ -790,17 +789,17 @@ case 344:
this.$ = "ARRAY";
break;
case 345:
-
- var funcid = $$[$0-4];
- var exprlist = $$[$0-1];
- if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- } else if(alasql.aggr[$$[$0-4]]) {
- this.$ = new yy.AggrValue({aggregatorid: 'REDUCE',
- funcid: funcid, expression: exprlist.pop(),distinct:($$[$0-2]=='DISTINCT') });
- } else {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- };
+
+ var funcid = $$[$0-4];
+ var exprlist = $$[$0-1];
+ if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
+ this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
+ } else if(yy.isInAggr($$[$0-4])) {
+ this.$ = new yy.AggrValue({aggregatorid: 'REDUCE',
+ funcid: funcid, expression: exprlist.pop(),distinct:($$[$0-2]=='DISTINCT') });
+ } else {
+ this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
+ };
break;
case 346:
@@ -852,10 +851,10 @@ case 362:
this.$ = new yy.VarValue({variable:$$[$0]});
break;
case 363:
-
- if(!yy.exists) yy.exists = [];
- this.$ = new yy.ExistsValue({value:$$[$0-1], existsidx:yy.exists.length});
- yy.exists.push($$[$0-1]);
+
+ if(!yy.exists) yy.exists = [];
+ this.$ = new yy.ExistsValue({value:$$[$0-1], existsidx:yy.exists.length});
+ yy.exists.push($$[$0-1]);
break;
case 364:
@@ -865,15 +864,15 @@ case 365: case 366:
this.$ = new yy.ParamValue({param: $$[$0]});
break;
case 367:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++});
+
+ if(typeof yy.question == 'undefined') yy.question = 0;
+ this.$ = new yy.ParamValue({param: yy.question++});
break;
case 368:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++, array:true});
+
+ if(typeof yy.question == 'undefined') yy.question = 0;
+ this.$ = new yy.ParamValue({param: yy.question++, array:true});
break;
case 369:
@@ -982,46 +981,46 @@ case 411:
this.$ = new yy.Op({left:$$[$0-2], op:'!===' , right:$$[$0]});
break;
case 412:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
+
+ if(!yy.queries) yy.queries = [];
+ this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1], queriesidx: yy.queries.length});
+ yy.queries.push($$[$0-1]);
break;
case 413:
-
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1]});
+
+ this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1]});
break;
case 414:
-
- if($$[$0-2].op == 'BETWEEN1') {
-
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
-
- } else if($$[$0-2].op == 'NOT BETWEEN1') {
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
- } else {
- this.$ = new yy.Op({left:$$[$0-2], op:'AND', right:$$[$0]});
- }
-
-
+
+ if($$[$0-2].op == 'BETWEEN1') {
+
+ if($$[$0-2].left.op == 'AND') {
+ this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
+ new yy.Op({left:$$[$0-2].left.right, op:'BETWEEN',
+ right1:$$[$0-2].right, right2:$$[$0]})
+ });
+ } else {
+ this.$ = new yy.Op({left:$$[$0-2].left, op:'BETWEEN',
+ right1:$$[$0-2].right, right2:$$[$0]});
+ }
+
+ } else if($$[$0-2].op == 'NOT BETWEEN1') {
+ if($$[$0-2].left.op == 'AND') {
+ this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
+ new yy.Op({left:$$[$0-2].left.right, op:'NOT BETWEEN',
+ right1:$$[$0-2].right, right2:$$[$0]})
+ });
+ } else {
+ this.$ = new yy.Op({left:$$[$0-2].left, op:'NOT BETWEEN',
+ right1:$$[$0-2].right, right2:$$[$0]});
+ }
+ } else {
+ this.$ = new yy.Op({left:$$[$0-2], op:'AND', right:$$[$0]});
+ }
+
+
break;
case 415:
@@ -1046,17 +1045,17 @@ case 421:
this.$ = new yy.UniOp({right: $$[$0-1]});
break;
case 422:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
+
+ if(!yy.queries) yy.queries = [];
+ this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1], queriesidx: yy.queries.length});
+ yy.queries.push($$[$0-1]);
break;
case 423:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
+
+ if(!yy.queries) yy.queries = [];
+ this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1], queriesidx: yy.queries.length});
+ yy.queries.push($$[$0-1]);
break;
case 424:
@@ -1078,39 +1077,39 @@ case 429: case 431:
this.$ = new yy.Op({left: $$[$0-3], op:'NOT IN', right:$$[$0]});
break;
case 432:
-
-/* var expr = $$[$0];
- if(expr.left && expr.left.op == 'AND') {
- this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
- } else {
-*/
- this.$ = new yy.Op({left:$$[$0-2], op:'BETWEEN1', right:$$[$0] });
-// }
+
+/* var expr = $$[$0];
+ if(expr.left && expr.left.op == 'AND') {
+ this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
+ } else {
+*/
+ this.$ = new yy.Op({left:$$[$0-2], op:'BETWEEN1', right:$$[$0] });
+// }
break;
case 433:
-
-// var expr = $$[$0];
-// if(expr.left && expr.left.op == 'AND') {
-// this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'NOT BETWEEN', right:expr.left}), op:'AND', right:expr.right });
-// } else {
- this.$ = new yy.Op({left:$$[$0-2], op:'NOT BETWEEN1', right:$$[$0] });
-// }
+
+// var expr = $$[$0];
+// if(expr.left && expr.left.op == 'AND') {
+// this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'NOT BETWEEN', right:expr.left}), op:'AND', right:expr.right });
+// } else {
+ this.$ = new yy.Op({left:$$[$0-2], op:'NOT BETWEEN1', right:$$[$0] });
+// }
break;
case 434:
this.$ = new yy.Op({op:'IS' , left:$$[$0-2], right:$$[$0]});
break;
case 435:
-
- this.$ = new yy.Op({
- op:'IS',
- left:$$[$0-2],
- right: new yy.UniOp({
- op:'NOT',
- right:new yy.NullValue({value:undefined})
- })
- });
+
+ this.$ = new yy.Op({
+ op:'IS',
+ left:$$[$0-2],
+ right: new yy.UniOp({
+ op:'NOT',
+ right:new yy.NullValue({value:undefined})
+ })
+ });
break;
case 436:
@@ -1189,21 +1188,21 @@ case 477: case 478: case 480: case 488:
this.$ = $$[$0-2]; $$[$0-2].push($$[$0])
break;
case 489:
-
- this.$ = new yy.CreateTable({table:$$[$0-4]});
- yy.extend(this.$,$$[$0-7]);
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-5]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0]);
+
+ this.$ = new yy.CreateTable({table:$$[$0-4]});
+ yy.extend(this.$,$$[$0-7]);
+ yy.extend(this.$,$$[$0-6]);
+ yy.extend(this.$,$$[$0-5]);
+ yy.extend(this.$,$$[$0-2]);
+ yy.extend(this.$,$$[$0]);
break;
case 490:
-
- this.$ = new yy.CreateTable({table:$$[$0]});
- yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0-1]);
+
+ this.$ = new yy.CreateTable({table:$$[$0]});
+ yy.extend(this.$,$$[$0-3]);
+ yy.extend(this.$,$$[$0-2]);
+ yy.extend(this.$,$$[$0-1]);
break;
case 492:
@@ -1240,8 +1239,8 @@ case 519:
this.$ = {type: 'FOREIGN KEY', columns: $$[$0-5], fktable: $$[$0-2], fkcolumns: $$[$0-1]};
break;
case 525:
-
- this.$ = {type: 'UNIQUE', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
+
+ this.$ = {type: 'UNIQUE', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
break;
case 534:
@@ -1275,8 +1274,8 @@ case 545:
this.$ = undefined
break;
case 547:
-
- yy.extend($$[$0-1],$$[$0]); this.$ = $$[$0-1];
+
+ yy.extend($$[$0-1],$$[$0]); this.$ = $$[$0-1];
break;
case 550:
@@ -1364,7 +1363,7 @@ case 582:
this.$ = new yy.CreateDatabase({engineid:$$[$0-7].toUpperCase(), databaseid:$$[$0-4], args:$$[$0-2], as:$$[$0] }); yy.extend(this.$,$$[$0-5]);
break;
case 583:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),
+ this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),
as:$$[$0], args:[$$[$0-1]] }); yy.extend(this.$,$$[$0-2]);
break;
case 584:
@@ -1431,17 +1430,17 @@ case 607:
this.$ = new yy.ShowCreateTable({table: $$[$0-2], databaseid:$$[$0]});
break;
case 608:
-
- this.$ = new yy.CreateTable({table:$$[$0-6],view:true,select:$$[$0-1],viewcolumns:$$[$0-4]});
- yy.extend(this.$,$$[$0-9]);
- yy.extend(this.$,$$[$0-7]);
+
+ this.$ = new yy.CreateTable({table:$$[$0-6],view:true,select:$$[$0-1],viewcolumns:$$[$0-4]});
+ yy.extend(this.$,$$[$0-9]);
+ yy.extend(this.$,$$[$0-7]);
break;
case 609:
-
- this.$ = new yy.CreateTable({table:$$[$0-3],view:true,select:$$[$0-1]});
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-4]);
+
+ this.$ = new yy.CreateTable({table:$$[$0-3],view:true,select:$$[$0-1]});
+ yy.extend(this.$,$$[$0-6]);
+ yy.extend(this.$,$$[$0-4]);
break;
case 613:
@@ -1529,25 +1528,25 @@ case 667:
this.$ = new yy.BeginTransaction();
break;
case 668:
- this.$ = new yy.If({expression:$$[$0-2],thenstat:$$[$0-1], elsestat:$$[$0]});
- if($$[$0-1].exists) this.$.exists = $$[$0-1].exists;
- if($$[$0-1].queries) this.$.queries = $$[$0-1].queries;
+ this.$ = new yy.If({expression:$$[$0-2],thenstat:$$[$0-1], elsestat:$$[$0]});
+ if($$[$0-1].exists) this.$.exists = $$[$0-1].exists;
+ if($$[$0-1].queries) this.$.queries = $$[$0-1].queries;
break;
case 669:
-
- this.$ = new yy.If({expression:$$[$0-1],thenstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
+
+ this.$ = new yy.If({expression:$$[$0-1],thenstat:$$[$0]});
+ if($$[$0].exists) this.$.exists = $$[$0].exists;
+ if($$[$0].queries) this.$.queries = $$[$0].queries;
break;
case 670:
this.$ = $$[$0];
break;
case 671:
- this.$ = new yy.While({expression:$$[$0-1],loopstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
+ this.$ = new yy.While({expression:$$[$0-1],loopstat:$$[$0]});
+ if($$[$0].exists) this.$.exists = $$[$0].exists;
+ if($$[$0].queries) this.$.queries = $$[$0].queries;
break;
case 672:
@@ -1596,10 +1595,10 @@ case 693:
this.$ = new yy.TruncateTable({table:$$[$0]});
break;
case 694:
-
- this.$ = new yy.Merge(); yy.extend(this.$,$$[$0-4]); yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,{matches:$$[$0-1]});yy.extend(this.$,$$[$0]);
+
+ this.$ = new yy.Merge(); yy.extend(this.$,$$[$0-4]); yy.extend(this.$,$$[$0-3]);
+ yy.extend(this.$,$$[$0-2]);
+ yy.extend(this.$,{matches:$$[$0-1]});yy.extend(this.$,$$[$0]);
break;
case 695: case 696:
@@ -1657,9 +1656,9 @@ case 721:
this.$ = {output:{columns:$$[$0-5], intotable: $$[$0-3], intocolumns:$$[$0-1]}}
break;
case 722:
-
- this.$ = new yy.CreateVertex({class:$$[$0-3],sharp:$$[$0-2], name:$$[$0-1]});
- yy.extend(this.$,$$[$0]);
+
+ this.$ = new yy.CreateVertex({class:$$[$0-3],sharp:$$[$0-2], name:$$[$0-1]});
+ yy.extend(this.$,$$[$0]);
break;
case 725:
@@ -1672,9 +1671,9 @@ case 727:
this.$ = {select:$$[$0]};
break;
case 728:
-
- this.$ = new yy.CreateEdge({from:$$[$0-3],to:$$[$0-1],name:$$[$0-5]});
- yy.extend(this.$,$$[$0]);
+
+ this.$ = new yy.CreateEdge({from:$$[$0-3],to:$$[$0-1],name:$$[$0-5]});
+ yy.extend(this.$,$$[$0]);
break;
case 729:
@@ -1684,56 +1683,56 @@ case 730:
this.$ = new yy.CreateGraph({from:$$[$0]});
break;
case 733:
-
- this.$ = $$[$0-2];
- if($$[$0-1]) this.$.json = new yy.Json({value:$$[$0-1]});
- if($$[$0]) this.$.as = $$[$0];
+
+ this.$ = $$[$0-2];
+ if($$[$0-1]) this.$.json = new yy.Json({value:$$[$0-1]});
+ if($$[$0]) this.$.as = $$[$0];
break;
case 734:
-
- this.$ = {source:$$[$0-6], target: $$[$0]};
- if($$[$0-3]) this.$.json = new yy.Json({value:$$[$0-3]});
- if($$[$0-2]) this.$.as = $$[$0-2];
- yy.extend(this.$,$$[$0-4]);
+
+ this.$ = {source:$$[$0-6], target: $$[$0]};
+ if($$[$0-3]) this.$.json = new yy.Json({value:$$[$0-3]});
+ if($$[$0-2]) this.$.as = $$[$0-2];
+ yy.extend(this.$,$$[$0-4]);
break;
case 735:
-
- this.$ = {source:$$[$0-5], target: $$[$0]};
- if($$[$0-2]) this.$.json = new yy.Json({value:$$[$0-3]});
- if($$[$0-1]) this.$.as = $$[$0-2];
+
+ this.$ = {source:$$[$0-5], target: $$[$0]};
+ if($$[$0-2]) this.$.json = new yy.Json({value:$$[$0-3]});
+ if($$[$0-1]) this.$.as = $$[$0-2];
break;
case 736:
-
- this.$ = {source:$$[$0-2], target: $$[$0]};
+
+ this.$ = {source:$$[$0-2], target: $$[$0]};
break;
case 740:
this.$ = {vars:$$[$0], method:$$[$0-1]};
break;
case 743: case 744:
-
- var s3 = $$[$0-1];
- this.$ = {prop:$$[$0-3], sharp:$$[$0-2], name:(typeof s3 == 'undefined')?undefined:s3.substr(1,s3.length-2), class:$$[$0]};
+
+ var s3 = $$[$0-1];
+ this.$ = {prop:$$[$0-3], sharp:$$[$0-2], name:(typeof s3 == 'undefined')?undefined:s3.substr(1,s3.length-2), class:$$[$0]};
break;
case 745:
-
- var s2 = $$[$0-1];
- this.$ = {sharp:$$[$0-2], name:(typeof s2 == 'undefined')?undefined:s2.substr(1,s2.length-2), class:$$[$0]};
+
+ var s2 = $$[$0-1];
+ this.$ = {sharp:$$[$0-2], name:(typeof s2 == 'undefined')?undefined:s2.substr(1,s2.length-2), class:$$[$0]};
break;
case 746:
-
- var s1 = $$[$0-1];
- this.$ = {name:(typeof s1 == 'undefined')?undefined:s1.substr(1,s1.length-2), class:$$[$0]};
+
+ var s1 = $$[$0-1];
+ this.$ = {name:(typeof s1 == 'undefined')?undefined:s1.substr(1,s1.length-2), class:$$[$0]};
break;
case 747:
-
- this.$ = {class:$$[$0]};
+
+ this.$ = {class:$$[$0]};
break;
case 753:
@@ -1749,22 +1748,22 @@ case 758:
this.$ = new yy.Term({termid:$$[$0-3],args:$$[$0-1]});
break;
case 761:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-5], action:$$[$0-4], table:$$[$0-2], statement:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
+
+ this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-5], action:$$[$0-4], table:$$[$0-2], statement:$$[$0]});
+ if($$[$0].exists) this.$.exists = $$[$0].exists;
+ if($$[$0].queries) this.$.queries = $$[$0].queries;
break;
case 762:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-5], when:$$[$0-4], action:$$[$0-3], table:$$[$0-1], funcid:$$[$0]});
+
+ this.$ = new yy.CreateTrigger({trigger:$$[$0-5], when:$$[$0-4], action:$$[$0-3], table:$$[$0-1], funcid:$$[$0]});
break;
case 763:
-
- this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-4], action:$$[$0-3], table:$$[$0-5], statement:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
+
+ this.$ = new yy.CreateTrigger({trigger:$$[$0-6], when:$$[$0-4], action:$$[$0-3], table:$$[$0-5], statement:$$[$0]});
+ if($$[$0].exists) this.$.exists = $$[$0].exists;
+ if($$[$0].queries) this.$.queries = $$[$0].queries;
break;
case 764: case 765: case 767:
@@ -1898,7 +1897,7 @@ _handle_error:
// Return the rule stack depth where the nearest error rule can be found.
// Return FALSE when no error recovery rule was found.
- function locateNearestErrorRecoveryRule(state) {
+ var locateNearestErrorRecoveryRule=function(state) {
var stack_probe = stack.length - 1;
var depth = 0;
@@ -2051,19 +2050,19 @@ _handle_error:
return true;
}};
-
-
-// from https://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
-// JSON.stringify([].slice.call(document.querySelectorAll('tr')).filter(x => x.children.length == 5 && x.children[2].innerText == 'reserved').map(x => x.children[0].innerText))
-
-var nonReserved = ["A","ABSENT","ABSOLUTE","ACCORDING","ACTION","ADA","ADD","ADMIN","AFTER","ALWAYS","ASC","ASSERTION","ASSIGNMENT","ATTRIBUTE","ATTRIBUTES","BASE64","BEFORE","BERNOULLI","BLOCKED","BOM","BREADTH","C","CASCADE","CATALOG","CATALOG_NAME","CHAIN","CHARACTERISTICS","CHARACTERS","CHARACTER_SET_CATALOG","CHARACTER_SET_NAME","CHARACTER_SET_SCHEMA","CLASS_ORIGIN","COBOL","COLLATION","COLLATION_CATALOG","COLLATION_NAME","COLLATION_SCHEMA","COLUMNS","COLUMN_NAME","COMMAND_FUNCTION","COMMAND_FUNCTION_CODE","COMMITTED","CONDITION_NUMBER","CONNECTION","CONNECTION_NAME","CONSTRAINTS","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONSTRUCTOR","CONTENT","CONTINUE","CONTROL","CURSOR_NAME","DATA","DATETIME_INTERVAL_CODE","DATETIME_INTERVAL_PRECISION","DB","DEFAULTS","DEFERRABLE","DEFERRED","DEFINED","DEFINER","DEGREE","DEPTH","DERIVED","DESC","DESCRIPTOR","DIAGNOSTICS","DISPATCH","DOCUMENT","DOMAIN","DYNAMIC_FUNCTION","DYNAMIC_FUNCTION_CODE","EMPTY","ENCODING","ENFORCED","EXCLUDE","EXCLUDING","EXPRESSION","FILE","FINAL","FIRST","FLAG","FOLLOWING","FORTRAN","FOUND","FS","G","GENERAL","GENERATED","GO","GOTO","GRANTED","HEX","HIERARCHY","ID","IGNORE","IMMEDIATE","IMMEDIATELY","IMPLEMENTATION","INCLUDING","INCREMENT","INDENT","INITIALLY","INPUT","INSTANCE","INSTANTIABLE","INSTEAD","INTEGRITY","INVOKER","ISOLATION","K","KEY","KEY_MEMBER","KEY_TYPE","LAST","LENGTH","LEVEL","LIBRARY","LIMIT","LINK","LOCATION","LOCATOR","M","MAP","MAPPING","MATCHED","MAXVALUE","MESSAGE_LENGTH","MESSAGE_OCTET_LENGTH","MESSAGE_TEXT","MINVALUE","MORE","MUMPS","NAME","NAMES","NAMESPACE","NESTING","NEXT","NFC","NFD","NFKC","NFKD","NIL","NORMALIZED","NULLABLE","NULLS","NUMBER","OBJECT","OCTETS","OFF","OPTION","OPTIONS","ORDERING","ORDINALITY","OTHERS","OUTPUT","OVERRIDING","P","PAD","PARAMETER_MODE","PARAMETER_NAME","PARAMETER_ORDINAL_POSITION","PARAMETER_SPECIFIC_CATALOG","PARAMETER_SPECIFIC_NAME","PARAMETER_SPECIFIC_SCHEMA","PARTIAL","PASCAL","PASSING","PASSTHROUGH","PATH","PERMISSION","PLACING","PLI","PRECEDING","PRESERVE","PRIOR","PRIVILEGES","PUBLIC","READ","RECOVERY","RELATIVE","REPEATABLE","REQUIRING","RESPECT","RESTART","RESTORE","RESTRICT","RETURNED_CARDINALITY","RETURNED_LENGTH","RETURNED_OCTET_LENGTH","RETURNED_SQLSTATE","RETURNING","ROLE","ROUTINE","ROUTINE_CATALOG","ROUTINE_NAME","ROUTINE_SCHEMA","ROW_COUNT","SCALE","SCHEMA","SCHEMA_NAME","SCOPE_CATALOG","SCOPE_NAME","SCOPE_SCHEMA","SECTION","SECURITY","SELECTIVE","SELF","SEQUENCE","SERIALIZABLE","SERVER","SERVER_NAME","SESSION","SETS","SIMPLE","SIZE","SOURCE","SPACE","SPECIFIC_NAME","STANDALONE","STATE","STATEMENT","STRIP","STRUCTURE","STYLE","SUBCLASS_ORIGIN","T","TABLE_NAME","TEMPORARY","TIES","TOKEN","TOP_LEVEL_COUNT","TRANSACTION","TRANSACTIONS_COMMITTED","TRANSACTIONS_ROLLED_BACK","TRANSACTION_ACTIVE","TRANSFORM","TRANSFORMS","TRIGGER_CATALOG","TRIGGER_NAME","TRIGGER_SCHEMA","TYPE","UNBOUNDED","UNCOMMITTED","UNDER","UNLINK","UNNAMED","UNTYPED","URI","USAGE","USER_DEFINED_TYPE_CATALOG","USER_DEFINED_TYPE_CODE","USER_DEFINED_TYPE_NAME","USER_DEFINED_TYPE_SCHEMA","VALID","VERSION","VIEW","WHITESPACE","WORK","WRAPPER","WRITE","XMLDECLARATION","XMLSCHEMA","YES","ZONE"]
-
-parser.parseError = function(str, hash) {
- if (hash.expected && hash.expected.indexOf("'LITERAL'") > -1 && /[a-zA-Z_][a-zA-Z_0-9]*/.test(hash.token) && nonReserved.indexOf(hash.token) > -1) {
- return
- }
- throw new SyntaxError(str)
-}
+
+
+// from https://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
+// JSON.stringify([].slice.call(document.querySelectorAll('tr')).filter(x => x.children.length == 5 && x.children[2].innerText == 'reserved').map(x => x.children[0].innerText))
+
+var nonReserved = ["A","ABSENT","ABSOLUTE","ACCORDING","ACTION","ADA","ADD","ADMIN","AFTER","ALWAYS","ASC","ASSERTION","ASSIGNMENT","ATTRIBUTE","ATTRIBUTES","BASE64","BEFORE","BERNOULLI","BLOCKED","BOM","BREADTH","C","CASCADE","CATALOG","CATALOG_NAME","CHAIN","CHARACTERISTICS","CHARACTERS","CHARACTER_SET_CATALOG","CHARACTER_SET_NAME","CHARACTER_SET_SCHEMA","CLASS_ORIGIN","COBOL","COLLATION","COLLATION_CATALOG","COLLATION_NAME","COLLATION_SCHEMA","COLUMNS","COLUMN_NAME","COMMAND_FUNCTION","COMMAND_FUNCTION_CODE","COMMITTED","CONDITION_NUMBER","CONNECTION","CONNECTION_NAME","CONSTRAINTS","CONSTRAINT_CATALOG","CONSTRAINT_NAME","CONSTRAINT_SCHEMA","CONSTRUCTOR","CONTENT","CONTINUE","CONTROL","CURSOR_NAME","DATA","DATETIME_INTERVAL_CODE","DATETIME_INTERVAL_PRECISION","DB","DEFAULTS","DEFERRABLE","DEFERRED","DEFINED","DEFINER","DEGREE","DEPTH","DERIVED","DESC","DESCRIPTOR","DIAGNOSTICS","DISPATCH","DOCUMENT","DOMAIN","DYNAMIC_FUNCTION","DYNAMIC_FUNCTION_CODE","EMPTY","ENCODING","ENFORCED","EXCLUDE","EXCLUDING","EXPRESSION","FILE","FINAL","FIRST","FLAG","FOLLOWING","FORTRAN","FOUND","FS","G","GENERAL","GENERATED","GO","GOTO","GRANTED","HEX","HIERARCHY","ID","IGNORE","IMMEDIATE","IMMEDIATELY","IMPLEMENTATION","INCLUDING","INCREMENT","INDENT","INITIALLY","INPUT","INSTANCE","INSTANTIABLE","INSTEAD","INTEGRITY","INVOKER","ISOLATION","K","KEY","KEY_MEMBER","KEY_TYPE","LAST","LENGTH","LEVEL","LIBRARY","LIMIT","LINK","LOCATION","LOCATOR","M","MAP","MAPPING","MATCHED","MAXVALUE","MESSAGE_LENGTH","MESSAGE_OCTET_LENGTH","MESSAGE_TEXT","MINVALUE","MORE","MUMPS","NAME","NAMES","NAMESPACE","NESTING","NEXT","NFC","NFD","NFKC","NFKD","NIL","NORMALIZED","NULLABLE","NULLS","NUMBER","OBJECT","OCTETS","OFF","OPTION","OPTIONS","ORDERING","ORDINALITY","OTHERS","OUTPUT","OVERRIDING","P","PAD","PARAMETER_MODE","PARAMETER_NAME","PARAMETER_ORDINAL_POSITION","PARAMETER_SPECIFIC_CATALOG","PARAMETER_SPECIFIC_NAME","PARAMETER_SPECIFIC_SCHEMA","PARTIAL","PASCAL","PASSING","PASSTHROUGH","PATH","PERMISSION","PLACING","PLI","PRECEDING","PRESERVE","PRIOR","PRIVILEGES","PUBLIC","READ","RECOVERY","RELATIVE","REPEATABLE","REQUIRING","RESPECT","RESTART","RESTORE","RESTRICT","RETURNED_CARDINALITY","RETURNED_LENGTH","RETURNED_OCTET_LENGTH","RETURNED_SQLSTATE","RETURNING","ROLE","ROUTINE","ROUTINE_CATALOG","ROUTINE_NAME","ROUTINE_SCHEMA","ROW_COUNT","SCALE","SCHEMA","SCHEMA_NAME","SCOPE_CATALOG","SCOPE_NAME","SCOPE_SCHEMA","SECTION","SECURITY","SELECTIVE","SELF","SEQUENCE","SERIALIZABLE","SERVER","SERVER_NAME","SESSION","SETS","SIMPLE","SIZE","SOURCE","SPACE","SPECIFIC_NAME","STANDALONE","STATE","STATEMENT","STRIP","STRUCTURE","STYLE","SUBCLASS_ORIGIN","T","TABLE_NAME","TEMPORARY","TIES","TOKEN","TOP_LEVEL_COUNT","TRANSACTION","TRANSACTIONS_COMMITTED","TRANSACTIONS_ROLLED_BACK","TRANSACTION_ACTIVE","TRANSFORM","TRANSFORMS","TRIGGER_CATALOG","TRIGGER_NAME","TRIGGER_SCHEMA","TYPE","UNBOUNDED","UNCOMMITTED","UNDER","UNLINK","UNNAMED","UNTYPED","URI","USAGE","USER_DEFINED_TYPE_CATALOG","USER_DEFINED_TYPE_CODE","USER_DEFINED_TYPE_NAME","USER_DEFINED_TYPE_SCHEMA","VALID","VERSION","VIEW","WHITESPACE","WORK","WRAPPER","WRITE","XMLDECLARATION","XMLSCHEMA","YES","ZONE"]
+
+parser.parseError = function(str, hash) {
+ if (hash.expected && hash.expected.indexOf("'LITERAL'") > -1 && /[a-zA-Z_][a-zA-Z_0-9]*/.test(hash.token) && nonReserved.indexOf(hash.token) > -1) {
+ return
+ }
+ throw new SyntaxError(str)
+}
/* generated by jison-lex 0.3.4 */
var lexer = (function(){
var lexer = ({
@@ -2973,4 +2972,4 @@ exports.main = function commonjsMain(args) {
if (typeof module !== 'undefined' && require.main === module) {
exports.main(process.argv.slice(1));
}
-}
\ No newline at end of file
+}export default alasqlparser;
diff --git a/src/dataStruct.ts b/src/dataStruct.ts
new file mode 100644
index 0000000000..d741108a00
--- /dev/null
+++ b/src/dataStruct.ts
@@ -0,0 +1,9 @@
+import database from './dataStruct/database';
+import query from './dataStruct/query';
+import table from './dataStruct/table';
+
+export default mem => {
+ database(mem);
+ query(mem);
+ table(mem);
+};
diff --git a/src/21transaction.js b/src/dataStruct/21transaction.js
similarity index 93%
rename from src/21transaction.js
rename to src/dataStruct/21transaction.js
index 474d2b4353..10b6829d8a 100755
--- a/src/21transaction.js
+++ b/src/dataStruct/21transaction.js
@@ -7,7 +7,7 @@
*/
Database.prototype.transaction = function(cb) {
- var tx = new alasql.Transaction(this.databaseid);
+ var tx = alasql.newTransaction(this.databaseid);
var res = cb(tx);
return res;
};
diff --git a/src/24view.js b/src/dataStruct/24view.js
similarity index 100%
rename from src/24view.js
rename to src/dataStruct/24view.js
diff --git a/src/dataStruct/database.ts b/src/dataStruct/database.ts
new file mode 100755
index 0000000000..014d1369ae
--- /dev/null
+++ b/src/dataStruct/database.ts
@@ -0,0 +1,226 @@
+export default mem => {
+ mem.alasql.databasenum = 0;
+ mem.alasql.databases = {};
+
+ class Database {
+ databaseid: string;
+ alasql: any;
+ dbversion = 0;
+ counter = 0;
+
+ tables: {[key: string]: any} = {};
+ views: {[key: string]: any} = {};
+ triggers: {[key: string]: any} = {};
+ indices: {[key: string]: any} = {};
+ objects: {[key: string]: any} = {};
+
+ sqlCache: {[key: string]: any} = {};
+ sqlCacheSize = 0;
+
+ constructor(databaseid: string, alasql: any) {
+ this.alasql = alasql;
+ this.databaseid = databaseid;
+
+ return this;
+ }
+
+ /**
+ Reset SQL statements cache
+ */
+ resetSqlCache() {
+ this.sqlCache = {}; // Cache for compiled SQL statements
+ this.sqlCacheSize = 0;
+ }
+
+ // Main SQL function
+ /**
+ Run SQL statement on database
+ @param sql — SQL statement
+ @param object — params Parameters
+ @param cb — callback
+ */
+ exec(sql: string, params?, cb?) {
+ return this.alasql.dexec(this.databaseid, sql, params, cb);
+ }
+
+ autoval(tablename: string, colname?, getNext?) {
+ return this.alasql.autoval(tablename, colname, getNext, this.databaseid);
+ }
+ }
+
+ mem.alasql.newDatabase = (dbName?, useNewDatabase = true) => {
+ if (!dbName) {
+ dbName = 'db' + mem.alasql.databasenum++; // Unique name
+ }
+
+ let db = new Database(dbName, mem.alasql);
+ mem.alasql.databases[db.databaseid] = db;
+ if (useNewDatabase) {
+ mem.alasql.use('alasql');
+ }
+ };
+
+ //mem.alasql.Database = Database;
+};
+
+// // Main Database class
+
+// /**
+// @class Database
+// */
+
+// const Database = (databaseid) => {
+// var self = this;
+// // self = function(a){console.log('OK',a);}
+// // self.prototype = this;
+
+// if (self === alasql) {
+// if (databaseid) {
+// // if(alasql.databases[databaseid]) {
+// self = alasql.databases[databaseid];
+// // } else {
+// alasql.databases[databaseid] = self;
+// // }
+// if (!self) {
+// throw new Error('Database "' + databaseid + '" not found');
+// }
+// } else {
+// // Create new database (or get alasql?)
+// self = alasql.databases.alasql;
+// // For SQL Server examples, USE tempdb
+// if (alasql.options.tsql) {
+// alasql.databases.tempdb = alasql.databases.alasql;
+// }
+// // self = new Database(databaseid); // to call without new
+// }
+// }
+// if (!databaseid) {
+// databaseid = 'db' + alasql.databasenum++; // Unique name
+// }
+
+// // Step 1
+// self.databaseid = databaseid;
+// alasql.databases[databaseid] = self;
+// self.dbversion = 0;
+
+// //Steps 2-5
+// self.tables = {};
+// self.views = {};
+// self.triggers = {};
+// self.indices = {};
+
+// // Step 6: Objects storage
+// self.objects = {};
+// self.counter = 0;
+
+// self.resetSqlCache();
+// return self;
+// };
+
+// /**
+// Reset SQL statements cache
+// */
+
+// Database.prototype.resetSqlCache = function() {
+// this.sqlCache = {}; // Cache for compiled SQL statements
+// this.sqlCacheSize = 0;
+// };
+
+// // Main SQL function
+
+// /**
+// Run SQL statement on database
+// @param {string} sql SQL statement
+// @param [object] params Parameters
+// @param {function} cb callback
+// */
+
+// Database.prototype.exec = function(sql, params, cb) {
+// return alasql.dexec(this.databaseid, sql, params, cb);
+// };
+
+// Database.prototype.autoval = function(tablename, colname, getNext) {
+// return alasql.autoval(tablename, colname, getNext, this.databaseid);
+// };
+
+// /*/*
+// // // Compile
+// // var statement = this.compile(sql);
+// // // Run
+// // if(statement) {
+// // var data = statement(params, cb);
+// // return data;
+// // }
+// // return;
+// // };
+
+// // // Async version of exec
+
+// // Database.prototype.aexec = function(sql, params) {
+// // var self = this;
+// // return new Promise(function(resolve, reject){
+// // alasql.dexec(this.databaseid,sql,params,resolve);
+// // });
+// // };
+// */
+
+// // Aliases like MS SQL
+// /*/*
+// Database.prototype.query = Database.prototype.exec;
+// Database.prototype.run = Database.prototype.exec;
+// Database.prototype.queryArray = function(sql, params, cb) {
+// return flatArray(this.exec(sql, params, cb));
+// }
+
+// Database.prototype.queryArrayOfArrays = function(sql, params, cb) {
+// return arrayOfArrays(this.exec(sql, params, cb));
+// }
+
+// Database.prototype.querySingle = function(sql, params, cb) {
+// return this.exec(sql, params, cb)[0];
+// }
+// Database.prototype.queryValue = function(sql, params, cb) {
+// var res = this.querySingle(sql, params, cb);
+// return res[Object.keys(res)[0]];
+// }
+
+// Database.prototype.value = Database.prototype.queryValue;
+// Database.prototype.row = Database.prototype.querySingle;
+// Database.prototype.array = Database.prototype.queryArray;
+// Database.prototype.matrix = Database.prototype.queryArrayOfArrays;
+
+// // Compile statements
+// Database.prototype.compile = function(sql, kind) {
+// return alasql.compile(sql, kind, databaseid);
+// };
+
+// */
+
+// /*/*
+// // var self = this;
+// // var hh = hash(sql);
+
+// // // Check cache with hash of SQL statement
+// // var statement = this.sqlcache[hh];
+// // if(!statement) {
+
+// // // If not fount, then compile it
+// // var ast = alasql.parse(sql);
+// // // Save to cache
+
+// // statement = this.sqlcache[hh]= ast.compile(self);
+
+// // // Memory leak prevention
+// // this.sqlcachesize++;
+// // if(this.sqlcachesize > alasql.MAXSQLCACHESIZE) {
+// // this.resetSqlCache();
+// // }
+// // };
+// // return statement;
+// // }
+
+// // SQL.js compatibility method
+// //Database.prototype.prepare = Database.prototype.compile;
+
+// // Added for compatibility with WebSQL
+// */
diff --git a/src/dataStruct/query.ts b/src/dataStruct/query.ts
new file mode 100755
index 0000000000..154b9d47f2
--- /dev/null
+++ b/src/dataStruct/query.ts
@@ -0,0 +1,57 @@
+import utils from '../utils';
+
+/**
+ @class Query Main query class
+ */
+
+
+class Query {
+ //this.alasql = alasql;
+ // console.log(12,alasql);
+ // Columns
+ columns = [];
+ xcolumns = {};
+ selectGroup = [];
+ groupColumns = {};
+
+ constructor(params) {
+ utils.extend(this, params);
+
+ return this;
+ }
+};
+
+
+/**
+ * DataArray
+ * @class Recordset data object
+ */
+class Recordset {
+ constructor(params?: any){
+ utils.extend(this, params);
+
+ }
+};
+
+/*/*
+// View = function(){
+// this.data = [];
+// this.columns = [];
+// this.ixcolumns = {};
+// this.ixdefs = {};
+// this.indices = {};
+// };
+
+// alasql.View = View;
+*/
+
+
+
+export default mem => {
+ mem.alasql.Query = Query;
+ mem.alasql.QueRecordsetry = Recordset;
+}
+
+export {Recordset};
+
+export {Query};
diff --git a/src/dataStruct/table.ts b/src/dataStruct/table.ts
new file mode 100755
index 0000000000..1a162005b9
--- /dev/null
+++ b/src/dataStruct/table.ts
@@ -0,0 +1,75 @@
+import utils from '../utils';
+
+export default mem => {
+
+ class Table {
+ // Step 1: Data array
+ data = [];
+
+ // Step 2: Columns
+ columns = [];
+ xcolumns = {};
+
+ // Step 3: indices
+ inddefs = {};
+ indices = {};
+ uniqs = {};
+ uniqdefs = {};
+
+ // Step 4: identities
+ identities = {};
+
+ // Step 5: checkfn...
+ checks = [];
+ checkfns = []; // For restore... to be done...
+
+ // Step 6: INSERT/DELETE/UPDATE
+
+ // Step 7: Triggers...
+ // Create trigger hubs
+ beforeinsert = {};
+ afterinsert = {};
+ insteadofinsert = {};
+
+ beforedelete = {};
+ afterdelete = {};
+ insteadofdelete = {};
+
+ beforeupdate = {};
+ afterupdate = {};
+ insteadofupdate = {};
+
+ constructor(params) {
+ utils.extend(this, params);
+
+ return this;
+ }
+
+ indexColumns() {
+ this.xcolumns = {};
+ this.columns.forEach(function(col) {
+ this.xcolumns[col.columnid] = col;
+ });
+ }
+
+ }
+
+ mem.alasql.newTable = (params = []) => {
+ return new Table(params);
+ };
+
+};
+
+/*/*
+// View = function(){
+// this.data = [];
+// this.columns = [];
+// this.ixcolumns = {};
+// this.ixdefs = {};
+// this.indices = {};
+// };
+
+// alasql.View = View;
+*/
+
+
diff --git a/src/echo/alasql-echo.js b/src/echo/alasql-echo.js
deleted file mode 100644
index d595819f54..0000000000
--- a/src/echo/alasql-echo.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// Plugin sample
-
-var yy = alasql.yy;
-
-yy.Echo = function (params) { return yy.extend(this, params); }
-yy.Echo.prototype.toString = function() {
- var s = 'TEST '+this.expr.toString();
- return s;
-}
-
-yy.Echo.prototype.execute = function (databaseid, params, cb) {
-// var self = this;
- // console.log(76336,this.expr.toJS());
- var fn = new Function('params, alasql','return '+this.expr.toJS());
- var res = fn(params, alasql);
- if(cb) res = cb(res);
- return res;
-}
\ No newline at end of file
diff --git a/src/expandGrammar.ts b/src/expandGrammar.ts
new file mode 100755
index 0000000000..e1272e3c21
--- /dev/null
+++ b/src/expandGrammar.ts
@@ -0,0 +1,9 @@
+import base from './grammar/base';
+import statements from './grammar/statements';
+import select from './grammar/select';
+
+export default mem => {
+ base(mem);
+ statements(mem);
+ select(mem);
+};
diff --git a/src/61date.js b/src/features/61date.js
similarity index 73%
rename from src/61date.js
rename to src/features/61date.js
index 681efd531c..255af35fdd 100755
--- a/src/61date.js
+++ b/src/features/61date.js
@@ -1,8 +1,3 @@
-//
-// Date functions
-//
-// (c) 2014, Andrey Gershun
-//
/** Standard JavaScript data types */
@@ -15,20 +10,15 @@ alasql.fn.Boolean = Boolean;
/** Extend Object with properties */
stdfn.EXTEND = alasql.utils.extend;
-stdfn.CHAR = String.fromCharCode.bind(String);
-stdfn.ASCII = function(a) {
- return a.charCodeAt(0);
-};
-
/**
Return first non-null argument
See https://msdn.microsoft.com/en-us/library/ms190349.aspx
*/
-stdfn.COALESCE = function() {
- for (var i = 0; i < arguments.length; i++) {
- if (typeof arguments[i] == 'undefined') continue;
- if (typeof arguments[i] == 'number' && isNaN(arguments[i])) continue;
- return arguments[i];
+stdfn.COALESCE = function(...args) {
+ for (var i = 0; i < args.length; i++) {
+ if (typeof args[i] === 'undefined') continue;
+ if (typeof args[i] === 'number' && isNaN(args[i])) continue;
+ return args[i];
}
return undefined;
};
@@ -74,39 +64,25 @@ stdfn.CURRENT_TIMESTAMP = stdfn.NOW;
// return s;
// }
-stdfn.SECOND = function(d) {
- var d = new Date(d);
- return d.getSeconds();
-};
+stdfn.SECOND = d => (new Date(d)).getSeconds();
stdfn.MINUTE = function(d) {
var d = new Date(d);
return d.getMinutes();
};
-stdfn.HOUR = function(d) {
- var d = new Date(d);
- return d.getHours();
-};
+stdfn.HOUR = d => (new Date(d)).getHours();
-stdfn.DAYOFWEEK = stdfn.WEEKDAY = function(d) {
- var d = new Date(d);
- return d.getDay();
-};
-stdfn.DAY = stdfn.DAYOFMONTH = function(d) {
- var d = new Date(d);
- return d.getDate();
-};
+stdfn.DAYOFWEEK = d => (new Date(d)).getDay();
-stdfn.MONTH = function(d) {
- var d = new Date(d);
- return d.getMonth() + 1;
-};
-stdfn.YEAR = function(d) {
- var d = new Date(d);
- return d.getFullYear();
+stdfn.DAY = stdfn.DAYOFMONTH = d => (new Date(d)).getDate();
+
+
+stdfn.MONTH = d => (new Date(d)).getMonth();
+
+stdfn.YEAR = d => (new Date(d)).getFullYear();
};
var PERIODS = {
diff --git a/src/90websql.js b/src/features/90websql.js
similarity index 100%
rename from src/90websql.js
rename to src/features/90websql.js
diff --git a/src/91indexeddb.js b/src/features/91indexeddb.js
similarity index 99%
rename from src/91indexeddb.js
rename to src/features/91indexeddb.js
index 77456df7ad..9ac9b9a0f0 100755
--- a/src/91indexeddb.js
+++ b/src/features/91indexeddb.js
@@ -13,7 +13,7 @@ var IDB = (alasql.engines.INDEXEDDB = function() {
if (utils.hasIndexedDB) {
// For Chrome it work normally, for Firefox - simple shim
- if (typeof utils.global.indexedDB.webkitGetDatabaseNames == 'function') {
+ if (typeof utils.global.indexedDB.webkitGetDatabaseNames ==== 'function') {
IDB.getDatabaseNames = utils.global.indexedDB.webkitGetDatabaseNames.bind(
utils.global.indexedDB
);
@@ -216,7 +216,7 @@ IDB.attachDatabase = function(ixdbid, dbid, args, params, cb) {
var request2 = indexedDB.open(ixdbid);
request2.onsuccess = function(event) {
var ixdb = event.target.result;
- var db = new alasql.Database(dbid || ixdbid);
+ var db = alasql.newDatabase(dbid || ixdbid);
db.engineid = 'INDEXEDDB';
db.ixdbid = ixdbid;
db.tables = [];
diff --git a/src/92localstorage.js b/src/features/92localstorage.js
similarity index 98%
rename from src/92localstorage.js
rename to src/features/92localstorage.js
index 637afd301a..90ba73bfcb 100755
--- a/src/92localstorage.js
+++ b/src/features/92localstorage.js
@@ -63,7 +63,7 @@ LS.storeTable = function(databaseid, tableid) {
LS.restoreTable = function(databaseid, tableid) {
var db = alasql.databases[databaseid];
var tbl = LS.get(db.lsdbid + '.' + tableid);
- var table = new alasql.Table();
+ var table = alasql.newTable();
for (var f in tbl) {
table[f] = tbl[f];
}
@@ -173,7 +173,7 @@ LS.attachDatabase = function(lsdbid, databaseid, args, params, cb) {
);
}
if (!databaseid) databaseid = lsdbid;
- var db = new alasql.Database(databaseid);
+ var db = alasql.newDatabase(databaseid);
db.engineid = 'LOCALSTORAGE';
db.lsdbid = lsdbid;
db.tables = LS.get(lsdbid).tables;
@@ -427,7 +427,7 @@ LS.rollback = function(databaseid, cb) {
// if(!alasql.options.autocommit) {
delete alasql.databases[databaseid];
- alasql.databases[databaseid] = new alasql.Database(databaseid);
+ alasql.databases[databaseid] = alasql.newDatabase(databaseid);
extend(alasql.databases[databaseid], lsdb);
alasql.databases[databaseid].databaseid = databaseid;
alasql.databases[databaseid].engineid = 'LOCALSTORAGE';
diff --git a/src/93sqljs.js b/src/features/93sqljs.js
similarity index 98%
rename from src/93sqljs.js
rename to src/features/93sqljs.js
index ff5ef06cbd..b808d2263d 100755
--- a/src/93sqljs.js
+++ b/src/features/93sqljs.js
@@ -30,7 +30,7 @@ SQLITE.attachDatabase = function(sqldbid, dbid, args, params, cb) {
value,
true,
function(data) {
- var db = new alasql.Database(dbid || sqldbid);
+ var db = alasql.newDatabase(dbid || sqldbid);
db.engineid = 'SQLITE';
db.sqldbid = sqldbid;
var sqldb = (db.sqldb = new SQL.Database(data));
diff --git a/src/94filestorage.js b/src/features/94filestorage.js
similarity index 98%
rename from src/94filestorage.js
rename to src/features/94filestorage.js
index caec4762b6..40a5c0317f 100755
--- a/src/94filestorage.js
+++ b/src/features/94filestorage.js
@@ -79,7 +79,7 @@ FS.attachDatabase = function(fsdbid, dbid, args, params, cb) {
if (alasql.databases[dbid]) {
throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
}
- var db = new alasql.Database(dbid || fsdbid);
+ var db = alasql.newDatabase(dbid || fsdbid);
db.engineid = 'FILESTORAGE';
// db.fsdbid = fsdbid;
db.filename = args[0].value;
@@ -244,7 +244,7 @@ FS.rollback = function(databaseid, cb) {
db.data = data;
db.tables = {};
for (var tbid in db.data.tables) {
- var tb = new alasql.Table({columns: db.data.tables[tbid].columns});
+ var tb = alasql.newTable({columns: db.data.tables[tbid].columns});
extend(tb, db.data.tables[tbid]);
db.tables[tbid] = tb;
if (!alasql.options.autocommit) {
diff --git a/src/FileSaver.js b/src/features/FileSaver.js
similarity index 100%
rename from src/FileSaver.js
rename to src/features/FileSaver.js
diff --git a/src/843xml.js b/src/features/from/843xml.js
similarity index 100%
rename from src/843xml.js
rename to src/features/from/843xml.js
diff --git a/src/844gexf.js b/src/features/from/844gexf.js
similarity index 100%
rename from src/844gexf.js
rename to src/features/from/844gexf.js
diff --git a/src/84from.js b/src/features/from/84from.js
similarity index 100%
rename from src/84from.js
rename to src/features/from/84from.js
diff --git a/src/830into.js b/src/features/into/830into.js
similarity index 96%
rename from src/830into.js
rename to src/features/into/830into.js
index 1fab06a3c1..a52708d6fb 100755
--- a/src/830into.js
+++ b/src/features/into/830into.js
@@ -46,11 +46,11 @@ alasql.into.SQL = function(filename, opts, data, columns, cb) {
col.typeid === 'CHAR' ||
col.typeid === 'NCHAR'
) {
- val = "'" + escapeqq(val) + "'";
+ val = "'" + utils.escapeqq(val) + "'";
}
} else {
- if (typeof val == 'string') {
- val = "'" + escapeqq(val) + "'";
+ if (typeof val === 'string') {
+ val = "'" + utils.escapeqq(val) + "'";
}
}
return val;
@@ -239,7 +239,7 @@ alasql.into.CSV = function(filename, opts, data, columns, cb) {
}
// if((s+"").indexOf(opt.separator) > -1 || (s+"").indexOf(opt.quote) > -1) s = opt.quote + s + opt.quote;
- //Excel 2013 needs quotes around strings - thanks for _not_ complying with RFC for CSV
+ //Excel 2013 needs quotes around strings - "thanks" for _not_ complying with RFC for CSV
if (+s != s) {
// jshint ignore:line
s = opt.quote + s + opt.quote;
diff --git a/src/831xls.js b/src/features/into/831xls.js
similarity index 100%
rename from src/831xls.js
rename to src/features/into/831xls.js
diff --git a/src/832xlsxml.js b/src/features/into/832xlsxml.js
similarity index 100%
rename from src/832xlsxml.js
rename to src/features/into/832xlsxml.js
diff --git a/src/833xlsx.js b/src/features/into/833xlsx.js
similarity index 100%
rename from src/833xlsx.js
rename to src/features/into/833xlsx.js
diff --git a/src/12pretty.js b/src/features/later/12pretty.js
similarity index 100%
rename from src/12pretty.js
rename to src/features/later/12pretty.js
diff --git a/src/56sprintf.js b/src/features/later/56sprintf.js
similarity index 100%
rename from src/56sprintf.js
rename to src/features/later/56sprintf.js
diff --git a/src/80console.js b/src/features/later/80console.js
similarity index 100%
rename from src/80console.js
rename to src/features/later/80console.js
diff --git a/src/821tsql.js b/src/features/later/821tsql.js
similarity index 68%
rename from src/821tsql.js
rename to src/features/later/821tsql.js
index b4c1300c32..70c2004574 100755
--- a/src/821tsql.js
+++ b/src/features/later/821tsql.js
@@ -6,14 +6,13 @@ if (alasql.options.tsql) {
// IF OBJECT_ID('dbo.VSortedOrders', 'V') IS NOT NULL
// DROP VIEW dbo.VSortedOrders;
- alasql.stdfn.OBJECT_ID = function(name, type) {
- if (typeof type == 'undefined') type = 'T';
+ alasql.stdfn.OBJECT_ID = function(name, type = 'T') {
type = type.toUpperCase();
var sname = name.split('.');
var dbid = alasql.useid;
var objname = sname[0];
- if (sname.length == 2) {
+ if (sname.length === 2) {
dbid = sname[0];
objname = sname[1];
}
@@ -21,11 +20,11 @@ if (alasql.options.tsql) {
var tables = alasql.databases[dbid].tables;
dbid = alasql.databases[dbid].databaseid;
for (var tableid in tables) {
- if (tableid == objname) {
+ if (tableid === objname) {
// TODO: What OBJECT_ID actually returns
- if (tables[tableid].view && type == 'V') return dbid + '.' + tableid;
- if (!tables[tableid].view && type == 'T') return dbid + '.' + tableid;
+ if (tables[tableid].view && type === 'V') return dbid + '.' + tableid;
+ if (!tables[tableid].view && type === 'T') return dbid + '.' + tableid;
return undefined;
}
}
diff --git a/src/822mysql.js b/src/features/later/822mysql.js
similarity index 100%
rename from src/822mysql.js
rename to src/features/later/822mysql.js
diff --git a/src/839zip.js b/src/features/later/839zip.js
similarity index 100%
rename from src/839zip.js
rename to src/features/later/839zip.js
diff --git a/src/18promise.js b/src/features/promise.js
similarity index 96%
rename from src/18promise.js
rename to src/features/promise.js
index 48b47dec72..fe733fc47f 100755
--- a/src/18promise.js
+++ b/src/features/promise.js
@@ -1,7 +1,9 @@
//
// Promises for AlaSQL
//
-
+/**
+ * @todo Build version without bateries included
+ */
if (!utils.global.Promise) {
if (utils.isNode) {
//*not-for-browser/*
@@ -487,17 +489,19 @@ var promiseAll = function(sqlParamsArray) {
return utils.global.Promise.all(execArray);
};
-alasql.promise = function(sql, params) {
- if (typeof Promise === 'undefined') {
- throw new Error('Please include a Promise/A+ library');
- }
+export default mem => {
+ mem.alasql.promise = (sql, params) => {
+ if (typeof Promise === 'undefined') {
+ throw new Error('Please include a Promise/A+ library');
+ }
- if (typeof sql === 'string') {
- return promiseExec(sql, params);
- }
+ if (typeof sql === 'string') {
+ return promiseExec(sql, params);
+ }
- if (!utils.isArray(sql) || sql.length < 1 || typeof params !== 'undefined') {
- throw new Error('Error in .promise parameters');
- }
- return promiseAll(sql);
+ if (!utils.isArray(sql) || sql.length < 1 || typeof params !== 'undefined') {
+ throw new Error('Error in .promise parameters');
+ }
+ return promiseAll(sql);
+ };
};
diff --git a/src/99worker-finish.js b/src/features/worker/99worker-finish.js
similarity index 100%
rename from src/99worker-finish.js
rename to src/features/worker/99worker-finish.js
diff --git a/src/99worker-start.js b/src/features/worker/99worker-start.js
similarity index 100%
rename from src/99worker-start.js
rename to src/features/worker/99worker-start.js
diff --git a/src/99worker.js b/src/features/worker/99worker.js
similarity index 100%
rename from src/99worker.js
rename to src/features/worker/99worker.js
diff --git a/src/grammar.ts b/src/grammar.ts
new file mode 100644
index 0000000000..ff812e93d4
--- /dev/null
+++ b/src/grammar.ts
@@ -0,0 +1,31 @@
+import grammar from './alasqlparser';
+import base from './grammar/base';
+import statements from './grammar/statements';
+import select from './grammar/select';
+import expression from './grammar/expression';
+import exists from './grammar/exists';
+import defcols from './grammar/defcols';
+import from_ from './grammar/from';
+import compile from './grammar/compile';
+import where from './grammar/where';
+import useDatabase from './grammar/useDatabase';
+import functions from './grammar/functions';
+import createtable from './grammar/createtable';
+import insert from './grammar/insert';
+
+export default mem => {
+ mem.alasql.parser = grammar;
+ base(mem);
+ statements(mem);
+ select(mem);
+ expression(mem);
+ exists(mem);
+ defcols(mem);
+ from_(mem);
+ compile(mem);
+ where(mem);
+ useDatabase(mem);
+ functions(mem);
+ createtable(mem);
+ insert(mem);
+};
diff --git a/src/35search.js b/src/grammar/35search.js
similarity index 95%
rename from src/35search.js
rename to src/grammar/35search.js
index a532f9cec5..0dc5daf939 100755
--- a/src/35search.js
+++ b/src/grammar/35search.js
@@ -737,7 +737,7 @@ yy.Search.prototype.compile = function(databaseid) {
var res;
doSearch.bind(self)(dbid, params, function(data) {
// console.log(35,data);
- res = modify(statement.query, data);
+ res = modify(alasql, statement.query, data);
// console.log(37,data);
if (cb) {
res = cb(res);
@@ -866,9 +866,9 @@ alasql.srch.SHARP = function(val, args) {
}
};
-alasql.srch.PARENT = function(/*val,args,stope*/) {
+alasql.srch.PARENT = function(...args) {
// TODO: implement
- console.error('PARENT not implemented', arguments);
+ console.error('PARENT not implemented', args);
return {status: -1, values: []};
};
diff --git a/src/421join.js b/src/grammar/421join.js
similarity index 100%
rename from src/421join.js
rename to src/grammar/421join.js
diff --git a/src/423groupby.js b/src/grammar/423groupby.js
similarity index 100%
rename from src/423groupby.js
rename to src/grammar/423groupby.js
diff --git a/src/426orderby.js b/src/grammar/426orderby.js
similarity index 100%
rename from src/426orderby.js
rename to src/grammar/426orderby.js
diff --git a/src/45union.js b/src/grammar/45union.js
similarity index 100%
rename from src/45union.js
rename to src/grammar/45union.js
diff --git a/src/57case.js b/src/grammar/57case.js
similarity index 100%
rename from src/57case.js
rename to src/grammar/57case.js
diff --git a/src/58json.js b/src/grammar/58json.js
similarity index 100%
rename from src/58json.js
rename to src/grammar/58json.js
diff --git a/src/59convert.js b/src/grammar/59convert.js
similarity index 100%
rename from src/59convert.js
rename to src/grammar/59convert.js
diff --git a/src/62droptable.js b/src/grammar/62droptable.js
similarity index 100%
rename from src/62droptable.js
rename to src/grammar/62droptable.js
diff --git a/src/65createindex.js b/src/grammar/65createindex.js
similarity index 100%
rename from src/65createindex.js
rename to src/grammar/65createindex.js
diff --git a/src/66dropindex.js b/src/grammar/66dropindex.js
similarity index 100%
rename from src/66dropindex.js
rename to src/grammar/66dropindex.js
diff --git a/src/68if.js b/src/grammar/68if.js
similarity index 100%
rename from src/68if.js
rename to src/grammar/68if.js
diff --git a/src/69while.js b/src/grammar/69while.js
similarity index 100%
rename from src/69while.js
rename to src/grammar/69while.js
diff --git a/src/72delete.js b/src/grammar/72delete.js
similarity index 100%
rename from src/72delete.js
rename to src/grammar/72delete.js
diff --git a/src/74update.js b/src/grammar/74update.js
similarity index 100%
rename from src/74update.js
rename to src/grammar/74update.js
diff --git a/src/75merge.js b/src/grammar/75merge.js
similarity index 100%
rename from src/75merge.js
rename to src/grammar/75merge.js
diff --git a/src/77declare.js b/src/grammar/77declare.js
similarity index 100%
rename from src/77declare.js
rename to src/grammar/77declare.js
diff --git a/src/78show.js b/src/grammar/78show.js
similarity index 100%
rename from src/78show.js
rename to src/grammar/78show.js
diff --git a/src/85help.js b/src/grammar/85help.js
similarity index 100%
rename from src/85help.js
rename to src/grammar/85help.js
diff --git a/src/86print.js b/src/grammar/86print.js
similarity index 100%
rename from src/86print.js
rename to src/grammar/86print.js
diff --git a/src/87source.js b/src/grammar/87source.js
similarity index 100%
rename from src/87source.js
rename to src/grammar/87source.js
diff --git a/src/88require.js b/src/grammar/88require.js
similarity index 100%
rename from src/88require.js
rename to src/grammar/88require.js
diff --git a/src/89assert.js b/src/grammar/89assert.js
similarity index 100%
rename from src/89assert.js
rename to src/grammar/89assert.js
diff --git a/src/grammar/base.ts b/src/grammar/base.ts
new file mode 100755
index 0000000000..e329ae76af
--- /dev/null
+++ b/src/grammar/base.ts
@@ -0,0 +1,32 @@
+import utils from '../utils';
+
+export default mem => {
+ const yy = mem.grammar.yy;
+
+ yy.extend = utils.extend;
+ // Option for case sensitive
+ yy.casesensitive = mem.alasql.options.casesensitive;
+
+ yy.isInAggr = val => !!mem.alasql.aggr[val];
+
+ // Base class for all yy classes
+ yy.Base = function(params) {
+ return yy.extend(this, params);
+ };
+
+ yy.Base.prototype.toString = function() {};
+ yy.Base.prototype.toType = function() {};
+ yy.Base.prototype.toJS = function() {};
+
+ // var BaseClause = yy,BaseClause = function (params) { return yy.extend(this, params); };
+ yy.Base.prototype.compile = utils.returnUndefined;
+ yy.Base.prototype.exec = function() {};
+
+ // var BaseStatement = yy,BaseStatement = function (params) { return yy.extend(this, params); };
+ yy.Base.prototype.compile = utils.returnUndefined;
+ yy.Base.prototype.exec = function() {};
+
+ mem.grammar.yy = yy;
+
+
+};
diff --git a/src/424select.js b/src/grammar/compile.js
similarity index 90%
rename from src/424select.js
rename to src/grammar/compile.js
index be7dd9b861..3975b3282d 100755
--- a/src/424select.js
+++ b/src/grammar/compile.js
@@ -10,7 +10,15 @@
// return sources;
// };
-function compileSelectStar(query, alias, joinstar) {
+import utils from '../utils';
+
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+
+ const escapeq = utils.escapeq;
+
+ function compileSelectStar(query, alias, joinstar) {
// console.log(query.aliases[alias]);
// console.log(query,alias);
// console.log(query.aliases[alias].tableid);
@@ -39,13 +47,13 @@ function compileSelectStar(query, alias, joinstar) {
// };
// Check if this is a Table or other
- if (joinstar && alasql.options.joinstar == 'json') {
+ if (joinstar && alasql.options.joinstar === 'json') {
sp += "r['" + alias + "']={};";
}
if (columns && columns.length > 0) {
columns.forEach(function(tcol) {
- if (joinstar && alasql.options.joinstar == 'underscore') {
+ if (joinstar && alasql.options.joinstar === 'underscore') {
ss.push(
"'" +
alias +
@@ -57,7 +65,7 @@ function compileSelectStar(query, alias, joinstar) {
tcol.columnid +
"']"
);
- } else if (joinstar && alasql.options.joinstar == 'json') {
+ } else if (joinstar && alasql.options.joinstar === 'json') {
// ss.push('\''+alias+'_'+tcol.columnid+'\':p[\''+alias+'\'][\''+tcol.columnid+'\']');
sp +=
"r['" +
@@ -214,7 +222,7 @@ yy.Select.prototype.compileSelect1 = function(query, params) {
}
}
} else {
- ss.push("'" + escapeq(col.as || col.columnid) + "':p['" + tbid + "']");
+ ss.push("'" + utils.escapeq(col.as || col.columnid) + "':p['" + tbid + "']");
}
query.selectColumns[escapeq(col.as || col.columnid)] = true;
@@ -297,12 +305,12 @@ yy.Select.prototype.compileSelect1 = function(query, params) {
) {
ss.push(
"'" +
- escapeq(col.as) +
+ utils.escapeq(col.as) +
"':" +
- n2u(col.expression.toJS('p', query.defaultTableid, query.defcols))
+ utils.n2u(col.expression.toJS('p', query.defaultTableid, query.defcols))
);
} else if (col.aggregatorid === 'COUNT') {
- ss.push("'" + escapeq(col.as) + "':1");
+ ss.push("'" + utils.escapeq(col.as) + "':1");
// Nothing
}
// todo: confirm that no default action must be implemented
@@ -329,9 +337,9 @@ yy.Select.prototype.compileSelect1 = function(query, params) {
// console.log(203,col.as,col.columnid,col.toString());
ss.push(
"'" +
- escapeq(col.as || col.columnid || col.toString()) +
+ utils.escapeq(col.as || col.columnid || col.toString()) +
"':" +
- n2u(col.toJS('p', query.defaultTableid, query.defcols))
+ utils.n2u(col.toJS('p', query.defaultTableid, query.defcols))
);
// ss.push('\''+escapeq(col.toString())+'\':'+col.toJS("p",query.defaultTableid));
//if(col instanceof yy.Expression) {
@@ -377,9 +385,9 @@ yy.Select.prototype.compileSelectGroup0 = function(query) {
var colas;
// = col.as;
if (col instanceof yy.Column) {
- colas = escapeq(col.columnid);
+ colas = utils.escapeq(col.columnid);
} else {
- colas = escapeq(col.toString(true));
+ colas = utils.escapeq(col.toString(true));
// console.log(273,colas);
}
for (var i = 0; i < idx; i++) {
@@ -465,7 +473,7 @@ yy.Select.prototype.compileSelectGroup1 = function(query) {
// // s += ';';
// console.log(col);//,col.toJS('g',''));
- s += n2u(col.toJS('g', '')) + ';';
+ s += utils.n2u(col.toJS('g', '')) + ';';
/*/*
s += 'g[\''+col.nick+'\'];';
@@ -556,3 +564,7 @@ yy.Select.prototype.compileRemoveColumns = function(query) {
});
}
};
+
+mem.grammar.yy = yy;
+mem.alasql = alasql;
+};
\ No newline at end of file
diff --git a/src/grammar/createtable.js b/src/grammar/createtable.js
new file mode 100755
index 0000000000..4c98a942f5
--- /dev/null
+++ b/src/grammar/createtable.js
@@ -0,0 +1,705 @@
+/*
+//
+// CREATE TABLE for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+
+import utils from '../utils';
+
+const cloneDeep = utils.cloneDeep;
+
+
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+
+
+ yy.ColumnDef = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.ColumnDef.prototype.toString = function () {
+ var s = this.columnid;
+ if (this.dbtypeid) {
+ s += ' ' + this.dbtypeid;
+ }
+
+ if (this.dbsize) {
+ s += '(' + this.dbsize;
+ if (this.dbprecision) {
+ s += ',' + this.dbprecision;
+ }
+ s += ')';
+ }
+
+ if (this.primarykey) {
+ s += ' PRIMARY KEY';
+ }
+
+ if (this.notnull) {
+ s += ' NOT NULL';
+ }
+
+ return s;
+ };
+
+ yy.CreateTable = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateTable.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.temporary) {
+ s += ' TEMPORARY';
+ }
+
+ if (this.view) {
+ s += ' VIEW';
+ } else {
+ s += ' ' + (this.class ? 'CLASS' : 'TABLE');
+ }
+ if (this.ifnotexists) {
+ s += ' IF NOT EXISTS';
+ }
+ s += ' ' + this.table.toString();
+ if (this.viewcolumns) {
+ s +=
+ '(' +
+ this.viewcolumns
+ .map(function (vcol) {
+ return vcol.toString();
+ })
+ .join(',') +
+ ')';
+ }
+ if (this.as) {
+ s += ' AS ' + this.as;
+ } else {
+ var ss = this.columns.map(function (col) {
+ return col.toString();
+ });
+ s += ' (' + ss.join(',') + ')';
+ }
+
+ if (this.view && this.select) {
+ s += ' AS ' + this.select.toString();
+ }
+
+ return s;
+ };
+
+ // CREATE TABLE
+ //yy.CreateTable.prototype.compile = returnUndefined;
+ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
+ // var self = this;
+ var db = alasql.databases[this.table.databaseid || databaseid];
+
+ var tableid = this.table.tableid;
+ if (!tableid) {
+ throw new Error('Table name is not defined');
+ }
+
+ // var ifnotexists = this.ifnotexists;
+ var columns = this.columns;
+ // if(false) {
+ // if(!columns) {
+ // throw new Error('Columns are not defined');
+ // }
+ // }
+ var constraints = this.constraints || [];
+ // console.log(this);
+
+ // IF NOT EXISTS
+ if (this.ifnotexists && db.tables[tableid]) {
+ return cb ? cb(0) : 0;
+ }
+
+ if (db.tables[tableid]) {
+ throw new Error(
+ "Can not create table '" +
+ tableid +
+ "', because it already exists in the database '" +
+ db.databaseid +
+ "'"
+ );
+ }
+
+ var table = (db.tables[tableid] = alasql.newTable()); // TODO Can use special object?
+ // If this is a class
+ if (this.class) {
+ table.isclass = true;
+ }
+
+ var ss = []; // DEFAULT function components
+ var uss = []; // ON UPDATE function components
+ if (columns) {
+ columns.forEach(function (col) {
+ var dbtypeid = col.dbtypeid;
+ if (!alasql.fn[dbtypeid]) {
+ dbtypeid = dbtypeid.toUpperCase();
+ }
+
+ // Process SERIAL data type like Postgress
+ if (['SERIAL', 'SMALLSERIAL', 'BIGSERIAL'].indexOf(dbtypeid) > -1) {
+ col.identity = { value: 1, step: 1 };
+ }
+
+ var newcol = {
+ columnid: col.columnid,
+ dbtypeid: dbtypeid,
+ dbsize: col.dbsize, // Fixed issue #150
+ dbprecision: col.dbprecision, // Fixed issue #150
+ notnull: col.notnull,
+ identity: col.identity,
+ };
+ if (col.identity) {
+ table.identities[col.columnid] = {
+ value: +col.identity.value,
+ step: +col.identity.step,
+ };
+ // ss.push('\''+col.columnid+'\':(alasql.databases[\''+db.databaseid+'\'].tables[\''
+ // +tableid+'\'].identities[\''+col.columnid+'\'].value)');
+ }
+ if (col.check) {
+ table.checks.push({
+ id: col.check.constrantid,
+ fn: new Function('r', 'var y;return ' + col.check.expression.toJS('r', '')),
+ });
+ }
+
+ if (col.default) {
+ ss.push("'" + col.columnid + "':" + col.default.toJS('r', ''));
+ }
+
+ // Check for primary key
+ if (col.primarykey) {
+ var pk = (table.pk = {});
+ pk.columns = [col.columnid];
+ pk.onrightfns = "r['" + col.columnid + "']";
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ }
+
+ // UNIQUE clause
+ if (col.unique) {
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = [col.columnid];
+ uk.onrightfns = "r['" + col.columnid + "']";
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ }
+
+ // UNIQUE clause
+ if (col.foreignkey) {
+ // console.log(138,col.foreignkey);
+ var fk = col.foreignkey.table;
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ if (fktable.pk.columns && fktable.pk.columns.length > 0) {
+ fk.columnid = fktable.pk.columns[0];
+ } else {
+ throw new Error('FOREIGN KEY allowed only to tables with PRIMARY KEYs');
+ }
+ }
+ // console.log(fktable.pk);
+ var fkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ // console.log(r, rr, addr);
+ // console.log(fktable.uniqs[fktable.pk.hh][addr]);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ throw new Error(
+ 'Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid
+ );
+ }
+ return true;
+ };
+ table.checks.push({ fn: fkfn });
+ /*/* var uk = {};
+ if(typeof table.uk == 'undefined') table.uk = [];
+ table.uk.push(uk);
+ uk.columns = [col.columnid];
+ uk.onrightfns = 'r[\''+col.columnid+'\']';
+ uk.onrightfn = new Function("r",'return '+uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ */
+ }
+
+ if (col.onupdate) {
+ uss.push("r['" + col.columnid + "']=" + col.onupdate.toJS('r', ''));
+ }
+
+ table.columns.push(newcol);
+ table.xcolumns[newcol.columnid] = newcol;
+ });
+ }
+ table.defaultfns = ss.join(',');
+ table.onupdatefns = uss.join(';');
+
+ // if(constraints) {
+ constraints.forEach(function (con) {
+ //console.log(con, con.columns);
+ var checkfn;
+
+ if (con.type === 'PRIMARY KEY') {
+ if (table.pk) {
+ throw new Error('Primary key already exists');
+ }
+ var pk = (table.pk = {});
+ pk.columns = con.columns;
+ pk.onrightfns = pk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ pk.onrightfn = new Function('r', 'var y;return ' + pk.onrightfns);
+ pk.hh = hash(pk.onrightfns);
+ table.uniqs[pk.hh] = {};
+ } else if (con.type === 'CHECK') {
+ // console.log(con.expression.toJS('r',''));
+ checkfn = new Function('r', 'var y;return ' + con.expression.toJS('r', ''));
+ } else if (con.type === 'UNIQUE') {
+ // console.log(con);
+ var uk = {};
+ table.uk = table.uk || [];
+ table.uk.push(uk);
+ uk.columns = con.columns;
+ uk.onrightfns = uk.columns
+ .map(function (columnid) {
+ return "r['" + columnid + "']";
+ })
+ .join("+'`'+");
+ uk.onrightfn = new Function('r', 'var y;return ' + uk.onrightfns);
+ uk.hh = hash(uk.onrightfns);
+ table.uniqs[uk.hh] = {};
+ } else if (con.type === 'FOREIGN KEY') {
+ // console.log(con);
+ var col = table.xcolumns[con.columns[0]];
+ var fk = con.fktable;
+ if (con.fkcolumns && con.fkcolumns.length > 0) {
+ fk.columnid = con.fkcolumns[0];
+ }
+ var fktable = alasql.databases[fk.databaseid || databaseid].tables[fk.tableid];
+ if (typeof fk.columnid === 'undefined') {
+ fk.columnid = fktable.pk.columns[0];
+ }
+ // console.log(fktable.pk);
+ checkfn = function (r) {
+ var rr = {};
+ if (typeof r[col.columnid] === 'undefined') {
+ return true;
+ }
+ rr[fk.columnid] = r[col.columnid];
+ var addr = fktable.pk.onrightfn(rr);
+ // console.log(r, rr, addr);
+ // console.log(fktable.uniqs[fktable.pk.hh][addr]);
+ if (!fktable.uniqs[fktable.pk.hh][addr]) {
+ //console.log(228,table,col,fk);
+ throw new Error(
+ 'Foreign key "' +
+ r[col.columnid] +
+ '" is not found in table ' +
+ fktable.tableid
+ );
+ }
+ return true;
+ };
+ }
+ if (checkfn) {
+ table.checks.push({ fn: checkfn, id: con.constraintid, fk: con.type === 'FOREIGN KEY' });
+ }
+ });
+
+ if (this.view && this.viewcolumns) {
+ var self = this;
+ this.viewcolumns.forEach(function (vcol, idx) {
+ self.select.columns[idx].as = vcol.columnid;
+ });
+ }
+
+ //Used in 420from queryfn when table.view = true!
+ if (this.view && this.select) {
+ table.view = true;
+ // console.log(this.select.toString());
+ // console.log('this.table.databaseid',this.table.databaseid);
+ // console.log(this.select.compile(this.table.databaseid||databaseid));
+ table.select = this.select.compile(this.table.databaseid || databaseid);
+ }
+
+ if (db.engineid) {
+ // console.log(101,db.engineid);
+ return alasql.engines[db.engineid].createTable(
+ this.table.databaseid || databaseid,
+ tableid,
+ this.ifnotexists,
+ cb
+ );
+ // console.log('createtable',res1);
+ // return res1;
+ }
+
+ // }
+ // if(table.pk) {
+
+ table.insert = function (r, orreplace) {
+ var oldinserted = alasql.inserted;
+ alasql.inserted = [r];
+
+ var table = this;
+
+ var toreplace = false; // For INSERT OR REPLACE
+
+ /*
+ // IDENTINY or AUTO_INCREMENT
+ // if(table.identities && table.identities.length>0) {
+ // table.identities.forEach(function(ident){
+ // r[ident.columnid] = ident.value;
+ // });
+ // }
+ */
+ // Trigger prevent functionality
+ var prevent = false;
+ for (var tr in table.beforeinsert) {
+ var trigger = table.beforeinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
+ } else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
+ }
+ }
+ }
+ if (prevent) return;
+
+ // Trigger prevent functionality
+ var escape = false;
+ for (tr in table.insteadofinsert) {
+ escape = true;
+ trigger = table.insteadofinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ } else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape) return;
+
+ //console.log(262,r);
+ //console.log(263,table.identities)
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ // console.log(ident);
+ r[columnid] = ident.value;
+ // console.log(ident);
+ }
+ //console.log(270,r);
+
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ // if(orreplace) toreplace=true; else
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+
+ if (typeof table.uniqs[pk.hh][addr] !== 'undefined') {
+ //console.log(pk,addr,pk.onrightfn({ono:1}));
+ //console.log(r, pk.onrightfn(r), pk.onrightfns);
+ if (orreplace) toreplace = table.uniqs[pk.hh][addr];
+ else
+ throw new Error(
+ 'Cannot insert record, because it already exists in primary key index'
+ );
+ }
+ // table.uniqs[pk.hh][addr]=r;
+ }
+
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] !== 'undefined') {
+ if (orreplace) toreplace = table.uniqs[uk.hh][ukaddr];
+ else
+ throw new Error(
+ 'Cannot insert record, because it already exists in unique index'
+ );
+ }
+ // table.uniqs[uk.hh][ukaddr]=r;
+ });
+ }
+
+ if (toreplace) {
+ // Do UPDATE!!!
+ // console.log();
+ table.update(
+ function (t) {
+ for (var f in r) t[f] = r[f];
+ },
+ table.data.indexOf(toreplace),
+ params
+ );
+ } else {
+ table.data.push(r);
+
+ // Final change before insert
+
+ // Update indices
+
+ for (var columnid in table.identities) {
+ var ident = table.identities[columnid];
+ // console.log(ident);
+ ident.value += ident.step;
+ // console.log(ident);
+ }
+
+ if (table.pk) {
+ var pk = table.pk;
+ var addr = pk.onrightfn(r);
+ table.uniqs[pk.hh][addr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ table.uniqs[uk.hh][ukaddr] = r;
+ });
+ }
+ }
+
+ // Trigger prevent functionality
+ for (var tr in table.afterinsert) {
+ var trigger = table.afterinsert[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ } else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ alasql.inserted = oldinserted;
+ };
+
+ table.delete = function (index) {
+ var table = this;
+ var r = table.data[index];
+
+ // Prevent trigger
+ var prevent = false;
+ for (var tr in table.beforedelete) {
+ var trigger = table.beforedelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](r) === false) prevent = prevent || true;
+ } else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
+ }
+ }
+ }
+ if (prevent) return false;
+
+ // Trigger prevent functionality
+ var escape = false;
+ for (var tr in table.insteadofdelete) {
+ escape = true;
+ var trigger = table.insteadofdelete[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](r);
+ } else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape) return;
+
+ if (this.pk) {
+ var pk = this.pk;
+ var addr = pk.onrightfn(r);
+ if (typeof this.uniqs[pk.hh][addr] === 'undefined') {
+ throw new Error('Something wrong with primary key index on table');
+ } else {
+ this.uniqs[pk.hh][addr] = undefined;
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ var ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ table.uniqs[uk.hh][ukaddr] = undefined;
+ });
+ }
+ };
+
+ table.deleteall = function () {
+ this.data.length = 0;
+ if (this.pk) {
+ // var r = this.data[i];
+ this.uniqs[this.pk.hh] = {};
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh] = {};
+ });
+ }
+ };
+
+ table.update = function (assignfn, i, params) {
+ // TODO: Analyze the speed
+ var r = cloneDeep(this.data[i]);
+
+ var pk;
+ // PART 1 - PRECHECK
+ if (this.pk) {
+ pk = this.pk;
+ pk.pkaddr = pk.onrightfn(r, params);
+ if (typeof this.uniqs[pk.hh][pk.pkaddr] === 'undefined') {
+ throw new Error('Something wrong with index on table');
+ }
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.ukaddr = uk.onrightfn(r);
+ if (typeof table.uniqs[uk.hh][uk.ukaddr] === 'undefined') {
+ throw new Error('Something wrong with unique index on table');
+ }
+ });
+ }
+
+ assignfn(r, params, alasql);
+
+ // Prevent trigger
+ var prevent = false;
+ for (var tr in table.beforeupdate) {
+ var trigger = table.beforeupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ if (alasql.fn[trigger.funcid](this.data[i], r) === false)
+ prevent = prevent || true;
+ } else if (trigger.statement) {
+ if (trigger.statement.execute(databaseid) === false) prevent = prevent || true;
+ }
+ }
+ }
+ if (prevent) return false;
+
+ // Trigger prevent functionality
+ var escape = false;
+ for (var tr in table.insteadofupdate) {
+ escape = true;
+ var trigger = table.insteadofupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this.data[i], r);
+ } else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ if (escape) return;
+
+ // PART 2 - POST CHECK
+ if (table.checks && table.checks.length > 0) {
+ table.checks.forEach(function (check) {
+ if (!check.fn(r)) {
+ throw new Error('Violation of CHECK constraint ' + (check.id || ''));
+ }
+ });
+ }
+
+ table.columns.forEach(function (column) {
+ if (column.notnull && typeof r[column.columnid] === 'undefined') {
+ throw new Error('Wrong NULL value in NOT NULL column ' + column.columnid);
+ }
+ });
+ if (this.pk) {
+ pk.newpkaddr = pk.onrightfn(r);
+ if (
+ typeof this.uniqs[pk.hh][pk.newpkaddr] !== 'undefined' &&
+ pk.newpkaddr !== pk.pkaddr
+ ) {
+ throw new Error('Record already exists');
+ }
+ }
+
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ uk.newukaddr = uk.onrightfn(r);
+ if (
+ typeof table.uniqs[uk.hh][uk.newukaddr] !== 'undefined' &&
+ uk.newukaddr !== uk.ukaddr
+ ) {
+ throw new Error('Record already exists');
+ }
+ });
+ }
+
+ // PART 3 UPDATE
+ if (this.pk) {
+ this.uniqs[pk.hh][pk.pkaddr] = undefined;
+ this.uniqs[pk.hh][pk.newpkaddr] = r;
+ }
+ if (table.uk && table.uk.length) {
+ table.uk.forEach(function (uk) {
+ table.uniqs[uk.hh][uk.ukaddr] = undefined;
+ table.uniqs[uk.hh][uk.newukaddr] = r;
+ });
+ }
+
+ this.data[i] = r;
+
+ // Trigger prevent functionality
+ for (var tr in table.afterupdate) {
+ var trigger = table.afterupdate[tr];
+ if (trigger) {
+ if (trigger.funcid) {
+ alasql.fn[trigger.funcid](this.data[i], r);
+ } else if (trigger.statement) {
+ trigger.statement.execute(databaseid);
+ }
+ }
+ }
+ };
+
+ // console.log(databaseid);
+ // console.log(db.databaseid,db.tables);
+ // console.log(table);
+
+ var res;
+
+ if (!alasql.options.nocount) {
+ res = 1;
+ }
+
+ if (cb) res = cb(res);
+ return res;
+ };
+
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/src/grammar/defcols.ts b/src/grammar/defcols.ts
new file mode 100755
index 0000000000..ff7aba35cb
--- /dev/null
+++ b/src/grammar/defcols.ts
@@ -0,0 +1,96 @@
+/*
+//
+// Select run-time part for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+
+
+export default mem => {
+ const yy = mem.grammar.yy;
+
+ yy.Select.prototype.compileDefCols = function (query, databaseid) {
+ // console.log('defcols');
+ var defcols = { '.': {} };
+ if (this.from) {
+ this.from.forEach(function (fr) {
+ defcols['.'][fr.as || fr.tableid] = true;
+ if (fr instanceof yy.Table) {
+ var alias = fr.as || fr.tableid;
+ // console.log(alasql.databases[fr.databaseid || databaseid]);
+ // console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
+ //console.log(alasql.databases[fr.databaseid || databaseid].tables, fr.tableid);
+ //console.log(alasql.databases);
+ var table = mem.alasql.databases[fr.databaseid || databaseid].tables[fr.tableid];
+ //console.log(table);
+
+ if (undefined === table) {
+ throw new Error('Table does not exists: ' + fr.tableid);
+ }
+
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-'; // Ambigous
+ } else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ } else if (fr instanceof yy.Select) {
+ } else if (fr instanceof yy.Search) {
+ } else if (fr instanceof yy.ParamValue) {
+ } else if (fr instanceof yy.VarValue) {
+ } else if (fr instanceof yy.FuncValue) {
+ } else if (fr instanceof yy.FromData) {
+ } else if (fr instanceof yy.Json) {
+ } else if (fr.inserted) {
+ } else {
+ // console.log(fr);
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+
+ if (this.joins) {
+ this.joins.forEach(function (jn) {
+ defcols['.'][jn.as || jn.table.tableid] = true;
+
+ // console.log(jn);
+ if (jn.table) {
+ var alias = jn.table.tableid;
+ if (jn.as) alias = jn.as;
+ var alias = jn.as || jn.table.tableid;
+ var table =
+ mem.alasql.databases[jn.table.databaseid || databaseid].tables[jn.table.tableid];
+ // console.log(jn.table.tableid, jn.table.databaseid);
+ if (table.columns) {
+ table.columns.forEach(function (col) {
+ if (defcols[col.columnid]) {
+ defcols[col.columnid] = '-'; // Ambigous
+ } else {
+ defcols[col.columnid] = alias;
+ }
+ });
+ }
+ } else if (jn.select) {
+ throw new Error('Select not implemented yet');
+ } else if (jn.param) {
+ throw new Error('param not implemented yet');
+ } else if (jn.func) {
+ throw new Error('func not implemented yet');
+ } else {
+ throw new Error('Unknown type of FROM clause');
+ }
+ });
+ }
+ // for(var k in defcols) {
+ // if(defcols[k] == '-') defcols[k] = undefined;
+ // }
+ // console.log(89,defcols);
+ return defcols;
+ };
+
+ mem.grammar.yy = yy;
+};
diff --git a/src/grammar/exists.ts b/src/grammar/exists.ts
new file mode 100755
index 0000000000..25aab9dc46
--- /dev/null
+++ b/src/grammar/exists.ts
@@ -0,0 +1,85 @@
+/*
+//
+// EXISTS and other subqueries functions functions for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+
+export default mem => {
+ const yy = mem.grammar.yy;
+
+ yy.ExistsValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.ExistsValue.prototype.toString = function() {
+ return 'EXISTS(' + this.value.toString() + ')';
+ };
+
+ yy.ExistsValue.prototype.toType = function() {
+ return 'boolean';
+ };
+
+ yy.ExistsValue.prototype.toJS = function(context, tableid, defcols) {
+ // return 'ww=this.existsfn['+this.existsidx+'](params,null,p),console.log(ww),ww.length';
+
+ return 'this.existsfn[' + this.existsidx + '](params,null,' + context + ').data.length';
+ };
+
+ yy.Select.prototype.compileWhereExists = function(query) {
+ if (!this.exists) return;
+ query.existsfn = this.exists.map(function(ex) {
+ var nq = ex.compile(query.database.databaseid);
+ // console.log(nq);
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+
+ yy.Select.prototype.compileQueries = function(query) {
+ if (!this.queries) return;
+ query.queriesfn = this.queries.map(function(q) {
+ var nq = q.compile(query.database.databaseid);
+ // console.log(nq);
+ // if(!nq.query) nq.query = {};
+ nq.query.modifier = 'RECORDSET';
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ };
+
+ //
+ // Prepare subqueries and exists
+ //
+
+ // Todo: move this function away from grammar
+ mem.alasql.precompile = function(statement, databaseid, params) {
+ // console.log(statement);
+ if (!statement) return;
+ statement.params = params;
+ if (statement.queries) {
+ //console.log(52,statement.queries[0]);
+ statement.queriesfn = statement.queries.map(function(q) {
+ var nq = q.compile(databaseid || statement.database.databaseid);
+ // console.log(nq);
+ // nq.query.modifier = undefined;
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (statement.exists) {
+ //console.log(62,statement.exists);
+ statement.existsfn = statement.exists.map(function(ex) {
+ var nq = ex.compile(databaseid || statement.database.databaseid);
+ // console.log(nq.query.modifier);
+ // if(!nq.query.modifier) nq.query.modifier = 'RECORDSET';
+ // if(!nq.query.modifier) nq.query.modifier = 'ARRAY';
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ };
+ mem.grammar.yy = yy;
+};
diff --git a/src/grammar/expression.ts b/src/grammar/expression.ts
new file mode 100755
index 0000000000..568f09fa6a
--- /dev/null
+++ b/src/grammar/expression.ts
@@ -0,0 +1,1177 @@
+
+
+import utils from '../utils';
+
+
+
+/*
+//
+// Expressions for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+
+ /**
+ * Expression statement ( = 2*2; )
+ * @class
+ * @param {object} params Initial parameters
+ */
+ yy.ExpressionStatement = function(params) {
+ return yy.extend(this, params);
+ };
+
+ /**
+ Convert AST to string
+ @this ExpressionStatement
+ @return {string}
+*/
+ yy.ExpressionStatement.prototype.toString = function() {
+ return this.expression.toString();
+ };
+ /**
+ Execute statement
+ @param {string} databaseid Database identificatro
+ @param {object} params Statement parameters
+ @param {statement-callback} cb Callback
+ @return {object} Result value
+*/
+ yy.ExpressionStatement.prototype.execute = function(databaseid, params, cb) {
+ if (this.expression) {
+ // console.log(this.expression.toJS('','', null));
+ // console.log(this.expression.toJS('','', null));
+ // console.log(this.expression.toJS('({})','', null));
+
+ alasql.precompile(this, databaseid, params); // Precompile queries
+ var exprfn = new Function(
+ 'params,alasql,p',
+ 'var y;return ' + this.expression.toJS('({})', '', null)
+ ).bind(this);
+ var res = exprfn(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ }
+ };
+
+ /**
+ Expression class
+ @class
+ @param {object} params Initial parameters
+*/
+
+ yy.Expression = function(params) {
+ return yy.extend(this, params);
+ };
+
+ /**
+ Convert AST to string
+ @this ExpressionStatement
+ @return {string}
+*/
+ yy.Expression.prototype.toString = function(dontas) {
+ var s = this.expression.toString(dontas);
+ if (this.order) {
+ s += ' ' + this.order.toString();
+ }
+ if (this.nocase) {
+ s += ' COLLATE NOCASE';
+ }
+ if (this.direction) {
+ s += ' ' + this.direction;
+ }
+ return s;
+ };
+
+ /**
+ Find aggregator in AST subtree
+ @this ExpressionStatement
+ @param {object} query Query object
+*/
+ yy.Expression.prototype.findAggregator = function(query) {
+ if (this.expression.findAggregator) {
+ this.expression.findAggregator(query);
+ }
+ };
+
+ /**
+ Convert AST to JavaScript expression
+ @this ExpressionStatement
+ @param {string} context Context string, e.g. 'p','g', or 'x'
+ @param {string} tableid Default table name
+ @param {object} defcols Default columns dictionary
+ @return {string} JavaScript expression
+*/
+
+ yy.Expression.prototype.toJS = function(context, tableid, defcols) {
+ // console.log('Expression',this);
+ if (this.expression.reduced) {
+ return 'true';
+ }
+ return this.expression.toJS(context, tableid, defcols);
+ };
+
+ /**
+ Compile AST to JavaScript expression
+ @this ExpressionStatement
+ @param {string} context Context string, e.g. 'p','g', or 'x'
+ @param {string} tableid Default table name
+ @param {object} defcols Default columns dictionary
+ @return {string} JavaScript expression
+*/
+
+ yy.Expression.prototype.compile = function(context, tableid, defcols) {
+ // console.log('Expression',this);
+ if (this.reduced) {
+ return utils.returnTrue();
+ }
+ return new Function('p', 'var y;return ' + this.toJS(context, tableid, defcols));
+ };
+
+ /**
+ JavaScript class
+ @class
+*/
+ yy.JavaScript = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.JavaScript.prototype.toString = function() {
+ var s = '``' + this.value + '``';
+ return s;
+ };
+
+ yy.JavaScript.prototype.toJS = function(/* context, tableid, defcols*/) {
+ // console.log('Expression',this);
+ return '(' + this.value + ')';
+ };
+ yy.JavaScript.prototype.execute = function(databaseid, params, cb) {
+ var res = 1;
+ var expr = new Function('params,alasql,p', this.value);
+ expr(params, alasql);
+ if (cb) {
+ res = cb(res);
+ }
+ return res;
+ };
+
+ /**
+ Literal class
+ @class
+ @example
+ MyVar, [My vairable], `MySQL variable`
+*/
+
+ yy.Literal = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.Literal.prototype.toString = function(dontas) {
+ var s = this.value;
+ if (this.value1) {
+ s = this.value1 + '.' + s;
+ }
+ if (this.alias && !dontas) s += ' AS ' + this.alias;
+ // else s = tableid+'.'+s;
+ return s;
+ };
+
+ /**
+ Join class
+ @class
+*/
+
+ yy.Join = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.Join.prototype.toString = function() {
+ var s = ' ';
+ if (this.joinmode) {
+ s += this.joinmode + ' ';
+ }
+ s += 'JOIN ' + this.table.toString();
+ return s;
+ };
+
+ // yy.Join.prototype.toJS = function(context, tableid) {
+ // return 'JOIN'+this.table.toString();
+ // }
+
+ /**
+ Table class
+ @class
+*/
+
+ yy.Table = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.Table.prototype.toString = function() {
+ var s = this.tableid;
+ // if(this.joinmode)
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+
+ /**
+ View class
+ @class
+*/
+
+ yy.View = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.View.prototype.toString = function() {
+ var s = this.viewid;
+ // if(this.joinmode)
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ return s;
+ };
+
+ /**
+ Binary operation class
+ @class
+*/
+ yy.Op = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.Op.prototype.toString = function() {
+ if (this.op === 'IN' || this.op === 'NOT IN') {
+ return this.left.toString() + ' ' + this.op + ' (' + this.right.toString() + ')';
+ }
+ if (this.allsome) {
+ return (
+ this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ this.allsome +
+ ' (' +
+ this.right.toString() +
+ ')'
+ );
+ }
+ if (this.op === '->' || this.op === '!') {
+ var s = this.left.toString() + this.op;
+ // console.log(this.right);
+
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += '(';
+ }
+
+ s += this.right.toString();
+
+ if (typeof this.right !== 'string' && typeof this.right !== 'number') {
+ s += ')';
+ }
+
+ return s;
+ }
+ return (
+ this.left.toString() +
+ ' ' +
+ this.op +
+ ' ' +
+ (this.allsome ? this.allsome + ' ' : '') +
+ this.right.toString()
+ );
+ };
+
+ yy.Op.prototype.findAggregator = function(query) {
+ // console.log(this.toString());
+ if (this.left && this.left.findAggregator) {
+ this.left.findAggregator(query);
+ }
+ // Do not go in > ALL
+ if (this.right && this.right.findAggregator && !this.allsome) {
+ this.right.findAggregator(query);
+ }
+ };
+
+ yy.Op.prototype.toType = function(tableid) {
+ if (['-', '*', '/', '%', '^'].indexOf(this.op) > -1) {
+ return 'number';
+ }
+ if (['||'].indexOf(this.op) > -1) {
+ return 'string';
+ }
+ if (this.op === '+') {
+ if (this.left.toType(tableid) === 'string' || this.right.toType(tableid) === 'string') {
+ return 'string';
+ }
+ if (this.left.toType(tableid) === 'number' || this.right.toType(tableid) === 'number') {
+ return 'number';
+ }
+ }
+
+ if (
+ [
+ 'AND',
+ 'OR',
+ 'NOT',
+ '=',
+ '==',
+ '===',
+ '!=',
+ '!==',
+ '!===',
+ '>',
+ '>=',
+ '<',
+ '<=',
+ 'IN',
+ 'NOT IN',
+ 'LIKE',
+ 'NOT LIKE',
+ 'REGEXP',
+ 'GLOB',
+ ].indexOf(this.op) > -1
+ ) {
+ return 'boolean';
+ }
+
+ if (
+ this.op === 'BETWEEN' ||
+ this.op === 'NOT BETWEEN' ||
+ this.op === 'IS NULL' ||
+ this.op === 'IS NOT NULL'
+ ) {
+ return 'boolean';
+ }
+
+ if (this.allsome) {
+ return 'boolean';
+ }
+
+ if (!this.op) {
+ return this.left.toType();
+ }
+
+ return 'unknown';
+ };
+
+ yy.Op.prototype.toJS = function(context, tableid, defcols) {
+ // console.log(this);
+ var s;
+ var refs = [];
+ var op = this.op;
+ var _this = this;
+ //var leftJS = function(){return _this.left.toJS(context,tableid, defcols)};
+ //var rightJS = function(){return _this.right.toJS(context,tableid, defcols)};
+ var accessedLeft = false,
+ accessedRight = false;
+ var ref = function(expr) {
+ if (expr.toJS) {
+ expr = expr.toJS(context, tableid, defcols);
+ }
+ var i = refs.push(expr) - 1;
+ return 'y[' + i + ']';
+ };
+ var leftJS = function() {
+ return ref(_this.left);
+ };
+ var rightJS = function() {
+ return ref(_this.right);
+ };
+
+ if (this.op === '=') {
+ op = '===';
+ } else if (this.op === '<>') {
+ op = '!=';
+ } else if (this.op === 'OR') {
+ op = '||';
+ }
+
+ // Arrow operator
+ if (this.op === '->') {
+ // Expression to prevent error if object is empty (#344)
+ var ljs = '(' + leftJS() + '||{})';
+
+ if (typeof this.right === 'string') {
+ s = ljs + '["' + this.right + '"]';
+ } else if (typeof this.right === 'number') {
+ s = ljs + '[' + this.right + ']';
+ } else if (this.right instanceof yy.FuncValue) {
+ var ss = [];
+ if (!(!this.right.args || 0 === this.right.args.length)) {
+ ss = this.right.args.map(ref);
+ }
+ s = '' + ljs + "['" + this.right.funcid + "'](" + ss.join(',') + ')';
+ } else {
+ s = '' + ljs + '[' + rightJS() + ']';
+ }
+ }
+
+ if (this.op === '!') {
+ if (typeof this.right === 'string') {
+ s =
+ '' +
+ 'alasql.databases[alasql.useid].objects[' +
+ leftJS() +
+ ']["' +
+ this.right +
+ '"]';
+ }
+ // TODO - add other cases
+ }
+
+ if (this.op === 'IS') {
+ s =
+ '' +
+ '(' +
+ '(' +
+ leftJS() +
+ '==null)' + // Cant be ===
+ ' === ' +
+ '(' +
+ rightJS() +
+ '==null)' + // Cant be ===
+ ')';
+ }
+
+ if (this.op === '==') {
+ s = '' + 'alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + ')';
+ }
+
+ if (this.op === '===' || this.op === '!===') {
+ s =
+ '' +
+ '(' +
+ (this.op === '!===' ? '!' : '') +
+ '(' +
+ '(' +
+ leftJS() +
+ ').valueOf()' +
+ '===' +
+ '(' +
+ rightJS() +
+ ').valueOf()' +
+ ')' +
+ ')';
+ }
+
+ if (this.op === '!==') {
+ s = '' + '(!alasql.utils.deepEqual(' + leftJS() + ',' + rightJS() + '))';
+ }
+ if (this.op === '||') {
+ s = '' + "(''+(" + leftJS() + "||'')+(" + rightJS() + '||""))';
+ }
+ if (this.op === 'LIKE' || this.op === 'NOT LIKE') {
+ s =
+ '(' +
+ (this.op === 'NOT LIKE' ? '!' : '') +
+ 'alasql.utils.like(' +
+ rightJS() +
+ ',' +
+ leftJS();
+ if (this.escape) {
+ s += ',' + ref(this.escape);
+ }
+ s += '))';
+ }
+ if (this.op === 'REGEXP') {
+ s = 'alasql.stdfn.REGEXP_LIKE(' + leftJS() + ',' + rightJS() + ')';
+ }
+ if (this.op === 'GLOB') {
+ s = 'alasql.utils.glob(' + leftJS() + ',' + rightJS() + ')';
+ }
+
+ if (this.op === 'BETWEEN' || this.op === 'NOT BETWEEN') {
+ var left = leftJS();
+ s =
+ '' +
+ '(' +
+ (this.op === 'NOT BETWEEN' ? '!' : '') +
+ '(' +
+ '(' +
+ ref(this.right1) +
+ '<=' +
+ left +
+ ') && (' +
+ left +
+ '<=' +
+ ref(this.right2) +
+ ')' +
+ ')' +
+ ')';
+
+ /*/*
+ if(this.right instanceof yy.Op && this.right.op == 'AND') {
+
+ return ref('(('+this.right.left)+'<='+leftJS()+')&&'+
+ ref('('+leftJS()+'<='+this.right.right)+'))';
+
+ } else {
+ throw new Error('Wrong BETWEEN operator without AND part');
+ }
+*/
+ }
+
+ if (this.op === 'IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ // s += 'this.query.queriesdata['+this.queriesidx+']';
+ // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,context))';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,' +
+ context +
+ '))';
+ s += '.indexOf(';
+ s += leftJS() + ')>-1)';
+ } else if (Array.isArray(this.right)) {
+ // if(this.right.length == 0) return 'false';
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(' + leftJS() + ')>-1)';
+ //console.log(s);
+ } else {
+ s = '(' + rightJS() + '.indexOf(' + leftJS() + ')>-1)';
+ //console.log('expression',350,s);
+ // } else {
+ // throw new Error('Wrong IN operator without SELECT part');
+ }
+ }
+
+ if (this.op === 'NOT IN') {
+ if (this.right instanceof yy.Select) {
+ s = '(';
+ //this.query.queriesdata['+this.queriesidx+']
+ // s += 'alasql.utils.flatArray(this.query.queriesfn['+(this.queriesidx)+'](params,null,p))';
+ s +=
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.indexOf(';
+ s += leftJS() + ')<0)';
+ } else if (Array.isArray(this.right)) {
+ // if(this.right.length == 0) return 'true';
+ s = '([' + this.right.map(ref).join(',') + '].indexOf(';
+ s += leftJS() + ')<0)';
+ } else {
+ s = '(' + rightJS() + '.indexOf(';
+ s += leftJS() + ')==-1)';
+
+ // throw new Error('Wrong NOT IN operator without SELECT part');
+ }
+ }
+
+ if (this.allsome === 'ALL') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ // var s = 'this.query.queriesdata['+this.queriesidx+']';
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ } else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.every(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ } else {
+ throw new Error('NOT IN operator without SELECT');
+ }
+ }
+
+ if (this.allsome === 'SOME' || this.allsome === 'ANY') {
+ var s;
+ if (this.right instanceof yy.Select) {
+ // var s = 'this.query.queriesdata['+this.queriesidx+']';
+ s =
+ 'alasql.utils.flatArray(this.query.queriesfn[' +
+ this.queriesidx +
+ '](params,null,p))';
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ } else if (Array.isArray(this.right)) {
+ s =
+ '' +
+ (this.right.length == 1
+ ? ref(this.right[0])
+ : '[' + this.right.map(ref).join(',') + ']');
+ s += '.some(function(b){return (';
+ s += leftJS() + ')' + op + 'b})';
+ } else {
+ throw new Error('SOME/ANY operator without SELECT');
+ }
+ }
+
+ // Special case for AND optimization (if reduced)
+ if (this.op === 'AND') {
+ if (this.left.reduced) {
+ if (this.right.reduced) {
+ return 'true';
+ } else {
+ s = rightJS();
+ }
+ } else if (this.right.reduced) {
+ s = leftJS();
+ }
+
+ // Otherwise process as regular operation (see below)
+ op = '&&';
+ }
+
+ // if(this.op === '^') {
+ // // return 'Math.pow('
+ // // + leftJS()
+ // // + ','
+ // // + rightJS()
+ // // + ')';
+ // }
+
+ // Change names
+ // console.log(this);
+ var expr = s || '(' + leftJS() + op + rightJS() + ')';
+
+ var declareRefs = 'y=[(' + refs.join('), (') + ')]';
+
+ if (op === '&&' || op === '||' || op === 'IS' || op === 'IS NULL' || op === 'IS NOT NULL') {
+ return '(' + declareRefs + ', ' + expr + ')';
+ }
+
+ return (
+ '(' +
+ declareRefs +
+ ', ' +
+ 'y.some(function(e){return e == null}) ? void 0 : ' +
+ expr +
+ ')'
+ );
+ };
+
+ yy.VarValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.VarValue.prototype.toString = function() {
+ return '@' + this.variable;
+ };
+
+ yy.VarValue.prototype.toType = function() {
+ return 'unknown';
+ };
+
+ yy.VarValue.prototype.toJS = function() {
+ return "alasql.vars['" + this.variable + "']";
+ };
+
+ yy.NumValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.NumValue.prototype.toString = function() {
+ return this.value.toString();
+ };
+
+ yy.NumValue.prototype.toType = function() {
+ return 'number';
+ };
+
+ yy.NumValue.prototype.toJS = function() {
+ return '' + this.value;
+ };
+
+ yy.StringValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.StringValue.prototype.toString = function() {
+ return "'" + this.value.toString() + "'";
+ };
+
+ yy.StringValue.prototype.toType = function() {
+ return 'string';
+ };
+
+ yy.StringValue.prototype.toJS = function() {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return "'" + utils.escapeq(this.value) + "'";
+ };
+
+ yy.DomainValueValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.DomainValueValue.prototype.toString = function() {
+ return 'VALUE';
+ };
+
+ yy.DomainValueValue.prototype.toType = function() {
+ return 'object';
+ };
+
+ yy.DomainValueValue.prototype.toJS = function(context, tableid, defcols) {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return context;
+ };
+
+ yy.ArrayValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.ArrayValue.prototype.toString = function() {
+ return 'ARRAY[]';
+ };
+
+ yy.ArrayValue.prototype.toType = function() {
+ return 'object';
+ };
+
+ yy.ArrayValue.prototype.toJS = function(context, tableid, defcols) {
+ // console.log("'"+doubleqq(this.value)+"'");
+ // return "'"+doubleqq(this.value)+"'";
+ return (
+ '[(' +
+ this.value
+ .map(function(el) {
+ return el.toJS(context, tableid, defcols);
+ })
+ .join('), (') +
+ ')]'
+ );
+ };
+
+ yy.LogicValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.LogicValue.prototype.toString = function() {
+ return this.value ? 'TRUE' : 'FALSE';
+ };
+
+ yy.LogicValue.prototype.toType = function() {
+ return 'boolean';
+ };
+
+ yy.LogicValue.prototype.toJS = function() {
+ return this.value ? 'true' : 'false';
+ };
+
+ yy.NullValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.NullValue.prototype.toString = function() {
+ return 'NULL';
+ };
+ yy.NullValue.prototype.toJS = function() {
+ return 'undefined';
+ // return 'undefined';
+ };
+
+ yy.ParamValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.ParamValue.prototype.toString = function() {
+ return '$' + this.param;
+ };
+ yy.ParamValue.prototype.toJS = function() {
+ if (typeof this.param === 'string') {
+ return "params['" + this.param + "']";
+ }
+
+ return 'params[' + this.param + ']';
+ };
+
+ yy.UniOp = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.UniOp.prototype.toString = function() {
+ var s;
+ s = void 0;
+ if (this.op === '~') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '-') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '+') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === '#') {
+ s = this.op + this.right.toString();
+ }
+ if (this.op === 'NOT') {
+ s = this.op + '(' + this.right.toString() + ')';
+ }
+ if (this.op === null) {
+ s = '(' + this.right.toString() + ')';
+ }
+ if (!s) {
+ s = '(' + this.right.toString() + ')';
+ }
+ return s;
+ };
+
+ yy.UniOp.prototype.findAggregator = function(query) {
+ if (this.right.findAggregator) {
+ this.right.findAggregator(query);
+ }
+ };
+
+ yy.UniOp.prototype.toType = function() {
+ if (this.op === '-') {
+ return 'number';
+ }
+
+ if (this.op === '+') {
+ return 'number';
+ }
+
+ if (this.op === 'NOT') {
+ return 'boolean';
+ }
+
+ // Todo: implement default case
+ };
+
+ yy.UniOp.prototype.toJS = function(context, tableid, defcols) {
+ if (this.op === '~') {
+ return '(~(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+
+ if (this.op === '-') {
+ return '(-(' + this.right.toJS(context, tableid, defcols) + '))';
+ }
+
+ if (this.op === '+') {
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+
+ if (this.op === 'NOT') {
+ return '!(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+
+ if (this.op === '#') {
+ if (this.right instanceof yy.Column) {
+ return "(alasql.databases[alasql.useid].objects['" + this.right.columnid + "'])";
+ } else {
+ return (
+ '(alasql.databases[alasql.useid].objects[' +
+ this.right.toJS(context, tableid, defcols) +
+ '])'
+ );
+ }
+ }
+
+ // Please avoid === here
+ if (this.op == null) {
+ // jshint ignore:line
+ return '(' + this.right.toJS(context, tableid, defcols) + ')';
+ }
+
+ // Todo: implement default case.
+ };
+
+ /*/*
+// yy.Star = function (params) { return yy.extend(this, params); }
+// yy.Star.prototype.toString = function() {
+// var s = this.fieldid;
+// if(this.tableid) {
+// s = this.tableid+'.'+s;
+// if(this.databaseid) {
+// s = this.databaseid+'.'+s;
+// }
+// }
+// if(this.alias) s += ' AS '+this.alias;
+// return s;
+// }
+*/
+ yy.Column = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.Column.prototype.toString = function(dontas) {
+ var s;
+ if (this.columnid == +this.columnid) {
+ // jshint ignore:line
+ s = '[' + this.columnid + ']';
+ } else {
+ s = this.columnid;
+ }
+ if (this.tableid) {
+ if (+this.columnid === this.columnid) {
+ s = this.tableid + s;
+ } else {
+ s = this.tableid + '.' + s;
+ }
+ if (this.databaseid) {
+ s = this.databaseid + '.' + s;
+ }
+ }
+ if (this.alias && !dontas) s += ' AS ' + this.alias;
+ return s;
+ };
+
+ yy.Column.prototype.toJS = function(context, tableid, defcols) {
+ /*/*
+// var s = this.value;
+// var s = this.columnid;
+// if(this.tableid) {
+// s = this.tableid+'.'+s;
+// // if(this.databaseid) {
+// // s = this.databaseid+'.'+s;
+// // }
+// } else {
+// s = tableid+'.'+s;
+// }
+*/
+ //console.log('yy.Column',this, tableid);
+ // console.log(392,this.columnid);
+
+ //console.log(506,this);
+
+ //console.log(523, this, tableid);
+
+ var s = '';
+ if (!this.tableid && tableid === '' && !defcols) {
+ if (this.columnid !== '_') {
+ s = context + "['" + this.columnid + "']";
+ } else {
+ if (context === 'g') {
+ s = "g['_']";
+ } else {
+ s = context;
+ }
+ }
+ } else {
+ if (context === 'g') {
+ // if(this.columnid == '_') {
+ // } else {
+ s = "g['" + this.nick + "']";
+ // }
+ } else if (this.tableid) {
+ if (this.columnid !== '_') {
+ // if() {
+ // s = context+'[\''+tableid + '\'][\''+this.tableid+'\'][\''+this.columnid+'\']';
+ // } else {
+ s = context + "['" + this.tableid + "']['" + this.columnid + "']";
+ // }
+ } else {
+ if (context === 'g') {
+ s = "g['_']";
+ } else {
+ s = context + "['" + this.tableid + "']";
+ }
+ }
+ } else if (defcols) {
+ var tbid = defcols[this.columnid];
+ if (tbid === '-') {
+ throw new Error(
+ 'Cannot resolve column "' +
+ this.columnid +
+ '" because it exists in two source tables'
+ );
+ } else if (tbid) {
+ if (this.columnid !== '_') {
+ s = context + "['" + tbid + "']['" + this.columnid + "']";
+ } else {
+ s = context + "['" + tbid + "']";
+ }
+ // console.log(836,tbid,s);
+ } else {
+ if (this.columnid !== '_') {
+ // if(defcols['.'][this.tableid]) {
+ // console.log(847,tableid);
+ // console.log(context+'[\''+tableid + '\'][\''+this.tableid + '\']','[\''+this.columnid+'\']');
+ // s = context+'[\''+tableid + '\'][\''+this.tableid + '\'][\''+this.columnid+'\']';
+ // } else {
+ s =
+ context +
+ "['" +
+ (this.tableid || tableid) +
+ "']['" +
+ this.columnid +
+ "']";
+ // }
+ } else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ } else if (tableid === -1) {
+ // if(this.columnid != '') {
+ s = context + "['" + this.columnid + "']";
+ // } else {
+ // s = context;
+ // }
+ } else {
+ if (this.columnid !== '_') {
+ s = context + "['" + (this.tableid || tableid) + "']['" + this.columnid + "']";
+ } else {
+ s = context + "['" + (this.tableid || tableid) + "']";
+ }
+ }
+ }
+ // console.log(context,s);
+ // console.trace(new Error());
+ //console.log(874,s);
+ return s;
+ };
+
+ yy.AggrValue = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.AggrValue.prototype.toString = function(dontas) {
+ var s = '';
+ if (this.aggregatorid === 'REDUCE') {
+ s += this.funcid + '(';
+ } else {
+ s += this.aggregatorid + '(';
+ }
+
+ if (this.distinct) {
+ s += 'DISTINCT ';
+ }
+
+ if (this.expression) {
+ s += this.expression.toString();
+ }
+
+ s += ')';
+
+ if (this.over) {
+ s += ' ' + this.over.toString();
+ }
+ // console.log(this.over);
+ if (this.alias && !dontas) s += ' AS ' + this.alias;
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+
+ yy.AggrValue.prototype.findAggregator = function(query) {
+ // console.log('aggregator found',this.toString());
+
+ // var colas = this.as || this.toString();
+
+ var colas = utils.escapeq(this.toString()) + ':' + query.selectGroup.length;
+ // console.log('findAgg',this);
+
+ /*/* var found = false;
+ for(var i=0;i -1
+ ) {
+ return 'number';
+ }
+
+ if (['ARRAY'].indexOf(this.aggregatorid) > -1) {
+ return 'array';
+ }
+
+ if (['FIRST', 'LAST'].indexOf(this.aggregatorid) > -1) {
+ return this.expression.toType();
+ }
+
+ // todo: implement default;
+ };
+
+ yy.AggrValue.prototype.toJS = function(/*context, tableid, defcols*/) {
+ /*/*
+// var s = 'alasql.functions.'+this.funcid+'(';
+// if(this.expression) s += this.expression.toJS(context, tableid);
+// s += ')';
+// if(this.alias) s += ' AS '+this.alias;
+// return s;
+// var s = '';
+//if(this.as) console.log(499,this.as);
+// var colas = this.as;
+*/
+ var colas = this.nick;
+ if (colas === undefined) {
+ colas = this.toString();
+ }
+ return "g['" + colas + "']";
+ };
+
+ yy.OrderExpression = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.OrderExpression.prototype.toString = yy.Expression.prototype.toString;
+ /*/* //Duplicated code
+
+function() {
+ var s = this.expression.toString();
+ if(this.order) s += ' '+this.order.toString();
+ if(this.nocase) s += ' '+'COLLATE'+' '+'NOCASE';
+ return s;
+}*/
+
+ yy.GroupExpression = function(params) {
+ return yy.extend(this, params);
+ };
+ yy.GroupExpression.prototype.toString = function() {
+ return this.type + '(' + this.group.toString() + ')';
+ };
+
+ /*/* //Duplicated code
+yy.ColumnDef = function (params) { return yy.extend(this, params); }
+yy.ColumnDef.prototype.toString = function() {
+ var s = this.columnid;
+ if(this.dbtypeid) s += ' '+this.dbtypeid;
+ if(this.dbsize) {
+ s += '('+this.dbsize;
+ if(this.dbprecision) s += ','+this.dbprecision;
+ s += ')';
+ };
+ if(this.primarykey) s += ' PRIMARY KEY';
+ if(this.notnull) s += ' NOT NULL';
+ return s;
+}*/
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/src/420from.js b/src/grammar/from.js
similarity index 94%
rename from src/420from.js
rename to src/grammar/from.js
index 26a31b1555..7fb36bc56a 100755
--- a/src/420from.js
+++ b/src/grammar/from.js
@@ -6,8 +6,11 @@
//
*/
-/* global yy, alasql, Mongo, returnTrue */
+import utils from '../utils';
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
yy.Select.prototype.compileFrom = function(query) {
// console.log(1);
@@ -61,9 +64,9 @@ yy.Select.prototype.compileFrom = function(query) {
databaseid: tq.databaseid || query.database.databaseid,
tableid: tq.tableid,
joinmode: 'INNER',
- onmiddlefn: returnTrue,
+ onmiddlefn: utils.returnTrue,
srcwherefns: '', // for optimization
- srcwherefn: returnTrue,
+ srcwherefn: utils.returnTrue,
// columns: []
};
@@ -273,3 +276,8 @@ alasql.prepareFromData = function(data, array) {
// console.log(typeof data);
return res;
};
+
+
+mem.grammar.yy = yy;
+mem.alasql = alasql;
+};
\ No newline at end of file
diff --git a/src/grammar/functions.ts b/src/grammar/functions.ts
new file mode 100755
index 0000000000..48087fb86d
--- /dev/null
+++ b/src/grammar/functions.ts
@@ -0,0 +1,126 @@
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+
+ yy.FuncValue = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.FuncValue.prototype.toString = function (dontas) {
+ var s = '';
+
+ if (alasql.fn[this.funcid]) s += this.funcid;
+ else if (alasql.aggr[this.funcid]) s += this.funcid;
+ else if (alasql.stdlib[this.funcid.toUpperCase()] || alasql.stdfn[this.funcid.toUpperCase()])
+ s += this.funcid.toUpperCase();
+
+ s += '(';
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(',');
+ }
+ s += ')';
+ if (this.as && !dontas) s += ' AS ' + this.as.toString();
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+
+ yy.FuncValue.prototype.execute = function (databaseid, params, cb) {
+ var res = 1;
+ alasql.precompile(this, databaseid, params); // Precompile queries
+ // console.log(34,this.toJS('','',null));
+ var expr = new Function('params,alasql', 'var y;return ' + this.toJS('', '', null));
+ expr(params, alasql);
+ if (cb) res = cb(res);
+ return res;
+ };
+
+ /*/*
+ //yy.FuncValue.prototype.compile = function(context, tableid, defcols){
+ // console.log('Expression',this);
+ // if(this.reduced) return returnTrue();
+ // return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
+ //};
+
+
+ // yy.FuncValue.prototype.compile = function(context, tableid, defcols){
+ // // console.log('Expression',this);
+ // if(this.reduced) return returnTrue();
+ // return new Function('p','var y;return '+this.toJS(context, tableid, defcols));
+ // };
+
+ */
+
+ yy.FuncValue.prototype.findAggregator = function (query) {
+ if (this.args && this.args.length > 0) {
+ this.args.forEach(function (arg) {
+ if (arg.findAggregator) arg.findAggregator(query);
+ });
+ }
+ };
+
+ yy.FuncValue.prototype.toJS = function (context, tableid, defcols) {
+ var s = '';
+ var funcid = this.funcid;
+ // IF this is standard compile functions
+ if (!alasql.fn[funcid] && alasql.stdlib[funcid.toUpperCase()]) {
+ if (this.args && this.args.length > 0) {
+ s += alasql.stdlib[funcid.toUpperCase()].apply(
+ this,
+ this.args.map(function (arg) {
+ return arg.toJS(context, tableid);
+ })
+ );
+ } else {
+ s += alasql.stdlib[funcid.toUpperCase()]();
+ }
+ } else if (!alasql.fn[funcid] && alasql.stdfn[funcid.toUpperCase()]) {
+ if (this.newid) s += 'new ';
+ s += 'alasql.stdfn.' + this.funcid.toUpperCase() + '(';
+ // if(this.args) s += this.args.toJS(context, tableid);
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ } else {
+ // This is user-defined run-time function
+ // TODO arguments!!!
+ // var s = '';
+ if (this.newid) s += 'new ';
+ s += 'alasql.fn.' + this.funcid + '(';
+ // if(this.args) s += this.args.toJS(context, tableid);
+ if (this.args && this.args.length > 0) {
+ s += this.args
+ .map(function (arg) {
+ return arg.toJS(context, tableid, defcols);
+ })
+ .join(',');
+ }
+ s += ')';
+ }
+ //console.log('userfn:',s,this);
+
+ // if(this.alias) s += ' AS '+this.alias;
+ return s;
+ };
+
+ /*/*
+ // // Functions compiler
+ // nodes.FunctionValue.prototype.toJS = function (context, tableid) {
+ // var s = '';
+ // s += fns[this.name.toUpperCase()].apply(null,this.arguments.map(function(arg){
+ // if(arg) return arg.toJS(context, tableid);
+ // else return '';
+ // }));
+ // return s;
+ // };
+ */
+
+ mem.grammar.yy = yy;
+};
\ No newline at end of file
diff --git a/src/grammar/insert.js b/src/grammar/insert.js
new file mode 100755
index 0000000000..993087b3c5
--- /dev/null
+++ b/src/grammar/insert.js
@@ -0,0 +1,324 @@
+/*
+//
+// INSERT for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+
+
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+
+
+ yy.Insert = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.Insert.prototype.toString = function () {
+ var s = 'INSERT ';
+ if (this.orreplace) s += 'OR REPLACE ';
+ if (this.replaceonly) s = 'REPLACE ';
+ s += 'INTO ' + this.into.toString();
+ if (this.columns) s += '(' + this.columns.toString() + ')';
+ if (this.values) s += ' VALUES ' + this.values.toString();
+ if (this.select) s += ' ' + this.select.toString();
+ return s;
+ };
+
+ yy.Insert.prototype.toJS = function (context, tableid, defcols) {
+ // console.log('Expression',this);
+ // if(this.expression.reduced) return 'true';
+ // return this.expression.toJS(context, tableid, defcols);
+ // console.log('Select.toJS', 81, this.queriesidx);
+ // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
+
+ var s = 'this.queriesfn[' + (this.queriesidx - 1) + '](this.params,null,' + context + ')';
+ // s = '(console.log(this.queriesfn[0]),'+s+')';
+ // console.log(this,s);
+
+ return s;
+ };
+
+ yy.Insert.prototype.compile = function (databaseid) {
+ var self = this;
+ databaseid = self.into.databaseid || databaseid;
+ var db = alasql.databases[databaseid];
+ // console.log(self);
+ var tableid = self.into.tableid;
+ var table = db.tables[tableid];
+
+ if (!table) {
+ throw "Table '" + tableid + "' could not be found";
+ }
+
+ // Check, if this dirty flag is required
+ var s = '';
+ var sw = '';
+ var s = "db.tables['" + tableid + "'].dirty=true;";
+ var s3 = 'var a,aa=[],x;';
+
+ var s33;
+
+ // INSERT INTO table VALUES
+ if (this.values) {
+ if (this.exists) {
+ this.existsfn = this.exists.map(function (ex) {
+ var nq = ex.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+ if (this.queries) {
+ this.queriesfn = this.queries.map(function (q) {
+ var nq = q.compile(databaseid);
+ nq.query.modifier = 'RECORDSET';
+ return nq;
+ });
+ }
+
+ // console.log(1);
+ self.values.forEach(function (values) {
+ var ss = [];
+
+ // s += 'db.tables[\''+tableid+'\'].data.push({';
+
+ // s += '';
+ if (self.columns) {
+ self.columns.forEach(function (col, idx) {
+ //console.log(db.tables, tableid, table);
+ // ss.push(col.columnid +':'+ self.values[idx].value.toString());
+ // console.log(rec[f.name.value]);
+ // if(rec[f.name.value] == "NULL") rec[f.name.value] = undefined;
+
+ // if(table.xflds[f.name.value].dbtypeid == "INT") rec[f.name.value] = +rec[f.name.value]|0;
+ // else if(table.xflds[f.name.value].dbtypeid == "FLOAT") rec[f.name.value] = +rec[f.name.value];
+ var q = "'" + col.columnid + "':";
+ if (table.xcolumns && table.xcolumns[col.columnid]) {
+ if (
+ ['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(
+ table.xcolumns[col.columnid].dbtypeid
+ ) >= 0
+ ) {
+ //q += ''
+ q += '(x=' + values[idx].toJS() + ',x==undefined?undefined:+x)';
+ } else if (alasql.fn[table.xcolumns[col.columnid].dbtypeid]) {
+ q += '(new ' + table.xcolumns[col.columnid].dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ } else {
+ q += values[idx].toJS();
+ }
+ } else {
+ q += values[idx].toJS();
+ }
+ ss.push(q);
+ });
+ } else {
+ // var table = db.tables[tableid];
+ // console.log('table1', db, self);
+ //console.log(111, table.columns);
+ //console.log(74,table);
+ if (Array.isArray(values) && table.columns && table.columns.length > 0) {
+ table.columns.forEach(function (col, idx) {
+ var q = "'" + col.columnid + "':";
+ // var val = values[idx].toJS();
+
+ if (['INT', 'FLOAT', 'NUMBER', 'MONEY'].indexOf(col.dbtypeid) >= 0) {
+ q += '+' + values[idx].toJS();
+ } else if (alasql.fn[col.dbtypeid]) {
+ q += '(new ' + col.dbtypeid + '(';
+ q += values[idx].toJS();
+ q += '))';
+ } else {
+ q += values[idx].toJS();
+ }
+ /*/*
+ // if(table.xcolumns && table.xcolumns[col.columnid] &&
+ // (table.xcolumns[col.columnid].dbtypeid == "DATE" ||
+ // table.xcolumns[col.columnid].dbtypeid == "DATETIME"
+ // )) {
+ // val = "(new Date("+val+"))";
+ // }
+ // || table.xcolumns[col.columnid].dbtypeid == "FLOAT"
+ // || table.xcolumns[col.columnid].dbtypeid == "NUMBER"
+ // || table.xcolumns[col.columnid].dbtypeid == "MONEY"
+ // )) q += '+';
+ // console.log(self.values[idx].toString());
+ //console.log(self);
+ // q += val;
+
+ // if(table.xcolumns && table.xcolumns[col.columnid] && table.xcolumns[col.columnid].dbtypeid == "INT") q += '|0';
+ */
+
+ ss.push(q);
+ /*/*
+ // console.log(fld);
+ // TODO: type checking and conversions
+ // rec[fld.fldid] = eval(self.insertExpression[idx].toJS('',''));
+ // console.log(rec[fld.fldid]);
+ // if(rec[fld.fldid] == "NULL") rec[fld.fldid] = undefined;
+
+ // if(table.xflds[fld.fldid].dbtypeid == "INT") rec[fld.fldid] = +rec[fld.fldid]|0;
+ // else if(table.xflds[fld.fldid].dbtypeid == "FLOAT" || table.xflds[fld.fldid].dbtypeid == "MONEY" )
+ // rec[fld.fldid] = +rec[fld.fldid];
+ */
+ });
+ } else {
+ // console.log(222,values);
+ // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
+ sw = JSONtoJS(values);
+ }
+ }
+ //console.log(ss);
+
+ if (db.tables[tableid].defaultfns) {
+ ss.unshift(db.tables[tableid].defaultfns);
+ }
+ if (sw) {
+ s += 'a=' + sw + ';';
+ } else {
+ s += 'a={' + ss.join(',') + '};';
+ }
+
+ // If this is a class
+ if (db.tables[tableid].isclass) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s += 'a.$class="' + tableid + '";';
+ s += 'a.$id=db.counter++;';
+ s += 'db.objects[a.$id]=a;';
+ }
+ // s += 'db.tables[\''+tableid+'\'].insert(r);';
+ if (db.tables[tableid].insert) {
+ s += "var db=alasql.databases['" + databaseid + "'];";
+ s +=
+ "db.tables['" +
+ tableid +
+ "'].insert(a," +
+ (self.orreplace ? 'true' : 'false') +
+ ');';
+ } else {
+ s += 'aa.push(a);';
+ }
+ });
+
+ s33 = s3 + s;
+
+ if (db.tables[tableid].insert) {
+ // s += 'alasql.databases[\''+databaseid+'\'].tables[\''+tableid+'\'].insert(r);';
+ } else {
+ s +=
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data=" +
+ "alasql.databases['" +
+ databaseid +
+ "'].tables['" +
+ tableid +
+ "'].data.concat(aa);";
+ }
+
+ if (db.tables[tableid].insert) {
+ if (db.tables[tableid].isclass) {
+ s += 'return a.$id;';
+ } else {
+ s += 'return ' + self.values.length;
+ }
+ } else {
+ s += 'return ' + self.values.length;
+ }
+
+ //console.log(186,s3+s);
+ var insertfn = new Function('db, params, alasql', 'var y;' + s3 + s).bind(this);
+
+ // INSERT INTO table SELECT
+ } else if (this.select) {
+ this.select.modifier = 'RECORDSET';
+ var selectfn = this.select.compile(databaseid);
+ if (db.engineid && alasql.engines[db.engineid].intoTable) {
+ var statement = function (params, cb) {
+ var aa = selectfn(params);
+ var res = alasql.engines[db.engineid].intoTable(
+ db.databaseid,
+ tableid,
+ aa.data,
+ null,
+ cb
+ );
+ return res;
+ };
+ return statement;
+ } else {
+ // console.log(224,table.defaultfns);
+ var defaultfns = 'return alasql.utils.extend(r,{' + table.defaultfns + '})';
+ var defaultfn = new Function('r,db,params,alasql', defaultfns);
+ var insertfn = function (db, params, alasql) {
+ var res = selectfn(params).data;
+ if (db.tables[tableid].insert) {
+ // If insert() function exists (issue #92)
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ var r = cloneDeep(res[i]);
+ defaultfn(r, db, params, alasql);
+ db.tables[tableid].insert(r, self.orreplace);
+ }
+ } else {
+ db.tables[tableid].data = db.tables[tableid].data.concat(res);
+ }
+ if (alasql.options.nocount) return;
+ else return res.length;
+ };
+ }
+ } else if (this.default) {
+ var insertfns =
+ "db.tables['" + tableid + "'].data.push({" + table.defaultfns + '});return 1;';
+ var insertfn = new Function('db,params,alasql', insertfns);
+ } else {
+ throw new Error('Wrong INSERT parameters');
+ }
+
+ // console.log(1,s);
+ // console.log(s33);
+
+ if (db.engineid && alasql.engines[db.engineid].intoTable && alasql.options.autocommit) {
+ var statement = function (params, cb) {
+ var aa = new Function('db,params', 'var y;' + s33 + 'return aa;')(db, params);
+ // console.log(s33);
+ var res = alasql.engines[db.engineid].intoTable(db.databaseid, tableid, aa, null, cb);
+ // if(cb) cb(res);
+ return res;
+ };
+ } else {
+ var statement = function (params, cb) {
+ //console.log(databaseid);
+ var db = alasql.databases[databaseid];
+
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].loadTableData(databaseid, tableid);
+ }
+
+ var res = insertfn(db, params, alasql);
+
+ if (alasql.options.autocommit && db.engineid) {
+ alasql.engines[db.engineid].saveTableData(databaseid, tableid);
+ }
+ // var res = insertfn(db, params);
+ if (alasql.options.nocount) res = undefined;
+ if (cb) cb(res);
+ return res;
+ };
+ }
+
+ return statement;
+ };
+
+ yy.Insert.prototype.execute = function (databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ // throw new Error('Insert statement is should be compiled')
+ };
+
+
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
\ No newline at end of file
diff --git a/src/425having.js b/src/grammar/later/425having.js
similarity index 100%
rename from src/425having.js
rename to src/grammar/later/425having.js
diff --git a/src/427pivot.js b/src/grammar/later/427pivot.js
similarity index 88%
rename from src/427pivot.js
rename to src/grammar/later/427pivot.js
index c31b941646..11c4394cc3 100755
--- a/src/427pivot.js
+++ b/src/grammar/later/427pivot.js
@@ -24,7 +24,7 @@ yy.Select.prototype.compilePivot = function(query) {
var query = this;
var cols = query.columns
.filter(function(col) {
- return col.columnid != columnid && col.columnid != exprcolid;
+ return col.columnid !== columnid && col.columnid !== exprcolid;
})
.map(function(col) {
return col.columnid;
@@ -68,20 +68,20 @@ yy.Select.prototype.compilePivot = function(query) {
}
if (aggr == 'SUM' || aggr == 'AVG') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = 0;
+ if (typeof g[d[columnid]] === 'undefined') g[d[columnid]] = 0;
g[d[columnid]] += d[exprcolid];
- } else if (aggr == 'COUNT') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = 0;
+ } else if (aggr === 'COUNT') {
+ if (typeof g[d[columnid]] === 'undefined') g[d[columnid]] = 0;
g[d[columnid]]++;
- } else if (aggr == 'MIN') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = Infinity;
+ } else if (aggr === 'MIN') {
+ if (typeof g[d[columnid]] === 'undefined') g[d[columnid]] = Infinity;
if (d[exprcolid] < g[d[columnid]]) g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'MAX') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = -Infinity;
+ } else if (aggr === 'MAX') {
+ if (typeof g[d[columnid]] === 'undefined') g[d[columnid]] = -Infinity;
if (d[exprcolid] > g[d[columnid]]) g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'FIRST') {
- if (typeof g[d[columnid]] == 'undefined') g[d[columnid]] = d[exprcolid];
- } else if (aggr == 'LAST') {
+ } else if (aggr === 'FIRST') {
+ if (typeof g[d[columnid]] === 'undefined') g[d[columnid]] = d[exprcolid];
+ } else if (aggr === 'LAST') {
g[d[columnid]] = d[exprcolid];
} else if (alasql.aggr[aggr]) {
// Custom aggregator
@@ -92,11 +92,11 @@ yy.Select.prototype.compilePivot = function(query) {
}
});
- if (aggr == 'AVG') {
+ if (aggr === 'AVG') {
for (var gx in gr) {
var d = gr[gx];
for (var colid in d) {
- if (cols.indexOf(colid) == -1 && colid != exprcolid) {
+ if (cols.indexOf(colid) === -1 && colid !== exprcolid) {
d[colid] = d[colid] / ga[gx][colid];
}
}
diff --git a/src/46apply.js b/src/grammar/later/46apply.js
similarity index 100%
rename from src/46apply.js
rename to src/grammar/later/46apply.js
diff --git a/src/47over.js b/src/grammar/later/47over.js
similarity index 100%
rename from src/47over.js
rename to src/grammar/later/47over.js
diff --git a/src/52linq.js b/src/grammar/later/52linq.js
similarity index 100%
rename from src/52linq.js
rename to src/grammar/later/52linq.js
diff --git a/src/63createvertex.js b/src/grammar/later/63createvertex.js
similarity index 100%
rename from src/63createvertex.js
rename to src/grammar/later/63createvertex.js
diff --git a/src/64altertable.js b/src/grammar/later/64altertable.js
similarity index 100%
rename from src/64altertable.js
rename to src/grammar/later/64altertable.js
diff --git a/src/67withselect.js b/src/grammar/later/67withselect.js
similarity index 91%
rename from src/67withselect.js
rename to src/grammar/later/67withselect.js
index ec9c66927a..ee905f7496 100755
--- a/src/67withselect.js
+++ b/src/grammar/later/67withselect.js
@@ -27,7 +27,7 @@ yy.WithSelect.prototype.execute = function(databaseid, params, cb) {
var savedTables = [];
self.withs.forEach(function(w) {
savedTables.push(alasql.databases[databaseid].tables[w.name]);
- var tb = (alasql.databases[databaseid].tables[w.name] = new Table({tableid: w.name}));
+ var tb = (alasql.databases[databaseid].tables[w.name] = alasql.newTable({tableid: w.name}));
tb.data = w.select.execute(databaseid, params);
});
diff --git a/src/71trigger.js b/src/grammar/later/71trigger.js
similarity index 100%
rename from src/71trigger.js
rename to src/grammar/later/71trigger.js
diff --git a/src/79set.js b/src/grammar/later/79set.js
similarity index 100%
rename from src/79set.js
rename to src/grammar/later/79set.js
diff --git a/src/81commit.js b/src/grammar/later/81commit.js
similarity index 100%
rename from src/81commit.js
rename to src/grammar/later/81commit.js
diff --git a/src/grammar/select.ts b/src/grammar/select.ts
new file mode 100755
index 0000000000..5edf5ca7a0
--- /dev/null
+++ b/src/grammar/select.ts
@@ -0,0 +1,431 @@
+/*
+//
+// Select run-time part for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+
+//
+// Main part of SELECT procedure
+//
+
+import { queryfn } from '../processing/query';
+
+import utils from '../utils';
+
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+
+
+ yy.Select = function(params) {
+ return yy.extend(this, params);
+ };
+
+ yy.Select.prototype.toString = function() {
+ var s;
+ s = '';
+ if (this.explain) {
+ s += 'EXPLAIN ';
+ }
+ s += 'SELECT ';
+ if (this.modifier) {
+ s += this.modifier + ' ';
+ }
+ if (this.distinct) {
+ s += 'DISTINCT ';
+ }
+ if (this.top) {
+ s += 'TOP ' + this.top.value + ' ';
+ if (this.percent) {
+ s += 'PERCENT ';
+ }
+ }
+ s += this.columns
+ .map(function(col) {
+ var s;
+ s = col.toString();
+ if (typeof col.as !== 'undefined') {
+ s += ' AS ' + col.as;
+ }
+ return s;
+ })
+ .join(', ');
+ if (this.from) {
+ s +=
+ ' FROM ' +
+ this.from
+ .map(function(f) {
+ var ss;
+ ss = f.toString();
+ if (f.as) {
+ ss += ' AS ' + f.as;
+ }
+ return ss;
+ })
+ .join(',');
+ }
+ if (this.joins) {
+ s += this.joins
+ .map(function(jn) {
+ var ss;
+ ss = ' ';
+ if (jn.joinmode) {
+ ss += jn.joinmode + ' ';
+ }
+ if (jn.table) {
+ ss += 'JOIN ' + jn.table.toString();
+ } else if (jn.select) {
+ ss += 'JOIN (' + jn.select.toString() + ')';
+ } else if (jn instanceof alasql.yy.Apply) {
+ ss += jn.toString();
+ } else {
+ throw new Error('Wrong type in JOIN mode');
+ }
+ if (jn.as) {
+ ss += ' AS ' + jn.as;
+ }
+ if (jn.using) {
+ ss += ' USING ' + jn.using.toString();
+ }
+ if (jn.on) {
+ ss += ' ON ' + jn.on.toString();
+ }
+ return ss;
+ })
+ .join('');
+ }
+ if (this.where) {
+ s += ' WHERE ' + this.where.toString();
+ }
+ if (this.group && this.group.length > 0) {
+ s +=
+ ' GROUP BY ' +
+ this.group
+ .map(function(grp) {
+ return grp.toString();
+ })
+ .join(', ');
+ }
+ if (this.having) {
+ s += ' HAVING ' + this.having.toString();
+ }
+ if (this.order && this.order.length > 0) {
+ s +=
+ ' ORDER BY ' +
+ this.order
+ .map(function(ord) {
+ return ord.toString();
+ })
+ .join(', ');
+ }
+ if (this.limit) {
+ s += ' LIMIT ' + this.limit.value;
+ }
+ if (this.offset) {
+ s += ' OFFSET ' + this.offset.value;
+ }
+ if (this.union) {
+ s += ' UNION ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.union.toString();
+ }
+ if (this.unionall) {
+ s +=
+ ' UNION ALL ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.unionall.toString();
+ }
+ if (this.except) {
+ s += ' EXCEPT ' + (this.corresponding ? 'CORRESPONDING ' : '') + this.except.toString();
+ }
+ if (this.intersect) {
+ s +=
+ ' INTERSECT ' +
+ (this.corresponding ? 'CORRESPONDING ' : '') +
+ this.intersect.toString();
+ }
+ return s;
+ };
+
+ /**
+ Select statement in expression
+ */
+ yy.Select.prototype.toJS = function(context) {
+ // console.log('Expression',this);
+ // if(this.expression.reduced) return 'true';
+ // return this.expression.toJS(context, tableid, defcols);
+ // console.log('Select.toJS', 81, this.queriesidx);
+ // var s = 'this.queriesdata['+(this.queriesidx-1)+'][0]';
+
+ var s =
+ 'alasql.utils.flatArray(this.queriesfn[' +
+ (this.queriesidx - 1) +
+ '](this.params,null,' +
+ context +
+ '))[0]';
+
+ // var s = '(ee=alasql.utils.flatArray(this.queriesfn['+(this.queriesidx-1)+'](this.params,null,'+context+')),console.log(999,ee),ee[0])';
+
+ return s;
+ };
+
+ // Compile SELECT statement
+ yy.Select.prototype.compile = function(databaseid, params) {
+ var db = alasql.databases[databaseid];
+ // Create variable for query
+ var query = new mem.alasql.Query();
+
+ // Array with columns to be removed
+ query.removeKeys = [];
+ query.aggrKeys = [];
+
+ query.explain = this.explain; // Explain
+ query.explaination = [];
+ query.explid = 1;
+ //console.log(this.modifier);
+ query.modifier = this.modifier;
+
+ query.database = db;
+ // 0. Precompile whereexists
+ this.compileWhereExists(query);
+
+ // 0. Precompile queries for IN, NOT IN, ANY and ALL operators
+ this.compileQueries(query);
+
+ query.defcols = this.compileDefCols(query, databaseid);
+
+ // 1. Compile FROM clause
+ query.fromfn = this.compileFrom(query);
+
+ // 2. Compile JOIN clauses
+ if (this.joins) {
+ this.compileJoins(query);
+ }
+
+ // todo?: 3. Compile SELECT clause
+
+ // For ROWNUM()
+ query.rownums = [];
+
+ this.compileSelectGroup0(query);
+
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfns = this.compileSelectGroup1(query);
+ } else {
+ query.selectfns = this.compileSelect1(query, params);
+ }
+
+ // Remove columns clause
+ this.compileRemoveColumns(query);
+
+ // 5. Optimize WHERE and JOINS
+ if (this.where) {
+ this.compileWhereJoins(query);
+ }
+
+ // 4. Compile WHERE clause
+ query.wherefn = this.compileWhere(query);
+
+ // 6. Compile GROUP BY
+ if (this.group || query.selectGroup.length > 0) {
+ query.groupfn = this.compileGroup(query);
+ }
+
+ // 6. Compile HAVING
+ if (this.having) {
+ query.havingfn = this.compileHaving(query);
+ }
+
+ // 8. Compile ORDER BY clause
+ if (this.order) {
+ query.orderfn = this.compileOrder(query);
+ }
+
+ if (this.group || query.selectGroup.length > 0) {
+ query.selectgfn = this.compileSelectGroup2(query);
+ } else {
+ query.selectfn = this.compileSelect2(query);
+ }
+
+ // 7. Compile DISTINCT, LIMIT and OFFSET
+ query.distinct = this.distinct;
+
+ // 9. Compile PIVOT clause
+ if (this.pivot) query.pivotfn = this.compilePivot(query);
+ if (this.unpivot) query.pivotfn = this.compileUnpivot(query);
+
+ // 10. Compile TOP/LIMIT/OFFSET/FETCH cleuse
+ if (this.top) {
+ query.limit = this.top.value;
+ } else if (this.limit) {
+ query.limit = this.limit.value;
+ if (this.offset) {
+ query.offset = this.offset.value;
+ }
+ }
+
+ query.percent = this.percent;
+
+ // 9. Compile ordering function for UNION and UNIONALL
+ query.corresponding = this.corresponding; // If CORRESPONDING flag exists
+ if (this.union) {
+ query.unionfn = this.union.compile(databaseid);
+ if (this.union.order) {
+ query.orderfn = this.union.compileOrder(query);
+ } else {
+ query.orderfn = null;
+ }
+ } else if (this.unionall) {
+ query.unionallfn = this.unionall.compile(databaseid);
+ if (this.unionall.order) {
+ query.orderfn = this.unionall.compileOrder(query);
+ } else {
+ query.orderfn = null;
+ }
+ } else if (this.except) {
+ query.exceptfn = this.except.compile(databaseid);
+ if (this.except.order) {
+ query.orderfn = this.except.compileOrder(query);
+ } else {
+ query.orderfn = null;
+ }
+ } else if (this.intersect) {
+ query.intersectfn = this.intersect.compile(databaseid);
+ if (this.intersect.order) {
+ query.intersectfn = this.intersect.compileOrder(query);
+ } else {
+ query.orderfn = null;
+ }
+ }
+
+ // SELECT INTO
+ if (this.into) {
+ if (this.into instanceof yy.Table) {
+ //
+ // Save into the table in database
+ //
+ if (
+ alasql.options.autocommit &&
+ alasql.databases[this.into.databaseid || databaseid].engineid
+ ) {
+ // For external database when AUTOCOMMIT is ONs
+ query.intoallfns =
+ 'return alasql.engines["' +
+ alasql.databases[this.into.databaseid || databaseid].engineid +
+ '"]' +
+ '.intoTable("' +
+ (this.into.databaseid || databaseid) +
+ '","' +
+ this.into.tableid +
+ '",this.data, columns, cb);';
+ } else {
+ // Into AlaSQL tables
+ query.intofns =
+ "alasql.databases['" +
+ (this.into.databaseid || databaseid) +
+ "'].tables" +
+ "['" +
+ this.into.tableid +
+ "'].data.push(r);";
+ }
+ } else if (this.into instanceof yy.VarValue) {
+ //
+ // Save into local variable
+ // SELECT * INTO @VAR1 FROM ?
+ //
+ query.intoallfns =
+ 'alasql.vars["' +
+ this.into.variable +
+ '"]=this.data;res=this.data.length;if(cb)res=cb(res);return res;';
+ } else if (this.into instanceof yy.FuncValue) {
+ //
+ // If this is INTO() function, then call it
+ // with one or two parameters
+ //
+ var qs = "return alasql.into['" + this.into.funcid.toUpperCase() + "'](";
+ if (this.into.args && this.into.args.length > 0) {
+ qs += this.into.args[0].toJS() + ',';
+ if (this.into.args.length > 1) {
+ qs += this.into.args[1].toJS() + ',';
+ } else {
+ qs += 'undefined,';
+ }
+ } else {
+ qs += 'undefined, undefined,';
+ }
+ query.intoallfns = qs + 'this.data,columns,cb)';
+ //console.log('999');
+ } else if (this.into instanceof yy.ParamValue) {
+ //
+ // Save data into parameters array
+ // like alasql('SELECT * INTO ? FROM ?',[outdata,srcdata]);
+ //
+ query.intofns = "params['" + this.into.param + "'].push(r)";
+ }
+
+ if (query.intofns) {
+ // Create intofn function
+ // console.log(234234, query.intofns);
+ query.intofn = new Function('r,i,params,alasql', 'var y;' + query.intofns);
+ } else if (query.intoallfns) {
+ // Create intoallfn function
+ // console.log(23423234, query.intoallfns);
+ query.intoallfn = new Function(
+ 'columns,cb,params,alasql',
+ 'var y;' + query.intoallfns
+ );
+ }
+ }
+ //console.log(query);
+
+ // Now, compile all togeather into one function with query object in scope
+ interface _statement { (): any; query: any; }
+
+
+ let statement = <_statement>function(params, cb, oldscope) {
+ query.params = params;
+ var res1 = queryfn(alasql, query, oldscope, (res) => {
+ //console.log(res[0].schoolid);
+ //console.log(184,res);
+ if (query.rownums.length > 0) {
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ for (var j = 0, jlen = query.rownums.length; j < jlen; j++) {
+ res[i][query.rownums[j]] = i + 1;
+ }
+ }
+ }
+
+ var res2 = utils.modify(alasql, query, res);
+
+ if (cb) {
+ cb(res2);
+ }
+ //console.log(8888,res2);
+ return res2;
+ });
+ //console.log(9999,res1);
+
+ // if(typeof res1 != 'undefined') res1 = modify(query,res1);
+ return res1;
+ };
+
+ // statement.dbversion = ;
+ // console.log(statement.query);
+ //console.log(202,statement);
+ statement.query = query;
+
+ return statement;
+ };
+
+ // yy.Select.prototype.exec = function(databaseid) {
+ // throw new Error('Select statement should be precompiled');
+
+ // };
+ yy.Select.prototype.execute = function(databaseid, params, cb) {
+ return this.compile(databaseid)(params, cb);
+ // throw new Error('Insert statement is should be compiled')
+ };
+
+ mem.grammar.yy = yy;
+ mem.alasql = alasql;
+};
diff --git a/src/grammar/statements.ts b/src/grammar/statements.ts
new file mode 100755
index 0000000000..725e928d8e
--- /dev/null
+++ b/src/grammar/statements.ts
@@ -0,0 +1,45 @@
+/*
+//
+// Statements class for Alasql.js
+// Date: 03.11.2014
+// (c) 2014, Andrey Gershun
+//
+*/
+
+export default mem => {
+ const yy = mem.grammar.yy;
+ // Statements container
+ yy.Statements = function(params) {
+ return yy.extend(this, params);
+ };
+
+ yy.Statements.prototype.toString = function() {
+ return this.statements
+ .map(function(st) {
+ return st.toString();
+ })
+ .join('; ');
+ };
+
+ // Compile array of statements into single statement
+ yy.Statements.prototype.compile = function(db) {
+ var statements = this.statements.map(function(st) {
+ return st.compile(db);
+ });
+ if (statements.length === 1) {
+ return statements[0];
+ } else {
+ return function(params, cb) {
+ var res = statements.map(function(st) {
+ return st(params);
+ });
+ if (cb) {
+ cb(res);
+ }
+ return res;
+ };
+ }
+ };
+
+ mem.grammar.yy = yy;
+};
diff --git a/src/grammar/usedatabase.js b/src/grammar/usedatabase.js
new file mode 100755
index 0000000000..d6e708fc9d
--- /dev/null
+++ b/src/grammar/usedatabase.js
@@ -0,0 +1,207 @@
+
+
+export default mem => {
+ const yy = mem.grammar.yy;
+ const alasql = mem.alasql;
+
+ yy.CreateDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.CreateDatabase.prototype.toString = function () {
+ var s = 'CREATE';
+ if (this.engineid) s += ' ' + this.engineid;
+ s += ' DATABASE';
+ if (this.ifnotexists) s += ' IF NOT EXISTS';
+ s += ' ' + this.databaseid;
+ if (this.args && this.args.length > 0) {
+ s +=
+ '(' +
+ this.args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ') +
+ ')';
+ }
+ if (this.as) s += ' AS ' + this.as;
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.CreateDatabase.prototype.execute = function (databaseid, params, cb) {
+ var args;
+ if (this.args && this.args.length > 0) {
+ args = this.args.map(function (arg) {
+ // console.log(346235, arg.toJS());
+ return new Function('params,alasql', 'var y;return ' + arg.toJS())(params, alasql);
+ });
+ }
+ if (this.engineid) {
+ var res = alasql.engines[this.engineid].createDatabase(
+ this.databaseid,
+ this.args,
+ this.ifnotexists,
+ this.as,
+ cb
+ );
+ return res;
+ } else {
+ var dbid = this.databaseid;
+ if (alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' already exists");
+ }
+ var a = alasql.newDatabase(dbid);
+ var res = 1;
+ if (cb) return cb(res);
+ return res;
+ }
+ };
+
+ // CREATE DATABASE databaseid
+ yy.AttachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.AttachDatabase.prototype.toString = function (args) {
+ var s = 'ATTACH';
+ if (this.engineid) s += ' ' + this.engineid;
+ s += ' DATABASE' + ' ' + this.databaseid;
+ // TODO add params
+ if (args) {
+ s += '(';
+ if (args.length > 0) {
+ s += args
+ .map(function (arg) {
+ return arg.toString();
+ })
+ .join(', ');
+ }
+ s += ')';
+ }
+ if (this.as) s += ' AS' + ' ' + this.as;
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.AttachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.engines[this.engineid]) {
+ throw new Error('Engine "' + this.engineid + '" is not defined.');
+ }
+ var res = alasql.engines[this.engineid].attachDatabase(
+ this.databaseid,
+ this.as,
+ this.args,
+ params,
+ cb
+ );
+ return res;
+ };
+
+ // CREATE DATABASE databaseid
+ yy.DetachDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DetachDatabase.prototype.toString = function () {
+ var s = 'DETACH';
+ s += ' DATABASE' + ' ' + this.databaseid;
+ return s;
+ };
+ //yy.CreateDatabase.prototype.compile = returnUndefined;
+ yy.DetachDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (!alasql.databases[this.databaseid].engineid) {
+ throw new Error(
+ 'Cannot detach database "' + this.engineid + '", because it was not attached.'
+ );
+ }
+ var res;
+
+ var dbid = this.databaseid;
+
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ } else {
+ res = 0;
+ }
+ } else {
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb) cb(res);
+ return res;
+ // var res = alasql.engines[this.engineid].attachDatabase(this.databaseid, this.as, cb);
+ // return res;
+ };
+
+ // USE DATABSE databaseid
+ // USE databaseid
+ yy.UseDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.UseDatabase.prototype.toString = function () {
+ return 'USE' + ' ' + 'DATABASE' + ' ' + this.databaseid;
+ };
+ //yy.UseDatabase.prototype.compile = returnUndefined;
+ yy.UseDatabase.prototype.execute = function (databaseid, params, cb) {
+ var dbid = this.databaseid;
+ if (!alasql.databases[dbid]) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ }
+ alasql.use(dbid);
+ var res = 1;
+ if (cb) cb(res);
+ return res;
+ };
+
+ // DROP DATABASE databaseid
+ yy.DropDatabase = function (params) {
+ return yy.extend(this, params);
+ };
+ yy.DropDatabase.prototype.toString = function () {
+ var s = 'DROP';
+ if (this.ifexists) s += ' IF EXISTS';
+ s += ' DATABASE ' + this.databaseid;
+ return s;
+ };
+ //yy.DropDatabase.prototype.compile = returnUndefined;
+ yy.DropDatabase.prototype.execute = function (databaseid, params, cb) {
+ if (this.engineid) {
+ return alasql.engines[this.engineid].dropDatabase(this.databaseid, this.ifexists, cb);
+ }
+ var res;
+
+ var dbid = this.databaseid;
+
+ if (dbid === alasql.DEFAULTDATABASEID) {
+ throw new Error('Drop of default database is prohibited');
+ }
+ if (!alasql.databases[dbid]) {
+ if (!this.ifexists) {
+ throw new Error("Database '" + dbid + "' does not exist");
+ } else {
+ res = 0;
+ }
+ } else {
+ if (alasql.databases[dbid].engineid) {
+ throw new Error(
+ "Cannot drop database '" + dbid + "', because it is attached. Detach it."
+ );
+ }
+
+ delete alasql.databases[dbid];
+ if (dbid === alasql.useid) {
+ alasql.use();
+ }
+ res = 1;
+ }
+ if (cb) cb(res);
+ return res;
+ };
+
+
+ mem.grammar.yy = yy;
+};
diff --git a/src/grammar/where.js b/src/grammar/where.js
new file mode 100755
index 0000000000..54c4066b35
--- /dev/null
+++ b/src/grammar/where.js
@@ -0,0 +1,119 @@
+export default mem => {
+ const yy = mem.grammar.yy;
+
+ yy.Select.prototype.compileWhere = function(query) {
+ if (this.where) {
+ if (typeof this.where === 'function') {
+ return this.where;
+ } else {
+ var s = this.where.toJS('p', query.defaultTableid, query.defcols);
+ query.wherefns = s;
+ // console.log(s);
+ return new Function('p,params,alasql', 'var y;return ' + s);
+ }
+ } else
+ return function() {
+ return true;
+ };
+ };
+
+ yy.Select.prototype.compileWhereJoins = function(query) {
+ return;
+
+ // TODO Fix Where optimization
+ //console.log(query);
+
+ optimizeWhereJoin(query, this.where.expression);
+
+ //for sources compile wherefs
+ query.sources.forEach(function(source) {
+ if (source.srcwherefns) {
+ source.srcwherefn = new Function(
+ 'p,params,alasql',
+ 'var y;return ' + source.srcwherefns
+ );
+ }
+ if (source.wxleftfns) {
+ source.wxleftfn = new Function(
+ 'p,params,alasql',
+ 'var y;return ' + source.wxleftfns
+ );
+ }
+ if (source.wxrightfns) {
+ source.wxrightfn = new Function(
+ 'p,params,alasql',
+ 'var y;return ' + source.wxrightfns
+ );
+ }
+ // console.log(source.alias, source.wherefns)
+ // console.log(source);
+ });
+ };
+
+ function optimizeWhereJoin(query, ast) {
+ if (!ast) return false;
+ if (!(ast instanceof yy.Op)) return;
+ if (ast.op != '=' && ast.op != 'AND') return;
+ if (ast.allsome) return;
+
+ var s = ast.toJS('p', query.defaultTableid, query.defcols);
+ var fsrc = [];
+ query.sources.forEach(function(source, idx) {
+ // Optimization allowed only for tables only
+ if (source.tableid) {
+ // This is a good place to remove all unnecessary optimizations
+ if (s.indexOf("p['" + source.alias + "']") > -1) fsrc.push(source);
+ }
+ });
+ //console.log(fsrc.length);
+ // if(fsrc.length < query.sources.length) return;
+ // console.log(ast);
+ // console.log(s);
+ // console.log(fsrc.length);
+ if (fsrc.length == 0) {
+ // console.log('no optimization, can remove this part of ast');
+ return;
+ } else if (fsrc.length == 1) {
+ if (
+ !(s.match(/p\[\'.*?\'\]/g) || []).every(function(s) {
+ return s == "p['" + fsrc[0].alias + "']";
+ })
+ ) {
+ return;
+ // This is means, that we have column from parent query
+ // So we return without optimization
+ }
+
+ var src = fsrc[0]; // optmiization source
+ src.srcwherefns = src.srcwherefns ? src.srcwherefns + '&&' + s : s;
+
+ if (ast instanceof yy.Op && (ast.op == '=' && !ast.allsome)) {
+ if (ast.left instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (rs.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = ls;
+ fsrc[0].wxrightfns = rs;
+ }
+ }
+ if (ast.right instanceof yy.Column) {
+ var ls = ast.left.toJS('p', query.defaultTableid, query.defcols);
+ var rs = ast.right.toJS('p', query.defaultTableid, query.defcols);
+ if (ls.indexOf("p['" + fsrc[0].alias + "']") == -1) {
+ fsrc[0].wxleftfns = rs;
+ fsrc[0].wxrightfns = ls;
+ }
+ }
+ }
+ ast.reduced = true; // To do not duplicate wherefn and srcwherefn
+ return;
+ } else {
+ if ((ast.op = 'AND')) {
+ optimizeWhereJoin(query, ast.left);
+ optimizeWhereJoin(query, ast.right);
+ }
+ }
+ }
+
+ mem.grammar.yy = yy;
+};
diff --git a/src/logic.ts b/src/logic.ts
new file mode 100644
index 0000000000..f753f5f41d
--- /dev/null
+++ b/src/logic.ts
@@ -0,0 +1,9 @@
+import stdlib from './logic/stdlib';
+import stdfn from './logic/stdfn';
+import aggr from './logic/aggr';
+
+export default mem => {
+ stdlib(mem);
+ stdfn(mem);
+ aggr(mem);
+};
diff --git a/src/logic/aggr.ts b/src/logic/aggr.ts
new file mode 100644
index 0000000000..4b1c975324
--- /dev/null
+++ b/src/logic/aggr.ts
@@ -0,0 +1,177 @@
+
+export default mem => {
+ const alasql = mem.alasql;
+
+ //stdlib.UCASE = function(s) {return '('+s+').toUpperCase()';}
+ //REPLACE
+ // RTRIM
+ // SUBSTR
+ // TRIM
+ //REPLACE
+ // RTRIM
+ // SUBSTR
+ // TRIM
+
+ // Aggregator for joining strings
+ alasql.aggr.GROUP_CONCAT = function (v, s, stage) {
+ if (stage === 1) {
+ return '' + v;
+ } else if (stage === 2) {
+ s += ',' + v;
+ return s;
+ }
+ return s;
+ };
+
+ alasql.aggr.MEDIAN = function (v, s, stage) {
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ } else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ } else {
+ if (!s.length) {
+ return s;
+ }
+
+ var r = s.sort();
+ var p = (r.length + 1) / 2;
+ if (Number.isInteger(p)) {
+ return r[p - 1];
+ }
+
+ return (r[Math.floor(p - 1)] + r[Math.ceil(p - 1)]) / 2;
+ }
+ };
+
+ alasql.aggr.QUART = function (v, s, stage, nth) {
+ //Quartile (first quartile per default or input param)
+ if (stage === 2) {
+ if (v !== null) {
+ s.push(v);
+ }
+ return s;
+ } else if (stage === 1) {
+ if (v === null) {
+ return [];
+ }
+ return [v];
+ } else {
+ if (!s.length) {
+ return s;
+ }
+
+ nth = !nth ? 1 : nth;
+ var r = s.sort();
+ var p = (nth * (r.length + 1)) / 4;
+ if (Number.isInteger(p)) {
+ return r[p - 1]; //Integer value
+ }
+ return r[Math.floor(p)]; //Math.ceil -1 or Math.floor
+ }
+ };
+
+ alasql.aggr.QUART2 = function (v, s, stage) {
+ //Second Quartile
+ return alasql.aggr.QUART(v, s, stage, 2);
+ };
+ alasql.aggr.QUART3 = function (v, s, stage) {
+ //Third Quartile
+ return alasql.aggr.QUART(v, s, stage, 3);
+ };
+
+ // Standard deviation
+ alasql.aggr.VAR = function (v, s, stage) {
+ if (stage === 1) {
+ if (v === null) {
+ return { arr: [], sum: 0 };
+ }
+ return { arr: [v], sum: v };
+ } else if (stage === 2) {
+ if (v === null) {
+ return s;
+ }
+ s.arr.push(v);
+ s.sum += v;
+ return s;
+ } else {
+ var N = s.arr.length;
+ var avg = s.sum / N;
+ var std = 0;
+ for (var i = 0; i < N; i++) {
+ std += (s.arr[i] - avg) * (s.arr[i] - avg);
+ }
+ std = std / (N - 1);
+ return std;
+ }
+ };
+
+ alasql.aggr.STDEV = function (v, s, stage) {
+ if (stage === 1 || stage === 2) {
+ return alasql.aggr.VAR(v, s, stage);
+ } else {
+ return Math.sqrt(alasql.aggr.VAR(v, s, stage));
+ }
+ };
+
+ // Standard deviation
+ // alasql.aggr.VARP = function(v,s,acc){
+ // if(typeof acc.arr == 'undefined') {
+ // acc.arr = [v];
+ // acc.sum = v;
+ // } else {
+ // acc.arr.push(v);
+ // acc.sum += v;
+ // }
+ // var N = acc.arr.length;
+ // var avg = acc.sum / N;
+ // var std = 0;
+ // for(var i=0;i {
+ const stdfn : {[key: string]: any} = {};
+
+ stdfn.CONCAT = function (...args) {
+ return Array.prototype.slice.call(args).join('');
+ };
+
+
+ stdfn.REGEXP_LIKE = function (a, b, c) {
+ // console.log(a,b,c);
+ return (a || '').search(RegExp(b, c)) > -1;
+ };
+
+
+ // Concatination of strings
+ stdfn.CONCAT_WS = function (...args) {
+ return args.slice(1, args.length).join(args[0]);
+ };
+
+ // String functions
+ stdfn.REPLACE = function (target, pattern, replacement) {
+ return (target || '').split(pattern).join(replacement);
+ };
+
+ stdfn.CHAR = String.fromCharCode.bind(String);
+
+ stdfn.ASCII = function(a) {
+ return a.charCodeAt(0);
+ };
+
+ // This array is required for fast GUID generation
+ var lut = [];
+ for (var i = 0; i < 256; i++) {
+ lut[i] = (i < 16 ? '0' : '') + i.toString(16);
+ }
+
+ stdfn.NEWID = stdfn.UUID = stdfn.GEN_RANDOM_UUID = function () {
+ var d0 = (Math.random() * 0xffffffff) | 0;
+ var d1 = (Math.random() * 0xffffffff) | 0;
+ var d2 = (Math.random() * 0xffffffff) | 0;
+ var d3 = (Math.random() * 0xffffffff) | 0;
+ return (
+ lut[d0 & 0xff] +
+ lut[(d0 >> 8) & 0xff] +
+ lut[(d0 >> 16) & 0xff] +
+ lut[(d0 >> 24) & 0xff] +
+ '-' +
+ lut[d1 & 0xff] +
+ lut[(d1 >> 8) & 0xff] +
+ '-' +
+ lut[((d1 >> 16) & 0x0f) | 0x40] +
+ lut[(d1 >> 24) & 0xff] +
+ '-' +
+ lut[(d2 & 0x3f) | 0x80] +
+ lut[(d2 >> 8) & 0xff] +
+ '-' +
+ lut[(d2 >> 16) & 0xff] +
+ lut[(d2 >> 24) & 0xff] +
+ lut[d3 & 0xff] +
+ lut[(d3 >> 8) & 0xff] +
+ lut[(d3 >> 16) & 0xff] +
+ lut[(d3 >> 24) & 0xff]
+ );
+ };
+
+ mem.alasql.stdfn = stdfn;
+};
\ No newline at end of file
diff --git a/src/logic/stdlib.ts b/src/logic/stdlib.ts
new file mode 100644
index 0000000000..030339d541
--- /dev/null
+++ b/src/logic/stdlib.ts
@@ -0,0 +1,123 @@
+import utils from '../utils';
+
+const und = utils.und;
+
+export default mem => {
+ const stdlib : {[key: string]: any} = {};
+
+ stdlib.ABS = function (a) {
+ return 'Math.abs(' + a + ')';
+ };
+ stdlib.CLONEDEEP = function (a) {
+ return 'alasql.utils.cloneDeep(' + a + ')';
+ };
+
+
+ stdlib.EXP = function (a) {
+ return 'Math.pow(Math.E,' + a + ')';
+ };
+
+ stdlib.IIF = function (a, b, c) {
+ if (arguments.length == 3) {
+ return '((' + a + ')?(' + b + '):(' + c + '))';
+ } else {
+ throw new Error('Number of arguments of IFF is not equals to 3');
+ }
+ };
+ stdlib.IFNULL = function (a, b) {
+ return '(' + a + '||' + b + ')';
+ };
+ stdlib.INSTR = function (s, p) {
+ return '((' + s + ').indexOf(' + p + ')+1)';
+ };
+
+ //stdlib.LEN = stdlib.LENGTH = function(s) {return '('+s+'+"").length';};
+
+ stdlib.LEN = stdlib.LENGTH = function (s) {
+ return und(s, 'y.length');
+ };
+ //stdlib.LENGTH = function(s) {return '('+s+').length'};
+
+ stdlib.LOWER = stdlib.LCASE = function (s) {
+ return und(s, 'String(y).toLowerCase()');
+ };
+ //stdlib.LCASE = function(s) {return '('+s+').toLowerCase()';}
+
+ // Returns a character expression after it removes leading blanks.
+ // see https://docs.microsoft.com/en-us/sql/t-sql/functions/ltrim-transact-sql
+ stdlib.LTRIM = function (s) {
+ return und(s, 'y.replace(/^[ ]+/,"")');
+ };
+
+ // Returns a character string after truncating all trailing spaces.
+ // see https://docs.microsoft.com/en-us/sql/t-sql/functions/rtrim-transact-sql
+ stdlib.RTRIM = function (s) {
+ return und(s, 'y.replace(/[ ]+$/,"")');
+ };
+
+ stdlib.MAX = stdlib.GREATEST = function () {
+ return 'Math.max(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+
+ stdlib.MIN = stdlib.LEAST = function () {
+ return 'Math.min(' + Array.prototype.join.call(arguments, ',') + ')';
+ };
+
+ stdlib.SUBSTRING = stdlib.SUBSTR = stdlib.MID = function (a, b, c) {
+ if (arguments.length == 2) return und(a, 'y.substr(' + b + '-1)');
+ else if (arguments.length == 3) return und(a, 'y.substr(' + b + '-1,' + c + ')');
+ };
+
+
+
+ // Here we uses undefined instead of null
+ stdlib.ISNULL = stdlib.NULLIF = function (a, b) {
+ return '(' + a + '==' + b + '?undefined:' + a + ')';
+ };
+
+ stdlib.POWER = function (a, b) {
+ return 'Math.pow(' + a + ',' + b + ')';
+ };
+
+ stdlib.RANDOM = function (r) {
+ if (arguments.length == 0) {
+ return 'Math.random()';
+ } else {
+ return '(Math.random()*(' + r + ')|0)';
+ }
+ };
+ stdlib.ROUND = function (s, d) {
+ if (arguments.length == 2) {
+ return 'Math.round((' + s + ')*Math.pow(10,(' + d + ')))/Math.pow(10,(' + d + '))';
+ } else {
+ return 'Math.round(' + s + ')';
+ }
+ };
+ stdlib.CEIL = stdlib.CEILING = function (s) {
+ return 'Math.ceil(' + s + ')';
+ };
+ stdlib.FLOOR = function (s) {
+ return 'Math.floor(' + s + ')';
+ };
+
+ stdlib.ROWNUM = function () {
+ return '1';
+ };
+ stdlib.ROW_NUMBER = function () {
+ return '1';
+ };
+
+ stdlib.SQRT = function (s) {
+ return 'Math.sqrt(' + s + ')';
+ };
+
+ stdlib.TRIM = function (s) {
+ return und(s, 'y.trim()');
+ };
+
+ stdlib.UPPER = stdlib.UCASE = function (s) {
+ return und(s, 'String(y).toUpperCase()');
+ };
+
+ mem.alasql.stdlib = stdlib;
+};
\ No newline at end of file
diff --git a/src/main.ts b/src/main.ts
new file mode 100755
index 0000000000..fcc4ff7eb6
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,83 @@
+//! AlaSQL vPACKAGE_VERSION_NUMBER | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
+/**
+@module alasql
+@version PACKAGE_VERSION_NUMBER
+
+AlaSQL - JavaScript SQL database
+© 2014-2018 Andrey Gershun & Mathias Rangel Wulff
+
+@license
+The MIT License (MIT)
+
+Copyright 2014-2016 Andrey Gershun (agershun@gmail.com) & Mathias Rangel Wulff (m@rawu.dk)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+
+import addOptions from './options';
+
+import utils from './utils';
+
+import grammar from './alasqlparser';
+
+import expandGrammar from './grammar';
+
+import alasqlObj from './alasqlObj';
+
+import addDataStruct from './dataStruct';
+
+import addlogic from './logic';
+
+const alasql: any = () => {};
+
+const mem: {[key: string]: any} = {grammar, alasql};
+
+mem.alasql = alasqlObj(mem);
+
+mem.alasql.version = 'PACKAGE_VERSION_NUMBER';
+
+mem.alasql.debug = false;
+
+addOptions(mem);
+
+expandGrammar(mem);
+
+addDataStruct(mem);
+
+addlogic(mem);
+
+if (0) mem.alasql.path = utils.findAlaSQLPath();
+
+/*only-for-browser/*
+//!var require = function(){return null}; // as alasqlparser.js is generated, we can not "remove" referenses to
+//!var __dirname = '';
+//*/
+
+/*only-for-browser/*
+if(utils.isCordova || utils.isMeteorServer || utils.isNode ){
+ console.warn('It looks like you are using the browser version of AlaSQL. Please use the alasql.fs.js file instead.')
+}
+//*/
+
+// Create and set default database
+
+mem.alasql.newDatabase('alasql');
+
+export default mem.alasql;
diff --git a/src/options.ts b/src/options.ts
new file mode 100755
index 0000000000..c0fd3fe584
--- /dev/null
+++ b/src/options.ts
@@ -0,0 +1,547 @@
+/**
+ Database class for Alasql.js
+*/
+
+//var alasqlparser = require('./alasqlparser').parse;
+
+import utils from './utils';
+
+var hash = x => x;
+
+export default mem => {
+ // Initial parameters
+ const alasql = mem.alasql;
+
+ /**
+ Jison parser
+ */
+ //alasql.parser = alasqlparser;
+
+ /*/* This is not working :-/ * /
+ alasql.parser.parseError = function(str, hash) {
+ throw new Error('Have you used a reserved keyword without `escaping` it?\n' + str);
+ };/*
+
+ /**
+ Jison parser
+ @param {string} sql SQL statement
+ @return {object} AST (Abstract Syntax Tree)
+
+
+ @todo Create class AST
+ @todo Add other parsers
+
+ @example
+ alasql.parse = function(sql) {
+ // My own parser here
+ }
+ */
+ alasql.parse = function(sql) {
+ return mem.grammar.parse(utils.uncomment(sql));
+ };
+
+ /**
+ List of engines of external databases
+ @type {object}
+ @todo Create collection type
+ */
+ alasql.engines = {};
+
+ /**
+ List of databases
+ @type {object}
+ */
+ alasql.databases = {};
+
+ /**
+ Number of databases
+ @type {number}
+*/
+ alasql.databasenum = 0;
+
+ /**
+ Alasql options object
+ */
+ alasql.options = {};
+ alasql.options.errorlog = false; // Log or throw error
+ alasql.options.valueof = false; // Use valueof in orderfn
+ alasql.options.dropifnotexists = false; // DROP database in any case
+ alasql.options.datetimeformat = 'sql'; // How to handle DATE and DATETIME types
+ // Another value is 'javascript'
+ alasql.options.casesensitive = true; // Table and column names are case sensitive and converted to lower-case
+ alasql.options.logtarget = 'output'; // target for log. Values: 'console', 'output', 'id' of html tag
+ alasql.options.logprompt = true; // Print SQL at log
+
+ alasql.options.progress = false; // Callback for async queries progress
+
+ // Default modifier
+ // values: RECORDSET, VALUE, ROW, COLUMN, MATRIX, TEXTSTRING, INDEX
+ alasql.options.modifier = undefined;
+ // How many rows to lookup to define columns
+ alasql.options.columnlookup = 10;
+ // Create vertex if not found
+ alasql.options.autovertex = true;
+
+ // Use dbo as current database (for partial T-SQL comaptibility)
+ alasql.options.usedbo = true;
+
+ // AUTOCOMMIT ON | OFF
+ alasql.options.autocommit = true;
+
+ // Use cache
+ alasql.options.cache = true;
+
+ // Compatibility flags
+ alasql.options.tsql = true;
+
+ alasql.options.mysql = true;
+
+ alasql.options.postgres = true;
+
+ alasql.options.oracle = true;
+
+ alasql.options.sqlite = true;
+
+ alasql.options.orientdb = true;
+
+ // for SET NOCOUNT OFF
+ alasql.options.nocount = false;
+
+ // Check for NaN and convert it to undefined
+ alasql.options.nan = false;
+
+ alasql.options.joinstar = 'overwrite'; // Option for SELECT * FROM a,b
+
+ //alasql.options.worker = false;
+
+ // Variables
+ alasql.vars = {};
+
+ alasql.declares = {};
+
+ alasql.prompthistory = [];
+
+ alasql.plugins = {}; // If plugin already loaded
+
+ alasql.from = {}; // FROM functions
+
+ alasql.into = {}; // INTO functions
+
+ alasql.fn = {};
+
+ alasql.aggr = {};
+
+ alasql.busy = 0;
+
+ // Cache
+ alasql.MAXSQLCACHESIZE = 10000;
+ alasql.DEFAULTDATABASEID = 'alasql';
+
+ /* WebWorker */
+ alasql.lastid = 0;
+
+ alasql.buffer = {};
+
+ /**
+ Select current database
+ @param {string} databaseid Selected database identificator
+ */
+ alasql.use = function(databaseid) {
+ if (!databaseid) {
+ databaseid = alasql.DEFAULTDATABASEID;
+ }
+ if (alasql.useid === databaseid) {
+ return;
+ }
+ alasql.useid = databaseid;
+ var db = alasql.databases[alasql.useid];
+ alasql.tables = db.tables;
+ // alasql.fn = db.fn;
+ db.resetSqlCache();
+ if (alasql.options.usedbo) {
+ alasql.databases.dbo = db; // Operator???
+ }
+ };
+
+ alasql.autoval = function(tablename, colname, getNext, databaseid) {
+ var db = databaseid ? alasql.databases[databaseid] : alasql.databases[alasql.useid];
+
+ if (!db.tables[tablename]) {
+ throw new Error('Tablename not found: ' + tablename);
+ }
+
+ if (!db.tables[tablename].identities[colname]) {
+ throw new Error('Colname not found: ' + colname);
+ }
+
+ if (getNext) {
+ return db.tables[tablename].identities[colname].value || null;
+ }
+
+ return (
+ db.tables[tablename].identities[colname].value -
+ db.tables[tablename].identities[colname].step || null
+ );
+ };
+
+ /**
+ Run single SQL statement on current database
+ */
+ alasql.exec = function(sql, params, cb, scope) {
+ // Avoid setting params if not needed even with callback
+ if (typeof params === 'function') {
+ scope = cb;
+ cb = params;
+ params = {};
+ }
+
+ delete alasql.error;
+ params = params || {};
+ if (alasql.options.errorlog) {
+ try {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ } catch (err) {
+ alasql.error = err;
+ if (cb) {
+ cb(null, alasql.error);
+ }
+ }
+ } else {
+ return alasql.dexec(alasql.useid, sql, params, cb, scope);
+ }
+ };
+
+ /**
+ Run SQL statement on specific database
+ */
+ alasql.dexec = function(databaseid, sql, params, cb, scope) {
+ var db = alasql.databases[databaseid];
+ // if(db.databaseid != databaseid) console.trace('got!');
+ // console.log(3, databaseid, alasql.databases);
+
+ var hh;
+ // Create hash
+ if (alasql.options.cache) {
+ hh = hash(sql);
+ var statement = db.sqlCache[hh];
+ // If database structure was not changed since last time return cache
+ if (statement && db.dbversion === statement.dbversion) {
+ return statement(params, cb);
+ }
+ }
+
+ // Create AST
+ var ast = alasql.parse(sql);
+ if (!ast.statements) {
+ return;
+ }
+ if (0 === ast.statements.length) {
+ return 0;
+ } else if (1 === ast.statements.length) {
+ if (ast.statements[0].compile) {
+ // Compile and Execute
+ statement = ast.statements[0].compile(databaseid, params);
+ if (!statement) {
+ return;
+ }
+ statement.sql = sql;
+ statement.dbversion = db.dbversion;
+
+ if (alasql.options.cache) {
+ // Secure sqlCache size
+ if (db.sqlCacheSize > alasql.MAXSQLCACHESIZE) {
+ db.resetSqlCache();
+ }
+ db.sqlCacheSize++;
+ db.sqlCache[hh] = statement;
+ }
+ var res = (alasql.res = statement(params, cb, scope));
+ return res;
+ } else {
+ // console.log(ast.statements[0]);
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ res = alasql.res = ast.statements[0].execute(databaseid, params, cb, scope);
+ return res;
+ }
+ } else {
+ // Multiple statements
+ if (cb) {
+ alasql.adrun(databaseid, ast, params, cb, scope);
+ } else {
+ return alasql.drun(databaseid, ast, params, cb, scope);
+ }
+ }
+ };
+
+ /**
+ Run multiple statements and return array of results sync
+ */
+ alasql.drun = function(databaseid, ast, params, cb, scope) {
+ var useid = alasql.useid;
+
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+
+ var res = [];
+ for (var i = 0, ilen = ast.statements.length; i < ilen; i++) {
+ if (ast.statements[i]) {
+ if (ast.statements[i].compile) {
+ var statement = ast.statements[i].compile(alasql.useid);
+ res.push((alasql.res = statement(params, null, scope)));
+ } else {
+ alasql.precompile(ast.statements[i], alasql.useid, params);
+ res.push((alasql.res = ast.statements[i].execute(alasql.useid, params)));
+ }
+ }
+ }
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+
+ if (cb) {
+ cb(res);
+ }
+
+ alasql.res = res;
+
+ return res;
+ };
+
+ /**
+ Run multiple statements and return array of results async
+ */
+ alasql.adrun = function(databaseid, ast, params, cb, scope) {
+ var idx = 0;
+ var noqueries = ast.statements.length;
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+
+ // alasql.busy++;
+ var useid = alasql.useid;
+ if (useid !== databaseid) {
+ alasql.use(databaseid);
+ }
+ var res = [];
+
+ const adrunone = function(data?) {
+ if (data !== undefined) {
+ res.push(data);
+ }
+ var astatement = ast.statements.shift();
+ if (!astatement) {
+ if (useid !== databaseid) {
+ alasql.use(useid);
+ }
+ cb(res);
+ // alasql.busy--;
+ // if(alasql.busy<0) alasql.busy = 0;
+ } else {
+ if (astatement.compile) {
+ var statement = astatement.compile(alasql.useid);
+ statement(params, adrunone, scope);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ } else {
+ alasql.precompile(ast.statements[0], alasql.useid, params);
+ astatement.execute(alasql.useid, params, adrunone);
+ if (alasql.options.progress !== false) {
+ alasql.options.progress(noqueries, idx++);
+ }
+ }
+ }
+ };
+
+ adrunone(); /** @todo Check, why data is empty here */
+ };
+
+ /**
+ Compile statement to JavaScript function
+ @param {string} sql SQL statement
+ @param {string} databaseid Database identificator
+ @return {functions} Compiled statement functions
+*/
+ alasql.compile = function(sql, databaseid) {
+ databaseid = databaseid || alasql.useid;
+
+ var ast = alasql.parse(sql); // Create AST
+
+ if (1 === ast.statements.length) {
+ var statement = ast.statements[0].compile(databaseid);
+ statement.promise = function(params) {
+ return new Promise(function(resolve, reject) {
+ statement(params, function(data, err) {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(data);
+ }
+ });
+ });
+ };
+
+ return statement;
+ /*/*
+ if(kind == 'value') {
+ return function(params,cb) {
+ var res = statementfn(params);
+ var key = Object.keys(res[0])[0];
+ if(cb) cb(res[0][key]);
+ return res[0][key];
+ };
+ } else if(kind == 'single') {
+ return function(params,cb) {
+ var res = statementfn(params);
+ if(cb) cb(res[0]);
+ return res[0];
+ }
+ } else if(kind == 'row') {
+ return function(params,cb) {
+ var res = statementfn(params,cb);
+ var a = [];
+ for(var key in res[0]) {
+ a.push(res[0][key]);
+ };
+ if(cb) cb(a);
+ return a;
+ }
+ } else if(kind == 'column') {
+ return function(params,cb) {
+ var res = statementfn(params,cb);
+ var ar = [];
+ var key = Object.keys(res)[0];
+ for(var i=0, ilen=res.length; i= 0) {
var source = query.sources[idx];
source.data = data;
- if (typeof source.data == 'function') {
+ if (typeof source.data === 'function') {
source.getfn = source.data;
source.dontcache = source.getfn.dontcache;
// var prevsource = query.sources[h-1];
if (
- source.joinmode == 'OUTER' ||
- source.joinmode == 'RIGHT' ||
- source.joinmode == 'ANTI'
+ source.joinmode === 'OUTER' ||
+ source.joinmode === 'RIGHT' ||
+ source.joinmode === 'ANTI'
) {
source.dontcache = false;
}
@@ -112,10 +117,10 @@ function queryfn2(data, idx, query) {
query.sourceslen--;
if (query.sourceslen > 0) return;
- return queryfn3(query);
+ return queryfn3(alasql, query);
}
-function queryfn3(query) {
+function queryfn3(alasql, query) {
var scope = query.scope,
jlen;
@@ -138,7 +143,7 @@ function queryfn3(query) {
// Start walking over data
//console.log(142,'1111');
- doJoin(query, scope, h);
+ doJoin(alasql, query, scope, h);
//console.log(144,'2222',query.modifier);
//console.log(85,query.data[0]);
@@ -151,8 +156,8 @@ function queryfn3(query) {
var g = {};
if (query.selectGroup.length > 0) {
// console.log(query.selectGroup);
- query.selectGroup.forEach(function(sg) {
- if (sg.aggregatorid == 'COUNT' || sg.aggregatorid == 'SUM') {
+ query.selectGroup.forEach(function (sg) {
+ if (sg.aggregatorid === 'COUNT' || sg.aggregatorid === 'SUM') {
g[sg.nick] = 0;
} else {
g[sg.nick] = undefined;
@@ -167,7 +172,7 @@ function queryfn3(query) {
if (query.aggrKeys.length > 0) {
var gfns = '';
- query.aggrKeys.forEach(function(col) {
+ query.aggrKeys.forEach(function (col) {
gfns +=
"g['" +
col.nick +
@@ -313,7 +318,7 @@ function queryfn3(query) {
// console.log('removeKeys:',query.removeKeys);
// TODO: Check what artefacts rest from Angular.js
- if (typeof angular != 'undefined') {
+ if (typeof angular !== 'undefined') {
query.removeKeys.push('$$hashKey');
}
@@ -333,17 +338,17 @@ function queryfn3(query) {
// Remove from columns list
if (query.columns.length > 0) {
- query.columns = query.columns.filter(function(column) {
+ query.columns = query.columns.filter(function (column) {
var found = false;
- removeKeys.forEach(function(key) {
- if (column.columnid == key) found = true;
+ removeKeys.forEach(function (key) {
+ if (column.columnid === key) found = true;
});
return !found;
});
}
}
- if (typeof query.removeLikeKeys != 'undefined' && query.removeLikeKeys.length > 0) {
+ if (typeof query.removeLikeKeys !== 'undefined' && query.removeLikeKeys.length > 0) {
var removeLikeKeys = query.removeLikeKeys;
// Remove unused columns
@@ -361,9 +366,9 @@ function queryfn3(query) {
}
if (query.columns.length > 0) {
- query.columns = query.columns.filter(function(column) {
+ query.columns = query.columns.filter(function (column) {
var found = false;
- removeLikeKeys.forEach(function(key) {
+ removeLikeKeys.forEach(function (key) {
// if(column.columnid.match(key)) found = true;
if (alasql.utils.like(key, column.columnid)) {
found = true;
@@ -438,21 +443,21 @@ function doDistinct(query) {
var keys = Object.keys(query.data[0] || []);
for (var i = 0, ilen = query.data.length; i < ilen; i++) {
var uix = keys
- .map(function(k) {
+ .map(function (k) {
return query.data[i][k];
})
.join('`');
uniq[uix] = query.data[i];
}
query.data = [];
- for (var key in uniq) {
- query.data.push(uniq[key]);
+ for (let ind in uniq) {
+ query.data.push(uniq[ind]);
}
}
}
// Optimization: preliminary indexation of joins
-var preIndex = function(query) {
+var preIndex = function (query) {
// console.log(query);
// Loop over all sources
// Todo: make this loop smaller and more graspable
@@ -462,7 +467,7 @@ var preIndex = function(query) {
// If there is indexation rule
//console.log('preIndex', source);
//console.log(source);
- if (k > 0 && source.optimization == 'ix' && source.onleftfn && source.onrightfn) {
+ if (k > 0 && source.optimization === 'ix' && source.onleftfn && source.onrightfn) {
// If there is no table.indices - create it
if (source.databaseid && alasql.databases[source.databaseid].tables[source.tableid]) {
if (!alasql.databases[source.databaseid].tables[source.tableid].indices)
@@ -470,7 +475,7 @@ var preIndex = function(query) {
// Check if index already exists
var ixx =
alasql.databases[source.databaseid].tables[source.tableid].indices[
- hash(source.onrightfns + '`' + source.srcwherefns)
+ hash(source.onrightfns + '`' + source.srcwherefns)
];
if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
source.ix = ixx;
@@ -530,7 +535,7 @@ var preIndex = function(query) {
// Check if index exists
ixx =
alasql.databases[source.databaseid].tables[source.tableid].indices[
- hash(source.wxleftfns + '`')
+ hash(source.wxleftfns + '`')
];
}
if (!alasql.databases[source.databaseid].tables[source.tableid].dirty && ixx) {
@@ -578,7 +583,7 @@ var preIndex = function(query) {
if (source.srcwherefns) {
if (source.data) {
scope = {};
- source.data = source.data.filter(function(r) {
+ source.data = source.data.filter(function (r) {
scope[source.alias] = r;
return source.srcwherefn(scope, query.params, alasql);
});
@@ -593,7 +598,7 @@ var preIndex = function(query) {
var scope = {};
// TODO!!!!! Data as Function
- source.data = source.data.filter(function(r) {
+ source.data = source.data.filter(function (r) {
scope[source.alias] = r;
// console.log(288,source);
return source.srcwherefn(scope, query.params, alasql);
@@ -629,3 +634,5 @@ var preIndex = function(query) {
}
}
};
+
+
diff --git a/src/prolog/alasql-prolog.js b/src/prolog/alasql-prolog.js
deleted file mode 100644
index 0e66c9ef05..0000000000
--- a/src/prolog/alasql-prolog.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Prolog plugin
-
-var yy = alasql.yy;
-
-yy.Term = function (params) { return yy.extend(this, params); }
-yy.Term.prototype.toString = function() {
- var s = this.termid;
- if(this.args && this.args.length > 0) {
- s += '('+this.args.map(function(arg){
- return arg.toString();
- })+')';
- }
- return s;
-};
-
-yy.AddRule = function (params) { return yy.extend(this, params); }
-yy.AddRule.prototype.toString = function() {
- var s = '';
- if(this.left) s += this.left.toString();
- s += ':-';
- s += this.right.map(function(r){return r.toString()}).join(',');
- return s;
-};
-
-yy.AddRule.prototype.execute = function (databaseid, params, cb) {
-// var self = this;
-// console.log(this.expr.toJS());
-// var fn = new Function('params, alasql','return '+this.expr.toJS());
-// var res = fn(params, alasql);
- var res = 1;
- var objects = alasql.databases[databaseid].objects;
- var rule = {};
- if(!this.left) {
- this.right.forEach(function(term){
- rule.$class = term.termid;
- });
- }
- if(cb) res = cb(res);
- return res;
-};
\ No newline at end of file
diff --git a/src/utils.ts b/src/utils.ts
new file mode 100755
index 0000000000..0f8c68e039
--- /dev/null
+++ b/src/utils.ts
@@ -0,0 +1,18 @@
+import general from './utils/general';
+import enviroment from './utils/enviroment';
+import transformation from './utils/transformation';
+import sqlTools from './utils/sqlTools';
+import files from './utils/files';
+import domTools from './utils/domTools';
+import excelTools from './utils/excelTools';
+
+export default {
+ ...general,
+ ...enviroment,
+ ...transformation,
+ ...sqlTools,
+ ...files,
+ ...domTools,
+ ...sqlTools,
+ ...excelTools,
+};
diff --git a/src/utils/array.js b/src/utils/array.js
new file mode 100755
index 0000000000..8201c806b5
--- /dev/null
+++ b/src/utils/array.js
@@ -0,0 +1,271 @@
+import {Recordset} from '../dataStruct/query';
+
+ const utils = {};
+
+ /**
+ * Union arrays
+ * @function
+ * @param {array} a
+ * @param {array} b
+ * @return {array}
+ */
+ utils.arrayUnion = (a, b) => {
+ var r = b.slice(0);
+ a.forEach(function(i) {
+ if (r.indexOf(i) < 0) {
+ r.push(i);
+ }
+ });
+ return r;
+ };
+
+ /**
+ * Array Difference
+ */
+ utils.arrayDiff = (a, b) => {
+ return a.filter(function(i) {
+ return b.indexOf(i) < 0;
+ });
+ };
+
+ /**
+ * Arrays deep intersect (with records)
+ */
+ utils.arrayIntersect = (a, b) => {
+ var r = [];
+ a.forEach(function(ai) {
+ var found = false;
+
+ b.forEach(function(bi) {
+ found = found || ai === bi;
+ });
+
+ if (found) {
+ r.push(ai);
+ }
+ });
+ return r;
+ };
+
+ /**
+ Arrays deep union (with records)
+ */
+ utils.arrayUnionDeep = (a, b) => {
+ var r = b.slice(0);
+ a.forEach(function(ai) {
+ var found = false;
+
+ r.forEach(function(ri) {
+ // found = found || equalDeep(ai, ri, true);
+ found = found || utils.deepEqual(ai, ri);
+ });
+
+ if (!found) {
+ r.push(ai);
+ }
+ });
+ return r;
+ };
+
+ /**
+ Arrays deep union (with records)
+ */
+ utils.arrayExceptDeep = (a, b) => {
+ var r = [];
+ a.forEach(ai => {
+ var found = false;
+
+ b.forEach(function(bi) {
+ // found = found || equalDeep(ai, bi, true);
+ found = found || utils.deepEqual(ai, bi);
+ });
+
+ if (!found) {
+ r.push(ai);
+ }
+ });
+ return r;
+ };
+
+ /**
+ Arrays deep intersect (with records)
+ */
+ utils.arrayIntersectDeep = (a, b) => {
+ var r = [];
+ a.forEach(function(ai) {
+ var found = false;
+
+ b.forEach(function(bi) {
+ // found = found || equalDeep(ai, bi, true);
+ found = found || utils.deepEqual(ai, bi, true);
+ });
+
+ if (found) {
+ r.push(ai);
+ }
+ });
+ return r;
+ };
+
+ /**
+ Deep clone objects
+ */
+ utils.cloneDeep = obj => {
+ if (null === obj || typeof obj !== 'object') {
+ return obj;
+ }
+
+ if (obj instanceof Date) {
+ return new Date(obj);
+ }
+
+ var temp = obj.constructor(); // changed
+
+ for (var key in obj) {
+ if (obj.hasOwnProperty(key)) {
+ temp[key] = utils.cloneDeep(obj[key]);
+ }
+ }
+ return temp;
+ };
+
+ /**
+ Check equality of objects
+*/
+
+ /*/*
+var equalDeep = utils.equalDeep = function equalDeep (x, y, deep) {
+ if (deep) {
+ if (x === y){
+ return true;
+ }
+
+ var p;
+ for (p in y) {
+ if (typeof (x[p]) === 'undefined') { return false; }
+ }
+
+ for (p in y) {
+ if (y[p]) {
+ switch (typeof (y[p])) {
+ case 'object':
+ if (!equalDeep(y[p],x[p])) { return false; } break;
+ case 'function':
+ if (
+ typeof (x[p]) === 'undefined' ||
+ (p !== 'equals' && y[p].toString() !== x[p].toString())
+ ){
+ return false;
+ }
+ break;
+ default:
+ if (y[p] !== x[p]) { return false; }
+ }
+ } else {
+ if (x[p]){
+ return false;
+ }
+ }
+ }
+
+ for (p in x) {
+ if (typeof (y[p]) === 'undefined') { return false; }
+ }
+
+ return true;
+ }
+ return x === y;
+};
+*/
+
+ /**
+ Compare two objects in deep
+ */
+ utils.deepEqual = (x, y) => {
+ if (x === y) {
+ return true;
+ }
+
+ if (typeof x === 'object' && null !== x && (typeof y === 'object' && null !== y)) {
+ if (Object.keys(x).length !== Object.keys(y).length) {
+ return false;
+ }
+ for (var prop in x) {
+ if (!utils.deepEqual(x[prop], y[prop])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ return false;
+ };
+
+ /**
+ Array with distinct records
+ @param {array} data
+ @return {array}
+*/
+ utils.distinctArray = data => {
+ var uniq = {};
+ // TODO: Speedup, because Object.keys is slow
+ for (var i = 0, ilen = data.length; i < ilen; i++) {
+ var uix;
+ if (typeof data[i] === 'object') {
+ uix = Object.keys(data[i])
+ .sort()
+ .map(k => {
+ return k + '`' + data[i][k];
+ })
+ .join('`');
+ } else {
+ uix = data[i];
+ }
+ uniq[uix] = data[i];
+ }
+ var res = [];
+ for (let ind in uniq) {
+ res.push(uniq[ind]);
+ }
+ return res;
+ };
+
+ /**
+ Flat array by first row
+ */
+ utils.flatArray = a => {
+ //console.log(684,a);
+ if (!a || 0 === a.length) {
+ return [];
+ }
+
+ // For recordsets
+ if (typeof a === 'object' && a instanceof Recordset) {
+ return a.data.map(function(ai) {
+ return ai[a.columns[0].columnid];
+ });
+ }
+ // Else for other arrays
+ var key = Object.keys(a[0])[0];
+ if (key === undefined) {
+ return [];
+ }
+ return a.map(function(ai) {
+ return ai[key];
+ });
+ };
+
+ /**
+ Convert array of objects to array of arrays
+ */
+ utils.arrayOfArrays = a => {
+ return a.map(aa => {
+ var ar = [];
+ for (const val of aa) {
+ ar.push(val);
+ }
+ return ar;
+ });
+ };
+
+ export default utils;
\ No newline at end of file
diff --git a/src/utils/domTools.js b/src/utils/domTools.js
new file mode 100755
index 0000000000..abe1a48c23
--- /dev/null
+++ b/src/utils/domTools.js
@@ -0,0 +1,6 @@
+export default {domEmptyChildren: (container)=>{
+ var len = container.childNodes.length;
+ while (len--) {
+ container.removeChild(container.lastChild);
+ }
+ }};
diff --git a/src/utils/enviroment.js b/src/utils/enviroment.js
new file mode 100755
index 0000000000..e4a8153957
--- /dev/null
+++ b/src/utils/enviroment.js
@@ -0,0 +1,162 @@
+import gen from './general';
+
+// Todo: prepend .gen in the code
+const global = gen.global;
+const isNativeFunction = gen.isNativeFunction;
+
+// const utils : {[key: string]: any} = {};
+const utils = {};
+
+/**
+Find out if code is running in a web worker enviroment
+@return {boolean} True if code is running in a web worker enviroment
+*/
+utils.isWebWorker = (() => {
+ try {
+ var importScripts = global.importScripts;
+ return isNativeFunction(importScripts);
+ } catch (e) {
+ return false;
+ }
+})();
+
+/**
+Find out if code is running in a node enviroment
+@return {boolean} True if code is running in a node enviroment
+*/
+utils.isNode = (() => {
+ try {
+ return isNativeFunction(global.process.reallyExit);
+ } catch (e) {
+ return false;
+ }
+})();
+
+/**
+Find out if code is running in a browser enviroment
+@return {boolean} True if code is running in a browser enviroment
+*/
+utils.isBrowser = (() => {
+ try {
+ return isNativeFunction(global.location.reload);
+ } catch (e) {
+ return false;
+ }
+})();
+
+/**
+Find out if code is running in a browser with a browserify setup
+@return {boolean} True if code is running in a browser with a browserify setup
+*/
+utils.isBrowserify = (() => {
+ return utils.isBrowser && typeof process !== 'undefined' && process.browser;
+})();
+
+/**
+Find out if code is running in a browser with a requireJS setup
+@return {boolean} True if code is running in a browser with a requireJS setup
+*/
+utils.isRequireJS = (() => {
+ return (
+ utils.isBrowser &&
+ typeof require === 'function' &&
+ typeof require.specified === 'function'
+ );
+})();
+
+/**
+Find out if code is running with Meteor in the enviroment
+@return {boolean} True if code is running with Meteor in the enviroment
+
+@todo Find out if this is the best way to do this
+*/
+utils.isMeteor = (() => {
+ return typeof Meteor !== 'undefined' && Meteor.release;
+})();
+
+/**
+Find out if code is running on a Meteor client
+@return {boolean} True if code is running on a Meteor client
+*/
+utils.isMeteorClient = utils.isMeteor && Meteor.isClient;
+
+/**
+Find out if code is running on a Meteor server
+@return {boolean} True if code is running on a Meteor server
+*/
+utils.isMeteorServer = utils.isMeteor && Meteor.isServer;
+
+/**
+Find out code is running in a cordovar enviroment
+@return {boolean} True if code is running in a web worker enviroment
+
+@todo Find out if this is the best way to do this
+*/
+utils.isCordova = typeof cordova === 'object';
+
+utils.isReactNative = (() => {
+ var isReact = false;
+ //*not-for-browser/*
+ try {
+ if (typeof require('react-native') === 'object') {
+ isReact = true;
+ }
+ } catch (e) {
+ void 0;
+ }
+ //*/
+ return isReact;
+})();
+
+utils.hasIndexedDB = !!global.indexedDB;
+
+/**
+@function Is this IE9
+@return {boolean} True for IE9 and false for other browsers
+
+For IE9 compatibility issues
+*/
+utils.isIE = (() => {
+
+ /*only-for-browser/*
+ var myNav = navigator.userAgent.toLowerCase();
+ return myNav.indexOf('msie') !== -1 ? parseInt(myNav.split('msie')[1]) : false;
+//*/
+ return false;
+})();
+
+/**
+Get path of alasql.js
+@todo Rewrite and simplify the code. Review, is this function is required separately
+*/
+utils.findAlaSQLPath = function () {
+ /** type {string} Path to alasql library and plugins */
+
+ if (utils.isWebWorker) {
+ return '';
+ /** @todo Check how to get path in worker */
+ } else if (utils.isMeteorClient) {
+ return '/packages/dist/';
+ } else if (utils.isMeteorServer) {
+ return 'assets/packages/dist/';
+ } else if (utils.isNode) {
+ return __dirname;
+ } else if (utils.isBrowser) {
+ var sc = document.getElementsByTagName('script');
+
+ for (var i = 0; i < sc.length; i++) {
+ if (sc[i].src.substr(-16).toLowerCase() === 'alasql-worker.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 16);
+ } else if (sc[i].src.substr(-20).toLowerCase() === 'alasql-worker.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 20);
+ } else if (sc[i].src.substr(-9).toLowerCase() === 'alasql.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 9);
+ } else if (sc[i].src.substr(-13).toLowerCase() === 'alasql.min.js') {
+ return sc[i].src.substr(0, sc[i].src.length - 13);
+ }
+ }
+ }
+ return '';
+};
+
+export default utils;
\ No newline at end of file
diff --git a/src/utils/excelTools.js b/src/utils/excelTools.js
new file mode 100755
index 0000000000..a9027cef91
--- /dev/null
+++ b/src/utils/excelTools.js
@@ -0,0 +1,60 @@
+
+import env from './enviroment';
+
+const utils = {};
+
+ utils.getXLSX = () => {
+ var XLSX = null;
+ /* If require() shuold be supported else take from global scope */
+ if (env.isNode || env.isBrowserify || env.isMeteorServer) {
+ //*not-for-browser/*
+ XLSX = require('xlsx') || null;
+ //*/
+ } else {
+ XLSX = global.XLSX || null;
+ }
+
+ if (null === XLSX) {
+ throw new Error('Please include the xlsx.js library');
+ }
+
+ return XLSX;
+ };
+
+ /**
+ Excel:convert number to Excel column, like 1 => 'A'
+ @param {integer} i Column number, starting with 0
+ @return {string} Column name, starting with 'A'
+*/
+
+ utils.xlsnc = i => {
+ var addr = String.fromCharCode(65 + (i % 26));
+ if (i >= 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ if (i > 26) {
+ i = ((i / 26) | 0) - 1;
+ addr = String.fromCharCode(65 + (i % 26)) + addr;
+ }
+ }
+ return addr;
+ };
+
+ /**
+ Excel:conver Excel column name to number
+ @param {string} s Column number, like 'A' or 'BE'
+ @return {string} Column name, starting with 0
+*/
+ utils.xlscn = s => {
+ var n = s.charCodeAt(0) - 65;
+ if (s.length > 1) {
+ n = (n + 1) * 26 + s.charCodeAt(1) - 65;
+ // console.log(n, s.charCodeAt(0)-65, s.charCodeAt(1)-65);
+ if (s.length > 2) {
+ n = (n + 1) * 26 + s.charCodeAt(2) - 65;
+ }
+ }
+ return n;
+ };
+
+export default utils;
diff --git a/src/utils/files.js b/src/utils/files.js
new file mode 100755
index 0000000000..73f0f393ca
--- /dev/null
+++ b/src/utils/files.js
@@ -0,0 +1,529 @@
+
+ import env from './enviroment';
+ import trans from './transformation';
+
+ const cutbom = trans.cutbom;
+
+ const utils = {};
+
+ /**
+ Load text file from anywhere
+ @param {string|object} path File path or HTML event
+ @param {boolean} asy True - async call, false - sync call
+ @param {function} success Success function
+ @param {function} error Error function
+ @return {string} Read data
+
+ @todo Define Event type
+ @todo Smaller if-else structures.
+*/
+ utils.loadFile = function(path, asy, success, error) {
+ var data, fs;
+ if (env.isNode || env.isMeteorServer) {
+ //*not-for-browser/*
+ if (utils.isMeteor) {
+ fs = Npm.require('fs');
+ } else {
+ fs = require('fs');
+ }
+
+ // If path is empty, than read data from stdin (for Node)
+ if (typeof path === 'undefined') {
+ var buff = '';
+ process.stdin.setEncoding('utf8');
+ process.stdin.on('readable', function() {
+ var chunk = process.stdin.read();
+ if (chunk !== null) {
+ buff += chunk.toString();
+ }
+ });
+ process.stdin.on('end', function() {
+ success(cutbom(buff));
+ });
+ } else {
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request(path, function(err, response, body) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(body.toString()));
+ });
+ } else {
+ //If async callthen call async
+ if (asy) {
+ fs.readFile(path, function(err, data) {
+ if (err) {
+ throw err;
+ }
+ success(cutbom(data.toString()));
+ });
+ } else {
+ // Call sync version
+ data = fs.readFileSync(path);
+ success(cutbom(data.toString()));
+ }
+ }
+ }
+ } else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.readFile(path, 'utf8')
+ .then(function(contents) {
+ success(cutbom(contents));
+ })
+ .catch(function(err) {
+ throw err;
+ });
+ //*/
+ } else if (utils.isCordova) {
+ /* If Cordova */
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
+ fileSystem.root.getFile(path, {create: false}, function(fileEntry) {
+ fileEntry.file(function(file) {
+ var fileReader = new FileReader();
+ fileReader.onloadend = function(e) {
+ success(cutbom(this.result));
+ };
+ fileReader.readAsText(file);
+ });
+ });
+ });
+
+ /** @todo Check eliminated code below */
+
+ /*/*
+
+ var paths = path.split('/');
+ var filename = paths[paths.length-1];
+ var dirpath = path.substr(0,path.length-filename.length);
+ // console.log('CORDOVA',filename,dirpath);
+ //return success('[{"a":"'+filename+'"}]');
+
+ window.resolveLocalFileSystemURL(dirpath, function(dir) {
+ dir.getFile(filename, null, function(file) {
+ file.file(function(file) {
+ var reader = new FileReader();
+ // console.log('READ FILE 2');
+ reader.onloadend = function(e) {
+// console.log('READ FILE 3',this.result);
+ success(this.result);
+ };
+ reader.readAsText(file);
+ });
+ });
+ });
+*/
+ } else {
+ /* For string */
+ if (typeof path === 'string') {
+ // For browser read from tag
+ /*
+ SELECT * FROM TXT('#one') -- read data from HTML element with id="one"
+ */
+ if (path.substr(0, 1) === '#' && typeof document !== 'undefined') {
+ data = document.querySelector(path).textContent;
+ success(data);
+ } else {
+ /*
+ Simply read file from HTTP request, like:
+ SELECT * FROM TXT('http://alasql.org/README.md');
+ */
+ var xhr = new XMLHttpRequest();
+ xhr.onreadystatechange = function() {
+ if (xhr.readyState === 4) {
+ if (xhr.status === 200) {
+ if (success) {
+ success(cutbom(xhr.responseText));
+ }
+ } else if (error) {
+ error(xhr);
+ }
+ // Todo: else...?
+ }
+ };
+ xhr.open('GET', path, asy); // Async
+ xhr.responseType = 'text';
+ xhr.send();
+ }
+ } else if (path instanceof Event) {
+ /*
+ For browser read from files input element
+
+
+ */
+ /** @type {array} List of files from element */
+ var files = path.target.files;
+ /** type {object} */
+ var reader = new FileReader();
+ /** type {string} */
+ var name = files[0].name;
+ reader.onload = function(e) {
+ var data = e.target.result;
+ success(cutbom(data));
+ };
+ reader.readAsText(files[0]);
+ }
+ }
+ };
+
+ /**
+ @function Load binary file from anywhere
+ @param {string} path File path
+ @param {boolean} asy True - async call, false - sync call
+ @param {function} success Success function
+ @param {function} error Error function
+ @return 1 for Async, data - for sync version
+
+ @todo merge functionality from loadFile and LoadBinaryFile
+*/
+
+ utils.loadBinaryFile = function(path, asy, success, error) {
+ var fs;
+ if (utils.isNode || utils.isMeteorServer) {
+ //*not-for-browser/*
+ if (utils.isMeteorServer) {
+ fs = Npm.require('fs'); // For Meteor
+ } else {
+ fs = require('fs');
+ }
+
+ if (/^[a-z]+:\/\//i.test(path)) {
+ var request = require('request');
+ request({url: path, encoding: null}, function(err, response, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ } else {
+ if (asy) {
+ fs.readFile(path, function(err, data) {
+ if (err) {
+ throw err;
+ }
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ });
+ } else {
+ var data = fs.readFileSync(path);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ }
+ }
+ } else if (utils.isReactNative) {
+ // If ReactNative
+ //var RNFS = require('react-native-fs');
+ var RNFetchBlob = require('react-native-fetch-blob').default;
+ var dirs = RNFetchBlob.fs.dirs;
+ //should use readStream instead if the file is large
+ RNFetchBlob.fs.readFile(path, 'base64').then(function(data) {
+ //RNFetchBlob.base64.decode(data) //need more test on excel
+ success(data);
+ });
+ //*/
+ } else {
+ if (typeof path === 'string') {
+ // For browser
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', path, asy); // Async
+ xhr.responseType = 'arraybuffer';
+ xhr.onload = function() {
+ var data = new Uint8Array(xhr.response);
+ var arr = [];
+ for (var i = 0; i < data.length; ++i) {
+ arr[i] = String.fromCharCode(data[i]);
+ }
+ success(arr.join(''));
+ };
+ // xhr.responseType = "blob";
+ xhr.send();
+ } else if (path instanceof Event) {
+ // console.log("event");
+ var files = path.target.files;
+ var reader = new FileReader();
+ var name = files[0].name;
+ reader.onload = function(e) {
+ var data = e.target.result;
+ success(data);
+ };
+ reader.readAsArrayBuffer(files[0]);
+ } else if (path instanceof Blob) {
+ success(path);
+ }
+ }
+ };
+
+ var removeFile = (utils.removeFile = function(path, cb) {
+ if (utils.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ fs.remove(path, cb);
+ } else if (utils.isCordova) {
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
+ fileSystem.root.getFile(
+ path,
+ {create: false},
+ function(fileEntry) {
+ fileEntry.remove(cb);
+ if (cb) cb(); // jshint ignore:line
+ },
+ function() {
+ if (cb) cb(); // jshint ignore:line
+ }
+ );
+ });
+ } else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function() {
+ if (cb) cb();
+ })
+ .catch(function(err) {
+ throw err;
+ });
+ //*/
+ } else {
+ throw new Error('You can remove files only in Node.js and Apache Cordova');
+ }
+ });
+
+ // Todo: check if it makes sense to support cordova and Meteor server
+ utils.deleteFile = (path, cb) => {
+ //*not-for-browser/*
+ if (utils.isNode) {
+ var fs = require('fs');
+ fs.unlink(path, cb);
+ } else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.unlink(path)
+ .then(function() {
+ if (cb) cb();
+ })
+ .catch(function(err) {
+ throw err;
+ });
+ }
+ //*/
+ };
+
+ utils.autoExtFilename = (filename, ext, config) => {
+ config = config || {};
+ if (
+ typeof filename !== 'string' ||
+ filename.match(/^[A-z]+:\/\/|\n|\..{2,4}$/) ||
+ config.autoExt === 0 ||
+ config.autoExt === false
+ ) {
+ return filename;
+ }
+ return filename + '.' + ext;
+ };
+
+ utils.fileExists = function(path, cb) {
+ if (utils.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ fs.exists(path, cb);
+ } else if (utils.isCordova) {
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
+ fileSystem.root.getFile(
+ path,
+ {create: false},
+ function(fileEntry) {
+ cb(true);
+ },
+ function() {
+ cb(false);
+ }
+ );
+ });
+ } else if (utils.isReactNative) {
+ // If ReactNative
+ var RNFS = require('react-native-fs');
+ RNFS.exists(path)
+ .then(function(yes) {
+ if (cb) cb(yes);
+ })
+ .catch(function(err) {
+ throw err;
+ });
+ //*/
+ } else {
+ // TODO Cordova, etc.
+ throw new Error('You can use exists() only in Node.js or Apach Cordova');
+ }
+ };
+
+ /**
+ Save text file from anywhere
+ @param {string} path File path
+ @param {array} data Data object
+ @param {function} cb Callback
+ @param {object=} opts
+*/
+
+ utils.saveFile = function(path, data, cb, opts) {
+ var res = 1;
+ if (path === undefined) {
+ //
+ // Return data into result variable
+ // like: alasql('SELECT * INTO TXT() FROM ?',[data]);
+ //
+ res = data;
+ if (cb) {
+ res = cb(res);
+ }
+ } else {
+ if (utils.isNode) {
+ //*not-for-browser/*
+ var fs = require('fs');
+ data = fs.writeFileSync(path, data);
+ if (cb) {
+ res = cb(res);
+ }
+ } else if (utils.isReactNative) {
+ var RNFS = require('react-native-fs');
+ RNFS.writeFile(path, data)
+ .then(function(success) {
+ //, 'utf8'
+ if (cb) res = cb(res);
+ })
+ .catch(function(err) {
+ console.error(err.message);
+ });
+ } else if (utils.isCordova) {
+ utils.global.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
+ // alasql.utils.removeFile(path,function(){
+ fileSystem.root.getFile(path, {create: true}, function(fileEntry) {
+ fileEntry.createWriter(function(fileWriter) {
+ fileWriter.onwriteend = function() {
+ if (cb) {
+ res = cb(res);
+ }
+ };
+ fileWriter.write(data);
+ });
+ });
+ });
+ //*/
+
+ /*/*
+ } else if((typeof cordova == 'object') && cordova.file) {
+// console.log('saveFile 1');
+ // Cordova
+ var paths = path.split('/');
+ var filename = paths[paths.length-1];
+ var dirpath = path.substr(0,path.length-filename.length);
+ // console.log('CORDOVA',filename,dirpath);
+ //return success('[{"a":"'+filename+'"}]');
+
+ window.resolveLocalFileSystemURL(dirpath, function(dir) {
+// console.log('saveFile 2');
+
+ dir.getFile(filename, {create:true}, function(file) {
+// console.log('saveFile 3');
+
+// file.file(function(file) {
+// console.log('saveFile 4');
+
+ file.createWriter(function(fileWriter) {
+
+// fileWriter.seek(fileWriter.length);
+
+ var blob = new Blob([data], {type:'text/plain'});
+ fileWriter.write(blob);
+ fileWriter.onwriteend = function(){
+ if(cb) cb();
+ };
+// console.log("ok, in theory i worked");
+ });
+*/
+ /*/*
+ // Corodva
+ function writeFinish() {
+ // ... your done code here...
+ return cb()
+ };
+ var written = 0;
+ var BLOCK_SIZE = 1*1024*1024; // write 1M every time of write
+ function writeNext(cbFinish) {
+ var sz = Math.min(BLOCK_SIZE, data.length - written);
+ var sub = data.slice(written, written+sz);
+ writer.write(sub);
+ written += sz;
+ writer.onwrite = function(evt) {
+ if (written < data.length)
+ writeNext(cbFinish);
+ else
+ cbFinish();
+ };
+ }
+ writeNext(writeFinish);
+ }
+*/
+ // });
+ // });
+ // });
+ } else {
+ if (utils.isIE() === 9) {
+ // Solution was taken from
+ // http://megatuto.com/formation-JAVASCRIPT.php?JAVASCRIPT_Example=Javascript+Save+CSV+file+in+IE+8/IE+9+without+using+window.open()+Categorie+javascript+internet-explorer-8&category=&article=7993
+ // var URI = 'data:text/plain;charset=utf-8,';
+
+ // Prepare data
+ var ndata = data.replace(/\r\n/g, 'A;D;');
+ ndata = ndata.replace(/\n/g, 'D;');
+ ndata = ndata.replace(/\t/g, ' ');
+ var testlink = utils.global.open('about:blank', '_blank');
+ testlink.document.write(ndata); //fileData has contents for the file
+ testlink.document.close();
+ testlink.document.execCommand('SaveAs', false, path);
+ testlink.close();
+ } else {
+ var opt = {
+ disableAutoBom: false,
+ };
+ utils.extend(opt, opts);
+ var blob = new Blob([data], {type: 'text/plain;charset=utf-8'});
+ utils.saveAs(blob, path, opt.disableAutoBom);
+ if (cb) {
+ res = cb(res);
+ }
+ }
+ }
+ }
+
+ return res;
+ };
+
+ // For LOAD
+ // var saveBinaryFile = utils.saveFile = function(path, data, cb) {
+ // if(utils.isNode) {
+ // // For Node.js
+ // var fs = require('fs');
+ // var data = fs.writeFileSync(path,data);
+ // } else {
+ // var blob = new Blob([data], {type: "text/plain;charset=utf-8"});
+ // saveAs(blob, path);
+ // }
+ // };
+
+
+ export default utils;
\ No newline at end of file
diff --git a/src/utils/general.ts b/src/utils/general.ts
new file mode 100755
index 0000000000..ef8c036f28
--- /dev/null
+++ b/src/utils/general.ts
@@ -0,0 +1,113 @@
+
+ const utils : {[key: string]: any} = {};
+ /**
+ Convert NaN to undefined
+ @function
+ @param {string} s JavaScript string to be modified
+ @return {string} Covered expression
+
+ @example
+
+ 123 => 123
+ undefined => undefined
+ NaN => undefined
+
+ */
+ utils.n2u = function (s) {
+ return '(y=' + s + ',y===y?y:undefined)';
+ };
+
+ /**
+ Return undefined if s undefined
+ @param {string} s JavaScript string to be modified
+ @return {string} Covered expression
+
+ @example
+
+ 123,a => a
+ undefined,a => undefined
+ NaN,a => undefined
+
+ */
+ utils.und = (s, r) => {
+ return '(y=' + s + ',typeof y=="undefined"?undefined:' + r + ')';
+ };
+
+ /**
+ Return always true. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
+ @function
+ @return {boolean} Always true
+ */
+ utils.returnTrue = () => {
+ return true;
+ };
+
+ /**
+ Return undefined. Stub for non-ecisting WHERE clause, because is faster then if(whenrfn) whenfn()
+ @function
+ @return {undefined} Always undefined
+ */
+ utils.returnUndefined = function () { };
+
+ /**
+ Escape string
+ @function
+ @param {string} s Source string
+ @return {string} Escaped string
+ @example
+
+ Pit\er's => Pit\\er\'s
+
+ */
+
+ /**
+ Get the global scope
+ Inspired by System.global
+ @return {object} The global scope
+ */
+ utils.global = (function () {
+ if (typeof self !== 'undefined') {
+ return self;
+ }
+ if (typeof window !== 'undefined') {
+ return window;
+ }
+ if (typeof global !== 'undefined') {
+ return global;
+ }
+ return Function('return this')();
+ }());
+
+
+ /**
+ * Find out if a function is native to the enviroment
+ * @param {function} Function to check
+ * @return {boolean} True if function is native
+ */
+ utils.isNativeFunction = fn => {
+ return typeof fn === 'function' && !!~fn.toString().indexOf('[native code]');
+ };
+
+ utils.isArray = function (obj) {
+ return '[object Array]' === Object.prototype.toString.call(obj);
+ };
+
+ /**
+ * Extend object a with properties of b
+ * @function
+ * @param {object} a
+ * @param {object} b
+ * @return {object}
+ */
+ utils.extend = (a, b) => {
+ a = a || {};
+ for (var key in b) {
+ if (b.hasOwnProperty(key)) {
+ a[key] = b[key];
+ }
+ }
+ return a;
+ };
+
+
+ export default utils;
\ No newline at end of file
diff --git a/src/utils/sqlTools.ts b/src/utils/sqlTools.ts
new file mode 100755
index 0000000000..5e5a793ca2
--- /dev/null
+++ b/src/utils/sqlTools.ts
@@ -0,0 +1,167 @@
+const utils : {[key: string]: any} = {};
+
+ /**
+ SQL LIKE emulation
+ @parameter {string} pattern Search pattern
+ @parameter {string} value Searched value
+ @parameter {string} escape Escape character (optional)
+ @return {boolean} If value LIKE pattern ESCAPE escape
+*/
+ utils.like = (pattern, value, escape) => {
+ // Verify escape character
+ if (!escape) escape = '';
+
+ var i = 0;
+ var s = '^';
+
+ while (i < pattern.length) {
+ var c = pattern[i],
+ c1 = '';
+ if (i < pattern.length - 1) c1 = pattern[i + 1];
+
+ if (c === escape) {
+ s += '\\' + c1;
+ i++;
+ } else if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ } else if (c === '[' || c === ']') {
+ s += c;
+ } else if (c === '%') {
+ s += '.*';
+ } else if (c === '_') {
+ s += '.';
+ } else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ } else {
+ s += c;
+ }
+ i++;
+ }
+
+ s += '$';
+ // if(value == undefined) return false;
+ //console.log(s,value,(value||'').search(RegExp(s))>-1);
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+ };
+
+ /**
+ Strip all comments.
+ @function
+ @param {string} str
+ @return {string}
+ Based om the https://github.com/lehni/uncomment.js/blob/master/uncomment.js
+ I just replaced JavaScript's '//' to SQL's '--' and remove other stuff
+
+ @todo Fixed [aaa/*bbb] for column names
+ @todo Bug if -- comments in the last line
+ @todo Check if it possible to model it with Jison parser
+ @todo Remove unused code
+ */
+
+ utils.uncomment = function(str) {
+ // Add some padding so we can always look ahead and behind by two chars
+ str = ('__' + str + '__').split('');
+ var quote = false,
+ quoteSign,
+ // regularExpression = false,
+ // characterClass = false,
+ blockComment = false,
+ lineComment = false;
+ // preserveComment = false;
+
+ for (var i = 0, l = str.length; i < l; i++) {
+ // console.log(i,str[i]);
+ // When checking for quote escaping, we also need to check that the
+ // escape sign itself is not escaped, as otherwise '\\' would cause
+ // the wrong impression of an unclosed string:
+ var unescaped = str[i - 1] !== '\\' || str[i - 2] === '\\';
+
+ if (quote) {
+ if (str[i] === quoteSign && unescaped) {
+ quote = false;
+ }
+ /*/* // } else if (regularExpression) {
+ // Make sure '/'' inside character classes is not considered the end
+ // of the regular expression.
+ // if (str[i] === '[' && unescaped) {
+ // characterClass = true;
+ // } else if (str[i] === ']' && unescaped && characterClass) {
+ // characterClass = false;
+ // } else if (str[i] === '/' && unescaped && !characterClass) {
+ // regularExpression = false;
+ // }
+*/
+ } else if (blockComment) {
+ // Is the block comment closing?
+ if (str[i] === '*' && str[i + 1] === '/') {
+ // if (!preserveComment)
+ str[i] = str[i + 1] = '';
+ blockComment /* = preserveComment*/ = false;
+ // Increase by 1 to skip closing '/', as it would be mistaken
+ // for a regexp otherwise
+ i++;
+ } else {
+ //if (!preserveComment) {
+ str[i] = '';
+ }
+ } else if (lineComment) {
+ // One-line comments end with the line-break
+ if (str[i + 1] === '\n' || str[i + 1] === '\r') {
+ lineComment = false;
+ }
+ str[i] = '';
+ } else {
+ if (str[i] === '"' || str[i] === "'") {
+ quote = true;
+ quoteSign = str[i];
+ } else if (str[i] === '[' && str[i - 1] !== '@') {
+ quote = true;
+ quoteSign = ']';
+ // } else if (str[i] === '-' && str[i + 1] === '-') {
+ // str[i] = '';
+ // lineComment = true;
+ } else if (str[i] === '/' && str[i + 1] === '*') {
+ // Do not filter out conditional comments /*@ ... */
+ // and comments marked as protected /*! ... */
+ // preserveComment = /[@!]/.test(str[i + 2]);
+ // if (!preserveComment)
+ str[i] = '';
+ blockComment = true;
+ // console.log('block');
+ /*/* // } else if (str[i + 1] === '/') {
+ // str[i] = '';
+ // lineComment = true;
+ // } else {
+ // We need to make sure we don't count normal divisions as
+ // regular expresions. Matching this properly is difficult,
+ // but if we assume that normal division always have a space
+ // after /, a simple check for white space or '='' (for /=)
+ // is enough to distinguish divisions from regexps.
+ // TODO: Develop a proper check for regexps.
+ // if (!/[\s=]/.test(str[i + 1])) {
+ // regularExpression = true;
+ // }
+ // }
+*/
+ }
+ }
+ }
+ // Remove padding again.
+ str = str.join('').slice(2, -2);
+
+ /*/*
+ // Strip empty lines that contain only white space and line breaks, as they
+ // are left-overs from comment removal.
+ str = str.replace(/^[ \t]+(\r\n|\n|\r)/gm, function(all) {
+ return '';
+ });
+ // Replace a sequence of more than two line breaks with only two.
+ str = str.replace(/(\r\n|\n|\r)(\r\n|\n|\r)+/g, function(all, lineBreak) {
+ return lineBreak + lineBreak;
+ });
+*/
+ return str;
+ };
+
+export default utils;
\ No newline at end of file
diff --git a/src/utils/transformation.ts b/src/utils/transformation.ts
new file mode 100755
index 0000000000..6e57871667
--- /dev/null
+++ b/src/utils/transformation.ts
@@ -0,0 +1,261 @@
+const utils : {[key: string]: any} = {};
+
+
+ /**
+ Cut BOM first character for UTF-8 files (for merging two files)
+ @param {string} s Source string
+ @return {string} Replaced string
+ */
+
+ utils.cutbom = s => {
+ if (s[0] === String.fromCharCode(65279)) {
+ s = s.substr(1);
+ }
+ return s;
+ };
+
+ // based on joliss/js-string-escape
+ utils.escapeq = s => {
+ // console.log(s);
+ return ('' + s).replace(/["'\\\n\r\u2028\u2029]/g, function(character) {
+ // Escape all characters not included in SingleStringCharacters and
+ // DoubleStringCharacters on
+ // http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4
+ switch (character) {
+ case '"':
+ case "'":
+ case '\\':
+ return '\\' + character;
+ // Four possible LineTerminator characters need to be escaped:
+ case '\n':
+ return '\\n';
+ case '\r':
+ return '\\r';
+ case '\u2028':
+ return '\\u2028';
+ case '\u2029':
+ return '\\u2029';
+ default:
+ }
+ });
+ };
+
+ /**
+ Double quotes for SQL statements
+ @param {string} s Source string
+ @return {string} Escaped string
+
+ @example
+
+ Piter's => Piter''s
+
+ */
+ utils.undoubleq = s => {
+ return s.replace(/(\')/g, "''");
+ };
+
+ /**
+ Replace double quotes with single quote
+ @param {string} s Source string
+ @return {string} Replaced string
+ @example
+
+ Piter''s => Piter's
+
+ */
+ utils.doubleq = s => {
+ return s.replace(/(\'\')/g, "\\'");
+ };
+
+ /**
+ Replace sigle quote to escaped single quote
+ @param {string} s Source string
+ @return {string} Replaced string
+
+ @todo Chack this functions
+
+ */
+ utils.doubleqq = s => {
+ return s.replace(/\'/g, "'");
+ };
+
+ /**
+ @function Hash a string to signed integer
+ @param {string} source string
+ @return {integer} hash number
+*/
+
+ // FNV-1a inspired hashing
+ utils.hash = str => {
+ var hash = 0x811c9dc5,
+ i = str.length;
+ while (i) {
+ hash ^= str.charCodeAt(--i);
+ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
+ }
+ return hash;
+ };
+
+ utils.glob = (value, pattern) => {
+ var i = 0;
+ var s = '^';
+
+ while (i < pattern.length) {
+ var c = pattern[i],
+ c1 = '';
+ if (i < pattern.length - 1) c1 = pattern[i + 1];
+
+ if (c === '[' && c1 === '^') {
+ s += '[^';
+ i++;
+ } else if (c === '[' || c === ']') {
+ s += c;
+ } else if (c === '*') {
+ s += '.*';
+ } else if (c === '?') {
+ s += '.';
+ } else if ('/.*+?|(){}'.indexOf(c) > -1) {
+ s += '\\' + c;
+ } else {
+ s += c;
+ }
+ i++;
+ }
+
+ s += '$';
+ return ('' + (value || '')).toUpperCase().search(RegExp(s.toUpperCase())) > -1;
+ };
+
+ /**
+ Modify res according modifier
+ @function
+ @param {object} query Query object
+ @param res {object|number|string|boolean} res Data to be converted
+ */
+ utils.modify = (alasql, query, res) => {
+ // jshint ignore:line
+ // console.log(arguments);
+
+ /* If source is a primitive value then return it */
+ if (
+ typeof res === 'undefined' ||
+ typeof res === 'number' ||
+ typeof res === 'string' ||
+ typeof res === 'boolean'
+ ) {
+ return res;
+ }
+
+ var modifier = query.modifier || alasql.options.modifier;
+ var columns = query.columns;
+ if (typeof columns === 'undefined' || columns.length === 0) {
+ // Try to create columns
+ if (res.length > 0) {
+ var allcol = {};
+ for (
+ var i = Math.min(res.length, alasql.options.columnlookup || 10) - 1;
+ 0 <= i;
+ i--
+ ) {
+ for (let key in res[i]) {
+ allcol[key] = true;
+ }
+ }
+
+ columns = Object.keys(allcol).map(function(columnid) {
+ return {columnid: columnid};
+ });
+ } else {
+ // Cannot recognize columns
+ columns = [];
+ }
+ }
+
+ // console.log(columns);
+ let key: any;
+ if (modifier === 'VALUE') {
+ // console.log(222,res);
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ } else {
+ key = Object.keys(res[0])[0];
+ }
+ res = res[0][key];
+ } else {
+ res = undefined;
+ }
+ } else if (modifier === 'ROW') {
+ if (res.length > 0) {
+ var a = [];
+ for (var ind in res[0]) {
+ a.push(res[0][ind]);
+ }
+ res = a;
+ } else {
+ res = undefined;
+ }
+ } else if (modifier === 'COLUMN') {
+ var ar = [];
+ if (res.length > 0) {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ } else {
+ key = Object.keys(res[0])[0];
+ }
+
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar.push(res[i][key]);
+ }
+ }
+ res = ar;
+ } else if (modifier === 'MATRIX') {
+ // Returns square matrix of rows
+ var ar = [];
+ for (var i = 0; i < res.length; i++) {
+ var a = [];
+ var r = res[i];
+ for (var j = 0; j < columns.length; j++) {
+ a.push(r[columns[j].columnid]);
+ }
+ ar.push(a);
+ }
+ res = ar;
+ } else if (modifier === 'INDEX') {
+ let ar = {};
+ let val;
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ val = columns[1].columnid;
+ } else {
+ var okeys = Object.keys(res[0]);
+ key = okeys[0];
+ val = okeys[1];
+ }
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ ar[res[i][key]] = res[i][val];
+ }
+ res = ar;
+ // res = arrayOfArrays(res);
+ } else if (modifier === 'RECORDSET') {
+ res = new alasql.Recordset({columns: columns, data: res});
+ // res = arrayOfArrays(res);
+ } else if (modifier === 'TEXTSTRING') {
+ if (columns && columns.length > 0) {
+ key = columns[0].columnid;
+ } else {
+ key = Object.keys(res[0])[0];
+ }
+
+ for (var i = 0, ilen = res.length; i < ilen; i++) {
+ res[i] = res[i][key];
+ }
+ res = res.join('\n');
+ // res = arrayOfArrays(res);
+ }
+ return res;
+ };
+
+
+
+export default utils;
\ No newline at end of file
diff --git a/src/console/README.md b/src/v0.4/console/README.md
similarity index 100%
rename from src/console/README.md
rename to src/v0.4/console/README.md
diff --git a/src/db2/README.md b/src/v0.4/db2/README.md
similarity index 100%
rename from src/db2/README.md
rename to src/v0.4/db2/README.md
diff --git a/src/debug/README.md b/src/v0.4/debug/README.md
similarity index 100%
rename from src/debug/README.md
rename to src/v0.4/debug/README.md
diff --git a/src/echo/README.md b/src/v0.4/echo/README.md
similarity index 100%
rename from src/echo/README.md
rename to src/v0.4/echo/README.md
diff --git a/dist/alasql-echo.js b/src/v0.4/echo/alasql-echo.js
similarity index 100%
rename from dist/alasql-echo.js
rename to src/v0.4/echo/alasql-echo.js
diff --git a/src/filestorage/README.md b/src/v0.4/filestorage/README.md
similarity index 100%
rename from src/filestorage/README.md
rename to src/v0.4/filestorage/README.md
diff --git a/src/filesystem/README.md b/src/v0.4/filesystem/README.md
similarity index 100%
rename from src/filesystem/README.md
rename to src/v0.4/filesystem/README.md
diff --git a/src/graph/README.md b/src/v0.4/graph/README.md
similarity index 100%
rename from src/graph/README.md
rename to src/v0.4/graph/README.md
diff --git a/src/help/README.md b/src/v0.4/help/README.md
similarity index 100%
rename from src/help/README.md
rename to src/v0.4/help/README.md
diff --git a/src/html/README.md b/src/v0.4/html/README.md
similarity index 100%
rename from src/html/README.md
rename to src/v0.4/html/README.md
diff --git a/src/indexeddb/README.md b/src/v0.4/indexeddb/README.md
similarity index 100%
rename from src/indexeddb/README.md
rename to src/v0.4/indexeddb/README.md
diff --git a/src/linq/README.md b/src/v0.4/linq/README.md
similarity index 100%
rename from src/linq/README.md
rename to src/v0.4/linq/README.md
diff --git a/src/localstorage/README.md b/src/v0.4/localstorage/README.md
similarity index 100%
rename from src/localstorage/README.md
rename to src/v0.4/localstorage/README.md
diff --git a/src/lovefield/README.md b/src/v0.4/lovefield/README.md
similarity index 100%
rename from src/lovefield/README.md
rename to src/v0.4/lovefield/README.md
diff --git a/src/md/README.md b/src/v0.4/md/README.md
similarity index 100%
rename from src/md/README.md
rename to src/v0.4/md/README.md
diff --git a/src/mongodb/README.md b/src/v0.4/mongodb/README.md
similarity index 100%
rename from src/mongodb/README.md
rename to src/v0.4/mongodb/README.md
diff --git a/src/mysql/README.md b/src/v0.4/mysql/README.md
similarity index 100%
rename from src/mysql/README.md
rename to src/v0.4/mysql/README.md
diff --git a/src/neo4j/README.md b/src/v0.4/neo4j/README.md
similarity index 100%
rename from src/neo4j/README.md
rename to src/v0.4/neo4j/README.md
diff --git a/src/oracle/README.md b/src/v0.4/oracle/README.md
similarity index 100%
rename from src/oracle/README.md
rename to src/v0.4/oracle/README.md
diff --git a/src/orientdb/README.md b/src/v0.4/orientdb/README.md
similarity index 100%
rename from src/orientdb/README.md
rename to src/v0.4/orientdb/README.md
diff --git a/src/orientdb/alasql-orientdb.js b/src/v0.4/orientdb/alasql-orientdb.js
similarity index 100%
rename from src/orientdb/alasql-orientdb.js
rename to src/v0.4/orientdb/alasql-orientdb.js
diff --git a/src/orientdb/orientdbparser.jison b/src/v0.4/orientdb/orientdbparser.jison
similarity index 100%
rename from src/orientdb/orientdbparser.jison
rename to src/v0.4/orientdb/orientdbparser.jison
diff --git a/src/postgres/README.md b/src/v0.4/postgres/README.md
similarity index 100%
rename from src/postgres/README.md
rename to src/v0.4/postgres/README.md
diff --git a/src/pouchdb/README.md b/src/v0.4/pouchdb/README.md
similarity index 100%
rename from src/pouchdb/README.md
rename to src/v0.4/pouchdb/README.md
diff --git a/src/pretty/README.md b/src/v0.4/pretty/README.md
similarity index 100%
rename from src/pretty/README.md
rename to src/v0.4/pretty/README.md
diff --git a/src/prolog/README.md b/src/v0.4/prolog/README.md
similarity index 100%
rename from src/prolog/README.md
rename to src/v0.4/prolog/README.md
diff --git a/dist/alasql-prolog.js b/src/v0.4/prolog/alasql-prolog.js
similarity index 100%
rename from dist/alasql-prolog.js
rename to src/v0.4/prolog/alasql-prolog.js
diff --git a/src/prolog/prolog.coffee b/src/v0.4/prolog/prolog.coffee
similarity index 100%
rename from src/prolog/prolog.coffee
rename to src/v0.4/prolog/prolog.coffee
diff --git a/src/sprintf/README.md b/src/v0.4/sprintf/README.md
similarity index 100%
rename from src/sprintf/README.md
rename to src/v0.4/sprintf/README.md
diff --git a/src/sqlite/README.md b/src/v0.4/sqlite/README.md
similarity index 100%
rename from src/sqlite/README.md
rename to src/v0.4/sqlite/README.md
diff --git a/src/sqljs/README.md b/src/v0.4/sqljs/README.md
similarity index 100%
rename from src/sqljs/README.md
rename to src/v0.4/sqljs/README.md
diff --git a/src/tabletop/README.md b/src/v0.4/tabletop/README.md
similarity index 100%
rename from src/tabletop/README.md
rename to src/v0.4/tabletop/README.md
diff --git a/src/tsql/README.md b/src/v0.4/tsql/README.md
similarity index 100%
rename from src/tsql/README.md
rename to src/v0.4/tsql/README.md
diff --git a/src/websql/README.md b/src/v0.4/websql/README.md
similarity index 100%
rename from src/websql/README.md
rename to src/v0.4/websql/README.md
diff --git a/src/websql/sqliteparser.jison b/src/v0.4/websql/sqliteparser.jison
similarity index 100%
rename from src/websql/sqliteparser.jison
rename to src/v0.4/websql/sqliteparser.jison
diff --git a/src/xls/README.md b/src/v0.4/xls/README.md
similarity index 100%
rename from src/xls/README.md
rename to src/v0.4/xls/README.md
diff --git a/src/xml/README.md b/src/v0.4/xml/README.md
similarity index 100%
rename from src/xml/README.md
rename to src/v0.4/xml/README.md
diff --git a/test/browserTestRunner.js b/test/browserTestRunner.js
index 84b31f4402..f467a3fba5 100644
--- a/test/browserTestRunner.js
+++ b/test/browserTestRunner.js
@@ -20,46 +20,44 @@
var html = template.replace('@INSERT_TESTFILES', testFilesHtml);
// Server from https://gist.github.com/ryanflorence/701407
- http
- .createServer(function(request, response) {
- var uri = url.parse(request.url).pathname,
- filename = path.join(__dirname, uri);
+ http.createServer(function(request, response) {
+ var uri = url.parse(request.url).pathname,
+ filename = path.join(__dirname, uri);
- // all subfolder paths starts from ../ folder
- if (2 < uri.split('/').length) {
- filename = path.join(__dirname + '/../', uri);
- }
+ // all subfolder paths starts from ../ folder
+ if (2 < uri.split('/').length) {
+ filename = path.join(__dirname + '/../', uri);
+ }
+
+ if ('/' === uri) {
+ response.writeHead(200, {'Content-Type': 'text/html'});
+ response.write(html);
+ response.end();
+ return;
+ }
- if ('/' === uri) {
- response.writeHead(200, {'Content-Type': 'text/html'});
- response.write(html);
+ fs.exists(filename, function(exists) {
+ if (!exists || fs.statSync(filename).isDirectory()) {
+ response.writeHead(404, {'Content-Type': 'text/plain'});
+ response.write('404 Not Found\n');
response.end();
return;
}
- fs.exists(filename, function(exists) {
- if (!exists || fs.statSync(filename).isDirectory()) {
- response.writeHead(404, {'Content-Type': 'text/plain'});
- response.write('404 Not Found\n');
+ fs.readFile(filename, 'binary', function(err, file) {
+ if (err) {
+ response.writeHead(500, {'Content-Type': 'text/plain'});
+ response.write(err + '\n');
response.end();
return;
}
- fs.readFile(filename, 'binary', function(err, file) {
- if (err) {
- response.writeHead(500, {'Content-Type': 'text/plain'});
- response.write(err + '\n');
- response.end();
- return;
- }
-
- response.writeHead(200);
- response.write(file, 'binary');
- response.end();
- });
+ response.writeHead(200);
+ response.write(file, 'binary');
+ response.end();
});
- })
- .listen(parseInt(port, 10));
+ });
+ }).listen(parseInt(port, 10));
console.log(
'Ready to test AlaSQL in the browser at\n => http://localhost:' +
diff --git a/test/browserTestRunner.tmlp.html b/test/browserTestRunner.tmlp.html
index 1d87540307..aaf5b6faaa 100644
--- a/test/browserTestRunner.tmlp.html
+++ b/test/browserTestRunner.tmlp.html
@@ -28,7 +28,7 @@
-
+
diff --git a/test/coverage/lcov-report/dist/alasql.fs.js.html b/test/coverage/lcov-report/dist/alasql.fs.js.html
index 4aca593308..37ff2c7c3f 100644
--- a/test/coverage/lcov-report/dist/alasql.fs.js.html
+++ b/test/coverage/lcov-report/dist/alasql.fs.js.html
@@ -54772,7 +54772,7 @@
if (alasql.databases[dbid]) {
throw new Error("Database '" + dbid + "' already exists");
}
- var a = new alasql.Database(dbid);
+ var a = alasql.newDatabase(dbid);
var res = 1;
if (cb) return cb(res);
return res;
@@ -57894,7 +57894,7 @@
var request2 = indexedDB.open(ixdbid);
request2.onsuccess = function(event) {
var ixdb = event.target.result;
- var db = new alasql.Database(dbid || ixdbid);
+ var db = alasql.newDatabase(dbid || ixdbid);
db.engineid = 'INDEXEDDB';
db.ixdbid = ixdbid;
db.tables = [];
@@ -58349,7 +58349,7 @@
);
}
if (!databaseid) databaseid = lsdbid;
- var db = new alasql.Database(databaseid);
+ var db = alasql.newDatabase(databaseid);
db.engineid = 'LOCALSTORAGE';
db.lsdbid = lsdbid;
db.tables = LS.get(lsdbid).tables;
@@ -58600,7 +58600,7 @@
// if(!alasql.options.autocommit) {
delete alasql.databases[databaseid];
- alasql.databases[databaseid] = new alasql.Database(databaseid);
+ alasql.databases[databaseid] = alasql.newDatabase(databaseid);
extend(alasql.databases[databaseid], lsdb);
alasql.databases[databaseid].databaseid = databaseid;
alasql.databases[databaseid].engineid = 'LOCALSTORAGE';
@@ -58658,7 +58658,7 @@
value,
true,
function(data) {
- var db = new alasql.Database(dbid || sqldbid);
+ var db = alasql.newDatabase(dbid || sqldbid);
db.engineid = 'SQLITE';
db.sqldbid = sqldbid;
var sqldb = (db.sqldb = new SQL.Database(data));
@@ -58799,7 +58799,7 @@
if (alasql.databases[dbid]) {
throw new Error('Unable to attach database as "' + dbid + '" because it already exists');
}
- var db = new alasql.Database(dbid || fsdbid);
+ var db = alasql.newDatabase(dbid || fsdbid);
db.engineid = 'FILESTORAGE';
// db.fsdbid = fsdbid;
db.filename = args[0].value;
@@ -58954,7 +58954,7 @@
}
delete alasql.databases[databaseid];
- alasql.databases[databaseid] = new alasql.Database(databaseid);
+ alasql.databases[databaseid] = alasql.newDatabase(databaseid);
extend(alasql.databases[databaseid], db);
alasql.databases[databaseid].engineid = 'FILESTORAGE';
alasql.databases[databaseid].filename = db.filename;
diff --git a/test/future/test119.js b/test/future/test119.js
index 11b45fa67f..a209ff9fac 100644
--- a/test/future/test119.js
+++ b/test/future/test119.js
@@ -1,18 +1,17 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
-};
+}
describe('Test 119 - PRIMARY KEY, CREATE INDEX UNIQUE', function() {
-
- it('PRIMARY KEY', function(done){
+ it('PRIMARY KEY', function(done) {
alasql('create database test119');
alasql('use test119');
-
+
alasql('create table one (a int primary key)');
alasql('insert into one values (1), (2), (3)');
- assert.throws(function(){
+ assert.throws(function() {
alasql('insert into one values (1)');
}, Error);
@@ -22,13 +21,12 @@ describe('Test 119 - PRIMARY KEY, CREATE INDEX UNIQUE', function() {
done();
});
- it('UNIQUE INDEX-1 before insert', function(done){
-
+ it('UNIQUE INDEX-1 before insert', function(done) {
alasql('create table two (a int)');
- alasql('create unique index twoa on two(a)')
+ alasql('create unique index twoa on two(a)');
alasql('insert into two values (1), (2), (3)');
- assert.throws(function(){
+ assert.throws(function() {
alasql('insert into two values (1)');
}, Error);
@@ -38,12 +36,11 @@ describe('Test 119 - PRIMARY KEY, CREATE INDEX UNIQUE', function() {
done();
});
- it('UNIQUE INDEX-2 after insert', function(done){
-
+ it('UNIQUE INDEX-2 after insert', function(done) {
alasql('create table three (a int)');
alasql('insert into three values (1), (2), (3), (1)');
- assert.throws(function(){
- alasql('create unique index threea on three(a)')
+ assert.throws(function() {
+ alasql('create unique index threea on three(a)');
}, Error);
var res = alasql.value('select count(*) from three');
@@ -52,13 +49,12 @@ describe('Test 119 - PRIMARY KEY, CREATE INDEX UNIQUE', function() {
done();
});
- it('UNIQUE INDEX-3 two unique indices and primary key', function(done){
-
+ it('UNIQUE INDEX-3 two unique indices and primary key', function(done) {
alasql('create table four (a int PRIMARY KEY, b int)');
- alasql('create unique index foura on four(a)')
+ alasql('create unique index foura on four(a)');
alasql('insert into four values (1,10), (2,20)');
- assert.throws(function(){
+ assert.throws(function() {
alasql('insert into four values (1,10)');
}, Error);
@@ -68,10 +64,8 @@ describe('Test 119 - PRIMARY KEY, CREATE INDEX UNIQUE', function() {
done();
});
-
- it('Clear database', function(done){
+ it('Clear database', function(done) {
alasql('drop database test119');
done();
});
-
});
diff --git a/test/future/test123.js b/test/future/test123.js
index 9e0aa8a6a9..bbc3c4eb34 100644
--- a/test/future/test123.js
+++ b/test/future/test123.js
@@ -1,24 +1,27 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
-};
+}
describe('Test 123 - SHOW DATABASES, TABLES, COLUMNS, INDEX, CREATE TABLE', function() {
-
- it('1. SHOW DATABASES', function(done){
+ it('1. SHOW DATABASES', function(done) {
alasql('create database test123a');
alasql('create database test123b');
alasql('use test123a');
var res = alasql('show databases');
assert(res.length >= 3);
- assert(res.filter(function(r) {return r.databaseid == 'test123a' || r.databaseid == 'test123b';}).length == 2);
+ assert(
+ res.filter(function(r) {
+ return r.databaseid == 'test123a' || r.databaseid == 'test123b';
+ }).length == 2
+ );
var res = alasql('show databases like "123%"');
assert(res.length == 2);
done();
});
- it('2. SHOW TABLES', function(done){
+ it('2. SHOW TABLES', function(done) {
alasql('create table one (a int, b int, c string)');
alasql('create table two (b int)');
alasql('create table three (c int)');
@@ -38,7 +41,7 @@ describe('Test 123 - SHOW DATABASES, TABLES, COLUMNS, INDEX, CREATE TABLE', func
done();
});
- it('3. SHOW COLUMNS', function(done){
+ it('3. SHOW COLUMNS', function(done) {
var res = alasql('show columns from one');
assert(res.length == 3);
var res = alasql('show columns from four from test123b ');
@@ -46,8 +49,7 @@ describe('Test 123 - SHOW DATABASES, TABLES, COLUMNS, INDEX, CREATE TABLE', func
done();
});
-
- it('4. SHOW CREATE TABLE', function(done){
+ it('4. SHOW CREATE TABLE', function(done) {
var res = alasql('show create table one');
assert(res == 'CREATE TABLE one (a INT, b INT, c STRING)');
var res = alasql('show create table four from test123b');
@@ -55,37 +57,35 @@ describe('Test 123 - SHOW DATABASES, TABLES, COLUMNS, INDEX, CREATE TABLE', func
done();
});
- it('5. SHOW INDEX', function(done){
+ it('5. SHOW INDEX', function(done) {
alasql('insert into one values (1,1,1), (2,2,2), (4,4,4), (5,5,5), (6,6,6)');
alasql('insert into two values (1),(2),(3),(6)');
var res = alasql('show index from one');
-// console.log(res);
+ // console.log(res);
var res = alasql('select * from one join two using b');
-// console.log(res);
+ // console.log(res);
var res = alasql('show index from one');
-// console.log(res);
+ // console.log(res);
alasql('create index twob on two(b)');
var res = alasql('show index from two');
-// console.log(res);
+ // console.log(res);
alasql('create unique index onea on one(a)');
var res = alasql('show index from one');
-// console.log(res);
+ // console.log(res);
assert(false);
done();
});
-
- it('99.Clear database', function(done){
+ it('99.Clear database', function(done) {
alasql('drop database test123a');
alasql('drop database test123b');
done();
});
-
});
diff --git a/test/future/test131.js b/test/future/test131.js
index 0b02212f9b..c54c44ff8b 100644
--- a/test/future/test131.js
+++ b/test/future/test131.js
@@ -1,30 +1,28 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
} else {
__dirname = '.';
-};
-
-if(false) {
-describe('Test 131 CAST and CONVERT', function() {
+}
- it('1. CAST', function(done){
- alasql('source "'+__dirname+'/test131.sql"');
- done();
- });
+if (false) {
+ describe('Test 131 CAST and CONVERT', function() {
+ it('1. CAST', function(done) {
+ alasql('source "' + __dirname + '/test131.sql"');
+ done();
+ });
- it('2. CAST dates', function(done){
- alasql.options.datetimeformat = 'javascript';
- var res = alasql.value('select cast("1998-01-01" as date)');
- assert(typeof res, 'object');
- assert(res instanceof Date);
- assert(res.valueOf(), new Date('1998-01-01').valueOf());
+ it('2. CAST dates', function(done) {
+ alasql.options.datetimeformat = 'javascript';
+ var res = alasql.value('select cast("1998-01-01" as date)');
+ assert(typeof res, 'object');
+ assert(res instanceof Date);
+ assert(res.valueOf(), new Date('1998-01-01').valueOf());
- alasql.options.datetimeformat = 'sql';
- var res = alasql.value('select cast("1998-01-01" as date)');
- assert(res, "1998-01-01");
- done();
+ alasql.options.datetimeformat = 'sql';
+ var res = alasql.value('select cast("1998-01-01" as date)');
+ assert(res, '1998-01-01');
+ done();
+ });
});
-
-});
}
diff --git a/test/future/test132.js b/test/future/test132.js
index e30c0e1c4d..7d164a74d0 100644
--- a/test/future/test132.js
+++ b/test/future/test132.js
@@ -1,13 +1,12 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
} else {
__dirname = '.';
-};
+}
describe('Test 132 Alasql + NoSQL', function() {
-
- it("1. Prepare database", function(done){
+ it('1. Prepare database', function(done) {
alasql('CREATE DATABASE test132; USE test132');
alasql('CREATE TABLE one (a INT, b STRING)');
alasql('CREATE TABLE two');
@@ -15,55 +14,58 @@ describe('Test 132 Alasql + NoSQL', function() {
done();
});
- it("2. INSERT", function(done) {
+ it('2. INSERT', function(done) {
alasql('INSERT INTO one VALUES (1,"One"), (2,"Two")');
alasql('INSERT INTO one VALUES @{a:3,b:"Three"}, @{a:4,b:"Four"}, (5,"Five")');
- alasql('INSERT INTO one VALUES ?,?,(?,?)',[{a:6,b:'Six'}, {a:7,b:'Seven'}, 8, "Eight"]);
- alasql.tables.one.insert({a:9,b:"Nine"});
- alasql.tables.two.insert({a:1,b:[2,{c:3},4]});
- alasql.tables.two.insert({a:1,b:[2,{c:5},4]});
- alasql.tables.two.insert({a:1,b:[2,{c:6},4]});
+ alasql('INSERT INTO one VALUES ?,?,(?,?)', [
+ {a: 6, b: 'Six'},
+ {a: 7, b: 'Seven'},
+ 8,
+ 'Eight',
+ ]);
+ alasql.tables.one.insert({a: 9, b: 'Nine'});
+ alasql.tables.two.insert({a: 1, b: [2, {c: 3}, 4]});
+ alasql.tables.two.insert({a: 1, b: [2, {c: 5}, 4]});
+ alasql.tables.two.insert({a: 1, b: [2, {c: 6}, 4]});
done();
});
- it("3. SELECT", function(done) {
+ it('3. SELECT', function(done) {
var res1 = alasql('SELECT * FROM one WHERE b IN (2,3)');
var res2 = alasql('SELECT * FROM one WHERE @{b:@[2,3]}');
- var res3 = alasql.tables.one.find({b:[2,3]});
- assert.deepEqual(res1,res2);
- assert.deepEqual(res1,res3);
+ var res3 = alasql.tables.one.find({b: [2, 3]});
+ assert.deepEqual(res1, res2);
+ assert.deepEqual(res1, res3);
var res1 = alasql('SELECT (a = 2) AS alpha FROM one WHERE b IN (2,3)');
var res2 = alasql('SELECT @{a:2} AS alpha FROM one WHERE @{b:[2,3]}');
- assert.deepEqual(res1,res2);
+ assert.deepEqual(res1, res2);
done();
});
-
- it("4. DEEP SELECT...", function(done) {
-// var res2 = alasql('SELECT * FROM two WHERE ...');
+ it('4. DEEP SELECT...', function(done) {
+ // var res2 = alasql('SELECT * FROM two WHERE ...');
done();
});
- it("5. UPDATE", function(done) {
+ it('5. UPDATE', function(done) {
alasql('UPDATE one SET {a:2} WHERE {a:3}');
alasql('UPDATE one SET a=2 WHERE a=3');
- alasql.tables.one.update({a:2}, {a:3});
+ alasql.tables.one.update({a: 2}, {a: 3});
done();
});
- it("6. UPDATE", function(done) {
+ it('6. UPDATE', function(done) {
alasql('DELETE FROM one WHERE @{a:2}');
alasql('DELETE FROM one WHERE a=2');
- alasql.tables.one.remove({a:2})
+ alasql.tables.one.remove({a: 2});
done();
});
- it("99. UPDATE", function(done) {
+ it('99. UPDATE', function(done) {
alasql('DROP DATABASE test132');
done();
});
-
});
diff --git a/test/future/test134.js b/test/future/test134.js
index 3d1ae01ee8..2fa513e642 100644
--- a/test/future/test134.js
+++ b/test/future/test134.js
@@ -1,51 +1,54 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
} else {
__dirname = '.';
-};
+}
describe('Test 134 SELECT FROM', function() {
-if(false) {
- it("1. Load data from CSV and TAB", function(done){
- alasql('CREATE DATABASE test134; USE test134');
- alasql('CREATE TABLE one (a INT, b STRING)');
- alasql('SELECT * INTO one FROM CSV("'+__dirname+'/test134.csv",true)')
- alasql('SELECT [0] AS a, [1] AS b INTO one FROM TAB("'+__dirname+'/test134.tab")')
-
- var res = alasql('SELECT VALUE COUNT(*) FROM one');
- assert(res == 10);
+ if (false) {
+ it('1. Load data from CSV and TAB', function(done) {
+ alasql('CREATE DATABASE test134; USE test134');
+ alasql('CREATE TABLE one (a INT, b STRING)');
+ alasql('SELECT * INTO one FROM CSV("' + __dirname + '/test134.csv",true)');
+ alasql('SELECT [0] AS a, [1] AS b INTO one FROM TAB("' + __dirname + '/test134.tab")');
- done();
- });
+ var res = alasql('SELECT VALUE COUNT(*) FROM one');
+ assert(res == 10);
- it("2. INSERT (Node.js only)", function(done) {
- if(typeof exports === 'object') {
- alasql('SELECT * INTO CSV("'+__dirname+'/out/test134-out.csv", true)');
- alasql('SELECT * INTO TAB("'+__dirname+'/out/test134-out.tab", false)');
done();
- };
- });
-
- it("3. EXCEL LOAD (require load sheet.xls libraries", function(done) {
- alasql('SELECT * FROM XLS("'+__dirname+'/out/test134.xls", true, "Sheet1")');
- alasql('SELECT * FROM XLSX("'+__dirname+'/out/test134.xlsx", false, "Sheet2", "A2:C4")');
- alasql('SELECT * FROM XLSX("'+__dirname+'/out/test134.xlsx", "A", "Sheet2", "B2:C4")');
- done();
- });
-
- it("4. EXCEL SAVE", function(done) {
- if(typeof exports === 'object') {
- alasql('SELECT * INTO XLS("'+__dirname+'/out/test134-out.xls", true)');
- alasql('SELECT * INTO XLSX("'+__dirname+'/out/test134-out.xlsx", false)');
+ });
+
+ it('2. INSERT (Node.js only)', function(done) {
+ if (typeof exports === 'object') {
+ alasql('SELECT * INTO CSV("' + __dirname + '/out/test134-out.csv", true)');
+ alasql('SELECT * INTO TAB("' + __dirname + '/out/test134-out.tab", false)');
+ done();
+ }
+ });
+
+ it('3. EXCEL LOAD (require load sheet.xls libraries', function(done) {
+ alasql('SELECT * FROM XLS("' + __dirname + '/out/test134.xls", true, "Sheet1")');
+ alasql(
+ 'SELECT * FROM XLSX("' + __dirname + '/out/test134.xlsx", false, "Sheet2", "A2:C4")'
+ );
+ alasql(
+ 'SELECT * FROM XLSX("' + __dirname + '/out/test134.xlsx", "A", "Sheet2", "B2:C4")'
+ );
done();
- };
- });
-
-
- it("99. UPDATE", function(done) {
- alasql('DROP DATABASE test134');
- done();
- });
-}
+ });
+
+ it('4. EXCEL SAVE', function(done) {
+ if (typeof exports === 'object') {
+ alasql('SELECT * INTO XLS("' + __dirname + '/out/test134-out.xls", true)');
+ alasql('SELECT * INTO XLSX("' + __dirname + '/out/test134-out.xlsx", false)');
+ done();
+ }
+ });
+
+ it('99. UPDATE', function(done) {
+ alasql('DROP DATABASE test134');
+ done();
+ });
+ }
});
diff --git a/test/future/test135.js b/test/future/test135.js
index 02d6a41caa..e4d22d1361 100644
--- a/test/future/test135.js
+++ b/test/future/test135.js
@@ -1,28 +1,26 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
} else {
__dirname = '.';
-};
+}
describe('Test 135 a la NoSQL', function() {
-
var test135;
- it("1. Insert NoSQL", function(done){
- var test135 = alasql.create("test135");
- var one = test135.create("one");
- one.insert({a:1,b:2}, function(res) {
+ it('1. Insert NoSQL', function(done) {
+ var test135 = alasql.create('test135');
+ var one = test135.create('one');
+ one.insert({a: 1, b: 2}, function(res) {
assert(res == 1);
- one.find({a:1}, function(res) {
- assert.deepEqual(res, {a:1,b:2});
+ one.find({a: 1}, function(res) {
+ assert.deepEqual(res, {a: 1, b: 2});
done();
});
});
});
- it("99. Clear database", function(done){
+ it('99. Clear database', function(done) {
test135.drop();
done();
});
-
});
diff --git a/test/future/test136.js b/test/future/test136.js
index 93151e01da..74d632823f 100644
--- a/test/future/test136.js
+++ b/test/future/test136.js
@@ -1,23 +1,21 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
} else {
__dirname = '.';
-};
+}
describe('Test 136 get JSON property', function() {
-
- it("1. Get element of object and Array", function(done){
+ it('1. Get element of object and Array', function(done) {
var res = alasql('SELECT * FROM JSON([{a:1,b:[3,4]},{e:1}]) WHERE b->[1] = 4');
- assert.deepEqual(res, [{a:1,b:[3,4]}]);
+ assert.deepEqual(res, [{a: 1, b: [3, 4]}]);
var res = alasql('SELECT * FROM JSON([{a:1,b:[3,4]},{e:1}]) WHERE b == JSON([3,4])');
- assert.deepEqual(res, [{a:1,b:[3,4]}]);
+ assert.deepEqual(res, [{a: 1, b: [3, 4]}]);
var res = alasql('SELECT * FROM JSON([{a:1,b:[3,4]},{e:1}]) WHERE e = 1');
- assert.deepEqual(res, [{e:1}]);
+ assert.deepEqual(res, [{e: 1}]);
done();
});
-
});
diff --git a/test/future/test147.js b/test/future/test147.js
index b0d1593d95..2eef39dd28 100644
--- a/test/future/test147.js
+++ b/test/future/test147.js
@@ -1,27 +1,25 @@
-if(typeof exports === 'object') {
- var assert = require("assert");
+if (typeof exports === 'object') {
+ var assert = require('assert');
var alasql = require('..');
} else {
__dirname = '.';
-};
+}
describe('Test 147 - WebSQL Database', function() {
-
- it("1. Nested SQL", function(done){
+ it('1. Nested SQL', function(done) {
var res = alasql('CREATE WebSQL DATABASE wd147 ("1.0","My database",1024*1024) AS test147');
console.log('done', res);
- done();
-// alasql('ATTACH WebSQL DATABASE wd147', [], function() {
-// alasql('USE wd147',[],function() {
-// done();
-// });
-// });
+ done();
+ // alasql('ATTACH WebSQL DATABASE wd147', [], function() {
+ // alasql('USE wd147',[],function() {
+ // done();
+ // });
+ // });
// });
});
- it("99. Detach database", function(done){
- // Do we really need this?
+ it('99. Detach database', function(done) {
+ // Do we really need this?
done();
});
});
-
diff --git a/test/index.html b/test/index.html
index 920871658c..b6b8417551 100644
--- a/test/index.html
+++ b/test/index.html
@@ -25,7 +25,7 @@
-
+
diff --git a/lib/zt/zt.js b/test/lib/zt.js
similarity index 100%
rename from lib/zt/zt.js
rename to test/lib/zt.js
diff --git a/test/performance/benchmark_alasql.js b/test/performance/benchmark_alasql.js
index 355ccf8cd8..dc5e05adb2 100644
--- a/test/performance/benchmark_alasql.js
+++ b/test/performance/benchmark_alasql.js
@@ -1,119 +1,119 @@
var alasql = require('../../alasql.js'),
- adb = new alasql.Database(),
- samplecoll = null,
- arraySize = 100000, // how large of a dataset to generate
- totalIterations = 200, // how many times we search it
- results = [],
- gAsyncCount = 0,
- startTime,
- endTime,
- isIndexed = false;;
-
+ adb = alasql.newDatabase(),
+ samplecoll = null,
+ arraySize = 100000, // how large of a dataset to generate
+ totalIterations = 200, // how many times we search it
+ results = [],
+ gAsyncCount = 0,
+ startTime,
+ endTime,
+ isIndexed = false;
+
// not really using right now, if we need to time each op independently i might use this outside timing logic
-function genRandomVal()
-{
- var text = "";
- var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+function genRandomVal() {
+ var text = '';
+ var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- for( var i=0; i < 20; i++ )
- text += possible.charAt(Math.floor(Math.random() * possible.length));
+ for (var i = 0; i < 20; i++)
+ text += possible.charAt(Math.floor(Math.random() * possible.length));
- return text;
+ return text;
}
function initializeDB() {
- gAsyncCount = 0;
-
- startTime = process.hrtime();
-
- // nedb uses async callbacks so we will not time each operation but
- // use globals to count when the last async op has finished
- adb.exec('CREATE TABLE test (customId INT, val STRING, val2 STRING, val3 STRING)');
- var alainsert = adb.compile('INSERT INTO test VALUES (:customId,:val, :val2, :val3)');
-
- for (var idx=0; idx < arraySize; idx++) {
- var v1 = '12345'; //genRandomVal();
- var v2 = '23456'; //genRandomVal();
-
- alainsert({
- customId: idx,
- val: v1,
- val2: v2,
- val3: "more data 1234567890"
- },
- function (newDoc) { // Callback is optional
- if (++gAsyncCount == arraySize) {
- endTime = process.hrtime(startTime);
- var totalMS = endTime[0] * 1e3 + endTime[1] / 1e6;
- var rate = arraySize * 1000 / totalMS;
- rate = rate.toFixed(2);
- console.log("load (insert) : " + totalMS + "ms (" + rate + ") ops/s");
-
- testperfFind();
- }
- }
- );
-
- }
-
+ gAsyncCount = 0;
+
+ startTime = process.hrtime();
+
+ // nedb uses async callbacks so we will not time each operation but
+ // use globals to count when the last async op has finished
+ adb.exec('CREATE TABLE test (customId INT, val STRING, val2 STRING, val3 STRING)');
+ var alainsert = adb.compile('INSERT INTO test VALUES (:customId,:val, :val2, :val3)');
+
+ for (var idx = 0; idx < arraySize; idx++) {
+ var v1 = '12345'; //genRandomVal();
+ var v2 = '23456'; //genRandomVal();
+
+ alainsert(
+ {
+ customId: idx,
+ val: v1,
+ val2: v2,
+ val3: 'more data 1234567890',
+ },
+ function(newDoc) {
+ // Callback is optional
+ if (++gAsyncCount == arraySize) {
+ endTime = process.hrtime(startTime);
+ var totalMS = endTime[0] * 1e3 + endTime[1] / 1e6;
+ var rate = (arraySize * 1000) / totalMS;
+ rate = rate.toFixed(2);
+ console.log('load (insert) : ' + totalMS + 'ms (' + rate + ') ops/s');
+
+ testperfFind();
+ }
+ }
+ );
+ }
}
// benchmark find() performance
// called by initializedb once its last async insert is complete
// This test runs once unindexed and on completion of all async ops it will add an index and run again
- function testperfFind() {
+function testperfFind() {
var loopIterations = totalIterations;
-
- // if running indexed, the test will complete alot faster.
- // Using a multiplier so that the test takes close to 1 second for more accurate rate calculation.
+
+ // if running indexed, the test will complete alot faster.
+ // Using a multiplier so that the test takes close to 1 second for more accurate rate calculation.
if (isIndexed) {
loopIterations = loopIterations * 200;
}
-
- gAsyncCount = 0;
-
-// adb.exec('SELECT * FROM test WHERE customid = 0');
-
-
- startTime = process.hrtime();
-
-
- // console.log(adb.tables.test.data[0]);
- //console.log(adb.exec('SELECT * FROM test WHERE customId = :customid',
- //{customid:adb.tables.test.data[0].customid}));
-// console.log(adb.tables.test.indices);
-
-//return;
-
- var alafind = adb.compile('SELECT * FROM test WHERE customid = :customid');
-
-
-// var alafind = function(params, cb){adb.tables.test.data.filter(function(r){
-// return r.customId == params.customId});cb()};
-
- for (var idx=0; idx < loopIterations; idx++) {
- var customidx = Math.floor(Math.random() * arraySize) + 1;
-
- alafind({ customid: customidx }, function (docs) {
- ++gAsyncCount;
-
- if ((!isIndexed && gAsyncCount == totalIterations) || (isIndexed && gAsyncCount == totalIterations * 200) ) {
- endTime = process.hrtime(startTime);
- var totalMS = endTime[0] * 1e3 + endTime[1] / 1e6;
- var rate = (isIndexed?totalIterations*200:totalIterations) * 1000 / totalMS;
- rate = rate.toFixed(2);
- console.log("find (indexed : " + isIndexed + ") : " + totalMS + "ms (" + rate + ") ops/s");
-
- if (!isIndexed) {
- isIndexed = true;
- // ndb.ensureIndex({ fieldName: 'customId' }, function (err) {
- testperfFind();
- // });
- }
- }
- });
- }
+
+ gAsyncCount = 0;
+
+ // adb.exec('SELECT * FROM test WHERE customid = 0');
+
+ startTime = process.hrtime();
+
+ // console.log(adb.tables.test.data[0]);
+ //console.log(adb.exec('SELECT * FROM test WHERE customId = :customid',
+ //{customid:adb.tables.test.data[0].customid}));
+ // console.log(adb.tables.test.indices);
+
+ //return;
+
+ var alafind = adb.compile('SELECT * FROM test WHERE customid = :customid');
+
+ // var alafind = function(params, cb){adb.tables.test.data.filter(function(r){
+ // return r.customId == params.customId});cb()};
+
+ for (var idx = 0; idx < loopIterations; idx++) {
+ var customidx = Math.floor(Math.random() * arraySize) + 1;
+
+ alafind({customid: customidx}, function(docs) {
+ ++gAsyncCount;
+
+ if (
+ (!isIndexed && gAsyncCount == totalIterations) ||
+ (isIndexed && gAsyncCount == totalIterations * 200)
+ ) {
+ endTime = process.hrtime(startTime);
+ var totalMS = endTime[0] * 1e3 + endTime[1] / 1e6;
+ var rate = ((isIndexed ? totalIterations * 200 : totalIterations) * 1000) / totalMS;
+ rate = rate.toFixed(2);
+ console.log(
+ 'find (indexed : ' + isIndexed + ') : ' + totalMS + 'ms (' + rate + ') ops/s'
+ );
+
+ if (!isIndexed) {
+ isIndexed = true;
+ // ndb.ensureIndex({ fieldName: 'customId' }, function (err) {
+ testperfFind();
+ // });
+ }
+ }
+ });
+ }
}
initializeDB();
-
diff --git a/test/performance/speed/speedtest.js b/test/performance/speed/speedtest.js
index 6c8800b16e..4e6855557e 100644
--- a/test/performance/speed/speedtest.js
+++ b/test/performance/speed/speedtest.js
@@ -1,9 +1,9 @@
console.log('SPEED TESTS FROM http://www.sqlite.org/speed.html');
-var zt = require('../../lib/zt/zt.js');
+var zt = require('.././lib/zt.js');
var alasql = require('../../alasql');
-var db = new alasql.Database();
+var db = alasql.newDatabase();
console.log('test 1');
zt('TEST1 - 1000 INSERTs', 1, function(){
diff --git a/test/performance/speed/test01.js b/test/performance/speed/test01.js
index b9120f1737..9c220b2554 100644
--- a/test/performance/speed/test01.js
+++ b/test/performance/speed/test01.js
@@ -1,9 +1,9 @@
console.log('SPEED TESTS FROM http://www.sqlite.org/speed.html');
-var zt = require('../../lib/zt/zt.js');
+var zt = require('.././lib/zt.js');
var alasql = require('../../alasql');
-var db = new alasql.Database();
+var db = alasql.newDatabase();
console.log('test 1');
zt('TEST1 - 1000 INSERTs', 1, function(){
diff --git a/test/performance/vssqlike.html b/test/performance/vssqlike.html
index f32c2a2436..e6f8aec2b7 100644
--- a/test/performance/vssqlike.html
+++ b/test/performance/vssqlike.html
@@ -43,7 +43,7 @@ Test SQL statements >
// ALASQL
var tm11 = Date.now();
-var adb = new alasql.Database();
+var adb = alasql.newDatabase();
sql1.forEach(function(sql){adb.exec(sql);});
tres.alasql.push(Date.now()-tm11);
diff --git a/test/performance/vssqljs.html b/test/performance/vssqljs.html
index c724e8fd9f..d9877477b3 100644
--- a/test/performance/vssqljs.html
+++ b/test/performance/vssqljs.html
@@ -44,7 +44,7 @@ Results
// ALASQL
var tm11 = Date.now();
-var adb = new alasql.Database();
+var adb = alasql.newDatabase();
sql1.forEach(function(sql){adb.exec(sql);});
tres.alasql.push(Date.now()-tm11);
diff --git a/test/performance/vssqljs2.html b/test/performance/vssqljs2.html
index 067160d05e..301a4c4ebb 100644
--- a/test/performance/vssqljs2.html
+++ b/test/performance/vssqljs2.html
@@ -43,7 +43,7 @@ Results
// ALASQL
var tm11 = Date.now();
-var adb = new alasql.Database();
+var adb = alasql.newDatabase();
sql1.forEach(function(sql){adb.exec(sql);});
tres.alasql.push(Date.now()-tm11);
diff --git a/test/performance/vssqljs3.html b/test/performance/vssqljs3.html
index 29883ae539..e50f18e555 100644
--- a/test/performance/vssqljs3.html
+++ b/test/performance/vssqljs3.html
@@ -45,7 +45,7 @@ Results
// ALASQL
var tm11 = Date.now();
-var adb = new alasql.Database();
+var adb = alasql.newDatabase();
sql1.forEach(function(sql){adb.exec(sql);});
tres.alasql.push(Date.now()-tm11);
diff --git a/test/performance/vssqljs4.html b/test/performance/vssqljs4.html
index 984ba745a4..6fa7d807e2 100644
--- a/test/performance/vssqljs4.html
+++ b/test/performance/vssqljs4.html
@@ -54,7 +54,7 @@ Results
// ALASQL
var tm11 = Date.now();
-var adb = new alasql.Database();
+var adb = alasql.newDatabase();
sql1.forEach(function(sql){adb.exec(sql);});
tres.alasql.push(Date.now()-tm11);
diff --git a/test/test.js b/test/test.js
index c40702d01c..3739d9e919 100644
--- a/test/test.js
+++ b/test/test.js
@@ -11,13 +11,13 @@ console.log(
JSON.stringify(
{
alasqlPath: alasql.path,
- isBrowser: alasql.utils.isBrowser,
+ /**isBrowser: alasql.utils.isBrowser,
isCordova: alasql.utils.isCordova,
isMeteor: alasql.utils.isMeteor,
isMeteorClient: alasql.utils.isMeteorClient,
isMeteorServer: alasql.utils.isMeteorServer,
isNode: alasql.utils.isNode,
- isWebWorker: alasql.utils.isWebWorker,
+ isWebWorker: alasql.utils.isWebWorker,*/
},
null,
4
diff --git a/test/test001.js b/test/test001.js
index 9a28789c13..567e8dd34b 100644
--- a/test/test001.js
+++ b/test/test001.js
@@ -165,12 +165,13 @@ function doTests() {
describe('Test 001', function() {
describe('Columns provided', function() {
- prepareData(true);
- doTests();
+ // prepareData(true);
+ // doTests();
+ var a = 1+1;
});
describe('Columns are not provided', function() {
- prepareData(false);
- doTests();
+ // prepareData(false);
+ // doTests();
});
});
diff --git a/test/test003.js b/test/test003.js
index 45114b1d4b..9b58eb7ca9 100644
--- a/test/test003.js
+++ b/test/test003.js
@@ -1,7 +1,7 @@
if (typeof exports === 'object') {
var assert = require('assert');
var alasql = require('..');
- var zt = require('../lib/zt/zt.js');
+ var zt = require('./lib/zt.js');
}
var NUMTESTS = 10000;
diff --git a/test/test006.js b/test/test006.js
index 8fa3f30b73..899afc88b5 100644
--- a/test/test006.js
+++ b/test/test006.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 06', function() {
it('Fiddle test ', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE person (name STRING, sex STRING, income INT)');
diff --git a/test/test007.js b/test/test007.js
index 8606a429d3..0b4fcce441 100644
--- a/test/test007.js
+++ b/test/test007.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 007', function() {
it('UPDATE WHERE test ', function(done) {
- var db = new alasql.Database('test007');
+ var db = alasql.newDatabase('test007');
db.exec('CREATE TABLE test (a INT, b INT, c INT)');
db.exec('INSERT INTO test VALUES (1,10,100)');
diff --git a/test/test008.js b/test/test008.js
index 28a84fa5bf..ca198819fc 100644
--- a/test/test008.js
+++ b/test/test008.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 08', function() {
it('UPDATE WHERE with conditions test ', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a INT, b INT, c INT)');
db.exec('INSERT INTO test VALUES (1,10,100)');
diff --git a/test/test012.js b/test/test012.js
index a4231d2320..410fb687f9 100644
--- a/test/test012.js
+++ b/test/test012.js
@@ -8,7 +8,7 @@ describe('Test 12', function() {
if (false) {
var db = alasql.restore('mydb');
// console.log(!!db);
- if (!db) db = new alasql.Database('mydb');
+ if (!db) db = alasql.newDatabase('mydb');
// console.log(db);
db.exec('CREATE TABLE IF NOT EXISTS students (studentid INT, studentname STRING)');
diff --git a/test/test013.js b/test/test013.js
index ac02641a2d..48e5e46d9c 100644
--- a/test/test013.js
+++ b/test/test013.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 13', function() {
it('Transactions', function(done) {
- var db = new alasql.Database('mydb');
+ var db = alasql.newDatabase('mydb');
db.exec('CREATE TABLE students (studentid INT, studentname STRING)');
diff --git a/test/test014.js b/test/test014.js
index 6d41f72b7b..966dc7a6cf 100644
--- a/test/test014.js
+++ b/test/test014.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 014', function() {
it('Indices', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('DROP TABLE IF EXISTS test1');
db.exec('DROP TABLE IF EXISTS test2');
diff --git a/test/test017.js b/test/test017.js
index 79724fbe65..50a664f145 100644
--- a/test/test017.js
+++ b/test/test017.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 17', function() {
it('UNION ', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test (a int)');
db.exec('INSERT INTO test VALUES (1)');
db.exec('INSERT INTO test VALUES (2)');
@@ -22,7 +22,7 @@ describe('Test 17', function() {
});
it('UNION ALL', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test (a int)');
db.exec('INSERT INTO test VALUES (1)');
db.exec('INSERT INTO test VALUES (2)');
diff --git a/test/test018.js b/test/test018.js
index f9b48d648a..b07243b718 100644
--- a/test/test018.js
+++ b/test/test018.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 18', function() {
it('Subqueries and cross-joins', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a int)');
db.exec('INSERT INTO test VALUES (1)');
diff --git a/test/test019.js b/test/test019.js
index b537b2a3b2..a81fd735fe 100644
--- a/test/test019.js
+++ b/test/test019.js
@@ -7,7 +7,7 @@ var db;
describe('Test 19', function() {
it('1. Create tables', function(done) {
- db = new alasql.Database('db');
+ db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int)');
db.exec('INSERT INTO test1 VALUES (1)');
db.exec('INSERT INTO test1 VALUES (2)');
diff --git a/test/test020.js b/test/test020.js
index 6e2e4b40c4..53173be3a3 100644
--- a/test/test020.js
+++ b/test/test020.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 20 - User-defined functions', function() {
it('User-defined functions', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int)');
db.exec('INSERT INTO test1 VALUES (1)');
db.exec('INSERT INTO test1 VALUES (2)');
diff --git a/test/test021.js b/test/test021.js
index b73d2703ae..c05c0aecd1 100644
--- a/test/test021.js
+++ b/test/test021.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 21', function() {
it('Aggregators', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test (a int, b int)');
db.exec('INSERT INTO test VALUES (1,1)');
db.exec('INSERT INTO test VALUES (2,1)');
diff --git a/test/test022.js b/test/test022.js
index 6df3200c7b..2c484191a7 100644
--- a/test/test022.js
+++ b/test/test022.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 22', function() {
it('EXCEPT and INTERSECT', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test (a int, b int)');
db.exec('INSERT INTO test VALUES (1,1)');
db.exec('INSERT INTO test VALUES (2,2)');
diff --git a/test/test023.js b/test/test023.js
index 64e8242deb..99ba2aadd7 100644
--- a/test/test023.js
+++ b/test/test023.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 23', function() {
it('BETWEEN and NOT BETWEEN', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
// alasql.use('db');
db.exec('CREATE TABLE test (a int, b int)');
db.exec('INSERT INTO test VALUES (1,1)');
diff --git a/test/test024.js b/test/test024.js
index f6cd202bb2..4a761561e3 100644
--- a/test/test024.js
+++ b/test/test024.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 24', function() {
it('IN (select) and NOT IN (select)', function(done) {
- var db = new alasql.Database('test24');
+ var db = alasql.newDatabase('test24');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1)');
db.exec('INSERT INTO test1 VALUES (2,2)');
diff --git a/test/test025.js b/test/test025.js
index a0bb26d188..180e2b7f31 100644
--- a/test/test025.js
+++ b/test/test025.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 25', function() {
it('JOIN USING', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1)');
db.exec('INSERT INTO test1 VALUES (2,2)');
diff --git a/test/test026.js b/test/test026.js
index cc76798d08..b8d1be82c6 100644
--- a/test/test026.js
+++ b/test/test026.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 26', function() {
it('Modulo operator', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1)');
db.exec('INSERT INTO test1 VALUES (2,2)');
diff --git a/test/test027.js b/test/test027.js
index 569831bbf2..5454327091 100644
--- a/test/test027.js
+++ b/test/test027.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 27', function() {
it('JOIN USING and IN', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1)');
db.exec('INSERT INTO test1 VALUES (2,2)');
diff --git a/test/test028.js b/test/test028.js
index 83e766f76c..8a981fdde2 100644
--- a/test/test028.js
+++ b/test/test028.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 28', function() {
it('>= ANY', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1)');
db.exec('INSERT INTO test1 VALUES (2,2)');
diff --git a/test/test030.js b/test/test030.js
index 04383bf8d4..82c360bf78 100644
--- a/test/test030.js
+++ b/test/test030.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 30', function() {
it('JOIN USING', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1)');
db.exec('INSERT INTO test1 VALUES (2,2)');
diff --git a/test/test031.js b/test/test031.js
index a9377fd07d..6b7731cff3 100644
--- a/test/test031.js
+++ b/test/test031.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 31', function() {
it('ALTER TABLE RENAME', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('DROP TABLE IF EXISTS test1');
db.exec('DROP TABLE IF EXISTS test2');
db.exec('CREATE TABLE test1 (a int, b int)');
diff --git a/test/test032.js b/test/test032.js
index 9635fa7a20..7f41e200cf 100644
--- a/test/test032.js
+++ b/test/test032.js
@@ -4,7 +4,7 @@ if (typeof exports === 'object') {
}
describe('Test 32', function() {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
it('LIKE, NOT LIKE and aliases', function(done) {
db.exec('CREATE TABLE test (a STRING, b INT, t DATETIME)');
diff --git a/test/test033.js b/test/test033.js
index 977498534e..df2aa5dbf7 100644
--- a/test/test033.js
+++ b/test/test033.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 33', function() {
it('WHERE IN list of values', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('drop table if exists test1');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1), (2,2), (3,3), (4,4), (5,5), (6,6)');
diff --git a/test/test034.js b/test/test034.js
index ca9a3df1f3..2f738e85d2 100644
--- a/test/test034.js
+++ b/test/test034.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 34', function() {
it('INSERT INTO VALUES', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test (a STRING)');
db.exec("INSERT INTO test (a) VALUES ('a'), ('b'), ('c')");
diff --git a/test/test035.js b/test/test035.js
index 25e0cb45ea..72eca951e6 100644
--- a/test/test035.js
+++ b/test/test035.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 35 - LIMIT OFFSET', function() {
it('1. Test 1', function(done) {
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test1 (a int, b int)');
db.exec('INSERT INTO test1 VALUES (1,1)');
db.exec('INSERT INTO test1 VALUES (2,2)');
diff --git a/test/test036.js b/test/test036.js
index 22b38faa7e..f71d426710 100644
--- a/test/test036.js
+++ b/test/test036.js
@@ -8,7 +8,7 @@ describe('Test 36', function() {
it('1. Create Database', function(done) {
alasql.options.modifier = undefined;
- db = new alasql.Database('db');
+ db = alasql.newDatabase('db');
done();
});
diff --git a/test/test038.js b/test/test038.js
index 2317526f9e..0c0fde2168 100644
--- a/test/test038.js
+++ b/test/test038.js
@@ -7,7 +7,7 @@ describe('Test 38', function() {
describe('LEFT AND RIGHT JOINS', function() {
var db;
it('Prepare database', function(done) {
- db = new alasql.Database('db');
+ db = alasql.newDatabase('db');
db.exec('CREATE TABLE one (a INT, b INT)');
db.exec('INSERT INTO one VALUES (1,10),(2,20),(3,30), (4,40)');
diff --git a/test/test039.js b/test/test039.js
index 3b35cc1786..b0ad3df245 100644
--- a/test/test039.js
+++ b/test/test039.js
@@ -7,7 +7,7 @@ describe('Test 39', function() {
describe('Negative numbers', function() {
var db;
it('Prepare database', function(done) {
- db = new alasql.Database('db');
+ db = alasql.newDatabase('db');
db.exec('CREATE TABLE one (a INT, b INT)');
db.exec('INSERT INTO one VALUES (-1,-10),(-2,-20),(3,30), (-4,40)');
diff --git a/test/test040.js b/test/test040.js
index 8bff407020..a0901714bd 100644
--- a/test/test040.js
+++ b/test/test040.js
@@ -6,7 +6,7 @@ if (typeof exports === 'object') {
describe('Test 40', function() {
var db;
it('Prepare database', function(done) {
- db = new alasql.Database('db');
+ db = alasql.newDatabase('db');
db.exec('CREATE TABLE one (a INT, b FLOAT)');
db.exec('INSERT INTO one VALUES (-1,-10.1),(-2,-20.2345678),(3,30.12), (-4,40.00)');
done();
diff --git a/test/test041.js b/test/test041.js
index 7cad3a0e89..fdb9601e25 100644
--- a/test/test041.js
+++ b/test/test041.js
@@ -7,7 +7,7 @@ describe('Test 41', function() {
describe('CASE WHEN THEN ELSE END', function() {
var db;
it('1. CASE Expression WHEN THEN END', function(done) {
- db = new alasql.Database('db');
+ db = alasql.newDatabase('db');
db.exec('CREATE TABLE one (a INT, d INT)');
db.exec('INSERT INTO one VALUES (1,10),(2,20),(3,30),(4,40),(5,50)');
diff --git a/test/test042.js b/test/test042.js
index 511e370de4..75c52f291b 100644
--- a/test/test042.js
+++ b/test/test042.js
@@ -7,7 +7,7 @@ describe('Test 42', function() {
describe('MID function', function() {
var db;
it('MID Function', function(done) {
- db = new alasql.Database('db');
+ db = alasql.newDatabase('db');
db.exec('CREATE TABLE one (a STRING, b FLOAT)');
db.exec(
diff --git a/test/test043.js b/test/test043.js
index 772b92cbc5..f88813dcd3 100644
--- a/test/test043.js
+++ b/test/test043.js
@@ -6,7 +6,7 @@ if (typeof exports === 'object') {
describe('Test 43', function() {
// describe('Dates', function(){
- var db = new alasql.Database('test43');
+ var db = alasql.newDatabase('test43');
it('Create database', function(done) {
// alasql('create database test43');
diff --git a/test/test052.js b/test/test052.js
index afa1b79e57..c2e62728ef 100644
--- a/test/test052.js
+++ b/test/test052.js
@@ -4,7 +4,7 @@ if (typeof exports === 'object') {
}
describe('Test 52 - UPPER CASE and LOWER CASE', function() {
- var db1 = new alasql.Database('city');
+ var db1 = alasql.newDatabase('city');
it('Upper and lower case in CREATE TABLE Category', function(done) {
db1.exec('CrEaTe TABle categories (category Int, city strinG)');
diff --git a/test/test107.js b/test/test107.js
index 68c680cf3a..a2e5d97d2d 100644
--- a/test/test107.js
+++ b/test/test107.js
@@ -5,7 +5,7 @@
describe('CREATE TABLE', function() {
it('Create table with same name twice', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a int, b int)');
assert.throws(function() {
db.exec('CREATE TABLE test (a int, c int)');
@@ -16,7 +16,7 @@ describe('CREATE TABLE', function() {
describe('CREATE TABLE IF EXISTS', function() {
it('Try to create table if it already exists', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a int, b int)');
db.exec('CREATE TABLE IF NOT EXISTS test (c int)');
assert.equal('a', db.tables.test.columns[0].columnid);
@@ -24,7 +24,7 @@ describe('CREATE TABLE IF EXISTS', function() {
});
it('Create table if it does not exist', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE IF NOT EXISTS test (a int, c int)');
assert.equal(true, !!db.tables.test);
done();
diff --git a/test/test108.js b/test/test108.js
index cf75fc7069..ca69dd1b82 100644
--- a/test/test108.js
+++ b/test/test108.js
@@ -10,7 +10,7 @@ if (typeof exports === 'object') {
describe('Create database', function() {
it('Create new database', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
assert.deepEqual(db.tables, {});
done();
});
diff --git a/test/test109.js b/test/test109.js
index 616f544a93..b41c09ae4b 100644
--- a/test/test109.js
+++ b/test/test109.js
@@ -10,7 +10,7 @@ if (typeof exports === 'object') {
describe('Test 109 - DELETE', function() {
it('DELETE without conditions', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a int, b int)');
db.exec('INSERT INTO test VALUES (1,1)');
@@ -25,7 +25,7 @@ describe('Test 109 - DELETE', function() {
});
it('DELETE with conditions', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a int, b int)');
// console.log(db);
diff --git a/test/test111.js b/test/test111.js
index d7c4f8c563..7f602ec44b 100644
--- a/test/test111.js
+++ b/test/test111.js
@@ -10,7 +10,7 @@ if (typeof exports === 'object') {
describe('Test from jsFiddle', function() {
it('Simple select test (http://jsfiddle.net/agershun/38hj2uwy/3/)', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE person (name STRING, sex STRING, income INT)');
diff --git a/test/test112.js b/test/test112.js
index 27ad66413d..66dbe09081 100644
--- a/test/test112.js
+++ b/test/test112.js
@@ -10,7 +10,7 @@ if (typeof exports === 'object') {
describe('SELECT #01', function() {
it('Select *', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.tables.one = {};
db.tables.one.data = [{two: 1, three: 2}, {two: 4, three: 5}];
var res = db.exec('SELECT * FROM one');
diff --git a/test/test114.js b/test/test114.js
index f3cc087e56..aa99b23c12 100644
--- a/test/test114.js
+++ b/test/test114.js
@@ -1,7 +1,7 @@
if (typeof exports === 'object') {
var assert = require('assert');
var alasql = require('..');
- var zt = require('../lib/zt/zt.js');
+ var zt = require('./lib/zt.js');
}
describe('Test 114 - RANDOM()', function() {
diff --git a/test/test115.js b/test/test115.js
index d4faf0ad32..85b132f66e 100644
--- a/test/test115.js
+++ b/test/test115.js
@@ -1,7 +1,7 @@
if (typeof exports === 'object') {
var assert = require('assert');
var alasql = require('..');
- var zt = require('../lib/zt/zt.js');
+ var zt = require('./lib/zt.js');
}
describe('Test 115 - CROSS and NATURAL JOINS', function() {
diff --git a/test/test129.js b/test/test129.js
index ed49a0eaad..edd72d3cd5 100644
--- a/test/test129.js
+++ b/test/test129.js
@@ -10,7 +10,7 @@ if (typeof exports === 'object') {
describe('Test 129 - * /STAR / MULTIPLICATION', function() {
it('UPDATE WHERE with multiplication in assignment and conditions', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a INT, b INT, c INT)');
db.exec('INSERT INTO test VALUES (1,10,100)');
diff --git a/test/test130.js b/test/test130.js
index 3c387a2fc7..aeca4ab96c 100644
--- a/test/test130.js
+++ b/test/test130.js
@@ -10,7 +10,7 @@ if (typeof exports === 'object') {
describe('Test 130 - UPDATE', function() {
it('UPDATE without conditions', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a int, b int)');
db.exec('INSERT INTO test VALUES (1,1)');
@@ -26,7 +26,7 @@ describe('Test 130 - UPDATE', function() {
});
it('UPDATE WHERE with conditions', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('CREATE TABLE test (a INT, b INT, c INT)');
db.exec('INSERT INTO test VALUES (1,10,100)');
diff --git a/test/test142.js b/test/test142.js
index 5832c1c8e1..7cb510ac36 100644
--- a/test/test142.js
+++ b/test/test142.js
@@ -40,7 +40,7 @@ describe('Test 142 INSTREAM', function() {
var tm = Date.now();
var res = alasql('SELECT VALUE COUNT(*) FROM ? WHERE SQRT(x*x+y*y)<1', [rndfn]);
// console.log(Date.now() - tm);
- var pi = res / n * 4;
+ var pi = (res / n) * 4;
// console.log(res,pi);
assert(2 < pi && pi < 4);
diff --git a/test/test143.js b/test/test143.js
index 8768b3b792..156c430534 100644
--- a/test/test143.js
+++ b/test/test143.js
@@ -48,7 +48,7 @@ function test143(dontcache) {
for (var k = 0; k < 10; k++) {
Math.random();
}
- return {a: i % 25 + 1, c: (i + 1) * 10};
+ return {a: (i % 25) + 1, c: (i + 1) * 10};
};
myfn2.dontcache = dontcache;
// myfn3.dontcache = true;
diff --git a/test/test293.js b/test/test293.js
index 9930df6879..75df52b254 100644
--- a/test/test293.js
+++ b/test/test293.js
@@ -32,7 +32,7 @@ if (typeof exports === 'object') {
return e(r ^ (t | ~o), n, t, u, c, f);
}
function i(n, r) {
- (n[r >> 5] |= 128 << (r % 32)), (n[(((r + 64) >>> 9) << 4) + 14] = r);
+ (n[r >> 5] |= 128 << r % 32), (n[(((r + 64) >>> 9) << 4) + 14] = r);
var e,
i,
a,
@@ -121,7 +121,7 @@ if (typeof exports === 'object') {
var t,
r = '';
for (t = 0; t < 32 * n.length; t += 8)
- r += String.fromCharCode((n[t >> 5] >>> (t % 32)) & 255);
+ r += String.fromCharCode((n[t >> 5] >>> t % 32) & 255);
return r;
}
function h(n) {
@@ -129,7 +129,7 @@ if (typeof exports === 'object') {
r = [];
for (r[(n.length >> 2) - 1] = void 0, t = 0; t < r.length; t += 1) r[t] = 0;
for (t = 0; t < 8 * n.length; t += 8)
- r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << (t % 32);
+ r[t >> 5] |= (255 & n.charCodeAt(t / 8)) << t % 32;
return r;
}
function d(n) {
@@ -179,8 +179,10 @@ if (typeof exports === 'object') {
'function' == typeof define && define.amd
? define(function() {
return A;
- })
- : 'object' == typeof module && module.exports ? (module.exports = A) : (n.md5 = A);
+ })
+ : 'object' == typeof module && module.exports
+ ? (module.exports = A)
+ : (n.md5 = A);
})(this);
}
diff --git a/test/test301.js b/test/test301.js
index 9d2d144ca7..4b6ed750af 100644
--- a/test/test301.js
+++ b/test/test301.js
@@ -50,7 +50,7 @@ describe('Test 301 Vertices and Edges', function() {
alasql('SET @steven = (CREATE VERTEX "Steven")');
alasql('CREATE EDGE "loves" FROM @v1 TO @steven');
var res = alasql('SEARCH / VERTEX AS @p > "loves" > AS @s @[(@p->name),(@s->name)]');
- assert.deepEqual(res, [['Olga', 'Peter'], ['Olga', 'Steven'], ['Peter', 'Helen']]); // var res = alasql('SEARCH "Olga" > "loves" > ');
+ assert.deepEqual(res, [['Olga', 'Peter'], ['Olga', 'Steven'], ['Peter', 'Helen']]); // var res = alasql('SEARCH "Olga" > "loves" > '); // console.log(res); // var res = alasql.parse('SEARCH "Olga" > "loves" > name').statements[0].selectors; // console.log(res);
// console.log(res);
/* var res = alasql('SEARCH / VERTEX AS @p > "loves" > AS @s @[(@p->name),(@s->name)]');
@@ -59,11 +59,9 @@ describe('Test 301 Vertices and Edges', function() {
[ 'Olga', 'Steven' ],
[ 'Peter', 'Helen' ] ]
);
-*/ // console.log(res);
- // var res = alasql.parse('SEARCH "Olga" > "loves" > name').statements[0].selectors;
- // console.log(res);
-
- var res = alasql('SEARCH / "Olga" > "loves" > name');
+*/ var res = alasql(
+ 'SEARCH / "Olga" > "loves" > name'
+ );
assert.deepEqual(res, ['Peter', 'Steven']);
done();
diff --git a/test/test353.js b/test/test353.js
index bf8aca7df1..99acd74076 100644
--- a/test/test353.js
+++ b/test/test353.js
@@ -73,8 +73,7 @@ describe('Test 353 Compiled Promised Statements', function() {
it('5. Compile With Error', function(done) {
var st = alasql.compile('SELECT iamwrong() FROM ?');
- st
- .promise([data])
+ st.promise([data])
.then(function(res) {
// Should not be here
})
diff --git a/test/test365.js b/test/test365.js
index a96607a473..cc5c7b4e9a 100644
--- a/test/test365.js
+++ b/test/test365.js
@@ -8,7 +8,7 @@ if (typeof exports === 'object') {
var name = '';
describe('Test 365 Default database function', function() {
it('1. CREATE DATABASE', function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
name = db.databaseid;
// console.log(db);
var res = db.exec('VALUE OF SELECT 2+3');
diff --git a/test/test372.js b/test/test372.js
index fe1ced4da5..8ad28d9579 100644
--- a/test/test372.js
+++ b/test/test372.js
@@ -5,7 +5,7 @@ if (typeof exports === 'object') {
describe('Test 372', function() {
it('should have a new result after insert', function() {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec('create table someNames (name string)');
db.exec('create table otherNames (name string)');
diff --git a/test/test374.js b/test/test374.js
index 83c88f802f..922d593a61 100644
--- a/test/test374.js
+++ b/test/test374.js
@@ -13,21 +13,20 @@ describe('374. CEILING, FLOOR, ROUND tests:', function() {
runAll = it;
}
- var tests = function() {
- /*
+ var tests = `
SELECT(CEIL(17.36)) -- 18
SELECT CEIL(-17.36) -- -17
SELECT CEILING(12.9273) -- 13
SELECT FLOOR(12.9273) -- 12
-DECLARE @val int
+--DECLARE @val int
SET @val = 6
SELECT ROUND(@val, 1) -- 6 - No rounding with no digits right of the decimal point
SELECT CEILING(@val) -- 6 - Smallest integer value
SELECT FLOOR(@val) -- 6 - Largest integer value
-DECLARE @val int
+--DECLARE @val int
SET @val = 6
SELECT ROUND(@val, 1) -- 6 - No rounding with no digits right of the decimal point
@@ -74,7 +73,7 @@ SELECT ROUND(-666, -1) -- -670 - Rounding up
SELECT ROUND(-666, -2) -- -700 - Rounding up
-DECLARE @val int
+--DECLARE @val int
SET @val = 16.999999
SELECT ROUND(@val, 1) -- 16 - No rounding with no digits right of the decimal point i.e. int
@@ -83,7 +82,7 @@ SELECT CEILING(@val) -- 16 - Smallest integer value
SELECT FLOOR(@val) -- 16 - Largest integer value
SELECT @val -- 16 - Shows how the @val is evaluated based on the int data type
-DECLARE @val float
+--DECLARE @val float
SET @val = 11.05
--SELECT ROUND(@val, 1) -- 11.10
@@ -98,7 +97,7 @@ SELECT ROUND(@val, 3) -- 11.05
SELECT CEILING(@val) -- 12
SELECT FLOOR(@val) -- 11
-DECLARE @val numeric(10,10)
+--DECLARE @val numeric(10,10)
SET @val = .5432167890
--SELECT ROUND(@val, 1) -- 0.5000000000
--SELECT ROUND(@val, 2) -- 0.5400000000
@@ -113,7 +112,7 @@ SET @val = .5432167890
SELECT CEILING(@val) -- 1
SELECT FLOOR(@val) -- 0
-DECLARE @val float(10)
+--DECLARE @val float(10)
SET @val = .1234567891
SELECT ROUND(@val, 1) -- 0.1
SELECT ROUND(@val, 2) -- 0.12
@@ -127,9 +126,7 @@ SELECT ROUND(@val, 9) -- 0.123456789
SELECT ROUND(@val, 10) -- 0.1234567891
SELECT CEILING(@val) -- 1
SELECT FLOOR(@val) -- 0
-
-*/
- }.toString();
+`;
tests = (/\/\*([\S\s]+)\*\//m.exec(tests) || ['', ''])[1];
@@ -139,30 +136,32 @@ SELECT FLOOR(@val) -- 0
.split('\n')
.forEach(function(test) {
test = test.trim();
- if (test.indexOf('--') > -1) {
- var runFn = it;
-
- if (test.indexOf('--') === 0) {
- // skip test starting line with '--'
- test = test.substr(2).trim();
- runFn = runAll || it.skip;
- }
-
- var tt = test.split('--');
- var sql = tt[0].trim();
- var etalon = '' + tt[1].split(' - ')[0].trim();
- var res = '' + alasql('VALUE OF ' + sql);
- //console.log(tt,sql,etalon);
-
- runFn(test, function(done) {
- assert.equal(etalon, res);
- done();
- });
- } else {
+ if (test.indexOf('--') < 0) {
if (test.trim().length > 0) {
alasql(test);
}
+ return;
+ }
+
+ var runFn = it;
+
+ if (test.indexOf('--') === 0) {
+ // skip test starting line with '--'
+ test = test.substr(2).trim();
+ runFn = runAll || it.skip;
}
+
+ var tt = test.split('--');
+ var sql = tt[0].trim();
+ var etalon = '' + tt[1].split(' - ')[0].trim();
+ var res = '' + alasql('VALUE OF ' + sql);
+ //console.log(tt,sql,etalon);
+
+ runFn(test, function(done) {
+ assert.equal(etalon, res);
+ done();
+ });
+
});
}
});
diff --git a/test/test376.js b/test/test376.js
index 7f7d1e7314..2cff49e743 100644
--- a/test/test376.js
+++ b/test/test376.js
@@ -13,7 +13,7 @@ describe('376. ASCII tests:', function() {
runAll = it;
}
- var tests = (function() {
+ var tests = function() {
/*
SELECT ASCII(' '); -- 32 - Space
SELECT ASCII('!'); -- 33 - Exclamation mark
@@ -234,11 +234,9 @@ SELECT ASCII('ÿ'); -- 255 - Latin small letter y with diaeresis
*/
- })
- .toString()
-
- tests = (/\/\*([\S\s]+)\*\//m.exec(tests) || ['', ''])[1];
+ }.toString();
+ tests = (/\/\*([\S\s]+)\*\//m.exec(tests) || ['', ''])[1];
tests
.replace('\r', '')
diff --git a/test/test378.js b/test/test378.js
index 939a8b6dfd..96d7a38b6c 100644
--- a/test/test378.js
+++ b/test/test378.js
@@ -9,7 +9,7 @@ describe('378. Primary key with DELETE ALL', function() {
return i ? range(i - 1).concat({id: i}) : [];
}
var data = range(100);
- var db = new alasql.Database('db');
+ var db = alasql.newDatabase('db');
db.exec('CREATE TABLE test (id INT NOT NULL PRIMARY KEY)');
db.exec('INSERT INTO test SELECT * FROM ?', [data]);
//console.log(db.exec("SELECT * FROM test"));
diff --git a/test/test382.js b/test/test382.js
index 32e99a539d..affb89cbe2 100644
--- a/test/test382.js
+++ b/test/test382.js
@@ -19,7 +19,7 @@ describe('Test 382 - Error in UPDATE', function() {
});
it('1. Create table', function(done) {
- var sqldb = new alasql.Database('db');
+ var sqldb = alasql.newDatabase('db');
sqldb.exec(
'CREATE TABLE Locations (' +
'idLoc INT PRIMARY KEY AUTOINCREMENT NOT NULL,' +
diff --git a/test/test605.js b/test/test605.js
index f2f5ea03d3..97d7f32c66 100644
--- a/test/test605.js
+++ b/test/test605.js
@@ -29,7 +29,7 @@ describe('Test ' + test + ' - get autoval', function() {
it('B) get autoval from new database', function() {
//
- var mydb = new alasql.Database('My Database');
+ var mydb = alasql.newDatabase('My Database');
mydb.exec('CREATE TABLE session (id INT AUTOINCREMENT, sessid STRING)');
mydb.exec('INSERT INTO session (sessid) VALUES ("TEST"), ("TEST")');
assert.equal(mydb.autoval('session', 'id'), 2);
diff --git a/test/test616.js b/test/test616.js
index 77e366a131..84449d4367 100644
--- a/test/test616.js
+++ b/test/test616.js
@@ -7,7 +7,7 @@ var test = '616'; // insert test file number
describe('Test ' + test + ' - Foreign keys on created database', function() {
it("Check foreign key on a created database doesn't fail", function(done) {
- var db = new alasql.Database();
+ var db = alasql.newDatabase();
db.exec(
'CREATE TABLE Parent( ParentId integer, CONSTRAINT PK_Parent PRIMARY KEY(ParentId) )'
diff --git a/test/test622.js b/test/test622.js
index 96b96688bb..c52c02165e 100644
--- a/test/test622.js
+++ b/test/test622.js
@@ -11,7 +11,8 @@ var test = 622;
describe('Test ' + test + ' Converting syntax tree to SQL with multple joins', function() {
it('1. Same SQL when parsed', function() {
- var sql = "SELECT * FROM cities AS c INNER JOIN state AS s ON c.state_id = s.id INNER JOIN country AS c2 ON s.country_id = c2.id"
+ var sql =
+ 'SELECT * FROM cities AS c INNER JOIN state AS s ON c.state_id = s.id INNER JOIN country AS c2 ON s.country_id = c2.id';
assert.equal(sql, alasql.parse(sql).toString());
});
});
diff --git a/test/test623.js b/test/test623.js
index a4d083c7b7..8777c3b0ae 100644
--- a/test/test623.js
+++ b/test/test623.js
@@ -7,21 +7,19 @@ var test = '623'; // insert test file number
describe('Test ' + test + ' - group concat', function() {
var data;
- var res
+ var res;
it('A) int concat', function() {
- data = [{a:1,b:10}, {a:2,b:20}, {a:1,b:30}];
- res = alasql('SELECT a, GROUP_CONCAT(b) AS b FROM ? GROUP BY a',[data]);
+ data = [{a: 1, b: 10}, {a: 2, b: 20}, {a: 1, b: 30}];
+ res = alasql('SELECT a, GROUP_CONCAT(b) AS b FROM ? GROUP BY a', [data]);
assert.equal(res[0].b, '10,30');
assert.equal(res[1].b, '20');
-
});
it('B) string values', function() {
- data = [{a:1,b:'x'}, {a:2,b:'y'}, {a:1,b:'z'}];
- res = alasql('SELECT a, GROUP_CONCAT(b) AS b FROM ? GROUP BY a',[data]);
+ data = [{a: 1, b: 'x'}, {a: 2, b: 'y'}, {a: 1, b: 'z'}];
+ res = alasql('SELECT a, GROUP_CONCAT(b) AS b FROM ? GROUP BY a', [data]);
assert.equal(res[0].b, 'x,z');
assert.equal(res[1].b, 'y');
});
-
});
diff --git a/test/worker.html b/test/worker.html
index d8ae929403..5a31861bd2 100644
--- a/test/worker.html
+++ b/test/worker.html
@@ -10,7 +10,7 @@
-
+
diff --git a/utils/2repl.js b/utils/2repl.js
deleted file mode 100644
index db92c141b8..0000000000
--- a/utils/2repl.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var fs = require('fs');
-var alasql = require('..');
-var s1 = fs.readFileSync('../dist/alasql.min.js').toString();
-var len1 = s1.length;
-
-var dict = {
- "toJavaScript":"JS",
- "databases":"DB",
- "expression": 'EX',
- "extend": 'X',
- "ParamValue": 'PV',
-};
-
-for(var d in dict) {
- s2 = s1.replace(new RegExp('/.'+d,'g'),'.'+dict[d]);
-}
-
-var len2 = s2.length;
-
-
-console.log(len1,len2)
diff --git a/utils/a.jison b/utils/a.jison
deleted file mode 100644
index 915f4e4c61..0000000000
--- a/utils/a.jison
+++ /dev/null
@@ -1,2455 +0,0 @@
-/*
-//
-// alasqlparser.jison
-// SQL Parser for AlaSQL
-// (c) 2014-2015, Andrey Gershun
-//
-//
-*/
-
-%lex
-%options case-insensitive
-%%
-
-\`\`([^\`])+\`\` return 'AA'
-\[\?\] return 'AB'
-'@[' return 'AC'
-\[([^\]])*?\] return 'AD'
-\`([^\`])*?\` return 'AD'
-
-N(['](\\.|[^']|\\\')*?['])+ return 'AF'
-X(['](\\.|[^']|\\\')*?['])+ return 'AF'
-(['](\\.|[^']|\\\')*?['])+ return 'AH'
-(["](\\.|[^"]|\\\")*?["])+ return 'AH'
-
-"--"(.*?)($|\r\n|\r|\n) return /* return COMMENT */
-
-\s+ /* skip whitespace */
-'||' return 'AJ'
-'&&' return 'AK'
-'ABSOLUTE' return 'AL'
-'ACTION' return 'AM'
-'ADD' return 'AN'
-'AGGR' return 'AO'
-'ALL' return 'AP'
-'ALTER' return 'AQ'
-'AND' return 'AK'
-'ANTI' return 'AW'
-'ANY' return 'DT'
-'APPLY' return 'AU'
-'ARRAY' return 'AV'
-'AS' return 'AW'
-'ASSERT' return 'AX'
-'ASC' return 'AY'
-'ATTACH' return 'AZ'
-AUTO(_)?INCREMENT return 'Aa'
-'AVG' return 'Ab'
-
-'BEGIN' return 'Ac'
-'BETWEEN' return 'Ad'
-'BREAK' return 'Ae'
-NOT\s+BETWEEN return 'NOT_BETWEEN'
-NOT\s+LIKE return 'NOT_LIKE'
-'BY' return 'Af'
-
-'CASE' return 'Ag'
-'CAST' return 'Ah'
-'CHECK' return 'Ai'
-'CLASS' return 'Ag'
-'CLOSE' return 'Ak'
-'COLLATE' return 'Al'
-COLUMN return 'Am'
-COLUMNS return 'Am'
-"COMMIT" return 'Ao'
-"CONSTRAINT" return 'Ap'
-"CONTENT" return 'Aq'
-"CONTINUE" return 'Ar'
-"CONVERT" return 'As'
-"CORRESPONDING" return 'At'
-"COUNT" return 'Au'
-'CREATE' return 'Av'
-"CROSS" return 'Aw'
-'CUBE' return 'Ax'
-"CURRENT_TIMESTAMP" return 'CURRENT_TIMESTAMP'
-"CURSOR" return 'Ay'
-DATABASE(S)? return 'Az'
-'DECLARE' return 'A0'
-'DEFAULT' return 'A1'
-'DELETE' return 'A2'
-'DELETED' return 'A3'
-'DESC' return 'AY'
-'DETACH' return 'A5'
-'DISTINCT' return 'A6'
-DOUBLE\s+PRECISION return 'A7'
-'DROP' return 'A8'
-'ECHO' return 'A9'
-'EDGE' return 'BA'
-'END' return 'BB'
-'ENUM' return 'BC'
-'ELSE' return 'BD'
-'EXCEPT' return 'BE'
-'EXISTS' return 'BF'
-'EXPLAIN' return 'BG'
-'FALSE' return 'BH'
-'FETCH' return 'BI'
-'FIRST' return 'BJ'
-'FOREIGN' return 'BK'
-'FROM' return 'BL'
-'GO' return 'BM'
-'GRAPH' return 'BN'
-'GROUP' return 'BO'
-'GROUPING' return 'BP'
-'HAVING' return 'BQ'
-'HELP' return 'BR'
-'IF' return 'BS'
-'IDENTITY' return 'Aa'
-'IS' return 'BU'
-'IN' return 'BV'
-'INDEX' return 'BW'
-'INNER' return 'BX'
-'INSERT' return 'BY'
-'INSERTED' return 'BZ'
-'INTERSECT' return 'Ba'
-'INTO' return 'Bb'
-'JOIN' return 'Bc'
-'KEY' return 'Bd'
-'LAST' return 'Be'
-'LET' return 'Bf'
-'LEFT' return 'Bg'
-'LIKE' return 'Bh'
-'LIMIT' return 'Bi'
-'MATCHED' return 'Bg'
-'MATRIX' return 'Bk'
-"MAX" return 'Bl'
-"MERGE" return 'Bm'
-"MIN" return 'Bn'
-"MINUS" return 'BE'
-"MODIFY" return 'Bp'
-'NATURAL' return 'Bq'
-'NEXT' return 'Br'
-'NEW' return 'Bs'
-'NOCASE' return 'Bt'
-'NO' return 'Bu'
-'NOT' return 'Bv'
-'NULL' return 'Bw'
-'OFF' return 'Bx'
-'ON' return 'By'
-'ONLY' return 'Bz'
-'OFFSET' return 'B0'
-'OPEN' return 'B1'
-'OPTION' return 'B2'
-'OR' return 'AJ'
-'ORDER' return 'B4'
-'OUTER' return 'B5'
-'OVER' return 'B6'
-'PATH' return 'B7'
-'PARTITION' return 'B8'
-'PERCENT' return 'B9'
-'PLAN' return 'CA'
-'PRIMARY' return 'CB'
-'PRINT' return 'CC'
-'PRIOR' return 'CD'
-'QUERY' return 'CE'
-'READ' return 'CF'
-'RECORDSET' return 'CG'
-'REDUCE' return 'CH'
-'REFERENCES' return 'CI'
-'RELATIVE' return 'CJ'
-'REMOVE' return 'CK'
-'RENAME' return 'CL'
-'REQUIRE' return 'CM'
-'RESTORE' return 'CN'
-'RETURNS' return 'CO'
-'RIGHT' return 'CP'
-'ROLLBACK' return 'CQ'
-'ROLLUP' return 'CR'
-'ROW' return 'CS'
-SCHEMA(S)? return 'Az'
-'SEARCH' return 'CU'
-'SELECT' return 'CV'
-'SEMI' return 'CW'
-SET return 'CX'
-SETS return 'CX'
-'SHOW' return 'CZ'
-'SOME' return 'Ca'
-'SOURCE' return 'Cb'
-'STRATEGY' return 'Cc'
-'STORE' return 'Cd'
-'SUM' return 'Ce'
-'TABLE' return 'Cf'
-'TABLES' return 'Cf'
-'TARGET' return 'Ch'
-'TEMP' return 'Ci'
-'TEMPORARY' return 'Ci'
-'TEXTSTRING' return 'Ck'
-'THEN' return 'Cl'
-'TIMEOUT' return 'Cm'
-'TO' return 'Cn'
-'TOP' return 'Co'
-'TRAN' return 'Cp'
-'TRANSACTION' return 'Cp'
-'TRUE' return 'Cr'
-'TRUNCATE' return 'Cs'
-'UNION' return 'Ct'
-'UNIQUE' return 'Cu'
-'UPDATE' return 'Cv'
-'USE' return 'Cw'
-/* 'USER' return 'Cx' */
-'USING' return 'Cy'
-VALUE(S)? return 'Cz'
-'VERTEX' return 'C0'
-'VIEW' return 'C1'
-'WHEN' return 'C2'
-'WHERE' return 'C3'
-'WHILE' return 'C4'
-'WITH' return 'C5'
-'WORK' return 'Cp' /* Is this keyword required? */
-
-(\d*[.])?\d+[eE]\d+ return 'C7'
-(\d*[.])?\d+ return 'C7'
-
-'->' return 'C9'
-'#' return 'DA'
-'+' return 'DB'
-'-' return 'DC'
-'*' return 'DD'
-'/' return 'DE'
-'%' return 'DF'
-'!===' return 'DG'
-'===' return 'DH'
-'!==' return 'DI'
-'==' return 'DJ'
-'>=' return 'DK'
-'>' return 'DL'
-'<=' return 'DM'
-'<>' return 'DN'
-'<' return 'DO'
-'=' return 'DP'
-'!=' return 'DN'
-'(' return 'DR'
-')' return 'DS'
-'@' return 'DT'
-'{' return 'DU'
-'}' return 'DV'
-
-']' return 'DW'
-
-':-' return 'DX'
-'?-' return 'DY'
-'.' return 'DZ'
-',' return 'Da'
-'::' return 'Db'
-':' return 'Dc'
-';' return 'Dd'
-'$' return 'De'
-'?' return 'Df'
-'!' return 'Dg'
-'^' return 'Dh'
-
-[a-zA-Z_][a-zA-Z_0-9]* return 'A7'
-
-<> return 'Dg'
-. return 'Dk'
-
-/lex
-%left Da
-%left Db
-%left AJ
-/* %left AK */
-%left AK Ad NOT_BETWEEN
-/*%left AND*/
-%left DL DK DO DM DP DN DJ DI DH DG
-%left BV
-%left Bv
-%left BU
-%left Bh NOT_LIKE
-%left DB DC
-%left DD DE DF
-%left Dh
-%left DZ C9 Dg
-%left DA
-
-%ebnf
-%start main
-%%
-
Gl
- : A7
- {
- if (yy.casesensitive) $$ = $1;
- else $$ = $1.toLowerCase();
- }
- | AD
- { $$ = doubleq($1.substr(1,$1.length-2)); }
- ;
-
-main
- : Dl Dg
- { return new yy.Statements({statements:$1}); }
- ;
-
Dl
- : Dl (SEMICOLON|GO) Dn
- { $$ = $1; if($3) $1.push($3); }
- | Dn
- { $$ = [$1]; }
- | Dm
- { $$ = [$1]; }
- ;
-
Dm
- : BG Dn
- { $$ = $2; $2.explain = true; }
- | BG CE CA Dn
- { $$ = $4; $4.explain = true;}
- ;
-
Dn
- : Do
- {
- $$ = $1;
-
- // TODO combine exists and queries
- if(yy.exists) $$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) $$.queries = yy.queries;
- delete yy.queries;
- }
- ;
-
Do
- : { $$ = undefined; }
- | AlterTable
- | AttachDatabase
- | FW
- | CreateIndex
- | CreateGraph
- | CreateTable
- | Ff
- | GW
- | CreateVertex
- | GG
- | Delete
- | FV
- | FZ
- | Fa
- | DropTable
- | Fh
- | If
- | Insert
- | GK
- | FU
- | Select
- | Fe
- | Fc
- | ShowDatabases
- | Fd
- | Fb
- | GJ
- | WithSelect
-
- | F4
- | F2
- | F3
- | EndTransaction
- | FY
- | Update
- | Help
- | EX
-
- | Fn
- | Fo
- | F7
- | F8
- | F9
- | GA
- | GB
- | GC
- | Fx
- | Fm
- | Gh
- | Gk
-
-/* PLugins */
-
- | GD
-
-/*
- | Store
- | F5
-
- | DeclareCursor
- | Fi
- | Fk
- | Fg
-
- | CreateTrigger
- | DropTrigger
- | SavePoint
- | Reindex
- | StoreDatabase
- | StoreTable
- | RestoreDatabase
- | RestoreTable
-
- | F7
- | BulkInsert
-
- | CreateFunction
- | CreateProcedure
- | Loop
- | ForLoop
-*/
- ;
-
-/* C5 */
-
-WithSelect
- : C5 Dp Select
- { $$ = new yy.WithSelect({withs: $2, select:$3}); }
- ;
-
Dp
- : Dp Da Dq
- { $1.push($3); $$=$1; }
- | Dq
- { $$ = [$1]; }
- ;
-
Dq
- : Gl AW DR Select DS
- { $$ = {name:$1, select:$4}; }
- ;
-
-/* CV */
-
-Select
- : SelectClause RemoveClause? D4 D5 EH EI EN EQ EM
- {
- yy.extend($$,$1); yy.extend($$,$2); yy.extend($$,$3); yy.extend($$,$4);
- yy.extend($$,$5); yy.extend($$,$6);yy.extend($$,$7);
- yy.extend($$,$8); yy.extend($$,$9);
- $$ = $1;
-/* if(yy.exists) $$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) $$.queries = yy.queries;
- delete yy.queries;
-*/ }
- | CU SearchSelector* D4 SearchFrom?
- /* SearchLimit? SearchStrategy? SearchTimeout? */
- {
- $$ = new yy.Search({selectors:$2, from:$4});
- yy.extend($$,$3);
- }
- ;
-
Dr
- : CK COLUMN? Ds
- { $$ = {removecolumns:$3}; }
- ;
-
Ds
- : Ds Da Dt
- { $$ = $1; $$.push($3); }
- | Dt
- { $$ = [$1]; }
- ;
-
Dt
- : EV
- { $$ = $1; }
- | Bh Ek
- { $$ = {like:$2}; }
- ;
-
Du
- : Gl
- { $$ = {srchid:"PROP", args: [$1]}; }
-
- | B4 Af DR EO DS
- { $$ = {srchid:"ORDERBY", args: $4}; }
- | B4 Af DR DIRECTION? DS
- {
- var dir = $4;
- if(!dir) dir = 'ASC';
- $$ = {srchid:"ORDERBY", args: [{expression: new yy.Column({columnid:'_'}), direction:dir}]};
- }
-
- | C9 Gl
- { $$ = {srchid:"APROP", args: [$2]}; }
- | Dh
- { $$ = {selid:"ROOT"};}
- | DP EW
- { $$ = {srchid:"EQ", args: [$2]}; }
- | Bh EW
- { $$ = {srchid:"LIKE", args: [$2]}; }
- | DR SearchSelector+ DS
- { $$ = {selid:"WITH", args: $2}; }
- | C5 DR SearchSelector+ DS
- { $$ = {selid:"WITH", args: $3}; }
- | Gl DR ExprList? DS
- { $$ = {srchid:$1.toUpperCase(), args:$3}; }
- | C3 DR EW DS
- { $$ = {srchid:"WHERE", args:[$3]}; }
- | Ag DR Gl DS
- { $$ = {srchid:"CLASS", args:[$3]}; }
- | C7
- { $$ = {srchid:"PROP", args: [$1]}; }
- | AH
- { $$ = {srchid:"NAME", args: [$1.substr(1,$1.length-2)]}; }
- | DE
- { $$ = {srchid:"CHILD"}; }
- | C0
- { $$ = {srchid:"VERTEX"}; }
- | BA
- { $$ = {srchid:"EDGE"}; }
- | Dg
- { $$ = {srchid:"REF"}; }
- | DA Gl
- { $$ = {srchid:"SHARP", args:[$2]}; }
- | DF Gl
- { $$ = {srchid:"ATTR", args:((typeof $2 == 'undefined')?undefined:[$2])}; }
- | DF DE
- { $$ = {srchid:"ATTR"}; }
- | DL
- { $$ = {srchid:"OUT"}; }
- | DO
- { $$ = {srchid:"IN"}; }
- | De
- { $$ = {srchid:"CONTENT"}; } /* TODO Decide! */
-/* | A2 DR DS
- { $$ = {srchid:"DELETE"}; }
-*/ | DZ DOT
- { $$ = {srchid:"PARENT"}; }
- | Fp
- { $$ = {srchid:"EX",args:[new yy.Json({value:$1})]}; }
- | DT Gl
- { $$ = {srchid:"AT", args:[$2]}; }
- | AW DT Gl
- { $$ = {srchid:"AS", args:[$3]}; }
- | Cn DT Gl
- { $$ = {srchid:"TO", args:[$3]}; }
- | CX DR Ex DS
- { $$ = {srchid:"SET", args:$3}; }
-
- | Cz
- { $$ = {srchid:"VALUE"}; }
- | Dc Gl
- { $$ = {srchid:"CLASS", args:[$2]}; }
- | Du Dw
- { $$ = {selid:$2,args:[$1] }; }
-
- | Bv DR SearchSelector* DS
- { $$ = {selid:"NOT",args:$3 }; }
- | BS DR SearchSelector* DS
- { $$ = {selid:"IF",args:$3 }; }
- | Ef DR SearchSelector* DS
- { $$ = {selid:$1,args:$3 }; }
- | (DISTINCT|UNIQUE) DR SearchSelector* DS
- { $$ = {selid:'DISTINCT',args:$3 }; }
- | Ct DR Dv DS
- { $$ = {selid:'UNION',args:$3 }; }
- | Ct AP DR Dv DS
- { $$ = {selid:'UNIONALL',args:$4 }; }
- | AP DR SearchSelector* DS
- { $$ = {selid:'ALL',args:[$3] }; }
- | DT DR SearchSelector* DS
- { $$ = {selid:'ANY',args:[$3] }; }
- | Ba DR Dv DS
- { $$ = {selid:'INTERSECT',args:$3 }; }
- | BE DR Dv DS
- { $$ = {selid:'EXCEPT',args:$3 }; }
- | AK DR Dv DS
- { $$ = {selid:'AND',args:$3 }; }
- | AJ DR Dv DS
- { $$ = {selid:'OR',args:$3 }; }
- | B7 DR Du DS
- { $$ = {selid:'PATH',args:[$3] }; }
- | CO DR ES DS
- { $$ = {srchid:'RETURNS',args:$3 }; }
- ;
-
Dv
- : Dv Da SearchSelector*
- { $$ = $1; $$.push($3);}
- | SearchSelector*
- { $$ = [$1]; }
- ;
-
Dw
- : DB
- { $$ = "PLUS"; }
- | DD
- { $$ = "STAR"; }
- | Df
- { $$ = "QUESTION"; }
- ;
-
Dx
- : BL EW
- { $$ = $2; }
- ;
-
-/*
-SearchLet
- : Bf
- ;
-
Dy
- : C4 EW
- ;
Dz
- : Bi EW
- ;
-
D0
- : Cc Gl
- ;
-
D1
- : Cm EW
- ;
-
-*/
-
-SelectClause
- :
- /*
-
- { $$ = new yy.Select({ columns:new yy.Column({columnid:'_'}), modifier: 'COLUMN' }); }
- |
-*/
-
- D2 A6 D3 ES
- { $$ = new yy.Select({ columns:$4, distinct: true }); yy,extend($$, $1); yy.extend($$, $3); }
- | D2 Cu D3 ES
- { $$ = new yy.Select({ columns:$4, distinct: true }); yy,extend($$, $1);yy.extend($$, $3); }
- | D2 AP D3 ES
- { $$ = new yy.Select({ columns:$4, all:true }); yy,extend($$, $1);yy.extend($$, $3); }
- | D2 D3 ResultColumns?
- {
- if(!$3) {
- $$ = new yy.Select({columns:[new yy.Column({columnid:'_',})], modifier:'COLUMN'});
- } else {
- $$ = new yy.Select({ columns:$3 }); yy,extend($$, $1);yy.extend($$, $2);
- }
- }
-/* |
- { $$ = new yy.Select({columns:[new yy.Column({columnid:'_', modifier:'COLUMN'})]});}
-*/ ;
-
D2
- : CV
- { $$ = undefined; }
- | CV Cz
- { $$ = {modifier:'VALUE'}}
- | CV CS
- { $$ = {modifier:'ROW'}}
- | CV Am
- { $$ = {modifier:'COLUMN'}}
- | CV Bk
- { $$ = {modifier:'MATRIX'}}
- | CV Ck
- { $$ = {modifier:'TEXTSTRING'}}
- | CV BW
- { $$ = {modifier:'INDEX'}}
- | CV CG
- { $$ = {modifier:'RECORDSET'}}
- ;
-
D3
- : Co Ei PERCENT?
- { $$ = {top: $2, percent:(typeof $3 != 'undefined'?true:undefined)}; }
- | Co DR Ei DS
- { $$ = {top: $3}; }
- | { $$ = undefined; }
- ;
-
D4
- : {$$ = undefined; }
- | Bb EA
- {$$ = {into: $2} }
- | Bb Eg
- {$$ = {into: $2} }
- | Bb Eo
- {$$ = {into: $2} }
- | Bb Em
- {$$ = {into: $2} }
- | Bb AH
- {
- var s = $2;
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- if(s[0] == '#') {
- $$ = {into: new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- $$ = {into: new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x4=='XLSX' || x4 == 'JSON') {
- $$ = {into: new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- }
- }
- ;
-
D5
- : BL D7
- { $$ = { from: $2 }; }
-/* | BL D8 EB
- { $$ = { from: [$2], joins: $3 }; }
-*/ | BL D7 EB
- { $$ = { from: $2, joins: $3 }; }
-/* | BL DR D8 EB DS
- { $$ = { from: [$3], joins: $4 }; }
-*/ | BL DR D7 EB DS
- { $$ = { from: $3, joins: $4 }; }
- |
- { $$ = undefined; }
- ;
-
D6
- : Aw AU DR Select DS Gl
- { $$ = new yy.Apply({select: $4, applymode:'CROSS', as:$6}); }
- | Aw AU DR Select DS AW Gl
- { $$ = new yy.Apply({select: $4, applymode:'CROSS', as:$7}); }
-/* {
- if(!yy.exists) yy.exists = [];
- $$ = new yy.Apply({select: $4, applymode:'CROSS', as:$7,existsidx:yy.exists.length});
- yy.exists.push($3);
-
- }
-*/ | B5 AU DR Select DS Gl
- { $$ = new yy.Apply({select: $4, applymode:'OUTER', as:$6}); }
- | B5 AU DR Select DS AW Gl
- { $$ = new yy.Apply({select: $4, applymode:'OUTER', as:$7}); }
- ;
-
D7
- : D8
- { $$ = [$1]; }
- | D7 Da D8
- { $$ = $1; $1.push($3); }
- ;
-
D8
- : DR Select DS Gl
- { $$ = $2; $$.as = $4 }
- | DR Select DS AW Gl
- { $$ = $2; $$.as = $5 }
- | DR Select DS /* default alias */
- { $$ = $2; $$.as = 'default' }
-
- | Fp AS? Literal?
- { $$ = new yy.Json({value:$1}); $1.as = $3 }
-
- | EA Gl
- { $$ = $1; $1.as = $2 }
- | EA AW Gl
- { $$ = $1; $1.as = $3 }
- | EA
- { $$ = $1; }
-
- | Eo Gl
- { $$ = $1; $1.as = $2; }
- | Eo AW Gl
- { $$ = $1; $1.as = $3; }
- | Eo
- { $$ = $1; $1.as = 'default'; }
-
- | Eg
- { $$ = $1; $1.as = 'default'; }
- | Eg Gl
- { $$ = $1; $1.as = $2; }
- | Eg AW Gl
- { $$ = $1; $1.as = $3; }
-
- | Em
- { $$ = $1; $1.as = 'default'; }
- | Em Gl
- { $$ = $1; $1.as = $2; }
- | Em AW Gl
- { $$ = $1; $1.as = $3; }
-
- | D9
- { $$ = $1; $1.as = 'default'; }
- | D9 Gl
- { $$ = $1; $1.as = $2; }
- | D9 AW Gl
- { $$ = $1; $1.as = $3; }
- ;
-
D9
- : AH
- {
- var s = $1;
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- var r;
- if(s[0] == '#') {
- r = new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- r = new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x4=='XLSX' || x4 == 'JSON') {
- r = new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else {
- throw new Error('Unknown string in BL clause');
- };
- $$ = r;
- }
- ;
-
EA
- : Gl DZ Gl
- {
- if($1 == 'INFORMATION_SCHEMA') {
- $$ = new yy.FuncValue({funcid: $1, args:[new yy.StringValue({value:$3})]});
- } else {
- $$ = new yy.Table({databaseid: $1, tableid:$3});
- }
- }
- | Gl
- { $$ = new yy.Table({tableid: $1});}
- ;
-
EB
- : EB EC
- { $$ = $1; $1.push($2); }
- | EB D6
- { $$ = $1; $1.push($2); }
- | EC
- { $$ = [$1]; }
- | D6
- { $$ = [$1]; }
- ;
-
EC
- : EE ED EG
- { $$ = new yy.Join($1); yy.extend($$, $2); yy.extend($$, $3); }
- ;
-
ED
- : EA
- { $$ = {table: $1}; }
- | EA Gl
- { $$ = {table: $1, as: $2 } ; }
- | EA AW Gl
- { $$ = {table: $1, as: $3 } ; }
- | Fp AS? Literal?
- { $$ = {json:new yy.Json({value:$1,as:$3})}; }
- | Eo Gl
- { $$ = {param: $1, as: $2 } ; }
- | Eo AW Gl
- { $$ = {param: $1, as: $3 } ; }
- | DR Select DS Gl
- { $$ = {select: $1, as: $4} ; }
- | DR Select DS AW Gl
- { $$ = {select: $1, as: $5 } ; }
- | Eg
- { $$ = {funcid:$1, as:'default'}; }
- | Eg Gl
- { $$ = {funcid:$1, as: $2}; }
- | Eg AW Gl
- { $$ = {funcid:$1, as: $3}; }
-
- | Em
- { $$ = {variable:$1,as:'default'}; }
- | Em Gl
- { $$ = {variable:$1,as:$2}; }
- | Em AW Gl
- { $$ = {variable:$1,as:$3} }
- ;
-
EE
- : EF
- { $$ = { joinmode: $1 } ; }
- | Bq EF
- { $$ = {joinmode: $1, natural:true} ; }
- ;
-
EF
- : Bc
- { $$ = "INNER"; }
- | BX Bc
- { $$ = "INNER"; }
- | Bg Bc
- { $$ = "LEFT"; }
- | Bg B5 Bc
- { $$ = "LEFT"; }
- | CP Bc
- { $$ = "RIGHT"; }
- | CP B5 Bc
- { $$ = "RIGHT"; }
- | B5 Bc
- { $$ = "OUTER"; }
- | FULL B5 Bc
- { $$ = "OUTER"; }
- | CW Bc
- { $$ = "SEMI"; }
- | AW Bc
- { $$ = "ANTI"; }
- | Aw Bc
- { $$ = "CROSS"; }
- ;
-
EG
- : By EW
- { $$ = {on: $2}; }
- | Cy E2
- { $$ = {using: $2}; }
- |
- { $$ = undefined; }
- ;
-
EH
- : { $$ = undefined; }
- | C3 EW
- { $$ = {where: new yy.Expression({expression:$2})}; }
- ;
-
EI
- : { $$ = undefined; }
- | BO Af EJ EL
- { $$ = {group:$3}; yy.extend($$,$4); }
- ;
-
EJ
- : EK
- { $$ = [$1]; }
- | EJ Da EK
- { $$ = $1; $1.push($3); }
- ;
-
EK
- : BP CX DR EJ DS
- { $$ = new yy.GroupExpression({type:'GROUPING SETS', group: $4}); }
- | CR DR EJ DS
- { $$ = new yy.GroupExpression({type:'ROLLUP', group: $3}); }
- | Ax DR EJ DS
- { $$ = new yy.GroupExpression({type:'CUBE', group: $3}); }
- | EW
- { $$ = $1; }
- ;
-
-
EL
- : { $$ = undefined; }
- | BQ EW
- { $$ = {having:$2}}
- ;
-
EM
- : { $$ = undefined; }
- | Ct Select
- { $$ = {union: $2} ; }
- | Ct AP Select
- { $$ = {unionall: $3} ; }
- | BE Select
- { $$ = {except: $2} ; }
- | Ba Select
- { $$ = {intersect: $2} ; }
- | Ct At Select
- { $$ = {union: $3, corresponding:true} ; }
- | Ct AP At Select
- { $$ = {unionall: $4, corresponding:true} ; }
- | BE At Select
- { $$ = {except: $3, corresponding:true} ; }
- | Ba At Select
- { $$ = {intersect: $3, corresponding:true} ; }
- ;
-
EN
- : { $$ = undefined; }
- | B4 Af EO
- { $$ = {order:$3}}
- ;
-
EO
- : EP
- { $$ = [$1]; }
- | EO Da EP
- { $$ = $1; $1.push($3)}
- ;
-
EP
- : EW
- { $$ = new yy.Expression({expression: $1, direction:'ASC'}) }
- | EW AY
- { $$ = new yy.Expression({expression: $1, direction:$2.toUpperCase()}) }
- | EW Al Bt
- { $$ = new yy.Expression({expression: $1, direction:'ASC', nocase:true}) }
- | EW Al Bt AY
- { $$ = new yy.Expression({expression: $1, direction:$4.toUpperCase(), nocase:true}) }
- ;
-
EQ
- : { $$ = undefined; }
- | Bi Ei ER
- { $$ = {limit:$2}; yy.extend($$, $3)}
- ;
-
ER
- : { $$ = undefined; }
- | B0 Ei
- { $$ = {offset:$2}}
- ;
-
-
ES
- : ES Da ET
- { $1.push($3); $$ = $1; }
- | ET
- { $$ = [$1]; }
- ;
-
ET
- : EW AW Gl
- { $1.as = $3; $$ = $1;}
- | EW Gl
- { $1.as = $2; $$ = $1;}
- | EW AW C7
- { $1.as = $3; $$ = $1;}
- | EW C7
- { $1.as = $2; $$ = $1;}
- | EW AW Ek
- { $1.as = $3; $$ = $1;}
- | EW Ek
- { $1.as = $2; $$ = $1;}
- | EW
- { $$ = $1; }
- ;
-
EU
- : Gl DZ Gl DZ DD
- { $$ = new yy.Column({columid: $5, tableid: $3, databaseid:$1}); }
- | Gl DZ DD
- { $$ = new yy.Column({columnid: $3, tableid: $1}); }
- | DD
- { $$ = new yy.Column({columnid:$1}); }
- ;
-
EV
- : Gl DZ Gl DZ Gl
- { $$ = new yy.Column({columnid: $5, tableid: $3, databaseid:$1});}
- | Gl DZ Gl
- { $$ = new yy.Column({columnid: $3, tableid: $1});}
- | Gl DZ Cz
- { $$ = new yy.Column({columnid: $3, tableid: $1});}
- | Gl
- { $$ = new yy.Column({columnid: $1});}
- ;
-
EW
- : Eb
- { $$ = $1; }
- | Eg
- { $$ = $1; }
- | Et
- { $$ = $1; }
- | EV
- { $$ = $1; }
- | EU
- { $$ = $1; }
- | Ei
- { $$ = $1; }
- | Eg
- { $$ = $1; }
- | Ek
- { $$ = $1; }
- | El
- { $$ = $1; }
- | Eo
- { $$ = $1; }
- | Em
- { $$ = $1; }
- | En
- { $$ = $1; }
- | Ep
- { $$ = $1; }
- | EZ
- { $$ = $1; }
- | Fp
- { $$ = new yy.Json({value:$1}); }
-/* | AC Ft
- { $$ = new yy.Json({value:$2}); }
-*/ | EY
- { $$ = $1; }
-/* | DT DR EW DS
- { $$ = new yy.FuncValue({funcid: 'CLONEDEEP', args:[$3]}); }
-*/
-/* | DT DR Fp DS
- { $$ = new yy.Json({value:$3}); }
-*/ | DR Select DS
- {
- if(!yy.queries) yy.queries = [];
- yy.queries.push($2);
- $2.queriesidx = yy.queries.length;
- $$ = $2;
- }
- | DR Insert DS
- {
- if(!yy.queries) yy.queries = [];
- yy.queries.push($2);
- $2.queriesidx = yy.queries.length;
- $$ = $2;
- }
- | DR (CreateVertex|CreateEdge) DS
- {
- if(!yy.queries) yy.queries = [];
- yy.queries.push($2);
- $2.queriesidx = yy.queries.length;
- $$ = $2;
- }
-
- | EX
- {$$ = $1}
- | CURRENT_TIMESTAMP
- { $$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});}
-/* | Cx
- { $$ = new yy.FuncValue({funcid:'USER'});}
-*/ ;
-
EX
- : AA
- { $$ = new yy.JavaScript({value:$1.substr(2,$1.length-4)}); }
- ;
-
EY
- : Bs Gl
- { $$ = new yy.FuncValue({funcid:$2, newid:true}); }
- | Bs Eg
- { $$ = $2; yy.extend($$,{newid:true}); }
- ;
-
-
EZ
- : Ah DR EW AW FN DS
- { $$ = new yy.Convert({expression:$3}) ; yy.extend($$,$5) ; }
- | Ah DR EW AW FN Da C7 DS
- { $$ = new yy.Convert({expression:$3, style:$7}) ; yy.extend($$,$5) ; }
- | As DR FN Da EW DS
- { $$ = new yy.Convert({expression:$5}) ; yy.extend($$,$3) ; }
- | As DR FN Da EW Da C7 DS
- { $$ = new yy.Convert({expression:$5, style:$7}) ; yy.extend($$,$3) ; }
- ;
-
Ea
- : Ei
- { $$ = $1; }
- | Ek
- { $$ = $1; }
- | Eg
- { $$ = $1; }
- | El
- { $$ = $1; }
- | Eo
- { $$ = $1; }
- | Eg
- { $$ = $1; }
- | CURRENT_TIMESTAMP
- { $$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'}); }
-/* | Cx
- { $$ = new yy.FuncValue({funcid:'USER'}); }
-*/ ;
-
-
Eb
- : Ef DR Eh DS Ec
- {
- if($3.length > 1 && ($1.toUpperCase() == 'MAX' || $1.toUpperCase() == 'MIN')) {
- $$ = new yy.FuncValue({funcid:$1,args:$3});
- } else {
- $$ = new yy.AggrValue({aggregatorid: $1.toUpperCase(), expression: $3.pop(), over:$5});
- }
- }
- | Ef DR A6 EW DS Ec
- { $$ = new yy.AggrValue({aggregatorid: $1.toUpperCase(), expression: $4, distinct:true, over:$6}); }
- | Ef DR AP EW DS Ec
- { $$ = new yy.AggrValue({aggregatorid: $1.toUpperCase(), expression: $4,
- over:$6}); }
- ;
-
Ec
- :
- {$$ = undefined; }
- | B6 DR Ed DS
- { $$ = new yy.Over(); yy.extend($$,$3); }
- | B6 DR Ee DS
- { $$ = new yy.Over(); yy.extend($$,$3); }
- | B6 DR Ed Ee DS
- { $$ = new yy.Over(); yy.extend($$,$3); yy.extend($$,$4);}
- ;
-
Ed
- : B8 Af EJ
- { $$ = {partition:$3}; }
- ;
Ee
- : B4 Af EO
- { $$ = {order:$3}; }
- ;
Ef
- : Ce { $$ = "SUM"; }
- | Au { $$ = "COUNT"; }
- | Bn { $$ = "MIN"; }
- | Bl { $$ = "MAX"; }
- | Ab { $$ = "AVG"; }
- | BJ { $$ = "FIRST"; }
- | Be { $$ = "LAST"; }
- | AO { $$ = "AGGR"; }
- | AV { $$ = "ARRAY"; }
-/* | CH { $$ = "REDUCE"; } */
- ;
-
Eg
- : Gl DR (DISTINCT|ALL)? Eh DS
- {
- var funcid = $1;
- var exprlist = $4;
- if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
- $$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- } else if(alasql.aggr[$1]) {
- $$ = new yy.AggrValue({aggregatorid: 'REDUCE',
- funcid: funcid, expression: exprlist.pop(),distinct:($3=='DISTINCT') });
- } else {
- $$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- };
- }
- | Gl DR DS
- { $$ = new yy.FuncValue({ funcid: $1 }) }
- ;
-
Eh
- : EW
- { $$ = [$1]; }
- | Eh Da EW
- { $1.push($3); $$ = $1 }
- ;
-
Ei
- : C7
- { $$ = new yy.NumValue({value:+$1}); }
- ;
-
Eg
- : Cr
- { $$ = new yy.LogicValue({value:true}); }
- | BH
- { $$ = new yy.LogicValue({value:false}); }
- ;
-
Ek
- : AH
- { $$ = new yy.StringValue({value: $1.substr(1,$1.length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")}); }
- | AF
- { $$ = new yy.StringValue({value: $1.substr(2,$1.length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")}); }
- ;
-
El
- : Bw
- { $$ = new yy.NullValue({value:undefined}); }
- ;
-
Em
- : DT Gl
- { $$ = new yy.VarValue({variable:$2}); }
- ;
-
En
- : BF DR Select DS
- {
- if(!yy.exists) yy.exists = [];
- $$ = new yy.ExistsValue({value:$3, existsidx:yy.exists.length});
- yy.exists.push($3);
- }
- ;
-
-
Eo
- : De (Literal|NUMBER)
- { $$ = new yy.ParamValue({param: $2}); }
-/* | De C7
- { $$ = new yy.ParamValue({param: $2}); }
-*/ | Dc Gl
- { $$ = new yy.ParamValue({param: $2}); }
- | Df
- {
- if(typeof yy.question == 'undefined') yy.question = 0;
- $$ = new yy.ParamValue({param: yy.question++});
- }
- | AB
- {
- if(typeof yy.question == 'undefined') yy.question = 0;
- $$ = new yy.ParamValue({param: yy.question++, array:true});
- }
- ;
-
-
Ep
- : Ag EW Eq Es BB
- { $$ = new yy.CaseValue({expression:$2, whens: $3, elses: $4}); }
- | Ag Eq Es BB
- { $$ = new yy.CaseValue({whens: $2, elses: $3}); }
- ;
-
Eq
- : Eq Er
- { $$ = $1; $$.push($2); }
- | Er
- { $$ = [$1]; }
- ;
-
Er
- : C2 EW Cl EW
- { $$ = {when: $2, then: $4 }; }
- ;
-
Es
- : BD EW
- { $$ = $2; }
- |
- { $$ = undefined; }
- ;
-
Et
- : EW Bh EW
- { $$ = new yy.Op({left:$1, op:'LIKE', right:$3}); }
- | EW NOT_LIKE EW
- { $$ = new yy.Op({left:$1, op:'NOT LIKE', right:$3 }); }
- | EW DB EW
- { $$ = new yy.Op({left:$1, op:'+', right:$3}); }
- | EW DC EW
- { $$ = new yy.Op({left:$1, op:'-', right:$3}); }
- | EW DD EW
- { $$ = new yy.Op({left:$1, op:'*', right:$3}); }
- | EW DE EW
- { $$ = new yy.Op({left:$1, op:'/', right:$3}); }
- | EW DF EW
- { $$ = new yy.Op({left:$1, op:'%', right:$3}); }
- | EW Dh EW
- { $$ = new yy.Op({left:$1, op:'^', right:$3}); }
-
- | EW C9 Gl
- { $$ = new yy.Op({left:$1, op:'->' , right:$3}); }
- | EW C9 Ei
- { $$ = new yy.Op({left:$1, op:'->' , right:$3}); }
- | EW C9 DR EW DS
- { $$ = new yy.Op({left:$1, op:'->' , right:$4}); }
- | EW C9 Eg
- { $$ = new yy.Op({left:$1, op:'->' , right:$3}); }
-
- | EW Dg Gl
- { $$ = new yy.Op({left:$1, op:'!' , right:$3}); }
- | EW Dg Ei
- { $$ = new yy.Op({left:$1, op:'!' , right:$3}); }
- | EW Dg DR EW DS
- { $$ = new yy.Op({left:$1, op:'!' , right:$4}); }
- | EW Dg Eg
- { $$ = new yy.Op({left:$1, op:'!' , right:$3}); }
-
-
-
-
- | EW DL EW
- { $$ = new yy.Op({left:$1, op:'>' , right:$3}); }
- | EW DK EW
- { $$ = new yy.Op({left:$1, op:'>=' , right:$3}); }
- | EW DO EW
- { $$ = new yy.Op({left:$1, op:'<' , right:$3}); }
- | EW DM EW
- { $$ = new yy.Op({left:$1, op:'<=' , right:$3}); }
- | EW DP EW
- { $$ = new yy.Op({left:$1, op:'=' , right:$3}); }
- | EW DJ EW
- { $$ = new yy.Op({left:$1, op:'==' , right:$3}); }
- | EW DH EW
- { $$ = new yy.Op({left:$1, op:'===' , right:$3}); }
- | EW DN EW
- { $$ = new yy.Op({left:$1, op:'!=' , right:$3}); }
- | EW DI EW
- { $$ = new yy.Op({left:$1, op:'!==' , right:$3}); }
- | EW DG EW
- { $$ = new yy.Op({left:$1, op:'!===' , right:$3}); }
-
- | EW Ev Ew DR Select DS
- {
- if(!yy.queries) yy.queries = [];
- $$ = new yy.Op({left:$1, op:$2 , allsome:$3, right:$5, queriesidx: yy.queries.length});
- yy.queries.push($5);
- }
-
- | EW Ev Ew DR Eh DS
- {
- $$ = new yy.Op({left:$1, op:$2 , allsome:$3, right:$5});
- }
-
- | EW AK EW
- {
- if($1.op == 'BETWEEN1') {
-
- if($1.left.op == 'AND') {
- $$ = new yy.Op({left:$1.left.left,op:'AND',right:
- new yy.Op({left:$1.left.right, op:'BETWEEN',
- right1:$1.right, right2:$3})
- });
- } else {
- $$ = new yy.Op({left:$1.left, op:'BETWEEN',
- right1:$1.right, right2:$3});
- }
-
- } else if($1.op == 'NOT BETWEEN1') {
- if($1.left.op == 'AND') {
- $$ = new yy.Op({left:$1.left.left,op:'AND',right:
- new yy.Op({left:$1.left.right, op:'NOT BETWEEN',
- right1:$1.right, right2:$3})
- });
- } else {
- $$ = new yy.Op({left:$1.left, op:'NOT BETWEEN',
- right1:$1.right, right2:$3});
- }
- } else {
- $$ = new yy.Op({left:$1, op:'AND', right:$3});
- }
-
-
- }
- | EW AJ EW
- { $$ = new yy.Op({left:$1, op:'OR' , right:$3}); }
- | Bv EW
- { $$ = new yy.UniOp({op:'NOT' , right:$2}); }
- | DC EW
- { $$ = new yy.UniOp({op:'-' , right:$2}); }
- | DB EW
- { $$ = new yy.UniOp({op:'+' , right:$2}); }
- | DA EW
- { $$ = new yy.UniOp({op:'#' , right:$2}); }
- | DR EW DS
- { $$ = new yy.UniOp({right: $2}); }
-
- | EW BV DR Select DS
- {
- if(!yy.queries) yy.queries = [];
- $$ = new yy.Op({left: $1, op:'IN', right:$4, queriesidx: yy.queries.length});
- yy.queries.push($4);
- }
-
- | EW Bv BV DR Select DS
- {
- if(!yy.queries) yy.queries = [];
- $$ = new yy.Op({left: $1, op:'NOT IN', right:$5, queriesidx: yy.queries.length});
- yy.queries.push($5);
- }
-
- | EW BV DR Eh DS
- { $$ = new yy.Op({left: $1, op:'IN', right:$4}); }
-
- | EW Bv BV DR Eh DS
- { $$ = new yy.Op({left: $1, op:'NOT IN', right:$5}); }
-
- | EW BV DR DS
- { $$ = new yy.Op({left: $1, op:'IN', right:[]}); }
-
- | EW Bv BV DR DS
- { $$ = new yy.Op({left: $1, op:'NOT IN', right:[]}); }
-
- | EW BV Eu
- { $$ = new yy.Op({left: $1, op:'IN', right:$3}); }
-
- | EW Bv BV Eu
- { $$ = new yy.Op({left: $1, op:'NOT IN', right:$4}); }
-
-
- /*
- Hack - it impossimle to parse Ad AK and AK expressions with grammar.
- At least, I do not know how.
- */
- | EW Ad EW
- {
-/* var expr = $3;
- if(expr.left && expr.left.op == 'AND') {
- $$ = new yy.Op({left:new yy.Op({left:$1, op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
- } else {
-*/
- $$ = new yy.Op({left:$1, op:'BETWEEN1', right:$3 });
-// }
- }
- | EW NOT_BETWEEN EW
- {
-// var expr = $3;
-// if(expr.left && expr.left.op == 'AND') {
-// $$ = new yy.Op({left:new yy.Op({left:$1, op:'NOT BETWEEN', right:expr.left}), op:'AND', right:expr.right });
-// } else {
- $$ = new yy.Op({left:$1, op:'NOT BETWEEN1', right:$3 });
-// }
- }
- | EW BU EW
- { $$ = new yy.Op({op:'IS' , left:$1, right:$3}); }
- | EW Db FN
- { $$ = new yy.Convert({expression:$1}) ; yy.extend($$,$3) ; }
- ;
-
Eu
- : EV
- { $$ = $1;}
- | Eg
- { $$ = $1;}
- | DT DR EW DS
- { $$ = $3;}
- ;
-
Ev
- : DL { $$ = $1; }
- | DK { $$ = $1; }
- | DO { $$ = $1; }
- | DM { $$ = $1; }
- | DP { $$ = $1; }
- | DN { $$ = $1; }
- ;
-
Ew
- : AP
- { $$ = 'ALL'; }
- | Ca
- { $$ = 'SOME'; }
- | DT
- { $$ = 'ANY'; }
- ;
-
-/* PART TWO */
-
-/* Cv */
-
-Update
- : Cv EA CX Ex C3 EW
- { $$ = new yy.Update({table:$2, columns:$4, where:$6}); }
- | Cv EA CX Ex
- { $$ = new yy.Update({table:$2, columns:$4}); }
- ;
-
Ex
- : Ey
- { $$ = [$1]; }
- | Ex Da Ey
- { $$ = $1; $1.push($3); }
- ;
-
Ey
- : EV DP EW
-/* TODO Replace columnid with column */
- { $$ = new yy.SetColumn({column:$1, expression:$3})}
- ;
-
-/* A2 */
-
-Delete
- : A2 BL EA C3 EW
- { $$ = new yy.Delete({table:$3, where:$5});}
- | A2 BL EA
- { $$ = new yy.Delete({table:$3});}
- ;
-
-/* BY */
-
-Insert
- : BY Ez EA Cz ValuesListsList
- { $$ = new yy.Insert({into:$3, values: $5}); }
- | BY Ez EA A1 Cz
- { $$ = new yy.Insert({into:$3, default: true}) ; }
- | BY Ez EA DR E2 DS Cz ValuesListsList
- { $$ = new yy.Insert({into:$3, columns: $5, values: $8}); }
- | BY Ez EA Select
- { $$ = new yy.Insert({into:$3, select: $4}); }
- | BY Ez EA DR E2 DS Select
- { $$ = new yy.Insert({into:$3, columns: $5, select: $7}); }
- ;
-
Ez
- :
- | Bb
- ;
-/*
-TableParamFunc
- : EA
- { $$ = $1; }
- | Eo
- { $$ = $1; }
- | Eg
- { $$ = $1; }
- ;
-*/
-
-ValuesListsList
- : DR E0 DS
- { $$ = [$2]; }
- | Fp
- { $$ = [$1]; }
- | Eo
- { $$ = [$1]; }
- | ValuesListsList Da DR E0 DS
- {$$ = $1; $1.push($4)}
- | ValuesListsList Da Fp
- {$$ = $1; $1.push($3)}
- | ValuesListsList Da Eo
- {$$ = $1; $1.push($3)}
- ;
-
E0
- : EW
- { $$ = [$1]; }
- | E0 Da EW
- {$$ = $1; $1.push($3)}
- ;
-
E1
- : Ei
- | Ek
- | Eg
- | El
- | DateValue
- | Eo
- ;
-
E2
- : EV
- { $$ = [$1]; }
- | E2 Da EV
- {$$ = $1; $1.push($3)}
- ;
-
-/* Av Cf */
-
-CreateTable
- : Av E6 E3 E7 EA DR E8 DS E4
- {
- $$ = new yy.CreateTable({table:$5});
- yy.extend($$,$2);
- yy.extend($$,$3);
- yy.extend($$,$4);
- yy.extend($$,$7);
- yy.extend($$,$9);
- }
- | Av E6 E3 E7 EA
- {
- $$ = new yy.CreateTable({table:$5});
- yy.extend($$,$2);
- yy.extend($$,$3);
- yy.extend($$,$4);
- }
-;
-
E3
- : Cf
- { $$ = undefined; }
- | Ag
- { $$ = {class:true}; }
- ;
-
E4
- :
- | E5
- ;
-
E5
- : E5 CreateTableOption
- | CreateTableOption
- ;
-
-/* TODO: Remove this section */
-CreateTableOption
- : A1
- | A7 DP Gl
- | Aa DP Ei
- ;
-
E6
- : { $$ = undefined; }
- | Ci
- { $$ = {temporary:true}; }
- ;
-
E7
- : { $$ = undefined; }
- | BS Bv BF
- { $$ = {ifnotexists: true}; }
- ;
-
E8
- : ColumnDefsList Da E9
- { $$ = {columns: $1, constraints: $3}; }
- | ColumnDefsList
- { $$ = {columns: $1}; }
- | AW Select
- { $$ = {as: $2} }
- ;
-
E9
- : FA
- { $$ = [$1];}
- | E9 Da FA
- { $1.push($3); $$ = $1; }
- ;
-
FA
- : FB FD
- { $2.constraintid = $1; $$ = $2; }
- | FB FE
- { $2.constraintid = $1; $$ = $2; }
- | FB FJ
- { $2.constraintid = $1; $$ = $2; }
- | FB FK
- { $2.constraintid = $1; $$ = $2; }
- | FB FC
- { $2.constraintid = $1; $$ = $2; }
- ;
-
FB
- : { $$ = undefined; }
- | Ap Gl
- { $$ = $2; }
- ;
-
FC
- : Ai DR EW DS
- { $$ = {type: 'CHECK', expression: $3}; }
- ;
-
FD
- : CB Bd Literal? DR FL DS
- { $$ = {type: 'PRIMARY KEY', columns: $5, clustered:($3+'').toUpperCase()}; }
- ;
-
FE
- : BK Bd DR FL DS CI EA ParColsList?
- FG
- { $$ = {type: 'FOREIGN KEY', columns: $4, fktable: $7, fkcolumns: $8}; }
- ;
-
FF
- : DR FL DS
- { $$ = $2; }
- ;
-
FG
- :
- { $$ = undefined; }
- | FH FI
- { $$ = undefined; }
- ;
-
FH
- : By A2 Bu AM
- {$$ = undefined; }
- ;
FI
- : By Cv Bu AM
- {$$ = undefined; }
- ;
-
FJ
- : Cu Literal? DR E2 DS
- {
- $$ = {type: 'UNIQUE', columns: $4, clustered:($2+'').toUpperCase()};
- }
- ;
-
FK
- : BW Gl DR E2 DS
- | Bd Gl DR E2 DS
- ;
FL
- : Gl
- { $$ = [$1]; }
- | AH
- { $$ = [$1]; }
- | FL Da Gl
- { $$ = $1; $1.push($3); }
- | FL Da AH
- { $$ = $1; $1.push($3); }
- ;
-
-/*
-OrderedColsList
- : Gl
- { $$ = [$1]; }
- | AH
- { $$ = [$1]; }
- | OrderedColsList Da Gl
- { $$ = $1; $1.push($3); }
- | OrderedColsList Da AH
- { $$ = $1; $1.push($3); }
- ;
-*/
-ColumnDefsList
- : FM
- { $$ = [$1];}
- | ColumnDefsList Da FM
- { $1.push($3); $$ = $1; }
- ;
-
FM
- : Gl FN FP
- { $$ = new yy.ColumnDef({columnid:$1}); yy.extend($$,$2); yy.extend($$,$3);}
- | Gl ColumnConstraints
- { $$ = new yy.ColumnDef({columnid:$1}); yy.extend($$,$2); }
- | Gl
- { $$ = new yy.ColumnDef({columnid:$1, dbtypeid: ''}); }
- ;
-
FN
- : A7 DR FO Da C7 DS
- { $$ = {dbtypeid: $1, dbsize: $3, dbprecision: +$5} }
- | A7 DR FO DS
- { $$ = {dbtypeid: $1, dbsize: $3} }
- | A7
- { $$ = {dbtypeid: $1} }
- | BC DR E0 DS
- { $$ = {dbtypeid: 'ENUM', enumvalues: $3} }
- ;
-
FO
- : C7
- { $$ = +$1; }
- | Bl
- { $$ = "MAX"; }
- ;
-
FP
- : {$$ = undefined}
- | FQ
- { $$ = $1; }
- ;
-
-
FQ
- : FQ FS
- {
- yy.extend($1,$2); $$ = $1;
- }
- | FS
- { $$ = $1; }
- ;
-
FR
- : DR Gl DS
- { $$ = $2; }
- ;
-
FS
- : CB Bd
- {$$ = {primarykey:true};}
- | BK Bd CI EA ParLiteral?
- {$$ = {foreignkey:{table:$4, columnid: $5}};}
- | CI EA ParLiteral?
- {$$ = {foreignkey:{table:$2, columnid: $3}};}
- | Aa DR Ei Da Ei DS
- { $$ = {identity: {value:$3,step:$5}} }
- | Aa
- { $$ = {identity: {value:1,step:1}} }
- | A1 Ea
- {$$ = {default:$2};}
- | A1 DR EW DS
- {$$ = {default:$3};}
- | Bw
- {$$ = {null:true}; }
- | Bv Bw
- {$$ = {notnull:true}; }
- | FC
- {$$ = {check:$1}; }
- | Cu
- {$$ = {unique:true}; }
- ;
-
-/* A8 Cf */
-
-DropTable
- : A8 (TABLE|CLASS) FT EA
- { $$ = new yy.DropTable({table:$4,type:$2}); yy.extend($$, $3); }
- ;
-
FT
- : { $$ = undefined; }
- | BS BF
- { $$ = {ifexists: true};}
- ;
-
-/* AQ Cf */
-
-AlterTable
- : AQ Cf EA CL Cn Gl
- { $$ = new yy.AlterTable({table:$3, renameto: $6});}
- | AQ Cf EA AN Am FM
- { $$ = new yy.AlterTable({table:$3, addcolumn: $6});}
- | AQ Cf EA Bp Am FM
- { $$ = new yy.AlterTable({table:$3, modifycolumn: $6});}
- | AQ Cf EA CL Am Gl Cn Gl
- { $$ = new yy.AlterTable({table:$3, renamecolumn: $6, to: $8});}
- | AQ Cf EA A8 Am Gl
- { $$ = new yy.AlterTable({table:$3, dropcolumn: $6});}
- ;
-
FU
- : CL Cf EA Cn Gl
- { $$ = new yy.AlterTable({table:$3, renameto: $5});}
- ;
-
-/* DATABASES */
-
-AttachDatabase
- : AZ Gl Az Gl
- { $$ = new yy.AttachDatabase({databaseid:$4, engineid:$2.toUpperCase() });}
- | AZ Gl Az Gl DR Eh DS
- { $$ = new yy.AttachDatabase({databaseid:$4, engineid:$2.toUpperCase(), args:$6 });}
- | AZ Gl Az Gl AW Gl
- { $$ = new yy.AttachDatabase({databaseid:$4, engineid:$2.toUpperCase(), as:$6 });}
- | AZ Gl Az Gl DR Eh DS AW Gl
- { $$ = new yy.AttachDatabase({databaseid:$4, engineid:$2.toUpperCase(), as:$9, args:$6});}
- ;
-
FV
- : A5 Az Gl
- { $$ = new yy.DetachDatabase({databaseid:$3});}
- ;
-
FW
- : Av Az E7 Gl
- { $$ = new yy.CreateDatabase({databaseid:$4 }); yy.extend($$,$4); }
- | Av Gl Az E7 Gl FX
- { $$ = new yy.CreateDatabase({engineid:$2.toUpperCase(), databaseid:$5, as:$6 }); yy.extend($$,$4); }
- | Av Gl Az E7 Gl DR Eh DS FX
- { $$ = new yy.CreateDatabase({engineid:$2.toUpperCase(), databaseid:$5, args:$7, as:$9 }); yy.extend($$,$4); }
- | Av Gl Az E7 Ek FX
- { $$ = new yy.CreateDatabase({engineid:$2.toUpperCase(),
- as:$6, args:[$5] }); yy.extend($$,$4); }
- ;
-
FX
- :
- {$$ = undefined;}
- | AW Gl
- { $$ = $1; }
- ;
-
FY
- : Cw Az Gl
- { $$ = new yy.UseDatabase({databaseid: $3 });}
- | Cw Gl
- { $$ = new yy.UseDatabase({databaseid: $2 });}
- ;
-
FZ
- : A8 Az FT Gl
- { $$ = new yy.DropDatabase({databaseid: $4 }); yy.extend($$,$3); }
- | A8 Gl Az FT Gl
- { $$ = new yy.DropDatabase({databaseid: $5, engineid:$2.toUpperCase() }); yy.extend($$,$4); }
- | A8 Gl Az FT Ek
- { $$ = new yy.DropDatabase({databaseid: $5, engineid:$2.toUpperCase() }); yy.extend($$,$4); }
- ;
-
-/* INDEXES */
-
-CreateIndex
- :
- Av BW Gl By EA DR EO DS
- { $$ = new yy.CreateIndex({indexid:$3, table:$5, columns:$7})}
- |
-
- Av Cu BW Gl By EA DR EO DS
- { $$ = new yy.CreateIndex({indexid:$4, table:$6, columns:$8, unique:true})}
- ;
-
Fa
- : A8 BW Gl
- { $$ = new yy.DropIndex({indexid:$3});}
- ;
-
-/* CZ COMMAND */
-
-ShowDatabases
- : CZ Az
- { $$ = new yy.ShowDatabases();}
- | CZ Az Bh Ek
- { $$ = new yy.ShowDatabases({like:$4});}
- | CZ Gl Az
- { $$ = new yy.ShowDatabases({engineid:$2.toUpperCase() });}
- | CZ Gl Az Bh Ek
- { $$ = new yy.ShowDatabases({engineid:$2.toUpperCase() , like:$5});}
- ;
-
Fb
- : CZ Cf
- { $$ = new yy.ShowTables();}
- | CZ Cf Bh Ek
- { $$ = new yy.ShowTables({like:$4});}
- | CZ Cf BL Gl
- { $$ = new yy.ShowTables({databaseid: $4});}
- | CZ Cf BL Gl Bh Ek
- { $$ = new yy.ShowTables({like:$6, databaseid: $4});}
- ;
-
Fc
- : CZ Am BL EA
- { $$ = new yy.ShowColumns({table: $4});}
- | CZ Am BL EA BL Gl
- { $$ = new yy.ShowColumns({table: $4, databaseid:$6});}
- ;
-
Fd
- : CZ BW BL EA
- { $$ = new yy.ShowIndex({table: $4});}
- | CZ BW BL EA BL Gl
- { $$ = new yy.ShowIndex({table: $4, databaseid: $6});}
- ;
-
Fe
- : CZ Av Cf EA
- { $$ = new yy.ShowCreateTable({table: $4});}
- | CZ Av Cf EA BL Gl
- { $$ = new yy.ShowCreateTable({table: $4, databaseid:$6});}
- ;
-
Ff
- : Av E6 C1 E7 EA DR E2 DS AW Select SubqueryRestriction?
- {
- $$ = new yy.CreateTable({table:$5,view:true,select:$10,viewcolumns:$7});
- yy.extend($$,$2);
- yy.extend($$,$4);
- }
- | Av E6 C1 E7 EA AW Select SubqueryRestriction?
- {
- $$ = new yy.CreateTable({table:$5,view:true,select:$7});
- yy.extend($$,$2);
- yy.extend($$,$4);
- }
- ;
-
Fg
- : C5 CF Bz
- | C5 Ai B2
- | C5 Ai B2 Ap FA
- ;
-
-
Fh
- : A8 C1 FT EA
- { $$ = new yy.DropTable({table:$4, view:true}); yy.extend($$, $3); }
- ;
-/*
-DeclareCursor
- : A0 Gl Ay FOR Select
- { $$ = new yy.DeclareCursor({cursorid:$2, select:$5}); }
- ;
-
Fi
- : B1 Gl
- { $$ = new yy.OpenCursor({cursorid:$2}); }
- ;
-
Fg
- : Ak Gl
- { $$ = new yy.CloseCursor({cursorid:$2}); }
- ;
-
Fk
- : BI Fl BL Gl
- { $$ = new yy.FetchCursor({cursorid:$4}); yy.extend($$,$2); }
- ;
-
Fl
- : Br
- { $$ = {direction: 'NEXT'}; }
- | CD
- { $$ = {direction: 'PRIOR'}; }
- | BJ
- { $$ = {direction: 'FIRST'}; }
- | Be
- { $$ = {direction: 'LAST'}; }
- | AL Ei
- { $$ = {direction: 'ABSOLUTE', num:$2}; }
- | CJ Ei
- { $$ = {direction: 'RELATIVE', num:$2}; }
- ;
-*/
-
-Help
- : BR Ek
- { $$ = new yy.Help({subject:$2.value.toUpperCase()} ) ; }
- | BR
- { $$ = new yy.Help() ; }
- ;
-
Fm
- : DP EW
- { $$ = new yy.ExpressionStatement({expression:$2}); }
- ;
-
Fn
- : Cb Ek
- { $$ = new yy.Source({url:$2.value}); }
- ;
-
Fo
- : AX Fp
- { $$ = new yy.Assert({value:$2}); }
- | AX Ea
- { $$ = new yy.Assert({value:$2.value}); }
- | AX AH Da Fp
- { $$ = new yy.Assert({value:$4, message:$2}); }
- ;
-
Fp
- : DT DR EW DS
- { $$ = $3; }
- | DT Ek
- { $$ = $2.value; }
- | DT Ei
- { $$ = +$2.value; }
- | DT Eg
- { $$ = (!!$2.value); }
- | DT Eo
- { $$ = $2; }
- | Fs
- { $$ = $1; }
- | DT Fs
- { $$ = $2; }
- | AC Ft
- { $$ = $2; }
- ;
-
Fq
- : Fp
- { $$ = $1; }
- | Fr
- { $$ = $1; }
- ;
-
Fr
- : Ei
- { $$ = +$1.value; }
- | Ek
- { $$ = ""+$1.value; }
- | Eg
- { $$ = $1.value; }
- | EV
- { $$ = $1; }
- | El
- { $$ = $1.value; }
- | Eo
- { $$ = $1; }
- | Eg
- { $$ = $1; }
- | DR EW DS
- { $$ = $2}
- ;
-
-
Fs
- : DU Fu DV
- { $$ = $2; }
- | DU Fu Da DV
- { $$ = $2; }
- | DU DV
- { $$ = {}; }
- ;
-
Ft
- : Fw DW
- { $$ = $1; }
- | Fw Da DW
- { $$ = $1; }
- | DW
- { $$ = []; }
- ;
-
Fu
- : Fu Da Fv
- { yy.extend($1,$3); $$ = $1; }
- | Fv
- { $$ = $1; }
- ;
-
Fv
- : AH Dc Fq
- { $$ = {}; $$[$1.substr(1,$1.length-2)] = $3; }
- | C7 Dc Fq
- { $$ = {}; $$[$1] = $3; }
- | Gl Dc Fq
- { $$ = {}; $$[$1] = $3; }
-/* | AH Dc Eo
- { $$ = {}; $$[$1.substr(1,$1.length-2)] = $3; }
- | C7 Dc Eo
- { $$ = {}; $$[$1] = $3; }
- | A7 Dc Eo
- { $$ = {}; $$[$1] = $3; }
-*/ ;
-
Fw
- : Fw Da Fq
- { $1.push($3); $$ = $1; }
- | Fq
- { $$ = [$1]; }
- ;
-
Fx
- : CX Gl F1
- { $$ = new yy.SetVariable({variable:$2.toLowerCase(), value:$3});}
- | CX Fy Gl DP EW
- { $$ = new yy.SetVariable({variable:$3, expression:$5, method:$2});}
- | CX Fy Gl Fz DP EW
- { $$ = new yy.SetVariable({variable:$3, props: $4, expression:$6, method:$2});}
- ;
-
Fy
- : DT
- {$$ = '@'; }
- | De
- {$$ = '$'; }
- ;
-
Fz
- : Fz C9 F0
- { $1.push($3); $$ = $1; }
- | C9 F0
- { $$ = [$2]; }
- ;
-
F0
- : Gl
- { $$ = $1; }
- | C7
- { $$ = $1; }
- | DR EW DS
- { $$ = $2; }
- ;
-
F1
- : By
- { $$ = true; }
- | Bx
- { $$ = false; }
- ;
-
F2
- : Ao Cp
- { $$ = new yy.CommitTransaction(); }
- ;
-
F3
- : CQ Cp
- { $$ = new yy.RollbackTransaction(); }
- ;
-
F4
- : Ac Cp
- { $$ = new yy.BeginTransaction(); }
- ;
-
-/*
-Store
- : Cd
- { $$ = new yy.Store(); }
- | Cd Gl
- { $$ = new yy.Store({databaseid: $2}); }
- ;
-
F5
- : CN
- { $$ = new yy.Restore(); }
- | CN Gl
- { $$ = new yy.Restore({databaseid: $2}); }
- ;
-*/
-
-If
- :
-/* BS EW Dn
- { $$ = new yy.If({expression:$2,thenstat:$3});
- if($3.exists) $$.exists = $3.exists;
- if($3.queries) $$.queries = $3.queries;
- }
- |
-
-*/
- BS EW Dn F6
- { $$ = new yy.If({expression:$2,thenstat:$3, elsestat:$4});
- if($3.exists) $$.exists = $3.exists;
- if($3.queries) $$.queries = $3.queries;
- }
-
- | BS EW Dn
- {
- $$ = new yy.If({expression:$2,thenstat:$3});
- if($3.exists) $$.exists = $3.exists;
- if($3.queries) $$.queries = $3.queries;
- }
- ;
-
F6
- : BD Dn
- {$$ = $2;}
- ;
-
F7
- : C4 EW Dn
- { $$ = new yy.While({expression:$2,loopstat:$3});
- if($3.exists) $$.exists = $3.exists;
- if($3.queries) $$.queries = $3.queries;
- }
- ;
-
F8
- : Ar
- { $$ = new yy.Continue(); }
- ;
-
F9
- : Ae
- { $$ = new yy.Break(); }
- ;
-
GA
- : Ac Dl BB
- { $$ = new yy.BeginEnd({statements:$2}); }
- ;
-
GB
- : CC Eh
- { $$ = new yy.Print({exprs:$2});}
- | CC Select
- { $$ = new yy.Print({select:$2});}
- ;
-
GC
- : CM GE
- { $$ = new yy.Require({paths:$2}); }
- | CM GF
- { $$ = new yy.Require({plugins:$2}); }
- ;
-
-/* For test plugin system */
-
-Plugin
- : A9 {$$ = $1.toUpperCase(); }
- | Gl {$$ = $1.toUpperCase(); }
- ;
-
GD
- : A9 EW
- { $$ = new yy.Echo({expr:$2}); }
- ;
-
-
GE
- : GE Da Ek
- { $1.push($3); $$ = $1; }
- | Ek
- { $$ = [$1]; }
- ;
-
GF
- : GF Da Plugin
- { $1.push($3); $$ = $1; }
- | Plugin
- { $$ = [$1]; }
- ;
-
-
GG
- : A0 GH
- { $$ = new yy.Declare({declares:$2}); }
- ;
-
GH
- : GI
- { $$ = [$1]; }
- | GH Da GI
- { $1.push($3); $$ = $1; }
- ;
-
GI
- : DT Gl FN
- { $$ = {variable: $2}; yy.extend($$,$3); }
- | DT Gl AW FN
- { $$ = {variable: $2}; yy.extend($$,$4); }
- | DT Gl FN DP EW
- { $$ = {variable: $2, expression:$5}; yy.extend($$,$3);}
- | DT Gl AW FN DP EW
- { $$ = {variable: $2, expression:$6}; yy.extend($$,$4);}
- ;
-
GJ
- : Cs Cf EA
- { $$ = new yy.TruncateTable({table:$3});}
- ;
-
GK
- : Bm GL GM GN GO GT
- {
- $$ = new yy.Merge(); yy.extend($$,$2); yy.extend($$,$3);
- yy.extend($$,$4);
- yy.extend($$,{matches:$5});yy.extend($$,$6);
- }
- ;
-
GL
- : D8
- { $$ = {into: $1}; }
- | Bb D8
- { $$ = {into: $2}; }
- ;
-
GM
- : Cy D8
- { $$ = {using: $2}; }
- ;
-
GN
- : By EW
- { $$ = {on:$2}; }
- ;
-
GO
- : GO GP
- { $$ = $1; $$.push($2); }
- | GO GR
- { $$ = $1; $$.push($2); }
- | GP
- { $$ = [$1]; }
- | GR
- { $$ = [$1]; }
- ;
-
GP
- : C2 Bg Cl GQ
- { $$ = {matched:true, action:$4} }
- | C2 Bg AK EW Cl GQ
- { $$ = {matched:true, expr: $4, action:$6} }
- ;
-
GQ
- : A2
- { $$ = {delete:true}; }
- | Cv CX Ex
- { $$ = {update:$3}; }
- ;
-
GR
- : C2 Bv Bg Cl GS
- { $$ = {matched:false, bytarget: true, action:$5} }
- | C2 Bv Bg Af Ch Cl GS
- { $$ = {matched:false, bytarget: true, action:$7} }
- | C2 Bv Bg AK EW Cl GS
- { $$ = {matched:false, bytarget: true, expr:$5, action:$7} }
- | C2 Bv Bg Af Ch AK EW Cl GS
- { $$ = {matched:false, bytarget: true, expr:$7, action:$9} }
- | C2 Bv Bg Af Cb Cl GS
- { $$ = {matched:false, bysource: true, action:$7} }
- | C2 Bv Bg Af Cb AK EW Cl GQ
- { $$ = {matched:false, bysource: true, expr:$7, action:$9} }
- ;
-
GS
- : BY Cz ValuesListsList
- { $$ = {insert:true, values:$3}; }
- | BY DR E2 DS Cz ValuesListsList
- { $$ = {insert:true, values:$6, columns:$3}; }
- | BY A1 Cz
- { $$ = {insert:true, defaultvalues:true}; }
- | BY DR E2 DS A1 Cz
- { $$ = {insert:true, defaultvalues:true, columns:$3}; }
- ;
-
GT
- :
- | OUTPUT ES
- { $$ = {output:{columns:$2}} }
- | OUTPUT ES Bb Fy Gl
- { $$ = {output:{columns:$2, intovar: $5, method:$4}} }
- | OUTPUT ES Bb EA
- { $$ = {output:{columns:$2, intotable: $4}} }
- | OUTPUT ES Bb EA DR E2 DS
- { $$ = {output:{columns:$2, intotable: $4, intocolumns:$6}} }
- ;
-
-/*
-CreateVertex
- : Av C0
- { $$ = new yy.CreateVertex(); }
- | Av C0 CX Ex
- { $$ = new yy.CreateVertex({set: $4}); }
- | Av C0 Gl CX Ex
- { $$ = new yy.CreateVertex({class:$3, set: $5}); }
- | Av C0 Aq Eh
- { $$ = new yy.CreateVertex({content: $4}); }
- | Av C0 Gl Aq Eh
- { $$ = new yy.CreateVertex({class:$3, content: $5}); }
- | Av C0 Gl Select
- { $$ = new yy.CreateVertex({class:$3, select:$4}); }
- | Av C0 Select
- { $$ = new yy.CreateVertex({select:$4}); }
- ;
-*/
-CreateVertex
- : Av C0 Literal? SharpValue? StringValue? GV
- {
- $$ = new yy.CreateVertex({class:$3,sharp:$4, name:$5});
- yy.extend($$,$6);
- }
- ;
-
GU
- : DA Gl
- { $$ = $2; }
- ;
-
GV
- :
- {$$ = undefined; }
- | CX Ex
- { $$ = {sets:$2}; }
- | Aq Eh
- { $$ = {content:$2}; }
- | Select
- { $$ = {select:$1}; }
- ;
-
GW
- : Av BA StringValue? BL EW Cn EW GV
- {
- $$ = new yy.CreateEdge({from:$5,to:$7,name:$3});
- yy.extend($$,$8);
- }
-/* | Av BA StringValue? BL EW Cn EW
- {
- $$ = new yy.CreateEdge({from:$5,to:$7,name:$3});
- }
-*/ ;
-
-
-/*
GW
- : Av BA Literal?
- BL EW
- Cn EW
- (SET Ex | Aq Expression)?
-
- {
- $$ = new yy.CreateEdge({class:$3, from:$5, to:$7});
- if(typeof $8 != 'undefined') {
- $$.type = $8;
- $$.expre = $9;
- }
- }
-
- ;
-*/
-
-CreateGraph
- : Av BN GX
- { $$ = new yy.CreateGraph({graph:$3}); }
- | Av BN BL EW
- { $$ = new yy.CreateGraph({from:$4}); }
- ;
-
GX
- : GX Da GY
- { $$ = $1; $$.push($3); }
- | GY
- { $$ = [$1]; }
- ;
GY
- : Gc Json? GraphAsClause?
- {
- $$ = $1;
- if($2) $$.json = new yy.Json({value:$2});
- if($3) $$.as = $3;
- }
- | (GraphElement|GraphVar) DL Gc Json? GraphAsClause? DL (GraphElement|GraphVar)
- {
- $$ = {source:$1, target: $7};
- if($4) $$.json = new yy.Json({value:$4});
- if($5) $$.as = $5;
- yy.extend($$,$3);
- ;
- }
- | Gl DR GX DS
- ;
-
GZ
- : Fy Gl
- { $$ = {vars:$2, method:$1}; }
- ;
-
Ga
- : AW Fy Gl
- { $$ = $3; }
- ;
-
Gb
- : Fy Gl
- { $$ = $2; }
- ;
-
Gc
- : Literal? SharpLiteral? STRING? ColonLiteral?
- {
- var s3 = $3;
- $$ = {prop:$1, sharp:$2, name:(typeof s3 == 'undefined')?undefined:s3.substr(1,s3.length-2), class:$4};
- }
- ;
-
Gd
- : Dc Gl
- { $$ = $2; }
- ;
-
Ge
- : DA Gl
- { $$ = $2; }
- | DA C7
- { $$ = +$2; }
- ;
-
Gf
- : A2 C0 EW (WHERE Expression)?
- ;
-
Gg
- : A2 BA EW (FROM Expression)? (TO Expression)? (WHERE Expression)?
- ;
-
Gh
- : Gg DX Gi
- { $$ = new yy.AddRule({left:$1, right:$3}); }
- | DX Gi
- { $$ = new yy.AddRule({right:$2}); }
- ;
-
Gi
- : Gi Da Gg
- { $$ = $1; $$.push($3); }
- | Gg
- { $$ = [$1]; }
- ;
-
Gg
- : Gl
- { $$ = new yy.Term({termid:$1}); }
- | Gl DR Gi DS
- { $$ = new yy.Term({termid:$1,args:$3}); }
- ;
-
Gk
- : DY Eg
- ;
-
diff --git a/utils/a.js b/utils/a.js
deleted file mode 100644
index fe3237b02b..0000000000
--- a/utils/a.js
+++ /dev/null
@@ -1,2546 +0,0 @@
-/* parser generated by jison 0.4.15 */
-/*
- Returns a Parser object of the following structure:
-
- Parser: {
- yy: {}
- }
-
- Parser.prototype: {
- yy: {},
- trace: function(),
- symbols_: {associative list: name ==> number},
- terminals_: {associative list: number ==> name},
- productions_: [...],
- performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
- table: [...],
- defaultActions: {...},
- parseError: function(str, hash),
- parse: function(input),
-
- lexer: {
- EOF: 1,
- parseError: function(str, hash),
- setInput: function(input),
- input: function(),
- unput: function(str),
- more: function(),
- less: function(n),
- pastInput: function(),
- upcomingInput: function(),
- showPosition: function(),
- test_match: function(regex_match_array, rule_index),
- next: function(),
- lex: function(),
- begin: function(condition),
- popState: function(),
- _currentRules: function(),
- topState: function(),
- pushState: function(condition),
-
- options: {
- ranges: boolean (optional: true ==> token location info will include a .range[] member)
- flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
- backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
- },
-
- performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
- rules: [...],
- conditions: {associative list: name ==> set},
- }
- }
-
-
- token location info (@$, _$, etc.): {
- first_line: n,
- last_line: n,
- first_column: n,
- last_column: n,
- range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
- }
-
-
- the parseError function receives a 'hash' object with these members for lexer and parser errors: {
- text: (matched text)
- token: (the produced terminal token, if any)
- line: (yylineno)
- }
- while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
- loc: (yylloc)
- expected: (string describing the set of expected tokens)
- recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
- }
-*/
-var parser = (function(){
-var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,10],$V1=[1,95],$V2=[1,96],$V3=[1,6],$V4=[1,38],$V5=[1,71],$V6=[1,68],$V7=[1,87],$V8=[1,86],$V9=[1,63],$Va=[1,94],$Vb=[1,78],$Vc=[1,76],$Vd=[1,60],$Ve=[1,64],$Vf=[1,58],$Vg=[1,62],$Vh=[1,56],$Vi=[1,66],$Vj=[1,57],$Vk=[1,61],$Vl=[1,75],$Vm=[1,69],$Vn=[1,77],$Vo=[1,79],$Vp=[1,80],$Vq=[1,73],$Vr=[1,74],$Vs=[1,72],$Vt=[1,81],$Vu=[1,82],$Vv=[1,83],$Vw=[1,84],$Vx=[1,85],$Vy=[1,91],$Vz=[1,59],$VA=[1,70],$VB=[1,65],$VC=[1,89],$VD=[1,90],$VE=[1,103],$VF=[1,99],$VG=[8,258,260,441],$VH=[8,258,260,262,441],$VI=[105,297,350],$VJ=[1,115],$VK=[1,119],$VL=[1,121],$VM=[1,146],$VN=[1,168],$VO=[1,158],$VP=[1,159],$VQ=[1,156],$VR=[1,162],$VS=[1,166],$VT=[1,163],$VU=[1,153],$VV=[1,155],$VW=[1,157],$VX=[1,164],$VY=[1,148],$VZ=[1,173],$V_=[1,169],$V$=[1,170],$V01=[1,174],$V11=[1,175],$V21=[1,176],$V31=[1,177],$V41=[1,178],$V51=[1,179],$V61=[1,180],$V71=[1,181],$V81=[1,182],$V91=[1,151],$Va1=[1,152],$Vb1=[1,160],$Vc1=[1,161],$Vd1=[1,167],$Ve1=[1,165],$Vf1=[1,154],$Vg1=[1,172],$Vh1=[1,183],$Vi1=[4,5],$Vj1=[1,189],$Vk1=[1,197],$Vl1=[8,71,93,104,134,139,140,152,168,200,213,258,260,262,441,462],$Vm1=[8,71,168,258,260,262,441,443,444,462],$Vn1=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$Vo1=[1,225],$Vp1=[1,231],$Vq1=[1,241],$Vr1=[1,246],$Vs1=[1,245],$Vt1=[1,251],$Vu1=[2,138],$Vv1=[1,258],$Vw1=[8,67,71,258,260,262,439,441],$Vx1=[8,71,93,104,134,136,139,140,152,154,156,165,168,200,213,258,260,262,441,442,450,462],$Vy1=[4,5,8,47,65,67,69,70,71,81,90,93,97,98,99,104,106,107,108,112,113,114,116,120,121,123,124,126,128,134,139,140,141,142,148,149,152,156,158,163,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,314,317,318,329,331,337,340,341,342,343,344,345,346,348,349,357,358,359,367,369,375,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,444,452,453,458,459,462,472,474,475],$Vz1=[4,5,8,47,65,81,99,121,128,158,227,258,260,262,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,439,440,441],$VA1=[2,439],$VB1=[1,276],$VC1=[2,772],$VD1=[1,289],$VE1=[1,287],$VF1=[1,288],$VG1=[8,71,81,121,158,258,260,262,411,441,463,464],$VH1=[8,67,258,260,262,441],$VI1=[2,496],$VJ1=[1,304],$VK1=[4,5,128],$VL1=[258,260,262,441],$VM1=[1,319],$VN1=[1,310],$VO1=[1,318],$VP1=[1,317],$VQ1=[1,324],$VR1=[1,315],$VS1=[1,316],$VT1=[1,320],$VU1=[1,322],$VV1=[1,334],$VW1=[1,331],$VX1=[1,332],$VY1=[1,312],$VZ1=[1,314],$V_1=[1,311],$V$1=[1,313],$V02=[1,321],$V12=[1,323],$V22=[1,325],$V32=[1,326],$V42=[1,327],$V52=[1,328],$V62=[1,329],$V72=[1,333],$V82=[1,335],$V92=[1,336],$Va2=[1,337],$Vb2=[1,338],$Vc2=[2,260],$Vd2=[1,347],$Ve2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,156,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,444,452,453,462,472,474,475],$Vf2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,156,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,452,453,462,472,474,475],$Vg2=[2,321],$Vh2=[1,358],$Vi2=[1,368],$Vj2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,452,453,462,472,474,475],$Vk2=[1,383],$Vl2=[1,391],$Vm2=[1,390],$Vn2=[8,67,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,453,462],$Vo2=[8,67,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$Vp2=[2,176],$Vq2=[1,410],$Vr2=[2,139],$Vs2=[1,413],$Vt2=[67,81,158],$Vu2=[8,67,71,126,156,252,258,260,262,287,300,312,313,317,318,441],$Vv2=[1,432],$Vw2=[67,71,258,260,262,441],$Vx2=[1,433],$Vy2=[1,441],$Vz2=[8,67,71,258,260,262,441],$VA2=[4,5,70,105,106,107,111,115,119,124,126,148,149,150,226,227,228,229,231,239,240,241,242,243,244,245,246,247,249,250,251,252,253,255,264,361,365],$VB2=[8,71,93,104,134,139,140,152,168,200,213,258,260,262,441,442,462],$VC2=[4,5,107,251],$VD2=[1,464],$VE2=[8,67,71,258,260,262,441,466],$VF2=[8,67,71,113,258,260,262,441,465,466,470,471],$VG2=[8,71,81,121,158,258,260,262,411,441,464],$VH2=[1,480],$VI2=[1,481],$VJ2=[136,280],$VK2=[2,391],$VL2=[1,528],$VM2=[1,547],$VN2=[4,5,47,65,67,69,71,81,90,93,99,104,106,107,113,114,120,121,126,128,134,139,140,141,142,148,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$VO2=[2,324],$VP2=[2,336],$VQ2=[1,554],$VR2=[258,260,262],$VS2=[67,369],$VT2=[67,367,369],$VU2=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$VV2=[1,561],$VW2=[67,367],$VX2=[8,67,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$VY2=[8,71,93,104,134,139,140,200,213,258,260,262,441,462],$VZ2=[8,71,258,260,262,441,462],$V_2=[4,5,8,70,71,93,104,105,106,107,111,115,119,124,126,134,139,140,148,149,150,152,168,200,213,226,227,228,229,231,239,240,241,242,243,244,245,246,247,249,250,251,252,253,255,258,260,262,264,361,365,441,442,450,462],$V$2=[1,627],$V03=[1,626],$V13=[8,67,71,113,258,260,262,441,465,466,471],$V23=[8,71,81,121,158,258,260,262,411,441],$V33=[4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,156,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V43=[8,67,71,258,260,262,439,441,472],$V53=[4,5,47,65,67,69,71,81,90,93,99,104,106,107,113,114,120,121,126,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V63=[4,5,47,65,67,69,71,81,90,93,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V73=[4,5,47,65,67,69,71,81,93,99,104,106,107,113,114,120,121,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,265,266,267,268,269,270,271,276,277,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$V83=[2,357],$V93=[4,5,47,65,67,69,71,81,93,104,106,107,120,121,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,276,277,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$Va3=[2,258],$Vb3=[1,699],$Vc3=[8,71,258,260,262,441],$Vd3=[8,71,93,104,134,139,140,152,200,213,258,260,262,441,444,462],$Ve3=[1,723],$Vf3=[4,5,8,47,65,67,71,81,99,104,121,128,158,227,258,260,262,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,439,440,441],$Vg3=[1,731],$Vh3=[1,730],$Vi3=[1,732],$Vj3=[8,67,71,93,104,134,139,140,152,168,200,213,258,260,262,441,442,462],$Vk3=[1,741],$Vl3=[2,513],$Vm3=[1,755],$Vn3=[113,466],$Vo3=[8,67,71,113,258,260,262,441,465,466],$Vp3=[2,652],$Vq3=[1,769],$Vr3=[1,770],$Vs3=[2,299],$Vt3=[1,793],$Vu3=[1,804],$Vv3=[4,5,8,47,65,67,71,81,99,121,128,158,227,258,260,262,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,439,440,441],$Vw3=[1,807],$Vx3=[8,67,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,200,213,258,260,262,441,462],$Vy3=[8,71,93,134,139,140,213,258,260,262,441,462],$Vz3=[1,815],$VA3=[1,829],$VB3=[1,819],$VC3=[1,820],$VD3=[1,822],$VE3=[1,823],$VF3=[1,824],$VG3=[1,825],$VH3=[1,826],$VI3=[1,827],$VJ3=[1,828],$VK3=[97,99],$VL3=[67,258,260,262,441],$VM3=[67,71],$VN3=[1,881],$VO3=[8,71,134,139,140,213,258,260,262,441,462],$VP3=[8,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,200,213,258,260,262,441,462],$VQ3=[1,917],$VR3=[1,919],$VS3=[4,5,70,115,119,124,150,249,250,255,361,365],$VT3=[1,951],$VU3=[1,953],$VV3=[1,950],$VW3=[1,949],$VX3=[1,948],$VY3=[1,954],$VZ3=[1,945],$V_3=[1,946],$V$3=[1,947],$V04=[1,958],$V14=[8,67,71,134,139,140,213,258,260,262,441,462],$V24=[1,975],$V34=[8,71,134,139,140,258,260,262,441,462],$V44=[1,986],$V54=[1,987],$V64=[1,988],$V74=[8,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$V84=[8,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,453,462],$V94=[1,1034],$Va4=[1,1033],$Vb4=[1,1035],$Vc4=[156,163,312,313,314,317],$Vd4=[2,451],$Ve4=[1,1040],$Vf4=[1,1060],$Vg4=[8,67,71,93,134,139,140,207,213,258,260,262,441,462],$Vh4=[8,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],$Vi4=[4,8,258,260,262,287,300,441],$Vj4=[1,1176],$Vk4=[1,1182],$Vl4=[67,71,197];
-var parser = {trace: function trace() { },
-yy: {},
-symbols_: {"error":2,"Gl":3,"A7":4,"AD":5,"main":6,"Dl":7,"Dg":8,"Dl_group0":9,"Dn":10,"Dm":11,"BG":12,"CE":13,"CA":14,"Do":15,"AlterTable":16,"AttachDatabase":17,"FW":18,"CreateIndex":19,"CreateGraph":20,"CreateTable":21,"Ff":22,"GW":23,"CreateVertex":24,"GG":25,"Delete":26,"FV":27,"FZ":28,"Fa":29,"DropTable":30,"Fh":31,"If":32,"Insert":33,"GK":34,"FU":35,"Select":36,"Fe":37,"Fc":38,"ShowDatabases":39,"Fd":40,"Fb":41,"GJ":42,"WithSelect":43,"F4":44,"F2":45,"F3":46,"EndTransaction":47,"FY":48,"Update":49,"Help":50,"EX":51,"Fn":52,"Fo":53,"F7":54,"F8":55,"F9":56,"GA":57,"GB":58,"GC":59,"Fx":60,"Fm":61,"Gh":62,"Gk":63,"GD":64,"C5":65,"Dp":66,"Da":67,"Dq":68,"AW":69,"DR":70,"DS":71,"SelectClause":72,"Select_option0":73,"D4":74,"D5":75,"EH":76,"EI":77,"EN":78,"EQ":79,"EM":80,"CU":81,"Select_repetition0":82,"Select_option1":83,"Dr":84,"CK":85,"Dr_option0":86,"Ds":87,"Dt":88,"EV":89,"Bh":90,"Ek":91,"Du":92,"B4":93,"Af":94,"EO":95,"Du_option0":96,"C9":97,"Dh":98,"DP":99,"EW":100,"Du_repetition_plus0":101,"Du_repetition_plus1":102,"Du_option1":103,"C3":104,"Ag":105,"C7":106,"AH":107,"DE":108,"C0":109,"BA":110,"DA":111,"DF":112,"DL":113,"DO":114,"De":115,"DZ":116,"DOT":117,"Fp":118,"DT":119,"Cn":120,"CX":121,"Ex":122,"Cz":123,"Dc":124,"Dw":125,"Bv":126,"Du_repetition2":127,"BS":128,"Du_repetition3":129,"Ef":130,"Du_repetition4":131,"Du_group0":132,"Du_repetition5":133,"Ct":134,"Dv":135,"AP":136,"Du_repetition6":137,"Du_repetition7":138,"Ba":139,"BE":140,"AK":141,"AJ":142,"B7":143,"CO":144,"ES":145,"Dv_repetition0":146,"Dv_repetition1":147,"DB":148,"DD":149,"Df":150,"Dx":151,"BL":152,"D2":153,"A6":154,"D3":155,"Cu":156,"SelectClause_option0":157,"CV":158,"CS":159,"Am":160,"Bk":161,"Ck":162,"BW":163,"CG":164,"Co":165,"Ei":166,"D3_option0":167,"Bb":168,"EA":169,"Eg":170,"Eo":171,"Em":172,"D7":173,"EB":174,"D6":175,"Aw":176,"AU":177,"B5":178,"D8":179,"D8_option0":180,"D8_option1":181,"D9":182,"EC":183,"EE":184,"ED":185,"EG":186,"ED_option0":187,"ED_option1":188,"EF":189,"Bq":190,"Bc":191,"BX":192,"Bg":193,"CP":194,"FULL":195,"CW":196,"By":197,"Cy":198,"E2":199,"BO":200,"EJ":201,"EL":202,"EK":203,"BP":204,"CR":205,"Ax":206,"BQ":207,"At":208,"EP":209,"AY":210,"Al":211,"Bt":212,"Bi":213,"ER":214,"B0":215,"ET":216,"EU":217,"Eb":218,"Et":219,"El":220,"En":221,"Ep":222,"EZ":223,"EY":224,"EW_group0":225,"CURRENT_TIMESTAMP":226,"AA":227,"Bs":228,"Ah":229,"FN":230,"As":231,"Ea":232,"Eh":233,"Ec":234,"B6":235,"Ed":236,"Ee":237,"B8":238,"Ce":239,"Au":240,"Bn":241,"Bl":242,"Ab":243,"BJ":244,"Be":245,"AO":246,"AV":247,"Eg_option0":248,"Cr":249,"BH":250,"AF":251,"Bw":252,"BF":253,"Eo_group0":254,"AB":255,"Eq":256,"Es":257,"BB":258,"Er":259,"C2":260,"Cl":261,"BD":262,"NOT_LIKE":263,"DC":264,"DK":265,"DM":266,"DJ":267,"DH":268,"DN":269,"DI":270,"DG":271,"Ev":272,"Ew":273,"BV":274,"Eu":275,"Ad":276,"NOT_BETWEEN":277,"BU":278,"Db":279,"Ca":280,"Cv":281,"Ey":282,"A2":283,"BY":284,"Ez":285,"ValuesListsList":286,"A1":287,"E0":288,"E1":289,"DateValue":290,"Av":291,"E6":292,"E3":293,"E7":294,"E8":295,"E4":296,"Cf":297,"E5":298,"CreateTableOption":299,"Aa":300,"Ci":301,"ColumnDefsList":302,"E9":303,"FA":304,"FB":305,"FD":306,"FE":307,"FJ":308,"FK":309,"FC":310,"Ap":311,"Ai":312,"CB":313,"Bd":314,"FD_option0":315,"FL":316,"BK":317,"CI":318,"FE_option0":319,"FG":320,"FF":321,"FH":322,"FI":323,"Bu":324,"AM":325,"FJ_option0":326,"FM":327,"FP":328,"ColumnConstraints":329,"FO":330,"BC":331,"FQ":332,"FS":333,"FR":334,"FS_option0":335,"FS_option1":336,"A8":337,"DropTable_group0":338,"FT":339,"AQ":340,"CL":341,"AN":342,"Bp":343,"AZ":344,"Az":345,"A5":346,"FX":347,"Cw":348,"CZ":349,"C1":350,"Ff_option0":351,"Ff_option1":352,"Fg":353,"CF":354,"Bz":355,"B2":356,"BR":357,"Cb":358,"AX":359,"Fs":360,"AC":361,"Ft":362,"Fq":363,"Fr":364,"DU":365,"Fu":366,"DV":367,"Fw":368,"DW":369,"Fv":370,"F1":371,"Fy":372,"Fz":373,"F0":374,"Bx":375,"Ao":376,"Cp":377,"CQ":378,"Ac":379,"F6":380,"C4":381,"Ar":382,"Ae":383,"CC":384,"CM":385,"GE":386,"GF":387,"Plugin":388,"A9":389,"A0":390,"GH":391,"GI":392,"Cs":393,"Bm":394,"GL":395,"GM":396,"GN":397,"GO":398,"GT":399,"GP":400,"GR":401,"GQ":402,"GS":403,"Ch":404,"OUTPUT":405,"CreateVertex_option0":406,"CreateVertex_option1":407,"CreateVertex_option2":408,"GV":409,"GU":410,"Aq":411,"GW_option0":412,"BN":413,"GX":414,"GY":415,"Gc":416,"GY_option0":417,"GY_option1":418,"GY_group0":419,"GY_option2":420,"GY_option3":421,"GY_group1":422,"GZ":423,"Ga":424,"Gb":425,"Gc_option0":426,"Gc_option1":427,"Gc_option2":428,"Gc_option3":429,"Gd":430,"Ge":431,"Gf":432,"Gf_option0":433,"Gg":434,"Gg_option0":435,"Gg_option1":436,"Gg_option2":437,"Gi":438,"DX":439,"DY":440,"SEMICOLON":441,"RemoveClause":442,"SearchSelector":443,"SearchFrom":444,"COLUMN":445,"DIRECTION":446,"ExprList":447,"DISTINCT":448,"UNIQUE":449,"ResultColumns":450,"PERCENT":451,"AS":452,"Literal":453,"CreateEdge":454,"Eg_option0_group0":455,"ALL":456,"NUMBER":457,"ParColsList":458,"ParLiteral":459,"TABLE":460,"CLASS":461,"SubqueryRestriction":462,"SharpValue":463,"StringValue":464,"Json":465,"GraphAsClause":466,"GraphElement":467,"GraphVar":468,"SharpLiteral":469,"STRING":470,"ColonLiteral":471,"WHERE":472,"Expression":473,"FROM":474,"TO":475,"$accept":0,"$end":1},
-terminals_: {2:"error",4:"A7",5:"AD",8:"Dg",12:"BG",13:"CE",14:"CA",47:"EndTransaction",65:"C5",67:"Da",69:"AW",70:"DR",71:"DS",81:"CU",85:"CK",90:"Bh",93:"B4",94:"Af",97:"C9",98:"Dh",99:"DP",104:"C3",105:"Ag",106:"C7",107:"AH",108:"DE",109:"C0",110:"BA",111:"DA",112:"DF",113:"DL",114:"DO",115:"De",116:"DZ",117:"DOT",119:"DT",120:"Cn",121:"CX",123:"Cz",124:"Dc",126:"Bv",128:"BS",134:"Ct",136:"AP",139:"Ba",140:"BE",141:"AK",142:"AJ",143:"B7",144:"CO",148:"DB",149:"DD",150:"Df",152:"BL",154:"A6",156:"Cu",158:"CV",159:"CS",160:"Am",161:"Bk",162:"Ck",163:"BW",164:"CG",165:"Co",168:"Bb",176:"Aw",177:"AU",178:"B5",190:"Bq",191:"Bc",192:"BX",193:"Bg",194:"CP",195:"FULL",196:"CW",197:"By",198:"Cy",200:"BO",204:"BP",205:"CR",206:"Ax",207:"BQ",208:"At",210:"AY",211:"Al",212:"Bt",213:"Bi",215:"B0",226:"CURRENT_TIMESTAMP",227:"AA",228:"Bs",229:"Ah",231:"As",235:"B6",238:"B8",239:"Ce",240:"Au",241:"Bn",242:"Bl",243:"Ab",244:"BJ",245:"Be",246:"AO",247:"AV",249:"Cr",250:"BH",251:"AF",252:"Bw",253:"BF",255:"AB",258:"BB",260:"C2",261:"Cl",262:"BD",263:"NOT_LIKE",264:"DC",265:"DK",266:"DM",267:"DJ",268:"DH",269:"DN",270:"DI",271:"DG",274:"BV",276:"Ad",277:"NOT_BETWEEN",278:"BU",279:"Db",280:"Ca",281:"Cv",283:"A2",284:"BY",287:"A1",290:"DateValue",291:"Av",297:"Cf",300:"Aa",301:"Ci",311:"Ap",312:"Ai",313:"CB",314:"Bd",317:"BK",318:"CI",324:"Bu",325:"AM",329:"ColumnConstraints",331:"BC",337:"A8",340:"AQ",341:"CL",342:"AN",343:"Bp",344:"AZ",345:"Az",346:"A5",348:"Cw",349:"CZ",350:"C1",354:"CF",355:"Bz",356:"B2",357:"BR",358:"Cb",359:"AX",361:"AC",365:"DU",367:"DV",369:"DW",375:"Bx",376:"Ao",377:"Cp",378:"CQ",379:"Ac",381:"C4",382:"Ar",383:"Ae",384:"CC",385:"CM",389:"A9",390:"A0",393:"Cs",394:"Bm",404:"Ch",405:"OUTPUT",411:"Aq",413:"BN",439:"DX",440:"DY",441:"SEMICOLON",442:"RemoveClause",443:"SearchSelector",444:"SearchFrom",445:"COLUMN",446:"DIRECTION",447:"ExprList",448:"DISTINCT",449:"UNIQUE",450:"ResultColumns",451:"PERCENT",452:"AS",453:"Literal",454:"CreateEdge",456:"ALL",457:"NUMBER",458:"ParColsList",459:"ParLiteral",460:"TABLE",461:"CLASS",462:"SubqueryRestriction",463:"SharpValue",464:"StringValue",465:"Json",466:"GraphAsClause",467:"GraphElement",468:"GraphVar",469:"SharpLiteral",470:"STRING",471:"ColonLiteral",472:"WHERE",473:"Expression",474:"FROM",475:"TO"},
-productions_: [0,[3,1],[3,1],[6,2],[7,3],[7,1],[7,1],[11,2],[11,4],[10,1],[15,0],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[43,3],[66,3],[66,1],[68,5],[36,9],[36,4],[84,3],[87,3],[87,1],[88,1],[88,2],[92,1],[92,5],[92,5],[92,2],[92,1],[92,2],[92,2],[92,3],[92,4],[92,4],[92,4],[92,4],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,2],[92,2],[92,2],[92,1],[92,1],[92,1],[92,2],[92,1],[92,2],[92,3],[92,3],[92,4],[92,1],[92,2],[92,2],[92,4],[92,4],[92,4],[92,4],[92,4],[92,5],[92,4],[92,4],[92,4],[92,4],[92,4],[92,4],[92,4],[92,4],[135,3],[135,1],[125,1],[125,1],[125,1],[151,2],[72,4],[72,4],[72,4],[72,3],[153,1],[153,2],[153,2],[153,2],[153,2],[153,2],[153,2],[153,2],[155,3],[155,4],[155,0],[74,0],[74,2],[74,2],[74,2],[74,2],[74,2],[75,2],[75,3],[75,5],[75,0],[175,6],[175,7],[175,6],[175,7],[173,1],[173,3],[179,4],[179,5],[179,3],[179,3],[179,2],[179,3],[179,1],[179,2],[179,3],[179,1],[179,1],[179,2],[179,3],[179,1],[179,2],[179,3],[179,1],[179,2],[179,3],[182,1],[169,3],[169,1],[174,2],[174,2],[174,1],[174,1],[183,3],[185,1],[185,2],[185,3],[185,3],[185,2],[185,3],[185,4],[185,5],[185,1],[185,2],[185,3],[185,1],[185,2],[185,3],[184,1],[184,2],[189,1],[189,2],[189,2],[189,3],[189,2],[189,3],[189,2],[189,3],[189,2],[189,2],[189,2],[186,2],[186,2],[186,0],[76,0],[76,2],[77,0],[77,4],[201,1],[201,3],[203,5],[203,4],[203,4],[203,1],[202,0],[202,2],[80,0],[80,2],[80,3],[80,2],[80,2],[80,3],[80,4],[80,3],[80,3],[78,0],[78,3],[95,1],[95,3],[209,1],[209,2],[209,3],[209,4],[79,0],[79,3],[214,0],[214,2],[145,3],[145,1],[216,3],[216,2],[216,3],[216,2],[216,3],[216,2],[216,1],[217,5],[217,3],[217,1],[89,5],[89,3],[89,3],[89,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,1],[100,3],[100,3],[100,3],[100,1],[100,1],[51,1],[224,2],[224,2],[223,6],[223,8],[223,6],[223,8],[232,1],[232,1],[232,1],[232,1],[232,1],[232,1],[232,1],[218,5],[218,6],[218,6],[234,0],[234,4],[234,4],[234,5],[236,3],[237,3],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[130,1],[170,5],[170,3],[170,1],[170,1],[233,1],[233,3],[166,1],[91,1],[91,1],[220,1],[172,2],[221,4],[171,2],[171,2],[171,1],[171,1],[222,5],[222,4],[256,2],[256,1],[259,4],[257,2],[257,0],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,5],[219,3],[219,3],[219,3],[219,5],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,3],[219,6],[219,6],[219,3],[219,3],[219,2],[219,2],[219,2],[219,2],[219,3],[219,5],[219,6],[219,5],[219,6],[219,4],[219,5],[219,3],[219,4],[219,3],[219,3],[219,3],[219,3],[275,1],[275,1],[275,4],[272,1],[272,1],[272,1],[272,1],[272,1],[272,1],[273,1],[273,1],[273,1],[49,6],[49,4],[122,1],[122,3],[282,3],[26,5],[26,3],[33,5],[33,5],[33,8],[33,4],[33,7],[285,0],[285,1],[286,3],[286,1],[286,1],[286,5],[286,3],[286,3],[288,1],[288,3],[289,1],[289,1],[289,1],[289,1],[289,1],[289,1],[199,1],[199,3],[21,9],[21,5],[293,1],[293,1],[296,0],[296,1],[298,2],[298,1],[299,1],[299,3],[299,3],[292,0],[292,1],[294,0],[294,3],[295,3],[295,1],[295,2],[303,1],[303,3],[304,2],[304,2],[304,2],[304,2],[304,2],[305,0],[305,2],[310,4],[306,6],[307,9],[321,3],[320,0],[320,2],[322,4],[323,4],[308,5],[309,5],[309,5],[316,1],[316,1],[316,3],[316,3],[302,1],[302,3],[327,3],[327,2],[327,1],[230,6],[230,4],[230,1],[230,4],[330,1],[330,1],[328,0],[328,1],[332,2],[332,1],[334,3],[333,2],[333,5],[333,3],[333,6],[333,1],[333,2],[333,4],[333,1],[333,2],[333,1],[333,1],[30,4],[339,0],[339,2],[16,6],[16,6],[16,6],[16,8],[16,6],[35,5],[17,4],[17,7],[17,6],[17,9],[27,3],[18,4],[18,6],[18,9],[18,6],[347,0],[347,2],[48,3],[48,2],[28,4],[28,5],[28,5],[19,8],[19,9],[29,3],[39,2],[39,4],[39,3],[39,5],[41,2],[41,4],[41,4],[41,6],[38,4],[38,6],[40,4],[40,6],[37,4],[37,6],[22,11],[22,8],[353,3],[353,3],[353,5],[31,4],[50,2],[50,1],[61,2],[52,2],[53,2],[53,2],[53,4],[118,4],[118,2],[118,2],[118,2],[118,2],[118,1],[118,2],[118,2],[363,1],[363,1],[364,1],[364,1],[364,1],[364,1],[364,1],[364,1],[364,1],[364,3],[360,3],[360,4],[360,2],[362,2],[362,3],[362,1],[366,3],[366,1],[370,3],[370,3],[370,3],[368,3],[368,1],[60,3],[60,5],[60,6],[372,1],[372,1],[373,3],[373,2],[374,1],[374,1],[374,3],[371,1],[371,1],[45,2],[46,2],[44,2],[32,4],[32,3],[380,2],[54,3],[55,1],[56,1],[57,3],[58,2],[58,2],[59,2],[59,2],[388,1],[388,1],[64,2],[386,3],[386,1],[387,3],[387,1],[25,2],[391,1],[391,3],[392,3],[392,4],[392,5],[392,6],[42,3],[34,6],[395,1],[395,2],[396,2],[397,2],[398,2],[398,2],[398,1],[398,1],[400,4],[400,6],[402,1],[402,3],[401,5],[401,7],[401,7],[401,9],[401,7],[401,9],[403,3],[403,6],[403,3],[403,6],[399,0],[399,2],[399,5],[399,4],[399,7],[24,6],[410,2],[409,0],[409,2],[409,2],[409,1],[23,8],[20,3],[20,4],[414,3],[414,1],[415,3],[415,7],[415,4],[423,2],[424,3],[425,2],[416,4],[430,2],[431,2],[431,2],[432,4],[434,6],[434,1],[434,4],[62,3],[62,2],[438,3],[438,1],[63,2],[9,1],[9,1],[73,0],[73,1],[82,0],[82,2],[83,0],[83,1],[86,0],[86,1],[96,0],[96,1],[101,1],[101,2],[102,1],[102,2],[103,0],[103,1],[127,0],[127,2],[129,0],[129,2],[131,0],[131,2],[132,1],[132,1],[133,0],[133,2],[137,0],[137,2],[138,0],[138,2],[146,0],[146,2],[147,0],[147,2],[157,0],[157,1],[167,0],[167,1],[180,0],[180,1],[181,0],[181,1],[187,0],[187,1],[188,0],[188,1],[225,1],[225,1],[455,1],[455,1],[248,0],[248,1],[254,1],[254,1],[315,0],[315,1],[319,0],[319,1],[326,0],[326,1],[335,0],[335,1],[336,0],[336,1],[338,1],[338,1],[351,0],[351,1],[352,0],[352,1],[406,0],[406,1],[407,0],[407,1],[408,0],[408,1],[412,0],[412,1],[417,0],[417,1],[418,0],[418,1],[419,1],[419,1],[420,0],[420,1],[421,0],[421,1],[422,1],[422,1],[426,0],[426,1],[427,0],[427,1],[428,0],[428,1],[429,0],[429,1],[433,0],[433,2],[435,0],[435,2],[436,0],[436,2],[437,0],[437,2]],
-performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
-/* this == yyval */
-
-var $0 = $$.length - 1;
-switch (yystate) {
-case 1:
-
- if (yy.casesensitive) this.$ = $$[$0];
- else this.$ = $$[$0].toLowerCase();
-
-break;
-case 2:
- this.$ = doubleq($$[$0].substr(1,$$[$0].length-2));
-break;
-case 3:
- return new yy.Statements({statements:$$[$0-1]});
-break;
-case 4:
- this.$ = $$[$0-2]; if($$[$0]) $$[$0-2].push($$[$0]);
-break;
-case 5: case 6: case 62: case 68: case 119: case 153: case 179: case 180: case 216: case 235: case 246: case 318: case 333: case 398: case 411: case 412: case 416: case 424: case 464: case 465: case 580: case 587: case 611: case 613: case 615: case 629: case 630: case 660: case 678:
- this.$ = [$$[$0]];
-break;
-case 7:
- this.$ = $$[$0]; $$[$0].explain = true;
-break;
-case 8:
- this.$ = $$[$0]; $$[$0].explain = true;
-break;
-case 9:
-
- this.$ = $$[$0];
-
- // TODO combine exists and queries
- if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
-
-break;
-case 10: case 128: case 138: case 148: case 211: case 212: case 214: case 222: case 224: case 233: case 241: case 243: case 336: case 428: case 437: case 439: case 451: case 457: case 458: case 496:
- this.$ = undefined;
-break;
-case 60:
- this.$ = new yy.WithSelect({withs: $$[$0-1], select:$$[$0]});
-break;
-case 61:
- $$[$0-2].push($$[$0]); this.$=$$[$0-2];
-break;
-case 63:
- this.$ = {name:$$[$0-4], select:$$[$0-1]};
-break;
-case 64:
-
- yy.extend(this.$,$$[$0-8]); yy.extend(this.$,$$[$0-7]); yy.extend(this.$,$$[$0-6]); yy.extend(this.$,$$[$0-5]);
- yy.extend(this.$,$$[$0-4]); yy.extend(this.$,$$[$0-3]);yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
- this.$ = $$[$0-8];
-/* if(yy.exists) this.$.exists = yy.exists;
- delete yy.exists;
- if(yy.queries) this.$.queries = yy.queries;
- delete yy.queries;
-*/
-break;
-case 65:
-
- this.$ = new yy.Search({selectors:$$[$0-2], from:$$[$0]});
- yy.extend(this.$,$$[$0-1]);
-
-break;
-case 66:
- this.$ = {removecolumns:$$[$0]};
-break;
-case 67: case 659: case 677:
- this.$ = $$[$0-2]; this.$.push($$[$0]);
-break;
-case 69: case 123: case 161: case 221: case 253: case 261: case 262: case 263: case 264: case 265: case 266: case 267: case 268: case 269: case 270: case 271: case 272: case 273: case 274: case 276: case 289: case 290: case 291: case 292: case 293: case 294: case 335: case 387: case 388: case 389: case 390: case 391: case 392: case 452: case 480: case 482: case 554: case 555: case 556: case 557: case 558: case 559: case 563: case 565: case 566: case 575: case 588: case 589: case 651: case 665: case 666: case 668: case 669:
- this.$ = $$[$0];
-break;
-case 70:
- this.$ = {like:$$[$0]};
-break;
-case 71: case 83:
- this.$ = {srchid:"PROP", args: [$$[$0]]};
-break;
-case 72:
- this.$ = {srchid:"ORDERBY", args: $$[$0-1]};
-break;
-case 73:
-
- var dir = $$[$0-1];
- if(!dir) dir = 'ASC';
- this.$ = {srchid:"ORDERBY", args: [{expression: new yy.Column({columnid:'_'}), direction:dir}]};
-
-break;
-case 74:
- this.$ = {srchid:"APROP", args: [$$[$0]]};
-break;
-case 75:
- this.$ = {selid:"ROOT"};
-break;
-case 76:
- this.$ = {srchid:"EQ", args: [$$[$0]]};
-break;
-case 77:
- this.$ = {srchid:"LIKE", args: [$$[$0]]};
-break;
-case 78: case 79:
- this.$ = {selid:"WITH", args: $$[$0-1]};
-break;
-case 80:
- this.$ = {srchid:$$[$0-3].toUpperCase(), args:$$[$0-1]};
-break;
-case 81:
- this.$ = {srchid:"WHERE", args:[$$[$0-1]]};
-break;
-case 82:
- this.$ = {srchid:"CLASS", args:[$$[$0-1]]};
-break;
-case 84:
- this.$ = {srchid:"NAME", args: [$$[$0].substr(1,$$[$0].length-2)]};
-break;
-case 85:
- this.$ = {srchid:"CHILD"};
-break;
-case 86:
- this.$ = {srchid:"VERTEX"};
-break;
-case 87:
- this.$ = {srchid:"EDGE"};
-break;
-case 88:
- this.$ = {srchid:"REF"};
-break;
-case 89:
- this.$ = {srchid:"SHARP", args:[$$[$0]]};
-break;
-case 90:
- this.$ = {srchid:"ATTR", args:((typeof $$[$0] == 'undefined')?undefined:[$$[$0]])};
-break;
-case 91:
- this.$ = {srchid:"ATTR"};
-break;
-case 92:
- this.$ = {srchid:"OUT"};
-break;
-case 93:
- this.$ = {srchid:"IN"};
-break;
-case 94:
- this.$ = {srchid:"CONTENT"};
-break;
-case 95:
- this.$ = {srchid:"PARENT"};
-break;
-case 96:
- this.$ = {srchid:"EX",args:[new yy.Json({value:$$[$0]})]};
-break;
-case 97:
- this.$ = {srchid:"AT", args:[$$[$0]]};
-break;
-case 98:
- this.$ = {srchid:"AS", args:[$$[$0]]};
-break;
-case 99:
- this.$ = {srchid:"TO", args:[$$[$0]]};
-break;
-case 100:
- this.$ = {srchid:"SET", args:$$[$0-1]};
-break;
-case 101:
- this.$ = {srchid:"VALUE"};
-break;
-case 102:
- this.$ = {srchid:"CLASS", args:[$$[$0]]};
-break;
-case 103:
- this.$ = {selid:$$[$0],args:[$$[$0-1]] };
-break;
-case 104:
- this.$ = {selid:"NOT",args:$$[$0-1] };
-break;
-case 105:
- this.$ = {selid:"IF",args:$$[$0-1] };
-break;
-case 106:
- this.$ = {selid:$$[$0-3],args:$$[$0-1] };
-break;
-case 107:
- this.$ = {selid:'DISTINCT',args:$$[$0-1] };
-break;
-case 108:
- this.$ = {selid:'UNION',args:$$[$0-1] };
-break;
-case 109:
- this.$ = {selid:'UNIONALL',args:$$[$0-1] };
-break;
-case 110:
- this.$ = {selid:'ALL',args:[$$[$0-1]] };
-break;
-case 111:
- this.$ = {selid:'ANY',args:[$$[$0-1]] };
-break;
-case 112:
- this.$ = {selid:'INTERSECT',args:$$[$0-1] };
-break;
-case 113:
- this.$ = {selid:'EXCEPT',args:$$[$0-1] };
-break;
-case 114:
- this.$ = {selid:'AND',args:$$[$0-1] };
-break;
-case 115:
- this.$ = {selid:'OR',args:$$[$0-1] };
-break;
-case 116:
- this.$ = {selid:'PATH',args:[$$[$0-1]] };
-break;
-case 117:
- this.$ = {srchid:'RETURNS',args:$$[$0-1] };
-break;
-case 118:
- this.$ = $$[$0-2]; this.$.push($$[$0]);
-break;
-case 120:
- this.$ = "PLUS";
-break;
-case 121:
- this.$ = "STAR";
-break;
-case 122:
- this.$ = "QUESTION";
-break;
-case 124:
- this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy,extend(this.$, $$[$0-3]); yy.extend(this.$, $$[$0-1]);
-break;
-case 125:
- this.$ = new yy.Select({ columns:$$[$0], distinct: true }); yy,extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]);
-break;
-case 126:
- this.$ = new yy.Select({ columns:$$[$0], all:true }); yy,extend(this.$, $$[$0-3]);yy.extend(this.$, $$[$0-1]);
-break;
-case 127:
-
- if(!$$[$0]) {
- this.$ = new yy.Select({columns:[new yy.Column({columnid:'_',})], modifier:'COLUMN'});
- } else {
- this.$ = new yy.Select({ columns:$$[$0] }); yy,extend(this.$, $$[$0-2]);yy.extend(this.$, $$[$0-1]);
- }
-
-break;
-case 129:
- this.$ = {modifier:'VALUE'}
-break;
-case 130:
- this.$ = {modifier:'ROW'}
-break;
-case 131:
- this.$ = {modifier:'COLUMN'}
-break;
-case 132:
- this.$ = {modifier:'MATRIX'}
-break;
-case 133:
- this.$ = {modifier:'TEXTSTRING'}
-break;
-case 134:
- this.$ = {modifier:'INDEX'}
-break;
-case 135:
- this.$ = {modifier:'RECORDSET'}
-break;
-case 136:
- this.$ = {top: $$[$0-1], percent:(typeof $$[$0] != 'undefined'?true:undefined)};
-break;
-case 137:
- this.$ = {top: $$[$0-1]};
-break;
-case 139: case 299: case 459: case 460: case 652:
-this.$ = undefined;
-break;
-case 140: case 141: case 142: case 143:
-this.$ = {into: $$[$0]}
-break;
-case 144:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- if(s[0] == '#') {
- this.$ = {into: new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- this.$ = {into: new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- } else if(x4=='XLSX' || x4 == 'JSON') {
- this.$ = {into: new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]})};
- }
-
-break;
-case 145:
- this.$ = { from: $$[$0] };
-break;
-case 146:
- this.$ = { from: $$[$0-1], joins: $$[$0] };
-break;
-case 147:
- this.$ = { from: $$[$0-2], joins: $$[$0-1] };
-break;
-case 149:
- this.$ = new yy.Apply({select: $$[$0-2], applymode:'CROSS', as:$$[$0]});
-break;
-case 150:
- this.$ = new yy.Apply({select: $$[$0-3], applymode:'CROSS', as:$$[$0]});
-break;
-case 151:
- this.$ = new yy.Apply({select: $$[$0-2], applymode:'OUTER', as:$$[$0]});
-break;
-case 152:
- this.$ = new yy.Apply({select: $$[$0-3], applymode:'OUTER', as:$$[$0]});
-break;
-case 154: case 217: case 399: case 466: case 467:
- this.$ = $$[$0-2]; $$[$0-2].push($$[$0]);
-break;
-case 155:
- this.$ = $$[$0-2]; this.$.as = $$[$0]
-break;
-case 156:
- this.$ = $$[$0-3]; this.$.as = $$[$0]
-break;
-case 157:
- this.$ = $$[$0-1]; this.$.as = 'default'
-break;
-case 158:
- this.$ = new yy.Json({value:$$[$0-2]}); $$[$0-2].as = $$[$0]
-break;
-case 159:
- this.$ = $$[$0-1]; $$[$0-1].as = $$[$0]
-break;
-case 160:
- this.$ = $$[$0-2]; $$[$0-2].as = $$[$0]
-break;
-case 162: case 166: case 169: case 172:
- this.$ = $$[$0-1]; $$[$0-1].as = $$[$0];
-break;
-case 163: case 167: case 170: case 173:
- this.$ = $$[$0-2]; $$[$0-2].as = $$[$0];
-break;
-case 164: case 165: case 168: case 171:
- this.$ = $$[$0]; $$[$0].as = 'default';
-break;
-case 174:
-
- var s = $$[$0];
- s = s.substr(1,s.length-2);
- var x3 = s.substr(-3).toUpperCase();
- var x4 = s.substr(-4).toUpperCase();
- var r;
- if(s[0] == '#') {
- r = new yy.FuncValue({funcid: 'HTML', args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x3=='XLS' || x3 == 'CSV' || x3=='TAB') {
- r = new yy.FuncValue({funcid: x3, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else if(x4=='XLSX' || x4 == 'JSON') {
- r = new yy.FuncValue({funcid: x4, args:[new yy.StringValue({value: s}), new yy.Json({value:{headers:true}})]});
- } else {
- throw new Error('Unknown string in BL clause');
- };
- this.$ = r;
-
-break;
-case 175:
-
- if($$[$0-2] == 'INFORMATION_SCHEMA') {
- this.$ = new yy.FuncValue({funcid: $$[$0-2], args:[new yy.StringValue({value:$$[$0]})]});
- } else {
- this.$ = new yy.Table({databaseid: $$[$0-2], tableid:$$[$0]});
- }
-
-break;
-case 176:
- this.$ = new yy.Table({tableid: $$[$0]});
-break;
-case 177: case 178:
- this.$ = $$[$0-1]; $$[$0-1].push($$[$0]);
-break;
-case 181:
- this.$ = new yy.Join($$[$0-2]); yy.extend(this.$, $$[$0-1]); yy.extend(this.$, $$[$0]);
-break;
-case 182:
- this.$ = {table: $$[$0]};
-break;
-case 183:
- this.$ = {table: $$[$0-1], as: $$[$0] } ;
-break;
-case 184:
- this.$ = {table: $$[$0-2], as: $$[$0] } ;
-break;
-case 185:
- this.$ = {json:new yy.Json({value:$$[$0-2],as:$$[$0]})};
-break;
-case 186:
- this.$ = {param: $$[$0-1], as: $$[$0] } ;
-break;
-case 187:
- this.$ = {param: $$[$0-2], as: $$[$0] } ;
-break;
-case 188:
- this.$ = {select: $$[$0-3], as: $$[$0]} ;
-break;
-case 189:
- this.$ = {select: $$[$0-4], as: $$[$0] } ;
-break;
-case 190:
- this.$ = {funcid:$$[$0], as:'default'};
-break;
-case 191:
- this.$ = {funcid:$$[$0-1], as: $$[$0]};
-break;
-case 192:
- this.$ = {funcid:$$[$0-2], as: $$[$0]};
-break;
-case 193:
- this.$ = {variable:$$[$0],as:'default'};
-break;
-case 194:
- this.$ = {variable:$$[$0-1],as:$$[$0]};
-break;
-case 195:
- this.$ = {variable:$$[$0-2],as:$$[$0]}
-break;
-case 196:
- this.$ = { joinmode: $$[$0] } ;
-break;
-case 197:
- this.$ = {joinmode: $$[$0-1], natural:true} ;
-break;
-case 198: case 199:
- this.$ = "INNER";
-break;
-case 200: case 201:
- this.$ = "LEFT";
-break;
-case 202: case 203:
- this.$ = "RIGHT";
-break;
-case 204: case 205:
- this.$ = "OUTER";
-break;
-case 206:
- this.$ = "SEMI";
-break;
-case 207:
- this.$ = "ANTI";
-break;
-case 208:
- this.$ = "CROSS";
-break;
-case 209:
- this.$ = {on: $$[$0]};
-break;
-case 210: case 625:
- this.$ = {using: $$[$0]};
-break;
-case 213:
- this.$ = {where: new yy.Expression({expression:$$[$0]})};
-break;
-case 215:
- this.$ = {group:$$[$0-1]}; yy.extend(this.$,$$[$0]);
-break;
-case 218:
- this.$ = new yy.GroupExpression({type:'GROUPING SETS', group: $$[$0-1]});
-break;
-case 219:
- this.$ = new yy.GroupExpression({type:'ROLLUP', group: $$[$0-1]});
-break;
-case 220:
- this.$ = new yy.GroupExpression({type:'CUBE', group: $$[$0-1]});
-break;
-case 223:
- this.$ = {having:$$[$0]}
-break;
-case 225:
- this.$ = {union: $$[$0]} ;
-break;
-case 226:
- this.$ = {unionall: $$[$0]} ;
-break;
-case 227:
- this.$ = {except: $$[$0]} ;
-break;
-case 228:
- this.$ = {intersect: $$[$0]} ;
-break;
-case 229:
- this.$ = {union: $$[$0], corresponding:true} ;
-break;
-case 230:
- this.$ = {unionall: $$[$0], corresponding:true} ;
-break;
-case 231:
- this.$ = {except: $$[$0], corresponding:true} ;
-break;
-case 232:
- this.$ = {intersect: $$[$0], corresponding:true} ;
-break;
-case 234:
- this.$ = {order:$$[$0]}
-break;
-case 236:
- this.$ = $$[$0-2]; $$[$0-2].push($$[$0])
-break;
-case 237:
- this.$ = new yy.Expression({expression: $$[$0], direction:'ASC'})
-break;
-case 238:
- this.$ = new yy.Expression({expression: $$[$0-1], direction:$$[$0].toUpperCase()})
-break;
-case 239:
- this.$ = new yy.Expression({expression: $$[$0-2], direction:'ASC', nocase:true})
-break;
-case 240:
- this.$ = new yy.Expression({expression: $$[$0-3], direction:$$[$0].toUpperCase(), nocase:true})
-break;
-case 242:
- this.$ = {limit:$$[$0-1]}; yy.extend(this.$, $$[$0])
-break;
-case 244:
- this.$ = {offset:$$[$0]}
-break;
-case 245: case 445: case 469: case 579: case 586: case 610: case 612: case 616:
- $$[$0-2].push($$[$0]); this.$ = $$[$0-2];
-break;
-case 247: case 249: case 251:
- $$[$0-2].as = $$[$0]; this.$ = $$[$0-2];
-break;
-case 248: case 250: case 252:
- $$[$0-1].as = $$[$0]; this.$ = $$[$0-1];
-break;
-case 254:
- this.$ = new yy.Column({columid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]});
-break;
-case 255:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]});
-break;
-case 256:
- this.$ = new yy.Column({columnid:$$[$0]});
-break;
-case 257:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2], databaseid:$$[$0-4]});
-break;
-case 258: case 259:
- this.$ = new yy.Column({columnid: $$[$0], tableid: $$[$0-2]});
-break;
-case 260:
- this.$ = new yy.Column({columnid: $$[$0]});
-break;
-case 275:
- this.$ = new yy.Json({value:$$[$0]});
-break;
-case 277: case 278: case 279:
-
- if(!yy.queries) yy.queries = [];
- yy.queries.push($$[$0-1]);
- $$[$0-1].queriesidx = yy.queries.length;
- this.$ = $$[$0-1];
-
-break;
-case 280:
-this.$ = $$[$0]
-break;
-case 281:
- this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});
-break;
-case 282:
- this.$ = new yy.JavaScript({value:$$[$0].substr(2,$$[$0].length-4)});
-break;
-case 283:
- this.$ = new yy.FuncValue({funcid:$$[$0], newid:true});
-break;
-case 284:
- this.$ = $$[$0]; yy.extend(this.$,{newid:true});
-break;
-case 285:
- this.$ = new yy.Convert({expression:$$[$0-3]}) ; yy.extend(this.$,$$[$0-1]) ;
-break;
-case 286:
- this.$ = new yy.Convert({expression:$$[$0-5], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ;
-break;
-case 287:
- this.$ = new yy.Convert({expression:$$[$0-1]}) ; yy.extend(this.$,$$[$0-3]) ;
-break;
-case 288:
- this.$ = new yy.Convert({expression:$$[$0-3], style:$$[$0-1]}) ; yy.extend(this.$,$$[$0-5]) ;
-break;
-case 295:
- this.$ = new yy.FuncValue({funcid:'CURRENT_TIMESTAMP'});
-break;
-case 296:
-
- if($$[$0-2].length > 1 && ($$[$0-4].toUpperCase() == 'MAX' || $$[$0-4].toUpperCase() == 'MIN')) {
- this.$ = new yy.FuncValue({funcid:$$[$0-4],args:$$[$0-2]});
- } else {
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-4].toUpperCase(), expression: $$[$0-2].pop(), over:$$[$0]});
- }
-
-break;
-case 297:
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2], distinct:true, over:$$[$0]});
-break;
-case 298:
- this.$ = new yy.AggrValue({aggregatorid: $$[$0-5].toUpperCase(), expression: $$[$0-2],
- over:$$[$0]});
-break;
-case 300: case 301:
- this.$ = new yy.Over(); yy.extend(this.$,$$[$0-1]);
-break;
-case 302:
- this.$ = new yy.Over(); yy.extend(this.$,$$[$0-2]); yy.extend(this.$,$$[$0-1]);
-break;
-case 303:
- this.$ = {partition:$$[$0]};
-break;
-case 304:
- this.$ = {order:$$[$0]};
-break;
-case 305:
- this.$ = "SUM";
-break;
-case 306:
- this.$ = "COUNT";
-break;
-case 307:
- this.$ = "MIN";
-break;
-case 308: case 478:
- this.$ = "MAX";
-break;
-case 309:
- this.$ = "AVG";
-break;
-case 310:
- this.$ = "FIRST";
-break;
-case 311:
- this.$ = "LAST";
-break;
-case 312:
- this.$ = "AGGR";
-break;
-case 313:
- this.$ = "ARRAY";
-break;
-case 314:
-
- var funcid = $$[$0-4];
- var exprlist = $$[$0-1];
- if(exprlist.length > 1 && (funcid.toUpperCase() == 'MIN' || funcid.toUpperCase() == 'MAX')) {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- } else if(alasql.aggr[$$[$0-4]]) {
- this.$ = new yy.AggrValue({aggregatorid: 'REDUCE',
- funcid: funcid, expression: exprlist.pop(),distinct:($$[$0-2]=='DISTINCT') });
- } else {
- this.$ = new yy.FuncValue({funcid: funcid, args: exprlist});
- };
-
-break;
-case 315:
- this.$ = new yy.FuncValue({ funcid: $$[$0-2] })
-break;
-case 316:
- this.$ = new yy.LogicValue({value:true});
-break;
-case 317:
- this.$ = new yy.LogicValue({value:false});
-break;
-case 319:
- $$[$0-2].push($$[$0]); this.$ = $$[$0-2]
-break;
-case 320:
- this.$ = new yy.NumValue({value:+$$[$0]});
-break;
-case 321:
- this.$ = new yy.StringValue({value: $$[$0].substr(1,$$[$0].length-2).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});
-break;
-case 322:
- this.$ = new yy.StringValue({value: $$[$0].substr(2,$$[$0].length-3).replace(/(\\\')/g,"'").replace(/(\'\')/g,"'")});
-break;
-case 323:
- this.$ = new yy.NullValue({value:undefined});
-break;
-case 324:
- this.$ = new yy.VarValue({variable:$$[$0]});
-break;
-case 325:
-
- if(!yy.exists) yy.exists = [];
- this.$ = new yy.ExistsValue({value:$$[$0-1], existsidx:yy.exists.length});
- yy.exists.push($$[$0-1]);
-
-break;
-case 326: case 327:
- this.$ = new yy.ParamValue({param: $$[$0]});
-break;
-case 328:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++});
-
-break;
-case 329:
-
- if(typeof yy.question == 'undefined') yy.question = 0;
- this.$ = new yy.ParamValue({param: yy.question++, array:true});
-
-break;
-case 330:
- this.$ = new yy.CaseValue({expression:$$[$0-3], whens: $$[$0-2], elses: $$[$0-1]});
-break;
-case 331:
- this.$ = new yy.CaseValue({whens: $$[$0-2], elses: $$[$0-1]});
-break;
-case 332: case 627: case 628:
- this.$ = $$[$0-1]; this.$.push($$[$0]);
-break;
-case 334:
- this.$ = {when: $$[$0-2], then: $$[$0] };
-break;
-case 337:
- this.$ = new yy.Op({left:$$[$0-2], op:'LIKE', right:$$[$0]});
-break;
-case 338:
- this.$ = new yy.Op({left:$$[$0-2], op:'NOT LIKE', right:$$[$0] });
-break;
-case 339:
- this.$ = new yy.Op({left:$$[$0-2], op:'+', right:$$[$0]});
-break;
-case 340:
- this.$ = new yy.Op({left:$$[$0-2], op:'-', right:$$[$0]});
-break;
-case 341:
- this.$ = new yy.Op({left:$$[$0-2], op:'*', right:$$[$0]});
-break;
-case 342:
- this.$ = new yy.Op({left:$$[$0-2], op:'/', right:$$[$0]});
-break;
-case 343:
- this.$ = new yy.Op({left:$$[$0-2], op:'%', right:$$[$0]});
-break;
-case 344:
- this.$ = new yy.Op({left:$$[$0-2], op:'^', right:$$[$0]});
-break;
-case 345: case 346: case 348:
- this.$ = new yy.Op({left:$$[$0-2], op:'->' , right:$$[$0]});
-break;
-case 347:
- this.$ = new yy.Op({left:$$[$0-4], op:'->' , right:$$[$0-1]});
-break;
-case 349: case 350: case 352:
- this.$ = new yy.Op({left:$$[$0-2], op:'!' , right:$$[$0]});
-break;
-case 351:
- this.$ = new yy.Op({left:$$[$0-4], op:'!' , right:$$[$0-1]});
-break;
-case 353:
- this.$ = new yy.Op({left:$$[$0-2], op:'>' , right:$$[$0]});
-break;
-case 354:
- this.$ = new yy.Op({left:$$[$0-2], op:'>=' , right:$$[$0]});
-break;
-case 355:
- this.$ = new yy.Op({left:$$[$0-2], op:'<' , right:$$[$0]});
-break;
-case 356:
- this.$ = new yy.Op({left:$$[$0-2], op:'<=' , right:$$[$0]});
-break;
-case 357:
- this.$ = new yy.Op({left:$$[$0-2], op:'=' , right:$$[$0]});
-break;
-case 358:
- this.$ = new yy.Op({left:$$[$0-2], op:'==' , right:$$[$0]});
-break;
-case 359:
- this.$ = new yy.Op({left:$$[$0-2], op:'===' , right:$$[$0]});
-break;
-case 360:
- this.$ = new yy.Op({left:$$[$0-2], op:'!=' , right:$$[$0]});
-break;
-case 361:
- this.$ = new yy.Op({left:$$[$0-2], op:'!==' , right:$$[$0]});
-break;
-case 362:
- this.$ = new yy.Op({left:$$[$0-2], op:'!===' , right:$$[$0]});
-break;
-case 363:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 364:
-
- this.$ = new yy.Op({left:$$[$0-5], op:$$[$0-4] , allsome:$$[$0-3], right:$$[$0-1]});
-
-break;
-case 365:
-
- if($$[$0-2].op == 'BETWEEN1') {
-
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
-
- } else if($$[$0-2].op == 'NOT BETWEEN1') {
- if($$[$0-2].left.op == 'AND') {
- this.$ = new yy.Op({left:$$[$0-2].left.left,op:'AND',right:
- new yy.Op({left:$$[$0-2].left.right, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]})
- });
- } else {
- this.$ = new yy.Op({left:$$[$0-2].left, op:'NOT BETWEEN',
- right1:$$[$0-2].right, right2:$$[$0]});
- }
- } else {
- this.$ = new yy.Op({left:$$[$0-2], op:'AND', right:$$[$0]});
- }
-
-
-
-break;
-case 366:
- this.$ = new yy.Op({left:$$[$0-2], op:'OR' , right:$$[$0]});
-break;
-case 367:
- this.$ = new yy.UniOp({op:'NOT' , right:$$[$0]});
-break;
-case 368:
- this.$ = new yy.UniOp({op:'-' , right:$$[$0]});
-break;
-case 369:
- this.$ = new yy.UniOp({op:'+' , right:$$[$0]});
-break;
-case 370:
- this.$ = new yy.UniOp({op:'#' , right:$$[$0]});
-break;
-case 371:
- this.$ = new yy.UniOp({right: $$[$0-1]});
-break;
-case 372:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 373:
-
- if(!yy.queries) yy.queries = [];
- this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1], queriesidx: yy.queries.length});
- yy.queries.push($$[$0-1]);
-
-break;
-case 374:
- this.$ = new yy.Op({left: $$[$0-4], op:'IN', right:$$[$0-1]});
-break;
-case 375:
- this.$ = new yy.Op({left: $$[$0-5], op:'NOT IN', right:$$[$0-1]});
-break;
-case 376:
- this.$ = new yy.Op({left: $$[$0-3], op:'IN', right:[]});
-break;
-case 377:
- this.$ = new yy.Op({left: $$[$0-4], op:'NOT IN', right:[]});
-break;
-case 378:
- this.$ = new yy.Op({left: $$[$0-2], op:'IN', right:$$[$0]});
-break;
-case 379:
- this.$ = new yy.Op({left: $$[$0-3], op:'NOT IN', right:$$[$0]});
-break;
-case 380:
-
-/* var expr = $$[$0];
- if(expr.left && expr.left.op == 'AND') {
- this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'BETWEEN', right:expr.left}), op:'AND', right:expr.right });
- } else {
-*/
- this.$ = new yy.Op({left:$$[$0-2], op:'BETWEEN1', right:$$[$0] });
-// }
-
-break;
-case 381:
-
-// var expr = $$[$0];
-// if(expr.left && expr.left.op == 'AND') {
-// this.$ = new yy.Op({left:new yy.Op({left:$$[$0-2], op:'NOT BETWEEN', right:expr.left}), op:'AND', right:expr.right });
-// } else {
- this.$ = new yy.Op({left:$$[$0-2], op:'NOT BETWEEN1', right:$$[$0] });
-// }
-
-break;
-case 382:
- this.$ = new yy.Op({op:'IS' , left:$$[$0-2], right:$$[$0]});
-break;
-case 383:
- this.$ = new yy.Convert({expression:$$[$0-2]}) ; yy.extend(this.$,$$[$0]) ;
-break;
-case 384: case 385:
- this.$ = $$[$0];
-break;
-case 386:
- this.$ = $$[$0-1];
-break;
-case 393:
- this.$ = 'ALL';
-break;
-case 394:
- this.$ = 'SOME';
-break;
-case 395:
- this.$ = 'ANY';
-break;
-case 396:
- this.$ = new yy.Update({table:$$[$0-4], columns:$$[$0-2], where:$$[$0]});
-break;
-case 397:
- this.$ = new yy.Update({table:$$[$0-2], columns:$$[$0]});
-break;
-case 400:
- this.$ = new yy.SetColumn({column:$$[$0-2], expression:$$[$0]})
-break;
-case 401:
- this.$ = new yy.Delete({table:$$[$0-2], where:$$[$0]});
-break;
-case 402:
- this.$ = new yy.Delete({table:$$[$0]});
-break;
-case 403:
- this.$ = new yy.Insert({into:$$[$0-2], values: $$[$0]});
-break;
-case 404:
- this.$ = new yy.Insert({into:$$[$0-2], default: true}) ;
-break;
-case 405:
- this.$ = new yy.Insert({into:$$[$0-5], columns: $$[$0-3], values: $$[$0]});
-break;
-case 406:
- this.$ = new yy.Insert({into:$$[$0-1], select: $$[$0]});
-break;
-case 407:
- this.$ = new yy.Insert({into:$$[$0-4], columns: $$[$0-2], select: $$[$0]});
-break;
-case 410:
- this.$ = [$$[$0-1]];
-break;
-case 413:
-this.$ = $$[$0-4]; $$[$0-4].push($$[$0-1])
-break;
-case 414: case 415: case 417: case 425:
-this.$ = $$[$0-2]; $$[$0-2].push($$[$0])
-break;
-case 426:
-
- this.$ = new yy.CreateTable({table:$$[$0-4]});
- yy.extend(this.$,$$[$0-7]);
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-5]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0]);
-
-break;
-case 427:
-
- this.$ = new yy.CreateTable({table:$$[$0]});
- yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,$$[$0-1]);
-
-break;
-case 429:
- this.$ = {class:true};
-break;
-case 438:
- this.$ = {temporary:true};
-break;
-case 440:
- this.$ = {ifnotexists: true};
-break;
-case 441:
- this.$ = {columns: $$[$0-2], constraints: $$[$0]};
-break;
-case 442:
- this.$ = {columns: $$[$0]};
-break;
-case 443:
- this.$ = {as: $$[$0]}
-break;
-case 444: case 468:
- this.$ = [$$[$0]];
-break;
-case 446: case 447: case 448: case 449: case 450:
- $$[$0].constraintid = $$[$0-1]; this.$ = $$[$0];
-break;
-case 453:
- this.$ = {type: 'CHECK', expression: $$[$0-1]};
-break;
-case 454:
- this.$ = {type: 'PRIMARY KEY', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
-break;
-case 455:
- this.$ = {type: 'FOREIGN KEY', columns: $$[$0-5], fktable: $$[$0-2], fkcolumns: $$[$0-1]};
-break;
-case 456: case 483: case 514: case 550: case 568: case 571: case 590:
- this.$ = $$[$0-1];
-break;
-case 461:
-
- this.$ = {type: 'UNIQUE', columns: $$[$0-1], clustered:($$[$0-3]+'').toUpperCase()};
-
-break;
-case 470:
- this.$ = new yy.ColumnDef({columnid:$$[$0-2]}); yy.extend(this.$,$$[$0-1]); yy.extend(this.$,$$[$0]);
-break;
-case 471:
- this.$ = new yy.ColumnDef({columnid:$$[$0-1]}); yy.extend(this.$,$$[$0]);
-break;
-case 472:
- this.$ = new yy.ColumnDef({columnid:$$[$0], dbtypeid: ''});
-break;
-case 473:
- this.$ = {dbtypeid: $$[$0-5], dbsize: $$[$0-3], dbprecision: +$$[$0-1]}
-break;
-case 474:
- this.$ = {dbtypeid: $$[$0-3], dbsize: $$[$0-1]}
-break;
-case 475:
- this.$ = {dbtypeid: $$[$0]}
-break;
-case 476:
- this.$ = {dbtypeid: 'ENUM', enumvalues: $$[$0-1]}
-break;
-case 477: case 670:
- this.$ = +$$[$0];
-break;
-case 479:
-this.$ = undefined
-break;
-case 481:
-
- yy.extend($$[$0-1],$$[$0]); this.$ = $$[$0-1];
-
-break;
-case 484:
-this.$ = {primarykey:true};
-break;
-case 485: case 486:
-this.$ = {foreignkey:{table:$$[$0-1], columnid: $$[$0]}};
-break;
-case 487:
- this.$ = {identity: {value:$$[$0-3],step:$$[$0-1]}}
-break;
-case 488:
- this.$ = {identity: {value:1,step:1}}
-break;
-case 489:
-this.$ = {default:$$[$0]};
-break;
-case 490:
-this.$ = {default:$$[$0-1]};
-break;
-case 491:
-this.$ = {null:true};
-break;
-case 492:
-this.$ = {notnull:true};
-break;
-case 493:
-this.$ = {check:$$[$0]};
-break;
-case 494:
-this.$ = {unique:true};
-break;
-case 495:
- this.$ = new yy.DropTable({table:$$[$0],type:$$[$0-2]}); yy.extend(this.$, $$[$0-1]);
-break;
-case 497:
- this.$ = {ifexists: true};
-break;
-case 498:
- this.$ = new yy.AlterTable({table:$$[$0-3], renameto: $$[$0]});
-break;
-case 499:
- this.$ = new yy.AlterTable({table:$$[$0-3], addcolumn: $$[$0]});
-break;
-case 500:
- this.$ = new yy.AlterTable({table:$$[$0-3], modifycolumn: $$[$0]});
-break;
-case 501:
- this.$ = new yy.AlterTable({table:$$[$0-5], renamecolumn: $$[$0-2], to: $$[$0]});
-break;
-case 502:
- this.$ = new yy.AlterTable({table:$$[$0-3], dropcolumn: $$[$0]});
-break;
-case 503:
- this.$ = new yy.AlterTable({table:$$[$0-2], renameto: $$[$0]});
-break;
-case 504:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0], engineid:$$[$0-2].toUpperCase() });
-break;
-case 505:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-3], engineid:$$[$0-5].toUpperCase(), args:$$[$0-1] });
-break;
-case 506:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-2], engineid:$$[$0-4].toUpperCase(), as:$$[$0] });
-break;
-case 507:
- this.$ = new yy.AttachDatabase({databaseid:$$[$0-5], engineid:$$[$0-7].toUpperCase(), as:$$[$0], args:$$[$0-3]});
-break;
-case 508:
- this.$ = new yy.DetachDatabase({databaseid:$$[$0]});
-break;
-case 509:
- this.$ = new yy.CreateDatabase({databaseid:$$[$0] }); yy.extend(this.$,$$[$0]);
-break;
-case 510:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(), databaseid:$$[$0-1], as:$$[$0] }); yy.extend(this.$,$$[$0-2]);
-break;
-case 511:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-7].toUpperCase(), databaseid:$$[$0-4], args:$$[$0-2], as:$$[$0] }); yy.extend(this.$,$$[$0-5]);
-break;
-case 512:
- this.$ = new yy.CreateDatabase({engineid:$$[$0-4].toUpperCase(),
- as:$$[$0], args:[$$[$0-1]] }); yy.extend(this.$,$$[$0-2]);
-break;
-case 513:
-this.$ = undefined;
-break;
-case 515: case 516:
- this.$ = new yy.UseDatabase({databaseid: $$[$0] });
-break;
-case 517:
- this.$ = new yy.DropDatabase({databaseid: $$[$0] }); yy.extend(this.$,$$[$0-1]);
-break;
-case 518: case 519:
- this.$ = new yy.DropDatabase({databaseid: $$[$0], engineid:$$[$0-3].toUpperCase() }); yy.extend(this.$,$$[$0-1]);
-break;
-case 520:
- this.$ = new yy.CreateIndex({indexid:$$[$0-5], table:$$[$0-3], columns:$$[$0-1]})
-break;
-case 521:
- this.$ = new yy.CreateIndex({indexid:$$[$0-5], table:$$[$0-3], columns:$$[$0-1], unique:true})
-break;
-case 522:
- this.$ = new yy.DropIndex({indexid:$$[$0]});
-break;
-case 523:
- this.$ = new yy.ShowDatabases();
-break;
-case 524:
- this.$ = new yy.ShowDatabases({like:$$[$0]});
-break;
-case 525:
- this.$ = new yy.ShowDatabases({engineid:$$[$0-1].toUpperCase() });
-break;
-case 526:
- this.$ = new yy.ShowDatabases({engineid:$$[$0-3].toUpperCase() , like:$$[$0]});
-break;
-case 527:
- this.$ = new yy.ShowTables();
-break;
-case 528:
- this.$ = new yy.ShowTables({like:$$[$0]});
-break;
-case 529:
- this.$ = new yy.ShowTables({databaseid: $$[$0]});
-break;
-case 530:
- this.$ = new yy.ShowTables({like:$$[$0], databaseid: $$[$0-2]});
-break;
-case 531:
- this.$ = new yy.ShowColumns({table: $$[$0]});
-break;
-case 532:
- this.$ = new yy.ShowColumns({table: $$[$0-2], databaseid:$$[$0]});
-break;
-case 533:
- this.$ = new yy.ShowIndex({table: $$[$0]});
-break;
-case 534:
- this.$ = new yy.ShowIndex({table: $$[$0-2], databaseid: $$[$0]});
-break;
-case 535:
- this.$ = new yy.ShowCreateTable({table: $$[$0]});
-break;
-case 536:
- this.$ = new yy.ShowCreateTable({table: $$[$0-2], databaseid:$$[$0]});
-break;
-case 537:
-
- this.$ = new yy.CreateTable({table:$$[$0-6],view:true,select:$$[$0-1],viewcolumns:$$[$0-4]});
- yy.extend(this.$,$$[$0-9]);
- yy.extend(this.$,$$[$0-7]);
-
-break;
-case 538:
-
- this.$ = new yy.CreateTable({table:$$[$0-3],view:true,select:$$[$0-1]});
- yy.extend(this.$,$$[$0-6]);
- yy.extend(this.$,$$[$0-4]);
-
-break;
-case 542:
- this.$ = new yy.DropTable({table:$$[$0], view:true}); yy.extend(this.$, $$[$0-1]);
-break;
-case 543:
- this.$ = new yy.Help({subject:$$[$0].value.toUpperCase()} ) ;
-break;
-case 544:
- this.$ = new yy.Help() ;
-break;
-case 545:
- this.$ = new yy.ExpressionStatement({expression:$$[$0]});
-break;
-case 546:
- this.$ = new yy.Source({url:$$[$0].value});
-break;
-case 547:
- this.$ = new yy.Assert({value:$$[$0]});
-break;
-case 548:
- this.$ = new yy.Assert({value:$$[$0].value});
-break;
-case 549:
- this.$ = new yy.Assert({value:$$[$0], message:$$[$0-2]});
-break;
-case 551: case 562: case 564:
- this.$ = $$[$0].value;
-break;
-case 552: case 560:
- this.$ = +$$[$0].value;
-break;
-case 553:
- this.$ = (!!$$[$0].value);
-break;
-case 561:
- this.$ = ""+$$[$0].value;
-break;
-case 567:
- this.$ = $$[$0-1]
-break;
-case 569: case 572:
- this.$ = $$[$0-2];
-break;
-case 570:
- this.$ = {};
-break;
-case 573:
- this.$ = [];
-break;
-case 574:
- yy.extend($$[$0-2],$$[$0]); this.$ = $$[$0-2];
-break;
-case 576:
- this.$ = {}; this.$[$$[$0-2].substr(1,$$[$0-2].length-2)] = $$[$0];
-break;
-case 577: case 578:
- this.$ = {}; this.$[$$[$0-2]] = $$[$0];
-break;
-case 581:
- this.$ = new yy.SetVariable({variable:$$[$0-1].toLowerCase(), value:$$[$0]});
-break;
-case 582:
- this.$ = new yy.SetVariable({variable:$$[$0-2], expression:$$[$0], method:$$[$0-3]});
-break;
-case 583:
- this.$ = new yy.SetVariable({variable:$$[$0-3], props: $$[$0-2], expression:$$[$0], method:$$[$0-4]});
-break;
-case 584:
-this.$ = '@';
-break;
-case 585:
-this.$ = '$';
-break;
-case 591:
- this.$ = true;
-break;
-case 592:
- this.$ = false;
-break;
-case 593:
- this.$ = new yy.CommitTransaction();
-break;
-case 594:
- this.$ = new yy.RollbackTransaction();
-break;
-case 595:
- this.$ = new yy.BeginTransaction();
-break;
-case 596:
- this.$ = new yy.If({expression:$$[$0-2],thenstat:$$[$0-1], elsestat:$$[$0]});
- if($$[$0-1].exists) this.$.exists = $$[$0-1].exists;
- if($$[$0-1].queries) this.$.queries = $$[$0-1].queries;
-
-break;
-case 597:
-
- this.$ = new yy.If({expression:$$[$0-1],thenstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 598:
-this.$ = $$[$0];
-break;
-case 599:
- this.$ = new yy.While({expression:$$[$0-1],loopstat:$$[$0]});
- if($$[$0].exists) this.$.exists = $$[$0].exists;
- if($$[$0].queries) this.$.queries = $$[$0].queries;
-
-break;
-case 600:
- this.$ = new yy.Continue();
-break;
-case 601:
- this.$ = new yy.Break();
-break;
-case 602:
- this.$ = new yy.BeginEnd({statements:$$[$0-1]});
-break;
-case 603:
- this.$ = new yy.Print({exprs:$$[$0]});
-break;
-case 604:
- this.$ = new yy.Print({select:$$[$0]});
-break;
-case 605:
- this.$ = new yy.Require({paths:$$[$0]});
-break;
-case 606:
- this.$ = new yy.Require({plugins:$$[$0]});
-break;
-case 607: case 608:
-this.$ = $$[$0].toUpperCase();
-break;
-case 609:
- this.$ = new yy.Echo({expr:$$[$0]});
-break;
-case 614:
- this.$ = new yy.Declare({declares:$$[$0]});
-break;
-case 617:
- this.$ = {variable: $$[$0-1]}; yy.extend(this.$,$$[$0]);
-break;
-case 618:
- this.$ = {variable: $$[$0-2]}; yy.extend(this.$,$$[$0]);
-break;
-case 619:
- this.$ = {variable: $$[$0-3], expression:$$[$0]}; yy.extend(this.$,$$[$0-2]);
-break;
-case 620:
- this.$ = {variable: $$[$0-4], expression:$$[$0]}; yy.extend(this.$,$$[$0-2]);
-break;
-case 621:
- this.$ = new yy.TruncateTable({table:$$[$0]});
-break;
-case 622:
-
- this.$ = new yy.Merge(); yy.extend(this.$,$$[$0-4]); yy.extend(this.$,$$[$0-3]);
- yy.extend(this.$,$$[$0-2]);
- yy.extend(this.$,{matches:$$[$0-1]});yy.extend(this.$,$$[$0]);
-
-break;
-case 623: case 624:
- this.$ = {into: $$[$0]};
-break;
-case 626:
- this.$ = {on:$$[$0]};
-break;
-case 631:
- this.$ = {matched:true, action:$$[$0]}
-break;
-case 632:
- this.$ = {matched:true, expr: $$[$0-2], action:$$[$0]}
-break;
-case 633:
- this.$ = {delete:true};
-break;
-case 634:
- this.$ = {update:$$[$0]};
-break;
-case 635: case 636:
- this.$ = {matched:false, bytarget: true, action:$$[$0]}
-break;
-case 637: case 638:
- this.$ = {matched:false, bytarget: true, expr:$$[$0-2], action:$$[$0]}
-break;
-case 639:
- this.$ = {matched:false, bysource: true, action:$$[$0]}
-break;
-case 640:
- this.$ = {matched:false, bysource: true, expr:$$[$0-2], action:$$[$0]}
-break;
-case 641:
- this.$ = {insert:true, values:$$[$0]};
-break;
-case 642:
- this.$ = {insert:true, values:$$[$0], columns:$$[$0-3]};
-break;
-case 643:
- this.$ = {insert:true, defaultvalues:true};
-break;
-case 644:
- this.$ = {insert:true, defaultvalues:true, columns:$$[$0-3]};
-break;
-case 646:
- this.$ = {output:{columns:$$[$0]}}
-break;
-case 647:
- this.$ = {output:{columns:$$[$0-3], intovar: $$[$0], method:$$[$0-1]}}
-break;
-case 648:
- this.$ = {output:{columns:$$[$0-2], intotable: $$[$0]}}
-break;
-case 649:
- this.$ = {output:{columns:$$[$0-5], intotable: $$[$0-3], intocolumns:$$[$0-1]}}
-break;
-case 650:
-
- this.$ = new yy.CreateVertex({class:$$[$0-3],sharp:$$[$0-2], name:$$[$0-1]});
- yy.extend(this.$,$$[$0]);
-
-break;
-case 653:
- this.$ = {sets:$$[$0]};
-break;
-case 654:
- this.$ = {content:$$[$0]};
-break;
-case 655:
- this.$ = {select:$$[$0]};
-break;
-case 656:
-
- this.$ = new yy.CreateEdge({from:$$[$0-3],to:$$[$0-1],name:$$[$0-5]});
- yy.extend(this.$,$$[$0]);
-
-break;
-case 657:
- this.$ = new yy.CreateGraph({graph:$$[$0]});
-break;
-case 658:
- this.$ = new yy.CreateGraph({from:$$[$0]});
-break;
-case 661:
-
- this.$ = $$[$0-2];
- if($$[$0-1]) this.$.json = new yy.Json({value:$$[$0-1]});
- if($$[$0]) this.$.as = $$[$0];
-
-break;
-case 662:
-
- this.$ = {source:$$[$0-6], target: $$[$0]};
- if($$[$0-3]) this.$.json = new yy.Json({value:$$[$0-3]});
- if($$[$0-2]) this.$.as = $$[$0-2];
- yy.extend(this.$,$$[$0-4]);
- ;
-
-break;
-case 664:
- this.$ = {vars:$$[$0], method:$$[$0-1]};
-break;
-case 667:
-
- var s3 = $$[$0-1];
- this.$ = {prop:$$[$0-3], sharp:$$[$0-2], name:(typeof s3 == 'undefined')?undefined:s3.substr(1,s3.length-2), class:$$[$0]};
-
-break;
-case 673:
- this.$ = new yy.Term({termid:$$[$0]});
-break;
-case 674:
- this.$ = new yy.Term({termid:$$[$0-3],args:$$[$0-1]});
-break;
-case 675:
- this.$ = new yy.AddRule({left:$$[$0-2], right:$$[$0]});
-break;
-case 676:
- this.$ = new yy.AddRule({right:$$[$0]});
-break;
-case 684: case 698: case 700: case 702: case 706: case 708: case 710: case 712: case 714:
-this.$ = [];
-break;
-case 685: case 693: case 695: case 699: case 701: case 703: case 707: case 709: case 711: case 713: case 715:
-$$[$0-1].push($$[$0]);
-break;
-case 692: case 694:
-this.$ = [$$[$0]];
-break;
-}
-},
-table: [o([8,260,441],$V0,{6:1,7:2,10:3,11:4,15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,4:$V1,5:$V2,12:$V3,47:$V4,65:$V5,81:$V6,99:$V7,121:$V8,128:$V9,158:$Va,227:$Vb,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),{1:[3]},{8:[1,97],9:98,260:$VE,398:100,400:101,401:102,441:$VF},o($VG,[2,5]),o($VG,[2,6]),o($VH,[2,9]),o($VG,$V0,{15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,10:104,4:$V1,5:$V2,13:[1,105],47:$V4,65:$V5,81:$V6,99:$V7,121:$V8,128:$V9,158:$Va,227:$Vb,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),o($VH,[2,11]),o($VH,[2,12]),o($VH,[2,13]),o($VH,[2,14]),o($VH,[2,15]),o($VH,[2,16]),o($VH,[2,17]),o($VH,[2,18]),o($VH,[2,19]),o($VH,[2,20]),o($VH,[2,21]),o($VH,[2,22]),o($VH,[2,23]),o($VH,[2,24]),o($VH,[2,25]),o($VH,[2,26]),o($VH,[2,27]),o($VH,[2,28]),o($VH,[2,29]),o($VH,[2,30]),o($VH,[2,31]),o($VH,[2,32]),o($VH,[2,33]),o($VH,[2,34]),o($VH,[2,35]),o($VH,[2,36]),o($VH,[2,37]),o($VH,[2,38]),o($VH,[2,39]),o($VH,[2,40]),o($VH,[2,41]),o($VH,[2,42]),o($VH,[2,43]),o($VH,[2,44]),o($VH,[2,45]),o($VH,[2,46]),o($VH,[2,47]),o($VH,[2,48]),o($VH,[2,49]),o($VH,[2,50]),o($VH,[2,51]),o($VH,[2,52]),o($VH,[2,53]),o($VH,[2,54]),o($VH,[2,55]),o($VH,[2,56]),o($VH,[2,57]),o($VH,[2,58]),o($VH,[2,59]),{297:[1,106]},{3:107,4:$V1,5:$V2},o($VI,[2,437],{3:109,292:113,4:$V1,5:$V2,109:$VJ,110:[1,114],156:[1,111],163:[1,110],301:[1,116],345:[1,108],413:[1,112]}),{119:$VK,391:117,392:118},{110:$VL,152:[1,120]},{345:[1,122]},{3:124,4:$V1,5:$V2,163:[1,125],338:126,345:[1,123],350:[1,127],460:[1,128],461:[1,129]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:130,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vi1,[2,408],{285:184,168:[1,185]}),{3:196,4:$V1,5:$V2,70:$Vj1,107:$Vk1,115:$VR,118:190,119:$VS,124:$VT,150:$VX,168:[1,188],169:191,170:193,171:192,172:194,179:187,182:195,249:$V91,250:$Va1,255:$Ve1,360:171,361:$Vg1,365:$Vh1,395:186},{297:[1,198]},o($Vl1,[2,682],{73:199,442:[1,200]}),o($Vm1,[2,684],{82:201}),{3:205,4:$V1,5:$V2,160:[1,203],163:[1,206],291:[1,202],297:[1,207],345:[1,204]},{297:[1,208]},{3:211,4:$V1,5:$V2,66:209,68:210},o([258,260,441],$V0,{10:3,11:4,15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,7:213,4:$V1,5:$V2,12:$V3,47:$V4,65:$V5,81:$V6,99:$V7,121:$V8,128:$V9,158:$Va,227:$Vb,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,377:[1,212],378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),{377:[1,214]},{377:[1,215]},{3:217,4:$V1,5:$V2,345:[1,216]},{3:219,4:$V1,5:$V2,169:218},o($VH,[2,544],{91:220,107:$VP,251:$Vb1}),o($Vn1,[2,282]),{91:221,107:$VP,251:$Vb1},{3:232,4:$V1,5:$V2,91:227,106:$VO,107:[1,224],115:$VR,118:222,119:$Vo1,124:$VT,150:$VX,166:226,170:228,171:230,220:229,226:$Vp1,232:223,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,255:$Ve1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:233,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VH,[2,600]),o($VH,[2,601]),{3:150,4:$V1,5:$V2,36:235,51:147,70:$VM,72:67,81:$V6,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,153:92,158:$Va,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:234,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:242,4:$V1,5:$V2,91:239,107:$VP,251:$Vb1,386:237,387:238,388:240,389:$Vq1},{3:243,4:$V1,5:$V2,115:$Vr1,119:$Vs1,372:244},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:247,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{439:[1,248]},{3:93,4:$V1,5:$V2,283:$Vt1,434:250,438:249},{3:232,4:$V1,5:$V2,170:252,249:$V91,250:$Va1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:253,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o([8,71,93,104,134,139,140,152,168,200,213,258,260,262,441,442,450,462],$Vu1,{155:257,136:[1,256],154:[1,254],156:[1,255],165:$Vv1}),o($Vw1,[2,673],{70:[1,259]}),o($Vx1,[2,128],{123:[1,260],159:[1,261],160:[1,262],161:[1,263],162:[1,264],163:[1,265],164:[1,266]}),o($Vy1,[2,1]),o($Vy1,[2,2]),{1:[2,3]},o($VG,$V0,{15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,10:267,4:$V1,5:$V2,47:$V4,65:$V5,81:$V6,99:$V7,121:$V8,128:$V9,158:$Va,227:$Vb,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),o([4,5,8,47,65,81,99,121,128,158,227,258,260,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,439,440,441],[2,680]),o([4,5,8,47,65,81,99,121,128,158,227,258,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,439,440,441],[2,681],{400:268,401:269,260:$VE}),o($Vz1,[2,629]),o($Vz1,[2,630]),{126:[1,271],193:[1,270]},o($VG,[2,7]),{14:[1,272]},{3:219,4:$V1,5:$V2,169:273},{345:[1,274]},o($Vi1,$VA1,{294:275,128:$VB1}),{345:[1,277]},{3:278,4:$V1,5:$V2},{163:[1,279]},o([8,67,258,260,262,441,465,466,469,470,471],$VC1,{414:280,415:282,416:283,419:284,3:285,426:286,4:$V1,5:$V2,152:[1,281],453:$VD1,467:$VE1,468:$VF1}),{105:[1,293],293:290,297:[1,292],350:[1,291]},{152:[2,758],412:294,464:[1,295]},o($VG1,[2,752],{406:296,453:[1,297]}),o($VI,[2,438]),o($VH,[2,614],{67:[1,298]}),o($VH1,[2,615]),{3:299,4:$V1,5:$V2},{3:219,4:$V1,5:$V2,169:300},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:301,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:302,4:$V1,5:$V2},o($Vi1,$VI1,{339:303,128:$VJ1}),{345:[1,305]},{3:306,4:$V1,5:$V2},o($Vi1,$VI1,{339:307,128:$VJ1}),o($Vi1,$VI1,{339:308,128:$VJ1}),o($VK1,[2,746]),o($VK1,[2,747]),o($VL1,$V0,{15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,10:309,272:330,4:$V1,5:$V2,8:$VM1,47:$V4,65:$V5,81:$V6,90:$VN1,97:$VO1,98:$VP1,99:$VQ1,108:$VR1,112:$VS1,113:$VT1,114:$VU1,121:$V8,126:$VV1,128:$V9,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,158:$Va,227:$Vb,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),o($Vn1,[2,261]),o($Vn1,[2,262]),o($Vn1,[2,263]),o($Vn1,[2,264]),o($Vn1,[2,265]),o($Vn1,[2,266]),o($Vn1,[2,268]),o($Vn1,[2,269]),o($Vn1,[2,270]),o($Vn1,[2,271]),o($Vn1,[2,272]),o($Vn1,[2,273]),o($Vn1,[2,274]),o($Vn1,[2,275]),o($Vn1,[2,276]),{3:150,4:$V1,5:$V2,24:343,33:340,36:339,51:147,70:$VM,72:67,81:$V6,89:134,91:137,100:342,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,153:92,158:$Va,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,225:341,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,284:$Ve,291:[1,345],360:171,361:$Vg1,365:$Vh1,454:[1,344]},o($Vn1,[2,280]),o($Vn1,[2,281]),{70:[1,346]},o($Vn1,$Vc2,{70:$Vd2,116:[1,348]}),o($Ve2,[2,316]),o($Ve2,[2,317]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:349,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:350,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:351,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:352,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vn1,[2,256]),o([4,5,8,47,65,67,69,70,71,81,90,93,97,98,99,104,105,106,107,108,111,112,113,114,115,119,120,121,124,126,128,134,139,140,141,142,148,149,150,152,156,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,215,226,227,228,229,231,239,240,241,242,243,244,245,246,247,249,250,251,252,253,255,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,361,365,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,450,451,452,453,462,472,474,475],[2,320]),o($Vf2,$Vg2),o($Vf2,[2,322]),o([4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,156,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,252,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,287,291,300,312,313,317,318,337,340,341,344,346,348,349,357,358,359,367,369,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],[2,323]),{254:353,453:[1,354],457:[1,355]},{3:356,4:$V1,5:$V2},o($Ve2,[2,328]),o($Ve2,[2,329]),{3:357,4:$V1,5:$V2,70:$Vh2,91:359,106:$VO,107:$VP,115:$VR,124:$VT,150:$VX,166:360,170:361,171:362,249:$V91,250:$Va1,251:$Vb1,255:$Ve1,360:363,365:$Vh1},{70:[1,364]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:365,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,256:366,259:367,260:$Vi2,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{70:[1,369]},{70:[1,370]},o($Vj2,[2,555]),{3:384,4:$V1,5:$V2,70:$Vk2,89:380,91:378,106:$VO,107:$VP,115:$VR,118:375,119:$Vo1,124:$VT,150:$VX,166:377,170:379,171:382,220:381,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,255:$Ve1,360:171,361:$Vg1,362:371,363:374,364:376,365:$Vh1,368:372,369:[1,373]},{3:385,4:$V1,5:$V2,170:386,249:$V91,250:$Va1},{70:[2,305]},{70:[2,306]},{70:[2,307]},{70:[2,308]},{70:[2,309]},{70:[2,310]},{70:[2,311]},{70:[2,312]},{70:[2,313]},{3:392,4:$V1,5:$V2,106:$Vl2,107:$Vm2,366:387,367:[1,388],370:389},{3:219,4:$V1,5:$V2,169:393},o($Vi1,[2,409]),{198:[1,395],396:394},{198:[2,623]},{3:196,4:$V1,5:$V2,70:$Vj1,107:$Vk1,115:$VR,118:190,119:$VS,124:$VT,150:$VX,169:191,170:193,171:192,172:194,179:396,182:195,249:$V91,250:$Va1,255:$Ve1,360:171,361:$Vg1,365:$Vh1},{36:397,72:67,81:$V6,153:92,158:$Va},o($Vn2,[2,720],{180:398,452:[1,399]}),o($Vo2,[2,161],{3:400,4:$V1,5:$V2,69:[1,401]}),o($Vo2,[2,164],{3:402,4:$V1,5:$V2,69:[1,403]}),o($Vo2,[2,165],{3:404,4:$V1,5:$V2,69:[1,405]}),o($Vo2,[2,168],{3:406,4:$V1,5:$V2,69:[1,407]}),o($Vo2,[2,171],{3:408,4:$V1,5:$V2,69:[1,409]}),o([4,5,8,67,69,71,93,104,134,139,140,152,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,444,462],$Vp2,{70:$Vd2,116:$Vq2}),o([4,5,8,67,69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,197,198,200,213,258,260,262,441,462],[2,174]),{3:219,4:$V1,5:$V2,169:411},o([8,71,93,104,134,139,140,152,200,213,258,260,262,441,462],$Vr2,{74:412,168:$Vs2}),o($Vl1,[2,683]),o([8,71,258,260,262,441,444,462],$Vr2,{74:414,168:$Vs2,443:[1,415]}),{297:[1,416]},{152:[1,417]},o($VH,[2,523],{90:[1,418]}),{345:[1,419]},{152:[1,420]},o($VH,[2,527],{90:[1,421],152:[1,422]}),{3:219,4:$V1,5:$V2,169:423},{36:424,67:[1,425],72:67,81:$V6,153:92,158:$Va},o($Vt2,[2,62]),{69:[1,426]},o($VH,[2,595]),{9:98,258:[1,427],260:$VE,398:100,400:101,401:102,441:$VF},o($VH,[2,593]),o($VH,[2,594]),{3:428,4:$V1,5:$V2},o($VH,[2,516]),{121:[1,429]},o([8,67,69,70,71,81,104,120,121,123,126,152,156,158,197,252,258,260,262,287,300,312,313,317,318,337,341,342,343,441,458,459],$Vp2,{116:$Vq2}),o($VH,[2,543]),o($VH,[2,546]),o($VH,[2,547]),o($VH,[2,548]),o($VH,$Vg2,{67:[1,430]}),{3:232,4:$V1,5:$V2,70:$Vh2,91:359,106:$VO,107:$VP,115:$VR,124:$VT,150:$VX,166:360,170:361,171:362,249:$V91,250:$Va1,251:$Vb1,255:$Ve1,360:363,365:$Vh1},o($Vu2,[2,289]),o($Vu2,[2,290]),o($Vu2,[2,291]),o($Vu2,[2,292]),o($Vu2,[2,293]),o($Vu2,[2,295]),{70:$Vd2},o($VL1,$V0,{15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,272:330,10:431,4:$V1,5:$V2,8:$VM1,47:$V4,65:$V5,81:$V6,90:$VN1,97:$VO1,98:$VP1,99:$VQ1,108:$VR1,112:$VS1,113:$VT1,114:$VU1,121:$V8,126:$VV1,128:$V9,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,158:$Va,227:$Vb,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),o($VH,[2,603],{67:$Vv2}),o($VH,[2,604]),o($Vw2,[2,318],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VH,[2,605],{67:[1,434]}),o($VH,[2,606],{67:[1,435]}),o($VH1,[2,611]),o($VH1,[2,613]),o($VH1,[2,607]),o($VH1,[2,608]),{197:[1,437],371:436,375:[1,438]},{3:439,4:$V1,5:$V2},o($Vi1,[2,584]),o($Vi1,[2,585]),o($VL1,[2,545],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{3:93,4:$V1,5:$V2,283:$Vt1,434:250,438:440},o($VH,[2,676],{67:$Vy2}),o($Vz2,[2,678]),{110:$VL},o($VH,[2,679]),o($VL1,[2,609],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VA2,$Vu1,{155:442,165:$Vv1}),o($VA2,$Vu1,{155:443,165:$Vv1}),o($VA2,$Vu1,{155:444,165:$Vv1}),o($VB2,[2,716],{157:445,450:[1,446]}),{70:[1,448],106:$VO,166:447},{3:93,4:$V1,5:$V2,283:$Vt1,434:250,438:449},o($Vx1,[2,129]),o($Vx1,[2,130]),o($Vx1,[2,131]),o($Vx1,[2,132]),o($Vx1,[2,133]),o($Vx1,[2,134]),o($Vx1,[2,135]),o($VG,[2,4]),o($Vz1,[2,627]),o($Vz1,[2,628]),{141:[1,451],261:[1,450]},{193:[1,452]},o($VG,$V0,{15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,10:453,4:$V1,5:$V2,47:$V4,65:$V5,81:$V6,99:$V7,121:$V8,128:$V9,158:$Va,227:$Vb,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),{337:[1,457],341:[1,454],342:[1,455],343:[1,456]},{3:458,4:$V1,5:$V2},{3:459,4:$V1,5:$V2},{126:[1,460]},o($VC2,$VA1,{294:461,128:$VB1}),{197:[1,462]},{3:463,4:$V1,5:$V2},o($VH,[2,657],{67:$VD2}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:465,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vz2,[2,660]),o($VE2,[2,760],{417:466,465:[1,467]}),{113:[1,468]},{70:[1,469]},o($VF2,[2,774],{427:470,469:[1,471]}),{113:[2,764]},{113:[2,765]},o([8,67,71,113,258,260,262,441,465,466,469,470,471],[2,773]),o($Vi1,$VA1,{294:472,128:$VB1}),o($Vi1,$VA1,{294:473,128:$VB1}),o($VK1,[2,428]),o($VK1,[2,429]),{152:[1,474]},{152:[2,759]},o($VG2,[2,754],{407:475,463:[1,476]}),o($VG1,[2,753]),{119:$VK,392:477},{4:$VH2,69:[1,479],230:478,331:$VI2},o($VH,[2,402],{104:[1,482]}),o([67,71,258,260,262,439,441,472,475],[2,782],{272:330,435:483,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2,474:[1,484]}),o($VH,[2,508]),{3:485,4:$V1,5:$V2},{253:[1,486]},o($VC2,$VI1,{339:487,128:$VJ1}),o($VH,[2,522]),{3:219,4:$V1,5:$V2,169:488},{3:219,4:$V1,5:$V2,169:489},o($VG,[2,597],{380:490,262:[1,491]}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:492,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:493,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:494,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:495,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:496,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:497,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:498,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:499,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:500,4:$V1,5:$V2,70:[1,502],106:$VO,166:501,170:503,249:$V91,250:$Va1},{3:504,4:$V1,5:$V2,70:[1,506],106:$VO,166:505,170:507,249:$V91,250:$Va1},o($VJ2,[2,387],{218:131,170:132,219:133,89:134,217:135,166:136,91:137,220:138,171:139,172:140,221:141,222:142,223:143,118:144,224:145,51:147,130:149,3:150,360:171,100:508,4:$V1,5:$V2,70:$VM,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,119:$VS,124:$VT,126:$VU,148:$VV,149:$VW,150:$VX,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,361:$Vg1,365:$Vh1}),o($VJ2,[2,388],{218:131,170:132,219:133,89:134,217:135,166:136,91:137,220:138,171:139,172:140,221:141,222:142,223:143,118:144,224:145,51:147,130:149,3:150,360:171,100:509,4:$V1,5:$V2,70:$VM,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,119:$VS,124:$VT,126:$VU,148:$VV,149:$VW,150:$VX,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,361:$Vg1,365:$Vh1}),o($VJ2,[2,389],{218:131,170:132,219:133,89:134,217:135,166:136,91:137,220:138,171:139,172:140,221:141,222:142,223:143,118:144,224:145,51:147,130:149,3:150,360:171,100:510,4:$V1,5:$V2,70:$VM,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,119:$VS,124:$VT,126:$VU,148:$VV,149:$VW,150:$VX,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,361:$Vg1,365:$Vh1}),o($VJ2,[2,390],{218:131,170:132,219:133,89:134,217:135,166:136,91:137,220:138,171:139,172:140,221:141,222:142,223:143,118:144,224:145,51:147,130:149,3:150,360:171,100:511,4:$V1,5:$V2,70:$VM,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,119:$VS,124:$VT,126:$VU,148:$VV,149:$VW,150:$VX,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,361:$Vg1,365:$Vh1}),o($VJ2,$VK2,{218:131,170:132,219:133,89:134,217:135,166:136,91:137,220:138,171:139,172:140,221:141,222:142,223:143,118:144,224:145,51:147,130:149,3:150,360:171,100:512,4:$V1,5:$V2,70:$VM,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,119:$VS,124:$VT,126:$VU,148:$VV,149:$VW,150:$VX,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,361:$Vg1,365:$Vh1}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:513,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:514,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VJ2,[2,392],{218:131,170:132,219:133,89:134,217:135,166:136,91:137,220:138,171:139,172:140,221:141,222:142,223:143,118:144,224:145,51:147,130:149,3:150,360:171,100:515,4:$V1,5:$V2,70:$VM,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,119:$VS,124:$VT,126:$VU,148:$VV,149:$VW,150:$VX,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,361:$Vg1,365:$Vh1}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:516,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:517,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{119:[1,521],136:[1,519],273:518,280:[1,520]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:522,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:523,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:384,4:$V1,5:$V2,70:[1,524],89:526,119:$VL2,170:527,249:$V91,250:$Va1,275:525},{274:[1,529]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:530,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:531,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:532,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{4:$VH2,230:533,331:$VI2},{71:[1,534]},{71:[1,535]},{71:[1,536]},{8:$VM1,71:[1,537],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{71:[2,728]},{71:[2,729]},{109:$VJ},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,136:[1,540],148:$VV,149:$VW,150:$VX,154:[1,539],166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:538,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VA2,[2,732],{248:541,455:543,71:[1,542],448:[1,544],456:[1,545]}),{3:546,4:$V1,5:$V2,123:$VM2,149:[1,548]},o([4,5,47,65,67,69,71,81,93,99,104,106,107,113,114,120,121,126,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,265,266,267,268,269,270,271,274,276,277,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],[2,367],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,278:$Va2}),o($VN2,[2,368],{272:330,8:$VM1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,149:$VZ1}),o($VN2,[2,369],{272:330,8:$VM1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,149:$VZ1}),o($Vn1,[2,370],{272:330}),o($Ve2,[2,326]),o($Ve2,[2,734]),o($Ve2,[2,735]),o($Ve2,[2,327]),o([4,5,8,47,65,67,69,71,81,90,93,97,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,197,198,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],$VO2,{70:$Vd2}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:549,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vj2,[2,551]),o($Vj2,[2,552]),o($Vj2,[2,553]),o($Vj2,[2,554]),o($Vj2,[2,556]),{36:550,72:67,81:$V6,153:92,158:$Va},{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,256:551,259:367,260:$Vi2,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{257:552,258:$VP2,259:553,260:$Vi2,262:$VQ2},o($VR2,[2,333]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:555,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:556,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{4:$VH2,230:557,331:$VI2},o($Vj2,[2,557]),{67:[1,559],369:[1,558]},o($Vj2,[2,573]),o($VS2,[2,580]),o($VT2,[2,558]),o($VT2,[2,559]),o($VT2,[2,560]),o($VT2,[2,561]),o($VT2,[2,562]),o($VT2,[2,563]),o($VT2,[2,564]),o($VT2,[2,565]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:560,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VU2,$Vc2,{70:$Vd2,116:$VV2}),o($Vn1,[2,283],{70:$Vd2}),o($Vn1,[2,284]),{67:[1,563],367:[1,562]},o($Vj2,[2,570]),o($VW2,[2,575]),{124:[1,564]},{124:[1,565]},{124:[1,566]},{36:570,70:[1,569],72:67,81:$V6,123:[1,567],153:92,158:$Va,287:[1,568]},{197:[1,572],397:571},{3:196,4:$V1,5:$V2,70:$Vj1,107:$Vk1,115:$VR,118:190,119:$VS,124:$VT,150:$VX,169:191,170:193,171:192,172:194,179:573,182:195,249:$V91,250:$Va1,255:$Ve1,360:171,361:$Vg1,365:$Vh1},{198:[2,624]},{71:[1,574]},o($VX2,[2,722],{181:575,453:[1,576]}),o($Vn2,[2,721]),o($VX2,[2,159]),{3:577,4:$V1,5:$V2},o($VX2,[2,162]),{3:578,4:$V1,5:$V2},o($VX2,[2,166]),{3:579,4:$V1,5:$V2},o($VX2,[2,169]),{3:580,4:$V1,5:$V2},o($VX2,[2,172]),{3:581,4:$V1,5:$V2},{3:582,4:$V1,5:$V2},{120:[1,583]},o($VY2,[2,148],{75:584,152:[1,585]}),{3:196,4:$V1,5:$V2,107:[1,590],115:$VR,119:[1,591],124:$VT,150:$VX,169:586,170:587,171:588,172:589,249:$V91,250:$Va1,255:$Ve1},o($VZ2,[2,686],{83:592,444:[1,593]}),o($Vm1,[2,685]),{3:219,4:$V1,5:$V2,169:594},{3:219,4:$V1,5:$V2,169:595},{91:596,107:$VP,251:$Vb1},o($VH,[2,525],{90:[1,597]}),{3:219,4:$V1,5:$V2,169:598},{91:599,107:$VP,251:$Vb1},{3:600,4:$V1,5:$V2},o($VH,[2,621]),o($VH,[2,60]),{3:211,4:$V1,5:$V2,68:601},{70:[1,602]},o($VH,[2,602]),o($VH,[2,515]),{3:606,4:$V1,5:$V2,89:605,122:603,282:604},{118:607,119:$Vo1,360:171,361:$Vg1,365:$Vh1},o($VH,[2,599]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:608,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VJ2,$VK2,{218:131,170:132,219:133,89:134,217:135,166:136,91:137,220:138,171:139,172:140,221:141,222:142,223:143,118:144,224:145,51:147,130:149,3:150,360:171,100:609,4:$V1,5:$V2,70:$VM,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,119:$VS,124:$VT,126:$VU,148:$VV,149:$VW,150:$VX,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,361:$Vg1,365:$Vh1}),{91:610,107:$VP,251:$Vb1},{3:242,4:$V1,5:$V2,388:611,389:$Vq1},o($VH,[2,581]),o($VH,[2,591]),o($VH,[2,592]),{97:[1,614],99:[1,612],373:613},o($VH,[2,675],{67:$Vy2}),{3:93,4:$V1,5:$V2,283:$Vt1,434:615},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:618,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,145:616,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,216:617,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:618,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,145:619,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,216:617,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:618,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,145:620,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,216:617,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VB2,[2,127]),o($VB2,[2,717]),o($V_2,[2,718],{167:621,451:[1,622]}),{106:$VO,166:623},{67:$Vy2,71:[1,624]},{281:$V$2,283:$V03,402:625},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:628,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{94:[1,630],141:[1,631],261:[1,629]},o($VG,[2,8]),{120:[1,632],160:[1,633]},{160:[1,634]},{160:[1,635]},{160:[1,636]},o($VH,[2,504],{69:[1,638],70:[1,637]}),o($VH,[2,509]),{253:[1,639]},{3:640,4:$V1,5:$V2,91:641,107:$VP,251:$Vb1},{3:219,4:$V1,5:$V2,169:642},{197:[1,643]},o([8,67,71,258,260,262,441,465,466,469,470,471],$VC1,{416:283,419:284,3:285,426:286,415:644,4:$V1,5:$V2,453:$VD1,467:$VE1,468:$VF1}),o($VL1,[2,658],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($Vz2,[2,762],{418:645,466:[1,646]}),o($VE2,[2,761]),o([113,465,466,469,470,471],$VC1,{426:286,416:647,453:$VD1}),o([67,71,465,466,469,470,471],$VC1,{415:282,416:283,419:284,3:285,426:286,414:648,4:$V1,5:$V2,453:$VD1,467:$VE1,468:$VF1}),o($V13,[2,776],{428:649,470:[1,650]}),o($VF2,[2,775]),{3:219,4:$V1,5:$V2,169:651},{3:219,4:$V1,5:$V2,169:652},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:653,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($V23,[2,756],{408:654,464:[1,655]}),o($VG2,[2,755]),o($VH1,[2,616]),o($VH1,[2,617],{99:[1,656]}),{4:$VH2,230:657,331:$VI2},o($V33,[2,475],{70:[1,658]}),{70:[1,659]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:660,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($V43,[2,784],{436:661,475:[1,662]}),{473:[1,663]},o($VH,[2,517]),o($VC2,[2,497]),{3:664,4:$V1,5:$V2,91:665,107:$VP,251:$Vb1},o($VH,[2,495]),o($VH,[2,542]),o($VH,[2,596]),o($VH,$V0,{15:5,16:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:23,33:24,34:25,35:26,36:27,37:28,38:29,39:30,40:31,41:32,42:33,43:34,44:35,45:36,46:37,48:39,49:40,50:41,51:42,52:43,53:44,54:45,55:46,56:47,57:48,58:49,59:50,60:51,61:52,62:53,63:54,64:55,72:67,434:88,153:92,3:93,10:666,4:$V1,5:$V2,47:$V4,65:$V5,81:$V6,99:$V7,121:$V8,128:$V9,158:$Va,227:$Vb,281:$Vc,283:$Vd,284:$Ve,291:$Vf,337:$Vg,340:$Vh,341:$Vi,344:$Vj,346:$Vk,348:$Vl,349:$Vm,357:$Vn,358:$Vo,359:$Vp,376:$Vq,378:$Vr,379:$Vs,381:$Vt,382:$Vu,383:$Vv,384:$Vw,385:$Vx,389:$Vy,390:$Vz,393:$VA,394:$VB,439:$VC,440:$VD}),o($V53,[2,337],{272:330,8:$VM1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,148:$VY1,149:$VZ1,264:$V$1}),o($V53,[2,338],{272:330,8:$VM1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,148:$VY1,149:$VZ1,264:$V$1}),o($VN2,[2,339],{272:330,8:$VM1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,149:$VZ1}),o($VN2,[2,340],{272:330,8:$VM1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,149:$VZ1}),o($V63,[2,341],{272:330,8:$VM1,97:$VO1,98:$VP1}),o($V63,[2,342],{272:330,8:$VM1,97:$VO1,98:$VP1}),o($V63,[2,343],{272:330,8:$VM1,97:$VO1,98:$VP1}),o([4,5,47,65,67,69,71,81,90,93,98,99,104,106,107,108,112,113,114,120,121,126,128,134,139,140,141,142,148,149,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,263,264,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],[2,344],{272:330,8:$VM1,97:$VO1}),o($Vn1,[2,345],{70:$Vd2}),o($Vn1,[2,346]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:667,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vn1,[2,348]),o($Vn1,[2,349],{70:$Vd2}),o($Vn1,[2,350]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:668,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vn1,[2,352]),o($V73,[2,353],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,354],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,355],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,356],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o([4,5,47,65,81,99,113,114,121,128,141,142,158,227,258,260,262,265,266,267,268,269,270,271,276,277,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,439,440,441],$V83,{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,358],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,359],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,360],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,361],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($V73,[2,362],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),{70:[1,669]},{70:[2,393]},{70:[2,394]},{70:[2,395]},o($V93,[2,365],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,278:$Va2}),o([4,5,47,65,67,69,71,81,93,104,106,107,120,121,128,134,139,140,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],[2,366],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2}),{3:150,4:$V1,5:$V2,36:670,51:147,70:$VM,71:[1,672],72:67,81:$V6,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,153:92,158:$Va,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:671,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vn1,[2,378]),o($Vn1,[2,384]),o($Vn1,[2,385]),{70:[1,673]},{3:384,4:$V1,5:$V2,70:[1,674],89:526,119:$VL2,170:527,249:$V91,250:$Va1,275:675},o($V93,[2,380],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,278:$Va2}),o($V93,[2,381],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,278:$Va2}),o([4,5,47,65,67,69,71,81,93,99,104,106,107,113,114,120,121,126,128,134,139,140,141,142,152,158,168,176,178,190,191,192,193,194,195,196,200,207,210,211,213,227,251,258,260,261,262,265,266,267,268,269,270,271,274,276,277,278,279,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,411,439,440,441,442,462,472,474,475],[2,382],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1}),o($Vn1,[2,383]),o($Vn1,[2,277]),o($Vn1,[2,278]),o($Vn1,[2,279]),o($Vn1,[2,371]),{67:$Vv2,71:[1,676]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:677,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:678,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:679,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Ve2,[2,315]),o($VA2,[2,733]),o($VA2,[2,730]),o($VA2,[2,731]),o($Vn1,$Va3,{116:[1,680]}),o($VU2,[2,259]),o($Vn1,[2,255]),{8:$VM1,71:[1,681],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{71:[1,682]},{257:683,258:$VP2,259:553,260:$Vi2,262:$VQ2},{258:[1,684]},o($VR2,[2,332]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:685,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,261:[1,686],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{8:$VM1,69:[1,687],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{67:[1,688]},o($Vj2,[2,571]),{3:384,4:$V1,5:$V2,70:$Vk2,89:380,91:378,106:$VO,107:$VP,115:$VR,118:375,119:$Vo1,124:$VT,150:$VX,166:377,170:379,171:382,220:381,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,255:$Ve1,360:171,361:$Vg1,363:690,364:376,365:$Vh1,369:[1,689]},{8:$VM1,71:[1,691],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{3:692,4:$V1,5:$V2,123:$VM2},o($Vj2,[2,568]),{3:392,4:$V1,5:$V2,106:$Vl2,107:$Vm2,367:[1,693],370:694},{3:384,4:$V1,5:$V2,70:$Vk2,89:380,91:378,106:$VO,107:$VP,115:$VR,118:375,119:$Vo1,124:$VT,150:$VX,166:377,170:379,171:382,220:381,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,255:$Ve1,360:171,361:$Vg1,363:695,364:376,365:$Vh1},{3:384,4:$V1,5:$V2,70:$Vk2,89:380,91:378,106:$VO,107:$VP,115:$VR,118:375,119:$Vo1,124:$VT,150:$VX,166:377,170:379,171:382,220:381,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,255:$Ve1,360:171,361:$Vg1,363:696,364:376,365:$Vh1},{3:384,4:$V1,5:$V2,70:$Vk2,89:380,91:378,106:$VO,107:$VP,115:$VR,118:375,119:$Vo1,124:$VT,150:$VX,166:377,170:379,171:382,220:381,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,255:$Ve1,360:171,361:$Vg1,363:697,364:376,365:$Vh1},{70:$Vb3,115:$VR,118:700,119:$Vo1,124:$VT,150:$VX,171:701,255:$Ve1,286:698,360:171,361:$Vg1,365:$Vh1},{123:[1,702]},{3:606,4:$V1,5:$V2,89:704,199:703},o($Vc3,[2,406]),{260:$VE,398:705,400:101,401:102},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:706,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{197:[2,625]},o($Vo2,[2,157],{3:707,4:$V1,5:$V2,69:[1,708]}),o($VX2,[2,158]),o($VX2,[2,723]),o($VX2,[2,160]),o($VX2,[2,163]),o($VX2,[2,167]),o($VX2,[2,170]),o($VX2,[2,173]),o([4,5,8,67,69,70,71,81,93,104,120,121,123,126,134,139,140,152,156,158,176,178,190,191,192,193,194,195,196,197,198,200,213,252,258,260,262,287,300,312,313,317,318,337,341,342,343,441,444,458,459,462],[2,175]),{3:709,4:$V1,5:$V2},o([8,71,93,134,139,140,200,213,258,260,262,441,462],[2,212],{76:710,104:[1,711]}),{3:196,4:$V1,5:$V2,70:[1,713],107:$Vk1,115:$VR,118:190,119:$VS,124:$VT,150:$VX,169:191,170:193,171:192,172:194,173:712,179:714,182:195,249:$V91,250:$Va1,255:$Ve1,360:171,361:$Vg1,365:$Vh1},o($Vd3,[2,140]),o($Vd3,[2,141]),o($Vd3,[2,142]),o($Vd3,[2,143]),o($Vd3,[2,144]),{3:715,4:$V1,5:$V2},o($VZ2,[2,65]),o($VZ2,[2,687]),o($VH,[2,535],{152:[1,716]}),o($VH,[2,531],{152:[1,717]}),o($VH,[2,524]),{91:718,107:$VP,251:$Vb1},o($VH,[2,533],{152:[1,719]}),o($VH,[2,528]),o($VH,[2,529],{90:[1,720]}),o($Vt2,[2,61]),{36:721,72:67,81:$V6,153:92,158:$Va},o($VH,[2,397],{67:$Ve3,104:[1,722]}),o($Vf3,[2,398]),{99:[1,724]},o([8,67,69,71,93,99,104,134,139,140,176,178,190,191,192,193,194,195,196,200,213,258,260,262,441,462],$Vc2,{116:$VV2}),o($VH,[2,549]),o($Vw2,[2,319],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($V73,$V83,{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,126:$VV1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,274:$V72,278:$Va2}),o($VH1,[2,610]),o($VH1,[2,612]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:725,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{97:[1,727],99:[1,726]},{3:729,4:$V1,5:$V2,70:$Vg3,106:$Vh3,374:728},o($Vz2,[2,677]),o($VB2,[2,124],{67:$Vi3}),o($Vj3,[2,246]),o([67,71,93,104,134,139,140,152,168,200,213,258,260,262,441,442,462],[2,253],{272:330,3:734,91:736,4:$V1,5:$V2,8:$VM1,69:[1,733],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,106:[1,735],107:$VP,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,251:$Vb1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VB2,[2,125],{67:$Vi3}),o($VB2,[2,126],{67:$Vi3}),o($V_2,[2,136]),o($V_2,[2,719]),{71:[1,737]},o($Vw1,[2,674]),o($Vz1,[2,631]),o($Vz1,[2,633]),{121:[1,738]},{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,261:[1,739],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{284:$Vk3,403:740},{358:[1,743],404:[1,742]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:744,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:745,4:$V1,5:$V2},{3:746,4:$V1,5:$V2},{3:748,4:$V1,5:$V2,327:747},{3:748,4:$V1,5:$V2,327:749},{3:750,4:$V1,5:$V2},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:751,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:752,4:$V1,5:$V2},o($VC2,[2,440]),o($VH,$Vl3,{347:753,69:$Vm3,70:[1,754]}),o($VH,$Vl3,{347:756,69:$Vm3}),{70:[1,757]},{3:219,4:$V1,5:$V2,169:758},o($Vz2,[2,659]),o($Vz2,[2,661]),o($Vz2,[2,763]),o($Vn3,[2,766],{420:759,465:[1,760]}),{67:$VD2,71:[1,761]},o($Vo3,[2,778],{429:762,471:[1,763]}),o($V13,[2,777]),o($VH,[2,427],{70:[1,764]}),{69:[1,766],70:[1,765]},{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,120:[1,767],126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},o($Vc3,$Vp3,{72:67,153:92,409:768,36:771,81:$V6,121:$Vq3,158:$Va,411:$Vr3}),o($V23,[2,757]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:772,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VH1,[2,618],{99:[1,773]}),{106:[1,775],242:[1,776],330:774},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:778,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,288:777,360:171,361:$Vg1,365:$Vh1},o($VL1,[2,401],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($Vw1,[2,786],{437:779,472:[1,780]}),{473:[1,781]},o([8,67,71,258,260,262,439,441,472,475],[2,783]),o($VH,[2,518]),o($VH,[2,519]),o($VH,[2,598]),{8:$VM1,71:[1,782],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{8:$VM1,71:[1,783],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{3:150,4:$V1,5:$V2,36:784,51:147,70:$VM,72:67,81:$V6,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,153:92,158:$Va,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:785,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{71:[1,786]},{67:$Vv2,71:[1,787]},o($Vn1,[2,376]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:788,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,36:789,51:147,70:$VM,71:[1,791],72:67,81:$V6,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,153:92,158:$Va,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:790,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vn1,[2,379]),o($Vn1,$Vs3,{234:792,235:$Vt3}),{8:$VM1,71:[1,794],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{8:$VM1,71:[1,795],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{67:$Vv2,71:[1,796]},{3:797,4:$V1,5:$V2,149:[1,798]},o($Vj2,[2,550]),o($Vn1,[2,325]),{258:[1,799]},o($Vn1,[2,331]),{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,258:[2,335],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:800,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{4:$VH2,230:801,331:$VI2},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:802,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vj2,[2,572]),o($VS2,[2,579]),o($VT2,[2,567]),o($VU2,$Va3,{116:[1,803]}),o($Vj2,[2,569]),o($VW2,[2,574]),o($VW2,[2,576]),o($VW2,[2,577]),o($VW2,[2,578]),o($Vc3,[2,403],{67:$Vu3}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:778,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,288:805,360:171,361:$Vg1,365:$Vh1},o($Vv3,[2,411]),o($Vv3,[2,412]),o($Vc3,[2,404]),{67:$Vw3,71:[1,806]},o($Vx3,[2,424]),o([8,258,262,441],[2,645],{400:268,401:269,399:808,260:$VE,405:[1,809]}),{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,260:[2,626],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},o($VX2,[2,155]),{3:810,4:$V1,5:$V2},o($VH,[2,503]),o($Vy3,[2,214],{77:811,200:[1,812]}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:813,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VY2,[2,145],{174:814,183:816,175:817,184:818,189:821,67:$Vz3,69:$VA3,176:$VB3,178:$VC3,190:$VD3,191:$VE3,192:$VF3,193:$VG3,194:$VH3,195:$VI3,196:$VJ3}),{3:196,4:$V1,5:$V2,36:397,70:$Vj1,72:67,81:$V6,107:$Vk1,115:$VR,118:190,119:$VS,124:$VT,150:$VX,153:92,158:$Va,169:191,170:193,171:192,172:194,173:830,179:714,182:195,249:$V91,250:$Va1,255:$Ve1,360:171,361:$Vg1,365:$Vh1},o($Vx3,[2,153]),o($Vd3,$VO2),{3:831,4:$V1,5:$V2},{3:832,4:$V1,5:$V2},o($VH,[2,526]),{3:833,4:$V1,5:$V2},{91:834,107:$VP,251:$Vb1},{71:[1,835]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:836,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:606,4:$V1,5:$V2,89:605,282:837},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:838,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VL1,[2,582],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:839,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:729,4:$V1,5:$V2,70:$Vg3,106:$Vh3,374:840},o($VK3,[2,587]),o($VK3,[2,588]),o($VK3,[2,589]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:841,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:618,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,216:842,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:843,4:$V1,5:$V2,91:845,106:[1,844],107:$VP,251:$Vb1},o($Vj3,[2,248]),o($Vj3,[2,250]),o($Vj3,[2,252]),o($V_2,[2,137]),{3:606,4:$V1,5:$V2,89:605,122:846,282:604},{281:$V$2,283:$V03,402:847},o($Vz1,[2,635]),{70:[1,849],123:[1,848],287:[1,850]},{141:[1,852],261:[1,851]},{141:[1,854],261:[1,853]},{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,261:[1,855],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},o($VH,[2,498]),{120:[1,856]},o($VH,[2,499]),o($Vz2,[2,472],{230:857,4:$VH2,329:[1,858],331:$VI2}),o($VH,[2,500]),o($VH,[2,502]),{67:$Vv2,71:[1,859]},o($VH,[2,506]),o($VH,[2,510]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:860,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:861,4:$V1,5:$V2},o($VH,[2,512]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,95:862,100:864,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,209:863,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{70:[1,865]},{113:[2,768],421:866,466:[1,867]},o($Vn3,[2,767]),o($Vz2,[2,663]),o($Vo3,[2,667]),o($Vo3,[2,779]),{3:748,4:$V1,5:$V2,69:[1,870],295:868,302:869,327:871},{3:606,4:$V1,5:$V2,89:704,199:872},{36:873,72:67,81:$V6,153:92,158:$Va},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:874,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vc3,[2,650]),{3:606,4:$V1,5:$V2,89:605,122:875,282:604},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:236,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,233:876,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vc3,[2,655]),o($VL3,[2,619],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:877,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{67:[1,878],71:[1,879]},o($VM3,[2,477]),o($VM3,[2,478]),{67:$VN3,71:[1,880]},o($VM3,[2,416],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($Vw1,[2,672]),{473:[1,882]},o($V43,[2,785]),o($Vn1,[2,347]),o($Vn1,[2,351]),{71:[1,883]},{67:$Vv2,71:[1,884]},o($Vn1,[2,372]),o($Vn1,[2,374]),{8:$VM1,71:[1,885],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{71:[1,886]},{67:$Vv2,71:[1,887]},o($Vn1,[2,377]),o($Vn1,[2,296]),{70:[1,888]},o($Vn1,$Vs3,{234:889,235:$Vt3}),o($Vn1,$Vs3,{234:890,235:$Vt3}),o($Ve2,[2,314]),o($VU2,[2,257]),o($Vn1,[2,254]),o($Vn1,[2,330]),o($VR2,[2,334],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{67:[1,892],71:[1,891]},{8:$VM1,67:[1,894],71:[1,893],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{3:797,4:$V1,5:$V2},{70:[1,895],115:$VR,118:896,119:$Vo1,124:$VT,150:$VX,171:897,255:$Ve1,360:171,361:$Vg1,365:$Vh1},{67:$VN3,71:[1,898]},{36:900,72:67,81:$V6,123:[1,899],153:92,158:$Va},{3:606,4:$V1,5:$V2,89:901},o($VH,[2,622]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:618,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,145:902,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,216:617,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VX2,[2,156]),o($VO3,[2,233],{78:903,93:[1,904]}),{94:[1,905]},o([71,93,134,139,140,200,213,258,260,262,441,462],[2,213],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VY2,[2,146],{184:818,189:821,183:906,175:907,69:$VA3,176:$VB3,178:$VC3,190:$VD3,191:$VE3,192:$VF3,193:$VG3,194:$VH3,195:$VI3,196:$VJ3}),{3:196,4:$V1,5:$V2,70:$Vj1,107:$Vk1,115:$VR,118:190,119:$VS,124:$VT,150:$VX,169:191,170:193,171:192,172:194,179:908,182:195,249:$V91,250:$Va1,255:$Ve1,360:171,361:$Vg1,365:$Vh1},o($VP3,[2,179]),o($VP3,[2,180]),{3:196,4:$V1,5:$V2,70:[1,913],115:$VR,118:911,119:$VS,124:$VT,150:$VX,169:910,170:914,171:912,172:915,185:909,249:$V91,250:$Va1,255:$Ve1,360:171,361:$Vg1,365:$Vh1},{177:[1,916],191:$VQ3},{177:[1,918],191:$VR3},o($VS3,[2,196]),{69:$VA3,176:[1,922],178:[1,921],189:920,191:$VE3,192:$VF3,193:$VG3,194:$VH3,195:$VI3,196:$VJ3},o($VS3,[2,198]),{191:[1,923]},{178:[1,925],191:[1,924]},{178:[1,927],191:[1,926]},{178:[1,928]},{191:[1,929]},{191:[1,930]},{67:$Vz3,69:$VA3,174:931,175:817,176:$VB3,178:$VC3,183:816,184:818,189:821,190:$VD3,191:$VE3,192:$VF3,193:$VG3,194:$VH3,195:$VI3,196:$VJ3},o($VH,[2,536]),o($VH,[2,532]),o($VH,[2,534]),o($VH,[2,530]),o($Vt2,[2,63]),o($VL1,[2,396],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($Vf3,[2,399]),o([4,5,47,65,67,71,81,99,104,121,128,158,227,258,260,262,281,283,284,291,337,340,341,344,346,348,349,357,358,359,376,378,379,381,382,383,384,385,389,390,393,394,405,439,440,441],[2,400],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VL1,[2,583],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VK3,[2,586]),{8:$VM1,71:[1,932],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},o($Vj3,[2,245]),o($Vj3,[2,247]),o($Vj3,[2,249]),o($Vj3,[2,251]),o($Vz1,[2,634],{67:$Ve3}),o($Vz1,[2,632]),{70:$Vb3,115:$VR,118:700,119:$Vo1,124:$VT,150:$VX,171:701,255:$Ve1,286:933,360:171,361:$Vg1,365:$Vh1},{3:606,4:$V1,5:$V2,89:704,199:934},{123:[1,935]},{284:$Vk3,403:936},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:937,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{284:$Vk3,403:938},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:939,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{284:$Vk3,403:940},{3:941,4:$V1,5:$V2},o($Vz2,[2,479],{328:942,332:943,333:944,310:952,126:$VT3,156:$VU3,252:$VV3,287:$VW3,300:$VX3,312:$VY3,313:$VZ3,317:$V_3,318:$V$3}),o($Vz2,[2,471]),o($VH,[2,505],{69:[1,955]}),{67:$Vv2,71:[1,956]},o($VH,[2,514]),{67:$V04,71:[1,957]},o($V14,[2,235]),o([67,71,134,139,140,213,258,260,262,441,462],[2,237],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,210:[1,959],211:[1,960],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,95:961,100:864,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,209:863,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{113:[1,962]},{113:[2,769]},{71:[1,963]},{67:[1,964],71:[2,442]},{36:965,72:67,81:$V6,153:92,158:$Va},o($VM3,[2,468]),{67:$Vw3,71:[1,966]},o($VH,[2,750],{352:967,462:[1,968]}),o($VL1,$Vp3,{72:67,153:92,272:330,36:771,409:969,8:$VM1,81:$V6,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,121:$Vq3,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,158:$Va,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2,411:$Vr3}),o($Vc3,[2,653],{67:$Ve3}),o($Vc3,[2,654],{67:$Vv2}),o($VL3,[2,620],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{106:[1,970]},o($V33,[2,474]),o($V33,[2,476]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:971,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vw1,[2,787]),o($Vn1,[2,363]),o($Vn1,[2,364]),o($Vn1,[2,386]),o($Vn1,[2,373]),o($Vn1,[2,375]),{93:$V24,236:972,237:973,238:[1,974]},o($Vn1,[2,297]),o($Vn1,[2,298]),o($Vn1,[2,285]),{106:[1,976]},o($Vn1,[2,287]),{106:[1,977]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:778,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,288:978,360:171,361:$Vg1,365:$Vh1},o($Vv3,[2,414]),o($Vv3,[2,415]),o($Vv3,[2,410]),{70:$Vb3,115:$VR,118:700,119:$Vo1,124:$VT,150:$VX,171:701,255:$Ve1,286:979,360:171,361:$Vg1,365:$Vh1},o($Vc3,[2,407]),o($Vx3,[2,425]),o($VH,[2,646],{67:$Vi3,168:[1,980]}),o($V34,[2,241],{79:981,213:[1,982]}),{94:[1,983]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:989,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,201:984,203:985,204:$V44,205:$V54,206:$V64,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VP3,[2,177]),o($VP3,[2,178]),o($Vx3,[2,154]),o($VP3,[2,211],{186:990,197:[1,991],198:[1,992]}),o($V74,[2,182],{3:993,4:$V1,5:$V2,69:[1,994]}),o($V84,[2,724],{187:995,452:[1,996]}),{3:997,4:$V1,5:$V2,69:[1,998]},{36:999,72:67,81:$V6,153:92,158:$Va},o($V74,[2,190],{3:1000,4:$V1,5:$V2,69:[1,1001]}),o($V74,[2,193],{3:1002,4:$V1,5:$V2,69:[1,1003]}),{70:[1,1004]},o($VS3,[2,208]),{70:[1,1005]},o($VS3,[2,204]),o($VS3,[2,197]),{191:$VR3},{191:$VQ3},o($VS3,[2,199]),o($VS3,[2,200]),{191:[1,1006]},o($VS3,[2,202]),{191:[1,1007]},{191:[1,1008]},o($VS3,[2,206]),o($VS3,[2,207]),{69:$VA3,71:[1,1009],175:907,176:$VB3,178:$VC3,183:906,184:818,189:821,190:$VD3,191:$VE3,192:$VF3,193:$VG3,194:$VH3,195:$VI3,196:$VJ3},o($VK3,[2,590]),o($Vz1,[2,641],{67:$Vu3}),{67:$Vw3,71:[1,1010]},o($Vz1,[2,643]),o($Vz1,[2,636]),{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,261:[1,1011],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},o($Vz1,[2,639]),{8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,261:[1,1012],263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},o($Vz1,[2,637]),o($VH,[2,501]),o($Vz2,[2,470]),o($Vz2,[2,480],{310:952,333:1013,126:$VT3,156:$VU3,252:$VV3,287:$VW3,300:$VX3,312:$VY3,313:$VZ3,317:$V_3,318:$V$3}),o($Vu2,[2,482]),{314:[1,1014]},{314:[1,1015]},{3:219,4:$V1,5:$V2,169:1016},o($Vu2,[2,488],{70:[1,1017]}),{3:232,4:$V1,5:$V2,70:[1,1019],91:227,106:$VO,107:$VP,115:$VR,124:$VT,150:$VX,166:226,170:228,171:230,220:229,226:$Vp1,232:1018,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,255:$Ve1},o($Vu2,[2,491]),{252:[1,1020]},o($Vu2,[2,493]),o($Vu2,[2,494]),{70:[1,1021]},{3:1022,4:$V1,5:$V2},o($VH,$Vl3,{347:1023,69:$Vm3}),o($VH,[2,520]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:864,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,209:1024,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($V14,[2,238]),{212:[1,1025]},{67:$V04,71:[1,1026]},{422:1027,467:[1,1028],468:[1,1029]},o($VH,[2,430],{296:1030,298:1031,299:1032,4:$V94,287:$Va4,300:$Vb4}),o($Vc4,$Vd4,{3:748,303:1036,327:1037,304:1038,305:1039,4:$V1,5:$V2,311:$Ve4}),{71:[2,443]},{69:[1,1041]},o($VH,[2,538]),o($VH,[2,751]),o($VH,[2,656]),{71:[1,1042]},o($VM3,[2,417],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{71:[1,1043],93:$V24,237:1044},{71:[1,1045]},{94:[1,1046]},{94:[1,1047]},{71:[1,1048]},{71:[1,1049]},{67:$VN3,71:[1,1050]},o($Vc3,[2,405],{67:$Vu3}),{3:219,4:$V1,5:$V2,115:$Vr1,119:$Vs1,169:1052,372:1051},o($VZ2,[2,224],{80:1053,134:[1,1054],139:[1,1056],140:[1,1055]}),{106:$VO,166:1057},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,95:1058,100:864,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,209:863,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vy3,[2,222],{202:1059,67:$Vf4,207:[1,1061]}),o($Vg4,[2,216]),{121:[1,1062]},{70:[1,1063]},{70:[1,1064]},o([67,71,93,134,139,140,207,213,258,260,262,441,462],[2,221],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VP3,[2,181]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:1065,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:606,4:$V1,5:$V2,89:704,199:1066},o($Vh4,[2,183]),{3:1067,4:$V1,5:$V2},o($Vh4,[2,726],{188:1068,453:[1,1069]}),o($V84,[2,725]),o($Vh4,[2,186]),{3:1070,4:$V1,5:$V2},{71:[1,1071]},o($Vh4,[2,191]),{3:1072,4:$V1,5:$V2},o($Vh4,[2,194]),{3:1073,4:$V1,5:$V2},{36:1074,72:67,81:$V6,153:92,158:$Va},{36:1075,72:67,81:$V6,153:92,158:$Va},o($VS3,[2,201]),o($VS3,[2,203]),o($VS3,[2,205]),o($VY2,[2,147]),{123:[1,1076],287:[1,1077]},{284:$Vk3,403:1078},{281:$V$2,283:$V03,402:1079},o($Vu2,[2,481]),o($Vu2,[2,484]),{318:[1,1080]},o($Vu2,[2,744],{336:1081,459:[1,1082]}),{106:$VO,166:1083},o($Vu2,[2,489]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:1084,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vu2,[2,492]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:1085,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($VH,[2,507]),o($VH,[2,511]),o($V14,[2,236]),o($V14,[2,239],{210:[1,1086]}),o($VH,[2,521]),o($Vz2,[2,662]),o($Vz2,[2,770]),o($Vz2,[2,771]),o($VH,[2,426]),o($VH,[2,431],{299:1087,4:$V94,287:$Va4,300:$Vb4}),o($Vi4,[2,433]),o($Vi4,[2,434]),{99:[1,1088]},{99:[1,1089]},{67:[1,1090],71:[2,441]},o($VM3,[2,469]),o($VM3,[2,444]),{156:[1,1098],163:[1,1099],306:1091,307:1092,308:1093,309:1094,310:1095,312:$VY3,313:[1,1096],314:[1,1100],317:[1,1097]},{3:1101,4:$V1,5:$V2},{36:1102,72:67,81:$V6,153:92,158:$Va},o($V33,[2,473]),o($Vn1,[2,300]),{71:[1,1103]},o($Vn1,[2,301]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:989,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,201:1104,203:985,204:$V44,205:$V54,206:$V64,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,95:1105,100:864,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,209:863,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o($Vn1,[2,286]),o($Vn1,[2,288]),o($Vv3,[2,413]),{3:1106,4:$V1,5:$V2},o($VH,[2,648],{70:[1,1107]}),o($VZ2,[2,64]),{36:1108,72:67,81:$V6,136:[1,1109],153:92,158:$Va,208:[1,1110]},{36:1111,72:67,81:$V6,153:92,158:$Va,208:[1,1112]},{36:1113,72:67,81:$V6,153:92,158:$Va,208:[1,1114]},o($V34,[2,243],{214:1115,215:[1,1116]}),o($VO3,[2,234],{67:$V04}),o($Vy3,[2,215]),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:989,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,203:1117,204:$V44,205:$V54,206:$V64,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:1118,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{70:[1,1119]},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:989,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,201:1120,203:985,204:$V44,205:$V54,206:$V64,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:989,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,201:1121,203:985,204:$V44,205:$V54,206:$V64,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},o([69,71,93,104,134,139,140,176,178,190,191,192,193,194,195,196,200,213,258,260,262,441,462],[2,209],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),o($VP3,[2,210],{67:$Vw3}),o($Vh4,[2,184]),o($Vh4,[2,185]),o($Vh4,[2,727]),o($Vh4,[2,187]),{3:1122,4:$V1,5:$V2,69:[1,1123]},o($Vh4,[2,192]),o($Vh4,[2,195]),{71:[1,1124]},{71:[1,1125]},{70:$Vb3,115:$VR,118:700,119:$Vo1,124:$VT,150:$VX,171:701,255:$Ve1,286:1126,360:171,361:$Vg1,365:$Vh1},{123:[1,1127]},o($Vz1,[2,638]),o($Vz1,[2,640]),{3:219,4:$V1,5:$V2,169:1128},o($Vu2,[2,486]),o($Vu2,[2,745]),{67:[1,1129]},{8:$VM1,71:[1,1130],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},{8:$VM1,71:[1,1131],90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,272:330,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2},o($V14,[2,240]),o($Vi4,[2,432]),{3:1132,4:$V1,5:$V2},{106:$VO,166:1133},o($Vc4,$Vd4,{305:1039,304:1134,311:$Ve4}),o($VM3,[2,446]),o($VM3,[2,447]),o($VM3,[2,448]),o($VM3,[2,449]),o($VM3,[2,450]),{314:[1,1135]},{314:[1,1136]},{70:[2,740],326:1137,453:[1,1138]},{3:1139,4:$V1,5:$V2},{3:1140,4:$V1,5:$V2},o($Vc4,[2,452]),o($VH,[2,748],{351:1141,462:[1,1142]}),o($Vn1,[2,302]),o([71,93],[2,303],{67:$Vf4}),{67:$V04,71:[2,304]},o($VH,[2,647]),{3:606,4:$V1,5:$V2,89:704,199:1143},o($VZ2,[2,225]),{36:1144,72:67,81:$V6,153:92,158:$Va,208:[1,1145]},{36:1146,72:67,81:$V6,153:92,158:$Va},o($VZ2,[2,227]),{36:1147,72:67,81:$V6,153:92,158:$Va},o($VZ2,[2,228]),{36:1148,72:67,81:$V6,153:92,158:$Va},o($V34,[2,242]),{106:$VO,166:1149},o($Vg4,[2,217]),o([71,93,134,139,140,213,258,260,262,441,462],[2,223],{272:330,8:$VM1,90:$VN1,97:$VO1,98:$VP1,99:$Vx2,108:$VR1,112:$VS1,113:$VT1,114:$VU1,126:$VV1,141:$VW1,142:$VX1,148:$VY1,149:$VZ1,263:$V_1,264:$V$1,265:$V02,266:$V12,267:$V22,268:$V32,269:$V42,270:$V52,271:$V62,274:$V72,276:$V82,277:$V92,278:$Va2,279:$Vb2}),{3:150,4:$V1,5:$V2,51:147,70:$VM,89:134,91:137,100:989,105:$VN,106:$VO,107:$VP,111:$VQ,115:$VR,118:144,119:$VS,124:$VT,126:$VU,130:149,148:$VV,149:$VW,150:$VX,166:136,170:132,171:139,172:140,201:1150,203:985,204:$V44,205:$V54,206:$V64,217:135,218:131,219:133,220:138,221:141,222:142,223:143,224:145,226:$VY,227:$Vb,228:$VZ,229:$V_,231:$V$,239:$V01,240:$V11,241:$V21,242:$V31,243:$V41,244:$V51,245:$V61,246:$V71,247:$V81,249:$V91,250:$Va1,251:$Vb1,252:$Vc1,253:$Vd1,255:$Ve1,264:$Vf1,360:171,361:$Vg1,365:$Vh1},{67:$Vf4,71:[1,1151]},{67:$Vf4,71:[1,1152]},o($Vh4,[2,188]),{3:1153,4:$V1,5:$V2},{3:1154,4:$V1,5:$V2,69:[1,1155]},{3:1156,4:$V1,5:$V2,69:[1,1157]},o($Vz1,[2,642],{67:$Vu3}),o($Vz1,[2,644]),o($Vu2,[2,742],{335:1158,459:[1,1159]}),{106:$VO,166:1160},o($Vu2,[2,490]),o($Vu2,[2,453]),o($Vi4,[2,435]),o($Vi4,[2,436]),o($VM3,[2,445]),{70:[2,736],315:1161,453:[1,1162]},{70:[1,1163]},{70:[1,1164]},{70:[2,741]},{70:[1,1165]},{70:[1,1166]},o($VH,[2,537]),o($VH,[2,749]),{67:$Vw3,71:[1,1167]},o($VZ2,[2,226]),{36:1168,72:67,81:$V6,153:92,158:$Va},o($VZ2,[2,229]),o($VZ2,[2,231]),o($VZ2,[2,232]),o($V34,[2,244]),{67:$Vf4,71:[1,1169]},o($Vg4,[2,219]),o($Vg4,[2,220]),o($Vh4,[2,189]),o($VP3,[2,149]),{3:1170,4:$V1,5:$V2},o($VP3,[2,151]),{3:1171,4:$V1,5:$V2},o($Vu2,[2,485]),o($Vu2,[2,743]),{71:[1,1172]},{70:[1,1173]},{70:[2,737]},{3:1175,4:$V1,5:$V2,107:$Vj4,316:1174},{3:606,4:$V1,5:$V2,89:704,199:1177},{3:606,4:$V1,5:$V2,89:704,199:1178},{3:606,4:$V1,5:$V2,89:704,199:1179},o($VH,[2,649]),o($VZ2,[2,230]),o($Vg4,[2,218]),o($VP3,[2,150]),o($VP3,[2,152]),o($Vu2,[2,487]),{3:1175,4:$V1,5:$V2,107:$Vj4,316:1180},{67:$Vk4,71:[1,1181]},o($VM3,[2,464]),o($VM3,[2,465]),{67:$Vw3,71:[1,1183]},{67:$Vw3,71:[1,1184]},{67:$Vw3,71:[1,1185]},{67:$Vk4,71:[1,1186]},{318:[1,1187]},{3:1188,4:$V1,5:$V2,107:[1,1189]},o($VM3,[2,461]),o($VM3,[2,462]),o($VM3,[2,463]),o($VM3,[2,454]),{3:219,4:$V1,5:$V2,169:1190},o($VM3,[2,466]),o($VM3,[2,467]),o($Vl4,[2,738],{319:1191,458:[1,1192]}),o($VM3,[2,457],{320:1193,322:1194,197:[1,1195]}),o($Vl4,[2,739]),o($VM3,[2,455]),{197:[1,1197],323:1196},{283:[1,1198]},o($VM3,[2,458]),{281:[1,1199]},{324:[1,1200]},{324:[1,1201]},{325:[1,1202]},{325:[1,1203]},{197:[2,459]},o($VM3,[2,460])],
-defaultActions: {97:[2,3],174:[2,305],175:[2,306],176:[2,307],177:[2,308],178:[2,309],179:[2,310],180:[2,311],181:[2,312],182:[2,313],187:[2,623],287:[2,764],288:[2,765],295:[2,759],343:[2,728],344:[2,729],396:[2,624],519:[2,393],520:[2,394],521:[2,395],573:[2,625],867:[2,769],965:[2,443],1138:[2,741],1162:[2,737],1202:[2,459]},
-parseError: function parseError(str, hash) {
- if (hash.recoverable) {
- this.trace(str);
- } else {
- throw new Error(str);
- }
-},
-parse: function parse(input) {
- var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
- var args = lstack.slice.call(arguments, 1);
- var lexer = Object.create(this.lexer);
- var sharedState = { yy: {} };
- for (var k in this.yy) {
- if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
- sharedState.yy[k] = this.yy[k];
- }
- }
- lexer.setInput(input, sharedState.yy);
- sharedState.yy.lexer = lexer;
- sharedState.yy.parser = this;
- if (typeof lexer.yylloc == 'undefined') {
- lexer.yylloc = {};
- }
- var yyloc = lexer.yylloc;
- lstack.push(yyloc);
- var ranges = lexer.options && lexer.options.ranges;
- if (typeof sharedState.yy.parseError === 'function') {
- this.parseError = sharedState.yy.parseError;
- } else {
- this.parseError = Object.getPrototypeOf(this).parseError;
- }
- function popStack(n) {
- stack.length = stack.length - 2 * n;
- vstack.length = vstack.length - n;
- lstack.length = lstack.length - n;
- }
- _token_stack:
- function lex() {
- var token;
- token = lexer.lex() || EOF;
- if (typeof token !== 'number') {
- token = self.symbols_[token] || token;
- }
- return token;
- }
- var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
- while (true) {
- state = stack[stack.length - 1];
- if (this.defaultActions[state]) {
- action = this.defaultActions[state];
- } else {
- if (symbol === null || typeof symbol == 'undefined') {
- symbol = lex();
- }
- action = table[state] && table[state][symbol];
- }
- if (typeof action === 'undefined' || !action.length || !action[0]) {
- var errStr = '';
- expected = [];
- for (p in table[state]) {
- if (this.terminals_[p] && p > TERROR) {
- expected.push('\'' + this.terminals_[p] + '\'');
- }
- }
- if (lexer.showPosition) {
- errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
- } else {
- errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
- }
- this.parseError(errStr, {
- text: lexer.match,
- token: this.terminals_[symbol] || symbol,
- line: lexer.yylineno,
- loc: yyloc,
- expected: expected
- });
- }
- if (action[0] instanceof Array && action.length > 1) {
- throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
- }
- switch (action[0]) {
- case 1:
- stack.push(symbol);
- vstack.push(lexer.yytext);
- lstack.push(lexer.yylloc);
- stack.push(action[1]);
- symbol = null;
- if (!preErrorSymbol) {
- yyleng = lexer.yyleng;
- yytext = lexer.yytext;
- yylineno = lexer.yylineno;
- yyloc = lexer.yylloc;
- if (recovering > 0) {
- recovering--;
- }
- } else {
- symbol = preErrorSymbol;
- preErrorSymbol = null;
- }
- break;
- case 2:
- len = this.productions_[action[1]][1];
- yyval.$ = vstack[vstack.length - len];
- yyval._$ = {
- first_line: lstack[lstack.length - (len || 1)].first_line,
- last_line: lstack[lstack.length - 1].last_line,
- first_column: lstack[lstack.length - (len || 1)].first_column,
- last_column: lstack[lstack.length - 1].last_column
- };
- if (ranges) {
- yyval._$.range = [
- lstack[lstack.length - (len || 1)].range[0],
- lstack[lstack.length - 1].range[1]
- ];
- }
- r = this.performAction.apply(yyval, [
- yytext,
- yyleng,
- yylineno,
- sharedState.yy,
- action[1],
- vstack,
- lstack
- ].concat(args));
- if (typeof r !== 'undefined') {
- return r;
- }
- if (len) {
- stack = stack.slice(0, -1 * len * 2);
- vstack = vstack.slice(0, -1 * len);
- lstack = lstack.slice(0, -1 * len);
- }
- stack.push(this.productions_[action[1]][0]);
- vstack.push(yyval.$);
- lstack.push(yyval._$);
- newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
- stack.push(newState);
- break;
- case 3:
- return true;
- }
- }
- return true;
-}};
-/* generated by jison-lex 0.3.4 */
-var lexer = (function(){
-var lexer = ({
-
-EOF:1,
-
-parseError:function parseError(str, hash) {
- if (this.yy.parser) {
- this.yy.parser.parseError(str, hash);
- } else {
- throw new Error(str);
- }
- },
-
-// resets the lexer, sets new input
-setInput:function (input, yy) {
- this.yy = yy || this.yy || {};
- this._input = input;
- this._more = this._backtrack = this.done = false;
- this.yylineno = this.yyleng = 0;
- this.yytext = this.matched = this.match = '';
- this.conditionStack = ['INITIAL'];
- this.yylloc = {
- first_line: 1,
- first_column: 0,
- last_line: 1,
- last_column: 0
- };
- if (this.options.ranges) {
- this.yylloc.range = [0,0];
- }
- this.offset = 0;
- return this;
- },
-
-// consumes and returns one char from the input
-input:function () {
- var ch = this._input[0];
- this.yytext += ch;
- this.yyleng++;
- this.offset++;
- this.match += ch;
- this.matched += ch;
- var lines = ch.match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno++;
- this.yylloc.last_line++;
- } else {
- this.yylloc.last_column++;
- }
- if (this.options.ranges) {
- this.yylloc.range[1]++;
- }
-
- this._input = this._input.slice(1);
- return ch;
- },
-
-// unshifts one char (or a string) into the input
-unput:function (ch) {
- var len = ch.length;
- var lines = ch.split(/(?:\r\n?|\n)/g);
-
- this._input = ch + this._input;
- this.yytext = this.yytext.substr(0, this.yytext.length - len);
- //this.yyleng -= len;
- this.offset -= len;
- var oldLines = this.match.split(/(?:\r\n?|\n)/g);
- this.match = this.match.substr(0, this.match.length - 1);
- this.matched = this.matched.substr(0, this.matched.length - 1);
-
- if (lines.length - 1) {
- this.yylineno -= lines.length - 1;
- }
- var r = this.yylloc.range;
-
- this.yylloc = {
- first_line: this.yylloc.first_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.first_column,
- last_column: lines ?
- (lines.length === oldLines.length ? this.yylloc.first_column : 0)
- + oldLines[oldLines.length - lines.length].length - lines[0].length :
- this.yylloc.first_column - len
- };
-
- if (this.options.ranges) {
- this.yylloc.range = [r[0], r[0] + this.yyleng - len];
- }
- this.yyleng = this.yytext.length;
- return this;
- },
-
-// When called from action, caches matched text and appends it on next action
-more:function () {
- this._more = true;
- return this;
- },
-
-// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
-reject:function () {
- if (this.options.backtrack_lexer) {
- this._backtrack = true;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
-
- }
- return this;
- },
-
-// retain first n characters of the match
-less:function (n) {
- this.unput(this.match.slice(n));
- },
-
-// displays already matched input, i.e. for error messages
-pastInput:function () {
- var past = this.matched.substr(0, this.matched.length - this.match.length);
- return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, "");
- },
-
-// displays upcoming input, i.e. for error messages
-upcomingInput:function () {
- var next = this.match;
- if (next.length < 20) {
- next += this._input.substr(0, 20-next.length);
- }
- return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
- },
-
-// displays the character position where the lexing error occurred, i.e. for error messages
-showPosition:function () {
- var pre = this.pastInput();
- var c = new Array(pre.length + 1).join("-");
- return pre + this.upcomingInput() + "\n" + c + "^";
- },
-
-// test the lexed token: return FALSE when not a match, otherwise return token
-test_match:function (match, indexed_rule) {
- var token,
- lines,
- backup;
-
- if (this.options.backtrack_lexer) {
- // save context
- backup = {
- yylineno: this.yylineno,
- yylloc: {
- first_line: this.yylloc.first_line,
- last_line: this.last_line,
- first_column: this.yylloc.first_column,
- last_column: this.yylloc.last_column
- },
- yytext: this.yytext,
- match: this.match,
- matches: this.matches,
- matched: this.matched,
- yyleng: this.yyleng,
- offset: this.offset,
- _more: this._more,
- _input: this._input,
- yy: this.yy,
- conditionStack: this.conditionStack.slice(0),
- done: this.done
- };
- if (this.options.ranges) {
- backup.yylloc.range = this.yylloc.range.slice(0);
- }
- }
-
- lines = match[0].match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno += lines.length;
- }
- this.yylloc = {
- first_line: this.yylloc.last_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.last_column,
- last_column: lines ?
- lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length :
- this.yylloc.last_column + match[0].length
- };
- this.yytext += match[0];
- this.match += match[0];
- this.matches = match;
- this.yyleng = this.yytext.length;
- if (this.options.ranges) {
- this.yylloc.range = [this.offset, this.offset += this.yyleng];
- }
- this._more = false;
- this._backtrack = false;
- this._input = this._input.slice(match[0].length);
- this.matched += match[0];
- token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
- if (this.done && this._input) {
- this.done = false;
- }
- if (token) {
- return token;
- } else if (this._backtrack) {
- // recover context
- for (var k in backup) {
- this[k] = backup[k];
- }
- return false; // rule action called reject() implying the next rule should be tested instead.
- }
- return false;
- },
-
-// return next match in input
-next:function () {
- if (this.done) {
- return this.EOF;
- }
- if (!this._input) {
- this.done = true;
- }
-
- var token,
- match,
- tempMatch,
- index;
- if (!this._more) {
- this.yytext = '';
- this.match = '';
- }
- var rules = this._currentRules();
- for (var i = 0; i < rules.length; i++) {
- tempMatch = this._input.match(this.rules[rules[i]]);
- if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
- match = tempMatch;
- index = i;
- if (this.options.backtrack_lexer) {
- token = this.test_match(tempMatch, rules[i]);
- if (token !== false) {
- return token;
- } else if (this._backtrack) {
- match = false;
- continue; // rule action called reject() implying a rule MISmatch.
- } else {
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- } else if (!this.options.flex) {
- break;
- }
- }
- }
- if (match) {
- token = this.test_match(match, rules[index]);
- if (token !== false) {
- return token;
- }
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- if (this._input === "") {
- return this.EOF;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
- }
- },
-
-// return next match that has a token
-lex:function lex() {
- var r = this.next();
- if (r) {
- return r;
- } else {
- return this.lex();
- }
- },
-
-// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
-begin:function begin(condition) {
- this.conditionStack.push(condition);
- },
-
-// pop the previously active lexer condition state off the condition stack
-popState:function popState() {
- var n = this.conditionStack.length - 1;
- if (n > 0) {
- return this.conditionStack.pop();
- } else {
- return this.conditionStack[0];
- }
- },
-
-// produce the lexer rule set which is active for the currently active lexer condition state
-_currentRules:function _currentRules() {
- if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
- return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
- } else {
- return this.conditions["INITIAL"].rules;
- }
- },
-
-// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
-topState:function topState(n) {
- n = this.conditionStack.length - 1 - Math.abs(n || 0);
- if (n >= 0) {
- return this.conditionStack[n];
- } else {
- return "INITIAL";
- }
- },
-
-// alias for begin(condition)
-pushState:function pushState(condition) {
- this.begin(condition);
- },
-
-// return the number of states currently on the stack
-stateStackSize:function stateStackSize() {
- return this.conditionStack.length;
- },
-options: {"case-insensitive":true},
-performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
-var YYSTATE=YY_START;
-switch($avoiding_name_collisions) {
-case 0:return 227
-break;
-case 1:return 255
-break;
-case 2:return 361
-break;
-case 3:return 5
-break;
-case 4:return 5
-break;
-case 5:return 251
-break;
-case 6:return 251
-break;
-case 7:return 107
-break;
-case 8:return 107
-break;
-case 9:return /* return COMMENT */
-break;
-case 10:/* skip whitespace */
-break;
-case 11:return 142
-break;
-case 12:return 141
-break;
-case 13:return 'AL'
-break;
-case 14:return 325
-break;
-case 15:return 342
-break;
-case 16:return 246
-break;
-case 17:return 136
-break;
-case 18:return 340
-break;
-case 19:return 141
-break;
-case 20:return 69
-break;
-case 21:return 119
-break;
-case 22:return 177
-break;
-case 23:return 247
-break;
-case 24:return 69
-break;
-case 25:return 359
-break;
-case 26:return 210
-break;
-case 27:return 344
-break;
-case 28:return 300
-break;
-case 29:return 243
-break;
-case 30:return 379
-break;
-case 31:return 276
-break;
-case 32:return 383
-break;
-case 33:return 277
-break;
-case 34:return 263
-break;
-case 35:return 94
-break;
-case 36:return 105
-break;
-case 37:return 229
-break;
-case 38:return 312
-break;
-case 39:return 105
-break;
-case 40:return 'Ak'
-break;
-case 41:return 211
-break;
-case 42:return 160
-break;
-case 43:return 160
-break;
-case 44:return 376
-break;
-case 45:return 311
-break;
-case 46:return 411
-break;
-case 47:return 382
-break;
-case 48:return 231
-break;
-case 49:return 208
-break;
-case 50:return 240
-break;
-case 51:return 291
-break;
-case 52:return 176
-break;
-case 53:return 206
-break;
-case 54:return 226
-break;
-case 55:return 'Ay'
-break;
-case 56:return 345
-break;
-case 57:return 390
-break;
-case 58:return 287
-break;
-case 59:return 283
-break;
-case 60:return 'A3'
-break;
-case 61:return 210
-break;
-case 62:return 346
-break;
-case 63:return 154
-break;
-case 64:return 4
-break;
-case 65:return 337
-break;
-case 66:return 389
-break;
-case 67:return 110
-break;
-case 68:return 258
-break;
-case 69:return 331
-break;
-case 70:return 262
-break;
-case 71:return 140
-break;
-case 72:return 253
-break;
-case 73:return 12
-break;
-case 74:return 250
-break;
-case 75:return 'BI'
-break;
-case 76:return 244
-break;
-case 77:return 317
-break;
-case 78:return 152
-break;
-case 79:return 'BM'
-break;
-case 80:return 413
-break;
-case 81:return 200
-break;
-case 82:return 204
-break;
-case 83:return 207
-break;
-case 84:return 357
-break;
-case 85:return 128
-break;
-case 86:return 300
-break;
-case 87:return 278
-break;
-case 88:return 274
-break;
-case 89:return 163
-break;
-case 90:return 192
-break;
-case 91:return 284
-break;
-case 92:return 'BZ'
-break;
-case 93:return 139
-break;
-case 94:return 168
-break;
-case 95:return 191
-break;
-case 96:return 314
-break;
-case 97:return 245
-break;
-case 98:return 'Bf'
-break;
-case 99:return 193
-break;
-case 100:return 90
-break;
-case 101:return 213
-break;
-case 102:return 193
-break;
-case 103:return 161
-break;
-case 104:return 242
-break;
-case 105:return 394
-break;
-case 106:return 241
-break;
-case 107:return 140
-break;
-case 108:return 343
-break;
-case 109:return 190
-break;
-case 110:return 'Br'
-break;
-case 111:return 228
-break;
-case 112:return 212
-break;
-case 113:return 324
-break;
-case 114:return 126
-break;
-case 115:return 252
-break;
-case 116:return 375
-break;
-case 117:return 197
-break;
-case 118:return 355
-break;
-case 119:return 215
-break;
-case 120:return 'B1'
-break;
-case 121:return 356
-break;
-case 122:return 142
-break;
-case 123:return 93
-break;
-case 124:return 178
-break;
-case 125:return 235
-break;
-case 126:return 143
-break;
-case 127:return 238
-break;
-case 128:return 'B9'
-break;
-case 129:return 14
-break;
-case 130:return 313
-break;
-case 131:return 384
-break;
-case 132:return 'CD'
-break;
-case 133:return 13
-break;
-case 134:return 354
-break;
-case 135:return 164
-break;
-case 136:return 'CH'
-break;
-case 137:return 318
-break;
-case 138:return 'CJ'
-break;
-case 139:return 85
-break;
-case 140:return 341
-break;
-case 141:return 385
-break;
-case 142:return 'CN'
-break;
-case 143:return 144
-break;
-case 144:return 194
-break;
-case 145:return 378
-break;
-case 146:return 205
-break;
-case 147:return 159
-break;
-case 148:return 345
-break;
-case 149:return 81
-break;
-case 150:return 158
-break;
-case 151:return 196
-break;
-case 152:return 121
-break;
-case 153:return 121
-break;
-case 154:return 349
-break;
-case 155:return 280
-break;
-case 156:return 358
-break;
-case 157:return 'Cc'
-break;
-case 158:return 'Cd'
-break;
-case 159:return 239
-break;
-case 160:return 297
-break;
-case 161:return 297
-break;
-case 162:return 404
-break;
-case 163:return 301
-break;
-case 164:return 301
-break;
-case 165:return 162
-break;
-case 166:return 261
-break;
-case 167:return 'Cm'
-break;
-case 168:return 120
-break;
-case 169:return 165
-break;
-case 170:return 377
-break;
-case 171:return 377
-break;
-case 172:return 249
-break;
-case 173:return 393
-break;
-case 174:return 134
-break;
-case 175:return 156
-break;
-case 176:return 281
-break;
-case 177:return 348
-break;
-case 178:return 198
-break;
-case 179:return 123
-break;
-case 180:return 109
-break;
-case 181:return 350
-break;
-case 182:return 260
-break;
-case 183:return 104
-break;
-case 184:return 381
-break;
-case 185:return 65
-break;
-case 186:return 377 /* Is this keyword required? */
-break;
-case 187:return 106
-break;
-case 188:return 106
-break;
-case 189:return 97
-break;
-case 190:return 111
-break;
-case 191:return 148
-break;
-case 192:return 264
-break;
-case 193:return 149
-break;
-case 194:return 108
-break;
-case 195:return 112
-break;
-case 196:return 271
-break;
-case 197:return 268
-break;
-case 198:return 270
-break;
-case 199:return 267
-break;
-case 200:return 265
-break;
-case 201:return 113
-break;
-case 202:return 266
-break;
-case 203:return 269
-break;
-case 204:return 114
-break;
-case 205:return 99
-break;
-case 206:return 269
-break;
-case 207:return 70
-break;
-case 208:return 71
-break;
-case 209:return 119
-break;
-case 210:return 365
-break;
-case 211:return 367
-break;
-case 212:return 369
-break;
-case 213:return 439
-break;
-case 214:return 440
-break;
-case 215:return 116
-break;
-case 216:return 67
-break;
-case 217:return 279
-break;
-case 218:return 124
-break;
-case 219:return 'Dd'
-break;
-case 220:return 115
-break;
-case 221:return 150
-break;
-case 222:return 8
-break;
-case 223:return 98
-break;
-case 224:return 4
-break;
-case 225:return 8
-break;
-case 226:return 'Dk'
-break;
-}
-},
-rules: [/^(?:``([^\`])+``)/i,/^(?:\[\?\])/i,/^(?:@\[)/i,/^(?:\[([^\]])*?\])/i,/^(?:`([^\`])*?`)/i,/^(?:N(['](\\.|[^']|\\')*?['])+)/i,/^(?:X(['](\\.|[^']|\\')*?['])+)/i,/^(?:(['](\\.|[^']|\\')*?['])+)/i,/^(?:(["](\\.|[^"]|\\")*?["])+)/i,/^(?:--(.*?)($|\r\n|\r|\n))/i,/^(?:\s+)/i,/^(?:\|\|)/i,/^(?:&&)/i,/^(?:ABSOLUTE\b)/i,/^(?:ACTION\b)/i,/^(?:ADD\b)/i,/^(?:AGGR\b)/i,/^(?:ALL\b)/i,/^(?:ALTER\b)/i,/^(?:AND\b)/i,/^(?:ANTI\b)/i,/^(?:ANY\b)/i,/^(?:APPLY\b)/i,/^(?:ARRAY\b)/i,/^(?:AS\b)/i,/^(?:ASSERT\b)/i,/^(?:ASC\b)/i,/^(?:ATTACH\b)/i,/^(?:AUTO(_)?INCREMENT\b)/i,/^(?:AVG\b)/i,/^(?:BEGIN\b)/i,/^(?:BETWEEN\b)/i,/^(?:BREAK\b)/i,/^(?:NOT\s+BETWEEN\b)/i,/^(?:NOT\s+LIKE\b)/i,/^(?:BY\b)/i,/^(?:CASE\b)/i,/^(?:CAST\b)/i,/^(?:CHECK\b)/i,/^(?:CLASS\b)/i,/^(?:CLOSE\b)/i,/^(?:COLLATE\b)/i,/^(?:COLUMN\b)/i,/^(?:COLUMNS\b)/i,/^(?:COMMIT\b)/i,/^(?:CONSTRAINT\b)/i,/^(?:CONTENT\b)/i,/^(?:CONTINUE\b)/i,/^(?:CONVERT\b)/i,/^(?:CORRESPONDING\b)/i,/^(?:COUNT\b)/i,/^(?:CREATE\b)/i,/^(?:CROSS\b)/i,/^(?:CUBE\b)/i,/^(?:CURRENT_TIMESTAMP\b)/i,/^(?:CURSOR\b)/i,/^(?:DATABASE(S)?)/i,/^(?:DECLARE\b)/i,/^(?:DEFAULT\b)/i,/^(?:DELETE\b)/i,/^(?:DELETED\b)/i,/^(?:DESC\b)/i,/^(?:DETACH\b)/i,/^(?:DISTINCT\b)/i,/^(?:DOUBLE\s+PRECISION\b)/i,/^(?:DROP\b)/i,/^(?:ECHO\b)/i,/^(?:EDGE\b)/i,/^(?:END\b)/i,/^(?:ENUM\b)/i,/^(?:ELSE\b)/i,/^(?:EXCEPT\b)/i,/^(?:EXISTS\b)/i,/^(?:EXPLAIN\b)/i,/^(?:FALSE\b)/i,/^(?:FETCH\b)/i,/^(?:FIRST\b)/i,/^(?:FOREIGN\b)/i,/^(?:FROM\b)/i,/^(?:GO\b)/i,/^(?:GRAPH\b)/i,/^(?:GROUP\b)/i,/^(?:GROUPING\b)/i,/^(?:HAVING\b)/i,/^(?:HELP\b)/i,/^(?:IF\b)/i,/^(?:IDENTITY\b)/i,/^(?:IS\b)/i,/^(?:IN\b)/i,/^(?:INDEX\b)/i,/^(?:INNER\b)/i,/^(?:INSERT\b)/i,/^(?:INSERTED\b)/i,/^(?:INTERSECT\b)/i,/^(?:INTO\b)/i,/^(?:JOIN\b)/i,/^(?:KEY\b)/i,/^(?:LAST\b)/i,/^(?:LET\b)/i,/^(?:LEFT\b)/i,/^(?:LIKE\b)/i,/^(?:LIMIT\b)/i,/^(?:MATCHED\b)/i,/^(?:MATRIX\b)/i,/^(?:MAX\b)/i,/^(?:MERGE\b)/i,/^(?:MIN\b)/i,/^(?:MINUS\b)/i,/^(?:MODIFY\b)/i,/^(?:NATURAL\b)/i,/^(?:NEXT\b)/i,/^(?:NEW\b)/i,/^(?:NOCASE\b)/i,/^(?:NO\b)/i,/^(?:NOT\b)/i,/^(?:NULL\b)/i,/^(?:OFF\b)/i,/^(?:ON\b)/i,/^(?:ONLY\b)/i,/^(?:OFFSET\b)/i,/^(?:OPEN\b)/i,/^(?:OPTION\b)/i,/^(?:OR\b)/i,/^(?:ORDER\b)/i,/^(?:OUTER\b)/i,/^(?:OVER\b)/i,/^(?:PATH\b)/i,/^(?:PARTITION\b)/i,/^(?:PERCENT\b)/i,/^(?:PLAN\b)/i,/^(?:PRIMARY\b)/i,/^(?:PRINT\b)/i,/^(?:PRIOR\b)/i,/^(?:QUERY\b)/i,/^(?:READ\b)/i,/^(?:RECORDSET\b)/i,/^(?:REDUCE\b)/i,/^(?:REFERENCES\b)/i,/^(?:RELATIVE\b)/i,/^(?:REMOVE\b)/i,/^(?:RENAME\b)/i,/^(?:REQUIRE\b)/i,/^(?:RESTORE\b)/i,/^(?:RETURNS\b)/i,/^(?:RIGHT\b)/i,/^(?:ROLLBACK\b)/i,/^(?:ROLLUP\b)/i,/^(?:ROW\b)/i,/^(?:SCHEMA(S)?)/i,/^(?:SEARCH\b)/i,/^(?:SELECT\b)/i,/^(?:SEMI\b)/i,/^(?:SET\b)/i,/^(?:SETS\b)/i,/^(?:SHOW\b)/i,/^(?:SOME\b)/i,/^(?:SOURCE\b)/i,/^(?:STRATEGY\b)/i,/^(?:STORE\b)/i,/^(?:SUM\b)/i,/^(?:TABLE\b)/i,/^(?:TABLES\b)/i,/^(?:TARGET\b)/i,/^(?:TEMP\b)/i,/^(?:TEMPORARY\b)/i,/^(?:TEXTSTRING\b)/i,/^(?:THEN\b)/i,/^(?:TIMEOUT\b)/i,/^(?:TO\b)/i,/^(?:TOP\b)/i,/^(?:TRAN\b)/i,/^(?:TRANSACTION\b)/i,/^(?:TRUE\b)/i,/^(?:TRUNCATE\b)/i,/^(?:UNION\b)/i,/^(?:UNIQUE\b)/i,/^(?:UPDATE\b)/i,/^(?:USE\b)/i,/^(?:USING\b)/i,/^(?:VALUE(S)?)/i,/^(?:VERTEX\b)/i,/^(?:VIEW\b)/i,/^(?:WHEN\b)/i,/^(?:WHERE\b)/i,/^(?:WHILE\b)/i,/^(?:WITH\b)/i,/^(?:WORK\b)/i,/^(?:(\d*[.])?\d+[eE]\d+)/i,/^(?:(\d*[.])?\d+)/i,/^(?:->)/i,/^(?:#)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\*)/i,/^(?:\/)/i,/^(?:%)/i,/^(?:!===)/i,/^(?:===)/i,/^(?:!==)/i,/^(?:==)/i,/^(?:>=)/i,/^(?:>)/i,/^(?:<=)/i,/^(?:<>)/i,/^(?:<)/i,/^(?:=)/i,/^(?:!=)/i,/^(?:\()/i,/^(?:\))/i,/^(?:@)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:\])/i,/^(?::-)/i,/^(?:\?-)/i,/^(?:\.)/i,/^(?:,)/i,/^(?:::)/i,/^(?::)/i,/^(?:;)/i,/^(?:\$)/i,/^(?:\?)/i,/^(?:!)/i,/^(?:\^)/i,/^(?:[a-zA-Z_][a-zA-Z_0-9]*)/i,/^(?:$)/i,/^(?:.)/i],
-conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226],"inclusive":true}}
-});
-return lexer;
-})();
-parser.lexer = lexer;
-function Parser () {
- this.yy = {};
-}
-Parser.prototype = parser;parser.Parser = Parser;
-return new Parser;
-})();
-
-
-if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
-exports.parser = parser;
-exports.Parser = parser.Parser;
-exports.parse = function () { return parser.parse.apply(parser, arguments); };
-exports.main = function commonjsMain(args) {
- if (!args[1]) {
- console.log('Usage: '+args[0]+' FILE');
- process.exit(1);
- }
- var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
- return exports.parser.parse(source);
-};
-if (typeof module !== 'undefined' && require.main === module) {
- exports.main(process.argv.slice(1));
-}
-}
\ No newline at end of file
diff --git a/utils/a1.html b/utils/a1.html
deleted file mode 100644
index 8ffa9b354a..0000000000
--- a/utils/a1.html
+++ /dev/null
@@ -1,120 +0,0 @@
-Test database
-
\ No newline at end of file
diff --git a/utils/callback/cb1.js b/utils/callback/cb1.js
deleted file mode 100644
index 0f9fed7900..0000000000
--- a/utils/callback/cb1.js
+++ /dev/null
@@ -1,59 +0,0 @@
-
-function get1(n,index, cb) {
- var nn = n;
- if(n<0) return;
- if(n>=10) return;
- setTimeout(function(){cb('get1',{a:nn, b:nn*2})},200);
-}
-
-function get2(n,index, cb) {
- var nn = n;
- if(n<0) return;
- if(n>=10) return;
- setTimeout(function(){cb('get2',{a:nn, b:nn*3})},100);
-}
-
-var times = 0;
-var buff = [];
-
-function after(key, data) {
- buff[key] = data;
- console.log(times);
- times++;
- if(times<6) return;
- setTimeout(function(){process(buff)},0);
- console.log('before process');
-}
-
-function process(data){
- console.log('process',data);
- console.log('after process');
-};
-
-console.log("start");
-get1(1,null,after);
-get1(1,null,after);
-get2(3,null,after);
-get2(4,null,after);
-get2(5,null,after);
-get2(2,null,after);
-console.log("finish");
-
-
-var k = 5;
-var data = [];
-
-var next = function(){
- console.log('next',k)
- data.push(k);
- k--;
- if(k>0) setTimeout(next,0);
- else setTimeout(onfinish,0);
-};
-
-var onfinish = function(){
- console.log(data);
-}
-
-setTimeout(next,0);
-
diff --git a/utils/callback/cb2.js b/utils/callback/cb2.js
deleted file mode 100644
index 8d0ce54d5d..0000000000
--- a/utils/callback/cb2.js
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-var async = false;
-
-function alasql(sql, params, cb) {
- var res;
- if(arguments.length < 3) {
- process(sql, params, function(data){
- res = data;
- });
- if(async) {
- throw Error('Use sync version');
- }
- return res;
- } else {
- process(sql, params, function(data) {
- cb(data);
- async = false;
- });
- };
-};
-
-function process(sql, params, cb) {
- if(sql == "sync") {
- cb(100);
- } else {
- async = true;
- setTimeout(function(){
- cb(200);
- },100);
- }
-};
-
-var res = alasql('async',[],function(data){
- console.log(1,data);
-});
-console.log(2,res);
-
-
-var res = alasql('sync',[]);
-console.log(3,res);
-
-/*
-var res = alasql('async',[]);
-*/
\ No newline at end of file
diff --git a/utils/closure/README.md b/utils/closure/README.md
deleted file mode 100644
index 6df9c49ed0..0000000000
--- a/utils/closure/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Directory for Closure Compiler
\ No newline at end of file
diff --git a/utils/closure/compiler.jar b/utils/closure/compiler.jar
deleted file mode 100644
index 8e722d135a..0000000000
Binary files a/utils/closure/compiler.jar and /dev/null differ
diff --git a/utils/main.html b/utils/main.html
deleted file mode 100644
index 1ba67f2ba3..0000000000
--- a/utils/main.html
+++ /dev/null
@@ -1,206 +0,0 @@
-
-
-
- Mocha
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/utils/mainww.html b/utils/mainww.html
deleted file mode 100644
index 07db5e372d..0000000000
--- a/utils/mainww.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
\ No newline at end of file
diff --git a/utils/mainww1.html b/utils/mainww1.html
deleted file mode 100644
index 27aea0bf8f..0000000000
--- a/utils/mainww1.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
\ No newline at end of file
diff --git a/utils/test.js b/utils/test.js
deleted file mode 100644
index 9de8eb0ce3..0000000000
--- a/utils/test.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var alasql = require('../dist/alasql.min.js');
-
-//var alasql = require('../dist/alasql.opt.js');
-
-console.log(alasql('=1+100+(SELECT SUM(_) FROM RANGE(1,10))'));
-console.log(alasql('SELECT FROM RANGE(1,10)'));
\ No newline at end of file
diff --git a/utils/testbench.html b/utils/testbench.html
index 95271cc544..bd35b770f5 100644
--- a/utils/testbench.html
+++ b/utils/testbench.html
@@ -9,6 +9,10 @@
console.log('alasql.version:', alasql.version);
+console.log(alasql('=1+100+(SELECT SUM(_) FROM RANGE(1,10))'));
+
+console.log(alasql('SELECT FROM RANGE(1,10)'));
+
Use AlaSQL in the console please...
diff --git a/yarn-error.log b/yarn-error.log
new file mode 100644
index 0000000000..6111cfb907
--- /dev/null
+++ b/yarn-error.log
@@ -0,0 +1,3920 @@
+Arguments:
+ /Users/mrw/.nvm/versions/node/v9.11.2/bin/node /Users/mrw/.yarn/bin/yarn.js install
+
+PATH:
+ /Users/mrw/.yarn/bin:/Users/mrw/.config/yarn/global/node_modules/.bin:/Users/mrw/.nvm/versions/node/v9.11.2/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin
+
+Yarn version:
+ 1.7.0
+
+Node version:
+ 9.11.2
+
+Platform:
+ darwin x64
+
+Trace:
+ Error: https://registry.yarnpkg.com/jison: ETIMEDOUT
+ at Timeout._onTimeout (/Users/mrw/.yarn/lib/cli.js:135339:19)
+ at ontimeout (timers.js:466:11)
+ at tryOnTimeout (timers.js:304:5)
+ at Timer.listOnTimeout (timers.js:267:5)
+
+npm manifest:
+ {
+ "name": "alasql",
+ "description": "Use SQL to select and filter javascript data - including relational joins and search in nested objects (JSON). Export to and import from Excel and CSV",
+ "version": "0.5.0-modular-typescript",
+ "author": "Andrey Gershun ",
+ "contributors": [
+ "Mathias Rangel Wulff "
+ ],
+ "main": "dist/alasql.fs.js",
+ "browser": "dist/alasql.min.js",
+ "directories": {
+ "test": "test"
+ },
+ "scripts": {
+ "test": "npm run build && cd test && mocha . --reporter dot",
+ "test:this": "gulp && cd test && mocha",
+ "test:only": "cd test && mocha . --reporter dot",
+ "test:browser": "node test/browserTestRunner.js 7387",
+ "test:cover": "istanbul cover -x 'lib/zt/zt.js' --dir test/coverage _mocha",
+ "prebuild": "rm -fr build # && npm run format",
+ "build": "tsc src/main -t ES6 --outDir build/ES6 --allowJs && rollup -c",
+ "Q_postbuild": "echo \"require('./build/alasql.es5.js')\" | node",
+ "Q_postbuild_": "java -jar /Users/mrw/Downloads/compiler-latest/closure-compiler-v20180610.jar --compilation_level SIMPLE --js dist/alasql.js > dist/alasql.min3.js",
+ "Qpostbuild": "uglifyjs -c -- build/alasql.es5.js > build/alasql.min.js",
+ "QQpostbuild": "rexreplace PACKAGE_VERSION_NUMBER 'require(\"package.json\").version' -j build/**/.*",
+ "bump": "mversion --no-prefix",
+ "uptodate": "npm-check -u --skip-unused",
+ "release": "f='/tmp/alasql.tmp' && curl https://raw.githubusercontent.com/wiki/agershun/alasql/How-to-release.md > $f && sh $f ; rm $f",
+ "jison": "jison -c 2 ./src/alasqlparser.jison -o ./src/alasqlparser.js && echo 'export default alasqlparser;' >> ./src/alasqlparser.js && rr '(function) (locateNearestErrorRecoveryRule|__b0rk_on_internal_failure)' 'var €2=€1' ./src/alasqlparser.js",
+ "format": "npm run format:src && npm run format:test",
+ "format:src": "prettier src/*.?s --write && prettier src/**/*.?s --write ",
+ "format:test": "prettier test/*.?s --write && prettier test/**/*.?s --write"
+ },
+ "dependencies": {
+ "dom-storage": "^2.0.1",
+ "es6-promise": "^4.2.2",
+ "lodash": "^4.17.4",
+ "request": "^2.83.0",
+ "xlsx": "^0.11.17",
+ "yargs": "^11.0.0"
+ },
+ "devDependencies": {
+ "@types/es6-promise": "^3.3.0",
+ "blueimp-md5": "^2.10.0",
+ "eslint": "^4.19.1",
+ "istanbul": "^0.4.5",
+ "jison": "^0.4.18",
+ "mocha.parallel": "^0.15.3",
+ "mversion": "^1.10.1",
+ "npm-check": "^5.5.2",
+ "open": "0.0.5",
+ "prettier": "^1.10.2",
+ "rexreplace": "^3.1.1",
+ "rollup": "^0.61.1",
+ "rollup-plugin-buble": "^0.19.2",
+ "rollup-plugin-cleanup": "^3.0.0",
+ "rollup-plugin-closure-compiler-js": "^1.0.6",
+ "rollup-plugin-commonjs": "^9.1.0",
+ "rollup-plugin-filesize": "^2.0.0",
+ "rollup-plugin-hashbang": "^1.0.1",
+ "rollup-plugin-node-resolve": "^3.0.0",
+ "rollup-plugin-preserve-shebang": "^0.1.6",
+ "rollup-plugin-progress": "^0.4.0",
+ "rollup-plugin-re": "^1.0.7",
+ "rollup-plugin-replace": "^2.0.0",
+ "rollup-plugin-typescript2": "^0.15.0",
+ "rollup-plugin-uglify": "^4.0.0",
+ "strftime": "^0.10.0",
+ "tabletop": "^1.5.2",
+ "typescript": "^2.9.2",
+ "uglify-js": "^3.4.4"
+ },
+ "engines": [
+ "node"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "http://github.com/agershun/alasql.git"
+ },
+ "bugs": {
+ "url": "https://github.com/agershun/alasql/issues"
+ },
+ "bin": {
+ "alasql": "./bin/alasql-cli.js",
+ "alaserver": "./bin/alaserver.js"
+ },
+ "homepage": "https://github.com/agershun/alasql",
+ "keywords": [
+ "SQL",
+ "javascript",
+ "database",
+ "Excel",
+ "XLSX",
+ "XLS",
+ "CSV"
+ ],
+ "license": "MIT",
+ "testling": {
+ "browsers": [
+ "ie/6..latest",
+ "chrome/22..latest",
+ "firefox/16..latest",
+ "safari/latest",
+ "opera/11.0..latest",
+ "iphone/4..latest",
+ "ipad/4..latest",
+ "android-browser/4..latest"
+ ]
+ },
+ "typings": "./dist/alasql.d.ts"
+ }
+
+yarn manifest:
+ No manifest
+
+Lockfile:
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+ # yarn lockfile v1
+
+
+ "@babel/code-frame@^7.0.0-beta.47":
+ version "7.0.0-beta.51"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz#bd71d9b192af978df915829d39d4094456439a0c"
+ dependencies:
+ "@babel/highlight" "7.0.0-beta.51"
+
+ "@babel/highlight@7.0.0-beta.51":
+ version "7.0.0-beta.51"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.51.tgz#e8844ae25a1595ccfd42b89623b4376ca06d225d"
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^3.0.0"
+
+ "@gerhobbelt/ast-types@0.10.1-15":
+ version "0.10.1-15"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/ast-types/-/ast-types-0.10.1-15.tgz#d190cb08d145905cc46a8daae463d15682cebda4"
+
+ "@gerhobbelt/ast-types@0.9.13-4":
+ version "0.9.13-4"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/ast-types/-/ast-types-0.9.13-4.tgz#dbabe35a96bbf172a7d3b4dc9f3bad15394867a0"
+
+ "@gerhobbelt/ast-util@0.6.1-4":
+ version "0.6.1-4"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/ast-util/-/ast-util-0.6.1-4.tgz#a746b4dbea5c4a45ad17abca96b0af0f7937bb8a"
+ dependencies:
+ "@gerhobbelt/ast-types" "0.9.13-4"
+ private "0.1.7"
+
+ "@gerhobbelt/esprima@4.0.1-15":
+ version "4.0.1-15"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/esprima/-/esprima-4.0.1-15.tgz#2d6f0d3d9ad7bf0d5d514eda849528ad790d6769"
+
+ "@gerhobbelt/json5@0.5.1-21":
+ version "0.5.1-21"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/json5/-/json5-0.5.1-21.tgz#be4cca3a8612f207c85a9bd3d834fb330dd58345"
+ dependencies:
+ yargs "10.0.3"
+
+ "@gerhobbelt/linewrap@0.2.2-3":
+ version "0.2.2-3"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/linewrap/-/linewrap-0.2.2-3.tgz#49d5667922ad02bd0a37084fb8f31309a382f829"
+
+ "@gerhobbelt/nomnom@1.8.4-24":
+ version "1.8.4-24"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/nomnom/-/nomnom-1.8.4-24.tgz#d03a5e3093f5f68fb5217b1d1e4d7d67d017bf22"
+ dependencies:
+ "@gerhobbelt/linewrap" "0.2.2-3"
+ chalk "2.1.0"
+ exit "0.1.2"
+
+ "@gerhobbelt/recast@0.13.0-24":
+ version "0.13.0-24"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/recast/-/recast-0.13.0-24.tgz#6ab25ed671710b3ca6224571c2d6d1cfcbaae64e"
+ dependencies:
+ "@gerhobbelt/ast-types" "0.10.1-15"
+ "@gerhobbelt/esprima" "4.0.1-15"
+ core-js "2.5.3"
+ private "0.1.8"
+ source-map "0.6.1"
+
+ "@gerhobbelt/xregexp@3.2.0-22":
+ version "3.2.0-22"
+ resolved "https://registry.yarnpkg.com/@gerhobbelt/xregexp/-/xregexp-3.2.0-22.tgz#66e6640eb6a5bba78ad9ea8187f6910b53b6c0ea"
+
+ "@types/es6-promise@^3.3.0":
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/@types/es6-promise/-/es6-promise-3.3.0.tgz#61b55e554fd807b563f158a7986ee53d3a5a5a9d"
+ dependencies:
+ es6-promise "*"
+
+ "@types/estree@0.0.39":
+ version "0.0.39"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
+
+ "@types/node@*":
+ version "10.3.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.4.tgz#c74e8aec19e555df44609b8057311052a2c84d9e"
+
+ abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+
+ abbrev@1.0.x:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
+
+ acorn-dynamic-import@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278"
+ dependencies:
+ acorn "^5.0.0"
+
+ acorn-jsx@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+ dependencies:
+ acorn "^3.0.4"
+
+ acorn-jsx@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e"
+ dependencies:
+ acorn "^5.0.3"
+
+ acorn@^3.0.4:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+
+ acorn@^5.0.0, acorn@^5.0.3, acorn@^5.4.1, acorn@^5.7.1:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
+
+ acorn@^5.5.0:
+ version "5.6.2"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.6.2.tgz#b1da1d7be2ac1b4a327fb9eab851702c5045b4e7"
+
+ adler-32@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25"
+ dependencies:
+ exit-on-epipe "~1.0.1"
+ printj "~1.1.0"
+
+ agent-base@2:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7"
+ dependencies:
+ extend "~3.0.0"
+ semver "~5.0.1"
+
+ ajv-keywords@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
+
+ ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
+ version "5.5.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ dependencies:
+ co "^4.6.0"
+ fast-deep-equal "^1.0.0"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.3.0"
+
+ align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+ amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
+ ansi-align@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
+ dependencies:
+ string-width "^2.0.0"
+
+ ansi-escapes@^1.1.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+
+ ansi-escapes@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30"
+
+ ansi-regex@^0.2.0, ansi-regex@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9"
+
+ ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+
+ ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+
+ ansi-styles@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de"
+
+ ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+ ansi-styles@^3.1.0, ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ dependencies:
+ color-convert "^1.9.0"
+
+ ansicolors@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
+
+ argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ dependencies:
+ sprintf-js "~1.0.2"
+
+ arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ dependencies:
+ arr-flatten "^1.0.1"
+
+ arr-flatten@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+
+ array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+
+ array-union@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ dependencies:
+ array-uniq "^1.0.1"
+
+ array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+
+ array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+
+ arrify@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+
+ asn1@~0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+
+ assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+
+ async@1.x, async@^1.4.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+
+ asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+
+ atoa@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/atoa/-/atoa-1.0.0.tgz#0cc0e91a480e738f923ebc103676471779b34a49"
+
+ aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+
+ aws4@^1.6.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
+
+ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+ babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+ babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+ babel-traverse@^6.7.3:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ debug "^2.6.8"
+ globals "^9.18.0"
+ invariant "^2.2.2"
+ lodash "^4.17.4"
+
+ babel-types@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
+ babylon@^6.1.21, babylon@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+
+ balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+
+ bcrypt-pbkdf@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ dependencies:
+ tweetnacl "^0.14.3"
+
+ bluebird@^2.9.34:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
+
+ blueimp-md5@^2.10.0:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.10.0.tgz#02f0843921f90dca14f5b8920a38593201d6964d"
+
+ boom@2.x.x:
+ version "2.10.1"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ dependencies:
+ hoek "2.x.x"
+
+ boxen@^1.1.0, boxen@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
+ dependencies:
+ ansi-align "^2.0.0"
+ camelcase "^4.0.0"
+ chalk "^2.0.1"
+ cli-boxes "^1.0.0"
+ string-width "^2.0.0"
+ term-size "^1.2.0"
+ widest-line "^2.0.0"
+
+ brace-expansion@^1.0.0, brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+ braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+ buble@^0.19.2:
+ version "0.19.3"
+ resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.3.tgz#01e9412062cff1da6f20342b6ecd72e7bf699d02"
+ dependencies:
+ acorn "^5.4.1"
+ acorn-dynamic-import "^3.0.0"
+ acorn-jsx "^4.1.1"
+ chalk "^2.3.1"
+ magic-string "^0.22.4"
+ minimist "^1.2.0"
+ os-homedir "^1.0.1"
+ vlq "^1.0.0"
+
+ buffer-from@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
+
+ builtin-modules@^1.0.0, builtin-modules@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+
+ builtin-modules@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e"
+
+ caller-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+ dependencies:
+ callsites "^0.2.0"
+
+ callsite-record@^3.0.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/callsite-record/-/callsite-record-3.2.2.tgz#9a0390642e43fe8bb823945e51464f69f41643de"
+ dependencies:
+ callsite "^1.0.0"
+ chalk "^1.1.1"
+ error-stack-parser "^1.3.3"
+ highlight-es "^1.0.0"
+ lodash "4.6.1 || ^4.16.1"
+ pinkie-promise "^2.0.0"
+
+ callsite@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
+
+ callsites@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+
+ camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+ camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
+ camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+
+ camelcase@^4.0.0, camelcase@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+
+ capture-stack-trace@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
+
+ cardinal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9"
+ dependencies:
+ ansicolors "~0.2.1"
+ redeyed "~1.0.0"
+
+ caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+
+ center-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+ cfb@~1.0.2:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.0.7.tgz#ccb615eb1bb0a039e7829ab0b2ad4ea564fbaa78"
+ dependencies:
+ commander "^2.14.1"
+ printj "~1.1.2"
+
+ chalk@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e"
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
+ chalk@^0.5.0, chalk@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174"
+ dependencies:
+ ansi-styles "^1.1.0"
+ escape-string-regexp "^1.0.0"
+ has-ansi "^0.1.0"
+ strip-ansi "^0.3.0"
+ supports-color "^0.2.0"
+
+ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.0, chalk@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+ chardet@^0.4.0:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
+
+ ci-info@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2"
+
+ circular-json@^0.3.1:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
+
+ cli-boxes@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
+
+ cli-cursor@^1.0.1, cli-cursor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+ dependencies:
+ restore-cursor "^1.0.1"
+
+ cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ dependencies:
+ restore-cursor "^2.0.0"
+
+ cli-spinners@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
+
+ cli-table@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23"
+ dependencies:
+ colors "1.0.3"
+
+ cli-usage@^0.1.2:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/cli-usage/-/cli-usage-0.1.7.tgz#eaf1c9d5b91e22482333072a12127f05cd99a3ba"
+ dependencies:
+ marked "^0.3.12"
+ marked-terminal "^2.0.0"
+
+ cli-width@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+
+ cliclopts@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/cliclopts/-/cliclopts-1.1.1.tgz#69431c7cb5af723774b0d3911b4c37512431910f"
+
+ cliui@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+ cliui@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
+ cliui@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
+ dependencies:
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+ wrap-ansi "^2.0.0"
+
+ clone-buffer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
+
+ clone-stats@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
+
+ clone-stats@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
+
+ clone@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
+
+ clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+
+ clone@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
+
+ cloneable-readable@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65"
+ dependencies:
+ inherits "^2.0.1"
+ process-nextick-args "^2.0.0"
+ readable-stream "^2.3.5"
+
+ co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+
+ code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+
+ codepage@~1.12.0:
+ version "1.12.2"
+ resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.12.2.tgz#fd4424448c8bf1db5d7e01f9ecf9e8346582a195"
+ dependencies:
+ commander "~2.14.1"
+ exit-on-epipe "~1.0.1"
+
+ color-convert@^1.9.0:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
+ dependencies:
+ color-name "1.1.1"
+
+ color-name@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
+
+ colors@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+
+ colors@^1.1.2:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e"
+
+ combined-stream@1.0.6, combined-stream@~1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
+ dependencies:
+ delayed-stream "~1.0.0"
+
+ commander@^2.14.1, commander@~2.15.0:
+ version "2.15.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
+
+ commander@~2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
+
+ commander@~2.14.1:
+ version "2.14.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa"
+
+ commander@~2.16.0:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50"
+
+ concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+ concat-stream@^1.6.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+ configstore@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-0.3.2.tgz#25e4c16c3768abf75c5a65bc61761f495055b459"
+ dependencies:
+ graceful-fs "^3.0.1"
+ js-yaml "^3.1.0"
+ mkdirp "^0.5.0"
+ object-assign "^2.0.0"
+ osenv "^0.1.0"
+ user-home "^1.0.0"
+ uuid "^2.0.1"
+ xdg-basedir "^1.0.0"
+
+ configstore@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
+ dependencies:
+ dot-prop "^4.1.0"
+ graceful-fs "^4.1.2"
+ make-dir "^1.0.0"
+ unique-string "^1.0.0"
+ write-file-atomic "^2.0.0"
+ xdg-basedir "^3.0.0"
+
+ contra@^1.6.8:
+ version "1.9.4"
+ resolved "https://registry.yarnpkg.com/contra/-/contra-1.9.4.tgz#f53bde42d7e5b5985cae4d99a8d610526de8f28d"
+ dependencies:
+ atoa "1.0.0"
+ ticky "1.0.1"
+
+ core-js@2.5.3:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+
+ core-js@^2.4.0:
+ version "2.5.7"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
+
+ core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+
+ crc-32@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208"
+ dependencies:
+ exit-on-epipe "~1.0.1"
+ printj "~1.1.0"
+
+ create-error-class@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
+ dependencies:
+ capture-stack-trace "^1.0.0"
+
+ cross-spawn-async@^2.1.1:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc"
+ dependencies:
+ lru-cache "^4.0.0"
+ which "^1.2.8"
+
+ cross-spawn@^5.0.1, cross-spawn@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+ crypto-random-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+
+ currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ dependencies:
+ array-find-index "^1.0.1"
+
+ cvss@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/cvss/-/cvss-1.0.3.tgz#70df9c4a4e07fdb9341f27a2847a21df25c3a83a"
+
+ dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ dependencies:
+ assert-plus "^1.0.0"
+
+ debug@2, debug@^2.1.3, debug@^2.6.8:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ dependencies:
+ ms "2.0.0"
+
+ debug@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
+ decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+
+ decamelize@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7"
+ dependencies:
+ xregexp "4.0.0"
+
+ deep-assign@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/deep-assign/-/deep-assign-2.0.0.tgz#ebe06b1f07f08dae597620e3dd1622f371a1c572"
+ dependencies:
+ is-obj "^1.0.0"
+
+ deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+
+ deep-extend@~0.2.5:
+ version "0.2.11"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.2.11.tgz#7a16ba69729132340506170494bc83f7076fe08f"
+
+ deep-is@~0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+
+ defaults@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ dependencies:
+ clone "^1.0.2"
+
+ del@^2.0.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
+ dependencies:
+ globby "^5.0.0"
+ is-path-cwd "^1.0.0"
+ is-path-in-cwd "^1.0.0"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ rimraf "^2.2.8"
+
+ delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+ depcheck@^0.6.3:
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/depcheck/-/depcheck-0.6.9.tgz#efe6fdf5cf00c2172811bc2a2403d59e5341e519"
+ dependencies:
+ babel-traverse "^6.7.3"
+ babylon "^6.1.21"
+ builtin-modules "^1.1.1"
+ deprecate "^1.0.0"
+ deps-regex "^0.1.4"
+ js-yaml "^3.4.2"
+ lodash "^4.5.1"
+ minimatch "^3.0.2"
+ require-package-name "^2.0.1"
+ walkdir "0.0.11"
+ yargs "^8.0.2"
+
+ deprecate@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/deprecate/-/deprecate-1.0.0.tgz#661490ed2428916a6c8883d8834e5646f4e4a4a8"
+
+ deps-regex@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deps-regex/-/deps-regex-0.1.4.tgz#518667b7691460a5e7e0a341be76eb7ce8090184"
+
+ doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+ dependencies:
+ esutils "^2.0.2"
+
+ dom-storage@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/dom-storage/-/dom-storage-2.1.0.tgz#00fb868bc9201357ea243c7bcfd3304c1e34ea39"
+
+ dot-prop@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
+ dependencies:
+ is-obj "^1.0.0"
+
+ duplexer3@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+
+ duplexer@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
+ duplexify@^3.2.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410"
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+ ecc-jsbn@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ dependencies:
+ jsbn "~0.1.0"
+
+ end-of-stream@^1.0.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
+ dependencies:
+ once "^1.4.0"
+
+ error-ex@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ dependencies:
+ is-arrayish "^0.2.1"
+
+ error-stack-parser@^1.3.3:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292"
+ dependencies:
+ stackframe "^0.3.1"
+
+ es6-promise@*, es6-promise@^4.2.2:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
+
+ escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+ escodegen@1.8.x:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
+ dependencies:
+ esprima "^2.7.1"
+ estraverse "^1.9.1"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.2.0"
+
+ eslint-scope@^3.7.1:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+ eslint-visitor-keys@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
+
+ eslint@^4.19.1:
+ version "4.19.1"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
+ dependencies:
+ ajv "^5.3.0"
+ babel-code-frame "^6.22.0"
+ chalk "^2.1.0"
+ concat-stream "^1.6.0"
+ cross-spawn "^5.1.0"
+ debug "^3.1.0"
+ doctrine "^2.1.0"
+ eslint-scope "^3.7.1"
+ eslint-visitor-keys "^1.0.0"
+ espree "^3.5.4"
+ esquery "^1.0.0"
+ esutils "^2.0.2"
+ file-entry-cache "^2.0.0"
+ functional-red-black-tree "^1.0.1"
+ glob "^7.1.2"
+ globals "^11.0.1"
+ ignore "^3.3.3"
+ imurmurhash "^0.1.4"
+ inquirer "^3.0.6"
+ is-resolvable "^1.0.0"
+ js-yaml "^3.9.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.3.0"
+ lodash "^4.17.4"
+ minimatch "^3.0.2"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ path-is-inside "^1.0.2"
+ pluralize "^7.0.0"
+ progress "^2.0.0"
+ regexpp "^1.0.1"
+ require-uncached "^1.0.3"
+ semver "^5.3.0"
+ strip-ansi "^4.0.0"
+ strip-json-comments "~2.0.1"
+ table "4.0.2"
+ text-table "~0.2.0"
+
+ espree@^3.5.4:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
+ dependencies:
+ acorn "^5.5.0"
+ acorn-jsx "^3.0.0"
+
+ esprima@2.7.x, esprima@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+
+ esprima@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
+
+ esprima@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9"
+
+ esquery@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
+ dependencies:
+ estraverse "^4.0.0"
+
+ esrecurse@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
+ dependencies:
+ estraverse "^4.1.0"
+
+ estraverse@^1.9.1:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
+
+ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+
+ estree-walker@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
+
+ estree-walker@^0.5.1, estree-walker@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
+
+ esutils@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+
+ execa@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.2.2.tgz#e2ead472c2c31aad6f73f1ac956eef45e12320cb"
+ dependencies:
+ cross-spawn-async "^2.1.1"
+ npm-run-path "^1.0.0"
+ object-assign "^4.0.1"
+ path-key "^1.0.0"
+ strip-eof "^1.0.0"
+
+ execa@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+ exit-hook@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+
+ exit-on-epipe@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
+
+ exit@0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+
+ expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+ expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ dependencies:
+ fill-range "^2.1.0"
+
+ expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ dependencies:
+ homedir-polyfill "^1.0.1"
+
+ extend@3, extend@~3.0.0, extend@~3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+
+ external-editor@^2.0.4:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
+ dependencies:
+ chardet "^0.4.0"
+ iconv-lite "^0.4.17"
+ tmp "^0.0.33"
+
+ extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ dependencies:
+ is-extglob "^1.0.0"
+
+ extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+
+ extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+
+ fast-deep-equal@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+
+ fast-json-stable-stringify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+
+ fast-levenshtein@~2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+
+ figures@^1.3.5:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
+ figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+ file-entry-cache@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+ dependencies:
+ flat-cache "^1.2.1"
+ object-assign "^4.0.1"
+
+ filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+
+ filesize@^3.5.6:
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
+
+ fill-range@^2.1.0:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^3.0.0"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+ find-index@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
+
+ find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+ find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ dependencies:
+ locate-path "^2.0.0"
+
+ find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ dependencies:
+ locate-path "^3.0.0"
+
+ first-chunk-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
+
+ flat-cache@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
+ dependencies:
+ circular-json "^0.3.1"
+ del "^2.0.2"
+ graceful-fs "^4.1.2"
+ write "^0.2.1"
+
+ for-in@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+
+ for-own@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ dependencies:
+ for-in "^1.0.1"
+
+ forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+
+ form-data@~2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099"
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "1.0.6"
+ mime-types "^2.1.12"
+
+ frac@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b"
+
+ fs-extra@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+ fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+ functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+
+ gaze@^0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
+ dependencies:
+ globule "~0.1.0"
+
+ get-caller-file@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+
+ get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+
+ get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+
+ getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ dependencies:
+ assert-plus "^1.0.0"
+
+ giturl@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/giturl/-/giturl-1.0.0.tgz#9732a81e9e25c457a22f0e2ca1c9c51dbbb5325f"
+
+ glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+ glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ dependencies:
+ is-glob "^2.0.0"
+
+ glob-stream@^3.1.5:
+ version "3.1.18"
+ resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b"
+ dependencies:
+ glob "^4.3.1"
+ glob2base "^0.0.12"
+ minimatch "^2.0.1"
+ ordered-read-streams "^0.1.0"
+ through2 "^0.6.1"
+ unique-stream "^1.0.0"
+
+ glob-watcher@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b"
+ dependencies:
+ gaze "^0.5.1"
+
+ glob2base@^0.0.12:
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
+ dependencies:
+ find-index "^0.1.1"
+
+ glob@^4.3.1:
+ version "4.5.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^2.0.1"
+ once "^1.3.0"
+
+ glob@^5.0.15:
+ version "5.0.15"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+ glob@^6.0.1:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+ glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+ glob@~3.1.21:
+ version "3.1.21"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
+ dependencies:
+ graceful-fs "~1.2.0"
+ inherits "1"
+ minimatch "~0.2.11"
+
+ global-dirs@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
+ dependencies:
+ ini "^1.3.4"
+
+ global-modules@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ dependencies:
+ global-prefix "^1.0.1"
+ is-windows "^1.0.1"
+ resolve-dir "^1.0.0"
+
+ global-prefix@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ dependencies:
+ expand-tilde "^2.0.2"
+ homedir-polyfill "^1.0.1"
+ ini "^1.3.4"
+ is-windows "^1.0.1"
+ which "^1.2.14"
+
+ globals@^11.0.1:
+ version "11.5.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642"
+
+ globals@^9.18.0:
+ version "9.18.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+
+ globby@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8"
+ dependencies:
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ glob "^6.0.1"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+ globby@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
+ dependencies:
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ glob "^7.0.3"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+ globs@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/globs/-/globs-0.1.4.tgz#1d13639f6174e4ae73a7f936da7d9a079f657c1c"
+ dependencies:
+ glob "^7.1.1"
+
+ globule@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
+ dependencies:
+ glob "~3.1.21"
+ lodash "~1.0.1"
+ minimatch "~0.2.11"
+
+ google-closure-compiler-js@>20170000:
+ version "20180610.0.0"
+ resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20180610.0.0.tgz#df0dbf39ba3977027db2c1beb244368521c9220b"
+ dependencies:
+ minimist "^1.2.0"
+ vinyl "^2.0.1"
+ webpack-core "^0.6.8"
+
+ got@^3.2.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca"
+ dependencies:
+ duplexify "^3.2.0"
+ infinity-agent "^2.0.0"
+ is-redirect "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ nested-error-stacks "^1.0.0"
+ object-assign "^3.0.0"
+ prepend-http "^1.0.0"
+ read-all-stream "^3.0.0"
+ timed-out "^2.0.0"
+
+ got@^6.7.1:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
+ dependencies:
+ create-error-class "^3.0.0"
+ duplexer3 "^0.1.4"
+ get-stream "^3.0.0"
+ is-redirect "^1.0.0"
+ is-retry-allowed "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ safe-buffer "^5.0.1"
+ timed-out "^4.0.0"
+ unzip-response "^2.0.1"
+ url-parse-lax "^1.0.0"
+
+ graceful-fs@^3.0.0, graceful-fs@^3.0.1:
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
+ dependencies:
+ natives "^1.1.0"
+
+ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
+ graceful-fs@~1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
+
+ gzip-size@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
+ dependencies:
+ duplexer "^0.1.1"
+
+ handlebars@^4.0.1:
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
+ har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+
+ har-validator@~5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
+ dependencies:
+ ajv "^5.1.0"
+ har-schema "^2.0.0"
+
+ has-ansi@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e"
+ dependencies:
+ ansi-regex "^0.2.0"
+
+ has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+ has-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+
+ has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+
+ has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+
+ highlight-es@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/highlight-es/-/highlight-es-1.0.3.tgz#12abc300a27e686f6f18010134e3a5c6d2fe6930"
+ dependencies:
+ chalk "^2.4.0"
+ is-es2016-keyword "^1.0.0"
+ js-tokens "^3.0.0"
+
+ hoek@2.x.x:
+ version "2.16.3"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+
+ homedir-polyfill@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
+ dependencies:
+ parse-passwd "^1.0.0"
+
+ hosted-git-info@^2.1.4:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222"
+
+ http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+ https-proxy-agent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6"
+ dependencies:
+ agent-base "2"
+ debug "2"
+ extend "3"
+
+ iconv-lite@^0.4.17:
+ version "0.4.23"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+ ignore@^3.3.3:
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b"
+
+ import-lazy@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
+
+ imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+
+ indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ dependencies:
+ repeating "^2.0.0"
+
+ infinity-agent@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216"
+
+ inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+ inherits@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
+
+ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+ ini@^1.3.4, ini@~1.3.0:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+
+ inquirer@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+ dependencies:
+ ansi-escapes "^1.1.0"
+ ansi-regex "^2.0.0"
+ chalk "^1.0.0"
+ cli-cursor "^1.0.1"
+ cli-width "^2.0.0"
+ figures "^1.3.5"
+ lodash "^4.3.0"
+ readline2 "^1.0.1"
+ run-async "^0.1.0"
+ rx-lite "^3.1.2"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.0"
+ through "^2.3.6"
+
+ inquirer@^3.0.6:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.0"
+ cli-cursor "^2.1.0"
+ cli-width "^2.0.0"
+ external-editor "^2.0.4"
+ figures "^2.0.0"
+ lodash "^4.3.0"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rx-lite "^4.0.8"
+ rx-lite-aggregates "^4.0.8"
+ string-width "^2.1.0"
+ strip-ansi "^4.0.0"
+ through "^2.3.6"
+
+ invariant@^2.2.2:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ dependencies:
+ loose-envify "^1.0.0"
+
+ invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+
+ is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+
+ is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+
+ is-builtin-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ dependencies:
+ builtin-modules "^1.0.0"
+
+ is-ci@^1.0.10, is-ci@^1.0.8:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5"
+ dependencies:
+ ci-info "^1.0.0"
+
+ is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+
+ is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ dependencies:
+ is-primitive "^2.0.0"
+
+ is-es2016-keyword@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-es2016-keyword/-/is-es2016-keyword-1.0.0.tgz#f6e54e110c5e4f8d265e69d2ed0eaf8cf5f47718"
+
+ is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+
+ is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+
+ is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+ is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+ is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
+ is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ dependencies:
+ is-extglob "^1.0.0"
+
+ is-installed-globally@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
+ dependencies:
+ global-dirs "^0.1.0"
+ is-path-inside "^1.0.0"
+
+ is-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
+
+ is-npm@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
+
+ is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ dependencies:
+ kind-of "^3.0.2"
+
+ is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+
+ is-obj@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+
+ is-path-cwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+
+ is-path-in-cwd@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52"
+ dependencies:
+ is-path-inside "^1.0.0"
+
+ is-path-inside@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
+ dependencies:
+ path-is-inside "^1.0.1"
+
+ is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+
+ is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+
+ is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+
+ is-redirect@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+
+ is-resolvable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
+
+ is-retry-allowed@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
+
+ is-stream@^1.0.0, is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+
+ is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
+ is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
+ is-windows@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+
+ isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+ isarray@1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+ isemail@1.x.x:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a"
+
+ isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
+ isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ dependencies:
+ isarray "1.0.0"
+
+ isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+
+ istanbul@^0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
+ dependencies:
+ abbrev "1.0.x"
+ async "1.x"
+ escodegen "1.8.x"
+ esprima "2.7.x"
+ glob "^5.0.15"
+ handlebars "^4.0.1"
+ js-yaml "3.x"
+ mkdirp "0.5.x"
+ nopt "3.x"
+ once "1.x"
+ resolve "1.1.x"
+ supports-color "^3.1.0"
+ which "^1.1.1"
+ wordwrap "^1.0.0"
+
+ jison-gho@^0.6.1-215:
+ version "0.6.1-215"
+ resolved "https://registry.yarnpkg.com/jison-gho/-/jison-gho-0.6.1-215.tgz#932d850b8c7bcb50eb8cb15a2d38cf3757a17b04"
+ dependencies:
+ "@gerhobbelt/ast-util" "0.6.1-4"
+ "@gerhobbelt/json5" "0.5.1-21"
+ "@gerhobbelt/nomnom" "1.8.4-24"
+ "@gerhobbelt/recast" "0.13.0-24"
+ "@gerhobbelt/xregexp" "3.2.0-22"
+
+ joi@^6.9.1:
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06"
+ dependencies:
+ hoek "2.x.x"
+ isemail "1.x.x"
+ moment "2.x.x"
+ topo "1.x.x"
+
+ js-tokens@^3.0.0, js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+
+ js-yaml@3.x, js-yaml@^3.1.0, js-yaml@^3.4.2, js-yaml@^3.9.1:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+ jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+
+ json-schema-traverse@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+
+ json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+
+ json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+
+ json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+
+ jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+ jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+ kind-of@^3.0.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ dependencies:
+ is-buffer "^1.1.5"
+
+ kind-of@^6.0.0:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+
+ latest-version@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb"
+ dependencies:
+ package-json "^1.0.0"
+
+ latest-version@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
+ dependencies:
+ package-json "^4.0.0"
+
+ lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
+ lcid@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ dependencies:
+ invert-kv "^1.0.0"
+
+ levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+ load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+ load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+ locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+ locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
+ lodash.assign@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
+
+ lodash.toarray@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
+
+ "lodash@4.6.1 || ^4.16.1", lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.7.0:
+ version "4.17.10"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
+
+ lodash@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
+
+ longest@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
+ loose-envify@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+ dependencies:
+ js-tokens "^3.0.0"
+
+ loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+ lowercase-keys@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+
+ lru-cache@2:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
+
+ lru-cache@^4.0.0, lru-cache@^4.0.1:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+ magic-string@^0.16.0:
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a"
+ dependencies:
+ vlq "^0.2.1"
+
+ magic-string@^0.22.4:
+ version "0.22.5"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e"
+ dependencies:
+ vlq "^0.2.2"
+
+ magic-string@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.0.tgz#1f3696f9931ff0a1ed4c132250529e19cad6759b"
+ dependencies:
+ sourcemap-codec "^1.4.1"
+
+ make-dir@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
+ dependencies:
+ pify "^3.0.0"
+
+ map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+
+ marked-terminal@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-2.0.0.tgz#5eaf568be66f686541afa52a558280310a31de2d"
+ dependencies:
+ cardinal "^1.0.0"
+ chalk "^1.1.3"
+ cli-table "^0.3.1"
+ lodash.assign "^4.2.0"
+ node-emoji "^1.4.1"
+
+ marked@^0.3.12:
+ version "0.3.19"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
+
+ math-random@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
+
+ mem@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+ meow@^3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+ micromatch@^2.3.11:
+ version "2.3.11"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+ mime-db@~1.33.0:
+ version "1.33.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
+
+ mime-types@^2.1.12, mime-types@~2.1.17:
+ version "2.1.18"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
+ dependencies:
+ mime-db "~1.33.0"
+
+ mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+
+ "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+ minimatch@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-1.0.0.tgz#e0dd2120b49e1b724ce8d714c520822a9438576d"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+ minimatch@^2.0.1:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
+ dependencies:
+ brace-expansion "^1.0.0"
+
+ minimatch@~0.2.11:
+ version "0.2.14"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+ minimist@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+
+ minimist@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.0.tgz#4dffe525dae2b864c66c2e23c6271d7afdecefce"
+
+ minimist@^1.1.3, minimist@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+ minimist@~0.0.1, minimist@~0.0.7:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+
+ mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ dependencies:
+ minimist "0.0.8"
+
+ mocha.parallel@^0.15.3:
+ version "0.15.5"
+ resolved "https://registry.yarnpkg.com/mocha.parallel/-/mocha.parallel-0.15.5.tgz#605ec74764bc3a912d0e095dfc3dd23bd0b56676"
+ dependencies:
+ bluebird "^2.9.34"
+ semaphore "^1.0.5"
+
+ moment@2.x.x:
+ version "2.22.2"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66"
+
+ ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+ mute-stream@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
+
+ mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+
+ mversion@^1.10.1:
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/mversion/-/mversion-1.10.1.tgz#9322d1a4f11f6670de0024d1823a32a615a3d40e"
+ dependencies:
+ chalk "^0.5.0"
+ cli-usage "^0.1.2"
+ contra "^1.6.8"
+ minimatch "^1.0.0"
+ minimist "^0.2.0"
+ rc "^0.5.0"
+ semver "^4.0.3"
+ through2 "^1.0.0"
+ update-notifier "^0.2.2"
+ vinyl-fs "^0.3.4"
+
+ natives@^1.1.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.4.tgz#2f0f224fc9a7dd53407c7667c84cf8dbe773de58"
+
+ natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+
+ nested-error-stacks@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf"
+ dependencies:
+ inherits "~2.0.1"
+
+ node-emoji@^1.0.3, node-emoji@^1.4.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826"
+ dependencies:
+ lodash.toarray "^4.4.0"
+
+ nodesecurity-npm-utils@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz#05aa30de30ca8c845c4048e94fd78e5e08b55ed9"
+
+ nopt@3.x:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ dependencies:
+ abbrev "1"
+
+ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
+ dependencies:
+ hosted-git-info "^2.1.4"
+ is-builtin-module "^1.0.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+ normalize-path@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+ npm-check@^5.5.2:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/npm-check/-/npm-check-5.7.1.tgz#1f5da05b02d8fd7b92b3d4303bc8209abe795177"
+ dependencies:
+ babel-runtime "^6.6.1"
+ callsite-record "^3.0.0"
+ chalk "^1.1.3"
+ co "^4.6.0"
+ depcheck "^0.6.3"
+ execa "^0.2.2"
+ giturl "^1.0.0"
+ global-modules "^1.0.0"
+ globby "^4.0.0"
+ inquirer "^0.12.0"
+ is-ci "^1.0.8"
+ lodash "^4.7.0"
+ meow "^3.7.0"
+ minimatch "^3.0.2"
+ node-emoji "^1.0.3"
+ ora "^0.2.1"
+ package-json "^4.0.1"
+ path-exists "^2.1.0"
+ pkg-dir "^1.0.0"
+ semver "^5.0.1"
+ semver-diff "^2.0.0"
+ text-table "^0.2.0"
+ throat "^2.0.2"
+ update-notifier "^2.1.0"
+ xtend "^4.0.1"
+
+ npm-run-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f"
+ dependencies:
+ path-key "^1.0.0"
+
+ npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ dependencies:
+ path-key "^2.0.0"
+
+ nsp@^2.6.2:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/nsp/-/nsp-2.8.1.tgz#436e3f13869e0610d3a38f59d55f9b353cc32817"
+ dependencies:
+ chalk "^1.1.1"
+ cli-table "^0.3.1"
+ cvss "^1.0.0"
+ https-proxy-agent "^1.0.0"
+ joi "^6.9.1"
+ nodesecurity-npm-utils "^5.0.0"
+ path-is-absolute "^1.0.0"
+ rc "^1.1.2"
+ semver "^5.0.3"
+ subcommand "^2.0.3"
+ wreck "^6.3.0"
+
+ number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+
+ oauth-sign@~0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+
+ object-assign@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
+
+ object-assign@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
+
+ object-assign@^4.0.1, object-assign@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+
+ object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+ once@1.x, once@^1.3.0, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ dependencies:
+ wrappy "1"
+
+ onetime@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+
+ onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+ open@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
+
+ optimist@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ dependencies:
+ minimist "~0.0.1"
+ wordwrap "~0.0.2"
+
+ optionator@^0.8.1, optionator@^0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.4"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ wordwrap "~1.0.0"
+
+ ora@^0.2.1:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4"
+ dependencies:
+ chalk "^1.1.1"
+ cli-cursor "^1.0.2"
+ cli-spinners "^0.1.2"
+ object-assign "^4.0.1"
+
+ ordered-read-streams@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126"
+
+ os-homedir@^1.0.0, os-homedir@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+
+ os-locale@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
+ dependencies:
+ execa "^0.7.0"
+ lcid "^1.0.0"
+ mem "^1.1.0"
+
+ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+
+ osenv@^0.1.0:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+ p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+
+ p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ dependencies:
+ p-try "^1.0.0"
+
+ p-limit@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec"
+ dependencies:
+ p-try "^2.0.0"
+
+ p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ dependencies:
+ p-limit "^1.1.0"
+
+ p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ dependencies:
+ p-limit "^2.0.0"
+
+ p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+
+ p-try@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1"
+
+ package-json@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0"
+ dependencies:
+ got "^3.2.0"
+ registry-url "^3.0.0"
+
+ package-json@^4.0.0, package-json@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
+ dependencies:
+ got "^6.7.1"
+ registry-auth-token "^3.0.1"
+ registry-url "^3.0.3"
+ semver "^5.1.0"
+
+ parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+ parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ dependencies:
+ error-ex "^1.2.0"
+
+ parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+
+ path-exists@^2.0.0, path-exists@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+ path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
+ path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+ path-is-inside@^1.0.1, path-is-inside@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+
+ path-key@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af"
+
+ path-key@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+
+ path-parse@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+ path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+ path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ dependencies:
+ pify "^2.0.0"
+
+ performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+
+ pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+
+ pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+
+ pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ dependencies:
+ pinkie "^2.0.0"
+
+ pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+
+ pkg-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+ dependencies:
+ find-up "^1.0.0"
+
+ pluralize@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
+
+ prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+
+ prepend-http@^1.0.0, prepend-http@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+
+ preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+
+ prettier@^1.10.2:
+ version "1.13.5"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.5.tgz#7ae2076998c8edce79d63834e9b7b09fead6bfd0"
+
+ printj@~1.1.0, printj@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
+
+ private@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
+
+ private@0.1.8:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+
+ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
+
+ progress@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
+
+ pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
+ punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+
+ qs@~6.5.1:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+
+ randomatic@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923"
+ dependencies:
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
+
+ rc@^0.5.0:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-0.5.5.tgz#541cc3300f464b6dfe6432d756f0f2dd3e9eb199"
+ dependencies:
+ deep-extend "~0.2.5"
+ ini "~1.3.0"
+ minimist "~0.0.7"
+ strip-json-comments "0.1.x"
+
+ rc@^1.0.1, rc@^1.1.2, rc@^1.1.6:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+ read-all-stream@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
+ dependencies:
+ pinkie-promise "^2.0.0"
+ readable-stream "^2.0.0"
+
+ read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+ read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
+ read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+ read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
+ "readable-stream@>=1.0.33-1 <1.1.0-0":
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+ "readable-stream@>=1.1.13-1 <1.2.0-0":
+ version "1.1.14"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+ readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.3.5:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+ readline2@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ mute-stream "0.0.5"
+
+ redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+ redeyed@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a"
+ dependencies:
+ esprima "~3.0.0"
+
+ regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+
+ regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+ regexpp@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
+
+ registry-auth-token@^3.0.1:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20"
+ dependencies:
+ rc "^1.1.6"
+ safe-buffer "^5.0.1"
+
+ registry-url@^3.0.0, registry-url@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
+ dependencies:
+ rc "^1.0.1"
+
+ remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+
+ repeat-element@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+
+ repeat-string@^1.5.2:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+
+ repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ dependencies:
+ is-finite "^1.0.0"
+
+ replace-ext@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+
+ request@^2.51.0, request@^2.83.0:
+ version "2.87.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.6.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.5"
+ extend "~3.0.1"
+ forever-agent "~0.6.1"
+ form-data "~2.3.1"
+ har-validator "~5.0.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.17"
+ oauth-sign "~0.8.2"
+ performance-now "^2.1.0"
+ qs "~6.5.1"
+ safe-buffer "^5.1.1"
+ tough-cookie "~2.3.3"
+ tunnel-agent "^0.6.0"
+ uuid "^3.1.0"
+
+ require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+
+ require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+
+ require-package-name@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9"
+
+ require-uncached@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+ dependencies:
+ caller-path "^0.1.0"
+ resolve-from "^1.0.0"
+
+ resolve-dir@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ dependencies:
+ expand-tilde "^2.0.0"
+ global-modules "^1.0.0"
+
+ resolve-from@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+
+ resolve@1.1.x:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+
+ resolve@^1.1.6, resolve@^1.5.0:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
+ dependencies:
+ path-parse "^1.0.5"
+
+ resolve@^1.7.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
+ dependencies:
+ path-parse "^1.0.5"
+
+ restore-cursor@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+ dependencies:
+ exit-hook "^1.0.0"
+ onetime "^1.0.0"
+
+ restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+ rexreplace@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/rexreplace/-/rexreplace-3.1.1.tgz#f41918b21293ceec724e01f0175faac86ef4abc8"
+ dependencies:
+ chalk "^2.4.1"
+ globs "^0.1.4"
+ yargs "^12.0.1"
+
+ right-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ dependencies:
+ align-text "^0.1.1"
+
+ rimraf@^2.2.8:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ dependencies:
+ glob "^7.0.5"
+
+ rollup-plugin-buble@^0.19.2:
+ version "0.19.2"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-buble/-/rollup-plugin-buble-0.19.2.tgz#c0590c7d3d475b5ed59f129764ec93710cc6e8dd"
+ dependencies:
+ buble "^0.19.2"
+ rollup-pluginutils "^2.0.1"
+
+ rollup-plugin-cleanup@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.0.0.tgz#d23b3eef6c3fab78fc313a89eb8f0c955526815f"
+ dependencies:
+ acorn "^5.7.1"
+ magic-string "^0.25.0"
+ rollup-pluginutils "^2.3.0"
+
+ rollup-plugin-closure-compiler-js@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-closure-compiler-js/-/rollup-plugin-closure-compiler-js-1.0.6.tgz#58e3e31297ad1a532d9114108bc06f2756d72c3d"
+ dependencies:
+ google-closure-compiler-js ">20170000"
+
+ rollup-plugin-commonjs@^9.1.0:
+ version "9.1.3"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.1.3.tgz#37bfbf341292ea14f512438a56df8f9ca3ba4d67"
+ dependencies:
+ estree-walker "^0.5.1"
+ magic-string "^0.22.4"
+ resolve "^1.5.0"
+ rollup-pluginutils "^2.0.1"
+
+ rollup-plugin-filesize@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-filesize/-/rollup-plugin-filesize-2.0.0.tgz#28d160bd7db7362f394fa0b4f7cdcf5c7ecdfced"
+ dependencies:
+ boxen "^1.1.0"
+ colors "^1.1.2"
+ deep-assign "^2.0.0"
+ filesize "^3.5.6"
+ gzip-size "^3.0.0"
+
+ rollup-plugin-hashbang@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-hashbang/-/rollup-plugin-hashbang-1.0.1.tgz#4bfa5afc55d92fbfb52cc0bd99270ed06eec6cf0"
+ dependencies:
+ magic-string "^0.22.4"
+
+ rollup-plugin-node-resolve@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.3.0.tgz#c26d110a36812cbefa7ce117cadcd3439aa1c713"
+ dependencies:
+ builtin-modules "^2.0.0"
+ is-module "^1.0.0"
+ resolve "^1.1.6"
+
+ rollup-plugin-preserve-shebang@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-preserve-shebang/-/rollup-plugin-preserve-shebang-0.1.6.tgz#8cfc4c555d4ca87b9fbb7712869158db0e080d4a"
+ dependencies:
+ magic-string "^0.22.4"
+
+ rollup-plugin-progress@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-progress/-/rollup-plugin-progress-0.4.0.tgz#ec0b4ee3396434645412327292628b87b3b44f1e"
+ dependencies:
+ chalk "^1.1.3"
+ rollup-pluginutils "^1.5.1"
+
+ rollup-plugin-re@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-re/-/rollup-plugin-re-1.0.7.tgz#fe174704ed59cda84caf02bd013b582e6fdaa4f6"
+ dependencies:
+ magic-string "^0.16.0"
+ rollup-pluginutils "^2.0.1"
+
+ rollup-plugin-replace@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-2.0.0.tgz#19074089c8ed57184b8cc64e967a03d095119277"
+ dependencies:
+ magic-string "^0.22.4"
+ minimatch "^3.0.2"
+ rollup-pluginutils "^2.0.1"
+
+ rollup-plugin-typescript2@^0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.15.0.tgz#33cf4ec8528f6fa5686cf1246f047acec4801d3a"
+ dependencies:
+ fs-extra "^5.0.0"
+ resolve "^1.7.1"
+ rollup-pluginutils "^2.0.1"
+ tslib "1.9.2"
+
+ rollup-plugin-uglify@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-4.0.0.tgz#6eb471738f1ce9ba7d9d4bc43b71cba02417c8fb"
+ dependencies:
+ "@babel/code-frame" "^7.0.0-beta.47"
+ uglify-js "^3.3.25"
+
+ rollup-pluginutils@^1.5.1:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
+ dependencies:
+ estree-walker "^0.2.1"
+ minimatch "^3.0.2"
+
+ rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz#478ace04bd7f6da2e724356ca798214884738fc4"
+ dependencies:
+ estree-walker "^0.5.2"
+ micromatch "^2.3.11"
+
+ rollup@^0.61.1:
+ version "0.61.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.61.1.tgz#65a12f27c2094e6d643fb9cca6a3057190ecc5fe"
+ dependencies:
+ "@types/estree" "0.0.39"
+ "@types/node" "*"
+
+ run-async@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+ dependencies:
+ once "^1.3.0"
+
+ run-async@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
+ dependencies:
+ is-promise "^2.1.0"
+
+ rx-lite-aggregates@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
+ dependencies:
+ rx-lite "*"
+
+ rx-lite@*, rx-lite@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
+
+ rx-lite@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+
+ safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+
+ "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+
+ semaphore@^1.0.5:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa"
+
+ semver-diff@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
+ dependencies:
+ semver "^5.0.3"
+
+ "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
+
+ semver@^4.0.3:
+ version "4.3.6"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+
+ semver@~5.0.1:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a"
+
+ set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+
+ shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ dependencies:
+ shebang-regex "^1.0.0"
+
+ shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+
+ sigmund@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+
+ signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+ slice-ansi@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+
+ source-list-map@~0.1.7:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
+
+ source-map@0.6.1, source-map@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+
+ source-map@^0.4.4, source-map@~0.4.1:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ dependencies:
+ amdefine ">=0.0.4"
+
+ source-map@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
+ dependencies:
+ amdefine ">=0.0.4"
+
+ source-map@~0.5.1:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+
+ sourcemap-codec@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz#c8fd92d91889e902a07aee392bdd2c5863958ba2"
+
+ spdx-correct@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82"
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+ spdx-exceptions@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9"
+
+ spdx-expression-parse@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+ spdx-license-ids@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
+
+ sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+
+ ssf@~0.10.1:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.10.2.tgz#65b2b4fcdfd967bc8e8383a41349009893115976"
+ dependencies:
+ frac "~1.1.2"
+
+ sshpk@^1.7.0:
+ version "1.14.2"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ dashdash "^1.12.0"
+ getpass "^0.1.1"
+ safer-buffer "^2.0.2"
+ optionalDependencies:
+ bcrypt-pbkdf "^1.0.0"
+ ecc-jsbn "~0.1.1"
+ jsbn "~0.1.0"
+ tweetnacl "~0.14.0"
+
+ stackframe@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
+
+ stream-shift@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+
+ strftime@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/strftime/-/strftime-0.10.0.tgz#b3f0fa419295202a5a289f6d6be9f4909a617193"
+
+ string-length@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
+ dependencies:
+ strip-ansi "^3.0.0"
+
+ string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+ string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+
+ string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ dependencies:
+ safe-buffer "~5.1.0"
+
+ strip-ansi@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220"
+ dependencies:
+ ansi-regex "^0.2.1"
+
+ strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+ strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ dependencies:
+ ansi-regex "^3.0.0"
+
+ strip-bom@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
+ dependencies:
+ first-chunk-stream "^1.0.0"
+ is-utf8 "^0.2.0"
+
+ strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ dependencies:
+ is-utf8 "^0.2.0"
+
+ strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+
+ strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+
+ strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ dependencies:
+ get-stdin "^4.0.1"
+
+ strip-json-comments@0.1.x:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-0.1.3.tgz#164c64e370a8a3cc00c9e01b539e569823f0ee54"
+
+ strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+
+ subcommand@^2.0.3:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/subcommand/-/subcommand-2.1.0.tgz#5e4ceca5a3779e3365b1511e05f866877302f760"
+ dependencies:
+ cliclopts "^1.1.0"
+ debug "^2.1.3"
+ minimist "^1.2.0"
+ xtend "^4.0.0"
+
+ supports-color@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
+
+ supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+ supports-color@^3.1.0:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ dependencies:
+ has-flag "^1.0.0"
+
+ supports-color@^4.0.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ dependencies:
+ has-flag "^2.0.0"
+
+ supports-color@^5.3.0:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
+ dependencies:
+ has-flag "^3.0.0"
+
+ table@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
+ dependencies:
+ ajv "^5.2.3"
+ ajv-keywords "^2.1.0"
+ chalk "^2.1.0"
+ lodash "^4.17.4"
+ slice-ansi "1.0.0"
+ string-width "^2.1.1"
+
+ tabletop@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/tabletop/-/tabletop-1.5.2.tgz#654d484cae4e0e65a1f2077a7bec60da7b7464f3"
+ dependencies:
+ nsp "^2.6.2"
+ request "^2.51.0"
+
+ term-size@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
+ dependencies:
+ execa "^0.7.0"
+
+ text-table@^0.2.0, text-table@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+
+ throat@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-2.0.2.tgz#a9fce808b69e133a632590780f342c30a6249b02"
+
+ through2@^0.6.1:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
+ dependencies:
+ readable-stream ">=1.0.33-1 <1.1.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
+
+ through2@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-1.1.1.tgz#0847cbc4449f3405574dbdccd9bb841b83ac3545"
+ dependencies:
+ readable-stream ">=1.1.13-1 <1.2.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
+
+ through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+
+ ticky@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ticky/-/ticky-1.0.1.tgz#b7cfa71e768f1c9000c497b9151b30947c50e46d"
+
+ timed-out@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a"
+
+ timed-out@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+
+ tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+ to-fast-properties@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+
+ topo@1.x.x:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5"
+ dependencies:
+ hoek "2.x.x"
+
+ tough-cookie@~2.3.3:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
+ dependencies:
+ punycode "^1.4.1"
+
+ trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+
+ tslib@1.9.2:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.2.tgz#8be0cc9a1f6dc7727c38deb16c2ebd1a2892988e"
+
+ tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ dependencies:
+ safe-buffer "^5.0.1"
+
+ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+
+ type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ dependencies:
+ prelude-ls "~1.1.2"
+
+ typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+
+ typescript@^2.9.2:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c"
+
+ uglify-js@^2.6:
+ version "2.8.29"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ dependencies:
+ source-map "~0.5.1"
+ yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
+
+ uglify-js@^3.3.25:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.1.tgz#006da540dc25e9319d106a99a5ef1d24ae04ce60"
+ dependencies:
+ commander "~2.15.0"
+ source-map "~0.6.1"
+
+ uglify-js@^3.4.4:
+ version "3.4.5"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.5.tgz#650889c0766cf0f6fd5346cea09cd212f544be69"
+ dependencies:
+ commander "~2.16.0"
+ source-map "~0.6.1"
+
+ uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
+ unique-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b"
+
+ unique-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
+ dependencies:
+ crypto-random-string "^1.0.0"
+
+ universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+
+ unzip-response@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
+
+ update-notifier@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.2.2.tgz#e69b3a784b4e686a2acd98f5e66944591996e187"
+ dependencies:
+ chalk "^0.5.1"
+ configstore "^0.3.1"
+ is-npm "^1.0.0"
+ latest-version "^1.0.0"
+ semver-diff "^2.0.0"
+ string-length "^1.0.0"
+
+ update-notifier@^2.1.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6"
+ dependencies:
+ boxen "^1.2.1"
+ chalk "^2.0.1"
+ configstore "^3.0.0"
+ import-lazy "^2.1.0"
+ is-ci "^1.0.10"
+ is-installed-globally "^0.1.0"
+ is-npm "^1.0.0"
+ latest-version "^3.0.0"
+ semver-diff "^2.0.0"
+ xdg-basedir "^3.0.0"
+
+ url-parse-lax@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
+ dependencies:
+ prepend-http "^1.0.1"
+
+ user-home@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
+
+ util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+ uuid@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
+
+ uuid@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
+
+ validate-npm-package-license@^3.0.1:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+ verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+ vinyl-fs@^0.3.4:
+ version "0.3.14"
+ resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"
+ dependencies:
+ defaults "^1.0.0"
+ glob-stream "^3.1.5"
+ glob-watcher "^0.0.6"
+ graceful-fs "^3.0.0"
+ mkdirp "^0.5.0"
+ strip-bom "^1.0.0"
+ through2 "^0.6.1"
+ vinyl "^0.4.0"
+
+ vinyl@^0.4.0:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
+ dependencies:
+ clone "^0.2.0"
+ clone-stats "^0.0.1"
+
+ vinyl@^2.0.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
+ dependencies:
+ clone "^2.1.1"
+ clone-buffer "^1.0.0"
+ clone-stats "^1.0.0"
+ cloneable-readable "^1.0.0"
+ remove-trailing-separator "^1.0.1"
+ replace-ext "^1.0.0"
+
+ vlq@^0.2.1, vlq@^0.2.2:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
+
+ vlq@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806"
+
+ walkdir@0.0.11:
+ version "0.0.11"
+ resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532"
+
+ webpack-core@^0.6.8:
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2"
+ dependencies:
+ source-list-map "~0.1.7"
+ source-map "~0.4.1"
+
+ which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+
+ which@^1.1.1, which@^1.2.14, which@^1.2.8, which@^1.2.9:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ dependencies:
+ isexe "^2.0.0"
+
+ widest-line@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273"
+ dependencies:
+ string-width "^2.1.1"
+
+ window-size@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+ wordwrap@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
+ wordwrap@^1.0.0, wordwrap@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+
+ wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+
+ wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+ wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+ wreck@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/wreck/-/wreck-6.3.0.tgz#a1369769f07bbb62d6a378336a7871fc773c740b"
+ dependencies:
+ boom "2.x.x"
+ hoek "2.x.x"
+
+ write-file-atomic@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
+ write@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+ dependencies:
+ mkdirp "^0.5.1"
+
+ xdg-basedir@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-1.0.1.tgz#14ff8f63a4fdbcb05d5b6eea22b36f3033b9f04e"
+ dependencies:
+ user-home "^1.0.0"
+
+ xdg-basedir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
+
+ xlsx@^0.11.17:
+ version "0.11.19"
+ resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.11.19.tgz#2f019d9df756f6345aac5bc1af2442cf22a025e3"
+ dependencies:
+ adler-32 "~1.2.0"
+ cfb "~1.0.2"
+ codepage "~1.12.0"
+ commander "~2.13.0"
+ crc-32 "~1.2.0"
+ exit-on-epipe "~1.0.1"
+ ssf "~0.10.1"
+
+ xregexp@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020"
+
+ "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+ y18n@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+
+ "y18n@^3.2.1 || ^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
+
+ yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+
+ yargs-parser@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
+ dependencies:
+ camelcase "^4.1.0"
+
+ yargs-parser@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
+ dependencies:
+ camelcase "^4.1.0"
+
+ yargs-parser@^8.0.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
+ dependencies:
+ camelcase "^4.1.0"
+
+ yargs-parser@^9.0.2:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
+ dependencies:
+ camelcase "^4.1.0"
+
+ yargs@10.0.3:
+ version "10.0.3"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.0.3.tgz#6542debd9080ad517ec5048fb454efe9e4d4aaae"
+ dependencies:
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ find-up "^2.1.0"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^8.0.0"
+
+ yargs@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b"
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^1.1.1"
+ find-up "^2.1.0"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^9.0.2"
+
+ yargs@^12.0.1:
+ version "12.0.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2"
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^2.0.0"
+ find-up "^3.0.0"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1 || ^4.0.0"
+ yargs-parser "^10.1.0"
+
+ yargs@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
+ dependencies:
+ camelcase "^4.1.0"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ read-pkg-up "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^7.0.0"
+
+ yargs@~3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000000..5cc56fe9fd
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,3786 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/code-frame@^7.0.0-beta.47":
+ version "7.0.0-beta.51"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz#bd71d9b192af978df915829d39d4094456439a0c"
+ dependencies:
+ "@babel/highlight" "7.0.0-beta.51"
+
+"@babel/highlight@7.0.0-beta.51":
+ version "7.0.0-beta.51"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.51.tgz#e8844ae25a1595ccfd42b89623b4376ca06d225d"
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^3.0.0"
+
+"@types/es6-promise@^3.3.0":
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/@types/es6-promise/-/es6-promise-3.3.0.tgz#61b55e554fd807b563f158a7986ee53d3a5a5a9d"
+ dependencies:
+ es6-promise "*"
+
+"@types/estree@0.0.39":
+ version "0.0.39"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
+
+"@types/node@*":
+ version "10.3.4"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.4.tgz#c74e8aec19e555df44609b8057311052a2c84d9e"
+
+JSONSelect@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/JSONSelect/-/JSONSelect-0.4.0.tgz#a08edcc67eb3fcbe99ed630855344a0cf282bb8d"
+
+"JSV@>= 4.0.x":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57"
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+
+abbrev@1.0.x:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
+
+acorn-dynamic-import@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278"
+ dependencies:
+ acorn "^5.0.0"
+
+acorn-jsx@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+ dependencies:
+ acorn "^3.0.4"
+
+acorn-jsx@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e"
+ dependencies:
+ acorn "^5.0.3"
+
+acorn@^3.0.4:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+
+acorn@^5.0.0, acorn@^5.0.3, acorn@^5.4.1, acorn@^5.7.1:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
+
+acorn@^5.5.0:
+ version "5.6.2"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.6.2.tgz#b1da1d7be2ac1b4a327fb9eab851702c5045b4e7"
+
+adler-32@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25"
+ dependencies:
+ exit-on-epipe "~1.0.1"
+ printj "~1.1.0"
+
+agent-base@2:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7"
+ dependencies:
+ extend "~3.0.0"
+ semver "~5.0.1"
+
+ajv-keywords@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
+
+ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0:
+ version "5.5.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ dependencies:
+ co "^4.6.0"
+ fast-deep-equal "^1.0.0"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.3.0"
+
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
+ansi-align@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f"
+ dependencies:
+ string-width "^2.0.0"
+
+ansi-escapes@^1.1.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+
+ansi-escapes@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30"
+
+ansi-regex@^0.2.0, ansi-regex@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+
+ansi-styles@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de"
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178"
+
+ansicolors@~0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef"
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-flatten@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+
+array-union@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+
+arrify@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+
+asn1@~0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+
+async@1.x, async@^1.4.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+
+atoa@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/atoa/-/atoa-1.0.0.tgz#0cc0e91a480e738f923ebc103676471779b34a49"
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+
+aws4@^1.6.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
+
+babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+babel-traverse@^6.7.3:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ debug "^2.6.8"
+ globals "^9.18.0"
+ invariant "^2.2.2"
+ lodash "^4.17.4"
+
+babel-types@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
+babylon@^6.1.21, babylon@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bluebird@^2.9.34:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1"
+
+blueimp-md5@^2.10.0:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.10.0.tgz#02f0843921f90dca14f5b8920a38593201d6964d"
+
+boom@2.x.x:
+ version "2.10.1"
+ resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
+ dependencies:
+ hoek "2.x.x"
+
+boxen@^1.1.0, boxen@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
+ dependencies:
+ ansi-align "^2.0.0"
+ camelcase "^4.0.0"
+ chalk "^2.0.1"
+ cli-boxes "^1.0.0"
+ string-width "^2.0.0"
+ term-size "^1.2.0"
+ widest-line "^2.0.0"
+
+brace-expansion@^1.0.0, brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+buble@^0.19.2:
+ version "0.19.3"
+ resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.3.tgz#01e9412062cff1da6f20342b6ecd72e7bf699d02"
+ dependencies:
+ acorn "^5.4.1"
+ acorn-dynamic-import "^3.0.0"
+ acorn-jsx "^4.1.1"
+ chalk "^2.3.1"
+ magic-string "^0.22.4"
+ minimist "^1.2.0"
+ os-homedir "^1.0.1"
+ vlq "^1.0.0"
+
+buffer-from@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
+
+builtin-modules@^1.0.0, builtin-modules@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+
+builtin-modules@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e"
+
+caller-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+ dependencies:
+ callsites "^0.2.0"
+
+callsite-record@^3.0.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/callsite-record/-/callsite-record-3.2.2.tgz#9a0390642e43fe8bb823945e51464f69f41643de"
+ dependencies:
+ callsite "^1.0.0"
+ chalk "^1.1.1"
+ error-stack-parser "^1.3.3"
+ highlight-es "^1.0.0"
+ lodash "4.6.1 || ^4.16.1"
+ pinkie-promise "^2.0.0"
+
+callsite@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
+
+callsites@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+
+camelcase@^4.0.0, camelcase@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+
+capture-stack-trace@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
+
+cardinal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9"
+ dependencies:
+ ansicolors "~0.2.1"
+ redeyed "~1.0.0"
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+cfb@~1.0.2:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.0.7.tgz#ccb615eb1bb0a039e7829ab0b2ad4ea564fbaa78"
+ dependencies:
+ commander "^2.14.1"
+ printj "~1.1.2"
+
+chalk@^0.5.0, chalk@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174"
+ dependencies:
+ ansi-styles "^1.1.0"
+ escape-string-regexp "^1.0.0"
+ has-ansi "^0.1.0"
+ strip-ansi "^0.3.0"
+ supports-color "^0.2.0"
+
+chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.0, chalk@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f"
+ dependencies:
+ ansi-styles "~1.0.0"
+ has-color "~0.1.0"
+ strip-ansi "~0.1.0"
+
+chardet@^0.4.0:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
+
+ci-info@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2"
+
+circular-json@^0.3.1:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
+
+cjson@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/cjson/-/cjson-0.3.0.tgz#e6439b90703d312ff6e2224097bea92ce3d02a14"
+ dependencies:
+ jsonlint "1.6.0"
+
+cli-boxes@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
+
+cli-cursor@^1.0.1, cli-cursor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
+ dependencies:
+ restore-cursor "^1.0.1"
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-spinners@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
+
+cli-table@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23"
+ dependencies:
+ colors "1.0.3"
+
+cli-usage@^0.1.2:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/cli-usage/-/cli-usage-0.1.7.tgz#eaf1c9d5b91e22482333072a12127f05cd99a3ba"
+ dependencies:
+ marked "^0.3.12"
+ marked-terminal "^2.0.0"
+
+cli-width@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+
+cliclopts@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/cliclopts/-/cliclopts-1.1.1.tgz#69431c7cb5af723774b0d3911b4c37512431910f"
+
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
+cliui@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
+ dependencies:
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+ wrap-ansi "^2.0.0"
+
+clone-buffer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
+
+clone-stats@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
+
+clone-stats@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
+
+clone@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+
+clone@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
+
+cloneable-readable@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65"
+ dependencies:
+ inherits "^2.0.1"
+ process-nextick-args "^2.0.0"
+ readable-stream "^2.3.5"
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+
+codepage@~1.12.0:
+ version "1.12.2"
+ resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.12.2.tgz#fd4424448c8bf1db5d7e01f9ecf9e8346582a195"
+ dependencies:
+ commander "~2.14.1"
+ exit-on-epipe "~1.0.1"
+
+color-convert@^1.9.0:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
+ dependencies:
+ color-name "1.1.1"
+
+color-name@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
+
+colors@0.5.x:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
+
+colors@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
+
+colors@^1.1.2:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e"
+
+combined-stream@1.0.6, combined-stream@~1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@^2.14.1, commander@~2.15.0:
+ version "2.15.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
+
+commander@~2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
+
+commander@~2.14.1:
+ version "2.14.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa"
+
+commander@~2.16.0:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+
+concat-stream@^1.6.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+configstore@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-0.3.2.tgz#25e4c16c3768abf75c5a65bc61761f495055b459"
+ dependencies:
+ graceful-fs "^3.0.1"
+ js-yaml "^3.1.0"
+ mkdirp "^0.5.0"
+ object-assign "^2.0.0"
+ osenv "^0.1.0"
+ user-home "^1.0.0"
+ uuid "^2.0.1"
+ xdg-basedir "^1.0.0"
+
+configstore@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
+ dependencies:
+ dot-prop "^4.1.0"
+ graceful-fs "^4.1.2"
+ make-dir "^1.0.0"
+ unique-string "^1.0.0"
+ write-file-atomic "^2.0.0"
+ xdg-basedir "^3.0.0"
+
+contra@^1.6.8:
+ version "1.9.4"
+ resolved "https://registry.yarnpkg.com/contra/-/contra-1.9.4.tgz#f53bde42d7e5b5985cae4d99a8d610526de8f28d"
+ dependencies:
+ atoa "1.0.0"
+ ticky "1.0.1"
+
+core-js@^2.4.0:
+ version "2.5.7"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+
+crc-32@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208"
+ dependencies:
+ exit-on-epipe "~1.0.1"
+ printj "~1.1.0"
+
+create-error-class@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
+ dependencies:
+ capture-stack-trace "^1.0.0"
+
+cross-spawn-async@^2.1.1:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc"
+ dependencies:
+ lru-cache "^4.0.0"
+ which "^1.2.8"
+
+cross-spawn@^5.0.1, cross-spawn@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+crypto-random-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ dependencies:
+ array-find-index "^1.0.1"
+
+cvss@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/cvss/-/cvss-1.0.3.tgz#70df9c4a4e07fdb9341f27a2847a21df25c3a83a"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ dependencies:
+ assert-plus "^1.0.0"
+
+debug@2, debug@^2.1.3, debug@^2.6.8:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
+decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+
+decamelize@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7"
+ dependencies:
+ xregexp "4.0.0"
+
+deep-assign@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/deep-assign/-/deep-assign-2.0.0.tgz#ebe06b1f07f08dae597620e3dd1622f371a1c572"
+ dependencies:
+ is-obj "^1.0.0"
+
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+
+deep-extend@~0.2.5:
+ version "0.2.11"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.2.11.tgz#7a16ba69729132340506170494bc83f7076fe08f"
+
+deep-is@~0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+
+defaults@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ dependencies:
+ clone "^1.0.2"
+
+del@^2.0.2:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
+ dependencies:
+ globby "^5.0.0"
+ is-path-cwd "^1.0.0"
+ is-path-in-cwd "^1.0.0"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ rimraf "^2.2.8"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+
+depcheck@^0.6.3:
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/depcheck/-/depcheck-0.6.9.tgz#efe6fdf5cf00c2172811bc2a2403d59e5341e519"
+ dependencies:
+ babel-traverse "^6.7.3"
+ babylon "^6.1.21"
+ builtin-modules "^1.1.1"
+ deprecate "^1.0.0"
+ deps-regex "^0.1.4"
+ js-yaml "^3.4.2"
+ lodash "^4.5.1"
+ minimatch "^3.0.2"
+ require-package-name "^2.0.1"
+ walkdir "0.0.11"
+ yargs "^8.0.2"
+
+deprecate@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/deprecate/-/deprecate-1.0.0.tgz#661490ed2428916a6c8883d8834e5646f4e4a4a8"
+
+deps-regex@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deps-regex/-/deps-regex-0.1.4.tgz#518667b7691460a5e7e0a341be76eb7ce8090184"
+
+doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+ dependencies:
+ esutils "^2.0.2"
+
+dom-storage@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/dom-storage/-/dom-storage-2.1.0.tgz#00fb868bc9201357ea243c7bcfd3304c1e34ea39"
+
+dot-prop@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
+ dependencies:
+ is-obj "^1.0.0"
+
+duplexer3@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+
+duplexer@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+
+duplexify@^3.2.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410"
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+ebnf-parser@0.1.10:
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/ebnf-parser/-/ebnf-parser-0.1.10.tgz#cd1f6ba477c5638c40c97ed9b572db5bab5d8331"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
+ dependencies:
+ jsbn "~0.1.0"
+
+end-of-stream@^1.0.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
+ dependencies:
+ once "^1.4.0"
+
+error-ex@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-stack-parser@^1.3.3:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292"
+ dependencies:
+ stackframe "^0.3.1"
+
+es6-promise@*, es6-promise@^4.2.2:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
+
+escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+
+escodegen@1.3.x:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.3.3.tgz#f024016f5a88e046fd12005055e939802e6c5f23"
+ dependencies:
+ esprima "~1.1.1"
+ estraverse "~1.5.0"
+ esutils "~1.0.0"
+ optionalDependencies:
+ source-map "~0.1.33"
+
+escodegen@1.8.x:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018"
+ dependencies:
+ esprima "^2.7.1"
+ estraverse "^1.9.1"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.2.0"
+
+eslint-scope@^3.7.1:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-visitor-keys@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
+
+eslint@^4.19.1:
+ version "4.19.1"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
+ dependencies:
+ ajv "^5.3.0"
+ babel-code-frame "^6.22.0"
+ chalk "^2.1.0"
+ concat-stream "^1.6.0"
+ cross-spawn "^5.1.0"
+ debug "^3.1.0"
+ doctrine "^2.1.0"
+ eslint-scope "^3.7.1"
+ eslint-visitor-keys "^1.0.0"
+ espree "^3.5.4"
+ esquery "^1.0.0"
+ esutils "^2.0.2"
+ file-entry-cache "^2.0.0"
+ functional-red-black-tree "^1.0.1"
+ glob "^7.1.2"
+ globals "^11.0.1"
+ ignore "^3.3.3"
+ imurmurhash "^0.1.4"
+ inquirer "^3.0.6"
+ is-resolvable "^1.0.0"
+ js-yaml "^3.9.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.3.0"
+ lodash "^4.17.4"
+ minimatch "^3.0.2"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ path-is-inside "^1.0.2"
+ pluralize "^7.0.0"
+ progress "^2.0.0"
+ regexpp "^1.0.1"
+ require-uncached "^1.0.3"
+ semver "^5.3.0"
+ strip-ansi "^4.0.0"
+ strip-json-comments "~2.0.1"
+ table "4.0.2"
+ text-table "~0.2.0"
+
+espree@^3.5.4:
+ version "3.5.4"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
+ dependencies:
+ acorn "^5.5.0"
+ acorn-jsx "^3.0.0"
+
+esprima@1.1.x, esprima@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.1.1.tgz#5b6f1547f4d102e670e140c509be6771d6aeb549"
+
+esprima@2.7.x, esprima@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
+
+esprima@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
+
+esprima@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9"
+
+esquery@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
+ dependencies:
+ estraverse "^4.0.0"
+
+esrecurse@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
+ dependencies:
+ estraverse "^4.1.0"
+
+estraverse@^1.9.1:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44"
+
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+
+estraverse@~1.5.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz#867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71"
+
+estree-walker@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
+
+estree-walker@^0.5.1, estree-walker@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39"
+
+esutils@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+
+esutils@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570"
+
+execa@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.2.2.tgz#e2ead472c2c31aad6f73f1ac956eef45e12320cb"
+ dependencies:
+ cross-spawn-async "^2.1.1"
+ npm-run-path "^1.0.0"
+ object-assign "^4.0.1"
+ path-key "^1.0.0"
+ strip-eof "^1.0.0"
+
+execa@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+exit-hook@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
+
+exit-on-epipe@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ dependencies:
+ fill-range "^2.1.0"
+
+expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ dependencies:
+ homedir-polyfill "^1.0.1"
+
+extend@3, extend@~3.0.0, extend@~3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
+
+external-editor@^2.0.4:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
+ dependencies:
+ chardet "^0.4.0"
+ iconv-lite "^0.4.17"
+ tmp "^0.0.33"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ dependencies:
+ is-extglob "^1.0.0"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+
+fast-deep-equal@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+
+fast-levenshtein@~2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+
+figures@^1.3.5:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+ dependencies:
+ flat-cache "^1.2.1"
+ object-assign "^4.0.1"
+
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+
+filesize@^3.5.6:
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
+
+fill-range@^2.1.0:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^3.0.0"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+find-index@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ dependencies:
+ locate-path "^2.0.0"
+
+find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ dependencies:
+ locate-path "^3.0.0"
+
+first-chunk-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
+
+flat-cache@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
+ dependencies:
+ circular-json "^0.3.1"
+ del "^2.0.2"
+ graceful-fs "^4.1.2"
+ write "^0.2.1"
+
+for-in@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+
+for-own@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ dependencies:
+ for-in "^1.0.1"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+
+form-data@~2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099"
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "1.0.6"
+ mime-types "^2.1.12"
+
+frac@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b"
+
+fs-extra@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+
+gaze@^0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
+ dependencies:
+ globule "~0.1.0"
+
+get-caller-file@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ dependencies:
+ assert-plus "^1.0.0"
+
+giturl@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/giturl/-/giturl-1.0.0.tgz#9732a81e9e25c457a22f0e2ca1c9c51dbbb5325f"
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ dependencies:
+ is-glob "^2.0.0"
+
+glob-stream@^3.1.5:
+ version "3.1.18"
+ resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b"
+ dependencies:
+ glob "^4.3.1"
+ glob2base "^0.0.12"
+ minimatch "^2.0.1"
+ ordered-read-streams "^0.1.0"
+ through2 "^0.6.1"
+ unique-stream "^1.0.0"
+
+glob-watcher@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b"
+ dependencies:
+ gaze "^0.5.1"
+
+glob2base@^0.0.12:
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
+ dependencies:
+ find-index "^0.1.1"
+
+glob@^4.3.1:
+ version "4.5.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^2.0.1"
+ once "^1.3.0"
+
+glob@^5.0.15:
+ version "5.0.15"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^6.0.1:
+ version "6.0.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@~3.1.21:
+ version "3.1.21"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
+ dependencies:
+ graceful-fs "~1.2.0"
+ inherits "1"
+ minimatch "~0.2.11"
+
+global-dirs@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
+ dependencies:
+ ini "^1.3.4"
+
+global-modules@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ dependencies:
+ global-prefix "^1.0.1"
+ is-windows "^1.0.1"
+ resolve-dir "^1.0.0"
+
+global-prefix@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ dependencies:
+ expand-tilde "^2.0.2"
+ homedir-polyfill "^1.0.1"
+ ini "^1.3.4"
+ is-windows "^1.0.1"
+ which "^1.2.14"
+
+globals@^11.0.1:
+ version "11.5.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.5.0.tgz#6bc840de6771173b191f13d3a9c94d441ee92642"
+
+globals@^9.18.0:
+ version "9.18.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+
+globby@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8"
+ dependencies:
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ glob "^6.0.1"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+globby@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
+ dependencies:
+ array-union "^1.0.1"
+ arrify "^1.0.0"
+ glob "^7.0.3"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+globs@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/globs/-/globs-0.1.4.tgz#1d13639f6174e4ae73a7f936da7d9a079f657c1c"
+ dependencies:
+ glob "^7.1.1"
+
+globule@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
+ dependencies:
+ glob "~3.1.21"
+ lodash "~1.0.1"
+ minimatch "~0.2.11"
+
+google-closure-compiler-js@>20170000:
+ version "20180610.0.0"
+ resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20180610.0.0.tgz#df0dbf39ba3977027db2c1beb244368521c9220b"
+ dependencies:
+ minimist "^1.2.0"
+ vinyl "^2.0.1"
+ webpack-core "^0.6.8"
+
+got@^3.2.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca"
+ dependencies:
+ duplexify "^3.2.0"
+ infinity-agent "^2.0.0"
+ is-redirect "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ nested-error-stacks "^1.0.0"
+ object-assign "^3.0.0"
+ prepend-http "^1.0.0"
+ read-all-stream "^3.0.0"
+ timed-out "^2.0.0"
+
+got@^6.7.1:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
+ dependencies:
+ create-error-class "^3.0.0"
+ duplexer3 "^0.1.4"
+ get-stream "^3.0.0"
+ is-redirect "^1.0.0"
+ is-retry-allowed "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ safe-buffer "^5.0.1"
+ timed-out "^4.0.0"
+ unzip-response "^2.0.1"
+ url-parse-lax "^1.0.0"
+
+graceful-fs@^3.0.0, graceful-fs@^3.0.1:
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
+ dependencies:
+ natives "^1.1.0"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+
+graceful-fs@~1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
+
+gzip-size@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
+ dependencies:
+ duplexer "^0.1.1"
+
+handlebars@^4.0.1:
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+
+har-validator@~5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
+ dependencies:
+ ajv "^5.1.0"
+ har-schema "^2.0.0"
+
+has-ansi@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e"
+ dependencies:
+ ansi-regex "^0.2.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-color@~0.1.0:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f"
+
+has-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+
+highlight-es@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/highlight-es/-/highlight-es-1.0.3.tgz#12abc300a27e686f6f18010134e3a5c6d2fe6930"
+ dependencies:
+ chalk "^2.4.0"
+ is-es2016-keyword "^1.0.0"
+ js-tokens "^3.0.0"
+
+hoek@2.x.x:
+ version "2.16.3"
+ resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
+
+homedir-polyfill@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
+ dependencies:
+ parse-passwd "^1.0.0"
+
+hosted-git-info@^2.1.4:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+https-proxy-agent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6"
+ dependencies:
+ agent-base "2"
+ debug "2"
+ extend "3"
+
+iconv-lite@^0.4.17:
+ version "0.4.23"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+ignore@^3.3.3:
+ version "3.3.8"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b"
+
+import-lazy@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ dependencies:
+ repeating "^2.0.0"
+
+infinity-agent@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
+
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+
+ini@^1.3.4, ini@~1.3.0:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+
+inquirer@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
+ dependencies:
+ ansi-escapes "^1.1.0"
+ ansi-regex "^2.0.0"
+ chalk "^1.0.0"
+ cli-cursor "^1.0.1"
+ cli-width "^2.0.0"
+ figures "^1.3.5"
+ lodash "^4.3.0"
+ readline2 "^1.0.1"
+ run-async "^0.1.0"
+ rx-lite "^3.1.2"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.0"
+ through "^2.3.6"
+
+inquirer@^3.0.6:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.0"
+ cli-cursor "^2.1.0"
+ cli-width "^2.0.0"
+ external-editor "^2.0.4"
+ figures "^2.0.0"
+ lodash "^4.3.0"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rx-lite "^4.0.8"
+ rx-lite-aggregates "^4.0.8"
+ string-width "^2.1.0"
+ strip-ansi "^4.0.0"
+ through "^2.3.6"
+
+invariant@^2.2.2:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ dependencies:
+ loose-envify "^1.0.0"
+
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+
+is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+
+is-builtin-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ dependencies:
+ builtin-modules "^1.0.0"
+
+is-ci@^1.0.10, is-ci@^1.0.8:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5"
+ dependencies:
+ ci-info "^1.0.0"
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-es2016-keyword@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-es2016-keyword/-/is-es2016-keyword-1.0.0.tgz#f6e54e110c5e4f8d265e69d2ed0eaf8cf5f47718"
+
+is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-installed-globally@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
+ dependencies:
+ global-dirs "^0.1.0"
+ is-path-inside "^1.0.0"
+
+is-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
+
+is-npm@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4"
+
+is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+
+is-obj@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+
+is-path-cwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+
+is-path-in-cwd@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52"
+ dependencies:
+ is-path-inside "^1.0.0"
+
+is-path-inside@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
+ dependencies:
+ path-is-inside "^1.0.1"
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+
+is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+
+is-redirect@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+
+is-resolvable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
+
+is-retry-allowed@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
+
+is-stream@^1.0.0, is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
+is-windows@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+
+isarray@1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+
+isemail@1.x.x:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/isemail/-/isemail-1.2.0.tgz#be03df8cc3e29de4d2c5df6501263f1fa4595e9a"
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ dependencies:
+ isarray "1.0.0"
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+
+istanbul@^0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b"
+ dependencies:
+ abbrev "1.0.x"
+ async "1.x"
+ escodegen "1.8.x"
+ esprima "2.7.x"
+ glob "^5.0.15"
+ handlebars "^4.0.1"
+ js-yaml "3.x"
+ mkdirp "0.5.x"
+ nopt "3.x"
+ once "1.x"
+ resolve "1.1.x"
+ supports-color "^3.1.0"
+ which "^1.1.1"
+ wordwrap "^1.0.0"
+
+jison-lex@0.3.x:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/jison-lex/-/jison-lex-0.3.4.tgz#81ca28d84f84499dfa8c594dcde3d8a3f26ec7a5"
+ dependencies:
+ lex-parser "0.1.x"
+ nomnom "1.5.2"
+
+jison@^0.4.18:
+ version "0.4.18"
+ resolved "https://registry.yarnpkg.com/jison/-/jison-0.4.18.tgz#c68a6a54bfe7028fa40bcfc6cc8bbd9ed291f502"
+ dependencies:
+ JSONSelect "0.4.0"
+ cjson "0.3.0"
+ ebnf-parser "0.1.10"
+ escodegen "1.3.x"
+ esprima "1.1.x"
+ jison-lex "0.3.x"
+ lex-parser "~0.1.3"
+ nomnom "1.5.2"
+
+joi@^6.9.1:
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-6.10.1.tgz#4d50c318079122000fe5f16af1ff8e1917b77e06"
+ dependencies:
+ hoek "2.x.x"
+ isemail "1.x.x"
+ moment "2.x.x"
+ topo "1.x.x"
+
+js-tokens@^3.0.0, js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+
+js-yaml@3.x, js-yaml@^3.1.0, js-yaml@^3.4.2, js-yaml@^3.9.1:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+
+json-schema-traverse@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonlint@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.0.tgz#88aa46bc289a7ac93bb46cae2d58a187a9bb494a"
+ dependencies:
+ JSV ">= 4.0.x"
+ nomnom ">= 1.5.x"
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+kind-of@^3.0.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^6.0.0:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+
+latest-version@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb"
+ dependencies:
+ package-json "^1.0.0"
+
+latest-version@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
+ dependencies:
+ package-json "^4.0.0"
+
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ dependencies:
+ invert-kv "^1.0.0"
+
+levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+lex-parser@0.1.x, lex-parser@~0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/lex-parser/-/lex-parser-0.1.4.tgz#64c4f025f17fd53bfb45763faeb16f015a747550"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
+lodash.assign@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
+
+lodash.toarray@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
+
+"lodash@4.6.1 || ^4.16.1", lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.7.0:
+ version "4.17.10"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
+
+lodash@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
+
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
+loose-envify@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
+ dependencies:
+ js-tokens "^3.0.0"
+
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lowercase-keys@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+
+lru-cache@2:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
+
+lru-cache@^4.0.0, lru-cache@^4.0.1:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+magic-string@^0.16.0:
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a"
+ dependencies:
+ vlq "^0.2.1"
+
+magic-string@^0.22.4:
+ version "0.22.5"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e"
+ dependencies:
+ vlq "^0.2.2"
+
+magic-string@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.0.tgz#1f3696f9931ff0a1ed4c132250529e19cad6759b"
+ dependencies:
+ sourcemap-codec "^1.4.1"
+
+make-dir@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
+ dependencies:
+ pify "^3.0.0"
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+
+marked-terminal@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-2.0.0.tgz#5eaf568be66f686541afa52a558280310a31de2d"
+ dependencies:
+ cardinal "^1.0.0"
+ chalk "^1.1.3"
+ cli-table "^0.3.1"
+ lodash.assign "^4.2.0"
+ node-emoji "^1.4.1"
+
+marked@^0.3.12:
+ version "0.3.19"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
+
+math-random@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
+
+mem@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+meow@^3.7.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+micromatch@^2.3.11:
+ version "2.3.11"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+mime-db@~1.33.0:
+ version "1.33.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
+
+mime-types@^2.1.12, mime-types@~2.1.17:
+ version "2.1.18"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
+ dependencies:
+ mime-db "~1.33.0"
+
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+
+"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-1.0.0.tgz#e0dd2120b49e1b724ce8d714c520822a9438576d"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+minimatch@^2.0.1:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
+ dependencies:
+ brace-expansion "^1.0.0"
+
+minimatch@~0.2.11:
+ version "0.2.14"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
+ dependencies:
+ lru-cache "2"
+ sigmund "~1.0.0"
+
+minimist@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+
+minimist@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.0.tgz#4dffe525dae2b864c66c2e23c6271d7afdecefce"
+
+minimist@^1.1.3, minimist@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+
+minimist@~0.0.1, minimist@~0.0.7:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+
+mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ dependencies:
+ minimist "0.0.8"
+
+mocha.parallel@^0.15.3:
+ version "0.15.5"
+ resolved "https://registry.yarnpkg.com/mocha.parallel/-/mocha.parallel-0.15.5.tgz#605ec74764bc3a912d0e095dfc3dd23bd0b56676"
+ dependencies:
+ bluebird "^2.9.34"
+ semaphore "^1.0.5"
+
+moment@2.x.x:
+ version "2.22.2"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+
+mute-stream@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
+
+mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+
+mversion@^1.10.1:
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/mversion/-/mversion-1.10.1.tgz#9322d1a4f11f6670de0024d1823a32a615a3d40e"
+ dependencies:
+ chalk "^0.5.0"
+ cli-usage "^0.1.2"
+ contra "^1.6.8"
+ minimatch "^1.0.0"
+ minimist "^0.2.0"
+ rc "^0.5.0"
+ semver "^4.0.3"
+ through2 "^1.0.0"
+ update-notifier "^0.2.2"
+ vinyl-fs "^0.3.4"
+
+natives@^1.1.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.4.tgz#2f0f224fc9a7dd53407c7667c84cf8dbe773de58"
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+
+nested-error-stacks@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf"
+ dependencies:
+ inherits "~2.0.1"
+
+node-emoji@^1.0.3, node-emoji@^1.4.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826"
+ dependencies:
+ lodash.toarray "^4.4.0"
+
+nodesecurity-npm-utils@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/nodesecurity-npm-utils/-/nodesecurity-npm-utils-5.0.0.tgz#05aa30de30ca8c845c4048e94fd78e5e08b55ed9"
+
+nomnom@1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.5.2.tgz#f4345448a853cfbd5c0d26320f2477ab0526fe2f"
+ dependencies:
+ colors "0.5.x"
+ underscore "1.1.x"
+
+"nomnom@>= 1.5.x":
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7"
+ dependencies:
+ chalk "~0.4.0"
+ underscore "~1.6.0"
+
+nopt@3.x:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+ dependencies:
+ abbrev "1"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
+ dependencies:
+ hosted-git-info "^2.1.4"
+ is-builtin-module "^1.0.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+npm-check@^5.5.2:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/npm-check/-/npm-check-5.7.1.tgz#1f5da05b02d8fd7b92b3d4303bc8209abe795177"
+ dependencies:
+ babel-runtime "^6.6.1"
+ callsite-record "^3.0.0"
+ chalk "^1.1.3"
+ co "^4.6.0"
+ depcheck "^0.6.3"
+ execa "^0.2.2"
+ giturl "^1.0.0"
+ global-modules "^1.0.0"
+ globby "^4.0.0"
+ inquirer "^0.12.0"
+ is-ci "^1.0.8"
+ lodash "^4.7.0"
+ meow "^3.7.0"
+ minimatch "^3.0.2"
+ node-emoji "^1.0.3"
+ ora "^0.2.1"
+ package-json "^4.0.1"
+ path-exists "^2.1.0"
+ pkg-dir "^1.0.0"
+ semver "^5.0.1"
+ semver-diff "^2.0.0"
+ text-table "^0.2.0"
+ throat "^2.0.2"
+ update-notifier "^2.1.0"
+ xtend "^4.0.1"
+
+npm-run-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f"
+ dependencies:
+ path-key "^1.0.0"
+
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ dependencies:
+ path-key "^2.0.0"
+
+nsp@^2.6.2:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/nsp/-/nsp-2.8.1.tgz#436e3f13869e0610d3a38f59d55f9b353cc32817"
+ dependencies:
+ chalk "^1.1.1"
+ cli-table "^0.3.1"
+ cvss "^1.0.0"
+ https-proxy-agent "^1.0.0"
+ joi "^6.9.1"
+ nodesecurity-npm-utils "^5.0.0"
+ path-is-absolute "^1.0.0"
+ rc "^1.1.2"
+ semver "^5.0.3"
+ subcommand "^2.0.3"
+ wreck "^6.3.0"
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+
+oauth-sign@~0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
+
+object-assign@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
+
+object-assign@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
+
+object-assign@^4.0.1, object-assign@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+once@1.x, once@^1.3.0, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ dependencies:
+ wrappy "1"
+
+onetime@^1.0.0:
+ version "1.1.0"
+ resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ dependencies:
+ mimic-fn "^1.0.0"
+
+open@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
+
+optimist@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
+ dependencies:
+ minimist "~0.0.1"
+ wordwrap "~0.0.2"
+
+optionator@^0.8.1, optionator@^0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.4"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ wordwrap "~1.0.0"
+
+ora@^0.2.1:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4"
+ dependencies:
+ chalk "^1.1.1"
+ cli-cursor "^1.0.2"
+ cli-spinners "^0.1.2"
+ object-assign "^4.0.1"
+
+ordered-read-streams@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126"
+
+os-homedir@^1.0.0, os-homedir@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+
+os-locale@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
+ dependencies:
+ execa "^0.7.0"
+ lcid "^1.0.0"
+ mem "^1.1.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+
+osenv@^0.1.0:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec"
+ dependencies:
+ p-try "^2.0.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ dependencies:
+ p-limit "^2.0.0"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+
+p-try@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1"
+
+package-json@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0"
+ dependencies:
+ got "^3.2.0"
+ registry-url "^3.0.0"
+
+package-json@^4.0.0, package-json@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed"
+ dependencies:
+ got "^6.7.1"
+ registry-auth-token "^3.0.1"
+ registry-url "^3.0.3"
+ semver "^5.1.0"
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ dependencies:
+ error-ex "^1.2.0"
+
+parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+
+path-exists@^2.0.0, path-exists@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+
+path-is-inside@^1.0.1, path-is-inside@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+
+path-key@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af"
+
+path-key@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+
+path-parse@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ dependencies:
+ pify "^2.0.0"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+
+pkg-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+ dependencies:
+ find-up "^1.0.0"
+
+pluralize@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
+
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+
+prepend-http@^1.0.0, prepend-http@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+
+prettier@^1.10.2:
+ version "1.13.5"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.13.5.tgz#7ae2076998c8edce79d63834e9b7b09fead6bfd0"
+
+printj@~1.1.0, printj@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
+
+process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
+
+progress@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
+
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+
+punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+
+qs@~6.5.1:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+
+randomatic@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923"
+ dependencies:
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
+
+rc@^0.5.0:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-0.5.5.tgz#541cc3300f464b6dfe6432d756f0f2dd3e9eb199"
+ dependencies:
+ deep-extend "~0.2.5"
+ ini "~1.3.0"
+ minimist "~0.0.7"
+ strip-json-comments "0.1.x"
+
+rc@^1.0.1, rc@^1.1.2, rc@^1.1.6:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+read-all-stream@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
+ dependencies:
+ pinkie-promise "^2.0.0"
+ readable-stream "^2.0.0"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
+"readable-stream@>=1.0.33-1 <1.1.0-0":
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+"readable-stream@>=1.1.13-1 <1.2.0-0":
+ version "1.1.14"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@^2.3.5:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readline2@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ mute-stream "0.0.5"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+redeyed@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a"
+ dependencies:
+ esprima "~3.0.0"
+
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+
+regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+regexpp@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
+
+registry-auth-token@^3.0.1:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20"
+ dependencies:
+ rc "^1.1.6"
+ safe-buffer "^5.0.1"
+
+registry-url@^3.0.0, registry-url@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
+ dependencies:
+ rc "^1.0.1"
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+
+repeat-element@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
+
+repeat-string@^1.5.2:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ dependencies:
+ is-finite "^1.0.0"
+
+replace-ext@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+
+request@^2.51.0, request@^2.83.0:
+ version "2.87.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.6.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.5"
+ extend "~3.0.1"
+ forever-agent "~0.6.1"
+ form-data "~2.3.1"
+ har-validator "~5.0.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.17"
+ oauth-sign "~0.8.2"
+ performance-now "^2.1.0"
+ qs "~6.5.1"
+ safe-buffer "^5.1.1"
+ tough-cookie "~2.3.3"
+ tunnel-agent "^0.6.0"
+ uuid "^3.1.0"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+
+require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+
+require-package-name@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/require-package-name/-/require-package-name-2.0.1.tgz#c11e97276b65b8e2923f75dabf5fb2ef0c3841b9"
+
+require-uncached@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+ dependencies:
+ caller-path "^0.1.0"
+ resolve-from "^1.0.0"
+
+resolve-dir@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ dependencies:
+ expand-tilde "^2.0.0"
+ global-modules "^1.0.0"
+
+resolve-from@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+
+resolve@1.1.x:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+
+resolve@^1.1.6, resolve@^1.5.0:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3"
+ dependencies:
+ path-parse "^1.0.5"
+
+resolve@^1.7.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
+ dependencies:
+ path-parse "^1.0.5"
+
+restore-cursor@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
+ dependencies:
+ exit-hook "^1.0.0"
+ onetime "^1.0.0"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+rexreplace@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/rexreplace/-/rexreplace-3.1.1.tgz#f41918b21293ceec724e01f0175faac86ef4abc8"
+ dependencies:
+ chalk "^2.4.1"
+ globs "^0.1.4"
+ yargs "^12.0.1"
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ dependencies:
+ align-text "^0.1.1"
+
+rimraf@^2.2.8:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ dependencies:
+ glob "^7.0.5"
+
+rollup-plugin-buble@^0.19.2:
+ version "0.19.2"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-buble/-/rollup-plugin-buble-0.19.2.tgz#c0590c7d3d475b5ed59f129764ec93710cc6e8dd"
+ dependencies:
+ buble "^0.19.2"
+ rollup-pluginutils "^2.0.1"
+
+rollup-plugin-cleanup@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.0.0.tgz#d23b3eef6c3fab78fc313a89eb8f0c955526815f"
+ dependencies:
+ acorn "^5.7.1"
+ magic-string "^0.25.0"
+ rollup-pluginutils "^2.3.0"
+
+rollup-plugin-closure-compiler-js@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-closure-compiler-js/-/rollup-plugin-closure-compiler-js-1.0.6.tgz#58e3e31297ad1a532d9114108bc06f2756d72c3d"
+ dependencies:
+ google-closure-compiler-js ">20170000"
+
+rollup-plugin-commonjs@^9.1.0:
+ version "9.1.3"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.1.3.tgz#37bfbf341292ea14f512438a56df8f9ca3ba4d67"
+ dependencies:
+ estree-walker "^0.5.1"
+ magic-string "^0.22.4"
+ resolve "^1.5.0"
+ rollup-pluginutils "^2.0.1"
+
+rollup-plugin-filesize@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-filesize/-/rollup-plugin-filesize-2.0.0.tgz#28d160bd7db7362f394fa0b4f7cdcf5c7ecdfced"
+ dependencies:
+ boxen "^1.1.0"
+ colors "^1.1.2"
+ deep-assign "^2.0.0"
+ filesize "^3.5.6"
+ gzip-size "^3.0.0"
+
+rollup-plugin-hashbang@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-hashbang/-/rollup-plugin-hashbang-1.0.1.tgz#4bfa5afc55d92fbfb52cc0bd99270ed06eec6cf0"
+ dependencies:
+ magic-string "^0.22.4"
+
+rollup-plugin-node-resolve@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.3.0.tgz#c26d110a36812cbefa7ce117cadcd3439aa1c713"
+ dependencies:
+ builtin-modules "^2.0.0"
+ is-module "^1.0.0"
+ resolve "^1.1.6"
+
+rollup-plugin-preserve-shebang@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-preserve-shebang/-/rollup-plugin-preserve-shebang-0.1.6.tgz#8cfc4c555d4ca87b9fbb7712869158db0e080d4a"
+ dependencies:
+ magic-string "^0.22.4"
+
+rollup-plugin-progress@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-progress/-/rollup-plugin-progress-0.4.0.tgz#ec0b4ee3396434645412327292628b87b3b44f1e"
+ dependencies:
+ chalk "^1.1.3"
+ rollup-pluginutils "^1.5.1"
+
+rollup-plugin-re@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-re/-/rollup-plugin-re-1.0.7.tgz#fe174704ed59cda84caf02bd013b582e6fdaa4f6"
+ dependencies:
+ magic-string "^0.16.0"
+ rollup-pluginutils "^2.0.1"
+
+rollup-plugin-replace@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-2.0.0.tgz#19074089c8ed57184b8cc64e967a03d095119277"
+ dependencies:
+ magic-string "^0.22.4"
+ minimatch "^3.0.2"
+ rollup-pluginutils "^2.0.1"
+
+rollup-plugin-typescript2@^0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.15.0.tgz#33cf4ec8528f6fa5686cf1246f047acec4801d3a"
+ dependencies:
+ fs-extra "^5.0.0"
+ resolve "^1.7.1"
+ rollup-pluginutils "^2.0.1"
+ tslib "1.9.2"
+
+rollup-plugin-uglify@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-4.0.0.tgz#6eb471738f1ce9ba7d9d4bc43b71cba02417c8fb"
+ dependencies:
+ "@babel/code-frame" "^7.0.0-beta.47"
+ uglify-js "^3.3.25"
+
+rollup-pluginutils@^1.5.1:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
+ dependencies:
+ estree-walker "^0.2.1"
+ minimatch "^3.0.2"
+
+rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.0.tgz#478ace04bd7f6da2e724356ca798214884738fc4"
+ dependencies:
+ estree-walker "^0.5.2"
+ micromatch "^2.3.11"
+
+rollup@^0.61.1:
+ version "0.61.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.61.1.tgz#65a12f27c2094e6d643fb9cca6a3057190ecc5fe"
+ dependencies:
+ "@types/estree" "0.0.39"
+ "@types/node" "*"
+
+run-async@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
+ dependencies:
+ once "^1.3.0"
+
+run-async@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
+ dependencies:
+ is-promise "^2.1.0"
+
+rx-lite-aggregates@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
+ dependencies:
+ rx-lite "*"
+
+rx-lite@*, rx-lite@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
+
+rx-lite@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+
+semaphore@^1.0.5:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa"
+
+semver-diff@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"
+ dependencies:
+ semver "^5.0.3"
+
+"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
+
+semver@^4.0.3:
+ version "4.3.6"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+
+semver@~5.0.1:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a"
+
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+
+sigmund@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+
+slice-ansi@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+
+source-list-map@~0.1.7:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
+
+source-map@^0.4.4, source-map@~0.4.1:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@~0.1.33:
+ version "0.1.43"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"
+ dependencies:
+ amdefine ">=0.0.4"
+
+source-map@~0.5.1:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+
+source-map@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+
+sourcemap-codec@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.1.tgz#c8fd92d91889e902a07aee392bdd2c5863958ba2"
+
+spdx-correct@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82"
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9"
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+
+ssf@~0.10.1:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.10.2.tgz#65b2b4fcdfd967bc8e8383a41349009893115976"
+ dependencies:
+ frac "~1.1.2"
+
+sshpk@^1.7.0:
+ version "1.14.2"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ dashdash "^1.12.0"
+ getpass "^0.1.1"
+ safer-buffer "^2.0.2"
+ optionalDependencies:
+ bcrypt-pbkdf "^1.0.0"
+ ecc-jsbn "~0.1.1"
+ jsbn "~0.1.0"
+ tweetnacl "~0.14.0"
+
+stackframe@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
+
+stream-shift@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+
+strftime@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/strftime/-/strftime-0.10.0.tgz#b3f0fa419295202a5a289f6d6be9f4909a617193"
+
+string-length@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
+ dependencies:
+ strip-ansi "^3.0.0"
+
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220"
+ dependencies:
+ ansi-regex "^0.2.1"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991"
+
+strip-bom@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
+ dependencies:
+ first-chunk-stream "^1.0.0"
+ is-utf8 "^0.2.0"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ dependencies:
+ get-stdin "^4.0.1"
+
+strip-json-comments@0.1.x:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-0.1.3.tgz#164c64e370a8a3cc00c9e01b539e569823f0ee54"
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+
+subcommand@^2.0.3:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/subcommand/-/subcommand-2.1.0.tgz#5e4ceca5a3779e3365b1511e05f866877302f760"
+ dependencies:
+ cliclopts "^1.1.0"
+ debug "^2.1.3"
+ minimist "^1.2.0"
+ xtend "^4.0.0"
+
+supports-color@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+
+supports-color@^3.1.0:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ dependencies:
+ has-flag "^1.0.0"
+
+supports-color@^5.3.0:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
+ dependencies:
+ has-flag "^3.0.0"
+
+table@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
+ dependencies:
+ ajv "^5.2.3"
+ ajv-keywords "^2.1.0"
+ chalk "^2.1.0"
+ lodash "^4.17.4"
+ slice-ansi "1.0.0"
+ string-width "^2.1.1"
+
+tabletop@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/tabletop/-/tabletop-1.5.2.tgz#654d484cae4e0e65a1f2077a7bec60da7b7464f3"
+ dependencies:
+ nsp "^2.6.2"
+ request "^2.51.0"
+
+term-size@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
+ dependencies:
+ execa "^0.7.0"
+
+text-table@^0.2.0, text-table@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+
+throat@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-2.0.2.tgz#a9fce808b69e133a632590780f342c30a6249b02"
+
+through2@^0.6.1:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
+ dependencies:
+ readable-stream ">=1.0.33-1 <1.1.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
+
+through2@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-1.1.1.tgz#0847cbc4449f3405574dbdccd9bb841b83ac3545"
+ dependencies:
+ readable-stream ">=1.1.13-1 <1.2.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
+
+through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+
+ticky@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ticky/-/ticky-1.0.1.tgz#b7cfa71e768f1c9000c497b9151b30947c50e46d"
+
+timed-out@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a"
+
+timed-out@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+to-fast-properties@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+
+topo@1.x.x:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/topo/-/topo-1.1.0.tgz#e9d751615d1bb87dc865db182fa1ca0a5ef536d5"
+ dependencies:
+ hoek "2.x.x"
+
+tough-cookie@~2.3.3:
+ version "2.3.4"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
+ dependencies:
+ punycode "^1.4.1"
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+
+tslib@1.9.2:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.2.tgz#8be0cc9a1f6dc7727c38deb16c2ebd1a2892988e"
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ dependencies:
+ prelude-ls "~1.1.2"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+
+typescript@^2.9.2:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c"
+
+uglify-js@^2.6:
+ version "2.8.29"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ dependencies:
+ source-map "~0.5.1"
+ yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
+
+uglify-js@^3.3.25:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.1.tgz#006da540dc25e9319d106a99a5ef1d24ae04ce60"
+ dependencies:
+ commander "~2.15.0"
+ source-map "~0.6.1"
+
+uglify-js@^3.4.4:
+ version "3.4.5"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.5.tgz#650889c0766cf0f6fd5346cea09cd212f544be69"
+ dependencies:
+ commander "~2.16.0"
+ source-map "~0.6.1"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
+underscore@1.1.x:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.1.7.tgz#40bab84bad19d230096e8d6ef628bff055d83db0"
+
+underscore@~1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8"
+
+unique-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b"
+
+unique-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
+ dependencies:
+ crypto-random-string "^1.0.0"
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+
+unzip-response@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
+
+update-notifier@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-0.2.2.tgz#e69b3a784b4e686a2acd98f5e66944591996e187"
+ dependencies:
+ chalk "^0.5.1"
+ configstore "^0.3.1"
+ is-npm "^1.0.0"
+ latest-version "^1.0.0"
+ semver-diff "^2.0.0"
+ string-length "^1.0.0"
+
+update-notifier@^2.1.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6"
+ dependencies:
+ boxen "^1.2.1"
+ chalk "^2.0.1"
+ configstore "^3.0.0"
+ import-lazy "^2.1.0"
+ is-ci "^1.0.10"
+ is-installed-globally "^0.1.0"
+ is-npm "^1.0.0"
+ latest-version "^3.0.0"
+ semver-diff "^2.0.0"
+ xdg-basedir "^3.0.0"
+
+url-parse-lax@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
+ dependencies:
+ prepend-http "^1.0.1"
+
+user-home@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+
+uuid@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
+
+uuid@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338"
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+vinyl-fs@^0.3.4:
+ version "0.3.14"
+ resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"
+ dependencies:
+ defaults "^1.0.0"
+ glob-stream "^3.1.5"
+ glob-watcher "^0.0.6"
+ graceful-fs "^3.0.0"
+ mkdirp "^0.5.0"
+ strip-bom "^1.0.0"
+ through2 "^0.6.1"
+ vinyl "^0.4.0"
+
+vinyl@^0.4.0:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
+ dependencies:
+ clone "^0.2.0"
+ clone-stats "^0.0.1"
+
+vinyl@^2.0.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
+ dependencies:
+ clone "^2.1.1"
+ clone-buffer "^1.0.0"
+ clone-stats "^1.0.0"
+ cloneable-readable "^1.0.0"
+ remove-trailing-separator "^1.0.1"
+ replace-ext "^1.0.0"
+
+vlq@^0.2.1, vlq@^0.2.2:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26"
+
+vlq@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806"
+
+walkdir@0.0.11:
+ version "0.0.11"
+ resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.0.11.tgz#a16d025eb931bd03b52f308caed0f40fcebe9532"
+
+webpack-core@^0.6.8:
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2"
+ dependencies:
+ source-list-map "~0.1.7"
+ source-map "~0.4.1"
+
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+
+which@^1.1.1, which@^1.2.14, which@^1.2.8, which@^1.2.9:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ dependencies:
+ isexe "^2.0.0"
+
+widest-line@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273"
+ dependencies:
+ string-width "^2.1.1"
+
+window-size@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+wordwrap@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
+wordwrap@^1.0.0, wordwrap@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+
+wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+
+wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+
+wreck@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/wreck/-/wreck-6.3.0.tgz#a1369769f07bbb62d6a378336a7871fc773c740b"
+ dependencies:
+ boom "2.x.x"
+ hoek "2.x.x"
+
+write-file-atomic@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
+write@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+ dependencies:
+ mkdirp "^0.5.1"
+
+xdg-basedir@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-1.0.1.tgz#14ff8f63a4fdbcb05d5b6eea22b36f3033b9f04e"
+ dependencies:
+ user-home "^1.0.0"
+
+xdg-basedir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
+
+xlsx@^0.11.17:
+ version "0.11.19"
+ resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.11.19.tgz#2f019d9df756f6345aac5bc1af2442cf22a025e3"
+ dependencies:
+ adler-32 "~1.2.0"
+ cfb "~1.0.2"
+ codepage "~1.12.0"
+ commander "~2.13.0"
+ crc-32 "~1.2.0"
+ exit-on-epipe "~1.0.1"
+ ssf "~0.10.1"
+
+xregexp@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020"
+
+"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+
+y18n@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+
+"y18n@^3.2.1 || ^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+
+yargs-parser@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs-parser@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs-parser@^9.0.2:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b"
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^1.1.1"
+ find-up "^2.1.0"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^9.0.2"
+
+yargs@^12.0.1:
+ version "12.0.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2"
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^2.0.0"
+ find-up "^3.0.0"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1 || ^4.0.0"
+ yargs-parser "^10.1.0"
+
+yargs@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
+ dependencies:
+ camelcase "^4.1.0"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ read-pkg-up "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^7.0.0"
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"