mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
e035d526d6
Restructure frontend directories GitOrigin-RevId: 5a1224ca186f4809df45680a80d374c1c318d7bf
58354 lines
3.4 MiB
58354 lines
3.4 MiB
"no use strict";
|
|
!(function(window) {
|
|
if (typeof window.window != "undefined" && window.document)
|
|
return;
|
|
if (window.require && window.define)
|
|
return;
|
|
|
|
if (!window.console) {
|
|
window.console = function() {
|
|
var msgs = Array.prototype.slice.call(arguments, 0);
|
|
postMessage({type: "log", data: msgs});
|
|
};
|
|
window.console.error =
|
|
window.console.warn =
|
|
window.console.log =
|
|
window.console.trace = window.console;
|
|
}
|
|
window.window = window;
|
|
window.ace = window;
|
|
|
|
window.onerror = function(message, file, line, col, err) {
|
|
postMessage({type: "error", data: {
|
|
message: message,
|
|
data: err.data,
|
|
file: file,
|
|
line: line,
|
|
col: col,
|
|
stack: err.stack
|
|
}});
|
|
};
|
|
|
|
window.normalizeModule = function(parentId, moduleName) {
|
|
// normalize plugin requires
|
|
if (moduleName.indexOf("!") !== -1) {
|
|
var chunks = moduleName.split("!");
|
|
return window.normalizeModule(parentId, chunks[0]) + "!" + window.normalizeModule(parentId, chunks[1]);
|
|
}
|
|
// normalize relative requires
|
|
if (moduleName.charAt(0) == ".") {
|
|
var base = parentId.split("/").slice(0, -1).join("/");
|
|
moduleName = (base ? base + "/" : "") + moduleName;
|
|
|
|
while (moduleName.indexOf(".") !== -1 && previous != moduleName) {
|
|
var previous = moduleName;
|
|
moduleName = moduleName.replace(/^\.\//, "").replace(/\/\.\//, "/").replace(/[^\/]+\/\.\.\//, "");
|
|
}
|
|
}
|
|
|
|
return moduleName;
|
|
};
|
|
|
|
window.require = function require(parentId, id) {
|
|
if (!id) {
|
|
id = parentId;
|
|
parentId = null;
|
|
}
|
|
if (!id.charAt)
|
|
throw new Error("worker.js require() accepts only (parentId, id) as arguments");
|
|
|
|
id = window.normalizeModule(parentId, id);
|
|
|
|
var module = window.require.modules[id];
|
|
if (module) {
|
|
if (!module.initialized) {
|
|
module.initialized = true;
|
|
module.exports = module.factory().exports;
|
|
}
|
|
return module.exports;
|
|
}
|
|
|
|
if (!window.require.tlns)
|
|
return console.log("unable to load " + id);
|
|
|
|
var path = resolveModuleId(id, window.require.tlns);
|
|
if (path.slice(-3) != ".js") path += ".js";
|
|
|
|
window.require.id = id;
|
|
window.require.modules[id] = {}; // prevent infinite loop on broken modules
|
|
importScripts(path);
|
|
return window.require(parentId, id);
|
|
};
|
|
function resolveModuleId(id, paths) {
|
|
var testPath = id, tail = "";
|
|
while (testPath) {
|
|
var alias = paths[testPath];
|
|
if (typeof alias == "string") {
|
|
return alias + tail;
|
|
} else if (alias) {
|
|
return alias.location.replace(/\/*$/, "/") + (tail || alias.main || alias.name);
|
|
} else if (alias === false) {
|
|
return "";
|
|
}
|
|
var i = testPath.lastIndexOf("/");
|
|
if (i === -1) break;
|
|
tail = testPath.substr(i) + tail;
|
|
testPath = testPath.slice(0, i);
|
|
}
|
|
return id;
|
|
}
|
|
window.require.modules = {};
|
|
window.require.tlns = {};
|
|
|
|
window.define = function(id, deps, factory) {
|
|
if (arguments.length == 2) {
|
|
factory = deps;
|
|
if (typeof id != "string") {
|
|
deps = id;
|
|
id = window.require.id;
|
|
}
|
|
} else if (arguments.length == 1) {
|
|
factory = id;
|
|
deps = [];
|
|
id = window.require.id;
|
|
}
|
|
|
|
if (typeof factory != "function") {
|
|
window.require.modules[id] = {
|
|
exports: factory,
|
|
initialized: true
|
|
};
|
|
return;
|
|
}
|
|
|
|
if (!deps.length)
|
|
// If there is no dependencies, we inject "require", "exports" and
|
|
// "module" as dependencies, to provide CommonJS compatibility.
|
|
deps = ["require", "exports", "module"];
|
|
|
|
var req = function(childId) {
|
|
return window.require(id, childId);
|
|
};
|
|
|
|
window.require.modules[id] = {
|
|
exports: {},
|
|
factory: function() {
|
|
var module = this;
|
|
var returnExports = factory.apply(this, deps.slice(0, factory.length).map(function(dep) {
|
|
switch (dep) {
|
|
// Because "require", "exports" and "module" aren't actual
|
|
// dependencies, we must handle them seperately.
|
|
case "require": return req;
|
|
case "exports": return module.exports;
|
|
case "module": return module;
|
|
// But for all other dependencies, we can just go ahead and
|
|
// require them.
|
|
default: return req(dep);
|
|
}
|
|
}));
|
|
if (returnExports)
|
|
module.exports = returnExports;
|
|
return module;
|
|
}
|
|
};
|
|
};
|
|
window.define.amd = {};
|
|
require.tlns = {};
|
|
window.initBaseUrls = function initBaseUrls(topLevelNamespaces) {
|
|
for (var i in topLevelNamespaces)
|
|
require.tlns[i] = topLevelNamespaces[i];
|
|
};
|
|
|
|
window.initSender = function initSender() {
|
|
|
|
var EventEmitter = window.require("ace/lib/event_emitter").EventEmitter;
|
|
var oop = window.require("ace/lib/oop");
|
|
|
|
var Sender = function() {};
|
|
|
|
(function() {
|
|
|
|
oop.implement(this, EventEmitter);
|
|
|
|
this.callback = function(data, callbackId) {
|
|
postMessage({
|
|
type: "call",
|
|
id: callbackId,
|
|
data: data
|
|
});
|
|
};
|
|
|
|
this.emit = function(name, data) {
|
|
postMessage({
|
|
type: "event",
|
|
name: name,
|
|
data: data
|
|
});
|
|
};
|
|
|
|
}).call(Sender.prototype);
|
|
|
|
return new Sender();
|
|
};
|
|
|
|
var main = window.main = null;
|
|
var sender = window.sender = null;
|
|
|
|
window.onmessage = function(e) {
|
|
var msg = e.data;
|
|
if (msg.event && sender) {
|
|
sender._signal(msg.event, msg.data);
|
|
}
|
|
else if (msg.command) {
|
|
if (main[msg.command])
|
|
main[msg.command].apply(main, msg.args);
|
|
else if (window[msg.command])
|
|
window[msg.command].apply(window, msg.args);
|
|
else
|
|
throw new Error("Unknown command:" + msg.command);
|
|
}
|
|
else if (msg.init) {
|
|
window.initBaseUrls(msg.tlns);
|
|
require("ace/lib/es5-shim");
|
|
sender = window.sender = window.initSender();
|
|
var clazz = require(msg.module)[msg.classname];
|
|
main = window.main = new clazz(sender);
|
|
}
|
|
};
|
|
})(this);
|
|
|
|
ace.define("ace/lib/oop",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
exports.inherits = function(ctor, superCtor) {
|
|
ctor.super_ = superCtor;
|
|
ctor.prototype = Object.create(superCtor.prototype, {
|
|
constructor: {
|
|
value: ctor,
|
|
enumerable: false,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
};
|
|
|
|
exports.mixin = function(obj, mixin) {
|
|
for (var key in mixin) {
|
|
obj[key] = mixin[key];
|
|
}
|
|
return obj;
|
|
};
|
|
|
|
exports.implement = function(proto, mixin) {
|
|
exports.mixin(proto, mixin);
|
|
};
|
|
|
|
});
|
|
|
|
ace.define("ace/range",[], function(require, exports, module) {
|
|
"use strict";
|
|
var comparePoints = function(p1, p2) {
|
|
return p1.row - p2.row || p1.column - p2.column;
|
|
};
|
|
var Range = function(startRow, startColumn, endRow, endColumn) {
|
|
this.start = {
|
|
row: startRow,
|
|
column: startColumn
|
|
};
|
|
|
|
this.end = {
|
|
row: endRow,
|
|
column: endColumn
|
|
};
|
|
};
|
|
|
|
(function() {
|
|
this.isEqual = function(range) {
|
|
return this.start.row === range.start.row &&
|
|
this.end.row === range.end.row &&
|
|
this.start.column === range.start.column &&
|
|
this.end.column === range.end.column;
|
|
};
|
|
this.toString = function() {
|
|
return ("Range: [" + this.start.row + "/" + this.start.column +
|
|
"] -> [" + this.end.row + "/" + this.end.column + "]");
|
|
};
|
|
|
|
this.contains = function(row, column) {
|
|
return this.compare(row, column) == 0;
|
|
};
|
|
this.compareRange = function(range) {
|
|
var cmp,
|
|
end = range.end,
|
|
start = range.start;
|
|
|
|
cmp = this.compare(end.row, end.column);
|
|
if (cmp == 1) {
|
|
cmp = this.compare(start.row, start.column);
|
|
if (cmp == 1) {
|
|
return 2;
|
|
} else if (cmp == 0) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
} else if (cmp == -1) {
|
|
return -2;
|
|
} else {
|
|
cmp = this.compare(start.row, start.column);
|
|
if (cmp == -1) {
|
|
return -1;
|
|
} else if (cmp == 1) {
|
|
return 42;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
};
|
|
this.comparePoint = function(p) {
|
|
return this.compare(p.row, p.column);
|
|
};
|
|
this.containsRange = function(range) {
|
|
return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;
|
|
};
|
|
this.intersects = function(range) {
|
|
var cmp = this.compareRange(range);
|
|
return (cmp == -1 || cmp == 0 || cmp == 1);
|
|
};
|
|
this.isEnd = function(row, column) {
|
|
return this.end.row == row && this.end.column == column;
|
|
};
|
|
this.isStart = function(row, column) {
|
|
return this.start.row == row && this.start.column == column;
|
|
};
|
|
this.setStart = function(row, column) {
|
|
if (typeof row == "object") {
|
|
this.start.column = row.column;
|
|
this.start.row = row.row;
|
|
} else {
|
|
this.start.row = row;
|
|
this.start.column = column;
|
|
}
|
|
};
|
|
this.setEnd = function(row, column) {
|
|
if (typeof row == "object") {
|
|
this.end.column = row.column;
|
|
this.end.row = row.row;
|
|
} else {
|
|
this.end.row = row;
|
|
this.end.column = column;
|
|
}
|
|
};
|
|
this.inside = function(row, column) {
|
|
if (this.compare(row, column) == 0) {
|
|
if (this.isEnd(row, column) || this.isStart(row, column)) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
this.insideStart = function(row, column) {
|
|
if (this.compare(row, column) == 0) {
|
|
if (this.isEnd(row, column)) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
this.insideEnd = function(row, column) {
|
|
if (this.compare(row, column) == 0) {
|
|
if (this.isStart(row, column)) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
this.compare = function(row, column) {
|
|
if (!this.isMultiLine()) {
|
|
if (row === this.start.row) {
|
|
return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
|
|
}
|
|
}
|
|
|
|
if (row < this.start.row)
|
|
return -1;
|
|
|
|
if (row > this.end.row)
|
|
return 1;
|
|
|
|
if (this.start.row === row)
|
|
return column >= this.start.column ? 0 : -1;
|
|
|
|
if (this.end.row === row)
|
|
return column <= this.end.column ? 0 : 1;
|
|
|
|
return 0;
|
|
};
|
|
this.compareStart = function(row, column) {
|
|
if (this.start.row == row && this.start.column == column) {
|
|
return -1;
|
|
} else {
|
|
return this.compare(row, column);
|
|
}
|
|
};
|
|
this.compareEnd = function(row, column) {
|
|
if (this.end.row == row && this.end.column == column) {
|
|
return 1;
|
|
} else {
|
|
return this.compare(row, column);
|
|
}
|
|
};
|
|
this.compareInside = function(row, column) {
|
|
if (this.end.row == row && this.end.column == column) {
|
|
return 1;
|
|
} else if (this.start.row == row && this.start.column == column) {
|
|
return -1;
|
|
} else {
|
|
return this.compare(row, column);
|
|
}
|
|
};
|
|
this.clipRows = function(firstRow, lastRow) {
|
|
if (this.end.row > lastRow)
|
|
var end = {row: lastRow + 1, column: 0};
|
|
else if (this.end.row < firstRow)
|
|
var end = {row: firstRow, column: 0};
|
|
|
|
if (this.start.row > lastRow)
|
|
var start = {row: lastRow + 1, column: 0};
|
|
else if (this.start.row < firstRow)
|
|
var start = {row: firstRow, column: 0};
|
|
|
|
return Range.fromPoints(start || this.start, end || this.end);
|
|
};
|
|
this.extend = function(row, column) {
|
|
var cmp = this.compare(row, column);
|
|
|
|
if (cmp == 0)
|
|
return this;
|
|
else if (cmp == -1)
|
|
var start = {row: row, column: column};
|
|
else
|
|
var end = {row: row, column: column};
|
|
|
|
return Range.fromPoints(start || this.start, end || this.end);
|
|
};
|
|
|
|
this.isEmpty = function() {
|
|
return (this.start.row === this.end.row && this.start.column === this.end.column);
|
|
};
|
|
this.isMultiLine = function() {
|
|
return (this.start.row !== this.end.row);
|
|
};
|
|
this.clone = function() {
|
|
return Range.fromPoints(this.start, this.end);
|
|
};
|
|
this.collapseRows = function() {
|
|
if (this.end.column == 0)
|
|
return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row-1), 0);
|
|
else
|
|
return new Range(this.start.row, 0, this.end.row, 0);
|
|
};
|
|
this.toScreenRange = function(session) {
|
|
var screenPosStart = session.documentToScreenPosition(this.start);
|
|
var screenPosEnd = session.documentToScreenPosition(this.end);
|
|
|
|
return new Range(
|
|
screenPosStart.row, screenPosStart.column,
|
|
screenPosEnd.row, screenPosEnd.column
|
|
);
|
|
};
|
|
this.moveBy = function(row, column) {
|
|
this.start.row += row;
|
|
this.start.column += column;
|
|
this.end.row += row;
|
|
this.end.column += column;
|
|
};
|
|
|
|
}).call(Range.prototype);
|
|
Range.fromPoints = function(start, end) {
|
|
return new Range(start.row, start.column, end.row, end.column);
|
|
};
|
|
Range.comparePoints = comparePoints;
|
|
|
|
Range.comparePoints = function(p1, p2) {
|
|
return p1.row - p2.row || p1.column - p2.column;
|
|
};
|
|
|
|
|
|
exports.Range = Range;
|
|
});
|
|
|
|
ace.define("ace/apply_delta",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
function throwDeltaError(delta, errorText){
|
|
console.log("Invalid Delta:", delta);
|
|
throw "Invalid Delta: " + errorText;
|
|
}
|
|
|
|
function positionInDocument(docLines, position) {
|
|
return position.row >= 0 && position.row < docLines.length &&
|
|
position.column >= 0 && position.column <= docLines[position.row].length;
|
|
}
|
|
|
|
function validateDelta(docLines, delta) {
|
|
if (delta.action != "insert" && delta.action != "remove")
|
|
throwDeltaError(delta, "delta.action must be 'insert' or 'remove'");
|
|
if (!(delta.lines instanceof Array))
|
|
throwDeltaError(delta, "delta.lines must be an Array");
|
|
if (!delta.start || !delta.end)
|
|
throwDeltaError(delta, "delta.start/end must be an present");
|
|
var start = delta.start;
|
|
if (!positionInDocument(docLines, delta.start))
|
|
throwDeltaError(delta, "delta.start must be contained in document");
|
|
var end = delta.end;
|
|
if (delta.action == "remove" && !positionInDocument(docLines, end))
|
|
throwDeltaError(delta, "delta.end must contained in document for 'remove' actions");
|
|
var numRangeRows = end.row - start.row;
|
|
var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));
|
|
if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)
|
|
throwDeltaError(delta, "delta.range must match delta lines");
|
|
}
|
|
|
|
exports.applyDelta = function(docLines, delta, doNotValidate) {
|
|
|
|
var row = delta.start.row;
|
|
var startColumn = delta.start.column;
|
|
var line = docLines[row] || "";
|
|
switch (delta.action) {
|
|
case "insert":
|
|
var lines = delta.lines;
|
|
if (lines.length === 1) {
|
|
docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);
|
|
} else {
|
|
var args = [row, 1].concat(delta.lines);
|
|
docLines.splice.apply(docLines, args);
|
|
docLines[row] = line.substring(0, startColumn) + docLines[row];
|
|
docLines[row + delta.lines.length - 1] += line.substring(startColumn);
|
|
}
|
|
break;
|
|
case "remove":
|
|
var endColumn = delta.end.column;
|
|
var endRow = delta.end.row;
|
|
if (row === endRow) {
|
|
docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);
|
|
} else {
|
|
docLines.splice(
|
|
row, endRow - row + 1,
|
|
line.substring(0, startColumn) + docLines[endRow].substring(endColumn)
|
|
);
|
|
}
|
|
break;
|
|
}
|
|
};
|
|
});
|
|
|
|
ace.define("ace/lib/event_emitter",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
var EventEmitter = {};
|
|
var stopPropagation = function() { this.propagationStopped = true; };
|
|
var preventDefault = function() { this.defaultPrevented = true; };
|
|
|
|
EventEmitter._emit =
|
|
EventEmitter._dispatchEvent = function(eventName, e) {
|
|
this._eventRegistry || (this._eventRegistry = {});
|
|
this._defaultHandlers || (this._defaultHandlers = {});
|
|
|
|
var listeners = this._eventRegistry[eventName] || [];
|
|
var defaultHandler = this._defaultHandlers[eventName];
|
|
if (!listeners.length && !defaultHandler)
|
|
return;
|
|
|
|
if (typeof e != "object" || !e)
|
|
e = {};
|
|
|
|
if (!e.type)
|
|
e.type = eventName;
|
|
if (!e.stopPropagation)
|
|
e.stopPropagation = stopPropagation;
|
|
if (!e.preventDefault)
|
|
e.preventDefault = preventDefault;
|
|
|
|
listeners = listeners.slice();
|
|
for (var i=0; i<listeners.length; i++) {
|
|
listeners[i](e, this);
|
|
if (e.propagationStopped)
|
|
break;
|
|
}
|
|
|
|
if (defaultHandler && !e.defaultPrevented)
|
|
return defaultHandler(e, this);
|
|
};
|
|
|
|
|
|
EventEmitter._signal = function(eventName, e) {
|
|
var listeners = (this._eventRegistry || {})[eventName];
|
|
if (!listeners)
|
|
return;
|
|
listeners = listeners.slice();
|
|
for (var i=0; i<listeners.length; i++)
|
|
listeners[i](e, this);
|
|
};
|
|
|
|
EventEmitter.once = function(eventName, callback) {
|
|
var _self = this;
|
|
this.addEventListener(eventName, function newCallback() {
|
|
_self.removeEventListener(eventName, newCallback);
|
|
callback.apply(null, arguments);
|
|
});
|
|
if (!callback) {
|
|
return new Promise(function(resolve) {
|
|
callback = resolve;
|
|
});
|
|
}
|
|
};
|
|
|
|
|
|
EventEmitter.setDefaultHandler = function(eventName, callback) {
|
|
var handlers = this._defaultHandlers;
|
|
if (!handlers)
|
|
handlers = this._defaultHandlers = {_disabled_: {}};
|
|
|
|
if (handlers[eventName]) {
|
|
var old = handlers[eventName];
|
|
var disabled = handlers._disabled_[eventName];
|
|
if (!disabled)
|
|
handlers._disabled_[eventName] = disabled = [];
|
|
disabled.push(old);
|
|
var i = disabled.indexOf(callback);
|
|
if (i != -1)
|
|
disabled.splice(i, 1);
|
|
}
|
|
handlers[eventName] = callback;
|
|
};
|
|
EventEmitter.removeDefaultHandler = function(eventName, callback) {
|
|
var handlers = this._defaultHandlers;
|
|
if (!handlers)
|
|
return;
|
|
var disabled = handlers._disabled_[eventName];
|
|
|
|
if (handlers[eventName] == callback) {
|
|
if (disabled)
|
|
this.setDefaultHandler(eventName, disabled.pop());
|
|
} else if (disabled) {
|
|
var i = disabled.indexOf(callback);
|
|
if (i != -1)
|
|
disabled.splice(i, 1);
|
|
}
|
|
};
|
|
|
|
EventEmitter.on =
|
|
EventEmitter.addEventListener = function(eventName, callback, capturing) {
|
|
this._eventRegistry = this._eventRegistry || {};
|
|
|
|
var listeners = this._eventRegistry[eventName];
|
|
if (!listeners)
|
|
listeners = this._eventRegistry[eventName] = [];
|
|
|
|
if (listeners.indexOf(callback) == -1)
|
|
listeners[capturing ? "unshift" : "push"](callback);
|
|
return callback;
|
|
};
|
|
|
|
EventEmitter.off =
|
|
EventEmitter.removeListener =
|
|
EventEmitter.removeEventListener = function(eventName, callback) {
|
|
this._eventRegistry = this._eventRegistry || {};
|
|
|
|
var listeners = this._eventRegistry[eventName];
|
|
if (!listeners)
|
|
return;
|
|
|
|
var index = listeners.indexOf(callback);
|
|
if (index !== -1)
|
|
listeners.splice(index, 1);
|
|
};
|
|
|
|
EventEmitter.removeAllListeners = function(eventName) {
|
|
if (this._eventRegistry) this._eventRegistry[eventName] = [];
|
|
};
|
|
|
|
exports.EventEmitter = EventEmitter;
|
|
|
|
});
|
|
|
|
ace.define("ace/anchor",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
var oop = require("./lib/oop");
|
|
var EventEmitter = require("./lib/event_emitter").EventEmitter;
|
|
|
|
var Anchor = exports.Anchor = function(doc, row, column) {
|
|
this.$onChange = this.onChange.bind(this);
|
|
this.attach(doc);
|
|
|
|
if (typeof column == "undefined")
|
|
this.setPosition(row.row, row.column);
|
|
else
|
|
this.setPosition(row, column);
|
|
};
|
|
|
|
(function() {
|
|
|
|
oop.implement(this, EventEmitter);
|
|
this.getPosition = function() {
|
|
return this.$clipPositionToDocument(this.row, this.column);
|
|
};
|
|
this.getDocument = function() {
|
|
return this.document;
|
|
};
|
|
this.$insertRight = false;
|
|
this.onChange = function(delta) {
|
|
if (delta.start.row == delta.end.row && delta.start.row != this.row)
|
|
return;
|
|
|
|
if (delta.start.row > this.row)
|
|
return;
|
|
|
|
var point = $getTransformedPoint(delta, {row: this.row, column: this.column}, this.$insertRight);
|
|
this.setPosition(point.row, point.column, true);
|
|
};
|
|
|
|
function $pointsInOrder(point1, point2, equalPointsInOrder) {
|
|
var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;
|
|
return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);
|
|
}
|
|
|
|
function $getTransformedPoint(delta, point, moveIfEqual) {
|
|
var deltaIsInsert = delta.action == "insert";
|
|
var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);
|
|
var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);
|
|
var deltaStart = delta.start;
|
|
var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.
|
|
if ($pointsInOrder(point, deltaStart, moveIfEqual)) {
|
|
return {
|
|
row: point.row,
|
|
column: point.column
|
|
};
|
|
}
|
|
if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {
|
|
return {
|
|
row: point.row + deltaRowShift,
|
|
column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)
|
|
};
|
|
}
|
|
|
|
return {
|
|
row: deltaStart.row,
|
|
column: deltaStart.column
|
|
};
|
|
}
|
|
this.setPosition = function(row, column, noClip) {
|
|
var pos;
|
|
if (noClip) {
|
|
pos = {
|
|
row: row,
|
|
column: column
|
|
};
|
|
} else {
|
|
pos = this.$clipPositionToDocument(row, column);
|
|
}
|
|
|
|
if (this.row == pos.row && this.column == pos.column)
|
|
return;
|
|
|
|
var old = {
|
|
row: this.row,
|
|
column: this.column
|
|
};
|
|
|
|
this.row = pos.row;
|
|
this.column = pos.column;
|
|
this._signal("change", {
|
|
old: old,
|
|
value: pos
|
|
});
|
|
};
|
|
this.detach = function() {
|
|
this.document.removeEventListener("change", this.$onChange);
|
|
};
|
|
this.attach = function(doc) {
|
|
this.document = doc || this.document;
|
|
this.document.on("change", this.$onChange);
|
|
};
|
|
this.$clipPositionToDocument = function(row, column) {
|
|
var pos = {};
|
|
|
|
if (row >= this.document.getLength()) {
|
|
pos.row = Math.max(0, this.document.getLength() - 1);
|
|
pos.column = this.document.getLine(pos.row).length;
|
|
}
|
|
else if (row < 0) {
|
|
pos.row = 0;
|
|
pos.column = 0;
|
|
}
|
|
else {
|
|
pos.row = row;
|
|
pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));
|
|
}
|
|
|
|
if (column < 0)
|
|
pos.column = 0;
|
|
|
|
return pos;
|
|
};
|
|
|
|
}).call(Anchor.prototype);
|
|
|
|
});
|
|
|
|
ace.define("ace/document",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
var oop = require("./lib/oop");
|
|
var applyDelta = require("./apply_delta").applyDelta;
|
|
var EventEmitter = require("./lib/event_emitter").EventEmitter;
|
|
var Range = require("./range").Range;
|
|
var Anchor = require("./anchor").Anchor;
|
|
|
|
var Document = function(textOrLines) {
|
|
this.$lines = [""];
|
|
if (textOrLines.length === 0) {
|
|
this.$lines = [""];
|
|
} else if (Array.isArray(textOrLines)) {
|
|
this.insertMergedLines({row: 0, column: 0}, textOrLines);
|
|
} else {
|
|
this.insert({row: 0, column:0}, textOrLines);
|
|
}
|
|
};
|
|
|
|
(function() {
|
|
|
|
oop.implement(this, EventEmitter);
|
|
this.setValue = function(text) {
|
|
var len = this.getLength() - 1;
|
|
this.remove(new Range(0, 0, len, this.getLine(len).length));
|
|
this.insert({row: 0, column: 0}, text);
|
|
};
|
|
this.getValue = function() {
|
|
return this.getAllLines().join(this.getNewLineCharacter());
|
|
};
|
|
this.createAnchor = function(row, column) {
|
|
return new Anchor(this, row, column);
|
|
};
|
|
if ("aaa".split(/a/).length === 0) {
|
|
this.$split = function(text) {
|
|
return text.replace(/\r\n|\r/g, "\n").split("\n");
|
|
};
|
|
} else {
|
|
this.$split = function(text) {
|
|
return text.split(/\r\n|\r|\n/);
|
|
};
|
|
}
|
|
|
|
|
|
this.$detectNewLine = function(text) {
|
|
var match = text.match(/^.*?(\r\n|\r|\n)/m);
|
|
this.$autoNewLine = match ? match[1] : "\n";
|
|
this._signal("changeNewLineMode");
|
|
};
|
|
this.getNewLineCharacter = function() {
|
|
switch (this.$newLineMode) {
|
|
case "windows":
|
|
return "\r\n";
|
|
case "unix":
|
|
return "\n";
|
|
default:
|
|
return this.$autoNewLine || "\n";
|
|
}
|
|
};
|
|
|
|
this.$autoNewLine = "";
|
|
this.$newLineMode = "auto";
|
|
this.setNewLineMode = function(newLineMode) {
|
|
if (this.$newLineMode === newLineMode)
|
|
return;
|
|
|
|
this.$newLineMode = newLineMode;
|
|
this._signal("changeNewLineMode");
|
|
};
|
|
this.getNewLineMode = function() {
|
|
return this.$newLineMode;
|
|
};
|
|
this.isNewLine = function(text) {
|
|
return (text == "\r\n" || text == "\r" || text == "\n");
|
|
};
|
|
this.getLine = function(row) {
|
|
return this.$lines[row] || "";
|
|
};
|
|
this.getLines = function(firstRow, lastRow) {
|
|
return this.$lines.slice(firstRow, lastRow + 1);
|
|
};
|
|
this.getAllLines = function() {
|
|
return this.getLines(0, this.getLength());
|
|
};
|
|
this.getLength = function() {
|
|
return this.$lines.length;
|
|
};
|
|
this.getTextRange = function(range) {
|
|
return this.getLinesForRange(range).join(this.getNewLineCharacter());
|
|
};
|
|
this.getLinesForRange = function(range) {
|
|
var lines;
|
|
if (range.start.row === range.end.row) {
|
|
lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];
|
|
} else {
|
|
lines = this.getLines(range.start.row, range.end.row);
|
|
lines[0] = (lines[0] || "").substring(range.start.column);
|
|
var l = lines.length - 1;
|
|
if (range.end.row - range.start.row == l)
|
|
lines[l] = lines[l].substring(0, range.end.column);
|
|
}
|
|
return lines;
|
|
};
|
|
this.insertLines = function(row, lines) {
|
|
console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead.");
|
|
return this.insertFullLines(row, lines);
|
|
};
|
|
this.removeLines = function(firstRow, lastRow) {
|
|
console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead.");
|
|
return this.removeFullLines(firstRow, lastRow);
|
|
};
|
|
this.insertNewLine = function(position) {
|
|
console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.");
|
|
return this.insertMergedLines(position, ["", ""]);
|
|
};
|
|
this.insert = function(position, text) {
|
|
if (this.getLength() <= 1)
|
|
this.$detectNewLine(text);
|
|
|
|
return this.insertMergedLines(position, this.$split(text));
|
|
};
|
|
this.insertInLine = function(position, text) {
|
|
var start = this.clippedPos(position.row, position.column);
|
|
var end = this.pos(position.row, position.column + text.length);
|
|
|
|
this.applyDelta({
|
|
start: start,
|
|
end: end,
|
|
action: "insert",
|
|
lines: [text]
|
|
}, true);
|
|
|
|
return this.clonePos(end);
|
|
};
|
|
|
|
this.clippedPos = function(row, column) {
|
|
var length = this.getLength();
|
|
if (row === undefined) {
|
|
row = length;
|
|
} else if (row < 0) {
|
|
row = 0;
|
|
} else if (row >= length) {
|
|
row = length - 1;
|
|
column = undefined;
|
|
}
|
|
var line = this.getLine(row);
|
|
if (column == undefined)
|
|
column = line.length;
|
|
column = Math.min(Math.max(column, 0), line.length);
|
|
return {row: row, column: column};
|
|
};
|
|
|
|
this.clonePos = function(pos) {
|
|
return {row: pos.row, column: pos.column};
|
|
};
|
|
|
|
this.pos = function(row, column) {
|
|
return {row: row, column: column};
|
|
};
|
|
|
|
this.$clipPosition = function(position) {
|
|
var length = this.getLength();
|
|
if (position.row >= length) {
|
|
position.row = Math.max(0, length - 1);
|
|
position.column = this.getLine(length - 1).length;
|
|
} else {
|
|
position.row = Math.max(0, position.row);
|
|
position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);
|
|
}
|
|
return position;
|
|
};
|
|
this.insertFullLines = function(row, lines) {
|
|
row = Math.min(Math.max(row, 0), this.getLength());
|
|
var column = 0;
|
|
if (row < this.getLength()) {
|
|
lines = lines.concat([""]);
|
|
column = 0;
|
|
} else {
|
|
lines = [""].concat(lines);
|
|
row--;
|
|
column = this.$lines[row].length;
|
|
}
|
|
this.insertMergedLines({row: row, column: column}, lines);
|
|
};
|
|
this.insertMergedLines = function(position, lines) {
|
|
var start = this.clippedPos(position.row, position.column);
|
|
var end = {
|
|
row: start.row + lines.length - 1,
|
|
column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length
|
|
};
|
|
|
|
this.applyDelta({
|
|
start: start,
|
|
end: end,
|
|
action: "insert",
|
|
lines: lines
|
|
});
|
|
|
|
return this.clonePos(end);
|
|
};
|
|
this.remove = function(range) {
|
|
var start = this.clippedPos(range.start.row, range.start.column);
|
|
var end = this.clippedPos(range.end.row, range.end.column);
|
|
this.applyDelta({
|
|
start: start,
|
|
end: end,
|
|
action: "remove",
|
|
lines: this.getLinesForRange({start: start, end: end})
|
|
});
|
|
return this.clonePos(start);
|
|
};
|
|
this.removeInLine = function(row, startColumn, endColumn) {
|
|
var start = this.clippedPos(row, startColumn);
|
|
var end = this.clippedPos(row, endColumn);
|
|
|
|
this.applyDelta({
|
|
start: start,
|
|
end: end,
|
|
action: "remove",
|
|
lines: this.getLinesForRange({start: start, end: end})
|
|
}, true);
|
|
|
|
return this.clonePos(start);
|
|
};
|
|
this.removeFullLines = function(firstRow, lastRow) {
|
|
firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);
|
|
lastRow = Math.min(Math.max(0, lastRow ), this.getLength() - 1);
|
|
var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;
|
|
var deleteLastNewLine = lastRow < this.getLength() - 1;
|
|
var startRow = ( deleteFirstNewLine ? firstRow - 1 : firstRow );
|
|
var startCol = ( deleteFirstNewLine ? this.getLine(startRow).length : 0 );
|
|
var endRow = ( deleteLastNewLine ? lastRow + 1 : lastRow );
|
|
var endCol = ( deleteLastNewLine ? 0 : this.getLine(endRow).length );
|
|
var range = new Range(startRow, startCol, endRow, endCol);
|
|
var deletedLines = this.$lines.slice(firstRow, lastRow + 1);
|
|
|
|
this.applyDelta({
|
|
start: range.start,
|
|
end: range.end,
|
|
action: "remove",
|
|
lines: this.getLinesForRange(range)
|
|
});
|
|
return deletedLines;
|
|
};
|
|
this.removeNewLine = function(row) {
|
|
if (row < this.getLength() - 1 && row >= 0) {
|
|
this.applyDelta({
|
|
start: this.pos(row, this.getLine(row).length),
|
|
end: this.pos(row + 1, 0),
|
|
action: "remove",
|
|
lines: ["", ""]
|
|
});
|
|
}
|
|
};
|
|
this.replace = function(range, text) {
|
|
if (!(range instanceof Range))
|
|
range = Range.fromPoints(range.start, range.end);
|
|
if (text.length === 0 && range.isEmpty())
|
|
return range.start;
|
|
if (text == this.getTextRange(range))
|
|
return range.end;
|
|
|
|
this.remove(range);
|
|
var end;
|
|
if (text) {
|
|
end = this.insert(range.start, text);
|
|
}
|
|
else {
|
|
end = range.start;
|
|
}
|
|
|
|
return end;
|
|
};
|
|
this.applyDeltas = function(deltas) {
|
|
for (var i=0; i<deltas.length; i++) {
|
|
this.applyDelta(deltas[i]);
|
|
}
|
|
};
|
|
this.revertDeltas = function(deltas) {
|
|
for (var i=deltas.length-1; i>=0; i--) {
|
|
this.revertDelta(deltas[i]);
|
|
}
|
|
};
|
|
this.applyDelta = function(delta, doNotValidate) {
|
|
var isInsert = delta.action == "insert";
|
|
if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]
|
|
: !Range.comparePoints(delta.start, delta.end)) {
|
|
return;
|
|
}
|
|
|
|
if (isInsert && delta.lines.length > 20000) {
|
|
this.$splitAndapplyLargeDelta(delta, 20000);
|
|
}
|
|
else {
|
|
applyDelta(this.$lines, delta, doNotValidate);
|
|
this._signal("change", delta);
|
|
}
|
|
};
|
|
|
|
this.$splitAndapplyLargeDelta = function(delta, MAX) {
|
|
var lines = delta.lines;
|
|
var l = lines.length - MAX + 1;
|
|
var row = delta.start.row;
|
|
var column = delta.start.column;
|
|
for (var from = 0, to = 0; from < l; from = to) {
|
|
to += MAX - 1;
|
|
var chunk = lines.slice(from, to);
|
|
chunk.push("");
|
|
this.applyDelta({
|
|
start: this.pos(row + from, column),
|
|
end: this.pos(row + to, column = 0),
|
|
action: delta.action,
|
|
lines: chunk
|
|
}, true);
|
|
}
|
|
delta.lines = lines.slice(from);
|
|
delta.start.row = row + from;
|
|
delta.start.column = column;
|
|
this.applyDelta(delta, true);
|
|
};
|
|
this.revertDelta = function(delta) {
|
|
this.applyDelta({
|
|
start: this.clonePos(delta.start),
|
|
end: this.clonePos(delta.end),
|
|
action: (delta.action == "insert" ? "remove" : "insert"),
|
|
lines: delta.lines.slice()
|
|
});
|
|
};
|
|
this.indexToPosition = function(index, startRow) {
|
|
var lines = this.$lines || this.getAllLines();
|
|
var newlineLength = this.getNewLineCharacter().length;
|
|
for (var i = startRow || 0, l = lines.length; i < l; i++) {
|
|
index -= lines[i].length + newlineLength;
|
|
if (index < 0)
|
|
return {row: i, column: index + lines[i].length + newlineLength};
|
|
}
|
|
return {row: l-1, column: index + lines[l-1].length + newlineLength};
|
|
};
|
|
this.positionToIndex = function(pos, startRow) {
|
|
var lines = this.$lines || this.getAllLines();
|
|
var newlineLength = this.getNewLineCharacter().length;
|
|
var index = 0;
|
|
var row = Math.min(pos.row, lines.length);
|
|
for (var i = startRow || 0; i < row; ++i)
|
|
index += lines[i].length + newlineLength;
|
|
|
|
return index + pos.column;
|
|
};
|
|
|
|
}).call(Document.prototype);
|
|
|
|
exports.Document = Document;
|
|
});
|
|
|
|
ace.define("ace/lib/lang",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
exports.last = function(a) {
|
|
return a[a.length - 1];
|
|
};
|
|
|
|
exports.stringReverse = function(string) {
|
|
return string.split("").reverse().join("");
|
|
};
|
|
|
|
exports.stringRepeat = function (string, count) {
|
|
var result = '';
|
|
while (count > 0) {
|
|
if (count & 1)
|
|
result += string;
|
|
|
|
if (count >>= 1)
|
|
string += string;
|
|
}
|
|
return result;
|
|
};
|
|
|
|
var trimBeginRegexp = /^\s\s*/;
|
|
var trimEndRegexp = /\s\s*$/;
|
|
|
|
exports.stringTrimLeft = function (string) {
|
|
return string.replace(trimBeginRegexp, '');
|
|
};
|
|
|
|
exports.stringTrimRight = function (string) {
|
|
return string.replace(trimEndRegexp, '');
|
|
};
|
|
|
|
exports.copyObject = function(obj) {
|
|
var copy = {};
|
|
for (var key in obj) {
|
|
copy[key] = obj[key];
|
|
}
|
|
return copy;
|
|
};
|
|
|
|
exports.copyArray = function(array){
|
|
var copy = [];
|
|
for (var i=0, l=array.length; i<l; i++) {
|
|
if (array[i] && typeof array[i] == "object")
|
|
copy[i] = this.copyObject(array[i]);
|
|
else
|
|
copy[i] = array[i];
|
|
}
|
|
return copy;
|
|
};
|
|
|
|
exports.deepCopy = function deepCopy(obj) {
|
|
if (typeof obj !== "object" || !obj)
|
|
return obj;
|
|
var copy;
|
|
if (Array.isArray(obj)) {
|
|
copy = [];
|
|
for (var key = 0; key < obj.length; key++) {
|
|
copy[key] = deepCopy(obj[key]);
|
|
}
|
|
return copy;
|
|
}
|
|
if (Object.prototype.toString.call(obj) !== "[object Object]")
|
|
return obj;
|
|
|
|
copy = {};
|
|
for (var key in obj)
|
|
copy[key] = deepCopy(obj[key]);
|
|
return copy;
|
|
};
|
|
|
|
exports.arrayToMap = function(arr) {
|
|
var map = {};
|
|
for (var i=0; i<arr.length; i++) {
|
|
map[arr[i]] = 1;
|
|
}
|
|
return map;
|
|
|
|
};
|
|
|
|
exports.createMap = function(props) {
|
|
var map = Object.create(null);
|
|
for (var i in props) {
|
|
map[i] = props[i];
|
|
}
|
|
return map;
|
|
};
|
|
exports.arrayRemove = function(array, value) {
|
|
for (var i = 0; i <= array.length; i++) {
|
|
if (value === array[i]) {
|
|
array.splice(i, 1);
|
|
}
|
|
}
|
|
};
|
|
|
|
exports.escapeRegExp = function(str) {
|
|
return str.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1');
|
|
};
|
|
|
|
exports.escapeHTML = function(str) {
|
|
return ("" + str).replace(/&/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(/</g, "<");
|
|
};
|
|
|
|
exports.getMatchOffsets = function(string, regExp) {
|
|
var matches = [];
|
|
|
|
string.replace(regExp, function(str) {
|
|
matches.push({
|
|
offset: arguments[arguments.length-2],
|
|
length: str.length
|
|
});
|
|
});
|
|
|
|
return matches;
|
|
};
|
|
exports.deferredCall = function(fcn) {
|
|
var timer = null;
|
|
var callback = function() {
|
|
timer = null;
|
|
fcn();
|
|
};
|
|
|
|
var deferred = function(timeout) {
|
|
deferred.cancel();
|
|
timer = setTimeout(callback, timeout || 0);
|
|
return deferred;
|
|
};
|
|
|
|
deferred.schedule = deferred;
|
|
|
|
deferred.call = function() {
|
|
this.cancel();
|
|
fcn();
|
|
return deferred;
|
|
};
|
|
|
|
deferred.cancel = function() {
|
|
clearTimeout(timer);
|
|
timer = null;
|
|
return deferred;
|
|
};
|
|
|
|
deferred.isPending = function() {
|
|
return timer;
|
|
};
|
|
|
|
return deferred;
|
|
};
|
|
|
|
|
|
exports.delayedCall = function(fcn, defaultTimeout) {
|
|
var timer = null;
|
|
var callback = function() {
|
|
timer = null;
|
|
fcn();
|
|
};
|
|
|
|
var _self = function(timeout) {
|
|
if (timer == null)
|
|
timer = setTimeout(callback, timeout || defaultTimeout);
|
|
};
|
|
|
|
_self.delay = function(timeout) {
|
|
timer && clearTimeout(timer);
|
|
timer = setTimeout(callback, timeout || defaultTimeout);
|
|
};
|
|
_self.schedule = _self;
|
|
|
|
_self.call = function() {
|
|
this.cancel();
|
|
fcn();
|
|
};
|
|
|
|
_self.cancel = function() {
|
|
timer && clearTimeout(timer);
|
|
timer = null;
|
|
};
|
|
|
|
_self.isPending = function() {
|
|
return timer;
|
|
};
|
|
|
|
return _self;
|
|
};
|
|
});
|
|
|
|
ace.define("ace/worker/mirror",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
var Range = require("../range").Range;
|
|
var Document = require("../document").Document;
|
|
var lang = require("../lib/lang");
|
|
|
|
var Mirror = exports.Mirror = function(sender) {
|
|
this.sender = sender;
|
|
var doc = this.doc = new Document("");
|
|
|
|
var deferredUpdate = this.deferredUpdate = lang.delayedCall(this.onUpdate.bind(this));
|
|
|
|
var _self = this;
|
|
sender.on("change", function(e) {
|
|
var data = e.data;
|
|
if (data[0].start) {
|
|
doc.applyDeltas(data);
|
|
} else {
|
|
for (var i = 0; i < data.length; i += 2) {
|
|
if (Array.isArray(data[i+1])) {
|
|
var d = {action: "insert", start: data[i], lines: data[i+1]};
|
|
} else {
|
|
var d = {action: "remove", start: data[i], end: data[i+1]};
|
|
}
|
|
doc.applyDelta(d, true);
|
|
}
|
|
}
|
|
if (_self.$timeout)
|
|
return deferredUpdate.schedule(_self.$timeout);
|
|
_self.onUpdate();
|
|
});
|
|
};
|
|
|
|
(function() {
|
|
|
|
this.$timeout = 500;
|
|
|
|
this.setTimeout = function(timeout) {
|
|
this.$timeout = timeout;
|
|
};
|
|
|
|
this.setValue = function(value) {
|
|
this.doc.setValue(value);
|
|
this.deferredUpdate.schedule(this.$timeout);
|
|
};
|
|
|
|
this.getValue = function(callbackId) {
|
|
this.sender.callback(this.doc.getValue(), callbackId);
|
|
};
|
|
|
|
this.onUpdate = function() {
|
|
};
|
|
|
|
this.isPending = function() {
|
|
return this.deferredUpdate.isPending();
|
|
};
|
|
|
|
}).call(Mirror.prototype);
|
|
|
|
});
|
|
|
|
ace.define("ace/mode/xquery/xqlint",[], function(require, exports, module) {
|
|
module.exports = (function outer (modules, cache, entry) {
|
|
var previousRequire = typeof require == "function" && require;
|
|
function newRequire(name, jumped){
|
|
if(!cache[name]) {
|
|
if(!modules[name]) {
|
|
var currentRequire = typeof require == "function" && require;
|
|
if (!jumped && currentRequire) return currentRequire(name, true);
|
|
if (previousRequire) return previousRequire(name, true);
|
|
var err = new Error('Cannot find module \'' + name + '\'');
|
|
err.code = 'MODULE_NOT_FOUND';
|
|
throw err;
|
|
}
|
|
var m = cache[name] = {exports:{}};
|
|
modules[name][0].call(m.exports, function(x){
|
|
var id = modules[name][1][x];
|
|
return newRequire(id ? id : x);
|
|
},m,m.exports,outer,modules,cache,entry);
|
|
}
|
|
return cache[name].exports;
|
|
}
|
|
for(var i=0;i<entry.length;i++) newRequire(entry[i]);
|
|
return newRequire(entry[0]);
|
|
})
|
|
({"/node_modules/xqlint/lib/compiler/errors.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
var init = function(that, code, message, pos, type){
|
|
if(!code) {
|
|
throw new Error(type + ' code is missing.');
|
|
}
|
|
|
|
if(!message) {
|
|
throw new Error(type + ' message is missing.');
|
|
}
|
|
|
|
if(!pos) {
|
|
throw new Error(type + ' position is missing.');
|
|
}
|
|
|
|
that.getCode = function(){
|
|
return code;
|
|
};
|
|
|
|
that.getMessage = function(){
|
|
return message;
|
|
};
|
|
|
|
that.getPos = function(){
|
|
return pos;
|
|
};
|
|
};
|
|
|
|
var StaticError = {};
|
|
var StaticWarning = {};
|
|
StaticError.prototype = new Error();
|
|
StaticWarning.prototype = new Error();
|
|
|
|
exports.StaticError = StaticError.prototype.constructor = function(code, message, pos) {
|
|
init(this, code, message, pos, 'Error');
|
|
};
|
|
|
|
exports.StaticWarning = StaticWarning.prototype.constructor = function(code, message, pos) {
|
|
init(this, code, message, pos, 'Warning');
|
|
};
|
|
},{}],"/node_modules/xqlint/lib/compiler/handlers.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
var TreeOps = _dereq_('../tree_ops').TreeOps;
|
|
var Errors = _dereq_('./errors');
|
|
var StaticWarning = Errors.StaticWarning;
|
|
exports.ModuleDecl = function(translator, rootSctx, node){
|
|
var prefix = '';
|
|
return {
|
|
NCName: function(ncname){
|
|
prefix = TreeOps.flatten(ncname);
|
|
},
|
|
|
|
URILiteral: function(uri) {
|
|
uri = TreeOps.flatten(uri);
|
|
uri = uri.substring(1, uri.length - 1);
|
|
translator.apply(function(){
|
|
rootSctx.moduleNamespace = uri;
|
|
rootSctx.addNamespace(uri, prefix, node.pos, 'moduleDecl');
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.ModuleImport = function(translator, rootSctx, node) {
|
|
var prefix = '';
|
|
var moduleURI;
|
|
|
|
return {
|
|
NCName: function(ncname){
|
|
prefix = TreeOps.flatten(ncname);
|
|
},
|
|
|
|
URILiteral: function(uri) {
|
|
if(moduleURI !== undefined) {
|
|
return;
|
|
}
|
|
uri = TreeOps.flatten(uri);
|
|
uri = uri.substring(1, uri.length - 1);
|
|
moduleURI = uri;
|
|
translator.apply(function(){
|
|
rootSctx.importModule(uri, prefix, node.pos);
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.SchemaImport = function(translator, rootSctx, node) {
|
|
var prefix = '';
|
|
var schemaURI;
|
|
|
|
return {
|
|
SchemaPrefix: function(schemaPrefix) {
|
|
var SchemaPrefixHandler = function () {
|
|
this.NCName = function (ncname) {
|
|
prefix = TreeOps.flatten(ncname);
|
|
};
|
|
};
|
|
translator.visitChildren(schemaPrefix, new SchemaPrefixHandler());
|
|
},
|
|
|
|
URILiteral: function(uri) {
|
|
if(schemaURI !== undefined) {
|
|
return;
|
|
}
|
|
uri = TreeOps.flatten(uri);
|
|
uri = uri.substring(1, uri.length - 1);
|
|
schemaURI = uri;
|
|
translator.apply(function(){
|
|
rootSctx.addNamespace(uri, prefix, node.pos, 'schema');
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.DefaultNamespaceDecl = function(translator, rootSctx, node) {
|
|
var fn = false;
|
|
var ns = '';
|
|
|
|
return {
|
|
TOKEN: function(token){
|
|
fn = fn ? true : (token.value === 'function');
|
|
},
|
|
URILiteral: function(uri){
|
|
ns = TreeOps.flatten(uri);
|
|
ns = ns.substring(1, ns.length - 1);
|
|
if(!fn) {
|
|
translator.apply(function(){
|
|
throw new StaticWarning('W06', 'Avoid default element namespace declarations.', node.pos);
|
|
});
|
|
rootSctx.defaultElementNamespace = ns;
|
|
} else {
|
|
rootSctx.defaultFunctionNamespace = ns;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.NamespaceDecl = function(translator, rootSctx, node) {
|
|
var prefix = '';
|
|
return {
|
|
NCName: function(ncname) {
|
|
prefix = TreeOps.flatten(ncname);
|
|
},
|
|
URILiteral: function(uri) {
|
|
uri = TreeOps.flatten(uri);
|
|
uri = uri.substring(1, uri.length - 1);
|
|
translator.apply(function(){
|
|
rootSctx.addNamespace(uri, prefix, node.pos, 'declare');
|
|
});
|
|
}
|
|
};
|
|
};
|
|
exports.VarHandler = function(translator, sctx, node){
|
|
var EQNameHandler = function(eqname){
|
|
var value = TreeOps.flatten(eqname);
|
|
translator.apply(function(){
|
|
var qname = sctx.resolveQName(value, eqname.pos);
|
|
sctx.addVariable(qname, node.name, eqname.pos);
|
|
});
|
|
};
|
|
return {
|
|
ExprSingle: function(){ return true; },
|
|
VarValue: function(){ return true; },
|
|
VarDefaultValue: function(){ return true; },
|
|
VarName: EQNameHandler,
|
|
EQName: EQNameHandler
|
|
};
|
|
};
|
|
|
|
exports.VarRefHandler = function(translator, sctx, node){
|
|
return {
|
|
VarName: function(eqname){
|
|
var value = TreeOps.flatten(eqname);
|
|
translator.apply(function(){
|
|
var qname = sctx.resolveQName(value, node.pos);
|
|
if(qname.uri !== '') {
|
|
sctx.root.namespaces[qname.uri].used = true;
|
|
}
|
|
sctx.addVarRef(qname, eqname.pos);
|
|
});
|
|
}
|
|
};
|
|
};
|
|
},{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./errors":"/node_modules/xqlint/lib/compiler/errors.js"}],"/node_modules/xqlint/lib/compiler/schema_built-in_types.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
exports.getSchemaBuiltinTypes = function(){
|
|
var ns = 'http://www.w3.org/2001/XMLSchema';
|
|
var SchemaBuiltinTypes = {};
|
|
SchemaBuiltinTypes[ns] = {
|
|
variables: {},
|
|
functions: {}
|
|
};
|
|
SchemaBuiltinTypes[ns].functions[ns + '#string#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'string', arity: 1, eqname: { uri: ns, name: 'string' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#boolean#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'boolean', arity: 1, eqname: { uri: ns, name: 'boolean' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#decimal#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'decimal', arity: 1, eqname: { uri: ns, name: 'decimal' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#float#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'float', arity: 1, eqname: { uri: ns, name: 'float' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#double#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'double', arity: 1, eqname: { uri: ns, name: 'double' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#duration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'duration', arity: 1, eqname: { uri: ns, name: 'duration' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#dateTime#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'dateTime', arity: 1, eqname: { uri: ns, name: 'dateTime' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#time#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'time', arity: 1, eqname: { uri: ns, name: 'time' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#date#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'date', arity: 1, eqname: { uri: ns, name: 'date' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#gYearMonth#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gYearMonth', arity: 1, eqname: { uri: ns, name: 'gYearMonth' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#gYear#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gYear', arity: 1, eqname: { uri: ns, name: 'gYear' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#gMonthDay#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gMonthDay', arity: 1, eqname: { uri: ns, name: 'gMonthDay' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#gDay#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gDay', arity: 1, eqname: { uri: ns, name: 'gDay' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#gMonth#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'gMonth', arity: 1, eqname: { uri: ns, name: 'gMonth' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#hexBinary#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'hexBinary', arity: 1, eqname: { uri: ns, name: 'hexBinary' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#base64Binary#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'base64Binary', arity: 1, eqname: { uri: ns, name: 'base64Binary' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#anyURI#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'anyURI', arity: 1, eqname: { uri: ns, name: 'anyURI' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#QName#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'QName', arity: 1, eqname: { uri: ns, name: 'QName' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#normalizedString#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'normalizedString', arity: 1, eqname: { uri: ns, name: 'normalizedString' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#token#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'token', arity: 1, eqname: { uri: ns, name: 'token' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#language#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'language', arity: 1, eqname: { uri: ns, name: 'language' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#NMTOKEN#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'NMTOKEN', arity: 1, eqname: { uri: ns, name: 'NMTOKEN' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#Name#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'Name', arity: 1, eqname: { uri: ns, name: 'Name' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#NCName#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'NCName', arity: 1, eqname: { uri: ns, name: 'NCName' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#ID#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'ID', arity: 1, eqname: { uri: ns, name: 'ID' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#IDREF#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'IDREF', arity: 1, eqname: { uri: ns, name: 'IDREF' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#ENTITY#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'ENTITY', arity: 1, eqname: { uri: ns, name: 'ENTITY' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#integer#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'integer', arity: 1, eqname: { uri: ns, name: 'integer' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#nonPositiveInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'nonPositiveInteger', arity: 1, eqname: { uri: ns, name: 'nonPositiveInteger' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#negativeInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'negativeInteger', arity: 1, eqname: { uri: ns, name: 'negativeInteger' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#long#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'long', arity: 1, eqname: { uri: ns, name: 'long' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#int#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'int', arity: 1, eqname: { uri: ns, name: 'int' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#short#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'short', arity: 1, eqname: { uri: ns, name: 'short' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#byte#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'byte', arity: 1, eqname: { uri: ns, name: 'byte' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#nonNegativeInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'nonNegativeInteger', arity: 1, eqname: { uri: ns, name: 'nonNegativeInteger' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#unsignedLong#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedLong', arity: 1, eqname: { uri: ns, name: 'unsignedLong' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#unsignedInt#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedInt', arity: 1, eqname: { uri: ns, name: 'unsignedInt' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#unsignedShort#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedShort', arity: 1, eqname: { uri: ns, name: 'unsignedShort' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#unsignedByte#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'unsignedByte', arity: 1, eqname: { uri: ns, name: 'unsignedByte' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#positiveInteger#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'positiveInteger', arity: 1, eqname: { uri: ns, name: 'positiveInteger' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#yearMonthDuration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'yearMonthDuration', arity: 1, eqname: { uri: ns, name: 'yearMonthDuration' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#dayTimeDuration#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'dayTimeDuration', arity: 1, eqname: { uri: ns, name: 'dayTimeDuration' } };
|
|
SchemaBuiltinTypes[ns].functions[ns + '#untypedAtomic#1'] = { params: ['$arg as xs:anyAtomicType?'], annotations: [], name: 'untypedAtomic', arity: 1, eqname: { uri: ns, name: 'untypedAtomic' } };
|
|
return SchemaBuiltinTypes;
|
|
};
|
|
},{}],"/node_modules/xqlint/lib/compiler/static_context.js":[function(_dereq_,module,exports){
|
|
exports.StaticContext = function (parent, pos) {
|
|
'use strict';
|
|
|
|
var TreeOps = _dereq_('../tree_ops').TreeOps;
|
|
|
|
var Errors = _dereq_('./errors');
|
|
var StaticError = Errors.StaticError;
|
|
var StaticWarning = Errors.StaticWarning;
|
|
|
|
var getSchemaBuiltinTypes = _dereq_('./schema_built-in_types').getSchemaBuiltinTypes;
|
|
|
|
var emptyPos = { sl:0, sc: 0, el: 0, ec: 0 };
|
|
var namespaces = {};
|
|
|
|
var getVarKey = function(qname) {
|
|
return qname.uri + '#' + qname.name;
|
|
};
|
|
|
|
var getFnKey = function(qname, arity) {
|
|
return getVarKey(qname) + '#' + arity;
|
|
};
|
|
|
|
if(!parent) {
|
|
namespaces['http://jsoniq.org/functions'] = {
|
|
prefixes: ['jn'],
|
|
pos: emptyPos,
|
|
type: 'module',
|
|
override: true
|
|
};
|
|
namespaces['http://www.28msec.com/modules/collections'] = {
|
|
prefixes: ['db'],
|
|
pos: emptyPos,
|
|
type: 'module',
|
|
override: true
|
|
};
|
|
namespaces['http://www.28msec.com/modules/store'] = {
|
|
prefixes: ['store'],
|
|
pos: emptyPos,
|
|
type: 'module',
|
|
override: true
|
|
};
|
|
namespaces['http://jsoniq.org/function-library'] = {
|
|
prefixes: ['libjn'],
|
|
pos: emptyPos,
|
|
type: 'module',
|
|
override: true
|
|
};
|
|
namespaces['http://www.w3.org/2005/xpath-functions'] = {
|
|
prefixes: ['fn'],
|
|
pos: emptyPos,
|
|
type: 'module',
|
|
override: true
|
|
};
|
|
namespaces['http://www.w3.org/2005/xquery-local-functions'] = {
|
|
prefixes: ['local'],
|
|
pos: emptyPos,
|
|
type: 'declare',
|
|
override: true
|
|
};
|
|
namespaces['http://www.w3.org/2001/XMLSchema-instance'] = {
|
|
prefixes: ['xsi'],
|
|
pos: emptyPos,
|
|
type: 'declare'
|
|
};
|
|
namespaces['http://www.w3.org/2001/XMLSchema'] = {
|
|
prefixes: ['xs'],
|
|
pos: emptyPos,
|
|
type: 'declare'
|
|
};
|
|
namespaces['http://www.w3.org/XML/1998/namespace'] = {
|
|
prefixes: ['xml'],
|
|
pos: emptyPos,
|
|
type: 'declare'
|
|
};
|
|
namespaces['http://zorba.io/annotations'] = {
|
|
prefixes: ['an'],
|
|
pos: emptyPos,
|
|
type: 'declare',
|
|
override: true
|
|
};
|
|
namespaces['http://www.28msec.com/annotations/rest'] = {
|
|
prefixes: ['rest'],
|
|
pos: emptyPos,
|
|
type: 'declare',
|
|
override: true
|
|
};
|
|
namespaces['http://www.w3.org/2005/xqt-errors'] = {
|
|
prefixes: ['err'],
|
|
pos: emptyPos,
|
|
type: 'declare',
|
|
override: true
|
|
};
|
|
namespaces['http://zorba.io/errors'] = {
|
|
prefixes: ['zerr'],
|
|
pos: emptyPos,
|
|
type: 'declare',
|
|
override: true
|
|
};
|
|
}
|
|
|
|
var s = {
|
|
parent: parent,
|
|
children: [],
|
|
pos: pos,
|
|
setModuleResolver: function(resolver){
|
|
this.root.moduleResolver = resolver;
|
|
return this;
|
|
},
|
|
setModules: function(index){
|
|
if(this !== this.root){
|
|
throw new Error('setModules() not invoked from the root static context.');
|
|
}
|
|
this.moduleResolver = function(uri){
|
|
return index[uri];
|
|
};
|
|
var that = this;
|
|
Object.keys(this.namespaces).forEach(function(uri){
|
|
var ns = that.namespaces[uri];
|
|
if(ns.type === 'module') {
|
|
var mod = that.moduleResolver(uri);
|
|
if(mod.variables) {
|
|
TreeOps.concat(that.variables, mod.variables);
|
|
}
|
|
if(mod.functions) {
|
|
TreeOps.concat(that.functions, mod.functions);
|
|
}
|
|
}
|
|
});
|
|
return this;
|
|
},
|
|
setModulesFromXQDoc: function(xqdoc){
|
|
if(this !== this.root){
|
|
throw new Error('setModulesFromXQDoc() not invoked from the root static context.');
|
|
}
|
|
var index = {};
|
|
Object.keys(xqdoc).forEach(function(uri) {
|
|
var mod = xqdoc[uri];
|
|
var variables = {};
|
|
var functions = {};
|
|
mod.functions.forEach(function(fn){
|
|
functions[uri + '#' + fn.name + '#' + fn.arity] = {
|
|
params: [],
|
|
annotations: [],
|
|
name: fn.name,
|
|
arity: fn.arity,
|
|
eqname: { uri: uri, name: fn.name }
|
|
};
|
|
fn.parameters.forEach(function(param){
|
|
functions[uri + '#' + fn.name + '#' + fn.arity].params.push('$' + param.name);
|
|
});
|
|
});
|
|
mod.variables.forEach(function(variable){
|
|
var name = variable.name.substring(variable.name.indexOf(':') + 1);
|
|
variables[uri + '#' + name] = { type: 'VarDecl', annotations: [], eqname: { uri: uri, name: name } };
|
|
});
|
|
index[uri] = {
|
|
variables: variables,
|
|
functions: functions
|
|
};
|
|
});
|
|
this.root.moduleResolver = function(uri){
|
|
return index[uri];
|
|
};
|
|
var that = this;
|
|
Object.keys(this.namespaces).forEach(function(uri){
|
|
var ns = that.namespaces[uri];
|
|
if(ns.type === 'module') {
|
|
var mod = that.moduleResolver(uri);
|
|
if(mod.variables) {
|
|
TreeOps.concat(that.variables, mod.variables);
|
|
}
|
|
if(mod.functions) {
|
|
TreeOps.concat(that.functions, mod.functions);
|
|
}
|
|
}
|
|
});
|
|
return this;
|
|
},
|
|
moduleNamespace: '',
|
|
description: '',
|
|
defaultFunctionNamespace: 'http://www.w3.org/2005/xpath-functions',
|
|
defaultFunctionNamespaces: [
|
|
'http://www.28msec.com/modules/collections',
|
|
'http://www.28msec.com/modules/store',
|
|
'http://jsoniq.org/functions',
|
|
'http://jsoniq.org/function-library',
|
|
'http://www.w3.org/2001/XMLSchema' //Built-in type constructors
|
|
],
|
|
defaultElementNamespace: '',
|
|
namespaces: namespaces,
|
|
availableModuleNamespaces: [],
|
|
importModule: function(uri, prefix, pos) {
|
|
if(this !== this.root){
|
|
throw new Error('Function not invoked from the root static context.');
|
|
}
|
|
this.addNamespace(uri, prefix, pos, 'module');
|
|
if(this.moduleResolver) {
|
|
try {
|
|
var mod = this.moduleResolver(uri, []);
|
|
if(mod.variables) {
|
|
TreeOps.concat(this.variables, mod.variables);
|
|
}
|
|
if(mod.functions) {
|
|
TreeOps.concat(this.functions, mod.functions);
|
|
}
|
|
} catch(e) {
|
|
throw new StaticError('XQST0059', 'module "' + uri + '" not found', pos);
|
|
}
|
|
}
|
|
return this;
|
|
},
|
|
|
|
getAvailableModuleNamespaces: function(){
|
|
return this.root.availableModuleNamespaces;
|
|
},
|
|
|
|
getPrefixesByNamespace: function(uri){
|
|
return this.root.namespaces[uri].prefixes;
|
|
},
|
|
|
|
addNamespace: function (uri, prefix, pos, type) {
|
|
if(prefix === '' && type === 'module') {
|
|
throw new StaticWarning('W01', 'Avoid this type of import. Use import module namespace instead', pos);
|
|
}
|
|
if (uri === '') {
|
|
throw new StaticError('XQST0088', 'empty target namespace in module import or module declaration', pos);
|
|
}
|
|
var namespace = this.getNamespace(uri);
|
|
if (namespace && namespace.type === type && type !== 'declare' && !namespace.override) {
|
|
throw new StaticError('XQST0047', '"' + uri + '": duplicate target namespace', pos);
|
|
}
|
|
namespace = this.getNamespaceByPrefix(prefix);
|
|
if (namespace && !namespace.override) {
|
|
throw new StaticError('XQST0033', '"' + prefix + '": namespace prefix already bound to "' + namespace.uri + '"', pos);
|
|
}
|
|
|
|
namespace = this.namespaces[uri];
|
|
var prefixes = [prefix];
|
|
if(namespace) {
|
|
prefixes = prefixes.concat(this.namespaces[uri].prefixes);
|
|
}
|
|
this.namespaces[uri] = {
|
|
prefixes: prefixes,
|
|
pos: pos,
|
|
type: type
|
|
};
|
|
|
|
if (namespace) {
|
|
throw new StaticWarning('W02', '"' + uri + '" already bound to the "' + namespace.prefixes.join(', ') + '" prefix', pos);
|
|
}
|
|
|
|
},
|
|
|
|
getNamespaces: function(){
|
|
return this.root.namespaces;
|
|
},
|
|
|
|
getNamespace: function (uri) {
|
|
var that = this;
|
|
while (that) {
|
|
var namespace = that.namespaces[uri];
|
|
if (namespace) {
|
|
return namespace;
|
|
}
|
|
that = that.parent;
|
|
}
|
|
|
|
},
|
|
|
|
getNamespaceByPrefix: function (prefix) {
|
|
var found = [];
|
|
var handler = function (uri) {
|
|
var namespace = that.namespaces[uri];
|
|
if (namespace.prefixes.indexOf(prefix) !== -1) {
|
|
namespace.uri = uri;
|
|
found.push(namespace);
|
|
}
|
|
};
|
|
var that = this;
|
|
while (that) {
|
|
Object.keys(that.namespaces).forEach(handler);
|
|
that = that.parent;
|
|
}
|
|
var result;
|
|
found.forEach(function(ns){
|
|
if(ns.type === 'moduleDecl') {
|
|
result = ns;
|
|
}
|
|
});
|
|
if(result) {
|
|
return result;
|
|
} else {
|
|
return found[0];
|
|
}
|
|
},
|
|
|
|
resolveQName: function(value, pos){
|
|
var qname = {
|
|
uri: '',
|
|
prefix: '',
|
|
name: ''
|
|
};
|
|
var idx;
|
|
if (value.substring(0, 2) === 'Q{') {
|
|
idx = value.indexOf('}');
|
|
qname.uri = value.substring(2, idx);
|
|
qname.name = value.substring(idx + 1);
|
|
} else {
|
|
idx = value.indexOf(':');
|
|
qname.prefix = value.substring(0, idx);
|
|
var namespace = this.getNamespaceByPrefix(qname.prefix);
|
|
if(!namespace && qname.prefix !== '' && ['fn', 'jn'].indexOf(qname.prefix) === -1) {
|
|
throw new StaticError('XPST0081', '"' + qname.prefix + '": can not expand prefix of lexical QName to namespace URI', pos);
|
|
}
|
|
if(namespace) {
|
|
qname.uri = namespace.uri;
|
|
}
|
|
qname.name = value.substring(idx + 1);
|
|
}
|
|
return qname;
|
|
},
|
|
|
|
variables: {},
|
|
varRefs: {},
|
|
functionCalls: {},
|
|
|
|
addVariable: function(qname, type, pos){
|
|
if(
|
|
type === 'VarDecl' && this.moduleNamespace !== '' &&
|
|
!(this.moduleNamespace === qname.uri || qname.uri === '')
|
|
) {
|
|
throw new StaticError('XQST0048', '"' + qname.prefix + ':' + qname.name + '": Qname not library namespace', pos);
|
|
}
|
|
var key = getVarKey(qname);
|
|
if(type === 'VarDecl' && this.variables[key]) {
|
|
throw new StaticError('XQST0049', '"' + qname.name + '": duplicate variable declaration', pos);
|
|
}
|
|
this.variables[key] = {
|
|
type: type,
|
|
pos: pos,
|
|
qname: qname,
|
|
annotations: {}
|
|
};
|
|
return this;
|
|
},
|
|
|
|
getVariables: function(){
|
|
var variables = {};
|
|
var that = this;
|
|
var handler = function(key){
|
|
if(!variables[key]){
|
|
variables[key] = that.variables[key];
|
|
}
|
|
};
|
|
while(that){
|
|
Object.keys(that.variables).forEach(handler);
|
|
that = that.parent;
|
|
}
|
|
return variables;
|
|
},
|
|
|
|
getVariable: function(qname) {
|
|
var key = getVarKey(qname);
|
|
var that = this;
|
|
while(that) {
|
|
if(that.variables[key]) {
|
|
return that.variables[key];
|
|
}
|
|
that = that.parent;
|
|
}
|
|
},
|
|
|
|
addVarRef: function(qname, pos){
|
|
var varDecl = this.getVariable(qname);
|
|
if(!varDecl && (qname.uri === '' || this.root.moduleResolver)) {
|
|
throw new StaticError('XPST0008', '"' + qname.name + '": undeclared variable', pos);
|
|
}
|
|
var key = getVarKey(qname);
|
|
this.varRefs[key] = true;
|
|
},
|
|
|
|
addFunctionCall: function(qname, arity, pos){
|
|
var fn = this.getFunction(qname, arity);
|
|
if(!fn && (qname.uri === 'http://www.w3.org/2005/xquery-local-functions' || this.root.moduleResolver)){
|
|
if((qname.uri === 'http://www.w3.org/2005/xpath-functions' ||
|
|
(qname.uri === '' && this.root.defaultFunctionNamespaces.concat(this.root.defaultFunctionNamespace).indexOf('http://www.w3.org/2005/xpath-functions') !== -1)) && qname.name === 'concat') {
|
|
} else if(!fn){
|
|
throw new StaticError('XPST0008', '"' + qname.name + '#' + arity + '": undeclared function', pos);
|
|
}
|
|
}
|
|
var key = getFnKey(qname, arity);
|
|
this.functionCalls[key] = true;
|
|
},
|
|
|
|
functions: getSchemaBuiltinTypes()['http://www.w3.org/2001/XMLSchema'].functions,
|
|
|
|
getFunctions: function(){
|
|
return this.root.functions;
|
|
},
|
|
|
|
getFunction: function(qname, arity){
|
|
var key = getFnKey(qname, arity);
|
|
var fn;
|
|
if(qname.uri === '') {
|
|
var that = this;
|
|
this.root.defaultFunctionNamespaces.concat([this.root.defaultFunctionNamespace]).forEach(function(defaultFunctionNamespace){
|
|
if(!fn){
|
|
fn = that.getFunction({ uri: defaultFunctionNamespace, prefix: qname.prefix, name: qname.name }, arity);
|
|
} else {
|
|
return false;
|
|
}
|
|
});
|
|
return fn;
|
|
} else {
|
|
return this.root.functions[key];
|
|
}
|
|
},
|
|
|
|
addFunction: function(qname, pos, params) {
|
|
if(this !== this.root){
|
|
throw new Error('addFunction() not invoked from the root static context.');
|
|
}
|
|
var arity = params.length;
|
|
if(
|
|
this.moduleNamespace !== '' &&
|
|
!(this.moduleNamespace === qname.uri || (qname.uri === '' && this.defaultFunctionNamespace === this.moduleNamespace))
|
|
) {
|
|
throw new StaticError('XQST0048', '"' + qname.prefix + ':' + qname.name + '": Qname not library namespace', pos);
|
|
}
|
|
var key = getFnKey(qname, arity);
|
|
if(this.functions[key]) {
|
|
throw new StaticError('XQST0034', '"' + qname.name + '": duplicate function declaration', pos);
|
|
}
|
|
this.functions[key] = {
|
|
pos: pos,
|
|
params: params
|
|
};
|
|
return this;
|
|
}
|
|
|
|
};
|
|
s.root = parent ? parent.root : s;
|
|
return s;
|
|
};
|
|
|
|
},{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./errors":"/node_modules/xqlint/lib/compiler/errors.js","./schema_built-in_types":"/node_modules/xqlint/lib/compiler/schema_built-in_types.js"}],"/node_modules/xqlint/lib/compiler/translator.js":[function(_dereq_,module,exports){
|
|
exports.Translator = function(rootStcx, ast){
|
|
'use strict';
|
|
|
|
var Errors = _dereq_('./errors');
|
|
var StaticError = Errors.StaticError;
|
|
var StaticWarning = Errors.StaticWarning;
|
|
|
|
var TreeOps = _dereq_('../tree_ops').TreeOps;
|
|
var StaticContext = _dereq_('./static_context').StaticContext;
|
|
var Handlers = _dereq_('./handlers');
|
|
|
|
var get = function(node, path){
|
|
var result = [];
|
|
if(path.length === 0){
|
|
return node;
|
|
}
|
|
node.children.forEach(function(child){
|
|
if(child.name === path[0] && path.length > 1) {
|
|
result = get(child, path.slice(1));
|
|
} else if(child.name === path[0]) {
|
|
result.push(child);
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
|
|
var markers = [];
|
|
this.apply = function(fn) {
|
|
try {
|
|
fn();
|
|
} catch(e) {
|
|
if(e instanceof StaticError) {
|
|
addStaticError(e);
|
|
} else if(e instanceof StaticWarning) {
|
|
addWarning(e.getCode(), e.getMessage(), e.getPos());
|
|
} else {
|
|
throw e;
|
|
}
|
|
}
|
|
};
|
|
|
|
var addStaticError = function(e){
|
|
markers.push({
|
|
pos: e.getPos(),
|
|
type: 'error',
|
|
level: 'error',
|
|
message: '[' + e.getCode() + '] ' + e.getMessage()
|
|
});
|
|
};
|
|
|
|
var addWarning = function(code, message, pos) {
|
|
markers.push({
|
|
pos: pos,
|
|
type: 'warning',
|
|
level: 'warning',
|
|
message: '[' + code + '] ' + message
|
|
});
|
|
};
|
|
|
|
this.getMarkers = function(){
|
|
return markers;
|
|
};
|
|
|
|
var translator = this;
|
|
|
|
rootStcx.pos = ast.pos;
|
|
var sctx = rootStcx;
|
|
var pushSctx = function(pos){
|
|
sctx = new StaticContext(sctx, pos);
|
|
sctx.parent.children.push(sctx);
|
|
};
|
|
|
|
var popSctx = function(pos){
|
|
if (pos !== undefined) {
|
|
sctx.pos.el = pos.el;
|
|
sctx.pos.ec = pos.ec;
|
|
}
|
|
|
|
Object.keys(sctx.varRefs).forEach(function(key){
|
|
if(!sctx.variables[key]) {
|
|
sctx.parent.varRefs[key] = true;
|
|
}
|
|
});
|
|
Object.keys(sctx.variables).forEach(function(key){
|
|
if(!sctx.varRefs[key] && sctx.variables[key].type !== 'GroupingVariable' && sctx.variables[key].type !== 'CatchVar') {
|
|
addWarning('W03', 'Unused variable "$' + sctx.variables[key].qname.name + '"', sctx.variables[key].pos);
|
|
}
|
|
});
|
|
|
|
sctx = sctx.parent;
|
|
};
|
|
|
|
this.visitOnly = function(node, names) {
|
|
node.children.forEach(function(child){
|
|
if (names.indexOf(child.name) !== -1){
|
|
translator.visit(child);
|
|
}
|
|
});
|
|
};
|
|
|
|
this.getFirstChild = function(node, name) {
|
|
var result;
|
|
node.children.forEach(function(child){
|
|
if(child.name === name && result === undefined){
|
|
result = child;
|
|
}
|
|
});
|
|
return result;
|
|
};
|
|
|
|
this.XQuery = function(node) {
|
|
rootStcx.description = node.comment ? node.comment.description : undefined;
|
|
};
|
|
|
|
this.ModuleDecl = function(node){
|
|
this.visitChildren(node, Handlers.ModuleDecl(translator, rootStcx, node));
|
|
return true;
|
|
};
|
|
|
|
this.Prolog = function(node){
|
|
this.visitOnly(node, ['DefaultNamespaceDecl', 'Setter', 'NamespaceDecl', 'Import']);
|
|
ast.index.forEach(function(node){
|
|
if(node.name === 'VarDecl') {
|
|
node.children.forEach(function(child){
|
|
if(child.name === 'VarName') {
|
|
translator.apply(function(){
|
|
var value = TreeOps.flatten(child);
|
|
var qname = rootStcx.resolveQName(value, child.pos);
|
|
rootStcx.addVariable(qname, node.name, child.pos);
|
|
});
|
|
}
|
|
});
|
|
} else if(node.name === 'FunctionDecl') {
|
|
var qname, pos, params = [];
|
|
node.children.forEach(function(child){
|
|
if(child.name === 'EQName') {
|
|
qname = child;
|
|
pos = child.pos;
|
|
} else if(child.name === 'ParamList'){
|
|
child.children.forEach(function(c){
|
|
if(c.name === 'Param') {
|
|
params.push(TreeOps.flatten(c));
|
|
}
|
|
});
|
|
}
|
|
});
|
|
translator.apply(function(){
|
|
qname = TreeOps.flatten(qname);
|
|
qname = rootStcx.resolveQName(qname, pos);
|
|
rootStcx.addFunction(qname, pos, params);
|
|
});
|
|
}
|
|
});
|
|
this.visitOnly(node, ['ContextItemDecl', 'AnnotatedDecl', 'OptionDecl']);
|
|
return true;
|
|
};
|
|
|
|
this.ModuleImport = function (node) {
|
|
this.visitChildren(node, Handlers.ModuleImport(translator, rootStcx, node));
|
|
return true;
|
|
};
|
|
|
|
this.SchemaImport = function (node) {
|
|
this.visitChildren(node, Handlers.SchemaImport(translator, rootStcx, node));
|
|
return true;
|
|
};
|
|
|
|
this.DefaultNamespaceDecl = function(node){
|
|
this.visitChildren(node, Handlers.DefaultNamespaceDecl(translator, rootStcx, node));
|
|
return true;
|
|
};
|
|
|
|
this.NamespaceDecl = function (node) {
|
|
this.visitChildren(node, Handlers.NamespaceDecl(translator, rootStcx, node));
|
|
return true;
|
|
};
|
|
|
|
var annotations = {};
|
|
this.AnnotatedDecl = function(node) {
|
|
annotations = {};
|
|
this.visitChildren(node, Handlers.NamespaceDecl(translator, rootStcx, node));
|
|
return true;
|
|
};
|
|
|
|
this.CompatibilityAnnotation = function(){
|
|
annotations['http://www.w3.org/2012/xquery#updating'] = [];
|
|
return true;
|
|
};
|
|
|
|
this.Annotation = function(node){
|
|
this.visitChildren(node, {
|
|
EQName: function(eqname){
|
|
var value = TreeOps.flatten(eqname);
|
|
translator.apply(function(){
|
|
var qname = sctx.resolveQName(value, eqname.pos);
|
|
annotations[qname.uri + '#' + qname.name] = [];
|
|
});
|
|
}
|
|
});
|
|
return true;
|
|
};
|
|
|
|
this.VarDecl = function(node){
|
|
try {
|
|
var varname = translator.getFirstChild(node, 'VarName');
|
|
var value = TreeOps.flatten(varname);
|
|
var qname = sctx.resolveQName(value, varname.pos);
|
|
var variable = rootStcx.getVariable(qname);
|
|
if(variable) {
|
|
variable.annotations = annotations;
|
|
variable.description = node.getParent.comment ? node.getParent.comment.description : undefined;
|
|
variable.type = TreeOps.flatten(get(node, ['TypeDeclaration'])[0]).substring(2).trim();
|
|
var last = variable.type.substring(variable.type.length - 1);
|
|
if(last === '?') {
|
|
variable.occurrence = 0;
|
|
variable.type = variable.type.substring(0, variable.type.length - 1);
|
|
} else if(last === '*') {
|
|
variable.occurrence = -1;
|
|
variable.type = variable.type.substring(0, variable.type.length - 1);
|
|
} else if(last === '+') {
|
|
variable.occurrence = 2;
|
|
variable.type = variable.type.substring(0, variable.type.length - 1);
|
|
} else {
|
|
variable.occurrence = 1;
|
|
}
|
|
}
|
|
} catch(e) {
|
|
}
|
|
this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
|
|
return true;
|
|
};
|
|
|
|
this.FunctionDecl = function(node) {
|
|
var isUpdating = annotations['http://www.w3.org/2012/xquery#updating'] !== undefined;
|
|
var typeDecl = get(node, ['ReturnType'])[0];
|
|
var name = get(node, ['EQName'])[0];
|
|
if(!typeDecl && !isUpdating){
|
|
addWarning('W05', 'Untyped return value', name.pos);
|
|
}
|
|
var isExternal = false;
|
|
node.children.forEach(function(child){
|
|
if(child.name === 'TOKEN' && child.value === 'external') {
|
|
isExternal = true;
|
|
return false;
|
|
}
|
|
});
|
|
if(!isExternal) {
|
|
pushSctx(node.pos);
|
|
this.visitChildren(node);
|
|
popSctx();
|
|
}
|
|
return true;
|
|
};
|
|
|
|
this.VarRef = function(node) {
|
|
this.visitChildren(node, Handlers.VarRefHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.Param = function(node){
|
|
var typeDecl = get(node, ['TypeDeclaration'])[0];
|
|
if(!typeDecl){
|
|
addWarning('W05', 'Untyped function parameter', node.pos);
|
|
}
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.InlineFunctionExpr = function(node) {
|
|
pushSctx(node.pos);
|
|
this.visitChildren(node);
|
|
popSctx();
|
|
return true;
|
|
};
|
|
var statementCount = [];
|
|
var handleStatements = function(node) {
|
|
pushSctx(node.pos);
|
|
statementCount.push(0);
|
|
translator.visitChildren(node);
|
|
for (var i = 1; i <= statementCount[statementCount.length - 1]; i++) {
|
|
popSctx(node.pos);
|
|
}
|
|
statementCount.pop();
|
|
popSctx();
|
|
};
|
|
|
|
this.StatementsAndOptionalExpr = function (node) {
|
|
handleStatements(node);
|
|
return true;
|
|
};
|
|
|
|
this.StatementsAndExpr = function (node) {
|
|
handleStatements(node);
|
|
return true;
|
|
};
|
|
|
|
this.BlockStatement = function (node) {
|
|
handleStatements(node);
|
|
return true;
|
|
};
|
|
|
|
this.VarDeclStatement = function(node){
|
|
pushSctx(node.pos);
|
|
statementCount[statementCount.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
};
|
|
var clauses = [];
|
|
this.FLWORExpr = this.FLWORStatement = function (node) {
|
|
pushSctx(node.pos);
|
|
clauses.push(0);
|
|
this.visitChildren(node);
|
|
for(var i=1; i <= clauses[clauses.length - 1]; i++) {
|
|
popSctx(node.pos);
|
|
}
|
|
clauses.pop();
|
|
popSctx();
|
|
return true;
|
|
};
|
|
|
|
this.ForBinding = function (node) {
|
|
this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
|
|
pushSctx(node.pos);
|
|
clauses[clauses.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.LetBinding = function(node){
|
|
this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
|
|
pushSctx(node.pos);
|
|
clauses[clauses.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.GroupingSpec = function(node){
|
|
var isVarDecl = false;
|
|
node.children.forEach(function(child){
|
|
if(child.value === ':=') {
|
|
isVarDecl = true;
|
|
return false;
|
|
}
|
|
});
|
|
if(isVarDecl) {
|
|
var groupingVariable = node.children[0];
|
|
this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
|
|
pushSctx(node.pos);
|
|
clauses[clauses.length - 1]++;
|
|
this.visitChildren(groupingVariable, Handlers.VarHandler(translator, sctx, groupingVariable));
|
|
return true;
|
|
} else {
|
|
|
|
}
|
|
};
|
|
|
|
this.TumblingWindowClause = function (node) {
|
|
this.visitOnly(node, ['ExprSingle']);
|
|
pushSctx(node.pos);
|
|
clauses[clauses.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
this.visitOnly(node, ['WindowStartCondition', 'WindowEndCondition']);
|
|
return true;
|
|
};
|
|
|
|
this.WindowVars = function (node) {
|
|
pushSctx(node.pos);
|
|
clauses[clauses.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.SlidingWindowClause = function (node) {
|
|
this.visitOnly(node, ['ExprSingle', 'VarValue', 'VarDefaultValue']);
|
|
pushSctx(node.pos);
|
|
clauses[clauses.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
this.visitOnly(node, ['WindowStartCondition', 'WindowEndCondition']);
|
|
return true;
|
|
};
|
|
|
|
this.PositionalVar = function (node) {
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.PositionalVar = function (node) {
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.CurrentItem = function (node) {
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.PreviousItem = function (node) {
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.NextItem = function (node) {
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.CountClause = function (node) {
|
|
pushSctx(node.pos);
|
|
clauses[clauses.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.CaseClause = function(node) {
|
|
pushSctx(node.pos);
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
this.visitOnly(node, ['ExprSingle']);
|
|
popSctx();
|
|
return true;
|
|
};
|
|
var copies = [];
|
|
this.TransformExpr = function (node) {
|
|
pushSctx(node.pos);
|
|
copies.push(0);
|
|
this.visitChildren(node);
|
|
for(var i=1; i <= copies[copies.length - 1]; i++) {
|
|
popSctx(node.pos);
|
|
}
|
|
copies.pop();
|
|
popSctx();
|
|
return true;
|
|
};
|
|
|
|
this.TransformSpec = function(node) {
|
|
this.visitOnly(node, ['ExprSingle']);
|
|
pushSctx(node.pos);
|
|
copies[copies.length-1] += 1;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
var quantifiedDecls = [];
|
|
this.QuantifiedExpr = function (node) {
|
|
pushSctx(node.pos);
|
|
quantifiedDecls.push(0);
|
|
this.visitChildren(node);
|
|
for(var i=1; i <= quantifiedDecls[quantifiedDecls.length - 1]; i++) {
|
|
popSctx(node.pos);
|
|
}
|
|
quantifiedDecls.pop();
|
|
popSctx();
|
|
return true;
|
|
};
|
|
|
|
this.QuantifiedVarDecl = function(node) {
|
|
this.visitOnly(node, ['ExprSingle']);
|
|
pushSctx(node.pos);
|
|
quantifiedDecls[quantifiedDecls.length - 1]++;
|
|
this.visitChildren(node, Handlers.VarHandler(translator, sctx, node));
|
|
return true;
|
|
};
|
|
|
|
this.FunctionCall = function(node){
|
|
this.visitOnly(node, ['ArgumentList']);
|
|
var name = translator.getFirstChild(node, 'EQName');
|
|
var eqname = TreeOps.flatten(name);
|
|
var arity = get(node, ['ArgumentList', 'Argument']).length;
|
|
translator.apply(function(){
|
|
var qname = sctx.resolveQName(eqname, node.pos);
|
|
try {
|
|
if(qname.uri !== '') {
|
|
sctx.root.namespaces[qname.uri].used = true;
|
|
}
|
|
} catch(e){
|
|
}
|
|
sctx.addFunctionCall(qname, arity, name.pos);
|
|
});
|
|
return true;
|
|
};
|
|
|
|
this.TryClause = function(node){
|
|
pushSctx(node.pos);
|
|
this.visitChildren(node);
|
|
popSctx();
|
|
return true;
|
|
};
|
|
|
|
this.CatchClause = function(node){
|
|
pushSctx(node.pos);
|
|
var prefix = 'err';
|
|
var uri = 'http://www.w3.org/2005/xqt-errors';
|
|
var emptyPos = { sl: 0, sc: 0, el: 0, ec: 0 };
|
|
sctx.addVariable({ prefix: prefix, uri: uri, name: 'code' }, 'CatchVar', emptyPos);
|
|
sctx.addVariable({ prefix: prefix, uri: uri, name: 'description' }, 'CatchVar', emptyPos);
|
|
sctx.addVariable({ prefix: prefix, uri: uri, name: 'value' }, 'CatchVar', emptyPos);
|
|
sctx.addVariable({ prefix: prefix, uri: uri, name: 'module' }, 'CatchVar', emptyPos);
|
|
sctx.addVariable({ prefix: prefix, uri: uri, name: 'line-number' }, 'CatchVar', emptyPos);
|
|
sctx.addVariable({ prefix: prefix, uri: uri, name: 'column-number' }, 'CatchVar', emptyPos);
|
|
sctx.addVariable({ prefix: prefix, uri: uri, name: 'additional' }, 'CatchVar', emptyPos);
|
|
this.visitChildren(node);
|
|
popSctx();
|
|
return true;
|
|
};
|
|
|
|
this.Pragma = function(node){
|
|
var qname = TreeOps.flatten(get(node, ['EQName'])[0]);
|
|
qname = rootStcx.resolveQName(qname, node);
|
|
var value = TreeOps.flatten(get(node, ['PragmaContents'])[0]);
|
|
if (qname.name === 'xqlint' && qname.uri === 'http://xqlint.io') {
|
|
pushSctx(node.pos);
|
|
var commands = value.match(/[a-zA-Z]+\(([^)]+)\)/g);
|
|
commands.forEach(function (command) {
|
|
var name = command.substring(0, command.indexOf('('));
|
|
var args = command.substring(0, command.length - 1).substring(command.indexOf('(') + 1).split(',').map(function (val) {
|
|
return val.trim();
|
|
});
|
|
if (name === 'varrefs') {
|
|
args.forEach(function (arg) {
|
|
var qname = sctx.resolveQName(arg.substring(1), node.pos);
|
|
if (qname.uri !== '') {
|
|
sctx.root.namespaces[qname.uri].used = true;
|
|
}
|
|
sctx.addVarRef(qname, node.pos);
|
|
});
|
|
}
|
|
});
|
|
this.visitChildren(node);
|
|
popSctx();
|
|
return true;
|
|
}
|
|
};
|
|
|
|
this.visit = function (node) {
|
|
var name = node.name;
|
|
var skip = false;
|
|
|
|
if (typeof this[name] === 'function') {
|
|
skip = this[name](node) === true;
|
|
}
|
|
|
|
if (!skip) {
|
|
this.visitChildren(node);
|
|
}
|
|
};
|
|
|
|
this.visitChildren = function (node, handler) {
|
|
for (var i = 0; i < node.children.length; i++) {
|
|
var child = node.children[i];
|
|
if (handler !== undefined && typeof handler[child.name] === 'function') {
|
|
handler[child.name](child);
|
|
} else {
|
|
this.visit(child);
|
|
}
|
|
}
|
|
};
|
|
|
|
this.visit(ast);
|
|
Object.keys(rootStcx.variables).forEach(function(key){
|
|
if(!rootStcx.varRefs[key] && (rootStcx.variables[key].annotations['http://www.w3.org/2005/xpath-functions#private'] || rootStcx.moduleNamespace === '') && rootStcx.variables[key].pos) {
|
|
addWarning('W03', 'Unused variable "' + rootStcx.variables[key].qname.name + '"', rootStcx.variables[key].pos);
|
|
}
|
|
});
|
|
Object.keys(rootStcx.namespaces).forEach(function(uri){
|
|
var namespace = rootStcx.namespaces[uri];
|
|
if(namespace.used === undefined && !namespace.override && namespace.type === 'module') {
|
|
addWarning('W04', 'Unused module "' + uri + '"', namespace.pos);
|
|
}
|
|
});
|
|
};
|
|
|
|
},{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./errors":"/node_modules/xqlint/lib/compiler/errors.js","./handlers":"/node_modules/xqlint/lib/compiler/handlers.js","./static_context":"/node_modules/xqlint/lib/compiler/static_context.js"}],"/node_modules/xqlint/lib/completion/completer.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
var TreeOps = _dereq_('../tree_ops').TreeOps;
|
|
|
|
var ID_REGEX = /[a-zA-Z_0-9\$]/;
|
|
|
|
function retrievePrecedingIdentifier(text, pos, regex) {
|
|
regex = regex || ID_REGEX;
|
|
var buf = [];
|
|
for (var i = pos-1; i >= 0; i--) {
|
|
if (regex.test(text[i])) {
|
|
buf.push(text[i]);
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
return buf.reverse().join('');
|
|
}
|
|
|
|
function prefixBinarySearch(items, prefix) {
|
|
var startIndex = 0;
|
|
var stopIndex = items.length - 1;
|
|
var middle = Math.floor((stopIndex + startIndex) / 2);
|
|
|
|
while (stopIndex > startIndex && middle >= 0 && items[middle].indexOf(prefix) !== 0) {
|
|
if (prefix < items[middle]) {
|
|
stopIndex = middle - 1;
|
|
} else if (prefix > items[middle]) {
|
|
startIndex = middle + 1;
|
|
}
|
|
middle = Math.floor((stopIndex + startIndex) / 2);
|
|
}
|
|
while (middle > 0 && items[middle-1].indexOf(prefix) === 0) {
|
|
middle--;
|
|
}
|
|
return middle >= 0 ? middle : 0; // ensure we're not returning a negative index
|
|
}
|
|
|
|
var uriRegex = /[a-zA-Z_0-9\/\.:\-#]/;
|
|
var char = '-._A-Za-z0-9:\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02ff\u0300-\u037D\u037F-\u1FFF\u200C\u200D\u203f\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD';
|
|
var nameChar = '[' + char + ']';
|
|
var varChar = '[' + char + '\\$]';
|
|
var nameCharRegExp = new RegExp(nameChar);
|
|
var varCharRegExp = new RegExp(varChar);
|
|
|
|
var varDeclLabels = {
|
|
'LetBinding': 'Let binding',
|
|
'Param': 'Function parameter',
|
|
'QuantifiedExpr': 'Quantified expression binding',
|
|
'VarDeclStatement': 'Local variable',
|
|
'ForBinding': 'For binding',
|
|
'TumblingWindowClause': 'Tumbling window binding',
|
|
'WindowVars': 'Window variable',
|
|
'SlidingWindowClause': 'Sliding window binding',
|
|
'PositionalVar': 'Positional variable',
|
|
'CurrentItem': 'Current item',
|
|
'PreviousItem': 'Previous item',
|
|
'NextItem': 'Next item',
|
|
'CountClause': 'Count binding',
|
|
'GroupingVariable': 'Grouping variable',
|
|
'VarDecl': 'Module variable'
|
|
};
|
|
|
|
var findCompletions = function(prefix, allIdentifiers) {
|
|
allIdentifiers.sort();
|
|
var startIdx = prefixBinarySearch(allIdentifiers, prefix);
|
|
var matches = [];
|
|
for (var i = startIdx; i < allIdentifiers.length && allIdentifiers[i].indexOf(prefix) === 0; i++) {
|
|
matches.push(allIdentifiers[i]);
|
|
}
|
|
return matches;
|
|
};
|
|
|
|
|
|
var completePrefix = function(identifier, pos, sctx){
|
|
var idx = identifier.indexOf(':');
|
|
if(idx === -1) {
|
|
var prefixes = [];
|
|
var namespaces = sctx.getNamespaces();
|
|
Object.keys(namespaces).forEach(function(key){
|
|
if(namespaces[key].type === 'module' || key === 'http://www.w3.org/2005/xquery-local-functions') {
|
|
prefixes.push(namespaces[key].prefixes[0]);
|
|
}
|
|
});
|
|
var matches = findCompletions(identifier, prefixes);
|
|
var match = function(name) {
|
|
return {
|
|
name: name + ':',
|
|
value: name + ':',
|
|
meta: 'prefix'
|
|
};
|
|
};
|
|
return matches.map(match);
|
|
} else {
|
|
return [];
|
|
}
|
|
};
|
|
|
|
var completeFunction = function(identifier, pos, sctx){
|
|
var names = [];
|
|
var snippets = {};
|
|
var functions = sctx.getFunctions();
|
|
var uri = '';
|
|
var prefix = '';
|
|
var name = identifier;
|
|
var idx = identifier.indexOf(':');
|
|
var defaultNamespace = false;
|
|
if(idx !== -1){
|
|
prefix = identifier.substring(0, idx);
|
|
name = identifier.substring(idx + 1);
|
|
var ns = sctx.getNamespaceByPrefix(prefix);
|
|
if(ns){
|
|
uri = sctx.getNamespaceByPrefix(prefix).uri;
|
|
}
|
|
} else {
|
|
defaultNamespace = true;
|
|
uri = sctx.root.defaultFunctionNamespace;
|
|
}
|
|
Object.keys(functions).forEach(function(key){
|
|
var fn = functions[key];
|
|
var ns = key.substring(0, key.indexOf('#'));
|
|
var name = key.substring(key.indexOf('#') + 1);
|
|
name = name.substring(0, name.indexOf('#'));
|
|
if(ns !== uri) {
|
|
return;
|
|
}
|
|
if(!defaultNamespace){
|
|
name = sctx.getNamespaces()[ns].prefixes[0] + ':' + name;
|
|
}
|
|
name += '(';
|
|
var snippet = name;
|
|
snippet += fn.params.map(function(param, index){
|
|
return '${' + (index + 1) + ':\\' + param.split(' ')[0] + '}';
|
|
}).join(', ');
|
|
name += fn.params.join(', ');
|
|
name += ')';
|
|
snippet += ')';
|
|
names.push(name);
|
|
snippets[name] = snippet;
|
|
});
|
|
var matches = findCompletions(identifier, names);
|
|
var match = function(name) {
|
|
return {
|
|
name: name,
|
|
value: name,
|
|
meta: 'function',
|
|
priority: 4,
|
|
identifierRegex: nameCharRegExp,
|
|
snippet: snippets[name]
|
|
};
|
|
};
|
|
return matches.map(match);
|
|
};
|
|
|
|
var completeVariable = function(identifier, pos, sctx){
|
|
var uri = '';
|
|
var prefix = '';
|
|
var idx = identifier.indexOf(':');
|
|
if(idx !== -1){
|
|
prefix = identifier.substring(0, idx);
|
|
uri = sctx.getNamespaceByPrefix(prefix).uri;
|
|
}
|
|
var decls = sctx.getVariables();
|
|
var names = [];
|
|
var types = {};
|
|
Object.keys(decls).forEach(function(key){
|
|
var i = key.indexOf('#');
|
|
var ns = key.substring(0, i);
|
|
var name = key.substring(i+1);
|
|
if(ns !== ''){
|
|
names.push(sctx.getPrefixesByNamespace(ns)[0] + ':' + name);
|
|
types[sctx.getPrefixesByNamespace(ns)[0] + ':' + name] = decls[key].type;
|
|
} else {
|
|
names.push(name);
|
|
types[name] = decls[key].type;
|
|
}
|
|
});
|
|
|
|
var matches = findCompletions(identifier, names);
|
|
var match = function(name) {
|
|
return {
|
|
name: '$' + name,
|
|
value: '$' + name,
|
|
meta: varDeclLabels[types[name]],
|
|
priority: 4,
|
|
identifierRegex: varCharRegExp
|
|
};
|
|
};
|
|
return matches.map(match);
|
|
};
|
|
|
|
var completeExpr = function(line, pos, sctx){
|
|
var identifier = retrievePrecedingIdentifier(line, pos.col, nameCharRegExp);
|
|
var before = line.substring(0, pos.col - (identifier.length === 0 ? 0 : identifier.length));
|
|
var isVar = before[before.length - 1] === '$';
|
|
if(isVar) {
|
|
return completeVariable(identifier, pos, sctx);
|
|
} else if(identifier !== '') {
|
|
return completeFunction(identifier, pos, sctx).concat(completePrefix(identifier, pos, sctx));
|
|
} else {
|
|
return completeVariable(identifier, pos, sctx).concat(completeFunction(identifier, pos, sctx)).concat(completePrefix(identifier, pos, sctx));
|
|
}
|
|
};
|
|
|
|
var completeModuleUri = function(line, pos, sctx){
|
|
var identifier = retrievePrecedingIdentifier(line, pos.col, uriRegex);
|
|
var matches = findCompletions(identifier, sctx.getAvailableModuleNamespaces());
|
|
var match = function(uri) {
|
|
return {
|
|
name: uri,
|
|
value: uri,
|
|
meta: 'module',
|
|
priority: 4,
|
|
identifierRegex: uriRegex
|
|
};
|
|
};
|
|
return matches.map(match);
|
|
};
|
|
|
|
exports.complete = function(source, ast, rootSctx, pos){
|
|
var line = source.split('\n')[pos.line];
|
|
var node = TreeOps.findNode(ast, pos);
|
|
var sctx = TreeOps.findNode(rootSctx, pos);
|
|
sctx = sctx ? sctx : rootSctx;
|
|
if(node && node.name === 'URILiteral' && node.getParent && node.getParent.name === 'ModuleImport'){
|
|
return completeModuleUri(line, pos, sctx);
|
|
} else {
|
|
return completeExpr(line, pos, sctx);
|
|
}
|
|
};
|
|
|
|
},{"../tree_ops":"/node_modules/xqlint/lib/tree_ops.js"}],"/node_modules/xqlint/lib/formatter/style_checker.js":[function(_dereq_,module,exports){
|
|
exports.StyleChecker = function (ast, source) {
|
|
'use strict';
|
|
|
|
var tab = ' ';
|
|
var markers = [];
|
|
|
|
this.getMarkers = function(){
|
|
return markers;
|
|
};
|
|
|
|
this.WS = function(node) {
|
|
var lines = node.value.split('\n');
|
|
lines.forEach(function(line, index){
|
|
var isFirst = index === 0;
|
|
var isLast = index === (lines.length - 1);
|
|
|
|
if(/\r$/.test(line)) {
|
|
markers.push({
|
|
pos: {
|
|
sl: node.pos.sl + index,
|
|
el: node.pos.sl + index,
|
|
sc: line.length - 1,
|
|
ec: line.length
|
|
},
|
|
type: 'warning',
|
|
level: 'warning',
|
|
message: '[SW01] Detected CRLF'
|
|
});
|
|
}
|
|
|
|
var match = line.match(/\t+/);
|
|
if(match !== null){
|
|
markers.push({
|
|
pos: {
|
|
sl: node.pos.sl + index,
|
|
el: node.pos.sl + index,
|
|
sc: match.index,
|
|
ec: match.index + match[0].length
|
|
},
|
|
type: 'warning',
|
|
level: 'warning',
|
|
message: '[SW02] Tabs detected'
|
|
});
|
|
}
|
|
|
|
if((!isFirst) && isLast){
|
|
match = line.match(/^\ +/);
|
|
if(match !== null) {
|
|
var mod = match[0].length % tab.length;
|
|
if(mod !== 0) {
|
|
markers.push({
|
|
pos: {
|
|
sl: node.pos.sl + index,
|
|
el: node.pos.sl + index,
|
|
sc: match.index,
|
|
ec: match.index + match[0].length
|
|
},
|
|
type: 'warning',
|
|
level: 'warning',
|
|
message: '[SW03] Unexcepted indentation of ' + match[0].length
|
|
});
|
|
}
|
|
}
|
|
}
|
|
});
|
|
return true;
|
|
};
|
|
|
|
this.visit = function (node, index) {
|
|
var name = node.name;
|
|
var skip = false;
|
|
|
|
if (typeof this[name] === 'function') {
|
|
skip = this[name](node, index) === true;
|
|
}
|
|
|
|
if (!skip) {
|
|
this.visitChildren(node);
|
|
}
|
|
};
|
|
|
|
this.visitChildren = function (node, handler) {
|
|
for (var i = 0; i < node.children.length; i++) {
|
|
var child = node.children[i];
|
|
if (handler !== undefined && typeof handler[child.name] === 'function') {
|
|
handler[child.name](child);
|
|
} else {
|
|
this.visit(child);
|
|
}
|
|
}
|
|
};
|
|
|
|
source.split('\n').forEach(function(line, index){
|
|
var match = line.match(/\ +$/);
|
|
if(match){
|
|
markers.push({
|
|
pos: {
|
|
sl: index,
|
|
el: index,
|
|
sc: match.index,
|
|
ec: match.index + match[0].length
|
|
},
|
|
type: 'warning',
|
|
level: 'warning',
|
|
message: '[SW04] Trailing whitespace'
|
|
});
|
|
}
|
|
});
|
|
this.visit(ast);
|
|
};
|
|
},{}],"/node_modules/xqlint/lib/lexers/JSONiqTokenizer.js":[function(_dereq_,module,exports){
|
|
var JSONiqTokenizer = exports.JSONiqTokenizer = function JSONiqTokenizer(string, parsingEventHandler)
|
|
{
|
|
init(string, parsingEventHandler);
|
|
var self = this;
|
|
|
|
this.ParseException = function(b, e, s, o, x)
|
|
{
|
|
var
|
|
begin = b,
|
|
end = e,
|
|
state = s,
|
|
offending = o,
|
|
expected = x;
|
|
|
|
this.getBegin = function() {return begin;};
|
|
this.getEnd = function() {return end;};
|
|
this.getState = function() {return state;};
|
|
this.getExpected = function() {return expected;};
|
|
this.getOffending = function() {return offending;};
|
|
|
|
this.getMessage = function()
|
|
{
|
|
return offending < 0 ? "lexical analysis failed" : "syntax error";
|
|
};
|
|
};
|
|
|
|
function init(string, parsingEventHandler)
|
|
{
|
|
eventHandler = parsingEventHandler;
|
|
input = string;
|
|
size = string.length;
|
|
reset(0, 0, 0);
|
|
}
|
|
|
|
this.getInput = function()
|
|
{
|
|
return input;
|
|
};
|
|
|
|
function reset(l, b, e)
|
|
{
|
|
b0 = b; e0 = b;
|
|
l1 = l; b1 = b; e1 = e;
|
|
end = e;
|
|
eventHandler.reset(input);
|
|
}
|
|
|
|
this.getOffendingToken = function(e)
|
|
{
|
|
var o = e.getOffending();
|
|
return o >= 0 ? JSONiqTokenizer.TOKEN[o] : null;
|
|
};
|
|
|
|
this.getExpectedTokenSet = function(e)
|
|
{
|
|
var expected;
|
|
if (e.getExpected() < 0)
|
|
{
|
|
expected = JSONiqTokenizer.getTokenSet(- e.getState());
|
|
}
|
|
else
|
|
{
|
|
expected = [JSONiqTokenizer.TOKEN[e.getExpected()]];
|
|
}
|
|
return expected;
|
|
};
|
|
|
|
this.getErrorMessage = function(e)
|
|
{
|
|
var tokenSet = this.getExpectedTokenSet(e);
|
|
var found = this.getOffendingToken(e);
|
|
var prefix = input.substring(0, e.getBegin());
|
|
var lines = prefix.split("\n");
|
|
var line = lines.length;
|
|
var column = lines[line - 1].length + 1;
|
|
var size = e.getEnd() - e.getBegin();
|
|
return e.getMessage()
|
|
+ (found == null ? "" : ", found " + found)
|
|
+ "\nwhile expecting "
|
|
+ (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
|
|
+ "\n"
|
|
+ (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
|
|
+ "at line " + line + ", column " + column + ":\n..."
|
|
+ input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
|
|
+ "...";
|
|
};
|
|
|
|
this.parse_start = function()
|
|
{
|
|
eventHandler.startNonterminal("start", e0);
|
|
lookahead1W(14); // ModuleDecl | Annotation | OptionDecl | Operator | Variable | Tag | AttrTest |
|
|
switch (l1)
|
|
{
|
|
case 58: // '<![CDATA['
|
|
shift(58); // '<![CDATA['
|
|
break;
|
|
case 57: // '<!--'
|
|
shift(57); // '<!--'
|
|
break;
|
|
case 59: // '<?'
|
|
shift(59); // '<?'
|
|
break;
|
|
case 43: // '(#'
|
|
shift(43); // '(#'
|
|
break;
|
|
case 45: // '(:~'
|
|
shift(45); // '(:~'
|
|
break;
|
|
case 44: // '(:'
|
|
shift(44); // '(:'
|
|
break;
|
|
case 37: // '"'
|
|
shift(37); // '"'
|
|
break;
|
|
case 41: // "'"
|
|
shift(41); // "'"
|
|
break;
|
|
case 277: // '}'
|
|
shift(277); // '}'
|
|
break;
|
|
case 274: // '{'
|
|
shift(274); // '{'
|
|
break;
|
|
case 42: // '('
|
|
shift(42); // '('
|
|
break;
|
|
case 46: // ')'
|
|
shift(46); // ')'
|
|
break;
|
|
case 52: // '/'
|
|
shift(52); // '/'
|
|
break;
|
|
case 65: // '['
|
|
shift(65); // '['
|
|
break;
|
|
case 66: // ']'
|
|
shift(66); // ']'
|
|
break;
|
|
case 49: // ','
|
|
shift(49); // ','
|
|
break;
|
|
case 51: // '.'
|
|
shift(51); // '.'
|
|
break;
|
|
case 56: // ';'
|
|
shift(56); // ';'
|
|
break;
|
|
case 54: // ':'
|
|
shift(54); // ':'
|
|
break;
|
|
case 36: // '!'
|
|
shift(36); // '!'
|
|
break;
|
|
case 276: // '|'
|
|
shift(276); // '|'
|
|
break;
|
|
case 40: // '$$'
|
|
shift(40); // '$$'
|
|
break;
|
|
case 5: // Annotation
|
|
shift(5); // Annotation
|
|
break;
|
|
case 4: // ModuleDecl
|
|
shift(4); // ModuleDecl
|
|
break;
|
|
case 6: // OptionDecl
|
|
shift(6); // OptionDecl
|
|
break;
|
|
case 15: // AttrTest
|
|
shift(15); // AttrTest
|
|
break;
|
|
case 16: // Wildcard
|
|
shift(16); // Wildcard
|
|
break;
|
|
case 18: // IntegerLiteral
|
|
shift(18); // IntegerLiteral
|
|
break;
|
|
case 19: // DecimalLiteral
|
|
shift(19); // DecimalLiteral
|
|
break;
|
|
case 20: // DoubleLiteral
|
|
shift(20); // DoubleLiteral
|
|
break;
|
|
case 8: // Variable
|
|
shift(8); // Variable
|
|
break;
|
|
case 9: // Tag
|
|
shift(9); // Tag
|
|
break;
|
|
case 7: // Operator
|
|
shift(7); // Operator
|
|
break;
|
|
case 35: // EOF
|
|
shift(35); // EOF
|
|
break;
|
|
default:
|
|
parse_EQName();
|
|
}
|
|
eventHandler.endNonterminal("start", e0);
|
|
};
|
|
|
|
this.parse_StartTag = function()
|
|
{
|
|
eventHandler.startNonterminal("StartTag", e0);
|
|
lookahead1W(8); // QName | S^WS | EOF | '"' | "'" | '/>' | '=' | '>'
|
|
switch (l1)
|
|
{
|
|
case 61: // '>'
|
|
shift(61); // '>'
|
|
break;
|
|
case 53: // '/>'
|
|
shift(53); // '/>'
|
|
break;
|
|
case 29: // QName
|
|
shift(29); // QName
|
|
break;
|
|
case 60: // '='
|
|
shift(60); // '='
|
|
break;
|
|
case 37: // '"'
|
|
shift(37); // '"'
|
|
break;
|
|
case 41: // "'"
|
|
shift(41); // "'"
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("StartTag", e0);
|
|
};
|
|
|
|
this.parse_TagContent = function()
|
|
{
|
|
eventHandler.startNonterminal("TagContent", e0);
|
|
lookahead1(11); // Tag | EndTag | PredefinedEntityRef | ElementContentChar | CharRef | EOF |
|
|
switch (l1)
|
|
{
|
|
case 25: // ElementContentChar
|
|
shift(25); // ElementContentChar
|
|
break;
|
|
case 9: // Tag
|
|
shift(9); // Tag
|
|
break;
|
|
case 10: // EndTag
|
|
shift(10); // EndTag
|
|
break;
|
|
case 58: // '<![CDATA['
|
|
shift(58); // '<![CDATA['
|
|
break;
|
|
case 57: // '<!--'
|
|
shift(57); // '<!--'
|
|
break;
|
|
case 21: // PredefinedEntityRef
|
|
shift(21); // PredefinedEntityRef
|
|
break;
|
|
case 31: // CharRef
|
|
shift(31); // CharRef
|
|
break;
|
|
case 275: // '{{'
|
|
shift(275); // '{{'
|
|
break;
|
|
case 278: // '}}'
|
|
shift(278); // '}}'
|
|
break;
|
|
case 274: // '{'
|
|
shift(274); // '{'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("TagContent", e0);
|
|
};
|
|
|
|
this.parse_AposAttr = function()
|
|
{
|
|
eventHandler.startNonterminal("AposAttr", e0);
|
|
lookahead1(10); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | EOF | "'" |
|
|
switch (l1)
|
|
{
|
|
case 23: // EscapeApos
|
|
shift(23); // EscapeApos
|
|
break;
|
|
case 27: // AposAttrContentChar
|
|
shift(27); // AposAttrContentChar
|
|
break;
|
|
case 21: // PredefinedEntityRef
|
|
shift(21); // PredefinedEntityRef
|
|
break;
|
|
case 31: // CharRef
|
|
shift(31); // CharRef
|
|
break;
|
|
case 275: // '{{'
|
|
shift(275); // '{{'
|
|
break;
|
|
case 278: // '}}'
|
|
shift(278); // '}}'
|
|
break;
|
|
case 274: // '{'
|
|
shift(274); // '{'
|
|
break;
|
|
case 41: // "'"
|
|
shift(41); // "'"
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("AposAttr", e0);
|
|
};
|
|
|
|
this.parse_QuotAttr = function()
|
|
{
|
|
eventHandler.startNonterminal("QuotAttr", e0);
|
|
lookahead1(9); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | EOF | '"' |
|
|
switch (l1)
|
|
{
|
|
case 22: // EscapeQuot
|
|
shift(22); // EscapeQuot
|
|
break;
|
|
case 26: // QuotAttrContentChar
|
|
shift(26); // QuotAttrContentChar
|
|
break;
|
|
case 21: // PredefinedEntityRef
|
|
shift(21); // PredefinedEntityRef
|
|
break;
|
|
case 31: // CharRef
|
|
shift(31); // CharRef
|
|
break;
|
|
case 275: // '{{'
|
|
shift(275); // '{{'
|
|
break;
|
|
case 278: // '}}'
|
|
shift(278); // '}}'
|
|
break;
|
|
case 274: // '{'
|
|
shift(274); // '{'
|
|
break;
|
|
case 37: // '"'
|
|
shift(37); // '"'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("QuotAttr", e0);
|
|
};
|
|
|
|
this.parse_CData = function()
|
|
{
|
|
eventHandler.startNonterminal("CData", e0);
|
|
lookahead1(1); // CDataSectionContents | EOF | ']]>'
|
|
switch (l1)
|
|
{
|
|
case 14: // CDataSectionContents
|
|
shift(14); // CDataSectionContents
|
|
break;
|
|
case 67: // ']]>'
|
|
shift(67); // ']]>'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("CData", e0);
|
|
};
|
|
|
|
this.parse_XMLComment = function()
|
|
{
|
|
eventHandler.startNonterminal("XMLComment", e0);
|
|
lookahead1(0); // DirCommentContents | EOF | '-->'
|
|
switch (l1)
|
|
{
|
|
case 12: // DirCommentContents
|
|
shift(12); // DirCommentContents
|
|
break;
|
|
case 50: // '-->'
|
|
shift(50); // '-->'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("XMLComment", e0);
|
|
};
|
|
|
|
this.parse_PI = function()
|
|
{
|
|
eventHandler.startNonterminal("PI", e0);
|
|
lookahead1(3); // DirPIContents | EOF | '?' | '?>'
|
|
switch (l1)
|
|
{
|
|
case 13: // DirPIContents
|
|
shift(13); // DirPIContents
|
|
break;
|
|
case 62: // '?'
|
|
shift(62); // '?'
|
|
break;
|
|
case 63: // '?>'
|
|
shift(63); // '?>'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("PI", e0);
|
|
};
|
|
|
|
this.parse_Pragma = function()
|
|
{
|
|
eventHandler.startNonterminal("Pragma", e0);
|
|
lookahead1(2); // PragmaContents | EOF | '#' | '#)'
|
|
switch (l1)
|
|
{
|
|
case 11: // PragmaContents
|
|
shift(11); // PragmaContents
|
|
break;
|
|
case 38: // '#'
|
|
shift(38); // '#'
|
|
break;
|
|
case 39: // '#)'
|
|
shift(39); // '#)'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("Pragma", e0);
|
|
};
|
|
|
|
this.parse_Comment = function()
|
|
{
|
|
eventHandler.startNonterminal("Comment", e0);
|
|
lookahead1(4); // CommentContents | EOF | '(:' | ':)'
|
|
switch (l1)
|
|
{
|
|
case 55: // ':)'
|
|
shift(55); // ':)'
|
|
break;
|
|
case 44: // '(:'
|
|
shift(44); // '(:'
|
|
break;
|
|
case 32: // CommentContents
|
|
shift(32); // CommentContents
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("Comment", e0);
|
|
};
|
|
|
|
this.parse_CommentDoc = function()
|
|
{
|
|
eventHandler.startNonterminal("CommentDoc", e0);
|
|
lookahead1(6); // DocTag | DocCommentContents | EOF | '(:' | ':)'
|
|
switch (l1)
|
|
{
|
|
case 33: // DocTag
|
|
shift(33); // DocTag
|
|
break;
|
|
case 34: // DocCommentContents
|
|
shift(34); // DocCommentContents
|
|
break;
|
|
case 55: // ':)'
|
|
shift(55); // ':)'
|
|
break;
|
|
case 44: // '(:'
|
|
shift(44); // '(:'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("CommentDoc", e0);
|
|
};
|
|
|
|
this.parse_QuotString = function()
|
|
{
|
|
eventHandler.startNonterminal("QuotString", e0);
|
|
lookahead1(5); // JSONChar | JSONCharRef | JSONPredefinedCharRef | EOF | '"'
|
|
switch (l1)
|
|
{
|
|
case 3: // JSONPredefinedCharRef
|
|
shift(3); // JSONPredefinedCharRef
|
|
break;
|
|
case 2: // JSONCharRef
|
|
shift(2); // JSONCharRef
|
|
break;
|
|
case 1: // JSONChar
|
|
shift(1); // JSONChar
|
|
break;
|
|
case 37: // '"'
|
|
shift(37); // '"'
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("QuotString", e0);
|
|
};
|
|
|
|
this.parse_AposString = function()
|
|
{
|
|
eventHandler.startNonterminal("AposString", e0);
|
|
lookahead1(7); // PredefinedEntityRef | EscapeApos | AposChar | CharRef | EOF | "'"
|
|
switch (l1)
|
|
{
|
|
case 21: // PredefinedEntityRef
|
|
shift(21); // PredefinedEntityRef
|
|
break;
|
|
case 31: // CharRef
|
|
shift(31); // CharRef
|
|
break;
|
|
case 23: // EscapeApos
|
|
shift(23); // EscapeApos
|
|
break;
|
|
case 24: // AposChar
|
|
shift(24); // AposChar
|
|
break;
|
|
case 41: // "'"
|
|
shift(41); // "'"
|
|
break;
|
|
default:
|
|
shift(35); // EOF
|
|
}
|
|
eventHandler.endNonterminal("AposString", e0);
|
|
};
|
|
|
|
this.parse_Prefix = function()
|
|
{
|
|
eventHandler.startNonterminal("Prefix", e0);
|
|
lookahead1W(13); // NCName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
whitespace();
|
|
parse_NCName();
|
|
eventHandler.endNonterminal("Prefix", e0);
|
|
};
|
|
|
|
this.parse__EQName = function()
|
|
{
|
|
eventHandler.startNonterminal("_EQName", e0);
|
|
lookahead1W(12); // EQName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
whitespace();
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("_EQName", e0);
|
|
};
|
|
|
|
function parse_EQName()
|
|
{
|
|
eventHandler.startNonterminal("EQName", e0);
|
|
switch (l1)
|
|
{
|
|
case 80: // 'attribute'
|
|
shift(80); // 'attribute'
|
|
break;
|
|
case 94: // 'comment'
|
|
shift(94); // 'comment'
|
|
break;
|
|
case 118: // 'document-node'
|
|
shift(118); // 'document-node'
|
|
break;
|
|
case 119: // 'element'
|
|
shift(119); // 'element'
|
|
break;
|
|
case 122: // 'empty-sequence'
|
|
shift(122); // 'empty-sequence'
|
|
break;
|
|
case 143: // 'function'
|
|
shift(143); // 'function'
|
|
break;
|
|
case 150: // 'if'
|
|
shift(150); // 'if'
|
|
break;
|
|
case 163: // 'item'
|
|
shift(163); // 'item'
|
|
break;
|
|
case 183: // 'namespace-node'
|
|
shift(183); // 'namespace-node'
|
|
break;
|
|
case 189: // 'node'
|
|
shift(189); // 'node'
|
|
break;
|
|
case 214: // 'processing-instruction'
|
|
shift(214); // 'processing-instruction'
|
|
break;
|
|
case 224: // 'schema-attribute'
|
|
shift(224); // 'schema-attribute'
|
|
break;
|
|
case 225: // 'schema-element'
|
|
shift(225); // 'schema-element'
|
|
break;
|
|
case 241: // 'switch'
|
|
shift(241); // 'switch'
|
|
break;
|
|
case 242: // 'text'
|
|
shift(242); // 'text'
|
|
break;
|
|
case 251: // 'typeswitch'
|
|
shift(251); // 'typeswitch'
|
|
break;
|
|
default:
|
|
parse_FunctionName();
|
|
}
|
|
eventHandler.endNonterminal("EQName", e0);
|
|
}
|
|
|
|
function parse_FunctionName()
|
|
{
|
|
eventHandler.startNonterminal("FunctionName", e0);
|
|
switch (l1)
|
|
{
|
|
case 17: // EQName^Token
|
|
shift(17); // EQName^Token
|
|
break;
|
|
case 68: // 'after'
|
|
shift(68); // 'after'
|
|
break;
|
|
case 71: // 'ancestor'
|
|
shift(71); // 'ancestor'
|
|
break;
|
|
case 72: // 'ancestor-or-self'
|
|
shift(72); // 'ancestor-or-self'
|
|
break;
|
|
case 73: // 'and'
|
|
shift(73); // 'and'
|
|
break;
|
|
case 77: // 'as'
|
|
shift(77); // 'as'
|
|
break;
|
|
case 78: // 'ascending'
|
|
shift(78); // 'ascending'
|
|
break;
|
|
case 82: // 'before'
|
|
shift(82); // 'before'
|
|
break;
|
|
case 86: // 'case'
|
|
shift(86); // 'case'
|
|
break;
|
|
case 87: // 'cast'
|
|
shift(87); // 'cast'
|
|
break;
|
|
case 88: // 'castable'
|
|
shift(88); // 'castable'
|
|
break;
|
|
case 91: // 'child'
|
|
shift(91); // 'child'
|
|
break;
|
|
case 92: // 'collation'
|
|
shift(92); // 'collation'
|
|
break;
|
|
case 101: // 'copy'
|
|
shift(101); // 'copy'
|
|
break;
|
|
case 103: // 'count'
|
|
shift(103); // 'count'
|
|
break;
|
|
case 106: // 'declare'
|
|
shift(106); // 'declare'
|
|
break;
|
|
case 107: // 'default'
|
|
shift(107); // 'default'
|
|
break;
|
|
case 108: // 'delete'
|
|
shift(108); // 'delete'
|
|
break;
|
|
case 109: // 'descendant'
|
|
shift(109); // 'descendant'
|
|
break;
|
|
case 110: // 'descendant-or-self'
|
|
shift(110); // 'descendant-or-self'
|
|
break;
|
|
case 111: // 'descending'
|
|
shift(111); // 'descending'
|
|
break;
|
|
case 116: // 'div'
|
|
shift(116); // 'div'
|
|
break;
|
|
case 117: // 'document'
|
|
shift(117); // 'document'
|
|
break;
|
|
case 120: // 'else'
|
|
shift(120); // 'else'
|
|
break;
|
|
case 121: // 'empty'
|
|
shift(121); // 'empty'
|
|
break;
|
|
case 124: // 'end'
|
|
shift(124); // 'end'
|
|
break;
|
|
case 126: // 'eq'
|
|
shift(126); // 'eq'
|
|
break;
|
|
case 127: // 'every'
|
|
shift(127); // 'every'
|
|
break;
|
|
case 129: // 'except'
|
|
shift(129); // 'except'
|
|
break;
|
|
case 132: // 'first'
|
|
shift(132); // 'first'
|
|
break;
|
|
case 133: // 'following'
|
|
shift(133); // 'following'
|
|
break;
|
|
case 134: // 'following-sibling'
|
|
shift(134); // 'following-sibling'
|
|
break;
|
|
case 135: // 'for'
|
|
shift(135); // 'for'
|
|
break;
|
|
case 144: // 'ge'
|
|
shift(144); // 'ge'
|
|
break;
|
|
case 146: // 'group'
|
|
shift(146); // 'group'
|
|
break;
|
|
case 148: // 'gt'
|
|
shift(148); // 'gt'
|
|
break;
|
|
case 149: // 'idiv'
|
|
shift(149); // 'idiv'
|
|
break;
|
|
case 151: // 'import'
|
|
shift(151); // 'import'
|
|
break;
|
|
case 157: // 'insert'
|
|
shift(157); // 'insert'
|
|
break;
|
|
case 158: // 'instance'
|
|
shift(158); // 'instance'
|
|
break;
|
|
case 160: // 'intersect'
|
|
shift(160); // 'intersect'
|
|
break;
|
|
case 161: // 'into'
|
|
shift(161); // 'into'
|
|
break;
|
|
case 162: // 'is'
|
|
shift(162); // 'is'
|
|
break;
|
|
case 168: // 'last'
|
|
shift(168); // 'last'
|
|
break;
|
|
case 170: // 'le'
|
|
shift(170); // 'le'
|
|
break;
|
|
case 172: // 'let'
|
|
shift(172); // 'let'
|
|
break;
|
|
case 176: // 'lt'
|
|
shift(176); // 'lt'
|
|
break;
|
|
case 178: // 'mod'
|
|
shift(178); // 'mod'
|
|
break;
|
|
case 179: // 'modify'
|
|
shift(179); // 'modify'
|
|
break;
|
|
case 180: // 'module'
|
|
shift(180); // 'module'
|
|
break;
|
|
case 182: // 'namespace'
|
|
shift(182); // 'namespace'
|
|
break;
|
|
case 184: // 'ne'
|
|
shift(184); // 'ne'
|
|
break;
|
|
case 196: // 'only'
|
|
shift(196); // 'only'
|
|
break;
|
|
case 198: // 'or'
|
|
shift(198); // 'or'
|
|
break;
|
|
case 199: // 'order'
|
|
shift(199); // 'order'
|
|
break;
|
|
case 200: // 'ordered'
|
|
shift(200); // 'ordered'
|
|
break;
|
|
case 204: // 'parent'
|
|
shift(204); // 'parent'
|
|
break;
|
|
case 210: // 'preceding'
|
|
shift(210); // 'preceding'
|
|
break;
|
|
case 211: // 'preceding-sibling'
|
|
shift(211); // 'preceding-sibling'
|
|
break;
|
|
case 216: // 'rename'
|
|
shift(216); // 'rename'
|
|
break;
|
|
case 217: // 'replace'
|
|
shift(217); // 'replace'
|
|
break;
|
|
case 218: // 'return'
|
|
shift(218); // 'return'
|
|
break;
|
|
case 222: // 'satisfies'
|
|
shift(222); // 'satisfies'
|
|
break;
|
|
case 227: // 'self'
|
|
shift(227); // 'self'
|
|
break;
|
|
case 233: // 'some'
|
|
shift(233); // 'some'
|
|
break;
|
|
case 234: // 'stable'
|
|
shift(234); // 'stable'
|
|
break;
|
|
case 235: // 'start'
|
|
shift(235); // 'start'
|
|
break;
|
|
case 246: // 'to'
|
|
shift(246); // 'to'
|
|
break;
|
|
case 247: // 'treat'
|
|
shift(247); // 'treat'
|
|
break;
|
|
case 248: // 'try'
|
|
shift(248); // 'try'
|
|
break;
|
|
case 252: // 'union'
|
|
shift(252); // 'union'
|
|
break;
|
|
case 254: // 'unordered'
|
|
shift(254); // 'unordered'
|
|
break;
|
|
case 258: // 'validate'
|
|
shift(258); // 'validate'
|
|
break;
|
|
case 264: // 'where'
|
|
shift(264); // 'where'
|
|
break;
|
|
case 268: // 'with'
|
|
shift(268); // 'with'
|
|
break;
|
|
case 272: // 'xquery'
|
|
shift(272); // 'xquery'
|
|
break;
|
|
case 70: // 'allowing'
|
|
shift(70); // 'allowing'
|
|
break;
|
|
case 79: // 'at'
|
|
shift(79); // 'at'
|
|
break;
|
|
case 81: // 'base-uri'
|
|
shift(81); // 'base-uri'
|
|
break;
|
|
case 83: // 'boundary-space'
|
|
shift(83); // 'boundary-space'
|
|
break;
|
|
case 84: // 'break'
|
|
shift(84); // 'break'
|
|
break;
|
|
case 89: // 'catch'
|
|
shift(89); // 'catch'
|
|
break;
|
|
case 96: // 'construction'
|
|
shift(96); // 'construction'
|
|
break;
|
|
case 99: // 'context'
|
|
shift(99); // 'context'
|
|
break;
|
|
case 100: // 'continue'
|
|
shift(100); // 'continue'
|
|
break;
|
|
case 102: // 'copy-namespaces'
|
|
shift(102); // 'copy-namespaces'
|
|
break;
|
|
case 104: // 'decimal-format'
|
|
shift(104); // 'decimal-format'
|
|
break;
|
|
case 123: // 'encoding'
|
|
shift(123); // 'encoding'
|
|
break;
|
|
case 130: // 'exit'
|
|
shift(130); // 'exit'
|
|
break;
|
|
case 131: // 'external'
|
|
shift(131); // 'external'
|
|
break;
|
|
case 139: // 'ft-option'
|
|
shift(139); // 'ft-option'
|
|
break;
|
|
case 152: // 'in'
|
|
shift(152); // 'in'
|
|
break;
|
|
case 153: // 'index'
|
|
shift(153); // 'index'
|
|
break;
|
|
case 159: // 'integrity'
|
|
shift(159); // 'integrity'
|
|
break;
|
|
case 169: // 'lax'
|
|
shift(169); // 'lax'
|
|
break;
|
|
case 190: // 'nodes'
|
|
shift(190); // 'nodes'
|
|
break;
|
|
case 197: // 'option'
|
|
shift(197); // 'option'
|
|
break;
|
|
case 201: // 'ordering'
|
|
shift(201); // 'ordering'
|
|
break;
|
|
case 220: // 'revalidation'
|
|
shift(220); // 'revalidation'
|
|
break;
|
|
case 223: // 'schema'
|
|
shift(223); // 'schema'
|
|
break;
|
|
case 226: // 'score'
|
|
shift(226); // 'score'
|
|
break;
|
|
case 232: // 'sliding'
|
|
shift(232); // 'sliding'
|
|
break;
|
|
case 238: // 'strict'
|
|
shift(238); // 'strict'
|
|
break;
|
|
case 249: // 'tumbling'
|
|
shift(249); // 'tumbling'
|
|
break;
|
|
case 250: // 'type'
|
|
shift(250); // 'type'
|
|
break;
|
|
case 255: // 'updating'
|
|
shift(255); // 'updating'
|
|
break;
|
|
case 259: // 'value'
|
|
shift(259); // 'value'
|
|
break;
|
|
case 260: // 'variable'
|
|
shift(260); // 'variable'
|
|
break;
|
|
case 261: // 'version'
|
|
shift(261); // 'version'
|
|
break;
|
|
case 265: // 'while'
|
|
shift(265); // 'while'
|
|
break;
|
|
case 95: // 'constraint'
|
|
shift(95); // 'constraint'
|
|
break;
|
|
case 174: // 'loop'
|
|
shift(174); // 'loop'
|
|
break;
|
|
default:
|
|
shift(219); // 'returning'
|
|
}
|
|
eventHandler.endNonterminal("FunctionName", e0);
|
|
}
|
|
|
|
function parse_NCName()
|
|
{
|
|
eventHandler.startNonterminal("NCName", e0);
|
|
switch (l1)
|
|
{
|
|
case 28: // NCName^Token
|
|
shift(28); // NCName^Token
|
|
break;
|
|
case 68: // 'after'
|
|
shift(68); // 'after'
|
|
break;
|
|
case 73: // 'and'
|
|
shift(73); // 'and'
|
|
break;
|
|
case 77: // 'as'
|
|
shift(77); // 'as'
|
|
break;
|
|
case 78: // 'ascending'
|
|
shift(78); // 'ascending'
|
|
break;
|
|
case 82: // 'before'
|
|
shift(82); // 'before'
|
|
break;
|
|
case 86: // 'case'
|
|
shift(86); // 'case'
|
|
break;
|
|
case 87: // 'cast'
|
|
shift(87); // 'cast'
|
|
break;
|
|
case 88: // 'castable'
|
|
shift(88); // 'castable'
|
|
break;
|
|
case 92: // 'collation'
|
|
shift(92); // 'collation'
|
|
break;
|
|
case 103: // 'count'
|
|
shift(103); // 'count'
|
|
break;
|
|
case 107: // 'default'
|
|
shift(107); // 'default'
|
|
break;
|
|
case 111: // 'descending'
|
|
shift(111); // 'descending'
|
|
break;
|
|
case 116: // 'div'
|
|
shift(116); // 'div'
|
|
break;
|
|
case 120: // 'else'
|
|
shift(120); // 'else'
|
|
break;
|
|
case 121: // 'empty'
|
|
shift(121); // 'empty'
|
|
break;
|
|
case 124: // 'end'
|
|
shift(124); // 'end'
|
|
break;
|
|
case 126: // 'eq'
|
|
shift(126); // 'eq'
|
|
break;
|
|
case 129: // 'except'
|
|
shift(129); // 'except'
|
|
break;
|
|
case 135: // 'for'
|
|
shift(135); // 'for'
|
|
break;
|
|
case 144: // 'ge'
|
|
shift(144); // 'ge'
|
|
break;
|
|
case 146: // 'group'
|
|
shift(146); // 'group'
|
|
break;
|
|
case 148: // 'gt'
|
|
shift(148); // 'gt'
|
|
break;
|
|
case 149: // 'idiv'
|
|
shift(149); // 'idiv'
|
|
break;
|
|
case 158: // 'instance'
|
|
shift(158); // 'instance'
|
|
break;
|
|
case 160: // 'intersect'
|
|
shift(160); // 'intersect'
|
|
break;
|
|
case 161: // 'into'
|
|
shift(161); // 'into'
|
|
break;
|
|
case 162: // 'is'
|
|
shift(162); // 'is'
|
|
break;
|
|
case 170: // 'le'
|
|
shift(170); // 'le'
|
|
break;
|
|
case 172: // 'let'
|
|
shift(172); // 'let'
|
|
break;
|
|
case 176: // 'lt'
|
|
shift(176); // 'lt'
|
|
break;
|
|
case 178: // 'mod'
|
|
shift(178); // 'mod'
|
|
break;
|
|
case 179: // 'modify'
|
|
shift(179); // 'modify'
|
|
break;
|
|
case 184: // 'ne'
|
|
shift(184); // 'ne'
|
|
break;
|
|
case 196: // 'only'
|
|
shift(196); // 'only'
|
|
break;
|
|
case 198: // 'or'
|
|
shift(198); // 'or'
|
|
break;
|
|
case 199: // 'order'
|
|
shift(199); // 'order'
|
|
break;
|
|
case 218: // 'return'
|
|
shift(218); // 'return'
|
|
break;
|
|
case 222: // 'satisfies'
|
|
shift(222); // 'satisfies'
|
|
break;
|
|
case 234: // 'stable'
|
|
shift(234); // 'stable'
|
|
break;
|
|
case 235: // 'start'
|
|
shift(235); // 'start'
|
|
break;
|
|
case 246: // 'to'
|
|
shift(246); // 'to'
|
|
break;
|
|
case 247: // 'treat'
|
|
shift(247); // 'treat'
|
|
break;
|
|
case 252: // 'union'
|
|
shift(252); // 'union'
|
|
break;
|
|
case 264: // 'where'
|
|
shift(264); // 'where'
|
|
break;
|
|
case 268: // 'with'
|
|
shift(268); // 'with'
|
|
break;
|
|
case 71: // 'ancestor'
|
|
shift(71); // 'ancestor'
|
|
break;
|
|
case 72: // 'ancestor-or-self'
|
|
shift(72); // 'ancestor-or-self'
|
|
break;
|
|
case 80: // 'attribute'
|
|
shift(80); // 'attribute'
|
|
break;
|
|
case 91: // 'child'
|
|
shift(91); // 'child'
|
|
break;
|
|
case 94: // 'comment'
|
|
shift(94); // 'comment'
|
|
break;
|
|
case 101: // 'copy'
|
|
shift(101); // 'copy'
|
|
break;
|
|
case 106: // 'declare'
|
|
shift(106); // 'declare'
|
|
break;
|
|
case 108: // 'delete'
|
|
shift(108); // 'delete'
|
|
break;
|
|
case 109: // 'descendant'
|
|
shift(109); // 'descendant'
|
|
break;
|
|
case 110: // 'descendant-or-self'
|
|
shift(110); // 'descendant-or-self'
|
|
break;
|
|
case 117: // 'document'
|
|
shift(117); // 'document'
|
|
break;
|
|
case 118: // 'document-node'
|
|
shift(118); // 'document-node'
|
|
break;
|
|
case 119: // 'element'
|
|
shift(119); // 'element'
|
|
break;
|
|
case 122: // 'empty-sequence'
|
|
shift(122); // 'empty-sequence'
|
|
break;
|
|
case 127: // 'every'
|
|
shift(127); // 'every'
|
|
break;
|
|
case 132: // 'first'
|
|
shift(132); // 'first'
|
|
break;
|
|
case 133: // 'following'
|
|
shift(133); // 'following'
|
|
break;
|
|
case 134: // 'following-sibling'
|
|
shift(134); // 'following-sibling'
|
|
break;
|
|
case 143: // 'function'
|
|
shift(143); // 'function'
|
|
break;
|
|
case 150: // 'if'
|
|
shift(150); // 'if'
|
|
break;
|
|
case 151: // 'import'
|
|
shift(151); // 'import'
|
|
break;
|
|
case 157: // 'insert'
|
|
shift(157); // 'insert'
|
|
break;
|
|
case 163: // 'item'
|
|
shift(163); // 'item'
|
|
break;
|
|
case 168: // 'last'
|
|
shift(168); // 'last'
|
|
break;
|
|
case 180: // 'module'
|
|
shift(180); // 'module'
|
|
break;
|
|
case 182: // 'namespace'
|
|
shift(182); // 'namespace'
|
|
break;
|
|
case 183: // 'namespace-node'
|
|
shift(183); // 'namespace-node'
|
|
break;
|
|
case 189: // 'node'
|
|
shift(189); // 'node'
|
|
break;
|
|
case 200: // 'ordered'
|
|
shift(200); // 'ordered'
|
|
break;
|
|
case 204: // 'parent'
|
|
shift(204); // 'parent'
|
|
break;
|
|
case 210: // 'preceding'
|
|
shift(210); // 'preceding'
|
|
break;
|
|
case 211: // 'preceding-sibling'
|
|
shift(211); // 'preceding-sibling'
|
|
break;
|
|
case 214: // 'processing-instruction'
|
|
shift(214); // 'processing-instruction'
|
|
break;
|
|
case 216: // 'rename'
|
|
shift(216); // 'rename'
|
|
break;
|
|
case 217: // 'replace'
|
|
shift(217); // 'replace'
|
|
break;
|
|
case 224: // 'schema-attribute'
|
|
shift(224); // 'schema-attribute'
|
|
break;
|
|
case 225: // 'schema-element'
|
|
shift(225); // 'schema-element'
|
|
break;
|
|
case 227: // 'self'
|
|
shift(227); // 'self'
|
|
break;
|
|
case 233: // 'some'
|
|
shift(233); // 'some'
|
|
break;
|
|
case 241: // 'switch'
|
|
shift(241); // 'switch'
|
|
break;
|
|
case 242: // 'text'
|
|
shift(242); // 'text'
|
|
break;
|
|
case 248: // 'try'
|
|
shift(248); // 'try'
|
|
break;
|
|
case 251: // 'typeswitch'
|
|
shift(251); // 'typeswitch'
|
|
break;
|
|
case 254: // 'unordered'
|
|
shift(254); // 'unordered'
|
|
break;
|
|
case 258: // 'validate'
|
|
shift(258); // 'validate'
|
|
break;
|
|
case 260: // 'variable'
|
|
shift(260); // 'variable'
|
|
break;
|
|
case 272: // 'xquery'
|
|
shift(272); // 'xquery'
|
|
break;
|
|
case 70: // 'allowing'
|
|
shift(70); // 'allowing'
|
|
break;
|
|
case 79: // 'at'
|
|
shift(79); // 'at'
|
|
break;
|
|
case 81: // 'base-uri'
|
|
shift(81); // 'base-uri'
|
|
break;
|
|
case 83: // 'boundary-space'
|
|
shift(83); // 'boundary-space'
|
|
break;
|
|
case 84: // 'break'
|
|
shift(84); // 'break'
|
|
break;
|
|
case 89: // 'catch'
|
|
shift(89); // 'catch'
|
|
break;
|
|
case 96: // 'construction'
|
|
shift(96); // 'construction'
|
|
break;
|
|
case 99: // 'context'
|
|
shift(99); // 'context'
|
|
break;
|
|
case 100: // 'continue'
|
|
shift(100); // 'continue'
|
|
break;
|
|
case 102: // 'copy-namespaces'
|
|
shift(102); // 'copy-namespaces'
|
|
break;
|
|
case 104: // 'decimal-format'
|
|
shift(104); // 'decimal-format'
|
|
break;
|
|
case 123: // 'encoding'
|
|
shift(123); // 'encoding'
|
|
break;
|
|
case 130: // 'exit'
|
|
shift(130); // 'exit'
|
|
break;
|
|
case 131: // 'external'
|
|
shift(131); // 'external'
|
|
break;
|
|
case 139: // 'ft-option'
|
|
shift(139); // 'ft-option'
|
|
break;
|
|
case 152: // 'in'
|
|
shift(152); // 'in'
|
|
break;
|
|
case 153: // 'index'
|
|
shift(153); // 'index'
|
|
break;
|
|
case 159: // 'integrity'
|
|
shift(159); // 'integrity'
|
|
break;
|
|
case 169: // 'lax'
|
|
shift(169); // 'lax'
|
|
break;
|
|
case 190: // 'nodes'
|
|
shift(190); // 'nodes'
|
|
break;
|
|
case 197: // 'option'
|
|
shift(197); // 'option'
|
|
break;
|
|
case 201: // 'ordering'
|
|
shift(201); // 'ordering'
|
|
break;
|
|
case 220: // 'revalidation'
|
|
shift(220); // 'revalidation'
|
|
break;
|
|
case 223: // 'schema'
|
|
shift(223); // 'schema'
|
|
break;
|
|
case 226: // 'score'
|
|
shift(226); // 'score'
|
|
break;
|
|
case 232: // 'sliding'
|
|
shift(232); // 'sliding'
|
|
break;
|
|
case 238: // 'strict'
|
|
shift(238); // 'strict'
|
|
break;
|
|
case 249: // 'tumbling'
|
|
shift(249); // 'tumbling'
|
|
break;
|
|
case 250: // 'type'
|
|
shift(250); // 'type'
|
|
break;
|
|
case 255: // 'updating'
|
|
shift(255); // 'updating'
|
|
break;
|
|
case 259: // 'value'
|
|
shift(259); // 'value'
|
|
break;
|
|
case 261: // 'version'
|
|
shift(261); // 'version'
|
|
break;
|
|
case 265: // 'while'
|
|
shift(265); // 'while'
|
|
break;
|
|
case 95: // 'constraint'
|
|
shift(95); // 'constraint'
|
|
break;
|
|
case 174: // 'loop'
|
|
shift(174); // 'loop'
|
|
break;
|
|
default:
|
|
shift(219); // 'returning'
|
|
}
|
|
eventHandler.endNonterminal("NCName", e0);
|
|
}
|
|
|
|
function shift(t)
|
|
{
|
|
if (l1 == t)
|
|
{
|
|
whitespace();
|
|
eventHandler.terminal(JSONiqTokenizer.TOKEN[l1], b1, e1 > size ? size : e1);
|
|
b0 = b1; e0 = e1; l1 = 0;
|
|
}
|
|
else
|
|
{
|
|
error(b1, e1, 0, l1, t);
|
|
}
|
|
}
|
|
|
|
function whitespace()
|
|
{
|
|
if (e0 != b1)
|
|
{
|
|
b0 = e0;
|
|
e0 = b1;
|
|
eventHandler.whitespace(b0, e0);
|
|
}
|
|
}
|
|
|
|
function matchW(set)
|
|
{
|
|
var code;
|
|
for (;;)
|
|
{
|
|
code = match(set);
|
|
if (code != 30) // S^WS
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
return code;
|
|
}
|
|
|
|
function lookahead1W(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = matchW(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function lookahead1(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = match(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function error(b, e, s, l, t)
|
|
{
|
|
throw new self.ParseException(b, e, s, l, t);
|
|
}
|
|
|
|
var lk, b0, e0;
|
|
var l1, b1, e1;
|
|
var eventHandler;
|
|
|
|
var input;
|
|
var size;
|
|
var begin;
|
|
var end;
|
|
|
|
function match(tokenSetId)
|
|
{
|
|
var nonbmp = false;
|
|
begin = end;
|
|
var current = end;
|
|
var result = JSONiqTokenizer.INITIAL[tokenSetId];
|
|
var state = 0;
|
|
|
|
for (var code = result & 4095; code != 0; )
|
|
{
|
|
var charclass;
|
|
var c0 = current < size ? input.charCodeAt(current) : 0;
|
|
++current;
|
|
if (c0 < 0x80)
|
|
{
|
|
charclass = JSONiqTokenizer.MAP0[c0];
|
|
}
|
|
else if (c0 < 0xd800)
|
|
{
|
|
var c1 = c0 >> 4;
|
|
charclass = JSONiqTokenizer.MAP1[(c0 & 15) + JSONiqTokenizer.MAP1[(c1 & 31) + JSONiqTokenizer.MAP1[c1 >> 5]]];
|
|
}
|
|
else
|
|
{
|
|
if (c0 < 0xdc00)
|
|
{
|
|
var c1 = current < size ? input.charCodeAt(current) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000)
|
|
{
|
|
++current;
|
|
c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
|
|
nonbmp = true;
|
|
}
|
|
}
|
|
var lo = 0, hi = 5;
|
|
for (var m = 3; ; m = (hi + lo) >> 1)
|
|
{
|
|
if (JSONiqTokenizer.MAP2[m] > c0) hi = m - 1;
|
|
else if (JSONiqTokenizer.MAP2[6 + m] < c0) lo = m + 1;
|
|
else {charclass = JSONiqTokenizer.MAP2[12 + m]; break;}
|
|
if (lo > hi) {charclass = 0; break;}
|
|
}
|
|
}
|
|
|
|
state = code;
|
|
var i0 = (charclass << 12) + code - 1;
|
|
code = JSONiqTokenizer.TRANSITION[(i0 & 15) + JSONiqTokenizer.TRANSITION[i0 >> 4]];
|
|
|
|
if (code > 4095)
|
|
{
|
|
result = code;
|
|
code &= 4095;
|
|
end = current;
|
|
}
|
|
}
|
|
|
|
result >>= 12;
|
|
if (result == 0)
|
|
{
|
|
end = current - 1;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
return error(begin, end, state, -1, -1);
|
|
}
|
|
|
|
if (nonbmp)
|
|
{
|
|
for (var i = result >> 9; i > 0; --i)
|
|
{
|
|
--end;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
end -= result >> 9;
|
|
}
|
|
|
|
return (result & 511) - 1;
|
|
}
|
|
}
|
|
|
|
JSONiqTokenizer.getTokenSet = function(tokenSetId)
|
|
{
|
|
var set = [];
|
|
var s = tokenSetId < 0 ? - tokenSetId : INITIAL[tokenSetId] & 4095;
|
|
for (var i = 0; i < 279; i += 32)
|
|
{
|
|
var j = i;
|
|
var i0 = (i >> 5) * 2066 + s - 1;
|
|
var i1 = i0 >> 2;
|
|
var i2 = i1 >> 2;
|
|
var f = JSONiqTokenizer.EXPECTED[(i0 & 3) + JSONiqTokenizer.EXPECTED[(i1 & 3) + JSONiqTokenizer.EXPECTED[(i2 & 3) + JSONiqTokenizer.EXPECTED[i2 >> 2]]]];
|
|
for ( ; f != 0; f >>>= 1, ++j)
|
|
{
|
|
if ((f & 1) != 0)
|
|
{
|
|
set.push(JSONiqTokenizer.TOKEN[j]);
|
|
}
|
|
}
|
|
}
|
|
return set;
|
|
};
|
|
|
|
JSONiqTokenizer.MAP0 =
|
|
[ 67, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 37, 31, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 31, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 31, 62, 63, 64, 65, 37
|
|
];
|
|
|
|
JSONiqTokenizer.MAP1 =
|
|
[ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 347, 363, 379, 416, 416, 416, 408, 331, 323, 331, 323, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 433, 433, 433, 433, 433, 433, 433, 316, 331, 331, 331, 331, 331, 331, 331, 331, 394, 416, 416, 417, 415, 416, 416, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 330, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 67, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 37, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 37, 31, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 31, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 31, 62, 63, 64, 65, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 31, 31, 37, 37, 37, 37, 37, 37, 37, 66, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66
|
|
];
|
|
|
|
JSONiqTokenizer.MAP2 =
|
|
[ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 37, 31, 37, 31, 31, 37
|
|
];
|
|
|
|
JSONiqTokenizer.INITIAL =
|
|
[ 1, 2, 49155, 57348, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
|
];
|
|
|
|
JSONiqTokenizer.TRANSITION =
|
|
[ 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 17408, 19288, 17439, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 22126, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17672, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 19469, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 36919, 18234, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18419, 18432, 18304, 18448, 18485, 18523, 18553, 18583, 18599, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 18825, 18841, 18871, 18906, 18944, 18960, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19074, 36169, 17439, 36866, 17466, 36890, 36866, 22314, 19105, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 22126, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17672, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 19469, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 36919, 18234, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18419, 18432, 18304, 18448, 18485, 18523, 18553, 18583, 18599, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 18825, 18841, 18871, 18906, 18944, 18960, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22182, 19288, 19121, 36866, 17466, 18345, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19273, 19552, 19304, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19332, 17423, 19363, 36866, 17466, 17537, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 18614, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 19391, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 19427, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36154, 19288, 19457, 36866, 17466, 17740, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22780, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22375, 22197, 18469, 36866, 17466, 36890, 36866, 21991, 24018, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 21331, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 19485, 19501, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19537, 22390, 19568, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19596, 19611, 19457, 36866, 17466, 36890, 36866, 18246, 19627, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22242, 20553, 19457, 36866, 17466, 36890, 36866, 18648, 30477, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36472, 19288, 19457, 36866, 17466, 17809, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 21770, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 19643, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 19672, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 20538, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 17975, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22345, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19726, 19742, 21529, 24035, 23112, 26225, 23511, 27749, 27397, 24035, 34360, 24035, 24036, 23114, 35166, 23114, 23114, 19758, 23511, 35247, 23511, 23511, 28447, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 24254, 19821, 23511, 23511, 23511, 23511, 23512, 19441, 36539, 24035, 24035, 24035, 24035, 19846, 19869, 23114, 23114, 23114, 28618, 32187, 19892, 23511, 23511, 23511, 34585, 20402, 36647, 24035, 24035, 24036, 23114, 33757, 23114, 23114, 23029, 20271, 23511, 27070, 23511, 23511, 30562, 24035, 24035, 29274, 26576, 23114, 23114, 31118, 23036, 29695, 23511, 23511, 32431, 23634, 30821, 24035, 23110, 19913, 23114, 23467, 31261, 23261, 34299, 19932, 24035, 32609, 19965, 35389, 19984, 27689, 19830, 29391, 29337, 20041, 22643, 35619, 33728, 20062, 20121, 20166, 35100, 26145, 20211, 23008, 19876, 20208, 20227, 25670, 20132, 26578, 27685, 20141, 20243, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36094, 19288, 19457, 36866, 17466, 21724, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22735, 19552, 20287, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22750, 19288, 21529, 24035, 23112, 28056, 23511, 29483, 28756, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 20327, 23511, 23511, 23511, 23511, 31156, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 24254, 20371, 23511, 23511, 23511, 23511, 27443, 20395, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 29457, 29700, 23511, 23511, 23511, 23511, 33444, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 28350, 20421, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 20447, 20475, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 20523, 22257, 20569, 20783, 21715, 17603, 20699, 20837, 20614, 20630, 21149, 20670, 21405, 17486, 17509, 17525, 18373, 19179, 20695, 20716, 20732, 20755, 19194, 18042, 21641, 20592, 20779, 20598, 21412, 17470, 17591, 20896, 17468, 17619, 20799, 20700, 21031, 20744, 20699, 20828, 18075, 21259, 20581, 20853, 18048, 20868, 20884, 17756, 17784, 17800, 17825, 17854, 21171, 21200, 20931, 20947, 21378, 20955, 20971, 18086, 20645, 21002, 20986, 18178, 17960, 18012, 18381, 18064, 29176, 21044, 21438, 21018, 21122, 21393, 21060, 21844, 21094, 20654, 17493, 18150, 18166, 18214, 25967, 20763, 21799, 21110, 21830, 21138, 21246, 21301, 18336, 18361, 21165, 21187, 20812, 21216, 21232, 21287, 21317, 18553, 21347, 21363, 21428, 21454, 21271, 21483, 21499, 21515, 21575, 21467, 18712, 21591, 21633, 21078, 18189, 18198, 20679, 21657, 21701, 21074, 21687, 21740, 21756, 21786, 21815, 21860, 21876, 21892, 21946, 21962, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36457, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 36813, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 21981, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 22151, 22007, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 27898, 17884, 18890, 17906, 17928, 22042, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 22070, 22112, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 22142, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36109, 19288, 18469, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22167, 19288, 19457, 36866, 17466, 17768, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22227, 36487, 22273, 36866, 17466, 36890, 36866, 19316, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18749, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 22304, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 19580, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22330, 19089, 19457, 36866, 17466, 18721, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22765, 19347, 19457, 36866, 17466, 36890, 36866, 18114, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34541, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 22540, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29908, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22561, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 23837, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22584, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 27443, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 22839, 23511, 23511, 23511, 23511, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36442, 19288, 21605, 24035, 23112, 28137, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 31568, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22690, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 27584, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 22659, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22360, 19552, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22675, 22811, 19457, 36866, 17466, 36890, 36866, 19133, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 22827, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36139, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36064, 19288, 22865, 22881, 32031, 22897, 22913, 22956, 29939, 24035, 24035, 24035, 23003, 23114, 23114, 23114, 23024, 22420, 23511, 23511, 23511, 23052, 29116, 23073, 29268, 24035, 25563, 26915, 23106, 23131, 23114, 23114, 23159, 23181, 23197, 23248, 23511, 23511, 23282, 23305, 22493, 32364, 24035, 33472, 30138, 26325, 31770, 33508, 27345, 33667, 23114, 23321, 23473, 23351, 35793, 36576, 23511, 23375, 22500, 24145, 24035, 29197, 20192, 24533, 23440, 23114, 19017, 23459, 22839, 23489, 23510, 23511, 33563, 23528, 32076, 25389, 24035, 26576, 23561, 23583, 23114, 32683, 22516, 23622, 23655, 23511, 23634, 35456, 37144, 23110, 23683, 34153, 20499, 32513, 25824, 23705, 24035, 24035, 23111, 23114, 19874, 27078, 33263, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 20507, 32241, 20150, 31862, 27464, 35108, 23727, 23007, 35895, 34953, 26578, 27685, 20141, 24569, 31691, 19787, 33967, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36427, 19552, 21605, 24035, 23112, 32618, 23511, 29483, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 27027, 26576, 23114, 23114, 23114, 31471, 23756, 22468, 23511, 23511, 23511, 34687, 23772, 22493, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34564, 23788, 24035, 24035, 24035, 21559, 23828, 23114, 23114, 23114, 25086, 22839, 23853, 23511, 23511, 23511, 23876, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 31761, 23909, 23953, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36049, 19288, 21605, 30825, 23112, 23987, 23511, 24003, 31001, 27617, 24034, 24035, 24036, 24052, 24089, 23114, 23114, 22420, 24109, 24168, 23511, 23511, 29116, 24188, 27609, 20017, 29516, 24035, 26576, 24222, 19968, 23114, 24252, 33811, 22468, 24270, 33587, 23511, 24320, 27443, 22493, 24035, 24035, 24035, 24035, 24339, 23113, 23114, 23114, 23114, 28128, 28618, 29700, 23511, 23511, 23511, 28276, 34564, 20402, 24035, 24035, 32929, 24036, 23114, 23114, 23114, 24357, 23029, 22839, 23511, 23511, 23511, 24377, 25645, 24035, 34112, 24035, 26576, 23114, 26643, 23114, 32683, 22516, 23511, 25638, 23511, 23711, 24035, 24395, 27809, 23114, 24414, 20499, 24432, 30917, 23628, 24035, 30680, 23111, 23114, 30233, 27078, 25748, 24452, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 24475, 19829, 26577, 26597, 26154, 24519, 24556, 24596, 23007, 20046, 20132, 26578, 24634, 20141, 24569, 31691, 24679, 24727, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36412, 19288, 21605, 19943, 34861, 32618, 26027, 29483, 32016, 32050, 36233, 24776, 35574, 24801, 24819, 32671, 31289, 22420, 24868, 24886, 20087, 26849, 29116, 19803, 24035, 24035, 24035, 36228, 26576, 23114, 23114, 23114, 24981, 33811, 22468, 23511, 23511, 23511, 29028, 27443, 22493, 24923, 27965, 24035, 24035, 32797, 24946, 23443, 23114, 23114, 29636, 24997, 22849, 28252, 23511, 23511, 23511, 25042, 25110, 24035, 24035, 34085, 24036, 25133, 23114, 23114, 25152, 23029, 22839, 25169, 23511, 36764, 23511, 25645, 30403, 24035, 25186, 26576, 31806, 24093, 25212, 32683, 22516, 32713, 26245, 34293, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 24035, 32406, 23111, 23114, 28676, 30944, 27689, 25234, 24035, 23112, 19872, 37063, 23266, 24036, 23114, 30243, 20379, 26100, 29218, 20211, 30105, 25257, 25284, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 24834, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36034, 19288, 21671, 25314, 25072, 25330, 25346, 25362, 29939, 29951, 35288, 29984, 23812, 27216, 25405, 25424, 30456, 22584, 26292, 25461, 25480, 31592, 29116, 25516, 34963, 25545, 27007, 25579, 33937, 25614, 25661, 25686, 34872, 25702, 25718, 25734, 25769, 25795, 25811, 25840, 22493, 26533, 25856, 24035, 25876, 30763, 27481, 25909, 23114, 28987, 25936, 25954, 29700, 25983, 23511, 31412, 26043, 26063, 22568, 29241, 29592, 26116, 31216, 35383, 26170, 34783, 26194, 26221, 22839, 26241, 26261, 22477, 26283, 26308, 27306, 31035, 24655, 26576, 29854, 33386, 26341, 32683, 22516, 32153, 30926, 26361, 19996, 26381, 35463, 26397, 26424, 34646, 26478, 35605, 31386, 26494, 35567, 31964, 22940, 23689, 25218, 30309, 32289, 19830, 33605, 23112, 32109, 27733, 27084, 24496, 35886, 35221, 26525, 36602, 26549, 26558, 26574, 26594, 26613, 26629, 26666, 26700, 26578, 27685, 23740, 24285, 31691, 26733, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36397, 19552, 18991, 25887, 28117, 32618, 26776, 29483, 29939, 26802, 24035, 24035, 24036, 28664, 23114, 23114, 23114, 22420, 30297, 23511, 23511, 23511, 29116, 19803, 24035, 24035, 24035, 25559, 26576, 23114, 23114, 23114, 30525, 33811, 22468, 23511, 23511, 23511, 28725, 27443, 22493, 24035, 24035, 27249, 24035, 24035, 23113, 23114, 23114, 26827, 23114, 28618, 29700, 23511, 23511, 26845, 23511, 34564, 20402, 24035, 24035, 26979, 24036, 23114, 23114, 23114, 24974, 23029, 22839, 23511, 23511, 23511, 26865, 25645, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 32683, 22516, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 20499, 23511, 23261, 23628, 33305, 24035, 25598, 23114, 19874, 34253, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 26886, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 26931, 24569, 26439, 26947, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36019, 19288, 26995, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 27043, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 27061, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 29978, 24035, 24035, 23113, 23114, 33114, 23114, 23114, 30010, 29700, 23511, 35913, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 27155, 26576, 23114, 23114, 30447, 23036, 29695, 23511, 23511, 30935, 20099, 24152, 25529, 27100, 34461, 27121, 22625, 29156, 26009, 27137, 30422, 31903, 31655, 28870, 27171, 32439, 31731, 19830, 27232, 22612, 27265, 26786, 25494, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 20342, 27288, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 27322, 27339, 28020, 27361, 27382, 29939, 24035, 24035, 32581, 24036, 23114, 23114, 23114, 27425, 22420, 23511, 23511, 23511, 27442, 28306, 19803, 24035, 24035, 24035, 24035, 26710, 23114, 23114, 23114, 23114, 32261, 22468, 23511, 23511, 23511, 23511, 35719, 24694, 29510, 24035, 24035, 24035, 24035, 26717, 23114, 23114, 23114, 23114, 28618, 32217, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 27459, 23114, 23114, 23114, 36252, 23029, 20271, 23511, 23511, 23511, 28840, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 27480, 34483, 28401, 29761, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36382, 19288, 21605, 27497, 27517, 28504, 28898, 27569, 29939, 29401, 27600, 27323, 27633, 19025, 27662, 23114, 27705, 22420, 20483, 27721, 23511, 27765, 28306, 19803, 23540, 24035, 24610, 27781, 27805, 26650, 23114, 28573, 32990, 25920, 22468, 26870, 23511, 26684, 34262, 34737, 25057, 34622, 24035, 24035, 23971, 24206, 27825, 27847, 23114, 23114, 27865, 27885, 35766, 27914, 23511, 23511, 32766, 32844, 27934, 28795, 26909, 27955, 26092, 27988, 25445, 28005, 28036, 28052, 21965, 23511, 32196, 19897, 28072, 28102, 36534, 21541, 23801, 28153, 28180, 28197, 28221, 23036, 32695, 28251, 28268, 28292, 23667, 34825, 23930, 24580, 28322, 28344, 31627, 28366, 25996, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 35625, 33477, 33359, 27674, 28393, 33992, 24036, 23114, 30243, 19829, 28417, 28433, 28463, 23008, 19876, 20208, 23007, 20046, 20132, 28489, 28520, 20141, 24569, 31691, 19787, 28550, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 24035, 23112, 32618, 23511, 31507, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 24694, 28589, 24035, 24035, 24035, 24035, 28608, 23114, 23114, 23114, 23114, 28618, 20431, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36004, 19288, 28634, 31951, 28565, 28702, 28718, 28741, 32544, 20175, 28792, 32086, 20105, 28811, 29059, 29862, 28856, 22420, 28886, 30354, 23359, 28922, 28306, 28952, 23888, 26320, 36506, 24035, 29331, 28968, 36609, 23114, 29003, 31661, 27061, 30649, 27366, 23511, 29023, 27918, 24694, 24035, 24035, 23893, 33094, 30867, 23113, 23114, 23114, 29044, 34184, 30010, 29700, 23511, 23511, 29081, 29102, 34585, 20402, 27789, 24035, 24035, 24036, 23114, 29132, 23114, 23114, 23029, 20271, 23511, 29153, 23511, 23511, 30562, 30174, 24035, 24035, 27409, 25438, 23114, 23114, 29172, 36668, 31332, 23511, 23511, 29192, 30144, 24035, 23110, 30203, 23114, 23467, 31544, 23261, 23628, 24035, 22545, 23111, 23114, 29213, 27078, 27689, 29234, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 29257, 23008, 19876, 20208, 28768, 29290, 29320, 34776, 29353, 20141, 22435, 29378, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36367, 19288, 21605, 34616, 19006, 32618, 31497, 31507, 36216, 20184, 24035, 34393, 29424, 34668, 23114, 34900, 29447, 22420, 30360, 23511, 37089, 29473, 28306, 19803, 29499, 24398, 24035, 24035, 26576, 31799, 29532, 29550, 23114, 33811, 22468, 32298, 29571, 31184, 23511, 23512, 37127, 36628, 29589, 24035, 24135, 24035, 23113, 29608, 23114, 27831, 29634, 28618, 29652, 30037, 23511, 24172, 29671, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 29555, 29690, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 29719, 24035, 23110, 29738, 23114, 23467, 34035, 29756, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 29777, 34364, 28181, 30243, 29799, 31920, 27272, 27185, 23008, 31126, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29828, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35989, 19552, 19687, 35139, 28649, 29878, 29894, 29924, 29939, 23224, 23085, 31969, 24036, 35173, 24752, 24803, 23114, 22420, 31190, 30318, 24870, 23511, 28306, 29967, 23967, 24035, 24035, 24035, 26576, 30000, 23114, 23114, 23114, 33811, 22468, 30026, 23511, 23511, 23511, 23512, 26078, 24035, 24035, 24035, 30053, 37137, 30071, 23114, 23114, 33368, 25136, 28618, 30723, 23511, 23511, 37096, 31356, 34585, 20402, 30092, 30127, 30160, 24036, 35740, 30219, 24960, 30259, 23029, 20271, 34042, 30285, 30342, 30376, 23289, 30055, 30400, 30419, 30438, 32640, 33532, 33514, 30472, 18792, 26267, 24323, 23057, 30493, 23639, 20008, 30196, 33188, 30517, 20075, 23511, 30541, 23628, 30578, 33928, 28776, 30594, 19874, 30610, 30637, 19830, 30677, 27646, 19872, 25779, 23266, 23232, 35016, 30243, 30696, 29812, 30712, 30746, 27206, 30779, 30807, 23007, 33395, 20132, 26578, 27685, 31703, 22928, 31691, 19787, 31079, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36352, 19288, 23335, 30841, 26131, 30888, 30904, 30986, 29939, 24035, 24704, 31017, 20025, 23114, 26178, 31051, 31095, 22420, 23511, 22524, 31142, 31172, 28534, 31206, 35497, 25196, 24035, 28592, 24503, 23114, 31239, 31285, 23114, 31305, 31321, 31355, 31372, 31407, 23511, 30556, 24694, 24035, 27501, 19805, 24035, 24035, 23113, 23114, 31428, 24066, 23114, 28618, 29700, 23511, 31837, 18809, 23511, 34585, 31448, 24035, 24035, 24035, 23090, 23114, 23114, 23114, 23114, 31619, 35038, 23511, 23511, 23511, 23511, 33714, 24035, 33085, 24035, 29431, 23114, 31467, 23114, 23143, 31487, 23511, 31523, 23511, 35195, 36783, 24035, 30111, 23567, 23114, 23467, 31543, 31560, 23628, 24035, 24035, 23111, 23114, 19874, 30953, 31584, 34508, 24035, 31608, 26345, 37055, 23266, 31643, 31677, 31719, 31747, 31786, 31822, 26898, 23008, 19876, 31859, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 31878, 31936, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35974, 19288, 21605, 27972, 35663, 31985, 29655, 32001, 36715, 24785, 25893, 23545, 31912, 19853, 19916, 25938, 24540, 22420, 31843, 29674, 29573, 32735, 28936, 19803, 24035, 24035, 32047, 24035, 26576, 23114, 23114, 27544, 23114, 33811, 22468, 23511, 23511, 32161, 23511, 23512, 32066, 24035, 33313, 24035, 24035, 24035, 23113, 27426, 32102, 23114, 23114, 28618, 32125, 23511, 32144, 23511, 23511, 33569, 20402, 24035, 27045, 24035, 24036, 23114, 23114, 28328, 23114, 30076, 32177, 23511, 23511, 30384, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23595, 32212, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 22635, 25753, 32233, 32257, 32277, 19829, 26577, 26597, 20211, 23008, 19876, 32322, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 32352, 35285, 32380, 34196, 33016, 30661, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 32404, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 32422, 23511, 23511, 23511, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 30269, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 19949, 24035, 23111, 32455, 19874, 31269, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36337, 19552, 19209, 21617, 26509, 32475, 32491, 32529, 29939, 24035, 32578, 25241, 32597, 23114, 32634, 29007, 32656, 22420, 23511, 32729, 26365, 32751, 28306, 32788, 32882, 24035, 24035, 32813, 36727, 23114, 33182, 23114, 27553, 33235, 32829, 23511, 32706, 23511, 28906, 28377, 26962, 32881, 32904, 32898, 32920, 24035, 32953, 23114, 32977, 26408, 23114, 28164, 33006, 23511, 33039, 35774, 23511, 32306, 20402, 33076, 30872, 24035, 24036, 25408, 33110, 28979, 23114, 23029, 20271, 35835, 33130, 33054, 23511, 30562, 33148, 24035, 24035, 33167, 23114, 23114, 33775, 23036, 20459, 23511, 23511, 25464, 24646, 24035, 24035, 22446, 23114, 23114, 25627, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 31391, 33204, 33220, 33251, 33287, 26577, 26597, 20211, 33329, 19876, 33345, 23007, 20046, 20132, 26578, 27685, 28473, 22599, 31691, 33411, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35959, 19288, 21907, 27243, 29843, 32618, 33427, 31507, 29939, 33460, 34090, 24035, 24036, 33493, 24416, 33530, 23114, 22420, 33548, 24379, 33585, 23511, 28306, 19803, 33603, 24202, 24035, 24035, 25593, 33749, 28205, 23114, 23114, 32388, 22468, 33853, 33060, 23511, 23511, 31339, 33621, 24035, 24035, 34397, 24618, 30757, 33663, 23114, 23114, 33683, 35684, 28618, 26678, 23511, 23511, 32506, 33699, 34585, 20402, 24035, 32562, 26973, 24036, 23114, 23114, 33377, 33773, 23029, 20271, 23511, 23511, 30621, 23511, 23860, 24035, 33791, 21553, 26576, 36558, 23114, 33809, 23036, 32857, 26047, 23511, 33827, 23634, 24035, 24035, 23110, 23114, 23114, 31252, 23511, 33845, 23628, 24035, 24459, 23111, 23114, 33869, 27078, 30791, 29783, 24035, 24742, 19872, 33895, 23266, 26462, 19710, 33879, 33919, 26577, 26597, 24123, 24930, 21930, 20208, 30501, 33953, 25268, 20252, 33983, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36322, 19552, 23390, 33634, 35154, 34008, 34024, 34058, 35544, 34106, 34128, 26811, 33151, 34144, 34169, 34212, 23114, 34228, 34244, 34278, 34315, 23511, 34331, 34347, 34380, 34413, 24035, 24663, 26576, 34429, 34453, 34477, 29534, 33811, 22468, 34499, 34524, 34557, 25170, 34580, 35436, 23937, 34601, 24035, 24341, 26453, 23113, 34638, 34662, 23114, 24236, 28618, 34684, 34703, 34729, 23511, 35352, 34753, 34799, 24035, 34815, 32558, 34848, 34888, 35814, 34923, 23165, 29137, 23606, 30326, 30730, 34939, 33023, 30562, 36848, 34979, 24035, 24847, 34996, 23114, 23114, 35032, 29695, 35054, 23511, 23511, 35091, 33296, 35124, 24296, 28235, 24361, 36276, 32772, 35067, 35189, 27301, 30855, 24852, 22452, 35211, 35237, 35316, 25500, 35270, 23405, 24304, 35304, 29362, 24036, 23114, 35332, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 35368, 28823, 23920, 32336, 35405, 20141, 24569, 31691, 35421, 35479, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35944, 22795, 21605, 33647, 35877, 35513, 30962, 35529, 34073, 35557, 24035, 24035, 20405, 31107, 23114, 23114, 23114, 35590, 34713, 23511, 23511, 23511, 35641, 19803, 29408, 32937, 25298, 24035, 35657, 23115, 27849, 24760, 35679, 26205, 22468, 23511, 35700, 24907, 24901, 35075, 31893, 34980, 24035, 24035, 24035, 24035, 23113, 35009, 23114, 23114, 23114, 28618, 35716, 30970, 23511, 23511, 23511, 34585, 23215, 24035, 24035, 24035, 24036, 35735, 23114, 23114, 23114, 27105, 35756, 35790, 23511, 23511, 23511, 35254, 35446, 24035, 24035, 31223, 35809, 23114, 23114, 23036, 36825, 35830, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 31031, 20355, 19872, 33903, 23266, 24036, 23114, 28686, 19829, 26577, 26597, 20211, 23008, 23424, 20208, 24711, 31065, 24486, 26578, 27685, 20141, 19773, 35851, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36307, 19288, 21605, 35494, 19702, 32618, 33437, 31507, 29939, 25117, 24035, 27939, 24036, 27869, 23114, 26829, 23114, 22420, 23494, 23511, 33132, 23511, 28306, 19803, 24035, 34832, 24035, 24035, 26576, 23114, 25153, 23114, 23114, 33811, 22468, 23511, 23511, 35911, 23511, 23512, 24694, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 35929, 19288, 21605, 25860, 23112, 36185, 23511, 36201, 29939, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 22420, 23511, 23511, 23511, 23511, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 26748, 24035, 24035, 24035, 24035, 24035, 36249, 23114, 23114, 23114, 23114, 28618, 28835, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 27151, 24035, 26760, 23114, 27989, 23114, 23114, 36268, 20271, 23511, 24436, 23511, 29703, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36292, 19288, 21605, 36503, 21922, 32618, 34534, 31507, 36522, 24035, 33793, 24035, 35864, 23114, 23114, 36555, 23417, 22420, 23511, 23511, 36574, 26020, 28306, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 33811, 22468, 23511, 23511, 23511, 23511, 23512, 36592, 24035, 24035, 36625, 24035, 24035, 23113, 23114, 32961, 23114, 23114, 29618, 29700, 23511, 29086, 23511, 23511, 34585, 20402, 36644, 24035, 24035, 24036, 29740, 23114, 23114, 23114, 29065, 36663, 31527, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36079, 19288, 21605, 31451, 23112, 36684, 23511, 36700, 29939, 24035, 24035, 24035, 30185, 23114, 23114, 23114, 27526, 22420, 23511, 23511, 23511, 32865, 28306, 19803, 36743, 24035, 27017, 24035, 26576, 27535, 23114, 31432, 23114, 33811, 22468, 33271, 23511, 32128, 23511, 23512, 24694, 24035, 27196, 24035, 24035, 24035, 23113, 32459, 23114, 23114, 23114, 28618, 29700, 33829, 36762, 23511, 23511, 34585, 20402, 24035, 36746, 24035, 29722, 23114, 23114, 34437, 23114, 34907, 20271, 23511, 23511, 18801, 23511, 23206, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 36837, 24035, 24035, 33739, 23114, 23114, 25094, 23511, 23261, 23628, 24035, 36780, 23111, 24073, 19874, 27078, 35344, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22720, 19288, 36799, 36866, 17466, 36890, 36864, 21991, 22211, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 17631, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 36883, 36906, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 22705, 19288, 19457, 36866, 17466, 36890, 36866, 19375, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18855, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36124, 19288, 36951, 36866, 17466, 36890, 36866, 21991, 22404, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18567, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 36979, 36995, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36139, 19288, 19457, 36866, 17466, 36890, 36866, 21991, 22971, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18027, 22984, 17553, 17572, 22285, 18462, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 17619, 22083, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 36139, 19288, 21529, 24035, 23112, 23033, 23511, 31507, 25377, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 37040, 23511, 23511, 23511, 23511, 28086, 19803, 24035, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23114, 24254, 37079, 23511, 23511, 23511, 23511, 23512, 34766, 24035, 24035, 24035, 24035, 24035, 23113, 23114, 23114, 23114, 23114, 28618, 29700, 23511, 23511, 23511, 23511, 34585, 20402, 24035, 24035, 24035, 24036, 23114, 23114, 23114, 23114, 23029, 20271, 23511, 23511, 23511, 23511, 30562, 24035, 24035, 24035, 26576, 23114, 23114, 23114, 23036, 29695, 23511, 23511, 23511, 23634, 24035, 24035, 23110, 23114, 23114, 23467, 23511, 23261, 23628, 24035, 24035, 23111, 23114, 19874, 27078, 27689, 19830, 24035, 23112, 19872, 27741, 23266, 24036, 23114, 30243, 19829, 26577, 26597, 20211, 23008, 19876, 20208, 23007, 20046, 20132, 26578, 27685, 20141, 24569, 31691, 19787, 29304, 20268, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 37112, 37160, 18469, 36866, 17466, 36890, 36866, 17656, 37174, 22987, 17556, 17575, 22288, 17486, 17509, 17525, 18373, 18537, 22984, 17553, 17572, 22285, 18780, 17990, 18622, 19411, 20306, 17996, 17689, 17470, 17591, 20896, 17468, 36883, 36906, 36867, 19404, 20299, 36866, 17647, 17862, 18921, 19514, 17705, 20311, 37017, 17728, 17756, 17784, 17800, 17825, 17854, 18403, 18928, 19521, 17712, 37008, 37024, 17878, 18884, 17900, 17922, 17944, 18178, 17960, 18012, 18381, 18064, 18218, 17884, 18890, 17906, 17928, 18102, 25022, 18130, 36931, 36963, 17493, 18150, 18166, 18214, 25010, 25026, 18134, 36935, 18262, 18278, 18294, 18320, 18336, 18361, 18397, 18274, 22096, 18304, 18448, 18485, 18523, 18553, 18583, 19149, 18638, 18497, 19656, 18664, 18680, 18507, 18696, 19164, 18712, 18737, 17681, 22026, 20906, 20915, 22054, 17838, 17450, 22022, 18765, 19225, 18841, 18871, 18906, 19241, 19257, 18976, 19041, 19056, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 19058, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 127011, 110630, 114730, 106539, 127011, 127011, 127011, 53264, 18, 18, 0, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 0, 0, 127011, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2170880, 2170880, 2170880, 3002368, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2576384, 2215936, 2215936, 2215936, 2416640, 2424832, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2543616, 2215936, 2215936, 2215936, 2215936, 2215936, 2629632, 2215936, 2617344, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2691072, 2215936, 2707456, 2215936, 2715648, 2215936, 2723840, 2764800, 2215936, 2215936, 2797568, 2215936, 2822144, 2215936, 2215936, 2854912, 2215936, 2215936, 2215936, 2912256, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 180224, 0, 0, 2174976, 0, 0, 2170880, 2617344, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2691072, 2170880, 2707456, 2170880, 2715648, 2170880, 2723840, 2764800, 2170880, 2170880, 2797568, 2170880, 2170880, 2797568, 2170880, 2822144, 2170880, 2170880, 2854912, 2170880, 2170880, 2170880, 2912256, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2609152, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2654208, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 184599, 280, 0, 2174976, 0, 0, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 544, 0, 546, 0, 0, 2179072, 0, 0, 0, 552, 0, 0, 2170880, 2170880, 2170880, 3117056, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2158592, 2158592, 2232320, 2232320, 0, 2240512, 2240512, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3129344, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2400256, 2215936, 2215936, 2215936, 2215936, 2711552, 2170880, 2170880, 2170880, 2170880, 2170880, 2760704, 2768896, 2789376, 2813952, 2170880, 2170880, 2170880, 2875392, 2904064, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2453504, 2457600, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 167936, 0, 0, 0, 0, 2174976, 0, 0, 2215936, 2215936, 2514944, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2592768, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 32768, 0, 0, 0, 0, 0, 2174976, 32768, 0, 2633728, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2711552, 2215936, 2215936, 2215936, 2215936, 2215936, 2760704, 2768896, 2789376, 2813952, 2215936, 2215936, 2215936, 2875392, 2904064, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 0, 65819, 2215936, 2215936, 3031040, 2215936, 3055616, 2215936, 2215936, 2215936, 2215936, 3092480, 2215936, 2215936, 3125248, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3002368, 2215936, 2215936, 2170880, 2170880, 2494464, 2170880, 2170880, 0, 0, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3198976, 2215936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2379776, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2445312, 2170880, 2465792, 2473984, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2523136, 2170880, 2170880, 2641920, 2170880, 2170880, 2170880, 2699264, 2170880, 2727936, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2879488, 2170880, 2916352, 2170880, 2170880, 2170880, 2879488, 2170880, 2916352, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3026944, 2170880, 2170880, 3063808, 2170880, 2170880, 3112960, 2170880, 2170880, 3133440, 2170880, 2170880, 3112960, 2170880, 2170880, 3133440, 2170880, 2170880, 2170880, 3162112, 2170880, 2170880, 3182592, 3186688, 2170880, 2379776, 2215936, 2523136, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2596864, 2215936, 2621440, 2215936, 2215936, 2641920, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 548, 0, 0, 0, 0, 287, 2170880, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3117056, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2699264, 2215936, 2727936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2879488, 2215936, 2916352, 2215936, 2215936, 0, 0, 0, 0, 188416, 0, 2179072, 0, 0, 0, 0, 0, 287, 2170880, 0, 2171019, 2171019, 2171019, 2400395, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3031179, 2171019, 3055755, 2171019, 2171019, 2215936, 3133440, 2215936, 2215936, 2215936, 3162112, 2215936, 2215936, 3182592, 3186688, 2215936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2523275, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2597003, 2171019, 2621579, 2170880, 2170880, 2170880, 3162112, 2170880, 2170880, 3182592, 3186688, 2170880, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 24, 0, 4337664, 28, 2170880, 2170880, 2170880, 2629632, 2170880, 2170880, 2170880, 2170880, 2719744, 2744320, 2170880, 2170880, 2170880, 2834432, 2838528, 2170880, 2908160, 2170880, 2170880, 2936832, 2215936, 2215936, 2215936, 2215936, 2719744, 2744320, 2215936, 2215936, 2215936, 2834432, 2838528, 2215936, 2908160, 2215936, 2215936, 2936832, 2215936, 2215936, 2985984, 2215936, 2994176, 2215936, 2215936, 3014656, 2215936, 3059712, 3076096, 3088384, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2445312, 2215936, 2465792, 2473984, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2171166, 2171166, 2171166, 2171166, 2171166, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171019, 2171019, 2494603, 2171019, 2171019, 2215936, 2215936, 2215936, 3215360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379776, 2170880, 2170880, 2170880, 2170880, 2985984, 2170880, 2994176, 2170880, 2170880, 3016168, 2170880, 3059712, 3076096, 3088384, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 124, 124, 0, 128, 128, 2170880, 2170880, 2170880, 3215360, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2486272, 2170880, 2170880, 2506752, 2170880, 2170880, 2170880, 2535424, 2539520, 2170880, 2170880, 2588672, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2920448, 2170880, 2170880, 2170880, 2990080, 2170880, 2170880, 2170880, 2170880, 3051520, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3170304, 0, 2387968, 2392064, 2170880, 2170880, 2433024, 2170880, 2170880, 2170880, 3170304, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2486272, 2215936, 2215936, 2506752, 2215936, 2215936, 2215936, 2535424, 2539520, 2215936, 2215936, 2588672, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 136, 0, 2215936, 2215936, 2920448, 2215936, 2215936, 2215936, 2990080, 2215936, 2215936, 2215936, 2215936, 3051520, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3108864, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3026944, 2215936, 2215936, 3063808, 2215936, 2215936, 3112960, 2215936, 2215936, 2215936, 3170304, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2453504, 2457600, 2170880, 2170880, 2170880, 2486272, 2170880, 2170880, 2506752, 2170880, 2170880, 2170880, 2537049, 2539520, 2170880, 2170880, 2588672, 2170880, 2170880, 2170880, 1508, 2170880, 2170880, 2170880, 1512, 2170880, 2920448, 2170880, 2170880, 2170880, 2990080, 2170880, 2170880, 2170880, 2461696, 2170880, 2170880, 2170880, 2510848, 2170880, 2170880, 2170880, 2170880, 2580480, 2170880, 2605056, 2637824, 2170880, 2170880, 18, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2686976, 2748416, 2170880, 2170880, 2170880, 2924544, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3121152, 2170880, 2170880, 3145728, 3158016, 3166208, 2170880, 2420736, 2428928, 2170880, 2478080, 2170880, 2170880, 2170880, 2170880, 0, 0, 2170880, 2170880, 2170880, 2170880, 2646016, 2670592, 0, 0, 3145728, 3158016, 3166208, 2387968, 2392064, 2215936, 2215936, 2433024, 2215936, 2461696, 2215936, 2215936, 2215936, 2510848, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 0, 2170880, 2215936, 2215936, 2580480, 2215936, 2605056, 2637824, 2215936, 2215936, 2686976, 2748416, 2215936, 2215936, 2215936, 2924544, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 286, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 3121152, 2215936, 2215936, 3145728, 3158016, 3166208, 2387968, 2392064, 2170880, 2170880, 2433024, 2170880, 2461696, 2170880, 2170880, 2170880, 2510848, 2170880, 2170880, 1625, 2170880, 2170880, 2580480, 2170880, 2605056, 2637824, 2170880, 647, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2576384, 2170880, 2170880, 2170880, 2170880, 2170880, 2609152, 2170880, 2170880, 2686976, 0, 0, 2748416, 2170880, 2170880, 0, 2170880, 2924544, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 0, 0, 28, 28, 2170880, 3141632, 2215936, 2420736, 2428928, 2215936, 2478080, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2646016, 2670592, 2752512, 2756608, 2846720, 2961408, 2215936, 2998272, 2215936, 3010560, 2215936, 2215936, 2215936, 3141632, 2170880, 2420736, 2428928, 2752512, 2756608, 0, 2846720, 2961408, 2170880, 2998272, 2170880, 3010560, 2170880, 2170880, 2170880, 3141632, 2170880, 2170880, 2490368, 2215936, 2490368, 2215936, 2215936, 2215936, 2547712, 2555904, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 245760, 0, 3129344, 2170880, 2170880, 2490368, 2170880, 2170880, 2170880, 0, 0, 2547712, 2555904, 2170880, 2170880, 2170880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 45056, 0, 2584576, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2170880, 2170880, 2158592, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 0, 1482, 97, 97, 97, 97, 97, 97, 97, 1354, 97, 97, 97, 97, 97, 97, 97, 97, 1148, 97, 97, 97, 97, 97, 97, 97, 2584576, 2170880, 2170880, 1512, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2441216, 2170880, 2527232, 2170880, 2600960, 2170880, 2850816, 2170880, 2170880, 2170880, 3022848, 2215936, 2441216, 2215936, 2527232, 2215936, 2600960, 2215936, 2850816, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 287, 2170880, 2215936, 3022848, 2170880, 2441216, 2170880, 2527232, 0, 0, 2170880, 2600960, 2170880, 0, 2850816, 2170880, 2170880, 2170880, 2170880, 2170880, 2523136, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2596864, 2170880, 2621440, 2170880, 2170880, 2641920, 2170880, 2170880, 2170880, 3022848, 2170880, 2519040, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2519040, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 2453504, 2457600, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2514944, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2592768, 2170880, 2170880, 2519040, 0, 2024, 2170880, 2170880, 0, 2170880, 2170880, 2170880, 2396160, 2170880, 2170880, 2170880, 2170880, 3018752, 2396160, 2215936, 2215936, 2215936, 2215936, 3018752, 2396160, 0, 2024, 2170880, 2170880, 2170880, 2170880, 3018752, 2170880, 2650112, 2965504, 2170880, 2215936, 2650112, 2965504, 2215936, 0, 0, 2170880, 2650112, 2965504, 2170880, 2551808, 2170880, 2551808, 2215936, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 141, 45, 45, 67, 67, 67, 67, 67, 224, 67, 67, 238, 67, 67, 67, 67, 67, 67, 67, 1288, 67, 67, 67, 67, 67, 67, 67, 67, 67, 469, 67, 67, 67, 67, 67, 67, 0, 2551808, 2170880, 2170880, 2215936, 0, 2170880, 2170880, 2215936, 0, 2170880, 2170880, 2215936, 0, 2170880, 2977792, 2977792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 29, 102432, 127011, 110630, 114730, 106539, 127011, 127011, 127011, 53264, 18, 18, 49172, 0, 0, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 0, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 136, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 4256099, 4256099, 24, 24, 0, 28, 28, 2170880, 2461696, 2170880, 2170880, 2170880, 2510848, 2170880, 2170880, 0, 2170880, 2170880, 2580480, 2170880, 2605056, 2637824, 2170880, 2170880, 2170880, 2547712, 2555904, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3129344, 2215936, 2215936, 543, 543, 545, 545, 0, 0, 2179072, 0, 550, 551, 551, 0, 287, 2171166, 2171166, 18, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 645, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 149, 2584576, 2170880, 2170880, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2441216, 2170880, 2527232, 2170880, 2600960, 2519040, 0, 0, 2170880, 2170880, 0, 2170880, 2170880, 2170880, 2396160, 2170880, 2170880, 2170880, 2170880, 3018752, 2396160, 2215936, 2215936, 2215936, 2215936, 3018752, 2396160, 0, 0, 2170880, 2170880, 2170880, 2170880, 3018752, 2170880, 2650112, 2965504, 53264, 18, 49172, 57366, 24, 155648, 28, 102432, 155648, 155687, 114730, 106539, 0, 0, 155648, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 0, 0, 0, 0, 2220032, 0, 94208, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 208896, 18, 278528, 24, 24, 0, 28, 28, 53264, 18, 159765, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 0, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 139394, 28, 28, 102432, 131, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 32768, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 546, 0, 0, 2183168, 0, 0, 552, 832, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2170880, 2609152, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2654208, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3198976, 2215936, 0, 1084, 0, 1088, 0, 1092, 0, 0, 0, 0, 0, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 937, 0, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 644, 0, 0, 0, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 826, 0, 828, 0, 0, 2183168, 0, 0, 830, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2592768, 2170880, 2170880, 2170880, 2170880, 2633728, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2711552, 2170880, 2170880, 2170880, 2170880, 2170880, 2760704, 53264, 18, 49172, 57366, 24, 8192, 28, 172066, 172032, 110630, 172066, 106539, 0, 0, 172032, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 16384, 28, 28, 28, 28, 102432, 0, 98304, 0, 0, 2220032, 110630, 0, 0, 0, 0, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 45056, 0, 0, 0, 53264, 18, 49172, 57366, 25, 8192, 30, 102432, 0, 110630, 114730, 106539, 0, 0, 176219, 53264, 18, 18, 49172, 0, 57366, 0, 124, 124, 124, 0, 128, 128, 128, 128, 102432, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 0, 546, 0, 0, 2183168, 0, 65536, 552, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2646016, 2670592, 2752512, 2756608, 2846720, 2961408, 2170880, 2998272, 2170880, 3010560, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3198976, 2215936, 0, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 143, 45, 45, 67, 67, 67, 67, 67, 227, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1824, 67, 1826, 67, 67, 67, 67, 17, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 32768, 120, 121, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 67, 67, 37139, 37139, 24853, 24853, 0, 0, 2179072, 548, 0, 65820, 65820, 0, 287, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 2033, 45, 67, 67, 67, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 978, 0, 546, 70179, 0, 2183168, 0, 0, 552, 0, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1013, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 473, 67, 67, 67, 67, 483, 67, 67, 1025, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1119, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1359, 97, 97, 97, 67, 67, 1584, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 497, 67, 67, 1659, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1667, 45, 45, 45, 45, 45, 169, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1668, 45, 45, 45, 45, 67, 67, 1694, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 774, 67, 67, 1713, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 1723, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 1538, 45, 45, 45, 45, 45, 1559, 45, 45, 1561, 45, 45, 45, 45, 45, 45, 45, 687, 45, 45, 45, 45, 45, 45, 45, 45, 448, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1771, 1772, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 67, 67, 67, 67, 67, 1821, 67, 67, 67, 67, 67, 67, 1827, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 1614, 97, 97, 97, 97, 97, 603, 97, 97, 605, 97, 97, 608, 97, 97, 97, 97, 0, 1532, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 450, 45, 45, 45, 45, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 1839, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 97, 1883, 97, 1885, 97, 0, 1888, 0, 97, 97, 0, 97, 97, 1848, 97, 97, 97, 97, 1852, 45, 45, 45, 45, 45, 45, 45, 384, 391, 45, 45, 45, 45, 45, 45, 45, 385, 45, 45, 45, 45, 45, 45, 45, 45, 1237, 45, 45, 45, 45, 45, 45, 67, 0, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 1951, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1963, 97, 2023, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 1994, 67, 1995, 67, 67, 67, 67, 67, 67, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 0, 0, 0, 0, 2220032, 110630, 0, 0, 0, 114730, 106539, 137, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2793472, 2805760, 2170880, 2830336, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3031040, 2170880, 3055616, 2170880, 2170880, 67, 67, 37139, 37139, 24853, 24853, 0, 0, 281, 549, 0, 65820, 65820, 0, 287, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 2031, 2032, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1769, 67, 0, 546, 70179, 549, 549, 0, 0, 552, 0, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1858, 45, 641, 0, 0, 0, 0, 41606, 926, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 456, 67, 0, 0, 0, 1313, 0, 0, 0, 1096, 1319, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1110, 97, 97, 97, 97, 67, 67, 67, 67, 1301, 1476, 0, 0, 0, 0, 1307, 1478, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1486, 97, 1487, 97, 1313, 1480, 0, 0, 0, 0, 1319, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 566, 97, 97, 97, 97, 97, 97, 67, 67, 67, 1476, 0, 1478, 0, 1480, 0, 97, 97, 97, 97, 97, 97, 97, 45, 1853, 45, 1855, 45, 45, 45, 45, 53264, 18, 49172, 57366, 26, 8192, 31, 102432, 0, 110630, 114730, 106539, 0, 0, 225368, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 32768, 53264, 18, 18, 49172, 163840, 57366, 0, 24, 24, 229376, 0, 28, 28, 28, 229376, 102432, 0, 0, 0, 0, 2220167, 110630, 0, 0, 0, 114730, 106539, 0, 2171019, 2171019, 2171019, 2171019, 2592907, 2171019, 2171019, 2171019, 2171019, 2633867, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2654347, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3117195, 2171019, 2171019, 2171019, 2171019, 2240641, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 140, 2171019, 2171019, 2171019, 2416779, 2424971, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2617483, 2171019, 2171019, 2642059, 2171019, 2171019, 2171019, 2699403, 2171019, 2728075, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3215499, 2215936, 2215936, 2215936, 2215936, 2215936, 2437120, 2215936, 2215936, 2171019, 2822283, 2171019, 2171019, 2855051, 2171019, 2171019, 2171019, 2912395, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3002507, 2171019, 2171019, 2215936, 2215936, 2494464, 2215936, 2215936, 2215936, 2171166, 2171166, 2416926, 2425118, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2576670, 2171166, 2617630, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2691358, 2171166, 2707742, 2171166, 2715934, 2171166, 2724126, 2765086, 2171166, 2171166, 2797854, 2171166, 2822430, 2171166, 2171166, 2855198, 2171166, 2171166, 2171166, 2912542, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2793758, 2806046, 2171166, 2830622, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3109150, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2543902, 2171166, 2171166, 2171166, 2171166, 2171166, 2629918, 2793611, 2805899, 2171019, 2830475, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 0, 546, 0, 0, 2183168, 0, 0, 552, 0, 2171166, 2171166, 2171166, 2400542, 2171166, 2171166, 2171166, 0, 2171166, 2171166, 2171166, 0, 2171166, 2920734, 2171166, 2171166, 2171166, 2990366, 2171166, 2171166, 2171166, 2171166, 3117342, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 0, 53264, 0, 18, 18, 4329472, 2232445, 0, 2240641, 4337664, 2711691, 2171019, 2171019, 2171019, 2171019, 2171019, 2760843, 2769035, 2789515, 2814091, 2171019, 2171019, 2171019, 2875531, 2904203, 2171019, 2171019, 3092619, 2171019, 2171019, 3125387, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3199115, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2453504, 2457600, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2793472, 2805760, 2215936, 2830336, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2494464, 2170880, 2170880, 2171166, 2171166, 2634014, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2711838, 2171166, 2171166, 2171166, 2171166, 2171166, 2760990, 2769182, 2789662, 2814238, 2171166, 2171166, 2171166, 2875678, 2904350, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3199262, 2171166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379915, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2445451, 2171019, 2465931, 2474123, 2171019, 2171019, 3113099, 2171019, 2171019, 3133579, 2171019, 2171019, 2171019, 3162251, 2171019, 2171019, 3182731, 3186827, 2171019, 2379776, 2879627, 2171019, 2916491, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3027083, 2171019, 2171019, 3063947, 2699550, 2171166, 2728222, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2879774, 2171166, 2916638, 2171166, 2171166, 2171166, 2171166, 2171166, 2609438, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2654494, 2171166, 2171166, 2171166, 2171166, 2171166, 2445598, 2171166, 2466078, 2474270, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2523422, 2171019, 2437259, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2543755, 2171019, 2171019, 2171019, 2584715, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2908299, 2171019, 2171019, 2936971, 2171019, 2171019, 2986123, 2171019, 2994315, 2171019, 2171019, 3014795, 2171019, 3059851, 3076235, 3088523, 2171166, 2171166, 2986270, 2171166, 2994462, 2171166, 2171166, 3014942, 2171166, 3059998, 3076382, 3088670, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3027230, 2171166, 2171166, 3064094, 2171166, 2171166, 3113246, 2171166, 2171166, 3133726, 2506891, 2171019, 2171019, 2171019, 2535563, 2539659, 2171019, 2171019, 2588811, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2691211, 2171019, 2707595, 2171019, 2715787, 2171019, 2723979, 2764939, 2171019, 2171019, 2797707, 2215936, 2215936, 3170304, 0, 0, 0, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2453790, 2457886, 2171166, 2171166, 2171166, 2486558, 2171166, 2171166, 2507038, 2171166, 2171166, 2171166, 2535710, 2539806, 2171166, 2171166, 2588958, 2171166, 2171166, 2171166, 2171166, 2515230, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2593054, 2171166, 2171166, 2171166, 2171166, 3051806, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3170590, 0, 2388107, 2392203, 2171019, 2171019, 2433163, 2171019, 2461835, 2171019, 2171019, 2171019, 2510987, 2171019, 2171019, 2171019, 2171019, 2580619, 2171019, 2605195, 2637963, 2171019, 2171019, 2171019, 2920587, 2171019, 2171019, 2171019, 2990219, 2171019, 2171019, 2171019, 2171019, 3051659, 2171019, 2171019, 2171019, 2453643, 2457739, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2515083, 2171019, 2171019, 2171019, 2171019, 2646155, 2670731, 2752651, 2756747, 2846859, 2961547, 2171019, 2998411, 2171019, 3010699, 2171019, 2171019, 2687115, 2748555, 2171019, 2171019, 2171019, 2924683, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3121291, 2171019, 2171019, 2171019, 3170443, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2486272, 2215936, 2215936, 2506752, 3145867, 3158155, 3166347, 2387968, 2392064, 2215936, 2215936, 2433024, 2215936, 2461696, 2215936, 2215936, 2215936, 2510848, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 0, 553, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 3121152, 2215936, 2215936, 3145728, 3158016, 3166208, 2388254, 2392350, 2171166, 2171166, 2433310, 2171166, 2461982, 2171166, 2171166, 2171166, 2511134, 2171166, 2171166, 0, 2171166, 2171166, 2580766, 2171166, 2605342, 2638110, 2171166, 2171166, 2171166, 2171166, 3031326, 2171166, 3055902, 2171166, 2171166, 2171166, 2171166, 3092766, 2171166, 2171166, 3125534, 2171166, 2171166, 2171166, 3162398, 2171166, 2171166, 3182878, 3186974, 2171166, 0, 0, 0, 2171019, 2171019, 2171019, 2171019, 3109003, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2215936, 2215936, 2215936, 2400256, 2215936, 2215936, 2215936, 2215936, 2171166, 2687262, 0, 0, 2748702, 2171166, 2171166, 0, 2171166, 2924830, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 2597150, 2171166, 2621726, 2171166, 2171166, 2642206, 2171166, 2171166, 2171166, 2171166, 3121438, 2171166, 2171166, 3146014, 3158302, 3166494, 2171019, 2420875, 2429067, 2171019, 2478219, 2171019, 2171019, 2171019, 2171019, 2547851, 2556043, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 3129483, 2215936, 2171019, 3141771, 2215936, 2420736, 2428928, 2215936, 2478080, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2646016, 2670592, 2752512, 2756608, 2846720, 2961408, 2215936, 2998272, 2215936, 3010560, 2215936, 2215936, 2215936, 3141632, 2171166, 2421022, 2429214, 2171166, 2478366, 2171166, 2171166, 2171166, 2171166, 0, 0, 2171166, 2171166, 2171166, 2171166, 2646302, 2670878, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 0, 45, 45, 45, 45, 45, 1405, 1406, 45, 45, 45, 45, 1409, 45, 45, 45, 45, 45, 1415, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1238, 45, 45, 45, 45, 67, 2752798, 2756894, 0, 2847006, 2961694, 2171166, 2998558, 2171166, 3010846, 2171166, 2171166, 2171166, 3141918, 2171019, 2171019, 2490507, 3129344, 2171166, 2171166, 2490654, 2171166, 2171166, 2171166, 0, 0, 2547998, 2556190, 2171166, 2171166, 2171166, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 45, 167, 45, 45, 45, 45, 185, 187, 45, 45, 198, 45, 45, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171166, 3129630, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2576523, 2171019, 2171019, 2171019, 2171019, 2171019, 2609291, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3002368, 2215936, 2215936, 2171166, 2171166, 2494750, 2171166, 2171166, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 147, 2584576, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2171166, 2171166, 2171166, 2171166, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 0, 0, 0, 2171166, 2171166, 2171166, 3002654, 2171166, 2171166, 2171019, 2171019, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2175257, 0, 0, 2584862, 2171166, 2171166, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2171019, 2441355, 2171019, 2527371, 2171019, 2601099, 2171019, 2850955, 2171019, 2171019, 2171019, 3022987, 2215936, 2441216, 2215936, 2527232, 2215936, 2600960, 2215936, 2850816, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2179072, 0, 0, 0, 0, 69632, 287, 2170880, 2215936, 3022848, 2171166, 2441502, 2171166, 2527518, 0, 0, 2171166, 2601246, 2171166, 0, 2851102, 2171166, 2171166, 2171166, 2171166, 2720030, 2744606, 2171166, 2171166, 2171166, 2834718, 2838814, 2171166, 2908446, 2171166, 2171166, 2937118, 3023134, 2171019, 2519179, 2171019, 2171019, 2171019, 2171019, 2171019, 2215936, 2519040, 2215936, 2215936, 2215936, 2215936, 2215936, 2171166, 2171166, 2171166, 3215646, 0, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2171019, 2486411, 2171019, 2171019, 2171019, 2629771, 2171019, 2171019, 2171019, 2171019, 2719883, 2744459, 2171019, 2171019, 2171019, 2834571, 2838667, 2171019, 2519326, 0, 0, 2171166, 2171166, 0, 2171166, 2171166, 2171166, 2396299, 2171019, 2171019, 2171019, 2171019, 3018891, 2396160, 2215936, 2215936, 2215936, 2215936, 3018752, 2396446, 0, 0, 2171166, 2171166, 2171166, 2171166, 3019038, 2171019, 2650251, 2965643, 2171019, 2215936, 2650112, 2965504, 2215936, 0, 0, 2171166, 2650398, 2965790, 2171166, 2551947, 2171019, 2551808, 2215936, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 144, 45, 45, 67, 67, 67, 67, 67, 228, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1929, 97, 97, 97, 97, 0, 0, 0, 2552094, 2171166, 2171019, 2215936, 0, 2171166, 2171019, 2215936, 0, 2171166, 2171019, 2215936, 0, 2171166, 2977931, 2977792, 2978078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1321, 97, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 140, 0, 2379776, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2445312, 2170880, 2465792, 2473984, 2170880, 2170880, 2170880, 2584576, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2170880, 2170880, 2170880, 3162112, 2170880, 2170880, 3182592, 3186688, 2170880, 0, 140, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3002368, 2170880, 2170880, 2215936, 2215936, 2494464, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 3215360, 544, 0, 0, 0, 544, 0, 546, 0, 0, 0, 546, 0, 0, 2183168, 0, 0, 552, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 0, 2170880, 2170880, 2170880, 0, 2170880, 2920448, 2170880, 2170880, 2170880, 2990080, 2170880, 2170880, 552, 0, 0, 0, 552, 0, 287, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2437120, 2170880, 2170880, 18, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 644, 0, 2215936, 2215936, 3170304, 544, 0, 546, 0, 552, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 0, 140, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 249856, 110630, 114730, 106539, 0, 0, 32768, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 151640, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2416640, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 253952, 110630, 114730, 106539, 0, 0, 32856, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 192512, 53264, 18, 18, 49172, 0, 57366, 0, 2232445, 184320, 2232445, 0, 2240641, 2240641, 184320, 2240641, 102432, 0, 0, 0, 221184, 2220032, 110630, 0, 0, 0, 114730, 106539, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3108864, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2215936, 0, 0, 0, 45056, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 0, 53264, 0, 18, 18, 24, 24, 0, 127, 127, 53264, 18, 49172, 258071, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 32768, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 204800, 53264, 18, 49172, 57366, 24, 27, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 28, 33, 0, 33, 33, 33, 0, 0, 0, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 16384, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 2170880, 2170880, 2170880, 2416640, 67, 67, 37139, 37139, 24853, 24853, 0, 70179, 0, 0, 0, 65820, 65820, 369, 287, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 2030, 45, 45, 45, 45, 67, 1573, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1699, 67, 67, 67, 67, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1355, 97, 97, 97, 1358, 97, 97, 97, 641, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 1187, 45, 45, 45, 45, 45, 0, 1480, 0, 0, 0, 0, 1319, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 592, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1531, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1680, 45, 45, 45, 641, 0, 924, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1186, 45, 45, 45, 45, 45, 45, 67, 67, 37139, 37139, 24853, 24853, 0, 70179, 282, 0, 0, 65820, 65820, 369, 287, 97, 0, 0, 97, 97, 0, 97, 2028, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1767, 67, 67, 67, 0, 0, 0, 0, 0, 0, 1612, 97, 97, 97, 97, 97, 97, 0, 1785, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1790, 97, 0, 0, 2170880, 2170880, 3051520, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3170304, 241664, 2387968, 2392064, 2170880, 2170880, 2433024, 53264, 19, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 274432, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 270336, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 1134711, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 1126440, 1126440, 1126440, 0, 0, 1126400, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 36, 110630, 114730, 106539, 0, 0, 217088, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 94, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 96, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 24666, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 126, 28, 28, 28, 28, 102432, 53264, 122, 123, 49172, 0, 57366, 0, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 2170880, 2170880, 4256099, 0, 0, 0, 0, 0, 0, 0, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 0, 1319, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1109, 97, 97, 97, 97, 1113, 132, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 146, 150, 45, 45, 45, 45, 45, 175, 45, 180, 45, 186, 45, 189, 45, 45, 203, 67, 256, 67, 67, 270, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 97, 293, 297, 97, 97, 97, 97, 97, 322, 97, 327, 97, 333, 97, 0, 0, 97, 2026, 0, 2027, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1685, 67, 67, 67, 67, 67, 67, 67, 1690, 67, 336, 97, 97, 350, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 2424832, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2617344, 2170880, 45, 439, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 525, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 622, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1524, 97, 97, 1527, 369, 648, 45, 45, 45, 45, 45, 45, 45, 45, 45, 659, 45, 45, 45, 45, 408, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1239, 45, 45, 45, 67, 729, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 762, 67, 746, 67, 67, 67, 67, 67, 67, 67, 67, 67, 759, 67, 67, 67, 67, 0, 0, 0, 1477, 0, 1086, 0, 0, 0, 1479, 0, 1090, 67, 67, 796, 67, 67, 799, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1291, 67, 67, 67, 811, 67, 67, 67, 67, 67, 816, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 833, 97, 97, 97, 97, 97, 97, 97, 97, 1380, 0, 0, 0, 45, 45, 45, 45, 45, 1185, 45, 45, 45, 45, 45, 45, 45, 386, 45, 45, 45, 45, 45, 45, 45, 45, 1810, 45, 45, 45, 45, 45, 45, 67, 97, 97, 844, 97, 97, 97, 97, 97, 97, 97, 97, 97, 857, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 97, 97, 97, 894, 97, 97, 897, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 1382, 45, 45, 45, 97, 909, 97, 97, 97, 97, 97, 914, 97, 97, 97, 97, 97, 97, 97, 923, 67, 67, 1079, 67, 67, 67, 67, 67, 37689, 1085, 25403, 1089, 66365, 1093, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 148, 1114, 97, 97, 97, 97, 97, 97, 1122, 97, 97, 97, 97, 97, 97, 97, 97, 97, 606, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1173, 97, 97, 97, 97, 97, 12288, 0, 925, 0, 1179, 0, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 145, 45, 45, 67, 67, 67, 67, 67, 1762, 67, 67, 67, 1766, 67, 67, 67, 67, 67, 67, 528, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 1934, 67, 67, 1255, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1035, 67, 67, 67, 67, 67, 67, 1297, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1111, 97, 97, 97, 97, 97, 97, 1327, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 33344, 97, 97, 97, 1335, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 1377, 97, 97, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 670, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 430, 45, 45, 45, 45, 67, 67, 1438, 67, 67, 1442, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1592, 67, 67, 67, 1451, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1458, 67, 67, 67, 67, 0, 0, 1305, 0, 0, 0, 0, 0, 1311, 0, 0, 0, 1317, 0, 0, 0, 0, 0, 0, 0, 97, 97, 1322, 97, 97, 1491, 97, 97, 1495, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1551, 45, 1553, 45, 1504, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1513, 97, 97, 97, 97, 0, 45, 45, 45, 45, 1536, 45, 45, 45, 45, 1540, 45, 67, 67, 67, 67, 67, 1585, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1700, 67, 67, 67, 97, 1648, 97, 97, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1541, 0, 97, 97, 97, 97, 0, 1940, 0, 97, 97, 97, 97, 97, 97, 45, 45, 2011, 45, 45, 45, 2015, 67, 67, 2017, 67, 67, 67, 2021, 97, 67, 67, 812, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 97, 97, 97, 910, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 923, 0, 0, 0, 45, 45, 45, 45, 1184, 45, 45, 45, 45, 1188, 45, 45, 45, 45, 1414, 45, 45, 45, 1417, 45, 1419, 45, 45, 45, 45, 45, 443, 45, 45, 45, 45, 45, 45, 453, 45, 45, 67, 67, 67, 67, 1244, 67, 67, 67, 67, 1248, 67, 67, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 282, 41098, 65820, 97, 1324, 97, 97, 97, 97, 1328, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 930, 45, 45, 45, 45, 97, 97, 97, 97, 1378, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 975, 45, 45, 45, 45, 67, 67, 1923, 67, 1925, 67, 67, 1927, 67, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1985, 45, 45, 45, 45, 45, 45, 1560, 45, 45, 45, 45, 45, 45, 45, 45, 45, 946, 45, 45, 950, 45, 45, 45, 0, 97, 97, 97, 1939, 0, 0, 0, 97, 1943, 97, 97, 1945, 97, 45, 45, 45, 669, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 990, 45, 45, 45, 67, 257, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 337, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 2170880, 2170880, 2170880, 2416640, 401, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 459, 461, 67, 67, 67, 67, 67, 67, 67, 67, 475, 67, 480, 67, 67, 67, 67, 67, 67, 1054, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1698, 67, 67, 67, 67, 67, 484, 67, 67, 487, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1459, 67, 67, 97, 556, 558, 97, 97, 97, 97, 97, 97, 97, 97, 572, 97, 577, 97, 97, 0, 0, 1896, 97, 97, 97, 97, 97, 97, 1903, 45, 45, 45, 45, 983, 45, 45, 45, 45, 988, 45, 45, 45, 45, 45, 45, 1195, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1549, 45, 45, 45, 45, 45, 581, 97, 97, 584, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1153, 97, 97, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 662, 45, 45, 45, 684, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1004, 45, 45, 45, 67, 67, 67, 749, 67, 67, 67, 67, 67, 67, 67, 67, 67, 761, 67, 67, 67, 67, 67, 67, 1068, 67, 67, 67, 1071, 67, 67, 67, 67, 1076, 794, 795, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 544, 97, 97, 97, 97, 847, 97, 97, 97, 97, 97, 97, 97, 97, 97, 859, 97, 0, 0, 2025, 97, 20480, 97, 97, 2029, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1575, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1775, 67, 67, 67, 97, 97, 97, 97, 892, 893, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1515, 97, 993, 994, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 992, 67, 67, 67, 1284, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1607, 67, 67, 97, 1364, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 596, 97, 45, 1556, 1557, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 696, 45, 1596, 1597, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 499, 67, 97, 97, 97, 1621, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1346, 97, 97, 97, 97, 1740, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1678, 45, 45, 45, 45, 45, 67, 97, 97, 97, 97, 97, 97, 1836, 0, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1984, 97, 45, 45, 45, 45, 45, 45, 1808, 45, 45, 45, 45, 45, 45, 45, 45, 67, 739, 67, 67, 67, 67, 67, 744, 45, 45, 1909, 45, 45, 45, 45, 45, 45, 45, 67, 1917, 67, 1918, 67, 67, 67, 67, 67, 67, 1247, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 532, 67, 67, 67, 67, 67, 67, 1922, 67, 67, 67, 67, 67, 67, 67, 97, 1930, 97, 1931, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1576, 67, 67, 67, 67, 1580, 67, 67, 0, 97, 97, 1938, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 699, 45, 45, 45, 704, 45, 45, 45, 45, 45, 45, 45, 45, 987, 45, 45, 45, 45, 45, 45, 45, 67, 67, 97, 97, 97, 97, 0, 0, 97, 97, 97, 2006, 97, 97, 97, 97, 0, 45, 1533, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1416, 45, 45, 45, 45, 45, 45, 45, 45, 722, 723, 45, 45, 45, 45, 45, 45, 2045, 67, 67, 67, 2047, 0, 0, 97, 97, 97, 2051, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 409, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1957, 45, 67, 67, 67, 67, 67, 1836, 97, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 45, 67, 67, 67, 1761, 67, 67, 67, 1764, 67, 67, 67, 67, 67, 67, 67, 494, 67, 67, 67, 67, 67, 67, 67, 67, 67, 787, 67, 67, 67, 67, 67, 67, 45, 45, 420, 45, 45, 422, 45, 45, 425, 45, 45, 45, 45, 45, 45, 45, 387, 45, 45, 45, 45, 397, 45, 45, 45, 67, 460, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 515, 67, 485, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 498, 67, 67, 67, 67, 67, 97, 0, 2039, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1426, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1689, 67, 67, 67, 97, 557, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 612, 97, 582, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 595, 97, 97, 97, 97, 97, 896, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 885, 97, 97, 97, 97, 97, 45, 939, 45, 45, 45, 45, 943, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1916, 67, 67, 67, 67, 67, 45, 67, 67, 67, 67, 67, 67, 67, 1015, 67, 67, 67, 67, 1019, 67, 67, 67, 67, 67, 67, 1271, 67, 67, 67, 67, 67, 67, 1277, 67, 67, 67, 67, 67, 67, 1287, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 804, 67, 67, 67, 67, 67, 1077, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2437120, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2543616, 2170880, 2170880, 2170880, 2170880, 2170880, 2629632, 1169, 97, 1171, 97, 97, 97, 97, 97, 97, 97, 12288, 0, 925, 0, 1179, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 936, 45, 45, 67, 67, 214, 67, 220, 67, 67, 233, 67, 243, 67, 248, 67, 67, 67, 67, 67, 67, 1298, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 1617, 97, 0, 0, 0, 45, 45, 45, 1183, 45, 45, 45, 45, 45, 45, 45, 45, 45, 393, 45, 45, 45, 45, 45, 45, 67, 67, 1243, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1074, 67, 67, 1281, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 776, 1323, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 907, 45, 1412, 45, 45, 45, 45, 45, 45, 45, 1418, 45, 45, 45, 45, 45, 45, 686, 45, 45, 45, 690, 45, 45, 695, 45, 45, 67, 67, 67, 67, 67, 1465, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1712, 97, 97, 97, 97, 1741, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 426, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1924, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1983, 97, 97, 45, 45, 1987, 45, 1988, 45, 0, 97, 97, 97, 97, 0, 0, 0, 1942, 97, 97, 97, 97, 97, 45, 45, 45, 700, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 711, 45, 45, 153, 45, 45, 166, 45, 176, 45, 181, 45, 45, 188, 191, 196, 45, 204, 255, 258, 263, 67, 271, 67, 67, 0, 37139, 24853, 0, 0, 0, 282, 41098, 65820, 97, 97, 97, 294, 97, 300, 97, 97, 313, 97, 323, 97, 328, 97, 97, 335, 338, 343, 97, 351, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 41098, 0, 140, 45, 45, 45, 45, 1404, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1411, 67, 67, 486, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1251, 67, 67, 501, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 513, 67, 67, 67, 67, 67, 67, 1443, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1263, 67, 67, 67, 67, 67, 97, 97, 583, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1526, 97, 598, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 610, 97, 97, 0, 97, 97, 1796, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1744, 45, 45, 45, 369, 0, 651, 45, 653, 45, 654, 45, 656, 45, 45, 45, 660, 45, 45, 45, 45, 1558, 45, 45, 45, 45, 45, 45, 45, 45, 1566, 45, 45, 681, 45, 683, 45, 45, 45, 45, 45, 45, 45, 45, 691, 692, 694, 45, 45, 45, 716, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 709, 45, 45, 712, 45, 714, 45, 45, 45, 718, 45, 45, 45, 45, 45, 45, 45, 726, 45, 45, 45, 733, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1691, 67, 67, 747, 67, 67, 67, 67, 67, 67, 67, 67, 67, 760, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 1613, 97, 97, 97, 97, 97, 97, 1509, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 67, 764, 67, 67, 67, 67, 768, 67, 770, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 1977, 67, 778, 779, 781, 67, 67, 67, 67, 67, 67, 788, 789, 67, 67, 792, 793, 67, 67, 67, 813, 67, 67, 67, 67, 67, 67, 67, 67, 67, 824, 37689, 544, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 836, 97, 838, 97, 839, 97, 841, 97, 97, 97, 845, 97, 97, 97, 97, 97, 97, 97, 97, 97, 858, 97, 97, 0, 1728, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 1802, 45, 97, 97, 862, 97, 97, 97, 97, 866, 97, 868, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1788, 97, 97, 97, 0, 0, 97, 97, 876, 877, 879, 97, 97, 97, 97, 97, 97, 886, 887, 97, 97, 890, 891, 97, 97, 97, 97, 97, 97, 97, 899, 97, 97, 97, 903, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 1646, 97, 97, 97, 97, 911, 97, 97, 97, 97, 97, 97, 97, 97, 97, 922, 923, 45, 955, 45, 957, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 195, 45, 45, 45, 45, 45, 981, 982, 45, 45, 45, 45, 45, 45, 989, 45, 45, 45, 45, 45, 170, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 411, 45, 45, 45, 45, 45, 67, 1023, 67, 67, 67, 67, 67, 67, 1031, 67, 1033, 67, 67, 67, 67, 67, 67, 67, 817, 819, 67, 67, 67, 67, 67, 37689, 544, 67, 1065, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 516, 67, 67, 1078, 67, 67, 1081, 1082, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 0, 0, 0, 0, 0, 2171166, 2171166, 2171166, 2171166, 2171166, 2437406, 2171166, 2171166, 97, 1115, 97, 1117, 97, 97, 97, 97, 97, 97, 1125, 97, 1127, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 1644, 97, 97, 97, 0, 97, 97, 97, 0, 97, 97, 1642, 97, 97, 97, 97, 97, 97, 625, 97, 97, 97, 97, 97, 97, 97, 97, 97, 316, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1159, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1502, 97, 97, 97, 97, 97, 1172, 97, 97, 1175, 1176, 97, 97, 12288, 0, 925, 0, 1179, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 45, 935, 45, 45, 45, 1233, 45, 45, 45, 1236, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1873, 67, 67, 45, 45, 1218, 45, 45, 45, 1223, 45, 45, 45, 45, 45, 45, 45, 1230, 45, 45, 67, 67, 215, 219, 222, 67, 230, 67, 67, 244, 246, 249, 67, 67, 67, 67, 67, 67, 1882, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 1904, 45, 1905, 45, 67, 67, 67, 67, 67, 1258, 67, 1260, 67, 67, 67, 67, 67, 67, 67, 67, 67, 495, 67, 67, 67, 67, 67, 67, 67, 67, 1283, 67, 67, 67, 67, 67, 67, 67, 1290, 67, 67, 67, 67, 67, 67, 67, 818, 67, 67, 67, 67, 67, 67, 37689, 544, 67, 67, 1295, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 2174976, 0, 0, 97, 97, 97, 1326, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1514, 97, 97, 97, 97, 97, 1338, 97, 1340, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1500, 97, 97, 1503, 97, 1363, 97, 97, 97, 97, 97, 97, 97, 1370, 97, 97, 97, 97, 97, 97, 97, 563, 97, 97, 97, 97, 97, 97, 578, 97, 1375, 97, 97, 97, 97, 97, 97, 97, 97, 0, 1179, 0, 45, 45, 45, 45, 685, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1003, 45, 45, 45, 45, 67, 67, 67, 1463, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1778, 97, 97, 97, 97, 97, 1518, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 609, 97, 97, 97, 45, 1542, 45, 45, 45, 45, 45, 45, 45, 1548, 45, 45, 45, 45, 45, 1554, 45, 1570, 1571, 45, 67, 67, 67, 67, 67, 67, 1578, 67, 67, 67, 67, 67, 67, 67, 1055, 67, 67, 67, 67, 67, 1061, 67, 67, 1582, 67, 67, 67, 67, 67, 67, 67, 1588, 67, 67, 67, 67, 67, 1594, 67, 67, 67, 67, 67, 97, 2038, 0, 97, 97, 97, 97, 97, 2044, 45, 45, 45, 995, 45, 45, 45, 45, 1000, 45, 45, 45, 45, 45, 45, 45, 1809, 45, 1811, 45, 45, 45, 45, 45, 67, 1610, 1611, 67, 1476, 0, 1478, 0, 1480, 0, 97, 97, 97, 97, 97, 97, 1618, 1647, 1649, 97, 97, 97, 1652, 97, 1654, 1655, 97, 0, 45, 45, 45, 1658, 45, 45, 67, 67, 216, 67, 67, 67, 67, 234, 67, 67, 67, 67, 252, 254, 1845, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 945, 45, 947, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1881, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 1902, 45, 45, 45, 45, 45, 45, 1908, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1921, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 0, 97, 1937, 97, 97, 1940, 0, 0, 97, 97, 97, 97, 97, 97, 1947, 1948, 1949, 45, 45, 45, 1952, 45, 1954, 45, 45, 45, 45, 1959, 1960, 1961, 67, 67, 67, 67, 67, 67, 1455, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 757, 67, 67, 67, 67, 67, 67, 1964, 67, 1966, 67, 67, 67, 67, 1971, 1972, 1973, 97, 0, 0, 0, 97, 97, 1104, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 884, 97, 97, 97, 889, 97, 97, 1978, 97, 0, 0, 1981, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 736, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1018, 67, 67, 67, 45, 67, 67, 67, 67, 0, 2049, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 933, 45, 45, 45, 45, 1234, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 97, 97, 288, 97, 97, 97, 97, 97, 97, 317, 97, 97, 97, 97, 97, 97, 0, 0, 97, 1787, 97, 97, 97, 97, 0, 0, 45, 45, 378, 45, 45, 45, 45, 45, 390, 45, 45, 45, 45, 45, 45, 45, 424, 45, 45, 45, 431, 433, 45, 45, 45, 67, 1050, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 518, 67, 97, 97, 97, 1144, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 632, 97, 97, 97, 97, 97, 97, 97, 1367, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 855, 97, 97, 97, 97, 67, 97, 97, 97, 97, 97, 97, 1837, 0, 97, 97, 97, 97, 97, 0, 0, 0, 1897, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1208, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 724, 45, 45, 45, 45, 45, 97, 2010, 45, 45, 45, 45, 45, 45, 2016, 67, 67, 67, 67, 67, 67, 2022, 45, 2046, 67, 67, 67, 0, 0, 2050, 97, 97, 97, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 0, 932, 45, 45, 45, 45, 45, 1222, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1227, 45, 45, 45, 45, 45, 133, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 45, 701, 702, 45, 45, 705, 706, 45, 45, 45, 45, 45, 45, 703, 45, 45, 45, 45, 45, 45, 45, 45, 45, 719, 45, 45, 45, 45, 45, 725, 45, 45, 45, 369, 649, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1216, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 834, 97, 97, 97, 97, 97, 97, 97, 1342, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 1799, 97, 97, 45, 45, 45, 1569, 45, 45, 45, 1572, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 1306, 0, 67, 67, 67, 1598, 67, 67, 67, 67, 67, 67, 67, 67, 1606, 67, 67, 1609, 97, 97, 97, 1650, 97, 97, 1653, 97, 97, 97, 0, 45, 45, 1657, 45, 45, 45, 1206, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1421, 45, 45, 45, 1703, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 1711, 97, 97, 0, 1895, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 958, 45, 960, 45, 45, 45, 45, 45, 45, 45, 45, 1913, 45, 45, 1915, 67, 67, 67, 67, 67, 67, 67, 466, 67, 67, 67, 67, 67, 67, 481, 67, 45, 1749, 45, 45, 45, 45, 45, 45, 45, 45, 1755, 45, 45, 45, 45, 45, 173, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 974, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1773, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1886, 0, 0, 0, 97, 97, 67, 2035, 2036, 67, 67, 97, 0, 0, 97, 2041, 2042, 97, 97, 45, 45, 45, 45, 1662, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1397, 45, 45, 45, 45, 151, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 437, 205, 45, 67, 67, 67, 218, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1047, 67, 67, 67, 67, 97, 97, 97, 97, 298, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 870, 97, 97, 97, 97, 97, 97, 97, 97, 352, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 0, 0, 0, 0, 0, 365, 0, 41098, 0, 140, 45, 45, 45, 45, 45, 1427, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1435, 520, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1037, 617, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 923, 45, 1232, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1919, 67, 1759, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1021, 45, 154, 45, 162, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 964, 45, 45, 45, 206, 45, 67, 67, 67, 67, 221, 67, 229, 67, 67, 67, 67, 67, 67, 67, 67, 530, 67, 67, 67, 67, 67, 67, 67, 67, 755, 67, 67, 67, 67, 67, 67, 67, 67, 785, 67, 67, 67, 67, 67, 67, 67, 67, 802, 67, 67, 67, 807, 67, 67, 67, 97, 97, 97, 97, 353, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 402, 45, 45, 45, 45, 45, 45, 45, 410, 45, 45, 45, 45, 45, 45, 45, 674, 45, 45, 45, 45, 45, 45, 45, 45, 389, 45, 394, 45, 45, 398, 45, 45, 45, 45, 441, 45, 45, 45, 45, 45, 447, 45, 45, 45, 454, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1768, 67, 67, 67, 67, 67, 488, 67, 67, 67, 67, 67, 67, 67, 496, 67, 67, 67, 67, 67, 67, 67, 1774, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 67, 67, 523, 67, 67, 527, 67, 67, 67, 67, 67, 533, 67, 67, 67, 540, 97, 97, 97, 585, 97, 97, 97, 97, 97, 97, 97, 593, 97, 97, 97, 97, 97, 97, 1784, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 0, 18, 18, 24, 24, 0, 28, 28, 97, 97, 620, 97, 97, 624, 97, 97, 97, 97, 97, 630, 97, 97, 97, 637, 713, 45, 45, 45, 45, 45, 45, 721, 45, 45, 45, 45, 45, 45, 45, 45, 1197, 45, 45, 45, 45, 45, 45, 45, 45, 730, 732, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1581, 67, 45, 67, 67, 67, 67, 1012, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1059, 67, 67, 67, 67, 67, 1024, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 775, 67, 67, 67, 67, 1066, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 479, 67, 67, 67, 67, 67, 67, 1080, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, 0, 287, 0, 2379776, 2170880, 2170880, 97, 97, 97, 1118, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 920, 97, 97, 0, 0, 0, 0, 45, 1181, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 432, 45, 45, 45, 45, 45, 45, 1219, 45, 45, 45, 45, 45, 45, 1226, 45, 45, 45, 45, 45, 45, 959, 45, 45, 45, 45, 45, 45, 45, 45, 45, 184, 45, 45, 45, 45, 202, 45, 1241, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1266, 67, 1268, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1279, 67, 67, 67, 67, 67, 272, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 67, 67, 67, 1286, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1293, 67, 67, 67, 1296, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 281, 94, 0, 0, 97, 97, 97, 1366, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1373, 97, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 0, 97, 1376, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 1384, 45, 45, 67, 208, 67, 67, 67, 67, 67, 67, 237, 67, 67, 67, 67, 67, 67, 67, 1069, 1070, 67, 67, 67, 67, 67, 67, 67, 0, 37140, 24854, 0, 0, 0, 0, 41098, 65821, 45, 1423, 45, 45, 45, 45, 45, 45, 67, 67, 1431, 67, 67, 67, 67, 67, 67, 67, 1083, 37689, 0, 25403, 0, 66365, 0, 0, 0, 1436, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1830, 67, 1452, 1453, 67, 67, 67, 67, 1456, 67, 67, 67, 67, 67, 67, 67, 67, 67, 771, 67, 67, 67, 67, 67, 67, 1461, 67, 67, 67, 1464, 67, 1466, 67, 67, 67, 67, 67, 67, 1470, 67, 67, 67, 67, 67, 67, 1587, 67, 67, 67, 67, 67, 67, 67, 67, 1595, 1489, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1129, 97, 1505, 1506, 97, 97, 97, 97, 1510, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1163, 1164, 97, 97, 97, 97, 97, 1516, 97, 97, 97, 1519, 97, 1521, 97, 97, 97, 97, 97, 97, 1525, 97, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 67, 67, 67, 67, 67, 1586, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1276, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1600, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1301, 0, 0, 0, 1307, 97, 97, 1620, 97, 97, 97, 97, 97, 97, 97, 1627, 97, 97, 97, 97, 97, 97, 913, 97, 97, 97, 97, 919, 97, 97, 97, 0, 97, 97, 97, 1781, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 1792, 1860, 45, 1862, 1863, 45, 1865, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1875, 67, 1877, 1878, 67, 1880, 67, 97, 97, 97, 97, 97, 1887, 0, 1889, 97, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 237568, 0, 367, 0, 97, 1893, 0, 0, 0, 97, 1898, 1899, 97, 1901, 97, 45, 45, 45, 45, 45, 2014, 45, 67, 67, 67, 67, 67, 2020, 67, 97, 1989, 45, 1990, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1996, 67, 1997, 67, 67, 67, 67, 67, 273, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 97, 97, 97, 97, 0, 0, 97, 97, 2005, 0, 97, 2007, 97, 97, 18, 0, 139621, 0, 0, 0, 642, 0, 133, 364, 0, 0, 367, 41606, 0, 97, 97, 2056, 2057, 0, 2059, 45, 67, 0, 97, 45, 67, 0, 97, 45, 45, 67, 209, 67, 67, 67, 223, 67, 67, 67, 67, 67, 67, 67, 67, 67, 786, 67, 67, 67, 791, 67, 67, 45, 45, 940, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 727, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1016, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 0, 133, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 142, 45, 45, 67, 210, 67, 67, 67, 225, 67, 67, 239, 67, 67, 67, 250, 67, 67, 67, 67, 67, 464, 67, 67, 67, 67, 67, 476, 67, 67, 67, 67, 67, 67, 67, 1709, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 1843, 0, 67, 259, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 289, 97, 97, 97, 303, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 901, 97, 97, 97, 97, 97, 339, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 0, 358, 0, 0, 0, 0, 0, 0, 41098, 0, 140, 45, 45, 45, 45, 45, 1953, 45, 1955, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1687, 1688, 67, 67, 67, 67, 45, 45, 405, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1203, 45, 458, 67, 67, 67, 67, 67, 67, 67, 67, 67, 470, 477, 67, 67, 67, 67, 67, 67, 67, 1970, 97, 97, 97, 1974, 0, 0, 0, 97, 1103, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1372, 97, 97, 97, 97, 67, 522, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 536, 67, 67, 67, 67, 67, 67, 1696, 67, 67, 67, 67, 67, 67, 67, 1701, 67, 555, 97, 97, 97, 97, 97, 97, 97, 97, 97, 567, 574, 97, 97, 97, 97, 97, 301, 97, 309, 97, 97, 97, 97, 97, 97, 97, 97, 97, 900, 97, 97, 97, 905, 97, 97, 97, 619, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 633, 97, 97, 18, 0, 139621, 0, 0, 362, 0, 0, 0, 364, 0, 0, 367, 41606, 369, 649, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 663, 664, 67, 67, 67, 67, 750, 751, 67, 67, 67, 67, 758, 67, 67, 67, 67, 67, 67, 67, 1272, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1057, 1058, 67, 67, 67, 67, 67, 67, 67, 67, 797, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 512, 67, 67, 67, 97, 97, 97, 97, 895, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 902, 97, 97, 97, 97, 67, 67, 1051, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1062, 67, 67, 67, 67, 67, 491, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1302, 0, 0, 0, 1308, 97, 97, 97, 97, 1145, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1139, 97, 97, 97, 97, 1156, 97, 97, 97, 97, 97, 97, 1161, 97, 97, 97, 97, 97, 1166, 97, 97, 18, 640, 139621, 0, 641, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 67, 67, 67, 67, 1257, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 1305, 0, 0, 97, 97, 1337, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1630, 97, 67, 1474, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380062, 2171166, 2171166, 97, 1529, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1228, 45, 45, 45, 45, 67, 67, 67, 67, 1707, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 1891, 1739, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1198, 45, 1200, 45, 45, 45, 45, 97, 97, 1894, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 672, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1420, 45, 45, 45, 45, 67, 67, 1965, 67, 1967, 67, 67, 67, 97, 97, 97, 97, 0, 1976, 0, 97, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 97, 97, 1979, 0, 0, 97, 1982, 97, 97, 97, 1986, 45, 45, 45, 45, 45, 735, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1770, 67, 67, 2000, 97, 97, 97, 2002, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1798, 97, 97, 97, 45, 45, 45, 2034, 67, 67, 67, 67, 97, 0, 0, 2040, 97, 97, 97, 97, 45, 45, 45, 45, 1752, 45, 45, 45, 1753, 1754, 45, 45, 45, 45, 45, 45, 383, 45, 45, 45, 45, 45, 45, 45, 45, 45, 675, 45, 45, 45, 45, 45, 45, 438, 45, 45, 45, 45, 45, 445, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1430, 67, 67, 67, 67, 67, 67, 67, 67, 67, 524, 67, 67, 67, 67, 67, 531, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 1096, 97, 97, 97, 621, 97, 97, 97, 97, 97, 628, 97, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 356, 28, 28, 665, 45, 45, 45, 45, 45, 45, 45, 45, 45, 676, 45, 45, 45, 45, 45, 942, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 707, 708, 45, 45, 45, 45, 763, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 809, 810, 67, 67, 67, 67, 783, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 1303, 0, 0, 0, 97, 861, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 613, 97, 45, 45, 956, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1215, 45, 67, 67, 67, 67, 1027, 67, 67, 67, 67, 1032, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 0, 25403, 0, 66365, 0, 0, 1097, 1064, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1075, 67, 1098, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 331, 97, 97, 97, 97, 1158, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 594, 97, 97, 1309, 0, 0, 0, 1315, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1374, 97, 45, 45, 1543, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1240, 67, 67, 1583, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1252, 67, 97, 97, 97, 1635, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1800, 97, 45, 45, 45, 97, 97, 1793, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1743, 45, 45, 45, 1746, 45, 0, 97, 97, 97, 97, 97, 1851, 97, 45, 45, 45, 45, 1856, 45, 45, 45, 45, 1864, 45, 45, 67, 67, 1869, 67, 67, 67, 67, 1874, 67, 0, 97, 97, 45, 67, 2058, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 45, 67, 211, 67, 67, 67, 67, 67, 67, 240, 67, 67, 67, 67, 67, 67, 67, 1444, 67, 67, 67, 67, 67, 67, 67, 67, 67, 509, 67, 67, 67, 67, 67, 67, 67, 67, 67, 268, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 290, 97, 97, 97, 305, 97, 97, 319, 97, 97, 97, 330, 97, 97, 18, 640, 139621, 0, 641, 0, 0, 0, 0, 364, 0, 643, 367, 41606, 97, 97, 348, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 380, 45, 45, 45, 45, 45, 45, 395, 45, 45, 45, 400, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 658, 45, 45, 45, 45, 45, 972, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 427, 45, 45, 45, 45, 45, 745, 67, 67, 67, 67, 67, 67, 67, 67, 756, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 1086, 25403, 1090, 66365, 1094, 0, 0, 97, 843, 97, 97, 97, 97, 97, 97, 97, 97, 854, 97, 97, 97, 97, 97, 97, 1121, 97, 97, 97, 97, 1126, 97, 97, 97, 97, 45, 980, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1400, 45, 67, 67, 67, 1011, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 1304, 0, 0, 0, 1190, 45, 45, 1193, 1194, 45, 45, 45, 45, 45, 1199, 45, 1201, 45, 45, 45, 45, 1911, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1579, 67, 67, 67, 67, 45, 1205, 45, 45, 45, 45, 45, 45, 45, 45, 1211, 45, 45, 45, 45, 45, 984, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1550, 45, 45, 45, 45, 45, 1217, 45, 45, 45, 45, 45, 45, 1225, 45, 45, 45, 45, 1229, 45, 45, 45, 1388, 45, 45, 45, 45, 45, 45, 1396, 45, 45, 45, 45, 45, 444, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1574, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1590, 67, 67, 67, 67, 67, 1254, 67, 67, 67, 67, 67, 1259, 67, 1261, 67, 67, 67, 67, 1265, 67, 67, 67, 67, 67, 67, 1708, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 67, 67, 67, 67, 1285, 67, 67, 67, 67, 1289, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 1087, 25403, 1091, 66365, 1095, 0, 0, 97, 97, 97, 97, 1339, 97, 1341, 97, 97, 97, 97, 1345, 97, 97, 97, 97, 97, 561, 97, 97, 97, 97, 97, 573, 97, 97, 97, 97, 97, 97, 1717, 97, 0, 97, 97, 97, 97, 97, 97, 97, 591, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1329, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1351, 97, 97, 97, 97, 97, 97, 1357, 97, 97, 97, 97, 97, 588, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 568, 97, 97, 97, 97, 97, 97, 97, 1365, 97, 97, 97, 97, 1369, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1356, 97, 97, 97, 97, 97, 97, 45, 45, 1403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1399, 45, 45, 45, 1413, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1669, 45, 1422, 45, 45, 1425, 45, 45, 1428, 45, 1429, 67, 67, 67, 67, 67, 67, 67, 67, 1468, 67, 67, 67, 67, 67, 67, 67, 67, 529, 67, 67, 67, 67, 67, 67, 539, 67, 67, 1475, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 2170880, 2170880, 2170880, 2416640, 97, 97, 1530, 97, 0, 45, 45, 1534, 45, 45, 45, 45, 45, 45, 45, 45, 1956, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1599, 67, 67, 1601, 67, 67, 67, 67, 67, 67, 67, 67, 67, 803, 67, 67, 67, 67, 67, 67, 1632, 97, 1634, 0, 97, 97, 97, 1640, 97, 97, 97, 1643, 97, 97, 1645, 97, 97, 97, 97, 97, 912, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1660, 1661, 45, 45, 45, 45, 1665, 1666, 45, 45, 45, 45, 45, 1670, 1692, 1693, 67, 67, 67, 67, 67, 1697, 67, 67, 67, 67, 67, 67, 67, 1702, 97, 97, 1714, 1715, 97, 97, 97, 97, 0, 1721, 1722, 97, 97, 97, 97, 97, 97, 1353, 97, 97, 97, 97, 97, 97, 97, 97, 1362, 1726, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 1734, 97, 97, 97, 97, 97, 848, 849, 97, 97, 97, 97, 856, 97, 97, 97, 97, 97, 354, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 45, 45, 1750, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1681, 45, 0, 1846, 97, 97, 97, 97, 97, 97, 45, 45, 1854, 45, 45, 45, 45, 1859, 67, 67, 67, 1879, 67, 67, 97, 97, 1884, 97, 97, 0, 0, 0, 97, 97, 97, 1105, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1344, 97, 97, 97, 1347, 97, 1892, 97, 0, 0, 0, 97, 97, 97, 1900, 97, 97, 45, 45, 45, 45, 45, 997, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1002, 45, 45, 1005, 1006, 45, 67, 67, 67, 67, 67, 1926, 67, 67, 1928, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1737, 97, 0, 97, 97, 97, 97, 0, 0, 0, 97, 97, 1944, 97, 97, 1946, 45, 45, 45, 1544, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 190, 45, 45, 45, 152, 155, 45, 163, 45, 45, 177, 179, 182, 45, 45, 45, 193, 197, 45, 45, 45, 1672, 45, 45, 45, 45, 45, 1677, 45, 1679, 45, 45, 45, 45, 996, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1212, 45, 45, 45, 45, 67, 260, 264, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 97, 295, 299, 302, 97, 310, 97, 97, 324, 326, 329, 97, 97, 97, 0, 97, 97, 1639, 0, 1641, 97, 97, 97, 97, 97, 97, 97, 97, 1511, 97, 97, 97, 97, 97, 97, 97, 97, 1523, 97, 97, 97, 97, 97, 97, 97, 97, 1719, 97, 97, 97, 97, 97, 97, 97, 97, 1720, 97, 97, 97, 97, 97, 97, 97, 312, 97, 97, 97, 97, 97, 97, 97, 97, 1123, 97, 97, 97, 97, 97, 97, 97, 340, 344, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 373, 375, 419, 45, 45, 45, 45, 45, 45, 45, 45, 45, 428, 45, 45, 435, 45, 45, 45, 1751, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1410, 45, 45, 45, 67, 67, 67, 505, 67, 67, 67, 67, 67, 67, 67, 67, 67, 514, 67, 67, 67, 67, 67, 67, 1969, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 45, 67, 0, 97, 45, 67, 0, 97, 2064, 2065, 0, 2066, 45, 521, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 534, 67, 67, 67, 67, 67, 67, 465, 67, 67, 67, 474, 67, 67, 67, 67, 67, 67, 67, 1467, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 1933, 0, 97, 97, 97, 602, 97, 97, 97, 97, 97, 97, 97, 97, 97, 611, 97, 97, 18, 640, 139621, 358, 641, 0, 0, 0, 0, 364, 0, 0, 367, 0, 618, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 631, 97, 97, 97, 97, 97, 881, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 569, 97, 97, 97, 97, 97, 369, 0, 45, 652, 45, 45, 45, 45, 45, 657, 45, 45, 45, 45, 45, 45, 1235, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1432, 67, 67, 67, 67, 67, 67, 67, 766, 67, 67, 67, 67, 67, 67, 67, 67, 773, 67, 67, 67, 0, 1305, 0, 1311, 0, 1317, 97, 97, 97, 97, 97, 97, 97, 1624, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 1724, 97, 97, 97, 777, 67, 67, 782, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 535, 67, 67, 67, 67, 67, 67, 67, 814, 67, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 97, 837, 97, 97, 97, 97, 97, 97, 1496, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 918, 97, 97, 97, 97, 0, 842, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1168, 97, 97, 97, 97, 864, 97, 97, 97, 97, 97, 97, 97, 97, 871, 97, 97, 97, 0, 1637, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1801, 45, 45, 97, 875, 97, 97, 880, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1151, 1152, 97, 97, 97, 67, 67, 67, 1040, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 790, 67, 67, 67, 1180, 0, 649, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 200, 45, 45, 67, 67, 67, 1454, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 806, 67, 67, 67, 0, 0, 0, 1481, 0, 1094, 0, 0, 97, 1483, 97, 97, 97, 97, 97, 97, 304, 97, 97, 318, 97, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 97, 97, 97, 1507, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1332, 97, 97, 97, 1619, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1631, 97, 1633, 97, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1381, 0, 0, 45, 45, 45, 45, 97, 97, 1727, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 626, 97, 97, 97, 97, 97, 97, 636, 45, 45, 1760, 67, 67, 67, 67, 67, 67, 67, 1765, 67, 67, 67, 67, 67, 67, 67, 1299, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1616, 97, 97, 1803, 45, 45, 45, 45, 1807, 45, 45, 45, 45, 45, 1813, 45, 45, 45, 67, 67, 1684, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 822, 67, 67, 37689, 544, 67, 67, 1818, 67, 67, 67, 67, 1822, 67, 67, 67, 67, 67, 1828, 67, 67, 67, 67, 67, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 2012, 2013, 45, 45, 67, 67, 67, 2018, 2019, 67, 67, 97, 67, 97, 97, 97, 1833, 97, 97, 0, 0, 97, 97, 1840, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 1733, 97, 1735, 97, 97, 97, 0, 97, 97, 97, 1849, 97, 97, 97, 45, 45, 45, 45, 45, 1857, 45, 45, 45, 1910, 45, 1912, 45, 45, 1914, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1017, 67, 67, 1020, 67, 45, 1861, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1872, 67, 67, 67, 67, 67, 67, 752, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1446, 67, 67, 67, 67, 67, 1876, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 1890, 97, 97, 97, 97, 97, 1134, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 570, 97, 97, 97, 97, 580, 1935, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1906, 45, 67, 67, 67, 67, 2048, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 0, 0, 925, 41606, 0, 0, 0, 931, 45, 45, 45, 45, 45, 45, 1674, 45, 1676, 45, 45, 45, 45, 45, 45, 45, 446, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1871, 67, 67, 67, 67, 0, 97, 97, 45, 67, 0, 97, 2060, 2061, 0, 2063, 45, 67, 0, 97, 45, 45, 156, 45, 45, 45, 45, 45, 45, 45, 45, 45, 192, 45, 45, 45, 45, 1673, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 429, 45, 45, 45, 45, 67, 67, 67, 269, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 349, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 374, 45, 45, 67, 67, 213, 217, 67, 67, 67, 67, 67, 242, 67, 247, 67, 253, 45, 45, 698, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 399, 45, 45, 0, 0, 0, 0, 925, 41606, 0, 929, 0, 0, 45, 45, 45, 45, 45, 45, 1391, 45, 45, 1395, 45, 45, 45, 45, 45, 45, 423, 45, 45, 45, 45, 45, 45, 45, 436, 45, 67, 67, 67, 67, 1041, 67, 1043, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1776, 67, 67, 97, 97, 97, 1099, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 888, 97, 97, 97, 1131, 97, 97, 97, 97, 1135, 97, 1137, 97, 97, 97, 97, 97, 97, 97, 1497, 97, 97, 97, 97, 97, 97, 97, 97, 97, 883, 97, 97, 97, 97, 97, 97, 1310, 0, 0, 0, 1316, 0, 0, 0, 0, 1100, 0, 0, 0, 97, 97, 97, 97, 97, 1107, 97, 97, 97, 97, 97, 97, 97, 97, 1343, 97, 97, 97, 97, 97, 97, 1348, 0, 0, 1317, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1112, 97, 45, 1804, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1868, 67, 1870, 67, 67, 67, 67, 67, 1817, 67, 67, 1819, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 823, 67, 37689, 544, 67, 97, 1832, 97, 97, 1834, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 0, 1732, 97, 97, 97, 97, 97, 97, 97, 850, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1177, 0, 0, 925, 0, 0, 0, 0, 97, 97, 97, 97, 0, 0, 1941, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1991, 1992, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1998, 134, 0, 0, 0, 37, 110630, 0, 0, 0, 114730, 106539, 41098, 45, 45, 45, 45, 941, 45, 45, 944, 45, 45, 45, 45, 45, 45, 952, 45, 45, 207, 67, 67, 67, 67, 67, 226, 67, 67, 67, 67, 67, 67, 67, 67, 67, 820, 67, 67, 67, 67, 37689, 544, 369, 650, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1682, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 835, 97, 97, 97, 97, 97, 97, 97, 1522, 97, 97, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1725, 67, 67, 67, 1695, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1034, 67, 1036, 67, 67, 67, 265, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 97, 296, 97, 97, 97, 97, 314, 97, 97, 97, 97, 332, 334, 97, 97, 97, 97, 97, 1146, 1147, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1626, 97, 97, 97, 97, 97, 97, 345, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 372, 45, 45, 45, 1220, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1213, 45, 45, 45, 45, 404, 406, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 434, 45, 45, 45, 440, 45, 45, 45, 45, 45, 45, 45, 45, 451, 452, 45, 45, 45, 67, 1683, 67, 67, 67, 1686, 67, 67, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 67, 67, 490, 492, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1447, 67, 67, 1450, 67, 67, 67, 67, 67, 526, 67, 67, 67, 67, 67, 67, 67, 67, 537, 538, 67, 67, 67, 67, 67, 506, 67, 67, 508, 67, 67, 511, 67, 67, 67, 67, 0, 1476, 0, 0, 0, 0, 0, 1478, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 1484, 97, 97, 97, 97, 97, 97, 865, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1499, 97, 97, 97, 97, 97, 97, 97, 97, 97, 587, 589, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 629, 97, 97, 97, 97, 97, 97, 97, 97, 97, 623, 97, 97, 97, 97, 97, 97, 97, 97, 634, 635, 97, 97, 97, 97, 97, 1160, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1628, 97, 97, 97, 97, 369, 0, 45, 45, 45, 45, 45, 655, 45, 45, 45, 45, 45, 45, 45, 45, 999, 45, 1001, 45, 45, 45, 45, 45, 45, 45, 45, 715, 45, 45, 45, 720, 45, 45, 45, 45, 45, 45, 45, 45, 728, 25403, 546, 70179, 0, 0, 66365, 66365, 552, 0, 97, 97, 97, 97, 97, 840, 97, 97, 97, 97, 97, 1174, 97, 97, 97, 97, 0, 0, 925, 0, 0, 0, 0, 0, 0, 0, 1100, 97, 97, 97, 97, 97, 97, 97, 97, 627, 97, 97, 97, 97, 97, 97, 97, 938, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 680, 45, 968, 45, 970, 45, 973, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 962, 45, 45, 45, 45, 45, 979, 45, 45, 45, 45, 45, 985, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1224, 45, 45, 45, 45, 45, 45, 45, 45, 688, 45, 45, 45, 45, 45, 45, 45, 1007, 1008, 67, 67, 67, 67, 67, 1014, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1045, 67, 67, 67, 67, 67, 67, 67, 1038, 67, 67, 67, 67, 67, 67, 1044, 67, 1046, 67, 1049, 67, 67, 67, 67, 67, 67, 800, 67, 67, 67, 67, 67, 67, 808, 67, 67, 0, 0, 0, 1102, 97, 97, 97, 97, 97, 1108, 97, 97, 97, 97, 97, 97, 306, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1371, 97, 97, 97, 97, 97, 97, 97, 97, 1132, 97, 97, 97, 97, 97, 97, 1138, 97, 1140, 97, 1143, 97, 97, 97, 97, 97, 1352, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 869, 97, 97, 97, 97, 97, 45, 1191, 45, 45, 45, 45, 45, 1196, 45, 45, 45, 45, 45, 45, 45, 45, 1407, 45, 45, 45, 45, 45, 45, 45, 45, 986, 45, 45, 45, 45, 45, 45, 991, 45, 67, 67, 67, 1256, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1048, 67, 67, 67, 97, 1336, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 615, 97, 1386, 45, 1387, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 455, 45, 457, 45, 45, 1424, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1433, 67, 1434, 67, 67, 67, 67, 67, 767, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1591, 67, 1593, 67, 67, 45, 45, 1805, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1814, 45, 45, 1816, 67, 67, 67, 67, 1820, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1829, 67, 67, 67, 67, 67, 815, 67, 67, 67, 67, 821, 67, 67, 67, 37689, 544, 67, 1831, 97, 97, 97, 97, 1835, 0, 0, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1731, 97, 97, 97, 97, 97, 97, 97, 97, 97, 853, 97, 97, 97, 97, 97, 97, 0, 97, 97, 97, 97, 1850, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1547, 45, 45, 45, 45, 45, 45, 45, 45, 1664, 45, 45, 45, 45, 45, 45, 45, 45, 961, 45, 45, 45, 45, 965, 45, 967, 1907, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1920, 0, 1936, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 67, 67, 67, 67, 67, 67, 1763, 67, 67, 67, 67, 67, 67, 67, 67, 1056, 67, 67, 67, 67, 67, 67, 67, 67, 1273, 67, 67, 67, 67, 67, 67, 67, 67, 1457, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 28672, 97, 45, 67, 67, 67, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 2054, 97, 97, 291, 97, 97, 97, 97, 97, 97, 320, 97, 97, 97, 97, 97, 97, 307, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 12288, 0, 925, 926, 1179, 0, 45, 377, 45, 45, 45, 381, 45, 45, 392, 45, 45, 396, 45, 45, 45, 45, 971, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1756, 45, 45, 45, 67, 67, 67, 67, 463, 67, 67, 67, 467, 67, 67, 478, 67, 67, 482, 67, 67, 67, 67, 67, 1028, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1469, 67, 67, 1472, 67, 502, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1460, 67, 97, 97, 97, 97, 560, 97, 97, 97, 564, 97, 97, 575, 97, 97, 579, 97, 97, 97, 97, 97, 1368, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 925, 0, 0, 930, 97, 599, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 872, 97, 45, 666, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1758, 0, 362, 0, 0, 925, 41606, 0, 0, 0, 0, 45, 45, 934, 45, 45, 45, 164, 168, 174, 178, 45, 45, 45, 45, 45, 194, 45, 45, 45, 165, 45, 45, 45, 45, 45, 45, 45, 45, 45, 199, 45, 45, 45, 67, 67, 1010, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1060, 67, 67, 67, 67, 67, 67, 1052, 1053, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1063, 97, 1157, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1167, 97, 97, 97, 97, 97, 1379, 97, 97, 97, 0, 0, 0, 45, 1383, 45, 45, 45, 1806, 45, 45, 45, 45, 45, 45, 1812, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1577, 67, 67, 67, 67, 67, 67, 67, 753, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1262, 67, 67, 67, 67, 67, 67, 67, 1282, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1471, 67, 45, 1402, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 417, 45, 67, 1462, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 37689, 544, 97, 1517, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1128, 97, 97, 97, 97, 1636, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 851, 97, 97, 97, 97, 97, 97, 97, 67, 67, 1705, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1842, 0, 0, 1779, 97, 97, 97, 1782, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1789, 97, 97, 0, 0, 0, 97, 1847, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1675, 45, 45, 45, 45, 45, 45, 45, 45, 737, 738, 67, 740, 67, 741, 67, 743, 67, 67, 67, 67, 67, 67, 1968, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 45, 67, 0, 97, 45, 67, 2062, 97, 45, 67, 0, 97, 45, 67, 67, 97, 97, 2001, 97, 0, 0, 2004, 97, 97, 0, 97, 97, 97, 97, 1797, 97, 97, 97, 97, 97, 45, 45, 45, 67, 261, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 97, 292, 97, 97, 97, 97, 311, 315, 321, 325, 97, 97, 97, 97, 97, 97, 1623, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1330, 97, 97, 1333, 1334, 97, 341, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 0, 363, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 1221, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 413, 45, 45, 416, 45, 376, 45, 45, 45, 45, 382, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1408, 45, 45, 45, 45, 45, 403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 414, 45, 45, 45, 418, 67, 67, 67, 462, 67, 67, 67, 67, 468, 67, 67, 67, 67, 67, 67, 67, 67, 1602, 67, 1604, 67, 67, 67, 67, 67, 67, 67, 67, 489, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 500, 67, 67, 67, 67, 67, 1067, 67, 67, 67, 67, 67, 1072, 67, 67, 67, 67, 67, 67, 274, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 67, 67, 504, 67, 67, 67, 67, 67, 67, 67, 510, 67, 67, 67, 517, 519, 541, 67, 37139, 37139, 24853, 24853, 0, 70179, 0, 0, 0, 65820, 65820, 369, 287, 554, 97, 97, 97, 559, 97, 97, 97, 97, 565, 97, 97, 97, 97, 97, 97, 97, 1718, 0, 97, 97, 97, 97, 97, 97, 97, 898, 97, 97, 97, 97, 97, 97, 906, 97, 97, 97, 97, 586, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 597, 97, 97, 97, 97, 97, 1520, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 45, 1656, 45, 45, 45, 97, 97, 601, 97, 97, 97, 97, 97, 97, 97, 607, 97, 97, 97, 614, 616, 638, 97, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 369, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 661, 45, 45, 45, 407, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1815, 45, 67, 45, 667, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 678, 45, 45, 45, 421, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 976, 977, 45, 45, 45, 682, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 693, 45, 45, 697, 67, 67, 748, 67, 67, 67, 67, 754, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1274, 67, 67, 67, 67, 67, 67, 67, 67, 765, 67, 67, 67, 67, 769, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1589, 67, 67, 67, 67, 67, 67, 67, 67, 780, 67, 67, 784, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1777, 67, 97, 97, 97, 97, 97, 97, 846, 97, 97, 97, 97, 852, 97, 97, 97, 97, 97, 97, 97, 1742, 45, 45, 45, 45, 45, 45, 45, 1747, 97, 97, 97, 863, 97, 97, 97, 97, 867, 97, 97, 97, 97, 97, 97, 97, 308, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 12288, 1178, 925, 0, 1179, 0, 97, 97, 97, 878, 97, 97, 882, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 12288, 0, 925, 0, 1179, 0, 908, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 925, 0, 0, 0, 954, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 963, 45, 45, 966, 45, 45, 157, 45, 45, 171, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 948, 45, 45, 45, 45, 45, 1022, 67, 67, 1026, 67, 67, 67, 1030, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1603, 1605, 67, 67, 67, 1608, 67, 67, 67, 1039, 67, 67, 1042, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 471, 67, 67, 67, 67, 67, 0, 1100, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 904, 97, 97, 97, 97, 1116, 97, 97, 1120, 97, 97, 97, 1124, 97, 97, 97, 97, 97, 97, 562, 97, 97, 97, 571, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1133, 97, 97, 1136, 97, 97, 97, 97, 97, 97, 97, 97, 915, 917, 97, 97, 97, 97, 97, 0, 97, 1170, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 925, 0, 0, 0, 0, 0, 41606, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1993, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1275, 67, 67, 67, 1278, 67, 0, 0, 0, 45, 45, 1182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1189, 1204, 45, 45, 45, 1207, 45, 45, 1209, 45, 1210, 45, 45, 45, 45, 45, 45, 1546, 45, 45, 45, 45, 45, 45, 45, 45, 45, 689, 45, 45, 45, 45, 45, 45, 1231, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 236, 67, 67, 67, 67, 67, 67, 67, 801, 67, 67, 67, 805, 67, 67, 67, 67, 67, 1242, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1249, 67, 67, 67, 67, 67, 67, 507, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1300, 0, 0, 0, 0, 0, 1267, 67, 67, 1269, 67, 1270, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1280, 97, 1349, 97, 1350, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1360, 97, 97, 97, 0, 1980, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 673, 45, 45, 45, 45, 677, 45, 45, 45, 45, 1401, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 953, 67, 1437, 67, 1440, 67, 67, 67, 67, 1445, 67, 67, 67, 1448, 67, 67, 67, 67, 67, 67, 1029, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1825, 67, 67, 67, 67, 67, 1473, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320, 0, 834, 97, 97, 97, 97, 1490, 97, 1493, 97, 97, 97, 97, 1498, 97, 97, 97, 1501, 97, 97, 97, 0, 97, 1638, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 916, 97, 97, 97, 97, 97, 97, 0, 1528, 97, 97, 97, 0, 45, 45, 45, 1535, 45, 45, 45, 45, 45, 45, 45, 1867, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1932, 0, 0, 1555, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1567, 45, 45, 158, 45, 45, 172, 45, 45, 45, 183, 45, 45, 45, 45, 201, 45, 45, 67, 212, 67, 67, 67, 67, 231, 235, 241, 245, 67, 67, 67, 67, 67, 67, 493, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 472, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1651, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 1539, 45, 45, 45, 67, 1704, 67, 1706, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1841, 97, 0, 1844, 97, 97, 97, 97, 1716, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 590, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 1385, 1748, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1757, 45, 45, 159, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 415, 45, 45, 97, 97, 1780, 97, 97, 97, 0, 0, 1786, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1730, 0, 97, 97, 97, 97, 97, 1736, 97, 1738, 67, 97, 97, 97, 97, 97, 97, 0, 1838, 97, 97, 97, 97, 97, 0, 0, 97, 1729, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1162, 97, 97, 97, 1165, 97, 97, 97, 45, 1950, 45, 45, 45, 45, 45, 45, 45, 45, 1958, 67, 67, 67, 1962, 67, 67, 67, 67, 67, 1246, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 1710, 97, 97, 97, 1999, 67, 97, 97, 97, 97, 0, 2003, 97, 97, 97, 0, 97, 97, 2008, 2009, 45, 67, 67, 67, 67, 0, 0, 97, 97, 97, 97, 45, 2052, 67, 2053, 0, 0, 0, 0, 925, 41606, 0, 0, 930, 0, 45, 45, 45, 45, 45, 45, 1392, 45, 1394, 45, 45, 45, 45, 45, 45, 45, 1545, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1563, 1565, 45, 45, 45, 1568, 0, 97, 2055, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 28672, 97, 45, 45, 160, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 679, 45, 45, 67, 67, 266, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 346, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 0, 362, 0, 364, 0, 367, 41098, 369, 140, 371, 45, 45, 45, 379, 45, 45, 45, 388, 45, 45, 45, 45, 45, 45, 45, 45, 1663, 45, 45, 45, 45, 45, 45, 45, 45, 45, 449, 45, 45, 45, 45, 45, 67, 67, 542, 37139, 37139, 24853, 24853, 0, 70179, 0, 0, 0, 65820, 65820, 369, 287, 97, 97, 97, 97, 97, 1622, 97, 97, 97, 97, 97, 97, 97, 1629, 97, 97, 0, 1794, 1795, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1745, 45, 45, 97, 639, 18, 0, 139621, 0, 0, 0, 0, 0, 0, 364, 0, 0, 367, 41606, 45, 731, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 251, 67, 67, 67, 67, 67, 798, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1073, 67, 67, 67, 860, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 873, 0, 0, 1101, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 921, 97, 0, 67, 67, 67, 67, 1245, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1250, 67, 67, 1253, 0, 0, 1312, 0, 0, 0, 1318, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1106, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1149, 97, 97, 97, 97, 97, 1155, 97, 97, 1325, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1141, 97, 97, 67, 67, 1439, 67, 1441, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1264, 67, 67, 67, 97, 97, 1492, 97, 1494, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1331, 97, 97, 97, 97, 67, 67, 67, 2037, 67, 97, 0, 0, 97, 97, 97, 2043, 97, 45, 45, 45, 442, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 232, 67, 67, 67, 67, 67, 67, 67, 67, 1823, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1975, 0, 0, 97, 874, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1142, 97, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 65, 86, 117, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 63, 84, 115, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 61, 82, 113, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 59, 80, 111, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 57, 78, 109, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 55, 76, 107, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 53, 74, 105, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 51, 72, 103, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 49, 70, 101, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 47, 68, 99, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 45, 67, 97, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 213085, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 0, 0, 44, 0, 0, 32863, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 41, 41, 41, 0, 0, 1138688, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 0, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 89, 53264, 18, 18, 49172, 0, 57366, 0, 24, 24, 24, 0, 127, 127, 127, 127, 102432, 67, 262, 67, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 342, 97, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 360, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 717, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 412, 45, 45, 45, 45, 45, 67, 1009, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1292, 67, 67, 1294, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 97, 97, 97, 1615, 97, 97, 97, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 66, 87, 118, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 64, 85, 116, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 62, 83, 114, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 60, 81, 112, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 58, 79, 110, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 56, 77, 108, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 54, 75, 106, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 52, 73, 104, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 50, 71, 102, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 48, 69, 100, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 37, 110630, 114730, 106539, 46, 67, 98, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 233472, 53264, 18, 49172, 57366, 24, 8192, 28, 102432, 0, 110630, 114730, 106539, 0, 0, 69724, 53264, 18, 18, 49172, 0, 57366, 262144, 24, 24, 24, 0, 28, 28, 28, 28, 102432, 45, 45, 161, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 710, 45, 45, 28, 139621, 359, 0, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 1389, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 949, 45, 45, 45, 45, 67, 503, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1449, 67, 67, 97, 600, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1154, 97, 0, 0, 0, 0, 925, 41606, 927, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1866, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 772, 67, 67, 67, 67, 67, 45, 45, 969, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 951, 45, 45, 45, 45, 1192, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1202, 45, 45, 0, 0, 0, 1314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1488, 67, 67, 267, 67, 67, 67, 67, 0, 37139, 24853, 0, 0, 0, 0, 41098, 65820, 97, 347, 97, 97, 97, 97, 0, 53264, 0, 18, 18, 24, 24, 0, 28, 28, 139621, 0, 361, 0, 0, 364, 0, 367, 41098, 369, 140, 45, 45, 45, 45, 734, 45, 45, 45, 67, 67, 67, 67, 67, 742, 67, 67, 45, 45, 668, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1214, 45, 45, 1130, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1361, 97, 45, 45, 1671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1552, 45, 45, 0, 0, 0, 0, 2220032, 0, 0, 1130496, 0, 0, 0, 0, 2170880, 2171020, 2170880, 2170880, 18, 0, 0, 131072, 0, 0, 0, 90112, 0, 2220032, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 1485, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 1537, 45, 45, 45, 45, 45, 1390, 45, 1393, 45, 45, 45, 45, 1398, 45, 45, 45, 2170880, 2171167, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2576384, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 0, 0, 0, 0, 0, 2174976, 0, 0, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 2721252, 2744320, 2170880, 2170880, 2170880, 2834432, 2840040, 2170880, 2908160, 2170880, 2170880, 2936832, 2170880, 2170880, 2985984, 2170880, 2994176, 2170880, 2170880, 3014656, 2170880, 3059712, 3076096, 3088384, 2170880, 2170880, 2170880, 2170880, 0, 0, 0, 0, 2220032, 0, 0, 0, 1142784, 0, 0, 0, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3215360, 2215936, 2215936, 2215936, 2215936, 2215936, 2437120, 2215936, 2215936, 2215936, 3117056, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 2215936, 0, 543, 0, 545, 0, 0, 2183168, 0, 0, 831, 0, 2170880, 2170880, 2170880, 2400256, 2170880, 2170880, 2170880, 2170880, 3031040, 2170880, 3055616, 2170880, 2170880, 2170880, 2170880, 3092480, 2170880, 2170880, 3125248, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 2170880, 3198976, 2170880, 0, 0, 0, 0, 0, 0, 67, 67, 37139, 37139, 24853, 24853, 0, 0, 0, 0, 0, 65820, 65820, 0, 287, 97, 97, 97, 97, 97, 1783, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 1791, 0, 0, 546, 70179, 0, 0, 0, 0, 552, 0, 97, 97, 97, 97, 97, 97, 97, 604, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1150, 97, 97, 97, 97, 97, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 147456, 0, 0, 147456, 0, 0, 0, 0, 925, 41606, 0, 928, 0, 0, 45, 45, 45, 45, 45, 45, 998, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1562, 45, 1564, 45, 45, 45, 45, 0, 2158592, 2158592, 0, 0, 0, 0, 2232320, 2232320, 2232320, 0, 2240512, 2240512, 2240512, 2240512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2170880, 2170880, 2170880, 2416640
|
|
];
|
|
|
|
JSONiqTokenizer.EXPECTED =
|
|
[ 291, 300, 304, 341, 315, 309, 305, 295, 319, 323, 327, 329, 296, 333, 337, 339, 342, 346, 350, 294, 356, 360, 312, 367, 352, 371, 363, 375, 379, 383, 387, 391, 395, 726, 399, 405, 518, 684, 405, 405, 405, 405, 808, 405, 405, 405, 512, 405, 405, 405, 431, 405, 405, 406, 405, 405, 404, 405, 405, 405, 405, 405, 405, 405, 908, 631, 410, 415, 405, 414, 419, 608, 405, 429, 602, 405, 435, 443, 405, 441, 641, 478, 405, 447, 451, 450, 456, 643, 461, 460, 762, 679, 465, 469, 741, 473, 477, 482, 486, 492, 932, 931, 523, 498, 504, 720, 405, 510, 596, 405, 516, 941, 580, 522, 929, 527, 590, 589, 897, 939, 534, 538, 547, 551, 555, 559, 563, 567, 571, 969, 575, 708, 690, 689, 579, 584, 634, 405, 594, 731, 405, 600, 882, 405, 606, 895, 786, 452, 612, 405, 615, 620, 876, 624, 628, 638, 647, 651, 655, 659, 663, 667, 676, 683, 688, 695, 694, 791, 405, 699, 437, 405, 706, 714, 405, 712, 825, 870, 405, 718, 724, 769, 768, 823, 730, 735, 745, 751, 422, 755, 759, 425, 766, 902, 810, 587, 775, 888, 887, 405, 773, 992, 405, 779, 962, 405, 785, 781, 986, 790, 795, 797, 506, 500, 499, 801, 805, 814, 820, 829, 833, 837, 841, 845, 849, 853, 857, 861, 616, 865, 869, 868, 488, 405, 874, 816, 405, 880, 738, 405, 886, 892, 543, 405, 901, 906, 913, 912, 918, 494, 541, 922, 926, 936, 945, 949, 953, 957, 530, 966, 973, 960, 702, 701, 405, 979, 981, 405, 985, 747, 405, 990, 998, 914, 405, 996, 1004, 672, 975, 974, 1014, 1002, 1008, 670, 1012, 405, 405, 405, 405, 405, 401, 1018, 1022, 1026, 1106, 1071, 1111, 1111, 1111, 1082, 1145, 1030, 1101, 1034, 1038, 1106, 1106, 1106, 1106, 1046, 1206, 1052, 1106, 1072, 1111, 1111, 1042, 1134, 1065, 1111, 1112, 1056, 1160, 1207, 1062, 1204, 1208, 1069, 1106, 1106, 1106, 1076, 1111, 1207, 1161, 1122, 1205, 1064, 1094, 1106, 1106, 1107, 1111, 1111, 1111, 1078, 1086, 1207, 1092, 1098, 1046, 1058, 1106, 1106, 1110, 1111, 1111, 1116, 1120, 1161, 1126, 1202, 1104, 1106, 1145, 1146, 1129, 1138, 1088, 1151, 1048, 1157, 1153, 1132, 1141, 1165, 1107, 1111, 1172, 1179, 1109, 1183, 1175, 1143, 1147, 1187, 1108, 1191, 1195, 1144, 1199, 1168, 1212, 1216, 1220, 1224, 1228, 1232, 1236, 1557, 1247, 1241, 1241, 1038, 1434, 1241, 1241, 1241, 1241, 1254, 1275, 1617, 1241, 1280, 1287, 1241, 1241, 1241, 1287, 1241, 2114, 1291, 1241, 1243, 1241, 2049, 1824, 2094, 2095, 1520, 1309, 1241, 1241, 1302, 1241, 1321, 1311, 1241, 1241, 1313, 1778, 1325, 1336, 1241, 1241, 1325, 1330, 1353, 1241, 1241, 1695, 1354, 1241, 1241, 1241, 1294, 1686, 1331, 1241, 1696, 1368, 1241, 1338, 1370, 1241, 1392, 1399, 1364, 2017, 1406, 2016, 1405, 1716, 1406, 1407, 1422, 1417, 1421, 1241, 1241, 1241, 1349, 1426, 1241, 1774, 1756, 1241, 1773, 1241, 1241, 1345, 1964, 1812, 1432, 1241, 1241, 1345, 1993, 1459, 1241, 1241, 1241, 1395, 1848, 1767, 1465, 1241, 1241, 1394, 1847, 1242, 1477, 1241, 1241, 1428, 1241, 1445, 1492, 1241, 1241, 1438, 1241, 1499, 1241, 1241, 1241, 1455, 1241, 1818, 1448, 1241, 1250, 1241, 2026, 1623, 1449, 1241, 1612, 1616, 1241, 1614, 1241, 1257, 1241, 1241, 1985, 1292, 1586, 1512, 1241, 1517, 2050, 1526, 1674, 1519, 1524, 1647, 2051, 1532, 1537, 1551, 1544, 1550, 1555, 1561, 1571, 1578, 1584, 1590, 1591, 1653, 1595, 1602, 1606, 1610, 1634, 1628, 1640, 1633, 1645, 1241, 1241, 1241, 1469, 1241, 1970, 1651, 1241, 1270, 1241, 1241, 1819, 1449, 1241, 1293, 1664, 1241, 1241, 1481, 1485, 1574, 1672, 1241, 1241, 1513, 1317, 1487, 1684, 1241, 1241, 1533, 1299, 1694, 1241, 1241, 1295, 1241, 1241, 1241, 1546, 1700, 1241, 1241, 1707, 1241, 1713, 1241, 1849, 1715, 1241, 1720, 1241, 1276, 1267, 1241, 1241, 2107, 1657, 1864, 1241, 1881, 1241, 1326, 1292, 1241, 1685, 1358, 1724, 1338, 1241, 1363, 1362, 1342, 1340, 1361, 1339, 1833, 1372, 1360, 1833, 1833, 1342, 1343, 1835, 1341, 1731, 1738, 1344, 1241, 1745, 1241, 1379, 1241, 1241, 2092, 1241, 1388, 1761, 1754, 1241, 1386, 1241, 1400, 1760, 1241, 1241, 1241, 1598, 1734, 1241, 1241, 1241, 1635, 1645, 1241, 1780, 1766, 1241, 1241, 1332, 1771, 1241, 1241, 1629, 2079, 1241, 1242, 1784, 1241, 1241, 1680, 1639, 2063, 1790, 1241, 1241, 1741, 1241, 1241, 1800, 1241, 1241, 1762, 1473, 1241, 1806, 1241, 1241, 1786, 1240, 1709, 1241, 1241, 1241, 1668, 1811, 1241, 1940, 1241, 1401, 1974, 1241, 1408, 1413, 1382, 1241, 1816, 1241, 1241, 1802, 2086, 1811, 1241, 1817, 1945, 1823, 2095, 2095, 2047, 2094, 2046, 2080, 1241, 1409, 1312, 1376, 2096, 2048, 1241, 1241, 1807, 1241, 1241, 1241, 2035, 1241, 1241, 1828, 1241, 2057, 2061, 1241, 1241, 1843, 1241, 2059, 1241, 1241, 1241, 1690, 1847, 1241, 1241, 1241, 1703, 2102, 1848, 1241, 1241, 1853, 1292, 1848, 1241, 2016, 1857, 1241, 2002, 1868, 1241, 1436, 1241, 1241, 1271, 1305, 1241, 1874, 1241, 1241, 1884, 2037, 1892, 1241, 1890, 1241, 1461, 1241, 1241, 1795, 1241, 1241, 1891, 1241, 1878, 1241, 1888, 1241, 1888, 1905, 1896, 2087, 1912, 1903, 1241, 1911, 1906, 1916, 1905, 2027, 1863, 1925, 2088, 1859, 1861, 1922, 1927, 1931, 1935, 1494, 1241, 1241, 1918, 1907, 1939, 1917, 1944, 1949, 1241, 1241, 1451, 1955, 1241, 1241, 1241, 1796, 1727, 2061, 1241, 1241, 1899, 1241, 1660, 1968, 1241, 1241, 1951, 1678, 1978, 1241, 1241, 1241, 1839, 1241, 1241, 1984, 1982, 1241, 1488, 1241, 1241, 1624, 1450, 1989, 1241, 1241, 1241, 1870, 1995, 1292, 1241, 1241, 1958, 1261, 1241, 1996, 1241, 1241, 1241, 2039, 2008, 1241, 1241, 1750, 2000, 1241, 1256, 2001, 1960, 1241, 1564, 1241, 1504, 1241, 1241, 1442, 1241, 1241, 1564, 1528, 1263, 1241, 1508, 1241, 1241, 1468, 1498, 2006, 1540, 2015, 1539, 2014, 1748, 2013, 1539, 1831, 2014, 2012, 1500, 1567, 2022, 2021, 1241, 1580, 1241, 1241, 2033, 2037, 1791, 2045, 2031, 1241, 1621, 1241, 1641, 2044, 1241, 1241, 1241, 2093, 1241, 1241, 2055, 1241, 1241, 2067, 1241, 1283, 1241, 1241, 1241, 2101, 2071, 1241, 1241, 1241, 2073, 1848, 2040, 1241, 1241, 1241, 2077, 1241, 1241, 2106, 1241, 1241, 2084, 1241, 2111, 1241, 1241, 1381, 1380, 1241, 1241, 1241, 2100, 1241, 2129, 2118, 2122, 2126, 2197, 2133, 3010, 2825, 2145, 2698, 2156, 2226, 2160, 2161, 2165, 2174, 2293, 2194, 2630, 2201, 2203, 2152, 3019, 2226, 2263, 2209, 2213, 2218, 2269, 2292, 2269, 2269, 2184, 2226, 2238, 2148, 2151, 3017, 2245, 2214, 2269, 2269, 2185, 2226, 2292, 2269, 2291, 2269, 2269, 2269, 2292, 2205, 3019, 2226, 2226, 2160, 2160, 2160, 2261, 2160, 2160, 2160, 2262, 2276, 2160, 2160, 2277, 2216, 2283, 2216, 2269, 2269, 2268, 2269, 2267, 2269, 2269, 2269, 2271, 2568, 2292, 2269, 2293, 2269, 2182, 2190, 2269, 2186, 2226, 2226, 2226, 2226, 2227, 2160, 2160, 2160, 2160, 2263, 2160, 2275, 2277, 2282, 2215, 2217, 2269, 2269, 2291, 2269, 2269, 2293, 2291, 2269, 2220, 2269, 2295, 2294, 2269, 2269, 2305, 2233, 2262, 2278, 2218, 2269, 2234, 2226, 2226, 2228, 2160, 2160, 2160, 2289, 2220, 2294, 2294, 2269, 2269, 2304, 2269, 2160, 2160, 2287, 2269, 2269, 2305, 2269, 2269, 2312, 2269, 2269, 2225, 2226, 2160, 2287, 2289, 2219, 2304, 2295, 2314, 2234, 2226, 2314, 2269, 2226, 2226, 2160, 2288, 2219, 2222, 2304, 2296, 2269, 2224, 2160, 2160, 2269, 2302, 2294, 2314, 2224, 2226, 2288, 2220, 2294, 2269, 2290, 2269, 2269, 2293, 2269, 2269, 2269, 2269, 2270, 2221, 2313, 2225, 2227, 2160, 2300, 2269, 2225, 2261, 2309, 2234, 2229, 2223, 2318, 2318, 2318, 2328, 2336, 2340, 2344, 2350, 2637, 2712, 2358, 2362, 2372, 2135, 2378, 2398, 2135, 2135, 2135, 2135, 2136, 2417, 2241, 2135, 2378, 2135, 2135, 2980, 2984, 2135, 3006, 2135, 2135, 2135, 2945, 2931, 2425, 2400, 2135, 2135, 2135, 2954, 2135, 2481, 2433, 2135, 2135, 2988, 2824, 2135, 2135, 2482, 2434, 2135, 2135, 2440, 2445, 2452, 2135, 2135, 2998, 3002, 2961, 2441, 2446, 2453, 2463, 2974, 2135, 2135, 2135, 2140, 2642, 2709, 2459, 2470, 2465, 2135, 2135, 3005, 2135, 2135, 2987, 2823, 2458, 2469, 2464, 2975, 2135, 2135, 2135, 2353, 2488, 2447, 2324, 2974, 2135, 2409, 2459, 2448, 2135, 2961, 2487, 2446, 2476, 2323, 2973, 2135, 2135, 2135, 2354, 2476, 2974, 2135, 2135, 2135, 2957, 2135, 2135, 2960, 2135, 2135, 2135, 2363, 2409, 2459, 2474, 2465, 2487, 2571, 2973, 2135, 2135, 2168, 2973, 2135, 2135, 2135, 2959, 2135, 2135, 2135, 2506, 2135, 2957, 2488, 2170, 2135, 2135, 2135, 2960, 2135, 2818, 2493, 2135, 2135, 3033, 2135, 2135, 2135, 2934, 2819, 2494, 2135, 2135, 2135, 2976, 2780, 2499, 2135, 2135, 2135, 3000, 2968, 2135, 2935, 2135, 2135, 2135, 2364, 2507, 2135, 2135, 2934, 2135, 2135, 2780, 2492, 2507, 2135, 2135, 2506, 2780, 2135, 2135, 2782, 2780, 2135, 2782, 2135, 2783, 2374, 2514, 2135, 2135, 2135, 3007, 2530, 2974, 2135, 2135, 2135, 3008, 2135, 2135, 2134, 2135, 2526, 2531, 2975, 2135, 2135, 3042, 2581, 2575, 2956, 2135, 2135, 2135, 2394, 2135, 2508, 2535, 2840, 2844, 2495, 2135, 2135, 2136, 2684, 2537, 2842, 2846, 2135, 2136, 2561, 2581, 2551, 2536, 2841, 2845, 2975, 3043, 2582, 2843, 2555, 2135, 3040, 3044, 2538, 2844, 2975, 2135, 2135, 2253, 2644, 2672, 2542, 2554, 2135, 2135, 2346, 2873, 2551, 2555, 2135, 2135, 2135, 2381, 2559, 2565, 2538, 2553, 2135, 2560, 2914, 2576, 2590, 2135, 2135, 2135, 2408, 2136, 2596, 2624, 2135, 2135, 2135, 2409, 2135, 2618, 2597, 3008, 2135, 2135, 2380, 2956, 2601, 2135, 2135, 2135, 2410, 2620, 2624, 2135, 2136, 2383, 2135, 2135, 2783, 2623, 2135, 2135, 2393, 2888, 2136, 2621, 3008, 2135, 2618, 2618, 2622, 2135, 2135, 2405, 2414, 2619, 2384, 2624, 2135, 2136, 2950, 2135, 2138, 2135, 2139, 2135, 2604, 2623, 2135, 2140, 2878, 2665, 2957, 2622, 2135, 2135, 2428, 2762, 2606, 2612, 2135, 2135, 2501, 2586, 2604, 3038, 2135, 2604, 3036, 2387, 2958, 2386, 2135, 2141, 2135, 2421, 2387, 2385, 2135, 2385, 2384, 2384, 2135, 2386, 2628, 2384, 2135, 2135, 2501, 2596, 2591, 2135, 2135, 2135, 2400, 2135, 2634, 2135, 2135, 2559, 2580, 2575, 2648, 2135, 2135, 2135, 2429, 2649, 2135, 2135, 2135, 2435, 2654, 2658, 2135, 2135, 2135, 2436, 2649, 2178, 2659, 2135, 2135, 2595, 2601, 2669, 2677, 2135, 2135, 2616, 2957, 2879, 2665, 2691, 2135, 2363, 2367, 2900, 2878, 2664, 2690, 2975, 2877, 2643, 2670, 2974, 2671, 2975, 2135, 2135, 2619, 2608, 2669, 2673, 2135, 2135, 2653, 2177, 2672, 2135, 2135, 2135, 2486, 2168, 2251, 2255, 2695, 2974, 2709, 2135, 2135, 2135, 2487, 2169, 2399, 2716, 2975, 2135, 2363, 2770, 2776, 2640, 2717, 2135, 2135, 2729, 2135, 2135, 2641, 2718, 2135, 2135, 2135, 2505, 2135, 2640, 2257, 2974, 2135, 2727, 2975, 2135, 2365, 2332, 2895, 2957, 2135, 2959, 2135, 2365, 2749, 2754, 2959, 2958, 2958, 2135, 2380, 2793, 2799, 2135, 2735, 2738, 2135, 2381, 2135, 2135, 2940, 2974, 2135, 2744, 2135, 2135, 2739, 2519, 2976, 2745, 2135, 2135, 2135, 2509, 2755, 2135, 2135, 2135, 2510, 2772, 2778, 2135, 2135, 2740, 2520, 2135, 2771, 2777, 2135, 2135, 2759, 2750, 2792, 2798, 2135, 2135, 2781, 2392, 2779, 2135, 2135, 2135, 2521, 2135, 2679, 2248, 2135, 2135, 2681, 2480, 2135, 2135, 2786, 3000, 2135, 2679, 2683, 2135, 2135, 2416, 2135, 2135, 2135, 2525, 2135, 2730, 2135, 2135, 2135, 2560, 2581, 2135, 2805, 2135, 2135, 2804, 2962, 2832, 2974, 2135, 2382, 2135, 2135, 2958, 2135, 2135, 2960, 2135, 2829, 2833, 2975, 2961, 2965, 2969, 2973, 2968, 2972, 2135, 2135, 2135, 2641, 2135, 2515, 2966, 2970, 2851, 2478, 2135, 2135, 2808, 2135, 2809, 2135, 2135, 2135, 2722, 2852, 2479, 2135, 2135, 2815, 2135, 2135, 2766, 2853, 2480, 2135, 2857, 2479, 2135, 2388, 2723, 2135, 2364, 2331, 2894, 2858, 2480, 2135, 2135, 2850, 2478, 2135, 2135, 2135, 2806, 2864, 2135, 2399, 2256, 2974, 2865, 2135, 2135, 2862, 2135, 2135, 2135, 2685, 2807, 2865, 2135, 2135, 2807, 2863, 2135, 2135, 2135, 2686, 2884, 2807, 2135, 2809, 2807, 2135, 2135, 2807, 2806, 2705, 2810, 2808, 2700, 2869, 2702, 2702, 2702, 2704, 2883, 2135, 2135, 2135, 2730, 2884, 2135, 2135, 2135, 2731, 2321, 2546, 2135, 2135, 2876, 2255, 2889, 2322, 2547, 2135, 2401, 2135, 2135, 2135, 2949, 2367, 2893, 2544, 2973, 2906, 2973, 2135, 2135, 2877, 2663, 2368, 2901, 2907, 2974, 2366, 2899, 2905, 2972, 2920, 2974, 2135, 2135, 2911, 2900, 2920, 2363, 2913, 2918, 2465, 2941, 2975, 2135, 2135, 2924, 2928, 2974, 2945, 2931, 2135, 2135, 2135, 2765, 2136, 2955, 2135, 2135, 2939, 2931, 2380, 2135, 2135, 2380, 2135, 2135, 2135, 2780, 2507, 2137, 2135, 2137, 2135, 2139, 2135, 2806, 2810, 2135, 2135, 2135, 2992, 2135, 2135, 2962, 2966, 2970, 2974, 2135, 2135, 2787, 3014, 2135, 2521, 2993, 2135, 2135, 2135, 2803, 2135, 2135, 2135, 2618, 2607, 2997, 3001, 2135, 2135, 2963, 2967, 2971, 2975, 2135, 2135, 2791, 2797, 2135, 3009, 2999, 3003, 2787, 3001, 2135, 2135, 2964, 2968, 2785, 2999, 3003, 2135, 2135, 2135, 2804, 2785, 2999, 3004, 2135, 2135, 2135, 2807, 2135, 2135, 3023, 2135, 2135, 2135, 2811, 2135, 2135, 3027, 2135, 2135, 2135, 2837, 2968, 3028, 2135, 2135, 2135, 2875, 2135, 2784, 3029, 2135, 2408, 2457, 2446, 0, 14, 0, -2120220672, 1610612736, -2074083328, -2002780160, -2111830528, 1073872896, 1342177280, 1075807216, 4096, 16384, 2048, 8192, 0, 8192, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, -2145386496, 8388608, 1073741824, 0, 0x80000000, 0x80000000, 2097152, 2097152, 2097152, 536870912, 0, 0, 134217728, 33554432, 1536, 268435456, 268435456, 268435456, 268435456, 128, 256, 32, 0, 65536, 131072, 524288, 16777216, 268435456, 0x80000000, 1572864, 1835008, 640, 32768, 65536, 262144, 1048576, 2097152, 196608, 196800, 196608, 196608, 0, 131072, 131072, 131072, 196608, 196624, 196608, 196624, 196608, 196608, 128, 4096, 16384, 16384, 2048, 0, 4, 0, 0, 0x80000000, 2097152, 0, 1024, 32, 32, 0, 65536, 1572864, 1048576, 32768, 32768, 32768, 32768, 196608, 196608, 196608, 64, 64, 196608, 196608, 131072, 131072, 131072, 131072, 268435456, 268435456, 64, 196736, 196608, 196608, 196608, 131072, 196608, 196608, 16384, 4, 4, 4, 2, 32, 32, 65536, 1048576, 12582912, 1073741824, 0, 0, 2, 8, 16, 96, 2048, 32768, 0, 0, 131072, 268435456, 268435456, 268435456, 256, 256, 196608, 196672, 196608, 196608, 196608, 196608, 4, 0, 256, 256, 256, 256, 32, 32, 32768, 32, 32, 32, 32, 32768, 268435456, 268435456, 268435456, 196608, 196608, 196608, 196624, 196608, 196608, 196608, 16, 16, 16, 268435456, 196608, 64, 64, 64, 196608, 196608, 196608, 196672, 268435456, 64, 64, 196608, 196608, 16, 196608, 196608, 196608, 268435456, 64, 196608, 131072, 262144, 4194304, 25165824, 33554432, 134217728, 268435456, 268435456, 196608, 262152, 8, 256, 512, 3072, 16384, 200, -1073741816, 8392713, 40, 8392718, 520, 807404072, 40, 520, 100663304, 0, 0, -540651761, -540651761, 257589048, 0, 262144, 0, 0, 3, 8, 256, 0, 4, 6, 4100, 8388612, 0, 0, 0, 3, 4, 8, 256, 512, 1024, 0, 2097152, 0, 0, -537854471, -537854471, 0, 100663296, 0, 0, 1, 2, 0, 0, 0, 16384, 0, 0, 0, 96, 14336, 0, 0, 0, 7, 8, 234881024, 0, 0, 0, 8, 0, 0, 0, 0, 262144, 0, 0, 16, 64, 384, 512, 0, 1, 1, 0, 12582912, 0, 0, 0, 0, 33554432, 67108864, -606084144, -606084144, -606084138, 0, 0, 28, 32, 768, 1966080, -608174080, 0, 0, 0, 14, 35056, 16, 64, 896, 24576, 98304, 98304, 131072, 262144, 524288, 1048576, 4194304, 25165824, 1048576, 62914560, 134217728, -805306368, 0, 384, 512, 16384, 65536, 131072, 262144, 29360128, 33554432, 134217728, 268435456, 1073741824, 0x80000000, 262144, 524288, 1048576, 29360128, 33554432, 524288, 1048576, 16777216, 33554432, 134217728, 268435456, 1073741824, 0, 0, 0, 123856, 1966080, 0, 64, 384, 16384, 65536, 131072, 16384, 65536, 524288, 268435456, 0x80000000, 0, 0, 524288, 0x80000000, 0, 0, 1, 16, 0, 256, 524288, 0, 0, 0, 25, 96, 128, -537854471, 0, 0, 0, 32, 7404800, -545259520, 0, 0, 0, 60, 0, 249, 64768, 1048576, 6291456, 6291456, 25165824, 100663296, 402653184, 1073741824, 96, 128, 1280, 2048, 4096, 57344, 6291456, 57344, 6291456, 8388608, 16777216, 33554432, 201326592, 1342177280, 0x80000000, 0, 57344, 6291456, 8388608, 100663296, 134217728, 0x80000000, 0, 0, 0, 1, 8, 16, 64, 128, 64, 128, 256, 1024, 131072, 131072, 131072, 262144, 524288, 16777216, 57344, 6291456, 8388608, 67108864, 134217728, 64, 256, 1024, 2048, 4096, 57344, 64, 256, 0, 24576, 32768, 6291456, 67108864, 134217728, 0, 1, 64, 256, 24576, 32768, 4194304, 32768, 4194304, 67108864, 0, 0, 64, 256, 0, 0, 24576, 32768, 0, 16384, 4194304, 67108864, 64, 16384, 0, 0, 1, 64, 256, 16384, 4194304, 67108864, 0, 0, 0, 16384, 0, 16384, 16384, 0, -470447874, -470447874, -470447874, 0, 0, 128, 0, 0, 8, 96, 2048, 32768, 262144, 8388608, 35056, 1376256, -471859200, 0, 0, 14, 16, 224, 2048, 32768, 2097152, 4194304, 8388608, -486539264, 0, 96, 128, 2048, 32768, 262144, 2097152, 262144, 2097152, 8388608, 33554432, 536870912, 1073741824, 0x80000000, 0, 1610612736, 0x80000000, 0, 0, 1, 524288, 1048576, 12582912, 0, 0, 0, 151311, 264503296, 2097152, 8388608, 33554432, 1610612736, 0x80000000, 262144, 8388608, 33554432, 536870912, 67108864, 4194304, 0, 4194304, 0, 4194304, 4194304, 0, 0, 524288, 8388608, 536870912, 1073741824, 0x80000000, 1, 4097, 8388609, 96, 2048, 32768, 1073741824, 0x80000000, 0, 96, 2048, 0x80000000, 0, 0, 96, 2048, 0, 0, 1, 12582912, 0, 0, 0, 0, 1641895695, 1641895695, 0, 0, 0, 249, 7404800, 15, 87808, 1835008, 1639972864, 0, 768, 5120, 16384, 65536, 1835008, 1835008, 12582912, 16777216, 1610612736, 0, 3, 4, 8, 768, 4096, 65536, 0, 0, 256, 512, 786432, 8, 256, 512, 4096, 16384, 1835008, 16384, 1835008, 12582912, 1610612736, 0, 0, 0, 256, 0, 0, 0, 4, 8, 16, 32, 1, 2, 8, 256, 16384, 524288, 16384, 524288, 1048576, 12582912, 1610612736, 0, 0, 0, 8388608, 0, 0, 0, 524288, 4194304, 0, 0, 0, 8388608, -548662288, -548662288, -548662288, 0, 0, 256, 16384, 65536, 520093696, -1073741824, 0, 0, 0, 16777216, 0, 16, 32, 960, 4096, 4980736, 520093696, 1073741824, 0, 32, 896, 4096, 57344, 1048576, 6291456, 8388608, 16777216, 100663296, 134217728, 268435456, 0x80000000, 0, 512, 786432, 4194304, 33554432, 134217728, 268435456, 0, 786432, 4194304, 134217728, 268435456, 0, 524288, 4194304, 268435456, 0, 0, 0, 0, 0, 4194304, 4194304, -540651761, 0, 0, 0, 2, 4, 8, 16, 96, 128, 264503296, -805306368, 0, 0, 0, 8, 256, 512, 19456, 131072, 3072, 16384, 131072, 262144, 8388608, 16777216, 512, 1024, 2048, 16384, 131072, 262144, 131072, 262144, 8388608, 33554432, 201326592, 268435456, 0, 3, 4, 256, 1024, 2048, 57344, 16384, 131072, 8388608, 33554432, 134217728, 268435456, 0, 3, 256, 1024, 16384, 131072, 33554432, 134217728, 1073741824, 0x80000000, 0, 0, 256, 524288, 0x80000000, 0, 3, 256, 33554432, 134217728, 1073741824, 0, 1, 2, 33554432, 1, 2, 134217728, 1073741824, 0, 1, 2, 134217728, 0, 0, 0, 64, 0, 0, 0, 16, 32, 896, 4096, 786432, 4194304, 16777216, 33554432, 201326592, 268435456, 1073741824, 0x80000000, 0, 0, 0, 15, 0, 4980736, 4980736, 4980736, 70460, 70460, 3478332, 0, 0, 1008, 4984832, 520093696, 60, 4864, 65536, 0, 0, 0, 12, 16, 32, 256, 512, 4096, 65536, 0, 0, 0, 67108864, 0, 0, 0, 12, 0, 256, 512, 65536, 0, 0, 1024, 512, 131072, 131072, 4, 16, 32, 65536, 0, 4, 16, 32, 0, 0, 0, 4, 16, 0, 0, 16384, 67108864, 0, 0, 1, 24, 96, 128, 256, 1024
|
|
];
|
|
|
|
JSONiqTokenizer.TOKEN =
|
|
[
|
|
"(0)",
|
|
"JSONChar",
|
|
"JSONCharRef",
|
|
"JSONPredefinedCharRef",
|
|
"ModuleDecl",
|
|
"Annotation",
|
|
"OptionDecl",
|
|
"Operator",
|
|
"Variable",
|
|
"Tag",
|
|
"EndTag",
|
|
"PragmaContents",
|
|
"DirCommentContents",
|
|
"DirPIContents",
|
|
"CDataSectionContents",
|
|
"AttrTest",
|
|
"Wildcard",
|
|
"EQName",
|
|
"IntegerLiteral",
|
|
"DecimalLiteral",
|
|
"DoubleLiteral",
|
|
"PredefinedEntityRef",
|
|
"'\"\"'",
|
|
"EscapeApos",
|
|
"AposChar",
|
|
"ElementContentChar",
|
|
"QuotAttrContentChar",
|
|
"AposAttrContentChar",
|
|
"NCName",
|
|
"QName",
|
|
"S",
|
|
"CharRef",
|
|
"CommentContents",
|
|
"DocTag",
|
|
"DocCommentContents",
|
|
"EOF",
|
|
"'!'",
|
|
"'\"'",
|
|
"'#'",
|
|
"'#)'",
|
|
"'$$'",
|
|
"''''",
|
|
"'('",
|
|
"'(#'",
|
|
"'(:'",
|
|
"'(:~'",
|
|
"')'",
|
|
"'*'",
|
|
"'*'",
|
|
"','",
|
|
"'-->'",
|
|
"'.'",
|
|
"'/'",
|
|
"'/>'",
|
|
"':'",
|
|
"':)'",
|
|
"';'",
|
|
"'<!--'",
|
|
"'<![CDATA['",
|
|
"'<?'",
|
|
"'='",
|
|
"'>'",
|
|
"'?'",
|
|
"'?>'",
|
|
"'NaN'",
|
|
"'['",
|
|
"']'",
|
|
"']]>'",
|
|
"'after'",
|
|
"'all'",
|
|
"'allowing'",
|
|
"'ancestor'",
|
|
"'ancestor-or-self'",
|
|
"'and'",
|
|
"'any'",
|
|
"'append'",
|
|
"'array'",
|
|
"'as'",
|
|
"'ascending'",
|
|
"'at'",
|
|
"'attribute'",
|
|
"'base-uri'",
|
|
"'before'",
|
|
"'boundary-space'",
|
|
"'break'",
|
|
"'by'",
|
|
"'case'",
|
|
"'cast'",
|
|
"'castable'",
|
|
"'catch'",
|
|
"'check'",
|
|
"'child'",
|
|
"'collation'",
|
|
"'collection'",
|
|
"'comment'",
|
|
"'constraint'",
|
|
"'construction'",
|
|
"'contains'",
|
|
"'content'",
|
|
"'context'",
|
|
"'continue'",
|
|
"'copy'",
|
|
"'copy-namespaces'",
|
|
"'count'",
|
|
"'decimal-format'",
|
|
"'decimal-separator'",
|
|
"'declare'",
|
|
"'default'",
|
|
"'delete'",
|
|
"'descendant'",
|
|
"'descendant-or-self'",
|
|
"'descending'",
|
|
"'diacritics'",
|
|
"'different'",
|
|
"'digit'",
|
|
"'distance'",
|
|
"'div'",
|
|
"'document'",
|
|
"'document-node'",
|
|
"'element'",
|
|
"'else'",
|
|
"'empty'",
|
|
"'empty-sequence'",
|
|
"'encoding'",
|
|
"'end'",
|
|
"'entire'",
|
|
"'eq'",
|
|
"'every'",
|
|
"'exactly'",
|
|
"'except'",
|
|
"'exit'",
|
|
"'external'",
|
|
"'first'",
|
|
"'following'",
|
|
"'following-sibling'",
|
|
"'for'",
|
|
"'foreach'",
|
|
"'foreign'",
|
|
"'from'",
|
|
"'ft-option'",
|
|
"'ftand'",
|
|
"'ftnot'",
|
|
"'ftor'",
|
|
"'function'",
|
|
"'ge'",
|
|
"'greatest'",
|
|
"'group'",
|
|
"'grouping-separator'",
|
|
"'gt'",
|
|
"'idiv'",
|
|
"'if'",
|
|
"'import'",
|
|
"'in'",
|
|
"'index'",
|
|
"'infinity'",
|
|
"'inherit'",
|
|
"'insensitive'",
|
|
"'insert'",
|
|
"'instance'",
|
|
"'integrity'",
|
|
"'intersect'",
|
|
"'into'",
|
|
"'is'",
|
|
"'item'",
|
|
"'json'",
|
|
"'json-item'",
|
|
"'key'",
|
|
"'language'",
|
|
"'last'",
|
|
"'lax'",
|
|
"'le'",
|
|
"'least'",
|
|
"'let'",
|
|
"'levels'",
|
|
"'loop'",
|
|
"'lowercase'",
|
|
"'lt'",
|
|
"'minus-sign'",
|
|
"'mod'",
|
|
"'modify'",
|
|
"'module'",
|
|
"'most'",
|
|
"'namespace'",
|
|
"'namespace-node'",
|
|
"'ne'",
|
|
"'next'",
|
|
"'no'",
|
|
"'no-inherit'",
|
|
"'no-preserve'",
|
|
"'node'",
|
|
"'nodes'",
|
|
"'not'",
|
|
"'object'",
|
|
"'occurs'",
|
|
"'of'",
|
|
"'on'",
|
|
"'only'",
|
|
"'option'",
|
|
"'or'",
|
|
"'order'",
|
|
"'ordered'",
|
|
"'ordering'",
|
|
"'paragraph'",
|
|
"'paragraphs'",
|
|
"'parent'",
|
|
"'pattern-separator'",
|
|
"'per-mille'",
|
|
"'percent'",
|
|
"'phrase'",
|
|
"'position'",
|
|
"'preceding'",
|
|
"'preceding-sibling'",
|
|
"'preserve'",
|
|
"'previous'",
|
|
"'processing-instruction'",
|
|
"'relationship'",
|
|
"'rename'",
|
|
"'replace'",
|
|
"'return'",
|
|
"'returning'",
|
|
"'revalidation'",
|
|
"'same'",
|
|
"'satisfies'",
|
|
"'schema'",
|
|
"'schema-attribute'",
|
|
"'schema-element'",
|
|
"'score'",
|
|
"'self'",
|
|
"'sensitive'",
|
|
"'sentence'",
|
|
"'sentences'",
|
|
"'skip'",
|
|
"'sliding'",
|
|
"'some'",
|
|
"'stable'",
|
|
"'start'",
|
|
"'stemming'",
|
|
"'stop'",
|
|
"'strict'",
|
|
"'strip'",
|
|
"'structured-item'",
|
|
"'switch'",
|
|
"'text'",
|
|
"'then'",
|
|
"'thesaurus'",
|
|
"'times'",
|
|
"'to'",
|
|
"'treat'",
|
|
"'try'",
|
|
"'tumbling'",
|
|
"'type'",
|
|
"'typeswitch'",
|
|
"'union'",
|
|
"'unique'",
|
|
"'unordered'",
|
|
"'updating'",
|
|
"'uppercase'",
|
|
"'using'",
|
|
"'validate'",
|
|
"'value'",
|
|
"'variable'",
|
|
"'version'",
|
|
"'weight'",
|
|
"'when'",
|
|
"'where'",
|
|
"'while'",
|
|
"'wildcards'",
|
|
"'window'",
|
|
"'with'",
|
|
"'without'",
|
|
"'word'",
|
|
"'words'",
|
|
"'xquery'",
|
|
"'zero-digit'",
|
|
"'{'",
|
|
"'{{'",
|
|
"'|'",
|
|
"'}'",
|
|
"'}}'"
|
|
];
|
|
|
|
},{}],"/node_modules/xqlint/lib/lexers/XQueryTokenizer.js":[function(_dereq_,module,exports){
|
|
var XQueryTokenizer = exports.XQueryTokenizer = function XQueryTokenizer(string, parsingEventHandler)
|
|
{
|
|
init(string, parsingEventHandler);
|
|
var self = this;
|
|
|
|
this.ParseException = function(b, e, s, o, x)
|
|
{
|
|
var
|
|
begin = b,
|
|
end = e,
|
|
state = s,
|
|
offending = o,
|
|
expected = x;
|
|
|
|
this.getBegin = function() {return begin;};
|
|
this.getEnd = function() {return end;};
|
|
this.getState = function() {return state;};
|
|
this.getExpected = function() {return expected;};
|
|
this.getOffending = function() {return offending;};
|
|
|
|
this.getMessage = function()
|
|
{
|
|
return offending < 0 ? "lexical analysis failed" : "syntax error";
|
|
};
|
|
};
|
|
|
|
function init(string, parsingEventHandler)
|
|
{
|
|
eventHandler = parsingEventHandler;
|
|
input = string;
|
|
size = string.length;
|
|
reset(0, 0, 0);
|
|
}
|
|
|
|
this.getInput = function()
|
|
{
|
|
return input;
|
|
};
|
|
|
|
function reset(l, b, e)
|
|
{
|
|
b0 = b; e0 = b;
|
|
l1 = l; b1 = b; e1 = e;
|
|
end = e;
|
|
eventHandler.reset(input);
|
|
}
|
|
|
|
this.getOffendingToken = function(e)
|
|
{
|
|
var o = e.getOffending();
|
|
return o >= 0 ? XQueryTokenizer.TOKEN[o] : null;
|
|
};
|
|
|
|
this.getExpectedTokenSet = function(e)
|
|
{
|
|
var expected;
|
|
if (e.getExpected() < 0)
|
|
{
|
|
expected = XQueryTokenizer.getTokenSet(- e.getState());
|
|
}
|
|
else
|
|
{
|
|
expected = [XQueryTokenizer.TOKEN[e.getExpected()]];
|
|
}
|
|
return expected;
|
|
};
|
|
|
|
this.getErrorMessage = function(e)
|
|
{
|
|
var tokenSet = this.getExpectedTokenSet(e);
|
|
var found = this.getOffendingToken(e);
|
|
var prefix = input.substring(0, e.getBegin());
|
|
var lines = prefix.split("\n");
|
|
var line = lines.length;
|
|
var column = lines[line - 1].length + 1;
|
|
var size = e.getEnd() - e.getBegin();
|
|
return e.getMessage()
|
|
+ (found == null ? "" : ", found " + found)
|
|
+ "\nwhile expecting "
|
|
+ (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
|
|
+ "\n"
|
|
+ (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
|
|
+ "at line " + line + ", column " + column + ":\n..."
|
|
+ input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
|
|
+ "...";
|
|
};
|
|
|
|
this.parse_start = function()
|
|
{
|
|
eventHandler.startNonterminal("start", e0);
|
|
lookahead1W(14); // ModuleDecl | Annotation | OptionDecl | Operator | Variable | Tag | AttrTest |
|
|
switch (l1)
|
|
{
|
|
case 55: // '<![CDATA['
|
|
shift(55); // '<![CDATA['
|
|
break;
|
|
case 54: // '<!--'
|
|
shift(54); // '<!--'
|
|
break;
|
|
case 56: // '<?'
|
|
shift(56); // '<?'
|
|
break;
|
|
case 40: // '(#'
|
|
shift(40); // '(#'
|
|
break;
|
|
case 42: // '(:~'
|
|
shift(42); // '(:~'
|
|
break;
|
|
case 41: // '(:'
|
|
shift(41); // '(:'
|
|
break;
|
|
case 35: // '"'
|
|
shift(35); // '"'
|
|
break;
|
|
case 38: // "'"
|
|
shift(38); // "'"
|
|
break;
|
|
case 274: // '}'
|
|
shift(274); // '}'
|
|
break;
|
|
case 271: // '{'
|
|
shift(271); // '{'
|
|
break;
|
|
case 39: // '('
|
|
shift(39); // '('
|
|
break;
|
|
case 43: // ')'
|
|
shift(43); // ')'
|
|
break;
|
|
case 49: // '/'
|
|
shift(49); // '/'
|
|
break;
|
|
case 62: // '['
|
|
shift(62); // '['
|
|
break;
|
|
case 63: // ']'
|
|
shift(63); // ']'
|
|
break;
|
|
case 46: // ','
|
|
shift(46); // ','
|
|
break;
|
|
case 48: // '.'
|
|
shift(48); // '.'
|
|
break;
|
|
case 53: // ';'
|
|
shift(53); // ';'
|
|
break;
|
|
case 51: // ':'
|
|
shift(51); // ':'
|
|
break;
|
|
case 34: // '!'
|
|
shift(34); // '!'
|
|
break;
|
|
case 273: // '|'
|
|
shift(273); // '|'
|
|
break;
|
|
case 2: // Annotation
|
|
shift(2); // Annotation
|
|
break;
|
|
case 1: // ModuleDecl
|
|
shift(1); // ModuleDecl
|
|
break;
|
|
case 3: // OptionDecl
|
|
shift(3); // OptionDecl
|
|
break;
|
|
case 12: // AttrTest
|
|
shift(12); // AttrTest
|
|
break;
|
|
case 13: // Wildcard
|
|
shift(13); // Wildcard
|
|
break;
|
|
case 15: // IntegerLiteral
|
|
shift(15); // IntegerLiteral
|
|
break;
|
|
case 16: // DecimalLiteral
|
|
shift(16); // DecimalLiteral
|
|
break;
|
|
case 17: // DoubleLiteral
|
|
shift(17); // DoubleLiteral
|
|
break;
|
|
case 5: // Variable
|
|
shift(5); // Variable
|
|
break;
|
|
case 6: // Tag
|
|
shift(6); // Tag
|
|
break;
|
|
case 4: // Operator
|
|
shift(4); // Operator
|
|
break;
|
|
case 33: // EOF
|
|
shift(33); // EOF
|
|
break;
|
|
default:
|
|
parse_EQName();
|
|
}
|
|
eventHandler.endNonterminal("start", e0);
|
|
};
|
|
|
|
this.parse_StartTag = function()
|
|
{
|
|
eventHandler.startNonterminal("StartTag", e0);
|
|
lookahead1W(8); // QName | S^WS | EOF | '"' | "'" | '/>' | '=' | '>'
|
|
switch (l1)
|
|
{
|
|
case 58: // '>'
|
|
shift(58); // '>'
|
|
break;
|
|
case 50: // '/>'
|
|
shift(50); // '/>'
|
|
break;
|
|
case 27: // QName
|
|
shift(27); // QName
|
|
break;
|
|
case 57: // '='
|
|
shift(57); // '='
|
|
break;
|
|
case 35: // '"'
|
|
shift(35); // '"'
|
|
break;
|
|
case 38: // "'"
|
|
shift(38); // "'"
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("StartTag", e0);
|
|
};
|
|
|
|
this.parse_TagContent = function()
|
|
{
|
|
eventHandler.startNonterminal("TagContent", e0);
|
|
lookahead1(11); // Tag | EndTag | PredefinedEntityRef | ElementContentChar | CharRef | EOF |
|
|
switch (l1)
|
|
{
|
|
case 23: // ElementContentChar
|
|
shift(23); // ElementContentChar
|
|
break;
|
|
case 6: // Tag
|
|
shift(6); // Tag
|
|
break;
|
|
case 7: // EndTag
|
|
shift(7); // EndTag
|
|
break;
|
|
case 55: // '<![CDATA['
|
|
shift(55); // '<![CDATA['
|
|
break;
|
|
case 54: // '<!--'
|
|
shift(54); // '<!--'
|
|
break;
|
|
case 18: // PredefinedEntityRef
|
|
shift(18); // PredefinedEntityRef
|
|
break;
|
|
case 29: // CharRef
|
|
shift(29); // CharRef
|
|
break;
|
|
case 272: // '{{'
|
|
shift(272); // '{{'
|
|
break;
|
|
case 275: // '}}'
|
|
shift(275); // '}}'
|
|
break;
|
|
case 271: // '{'
|
|
shift(271); // '{'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("TagContent", e0);
|
|
};
|
|
|
|
this.parse_AposAttr = function()
|
|
{
|
|
eventHandler.startNonterminal("AposAttr", e0);
|
|
lookahead1(10); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | EOF | "'" |
|
|
switch (l1)
|
|
{
|
|
case 20: // EscapeApos
|
|
shift(20); // EscapeApos
|
|
break;
|
|
case 25: // AposAttrContentChar
|
|
shift(25); // AposAttrContentChar
|
|
break;
|
|
case 18: // PredefinedEntityRef
|
|
shift(18); // PredefinedEntityRef
|
|
break;
|
|
case 29: // CharRef
|
|
shift(29); // CharRef
|
|
break;
|
|
case 272: // '{{'
|
|
shift(272); // '{{'
|
|
break;
|
|
case 275: // '}}'
|
|
shift(275); // '}}'
|
|
break;
|
|
case 271: // '{'
|
|
shift(271); // '{'
|
|
break;
|
|
case 38: // "'"
|
|
shift(38); // "'"
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("AposAttr", e0);
|
|
};
|
|
|
|
this.parse_QuotAttr = function()
|
|
{
|
|
eventHandler.startNonterminal("QuotAttr", e0);
|
|
lookahead1(9); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | EOF | '"' |
|
|
switch (l1)
|
|
{
|
|
case 19: // EscapeQuot
|
|
shift(19); // EscapeQuot
|
|
break;
|
|
case 24: // QuotAttrContentChar
|
|
shift(24); // QuotAttrContentChar
|
|
break;
|
|
case 18: // PredefinedEntityRef
|
|
shift(18); // PredefinedEntityRef
|
|
break;
|
|
case 29: // CharRef
|
|
shift(29); // CharRef
|
|
break;
|
|
case 272: // '{{'
|
|
shift(272); // '{{'
|
|
break;
|
|
case 275: // '}}'
|
|
shift(275); // '}}'
|
|
break;
|
|
case 271: // '{'
|
|
shift(271); // '{'
|
|
break;
|
|
case 35: // '"'
|
|
shift(35); // '"'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("QuotAttr", e0);
|
|
};
|
|
|
|
this.parse_CData = function()
|
|
{
|
|
eventHandler.startNonterminal("CData", e0);
|
|
lookahead1(1); // CDataSectionContents | EOF | ']]>'
|
|
switch (l1)
|
|
{
|
|
case 11: // CDataSectionContents
|
|
shift(11); // CDataSectionContents
|
|
break;
|
|
case 64: // ']]>'
|
|
shift(64); // ']]>'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("CData", e0);
|
|
};
|
|
|
|
this.parse_XMLComment = function()
|
|
{
|
|
eventHandler.startNonterminal("XMLComment", e0);
|
|
lookahead1(0); // DirCommentContents | EOF | '-->'
|
|
switch (l1)
|
|
{
|
|
case 9: // DirCommentContents
|
|
shift(9); // DirCommentContents
|
|
break;
|
|
case 47: // '-->'
|
|
shift(47); // '-->'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("XMLComment", e0);
|
|
};
|
|
|
|
this.parse_PI = function()
|
|
{
|
|
eventHandler.startNonterminal("PI", e0);
|
|
lookahead1(3); // DirPIContents | EOF | '?' | '?>'
|
|
switch (l1)
|
|
{
|
|
case 10: // DirPIContents
|
|
shift(10); // DirPIContents
|
|
break;
|
|
case 59: // '?'
|
|
shift(59); // '?'
|
|
break;
|
|
case 60: // '?>'
|
|
shift(60); // '?>'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("PI", e0);
|
|
};
|
|
|
|
this.parse_Pragma = function()
|
|
{
|
|
eventHandler.startNonterminal("Pragma", e0);
|
|
lookahead1(2); // PragmaContents | EOF | '#' | '#)'
|
|
switch (l1)
|
|
{
|
|
case 8: // PragmaContents
|
|
shift(8); // PragmaContents
|
|
break;
|
|
case 36: // '#'
|
|
shift(36); // '#'
|
|
break;
|
|
case 37: // '#)'
|
|
shift(37); // '#)'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("Pragma", e0);
|
|
};
|
|
|
|
this.parse_Comment = function()
|
|
{
|
|
eventHandler.startNonterminal("Comment", e0);
|
|
lookahead1(4); // CommentContents | EOF | '(:' | ':)'
|
|
switch (l1)
|
|
{
|
|
case 52: // ':)'
|
|
shift(52); // ':)'
|
|
break;
|
|
case 41: // '(:'
|
|
shift(41); // '(:'
|
|
break;
|
|
case 30: // CommentContents
|
|
shift(30); // CommentContents
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("Comment", e0);
|
|
};
|
|
|
|
this.parse_CommentDoc = function()
|
|
{
|
|
eventHandler.startNonterminal("CommentDoc", e0);
|
|
lookahead1(5); // DocTag | DocCommentContents | EOF | '(:' | ':)'
|
|
switch (l1)
|
|
{
|
|
case 31: // DocTag
|
|
shift(31); // DocTag
|
|
break;
|
|
case 32: // DocCommentContents
|
|
shift(32); // DocCommentContents
|
|
break;
|
|
case 52: // ':)'
|
|
shift(52); // ':)'
|
|
break;
|
|
case 41: // '(:'
|
|
shift(41); // '(:'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("CommentDoc", e0);
|
|
};
|
|
|
|
this.parse_QuotString = function()
|
|
{
|
|
eventHandler.startNonterminal("QuotString", e0);
|
|
lookahead1(6); // PredefinedEntityRef | EscapeQuot | QuotChar | CharRef | EOF | '"'
|
|
switch (l1)
|
|
{
|
|
case 18: // PredefinedEntityRef
|
|
shift(18); // PredefinedEntityRef
|
|
break;
|
|
case 29: // CharRef
|
|
shift(29); // CharRef
|
|
break;
|
|
case 19: // EscapeQuot
|
|
shift(19); // EscapeQuot
|
|
break;
|
|
case 21: // QuotChar
|
|
shift(21); // QuotChar
|
|
break;
|
|
case 35: // '"'
|
|
shift(35); // '"'
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("QuotString", e0);
|
|
};
|
|
|
|
this.parse_AposString = function()
|
|
{
|
|
eventHandler.startNonterminal("AposString", e0);
|
|
lookahead1(7); // PredefinedEntityRef | EscapeApos | AposChar | CharRef | EOF | "'"
|
|
switch (l1)
|
|
{
|
|
case 18: // PredefinedEntityRef
|
|
shift(18); // PredefinedEntityRef
|
|
break;
|
|
case 29: // CharRef
|
|
shift(29); // CharRef
|
|
break;
|
|
case 20: // EscapeApos
|
|
shift(20); // EscapeApos
|
|
break;
|
|
case 22: // AposChar
|
|
shift(22); // AposChar
|
|
break;
|
|
case 38: // "'"
|
|
shift(38); // "'"
|
|
break;
|
|
default:
|
|
shift(33); // EOF
|
|
}
|
|
eventHandler.endNonterminal("AposString", e0);
|
|
};
|
|
|
|
this.parse_Prefix = function()
|
|
{
|
|
eventHandler.startNonterminal("Prefix", e0);
|
|
lookahead1W(13); // NCName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
whitespace();
|
|
parse_NCName();
|
|
eventHandler.endNonterminal("Prefix", e0);
|
|
};
|
|
|
|
this.parse__EQName = function()
|
|
{
|
|
eventHandler.startNonterminal("_EQName", e0);
|
|
lookahead1W(12); // EQName^Token | S^WS | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
whitespace();
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("_EQName", e0);
|
|
};
|
|
|
|
function parse_EQName()
|
|
{
|
|
eventHandler.startNonterminal("EQName", e0);
|
|
switch (l1)
|
|
{
|
|
case 77: // 'attribute'
|
|
shift(77); // 'attribute'
|
|
break;
|
|
case 91: // 'comment'
|
|
shift(91); // 'comment'
|
|
break;
|
|
case 115: // 'document-node'
|
|
shift(115); // 'document-node'
|
|
break;
|
|
case 116: // 'element'
|
|
shift(116); // 'element'
|
|
break;
|
|
case 119: // 'empty-sequence'
|
|
shift(119); // 'empty-sequence'
|
|
break;
|
|
case 140: // 'function'
|
|
shift(140); // 'function'
|
|
break;
|
|
case 147: // 'if'
|
|
shift(147); // 'if'
|
|
break;
|
|
case 160: // 'item'
|
|
shift(160); // 'item'
|
|
break;
|
|
case 180: // 'namespace-node'
|
|
shift(180); // 'namespace-node'
|
|
break;
|
|
case 186: // 'node'
|
|
shift(186); // 'node'
|
|
break;
|
|
case 211: // 'processing-instruction'
|
|
shift(211); // 'processing-instruction'
|
|
break;
|
|
case 221: // 'schema-attribute'
|
|
shift(221); // 'schema-attribute'
|
|
break;
|
|
case 222: // 'schema-element'
|
|
shift(222); // 'schema-element'
|
|
break;
|
|
case 238: // 'switch'
|
|
shift(238); // 'switch'
|
|
break;
|
|
case 239: // 'text'
|
|
shift(239); // 'text'
|
|
break;
|
|
case 248: // 'typeswitch'
|
|
shift(248); // 'typeswitch'
|
|
break;
|
|
default:
|
|
parse_FunctionName();
|
|
}
|
|
eventHandler.endNonterminal("EQName", e0);
|
|
}
|
|
|
|
function parse_FunctionName()
|
|
{
|
|
eventHandler.startNonterminal("FunctionName", e0);
|
|
switch (l1)
|
|
{
|
|
case 14: // EQName^Token
|
|
shift(14); // EQName^Token
|
|
break;
|
|
case 65: // 'after'
|
|
shift(65); // 'after'
|
|
break;
|
|
case 68: // 'ancestor'
|
|
shift(68); // 'ancestor'
|
|
break;
|
|
case 69: // 'ancestor-or-self'
|
|
shift(69); // 'ancestor-or-self'
|
|
break;
|
|
case 70: // 'and'
|
|
shift(70); // 'and'
|
|
break;
|
|
case 74: // 'as'
|
|
shift(74); // 'as'
|
|
break;
|
|
case 75: // 'ascending'
|
|
shift(75); // 'ascending'
|
|
break;
|
|
case 79: // 'before'
|
|
shift(79); // 'before'
|
|
break;
|
|
case 83: // 'case'
|
|
shift(83); // 'case'
|
|
break;
|
|
case 84: // 'cast'
|
|
shift(84); // 'cast'
|
|
break;
|
|
case 85: // 'castable'
|
|
shift(85); // 'castable'
|
|
break;
|
|
case 88: // 'child'
|
|
shift(88); // 'child'
|
|
break;
|
|
case 89: // 'collation'
|
|
shift(89); // 'collation'
|
|
break;
|
|
case 98: // 'copy'
|
|
shift(98); // 'copy'
|
|
break;
|
|
case 100: // 'count'
|
|
shift(100); // 'count'
|
|
break;
|
|
case 103: // 'declare'
|
|
shift(103); // 'declare'
|
|
break;
|
|
case 104: // 'default'
|
|
shift(104); // 'default'
|
|
break;
|
|
case 105: // 'delete'
|
|
shift(105); // 'delete'
|
|
break;
|
|
case 106: // 'descendant'
|
|
shift(106); // 'descendant'
|
|
break;
|
|
case 107: // 'descendant-or-self'
|
|
shift(107); // 'descendant-or-self'
|
|
break;
|
|
case 108: // 'descending'
|
|
shift(108); // 'descending'
|
|
break;
|
|
case 113: // 'div'
|
|
shift(113); // 'div'
|
|
break;
|
|
case 114: // 'document'
|
|
shift(114); // 'document'
|
|
break;
|
|
case 117: // 'else'
|
|
shift(117); // 'else'
|
|
break;
|
|
case 118: // 'empty'
|
|
shift(118); // 'empty'
|
|
break;
|
|
case 121: // 'end'
|
|
shift(121); // 'end'
|
|
break;
|
|
case 123: // 'eq'
|
|
shift(123); // 'eq'
|
|
break;
|
|
case 124: // 'every'
|
|
shift(124); // 'every'
|
|
break;
|
|
case 126: // 'except'
|
|
shift(126); // 'except'
|
|
break;
|
|
case 129: // 'first'
|
|
shift(129); // 'first'
|
|
break;
|
|
case 130: // 'following'
|
|
shift(130); // 'following'
|
|
break;
|
|
case 131: // 'following-sibling'
|
|
shift(131); // 'following-sibling'
|
|
break;
|
|
case 132: // 'for'
|
|
shift(132); // 'for'
|
|
break;
|
|
case 141: // 'ge'
|
|
shift(141); // 'ge'
|
|
break;
|
|
case 143: // 'group'
|
|
shift(143); // 'group'
|
|
break;
|
|
case 145: // 'gt'
|
|
shift(145); // 'gt'
|
|
break;
|
|
case 146: // 'idiv'
|
|
shift(146); // 'idiv'
|
|
break;
|
|
case 148: // 'import'
|
|
shift(148); // 'import'
|
|
break;
|
|
case 154: // 'insert'
|
|
shift(154); // 'insert'
|
|
break;
|
|
case 155: // 'instance'
|
|
shift(155); // 'instance'
|
|
break;
|
|
case 157: // 'intersect'
|
|
shift(157); // 'intersect'
|
|
break;
|
|
case 158: // 'into'
|
|
shift(158); // 'into'
|
|
break;
|
|
case 159: // 'is'
|
|
shift(159); // 'is'
|
|
break;
|
|
case 165: // 'last'
|
|
shift(165); // 'last'
|
|
break;
|
|
case 167: // 'le'
|
|
shift(167); // 'le'
|
|
break;
|
|
case 169: // 'let'
|
|
shift(169); // 'let'
|
|
break;
|
|
case 173: // 'lt'
|
|
shift(173); // 'lt'
|
|
break;
|
|
case 175: // 'mod'
|
|
shift(175); // 'mod'
|
|
break;
|
|
case 176: // 'modify'
|
|
shift(176); // 'modify'
|
|
break;
|
|
case 177: // 'module'
|
|
shift(177); // 'module'
|
|
break;
|
|
case 179: // 'namespace'
|
|
shift(179); // 'namespace'
|
|
break;
|
|
case 181: // 'ne'
|
|
shift(181); // 'ne'
|
|
break;
|
|
case 193: // 'only'
|
|
shift(193); // 'only'
|
|
break;
|
|
case 195: // 'or'
|
|
shift(195); // 'or'
|
|
break;
|
|
case 196: // 'order'
|
|
shift(196); // 'order'
|
|
break;
|
|
case 197: // 'ordered'
|
|
shift(197); // 'ordered'
|
|
break;
|
|
case 201: // 'parent'
|
|
shift(201); // 'parent'
|
|
break;
|
|
case 207: // 'preceding'
|
|
shift(207); // 'preceding'
|
|
break;
|
|
case 208: // 'preceding-sibling'
|
|
shift(208); // 'preceding-sibling'
|
|
break;
|
|
case 213: // 'rename'
|
|
shift(213); // 'rename'
|
|
break;
|
|
case 214: // 'replace'
|
|
shift(214); // 'replace'
|
|
break;
|
|
case 215: // 'return'
|
|
shift(215); // 'return'
|
|
break;
|
|
case 219: // 'satisfies'
|
|
shift(219); // 'satisfies'
|
|
break;
|
|
case 224: // 'self'
|
|
shift(224); // 'self'
|
|
break;
|
|
case 230: // 'some'
|
|
shift(230); // 'some'
|
|
break;
|
|
case 231: // 'stable'
|
|
shift(231); // 'stable'
|
|
break;
|
|
case 232: // 'start'
|
|
shift(232); // 'start'
|
|
break;
|
|
case 243: // 'to'
|
|
shift(243); // 'to'
|
|
break;
|
|
case 244: // 'treat'
|
|
shift(244); // 'treat'
|
|
break;
|
|
case 245: // 'try'
|
|
shift(245); // 'try'
|
|
break;
|
|
case 249: // 'union'
|
|
shift(249); // 'union'
|
|
break;
|
|
case 251: // 'unordered'
|
|
shift(251); // 'unordered'
|
|
break;
|
|
case 255: // 'validate'
|
|
shift(255); // 'validate'
|
|
break;
|
|
case 261: // 'where'
|
|
shift(261); // 'where'
|
|
break;
|
|
case 265: // 'with'
|
|
shift(265); // 'with'
|
|
break;
|
|
case 269: // 'xquery'
|
|
shift(269); // 'xquery'
|
|
break;
|
|
case 67: // 'allowing'
|
|
shift(67); // 'allowing'
|
|
break;
|
|
case 76: // 'at'
|
|
shift(76); // 'at'
|
|
break;
|
|
case 78: // 'base-uri'
|
|
shift(78); // 'base-uri'
|
|
break;
|
|
case 80: // 'boundary-space'
|
|
shift(80); // 'boundary-space'
|
|
break;
|
|
case 81: // 'break'
|
|
shift(81); // 'break'
|
|
break;
|
|
case 86: // 'catch'
|
|
shift(86); // 'catch'
|
|
break;
|
|
case 93: // 'construction'
|
|
shift(93); // 'construction'
|
|
break;
|
|
case 96: // 'context'
|
|
shift(96); // 'context'
|
|
break;
|
|
case 97: // 'continue'
|
|
shift(97); // 'continue'
|
|
break;
|
|
case 99: // 'copy-namespaces'
|
|
shift(99); // 'copy-namespaces'
|
|
break;
|
|
case 101: // 'decimal-format'
|
|
shift(101); // 'decimal-format'
|
|
break;
|
|
case 120: // 'encoding'
|
|
shift(120); // 'encoding'
|
|
break;
|
|
case 127: // 'exit'
|
|
shift(127); // 'exit'
|
|
break;
|
|
case 128: // 'external'
|
|
shift(128); // 'external'
|
|
break;
|
|
case 136: // 'ft-option'
|
|
shift(136); // 'ft-option'
|
|
break;
|
|
case 149: // 'in'
|
|
shift(149); // 'in'
|
|
break;
|
|
case 150: // 'index'
|
|
shift(150); // 'index'
|
|
break;
|
|
case 156: // 'integrity'
|
|
shift(156); // 'integrity'
|
|
break;
|
|
case 166: // 'lax'
|
|
shift(166); // 'lax'
|
|
break;
|
|
case 187: // 'nodes'
|
|
shift(187); // 'nodes'
|
|
break;
|
|
case 194: // 'option'
|
|
shift(194); // 'option'
|
|
break;
|
|
case 198: // 'ordering'
|
|
shift(198); // 'ordering'
|
|
break;
|
|
case 217: // 'revalidation'
|
|
shift(217); // 'revalidation'
|
|
break;
|
|
case 220: // 'schema'
|
|
shift(220); // 'schema'
|
|
break;
|
|
case 223: // 'score'
|
|
shift(223); // 'score'
|
|
break;
|
|
case 229: // 'sliding'
|
|
shift(229); // 'sliding'
|
|
break;
|
|
case 235: // 'strict'
|
|
shift(235); // 'strict'
|
|
break;
|
|
case 246: // 'tumbling'
|
|
shift(246); // 'tumbling'
|
|
break;
|
|
case 247: // 'type'
|
|
shift(247); // 'type'
|
|
break;
|
|
case 252: // 'updating'
|
|
shift(252); // 'updating'
|
|
break;
|
|
case 256: // 'value'
|
|
shift(256); // 'value'
|
|
break;
|
|
case 257: // 'variable'
|
|
shift(257); // 'variable'
|
|
break;
|
|
case 258: // 'version'
|
|
shift(258); // 'version'
|
|
break;
|
|
case 262: // 'while'
|
|
shift(262); // 'while'
|
|
break;
|
|
case 92: // 'constraint'
|
|
shift(92); // 'constraint'
|
|
break;
|
|
case 171: // 'loop'
|
|
shift(171); // 'loop'
|
|
break;
|
|
default:
|
|
shift(216); // 'returning'
|
|
}
|
|
eventHandler.endNonterminal("FunctionName", e0);
|
|
}
|
|
|
|
function parse_NCName()
|
|
{
|
|
eventHandler.startNonterminal("NCName", e0);
|
|
switch (l1)
|
|
{
|
|
case 26: // NCName^Token
|
|
shift(26); // NCName^Token
|
|
break;
|
|
case 65: // 'after'
|
|
shift(65); // 'after'
|
|
break;
|
|
case 70: // 'and'
|
|
shift(70); // 'and'
|
|
break;
|
|
case 74: // 'as'
|
|
shift(74); // 'as'
|
|
break;
|
|
case 75: // 'ascending'
|
|
shift(75); // 'ascending'
|
|
break;
|
|
case 79: // 'before'
|
|
shift(79); // 'before'
|
|
break;
|
|
case 83: // 'case'
|
|
shift(83); // 'case'
|
|
break;
|
|
case 84: // 'cast'
|
|
shift(84); // 'cast'
|
|
break;
|
|
case 85: // 'castable'
|
|
shift(85); // 'castable'
|
|
break;
|
|
case 89: // 'collation'
|
|
shift(89); // 'collation'
|
|
break;
|
|
case 100: // 'count'
|
|
shift(100); // 'count'
|
|
break;
|
|
case 104: // 'default'
|
|
shift(104); // 'default'
|
|
break;
|
|
case 108: // 'descending'
|
|
shift(108); // 'descending'
|
|
break;
|
|
case 113: // 'div'
|
|
shift(113); // 'div'
|
|
break;
|
|
case 117: // 'else'
|
|
shift(117); // 'else'
|
|
break;
|
|
case 118: // 'empty'
|
|
shift(118); // 'empty'
|
|
break;
|
|
case 121: // 'end'
|
|
shift(121); // 'end'
|
|
break;
|
|
case 123: // 'eq'
|
|
shift(123); // 'eq'
|
|
break;
|
|
case 126: // 'except'
|
|
shift(126); // 'except'
|
|
break;
|
|
case 132: // 'for'
|
|
shift(132); // 'for'
|
|
break;
|
|
case 141: // 'ge'
|
|
shift(141); // 'ge'
|
|
break;
|
|
case 143: // 'group'
|
|
shift(143); // 'group'
|
|
break;
|
|
case 145: // 'gt'
|
|
shift(145); // 'gt'
|
|
break;
|
|
case 146: // 'idiv'
|
|
shift(146); // 'idiv'
|
|
break;
|
|
case 155: // 'instance'
|
|
shift(155); // 'instance'
|
|
break;
|
|
case 157: // 'intersect'
|
|
shift(157); // 'intersect'
|
|
break;
|
|
case 158: // 'into'
|
|
shift(158); // 'into'
|
|
break;
|
|
case 159: // 'is'
|
|
shift(159); // 'is'
|
|
break;
|
|
case 167: // 'le'
|
|
shift(167); // 'le'
|
|
break;
|
|
case 169: // 'let'
|
|
shift(169); // 'let'
|
|
break;
|
|
case 173: // 'lt'
|
|
shift(173); // 'lt'
|
|
break;
|
|
case 175: // 'mod'
|
|
shift(175); // 'mod'
|
|
break;
|
|
case 176: // 'modify'
|
|
shift(176); // 'modify'
|
|
break;
|
|
case 181: // 'ne'
|
|
shift(181); // 'ne'
|
|
break;
|
|
case 193: // 'only'
|
|
shift(193); // 'only'
|
|
break;
|
|
case 195: // 'or'
|
|
shift(195); // 'or'
|
|
break;
|
|
case 196: // 'order'
|
|
shift(196); // 'order'
|
|
break;
|
|
case 215: // 'return'
|
|
shift(215); // 'return'
|
|
break;
|
|
case 219: // 'satisfies'
|
|
shift(219); // 'satisfies'
|
|
break;
|
|
case 231: // 'stable'
|
|
shift(231); // 'stable'
|
|
break;
|
|
case 232: // 'start'
|
|
shift(232); // 'start'
|
|
break;
|
|
case 243: // 'to'
|
|
shift(243); // 'to'
|
|
break;
|
|
case 244: // 'treat'
|
|
shift(244); // 'treat'
|
|
break;
|
|
case 249: // 'union'
|
|
shift(249); // 'union'
|
|
break;
|
|
case 261: // 'where'
|
|
shift(261); // 'where'
|
|
break;
|
|
case 265: // 'with'
|
|
shift(265); // 'with'
|
|
break;
|
|
case 68: // 'ancestor'
|
|
shift(68); // 'ancestor'
|
|
break;
|
|
case 69: // 'ancestor-or-self'
|
|
shift(69); // 'ancestor-or-self'
|
|
break;
|
|
case 77: // 'attribute'
|
|
shift(77); // 'attribute'
|
|
break;
|
|
case 88: // 'child'
|
|
shift(88); // 'child'
|
|
break;
|
|
case 91: // 'comment'
|
|
shift(91); // 'comment'
|
|
break;
|
|
case 98: // 'copy'
|
|
shift(98); // 'copy'
|
|
break;
|
|
case 103: // 'declare'
|
|
shift(103); // 'declare'
|
|
break;
|
|
case 105: // 'delete'
|
|
shift(105); // 'delete'
|
|
break;
|
|
case 106: // 'descendant'
|
|
shift(106); // 'descendant'
|
|
break;
|
|
case 107: // 'descendant-or-self'
|
|
shift(107); // 'descendant-or-self'
|
|
break;
|
|
case 114: // 'document'
|
|
shift(114); // 'document'
|
|
break;
|
|
case 115: // 'document-node'
|
|
shift(115); // 'document-node'
|
|
break;
|
|
case 116: // 'element'
|
|
shift(116); // 'element'
|
|
break;
|
|
case 119: // 'empty-sequence'
|
|
shift(119); // 'empty-sequence'
|
|
break;
|
|
case 124: // 'every'
|
|
shift(124); // 'every'
|
|
break;
|
|
case 129: // 'first'
|
|
shift(129); // 'first'
|
|
break;
|
|
case 130: // 'following'
|
|
shift(130); // 'following'
|
|
break;
|
|
case 131: // 'following-sibling'
|
|
shift(131); // 'following-sibling'
|
|
break;
|
|
case 140: // 'function'
|
|
shift(140); // 'function'
|
|
break;
|
|
case 147: // 'if'
|
|
shift(147); // 'if'
|
|
break;
|
|
case 148: // 'import'
|
|
shift(148); // 'import'
|
|
break;
|
|
case 154: // 'insert'
|
|
shift(154); // 'insert'
|
|
break;
|
|
case 160: // 'item'
|
|
shift(160); // 'item'
|
|
break;
|
|
case 165: // 'last'
|
|
shift(165); // 'last'
|
|
break;
|
|
case 177: // 'module'
|
|
shift(177); // 'module'
|
|
break;
|
|
case 179: // 'namespace'
|
|
shift(179); // 'namespace'
|
|
break;
|
|
case 180: // 'namespace-node'
|
|
shift(180); // 'namespace-node'
|
|
break;
|
|
case 186: // 'node'
|
|
shift(186); // 'node'
|
|
break;
|
|
case 197: // 'ordered'
|
|
shift(197); // 'ordered'
|
|
break;
|
|
case 201: // 'parent'
|
|
shift(201); // 'parent'
|
|
break;
|
|
case 207: // 'preceding'
|
|
shift(207); // 'preceding'
|
|
break;
|
|
case 208: // 'preceding-sibling'
|
|
shift(208); // 'preceding-sibling'
|
|
break;
|
|
case 211: // 'processing-instruction'
|
|
shift(211); // 'processing-instruction'
|
|
break;
|
|
case 213: // 'rename'
|
|
shift(213); // 'rename'
|
|
break;
|
|
case 214: // 'replace'
|
|
shift(214); // 'replace'
|
|
break;
|
|
case 221: // 'schema-attribute'
|
|
shift(221); // 'schema-attribute'
|
|
break;
|
|
case 222: // 'schema-element'
|
|
shift(222); // 'schema-element'
|
|
break;
|
|
case 224: // 'self'
|
|
shift(224); // 'self'
|
|
break;
|
|
case 230: // 'some'
|
|
shift(230); // 'some'
|
|
break;
|
|
case 238: // 'switch'
|
|
shift(238); // 'switch'
|
|
break;
|
|
case 239: // 'text'
|
|
shift(239); // 'text'
|
|
break;
|
|
case 245: // 'try'
|
|
shift(245); // 'try'
|
|
break;
|
|
case 248: // 'typeswitch'
|
|
shift(248); // 'typeswitch'
|
|
break;
|
|
case 251: // 'unordered'
|
|
shift(251); // 'unordered'
|
|
break;
|
|
case 255: // 'validate'
|
|
shift(255); // 'validate'
|
|
break;
|
|
case 257: // 'variable'
|
|
shift(257); // 'variable'
|
|
break;
|
|
case 269: // 'xquery'
|
|
shift(269); // 'xquery'
|
|
break;
|
|
case 67: // 'allowing'
|
|
shift(67); // 'allowing'
|
|
break;
|
|
case 76: // 'at'
|
|
shift(76); // 'at'
|
|
break;
|
|
case 78: // 'base-uri'
|
|
shift(78); // 'base-uri'
|
|
break;
|
|
case 80: // 'boundary-space'
|
|
shift(80); // 'boundary-space'
|
|
break;
|
|
case 81: // 'break'
|
|
shift(81); // 'break'
|
|
break;
|
|
case 86: // 'catch'
|
|
shift(86); // 'catch'
|
|
break;
|
|
case 93: // 'construction'
|
|
shift(93); // 'construction'
|
|
break;
|
|
case 96: // 'context'
|
|
shift(96); // 'context'
|
|
break;
|
|
case 97: // 'continue'
|
|
shift(97); // 'continue'
|
|
break;
|
|
case 99: // 'copy-namespaces'
|
|
shift(99); // 'copy-namespaces'
|
|
break;
|
|
case 101: // 'decimal-format'
|
|
shift(101); // 'decimal-format'
|
|
break;
|
|
case 120: // 'encoding'
|
|
shift(120); // 'encoding'
|
|
break;
|
|
case 127: // 'exit'
|
|
shift(127); // 'exit'
|
|
break;
|
|
case 128: // 'external'
|
|
shift(128); // 'external'
|
|
break;
|
|
case 136: // 'ft-option'
|
|
shift(136); // 'ft-option'
|
|
break;
|
|
case 149: // 'in'
|
|
shift(149); // 'in'
|
|
break;
|
|
case 150: // 'index'
|
|
shift(150); // 'index'
|
|
break;
|
|
case 156: // 'integrity'
|
|
shift(156); // 'integrity'
|
|
break;
|
|
case 166: // 'lax'
|
|
shift(166); // 'lax'
|
|
break;
|
|
case 187: // 'nodes'
|
|
shift(187); // 'nodes'
|
|
break;
|
|
case 194: // 'option'
|
|
shift(194); // 'option'
|
|
break;
|
|
case 198: // 'ordering'
|
|
shift(198); // 'ordering'
|
|
break;
|
|
case 217: // 'revalidation'
|
|
shift(217); // 'revalidation'
|
|
break;
|
|
case 220: // 'schema'
|
|
shift(220); // 'schema'
|
|
break;
|
|
case 223: // 'score'
|
|
shift(223); // 'score'
|
|
break;
|
|
case 229: // 'sliding'
|
|
shift(229); // 'sliding'
|
|
break;
|
|
case 235: // 'strict'
|
|
shift(235); // 'strict'
|
|
break;
|
|
case 246: // 'tumbling'
|
|
shift(246); // 'tumbling'
|
|
break;
|
|
case 247: // 'type'
|
|
shift(247); // 'type'
|
|
break;
|
|
case 252: // 'updating'
|
|
shift(252); // 'updating'
|
|
break;
|
|
case 256: // 'value'
|
|
shift(256); // 'value'
|
|
break;
|
|
case 258: // 'version'
|
|
shift(258); // 'version'
|
|
break;
|
|
case 262: // 'while'
|
|
shift(262); // 'while'
|
|
break;
|
|
case 92: // 'constraint'
|
|
shift(92); // 'constraint'
|
|
break;
|
|
case 171: // 'loop'
|
|
shift(171); // 'loop'
|
|
break;
|
|
default:
|
|
shift(216); // 'returning'
|
|
}
|
|
eventHandler.endNonterminal("NCName", e0);
|
|
}
|
|
|
|
function shift(t)
|
|
{
|
|
if (l1 == t)
|
|
{
|
|
whitespace();
|
|
eventHandler.terminal(XQueryTokenizer.TOKEN[l1], b1, e1 > size ? size : e1);
|
|
b0 = b1; e0 = e1; l1 = 0;
|
|
}
|
|
else
|
|
{
|
|
error(b1, e1, 0, l1, t);
|
|
}
|
|
}
|
|
|
|
function whitespace()
|
|
{
|
|
if (e0 != b1)
|
|
{
|
|
b0 = e0;
|
|
e0 = b1;
|
|
eventHandler.whitespace(b0, e0);
|
|
}
|
|
}
|
|
|
|
function matchW(set)
|
|
{
|
|
var code;
|
|
for (;;)
|
|
{
|
|
code = match(set);
|
|
if (code != 28) // S^WS
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
return code;
|
|
}
|
|
|
|
function lookahead1W(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = matchW(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function lookahead1(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = match(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function error(b, e, s, l, t)
|
|
{
|
|
throw new self.ParseException(b, e, s, l, t);
|
|
}
|
|
|
|
var lk, b0, e0;
|
|
var l1, b1, e1;
|
|
var eventHandler;
|
|
|
|
var input;
|
|
var size;
|
|
var begin;
|
|
var end;
|
|
|
|
function match(tokenSetId)
|
|
{
|
|
var nonbmp = false;
|
|
begin = end;
|
|
var current = end;
|
|
var result = XQueryTokenizer.INITIAL[tokenSetId];
|
|
var state = 0;
|
|
|
|
for (var code = result & 4095; code != 0; )
|
|
{
|
|
var charclass;
|
|
var c0 = current < size ? input.charCodeAt(current) : 0;
|
|
++current;
|
|
if (c0 < 0x80)
|
|
{
|
|
charclass = XQueryTokenizer.MAP0[c0];
|
|
}
|
|
else if (c0 < 0xd800)
|
|
{
|
|
var c1 = c0 >> 4;
|
|
charclass = XQueryTokenizer.MAP1[(c0 & 15) + XQueryTokenizer.MAP1[(c1 & 31) + XQueryTokenizer.MAP1[c1 >> 5]]];
|
|
}
|
|
else
|
|
{
|
|
if (c0 < 0xdc00)
|
|
{
|
|
var c1 = current < size ? input.charCodeAt(current) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000)
|
|
{
|
|
++current;
|
|
c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
|
|
nonbmp = true;
|
|
}
|
|
}
|
|
var lo = 0, hi = 5;
|
|
for (var m = 3; ; m = (hi + lo) >> 1)
|
|
{
|
|
if (XQueryTokenizer.MAP2[m] > c0) hi = m - 1;
|
|
else if (XQueryTokenizer.MAP2[6 + m] < c0) lo = m + 1;
|
|
else {charclass = XQueryTokenizer.MAP2[12 + m]; break;}
|
|
if (lo > hi) {charclass = 0; break;}
|
|
}
|
|
}
|
|
|
|
state = code;
|
|
var i0 = (charclass << 12) + code - 1;
|
|
code = XQueryTokenizer.TRANSITION[(i0 & 15) + XQueryTokenizer.TRANSITION[i0 >> 4]];
|
|
|
|
if (code > 4095)
|
|
{
|
|
result = code;
|
|
code &= 4095;
|
|
end = current;
|
|
}
|
|
}
|
|
|
|
result >>= 12;
|
|
if (result == 0)
|
|
{
|
|
end = current - 1;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
return error(begin, end, state, -1, -1);
|
|
}
|
|
|
|
if (nonbmp)
|
|
{
|
|
for (var i = result >> 9; i > 0; --i)
|
|
{
|
|
--end;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
end -= result >> 9;
|
|
}
|
|
|
|
return (result & 511) - 1;
|
|
}
|
|
}
|
|
|
|
XQueryTokenizer.getTokenSet = function(tokenSetId)
|
|
{
|
|
var set = [];
|
|
var s = tokenSetId < 0 ? - tokenSetId : INITIAL[tokenSetId] & 4095;
|
|
for (var i = 0; i < 276; i += 32)
|
|
{
|
|
var j = i;
|
|
var i0 = (i >> 5) * 2062 + s - 1;
|
|
var i1 = i0 >> 2;
|
|
var i2 = i1 >> 2;
|
|
var f = XQueryTokenizer.EXPECTED[(i0 & 3) + XQueryTokenizer.EXPECTED[(i1 & 3) + XQueryTokenizer.EXPECTED[(i2 & 3) + XQueryTokenizer.EXPECTED[i2 >> 2]]]];
|
|
for ( ; f != 0; f >>>= 1, ++j)
|
|
{
|
|
if ((f & 1) != 0)
|
|
{
|
|
set.push(XQueryTokenizer.TOKEN[j]);
|
|
}
|
|
}
|
|
}
|
|
return set;
|
|
};
|
|
|
|
XQueryTokenizer.MAP0 =
|
|
[ 66, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 35, 31, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 31, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 31, 61, 62, 63, 64, 35
|
|
];
|
|
|
|
XQueryTokenizer.MAP1 =
|
|
[ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 347, 363, 379, 416, 416, 416, 408, 331, 323, 331, 323, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 433, 433, 433, 433, 433, 433, 433, 316, 331, 331, 331, 331, 331, 331, 331, 331, 394, 416, 416, 417, 415, 416, 416, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 330, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 416, 66, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 35, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 31, 31, 33, 31, 31, 31, 31, 31, 31, 34, 35, 36, 35, 31, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 31, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 31, 61, 62, 63, 64, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 31, 31, 35, 35, 35, 35, 35, 35, 35, 65, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65
|
|
];
|
|
|
|
XQueryTokenizer.MAP2 =
|
|
[ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 35, 31, 35, 31, 31, 35
|
|
];
|
|
|
|
XQueryTokenizer.INITIAL =
|
|
[ 1, 2, 36867, 45060, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
|
];
|
|
|
|
XQueryTokenizer.TRANSITION =
|
|
[ 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22908, 18836, 17152, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 17365, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 17470, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 18157, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 17848, 17880, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18023, 36545, 18621, 18039, 18056, 18072, 18117, 18143, 18173, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17687, 18805, 18421, 18437, 18101, 17393, 18489, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 18579, 21711, 17152, 19008, 19233, 20367, 19008, 28684, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 17365, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 17470, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 18157, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 17848, 17880, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18023, 36545, 18621, 18039, 18056, 18072, 18117, 18143, 18173, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17687, 18805, 18421, 18437, 18101, 17393, 18489, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 20116, 18836, 18637, 19008, 19233, 21267, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 18763, 18778, 18794, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 18821, 22923, 18906, 19008, 19233, 17431, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18937, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 19054, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 18953, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21843, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21696, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22429, 20131, 18720, 19008, 19233, 20367, 19008, 17173, 23559, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 18087, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 21242, 19111, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 19024, 18836, 18609, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 19081, 22444, 18987, 19008, 19233, 20367, 19008, 19065, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21992, 22007, 18987, 19008, 19233, 20367, 19008, 18690, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22414, 18836, 18987, 19008, 19233, 30651, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 19138, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 19280, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 19172, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21783, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 19218, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21651, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 19249, 19265, 19307, 18888, 27857, 30536, 24401, 31444, 23357, 18888, 19351, 18888, 18890, 27211, 19370, 27211, 27211, 19392, 24401, 31911, 24401, 24401, 25467, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 19440, 24401, 24401, 24401, 24401, 24036, 17994, 24060, 18888, 18888, 18888, 18890, 19468, 27211, 27211, 27211, 27211, 19484, 35367, 19520, 24401, 24401, 24401, 19628, 18888, 29855, 18888, 18888, 23086, 27211, 19538, 27211, 27211, 30756, 24012, 24401, 19560, 24401, 24401, 26750, 18888, 18888, 19327, 27855, 27211, 27211, 19580, 17590, 24017, 24401, 24401, 19600, 25665, 18888, 18888, 28518, 27211, 27212, 24016, 19620, 19868, 28435, 25722, 18889, 19644, 27211, 32888, 35852, 19868, 31018, 19694, 19376, 19717, 22215, 19735, 22098, 19751, 35203, 19776, 19797, 19817, 19840, 25783, 31738, 24135, 19701, 19856, 31015, 23516, 31008, 28311, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21768, 18836, 19307, 18888, 27857, 27904, 24401, 29183, 28015, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 19888, 24401, 24401, 24401, 24401, 22953, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 19440, 24401, 24401, 24401, 24401, 24036, 18881, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22399, 18836, 19918, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21666, 18836, 19307, 18888, 27857, 27525, 24401, 29183, 21467, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 19946, 24401, 24401, 24401, 24401, 32382, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 19998, 24401, 24401, 24401, 24401, 31500, 18467, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 20021, 24401, 24401, 24401, 24401, 24401, 34271, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 32926, 29908, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 20050, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 20101, 19039, 20191, 20412, 20903, 17569, 20309, 20872, 25633, 20623, 20505, 20218, 20242, 17189, 17208, 17281, 20355, 20265, 20306, 20328, 20383, 22490, 20796, 20619, 21354, 20654, 20410, 20956, 21232, 20765, 17421, 20535, 17192, 18127, 22459, 20312, 25531, 22470, 20309, 20428, 18964, 20466, 20491, 21342, 21070, 20521, 20682, 17714, 18326, 17543, 17559, 17585, 22497, 20559, 19504, 20279, 20575, 20290, 20475, 20604, 20639, 20226, 20670, 17661, 21190, 17703, 21176, 17730, 19494, 20698, 20711, 22480, 21046, 21116, 18971, 21130, 20727, 20755, 17675, 17753, 17832, 17590, 25518, 20394, 20781, 20831, 20202, 20847, 21401, 17292, 17934, 17979, 18549, 20863, 20588, 25542, 20888, 20919, 18072, 18117, 20935, 20972, 21032, 21062, 21086, 18239, 21102, 18563, 21146, 21162, 21206, 18351, 20949, 20902, 18340, 21222, 21258, 21283, 18360, 20249, 17405, 21295, 21311, 21327, 20739, 20343, 21370, 21386, 21417, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21977, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 21452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 21504, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 36501, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 28674, 21946, 17617, 36473, 18223, 17237, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 21575, 21534, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 21560, 30628, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21798, 18836, 21612, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21636, 18836, 18987, 19008, 19233, 17902, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21753, 19096, 21903, 19008, 19233, 20367, 19008, 19291, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 17379, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 21931, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 18280, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21962, 18594, 18987, 19008, 19233, 22043, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21681, 21858, 18987, 19008, 19233, 20367, 19008, 21544, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 32319, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 22231, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 31678, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 33588, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 35019, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22248, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 31500, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 21431, 24401, 24401, 24401, 24401, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22324, 18836, 22059, 18888, 27857, 30501, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 34365, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22354, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 27086, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 19930, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21828, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22309, 22513, 18987, 19008, 19233, 20367, 19008, 19122, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 22544, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22608, 18836, 22988, 23004, 27585, 23020, 23036, 23067, 22087, 18888, 18888, 18888, 23083, 27211, 27211, 27211, 23102, 22121, 24401, 24401, 24401, 23122, 31386, 26154, 19674, 18888, 28119, 28232, 19424, 23705, 27211, 27211, 23142, 23173, 23189, 23212, 24401, 24401, 23246, 34427, 31693, 23262, 18888, 23290, 23308, 27783, 27620, 23327, 35263, 35107, 33383, 23346, 18193, 23393, 32748, 23968, 24401, 23414, 35153, 23463, 18888, 33913, 23442, 23482, 27211, 27211, 23532, 23552, 21431, 23575, 24401, 24401, 23604, 26095, 23635, 23657, 18888, 33482, 23685, 33251, 27211, 22187, 18851, 23721, 35536, 24401, 18887, 23750, 32641, 27211, 23769, 23787, 20080, 33012, 24384, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 23803, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 28224, 31826, 23823, 26917, 34978, 23850, 26493, 25782, 23878, 23914, 23516, 31008, 22105, 19419, 27963, 19659, 29781, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22623, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 28909, 25783, 27211, 27211, 27211, 34048, 23933, 22164, 24401, 24401, 24401, 28409, 23949, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 31181, 26583, 18888, 18888, 18888, 35585, 23984, 27211, 27211, 27211, 24005, 22201, 24033, 24401, 24401, 24401, 24052, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 26496, 24076, 24126, 24151, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22638, 18836, 22059, 19678, 27857, 24185, 24401, 24201, 24217, 26592, 18888, 18888, 18890, 24252, 24268, 27211, 27211, 22121, 24287, 24303, 24401, 24401, 30613, 19781, 35432, 36007, 32649, 18888, 25783, 24322, 28966, 23771, 27211, 35072, 22164, 24358, 32106, 26829, 24400, 31500, 31693, 18888, 18888, 18888, 24801, 18890, 27211, 27211, 27211, 27211, 24418, 19484, 24401, 24401, 24401, 24401, 20167, 31181, 18888, 18888, 18888, 27833, 23086, 27211, 27211, 33540, 27211, 30756, 21431, 24401, 24401, 22972, 24401, 26095, 18888, 36131, 18888, 27855, 27211, 24440, 27211, 22187, 22968, 24401, 24459, 24401, 31699, 28454, 18888, 34528, 34570, 35779, 24478, 24402, 24494, 25659, 18888, 36228, 27211, 27211, 24515, 30981, 23734, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 24538, 31017, 27856, 31741, 30059, 23377, 24563, 19837, 25782, 19760, 31015, 23516, 25374, 22105, 19419, 29793, 24579, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22653, 18836, 22059, 25756, 19982, 34097, 23196, 29183, 24614, 24110, 23641, 24673, 26103, 24697, 24443, 24713, 28558, 22121, 24748, 24462, 24764, 23398, 30613, 18888, 18888, 18888, 18888, 24798, 25783, 27211, 27211, 27211, 34232, 35072, 22164, 24401, 24401, 24401, 33302, 31500, 22559, 24106, 24232, 18888, 18888, 34970, 24817, 30411, 27211, 27211, 32484, 19484, 29750, 35127, 24401, 24401, 19872, 31181, 24852, 18888, 18888, 24871, 29221, 27211, 27211, 32072, 27211, 30756, 34441, 24401, 24401, 31571, 24401, 26095, 33141, 27802, 27011, 27855, 25295, 25607, 24888, 22187, 22968, 19195, 34593, 24906, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 18888, 33663, 27211, 27211, 24924, 24947, 23588, 31018, 18890, 27211, 31833, 22135, 19447, 23086, 23330, 19828, 30904, 31042, 24972, 19840, 25000, 31738, 30898, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 25016, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22668, 18836, 25041, 25057, 31320, 25073, 25089, 25105, 22087, 34796, 24236, 36138, 34870, 34125, 25121, 23106, 35497, 22248, 36613, 25137, 30671, 27365, 30613, 25153, 26447, 25199, 25233, 22574, 23274, 25249, 25265, 25281, 25318, 25344, 25360, 25400, 25428, 25452, 26731, 25504, 31693, 23669, 25558, 27407, 25575, 28599, 25934, 25599, 27211, 28180, 27304, 25623, 25839, 25649, 24401, 34820, 25681, 25698, 22586, 27775, 30190, 25745, 25778, 25799, 25817, 28995, 33569, 30756, 21518, 33443, 25837, 25855, 25893, 26095, 31254, 26677, 30136, 27855, 25930, 25950, 27211, 22187, 22968, 25966, 25986, 24401, 23428, 27763, 36330, 26959, 26002, 26029, 26045, 26085, 26119, 26170, 26203, 26222, 26239, 30527, 26372, 26274, 28404, 31018, 33757, 27211, 34262, 26316, 36729, 26345, 26366, 35337, 31017, 26388, 26407, 30954, 26350, 33861, 26434, 26463, 26479, 26512, 23516, 33189, 26531, 26547, 27963, 31293, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22683, 18836, 26568, 26181, 26608, 34097, 26643, 29183, 22087, 26669, 18888, 18888, 18890, 26693, 27211, 27211, 27211, 22121, 26720, 24401, 24401, 24401, 30613, 18888, 18888, 18888, 18888, 26774, 25783, 27211, 27211, 27211, 26619, 35072, 22164, 24401, 24401, 24401, 21596, 31500, 31693, 18888, 18888, 33978, 18888, 18890, 27211, 27211, 25801, 27211, 27211, 19484, 24401, 24401, 24401, 26792, 24401, 31181, 18888, 18888, 18888, 35464, 23086, 27211, 27211, 27211, 26809, 30756, 21431, 24401, 24401, 24401, 26828, 26095, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 22187, 22968, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 35779, 20080, 24402, 19868, 25659, 31948, 18889, 35707, 27211, 19719, 26845, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 26905, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 24984, 31088, 19419, 26945, 27651, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22698, 18836, 26999, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 23051, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 27033, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 27056, 18888, 18890, 27211, 27211, 30320, 27211, 27211, 27075, 24401, 24401, 29032, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 33986, 27855, 27211, 27211, 27102, 17590, 24017, 24401, 24401, 27123, 27144, 36254, 27162, 27210, 27228, 28500, 18187, 34842, 33426, 27244, 35980, 27277, 27302, 27320, 36048, 34013, 20999, 31882, 21478, 27895, 27356, 30287, 27381, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 26329, 30087, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 27406, 27423, 27445, 35294, 27461, 22087, 18888, 18888, 30140, 18890, 27211, 27211, 27989, 27211, 22121, 24401, 24401, 25682, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 34042, 27211, 27211, 27211, 27211, 29700, 22164, 24401, 24401, 24401, 24401, 27128, 31693, 27477, 18888, 18888, 18888, 18890, 27194, 27211, 27211, 27211, 27211, 19484, 35299, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 27059, 23086, 27211, 27211, 27211, 33366, 30756, 24012, 24401, 24401, 24401, 35044, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 20815, 27211, 30818, 19960, 33969, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22713, 18836, 22059, 27496, 27516, 27541, 35231, 27557, 22087, 29662, 26292, 23292, 27573, 24836, 27601, 27211, 27636, 22121, 35544, 27686, 24401, 27721, 18866, 18888, 27799, 18888, 27818, 22071, 27853, 32260, 27211, 26013, 27873, 27920, 22164, 29419, 24401, 29946, 33413, 26742, 27751, 26881, 18888, 18888, 27261, 36776, 27936, 27211, 27211, 27211, 27988, 28005, 28031, 28052, 24401, 24401, 28069, 28088, 28135, 25488, 28152, 26069, 28167, 27211, 28340, 24657, 28196, 30756, 31523, 24401, 28212, 34176, 36174, 24956, 28248, 28266, 28290, 21488, 33077, 28327, 28356, 17590, 20986, 23126, 28391, 28425, 28102, 28451, 28470, 28490, 28516, 28534, 20034, 33728, 25868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 30241, 28274, 28553, 28574, 19406, 28590, 23086, 23330, 19828, 19452, 28615, 28660, 26147, 25783, 31738, 19837, 25782, 19760, 29613, 35958, 29276, 22105, 19419, 27963, 23157, 28700, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 18888, 27857, 34097, 24401, 29183, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 22528, 18888, 18888, 18888, 18888, 18890, 27333, 27211, 27211, 27211, 27211, 19484, 30853, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22728, 18836, 28747, 28782, 28817, 28841, 28857, 28880, 28896, 24161, 28943, 32011, 36261, 27340, 28961, 29492, 28982, 29011, 24522, 29027, 25436, 29048, 23051, 27500, 29090, 29110, 30713, 18888, 23512, 29130, 25183, 27211, 29155, 28927, 27033, 29173, 23230, 24401, 29199, 35373, 31693, 18888, 18888, 25583, 32629, 29218, 27211, 27211, 31461, 30692, 29237, 27075, 24401, 24401, 24401, 29262, 29302, 19628, 18888, 34329, 18888, 18888, 23086, 27211, 29329, 27211, 27211, 30756, 24012, 35933, 24401, 24401, 24401, 27705, 31612, 18888, 18888, 29346, 29374, 27211, 35650, 17590, 21436, 29393, 24401, 25970, 18887, 33895, 18888, 27211, 32528, 27212, 24016, 32769, 19868, 25659, 18888, 26889, 27211, 27211, 29412, 23889, 24371, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31768, 19840, 25783, 31738, 19837, 29435, 29508, 31102, 29550, 29606, 22105, 30300, 29462, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22743, 18836, 22059, 29629, 29473, 34097, 33285, 29183, 29651, 27254, 18888, 29678, 33329, 32535, 27211, 29694, 29716, 22121, 19202, 24401, 32742, 29741, 18866, 26776, 33921, 28474, 18888, 18888, 25783, 29766, 27211, 29809, 27211, 35072, 22164, 35825, 24401, 29828, 24401, 24036, 36769, 25217, 18888, 18888, 29848, 18890, 27211, 29871, 27211, 26258, 27211, 29894, 24401, 29929, 24401, 36587, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 29725, 29962, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18473, 18888, 18888, 19584, 27211, 27212, 24016, 29982, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19902, 19447, 32052, 19544, 19828, 29998, 30097, 30031, 19840, 25783, 30047, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 30075, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22758, 18836, 30121, 30156, 30206, 30257, 30273, 30336, 22087, 35624, 32837, 25762, 18890, 29878, 34934, 26812, 27211, 22121, 24931, 23223, 29202, 24401, 18866, 34373, 30352, 18888, 18888, 18888, 23447, 24828, 27211, 27211, 27211, 35072, 30370, 35052, 24401, 24401, 24401, 24036, 29523, 18888, 18888, 27146, 18888, 31308, 30386, 27211, 27211, 30405, 30558, 19484, 30427, 24401, 24401, 29938, 35686, 19628, 28766, 30447, 34506, 35614, 23086, 28731, 30482, 30517, 30552, 30756, 24012, 20156, 30574, 30598, 30667, 26283, 33464, 28945, 27670, 30687, 32915, 33504, 25328, 17590, 23963, 20450, 33837, 21016, 32397, 26300, 30708, 30729, 27885, 30748, 21588, 36373, 30779, 26653, 24628, 33220, 32514, 30806, 31835, 25412, 25906, 26515, 18890, 28825, 31833, 26133, 19447, 28304, 31730, 23834, 26057, 30869, 30885, 32181, 30920, 30942, 32797, 25782, 30970, 31015, 23516, 31008, 30997, 31034, 27963, 19659, 29450, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22773, 18836, 31058, 31074, 32463, 31125, 31141, 31197, 22087, 18888, 29534, 35471, 36738, 27211, 24342, 31213, 24424, 22121, 24401, 20175, 31229, 31917, 27736, 31245, 34334, 27175, 18888, 29094, 27286, 27211, 31278, 31336, 27211, 31355, 31371, 24401, 31402, 31418, 24401, 31437, 31693, 18888, 31619, 32841, 18888, 18890, 27211, 27211, 31460, 31477, 27211, 19484, 24401, 24401, 31497, 36581, 24401, 33020, 18888, 18888, 18888, 18888, 30007, 27211, 27211, 27211, 27211, 31516, 32310, 24401, 24401, 24401, 24401, 31539, 18888, 28762, 18888, 24651, 35740, 27211, 27211, 28644, 31565, 35796, 24401, 24401, 19318, 32188, 18888, 24334, 28366, 27212, 29966, 29832, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 31587, 19868, 31635, 32435, 33693, 30105, 31663, 20005, 31715, 31757, 31784, 31812, 30015, 31851, 31878, 25783, 31898, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 31933, 30221, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22788, 18836, 22059, 25729, 30466, 31968, 24306, 31984, 32000, 32807, 35160, 27017, 29590, 34941, 19801, 29377, 33700, 22121, 27040, 30431, 29396, 28864, 29565, 18888, 18888, 18888, 32027, 18888, 25783, 27211, 27211, 23698, 27211, 35072, 22164, 24401, 24401, 30845, 24401, 24036, 32045, 18888, 26929, 18888, 18888, 18890, 27211, 31481, 32068, 27211, 27211, 32088, 24401, 33058, 32122, 24401, 24401, 33736, 18888, 18888, 33162, 18888, 23086, 27211, 27211, 29484, 27211, 28375, 32144, 24401, 24401, 33831, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 36704, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 33107, 22171, 33224, 24271, 32169, 31017, 27856, 31741, 19840, 25783, 31738, 30234, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 32204, 32232, 32252, 32677, 33295, 29074, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 23619, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 32276, 24401, 24401, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 32299, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 33886, 18889, 36065, 27211, 19719, 35326, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22803, 18836, 32335, 31647, 34666, 32351, 32367, 32417, 22087, 18888, 32433, 19335, 32451, 27211, 32479, 27107, 32500, 22121, 24401, 32551, 20085, 32572, 18866, 22287, 23753, 18888, 18888, 32602, 32665, 27211, 32693, 27211, 26972, 32713, 32729, 24401, 32764, 24401, 25877, 32785, 34768, 18888, 27390, 32823, 24594, 24855, 32857, 24890, 32878, 32904, 27211, 32942, 32977, 24401, 33000, 29313, 24401, 30790, 26206, 27666, 33904, 18888, 23086, 36353, 27211, 33036, 27211, 30756, 24012, 32153, 24401, 33056, 24401, 35861, 18888, 18888, 30354, 27972, 27211, 27211, 33800, 17590, 20145, 24401, 24401, 34638, 20811, 18888, 18888, 33074, 27211, 27212, 36167, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 34616, 24169, 33093, 33123, 33157, 27856, 31741, 23862, 26552, 34302, 19837, 25782, 19760, 31015, 23516, 31008, 33178, 19973, 27963, 23497, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22818, 18836, 33205, 28113, 33240, 34097, 33275, 29183, 22087, 33318, 35438, 18888, 18890, 33345, 26391, 33382, 27211, 22121, 33399, 28072, 33442, 24401, 18866, 22232, 18888, 33459, 18888, 18888, 33480, 33498, 25175, 27211, 27211, 26704, 22164, 24775, 35239, 24401, 24401, 25914, 29580, 18888, 18888, 31109, 25211, 33520, 33539, 27211, 27211, 33556, 36284, 19484, 33585, 24401, 24401, 33604, 32556, 19628, 18888, 18888, 31262, 33658, 23086, 27211, 27211, 33679, 27211, 30756, 24012, 24401, 24401, 33716, 24401, 26854, 27480, 18888, 33752, 27855, 33259, 34701, 27211, 17590, 32102, 24782, 23807, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 33773, 36105, 19868, 25659, 18888, 23368, 27211, 29157, 19719, 23889, 34454, 29286, 18890, 33794, 25302, 33816, 19447, 34079, 33853, 31862, 31017, 27856, 31741, 33877, 28920, 33937, 19837, 30461, 34002, 22276, 36041, 34029, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22833, 18836, 34064, 32616, 34113, 34141, 34157, 34192, 34208, 32216, 36013, 31549, 31952, 34224, 34248, 34287, 29330, 34350, 34389, 34413, 34481, 26793, 18866, 26187, 29635, 22293, 18888, 36654, 25783, 34522, 34544, 34566, 25821, 35072, 22164, 34586, 34609, 34632, 19604, 24036, 36644, 36674, 24681, 18888, 32401, 34654, 31339, 34682, 34698, 27211, 34717, 34753, 28053, 34812, 34836, 24401, 33619, 19628, 34858, 32236, 34906, 24598, 33523, 27612, 34890, 34922, 24732, 29246, 36717, 33634, 34465, 32984, 34168, 26750, 34957, 18888, 18888, 34994, 35010, 27211, 33040, 17590, 29913, 35035, 24401, 36304, 25482, 30171, 35883, 35068, 35088, 26627, 20441, 31173, 35123, 35143, 35176, 24640, 30492, 29358, 19719, 35192, 35219, 25384, 28801, 35255, 35279, 32586, 34496, 23086, 23330, 29061, 31017, 27856, 31741, 19840, 25783, 31738, 24547, 25164, 35315, 31796, 35353, 34316, 22105, 19419, 27963, 24091, 28630, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22848, 18836, 22059, 34782, 34088, 35389, 21008, 35405, 35421, 35454, 18888, 18888, 23466, 35487, 27211, 27211, 27211, 35513, 31154, 24401, 24401, 24401, 35560, 18888, 26863, 36664, 35601, 24872, 25783, 30389, 23536, 26250, 35647, 35666, 22164, 19522, 19564, 30582, 35682, 27697, 35575, 29114, 18888, 18888, 18888, 18890, 27211, 35702, 27211, 27211, 27211, 35723, 24401, 35527, 24401, 24401, 24401, 19628, 30184, 18888, 18888, 18888, 23086, 35739, 27211, 27211, 27211, 29139, 22938, 24401, 24401, 24401, 24401, 23898, 35756, 18888, 18888, 25025, 35778, 27211, 27211, 17590, 20064, 35795, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 23917, 18890, 34550, 31833, 22262, 19447, 23086, 23330, 26418, 31017, 27856, 31741, 19840, 25783, 35812, 19837, 27187, 35841, 33135, 23516, 31008, 22105, 22148, 28712, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22863, 18836, 22059, 35877, 28723, 34097, 31164, 29183, 22087, 26758, 18888, 22592, 18890, 23989, 27211, 29812, 27211, 22121, 33778, 24401, 31421, 24401, 18866, 18888, 18888, 26872, 18888, 18888, 25783, 27211, 30732, 27211, 27211, 35072, 22164, 24401, 24908, 24401, 24401, 24036, 31693, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22878, 18836, 22059, 27837, 27857, 35899, 24401, 35915, 22087, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 22121, 24401, 24401, 24401, 24401, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 31602, 18888, 18888, 18888, 18888, 26223, 27211, 27211, 27211, 27211, 27211, 19484, 35931, 24401, 24401, 24401, 24401, 19628, 18888, 28136, 18888, 18888, 35949, 27211, 32862, 27211, 32697, 30756, 24012, 24401, 32283, 24401, 32128, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22893, 18836, 22059, 35974, 34882, 34097, 33960, 29183, 35996, 18888, 23311, 18888, 36029, 27211, 27211, 36064, 36081, 22121, 24401, 24401, 36104, 33950, 18866, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 35072, 22164, 24401, 24401, 24401, 24401, 24036, 36121, 18888, 25559, 18888, 18888, 18890, 27211, 27211, 30313, 27211, 27211, 36154, 24401, 24401, 34397, 24401, 24401, 19628, 28250, 18888, 18888, 18888, 23086, 30926, 27211, 27211, 27211, 26983, 24012, 33642, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22339, 18836, 22059, 19354, 27857, 36190, 24401, 36206, 22087, 18888, 18888, 18888, 18007, 27211, 27211, 27211, 24724, 22121, 24401, 24401, 24401, 30827, 18866, 18888, 36222, 18888, 28795, 18888, 25783, 35100, 27211, 27429, 27211, 35072, 22164, 30836, 24401, 24499, 24401, 24036, 31693, 18888, 36244, 18888, 18888, 18890, 27211, 36088, 27211, 27211, 27211, 19484, 24401, 28036, 24401, 24401, 24401, 19628, 18888, 18888, 35631, 18888, 35762, 27211, 27211, 36277, 27211, 34730, 24012, 24401, 24401, 36300, 24401, 36320, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 25712, 18888, 18888, 36346, 27211, 27212, 19184, 24402, 19868, 25659, 32029, 18889, 27211, 33359, 19719, 23889, 36369, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22384, 18836, 36389, 19008, 19233, 20367, 36434, 17173, 17595, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 36453, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 20362, 21726, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 22369, 18836, 18987, 19008, 19233, 20367, 19008, 21737, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17949, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21813, 18836, 36489, 19008, 19233, 20367, 19008, 17173, 17737, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17768, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 20543, 22022, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21828, 18836, 18987, 19008, 19233, 20367, 19008, 17173, 30763, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 36517, 17308, 17327, 17346, 18918, 18452, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 18127, 21873, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 21828, 18836, 19307, 18888, 27857, 30756, 24401, 29183, 28015, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 36567, 24401, 24401, 24401, 24401, 22953, 18888, 18888, 18888, 18888, 18888, 25783, 27211, 27211, 27211, 27211, 28537, 36603, 24401, 24401, 24401, 24401, 24036, 18881, 18888, 18888, 18888, 18888, 18890, 27211, 27211, 27211, 27211, 27211, 19484, 24401, 24401, 24401, 24401, 24401, 19628, 18888, 18888, 18888, 18888, 23086, 27211, 27211, 27211, 27211, 30756, 24012, 24401, 24401, 24401, 24401, 26750, 18888, 18888, 18888, 27855, 27211, 27211, 27211, 17590, 24017, 24401, 24401, 24401, 18887, 18888, 18888, 27211, 27211, 27212, 24016, 24402, 19868, 25659, 18888, 18889, 27211, 27211, 19719, 23889, 19868, 31018, 18890, 27211, 31833, 19406, 19447, 23086, 23330, 19828, 31017, 27856, 31741, 19840, 25783, 31738, 19837, 25782, 19760, 31015, 23516, 31008, 22105, 19419, 27963, 19659, 27951, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 36629, 36690, 18720, 19008, 19233, 20367, 19008, 17454, 17595, 36437, 17330, 17349, 18921, 17189, 17208, 17281, 20355, 17223, 17308, 17327, 17346, 18918, 36754, 21880, 18649, 18665, 19006, 17265, 22033, 20765, 17421, 20535, 17192, 20362, 21726, 17311, 18658, 18999, 19008, 17447, 32952, 17497, 17520, 17251, 36411, 17782, 20682, 17714, 18326, 17543, 17559, 17585, 21887, 17504, 17527, 17258, 36418, 21915, 21940, 17611, 36467, 18217, 17633, 17661, 21190, 17703, 21176, 17730, 34737, 21946, 17617, 36473, 18223, 36531, 17477, 19152, 17860, 17892, 17675, 17753, 17832, 17590, 21620, 17481, 19156, 17864, 18731, 17918, 36551, 17292, 17934, 17979, 18727, 18681, 18405, 18621, 18039, 18056, 18072, 18117, 18143, 18706, 18052, 18209, 18250, 18239, 18266, 17963, 18296, 18312, 18376, 17807, 36403, 19232, 17796, 17163, 30642, 18392, 17816, 32961, 17645, 18805, 18421, 18437, 18519, 17393, 18747, 18505, 18535, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 17590, 0, 94242, 0, 118820, 0, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2482176, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 2207744, 2404352, 2412544, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3104768, 2605056, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2678784, 2207744, 2695168, 2207744, 2703360, 2207744, 2711552, 2752512, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 3170304, 3174400, 2158592, 0, 139, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 2748416, 2756608, 2777088, 2801664, 2158592, 2158592, 2158592, 2863104, 2891776, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3104768, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2785280, 2207744, 2809856, 2207744, 2207744, 2842624, 2207744, 2207744, 2207744, 2899968, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2473984, 2207744, 2207744, 2494464, 2207744, 2207744, 2207744, 2523136, 2158592, 2404352, 2412544, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2564096, 2158592, 2158592, 2605056, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2678784, 2158592, 2695168, 2158592, 2703360, 2158592, 2711552, 2752512, 2158592, 2158592, 2785280, 2158592, 2158592, 2785280, 2158592, 2809856, 2158592, 2158592, 2842624, 2158592, 2158592, 2158592, 2899968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 641, 0, 2158592, 0, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 32768, 0, 2158592, 0, 2158592, 2158592, 2158592, 2383872, 2158592, 2158592, 2158592, 2158592, 3006464, 2383872, 2207744, 2207744, 2207744, 2207744, 2158877, 2158877, 2158877, 2158877, 0, 0, 0, 2158877, 2572573, 2158877, 2158877, 0, 2207744, 2207744, 2596864, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2641920, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 167936, 0, 0, 2162688, 0, 0, 3104768, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2146304, 2146304, 2224128, 2224128, 2232320, 2232320, 2232320, 641, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2531328, 2158592, 2158592, 2158592, 2158592, 2158592, 2617344, 2158592, 2158592, 2158592, 2158592, 2441216, 2445312, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2502656, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2580480, 2158592, 2158592, 2158592, 2158592, 2621440, 2158592, 2580480, 2158592, 2158592, 2158592, 2158592, 2621440, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2699264, 2158592, 2158592, 2158592, 2158592, 2158592, 2748416, 2756608, 2777088, 2801664, 2207744, 2863104, 2891776, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3018752, 2207744, 3043328, 2207744, 2207744, 2207744, 2207744, 3080192, 2207744, 2207744, 3112960, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 172310, 279, 0, 2162688, 0, 0, 2207744, 2207744, 2207744, 3186688, 2207744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2404352, 2412544, 2158592, 2510848, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2584576, 2158592, 2609152, 2158592, 2158592, 2629632, 2158592, 2158592, 2158592, 2686976, 2158592, 2715648, 2158592, 2158592, 3121152, 2158592, 2158592, 2158592, 3149824, 2158592, 2158592, 3170304, 3174400, 2158592, 2367488, 2207744, 2207744, 2207744, 2207744, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2572288, 2158592, 2158592, 0, 2207744, 2207744, 2207744, 2433024, 2207744, 2453504, 2461696, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2510848, 2207744, 2207744, 2207744, 2207744, 2207744, 2531328, 2207744, 2207744, 2207744, 2207744, 2207744, 2617344, 2207744, 2207744, 2207744, 2207744, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2572288, 2158592, 2158592, 1508, 2715648, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2867200, 2207744, 2904064, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2580480, 2207744, 2207744, 2207744, 2207744, 2621440, 2207744, 2207744, 2207744, 3149824, 2207744, 2207744, 3170304, 3174400, 2207744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 2158592, 2158592, 2158592, 2404352, 2412544, 2707456, 2732032, 2207744, 2207744, 2207744, 2822144, 2826240, 2207744, 2895872, 2207744, 2207744, 2924544, 2207744, 2207744, 2973696, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 285, 2158592, 2158592, 3112960, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 2207744, 2207744, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 0, 0, 2535424, 2543616, 2158592, 2158592, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 2990080, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2572288, 2981888, 2207744, 2207744, 3002368, 2207744, 3047424, 3063808, 3076096, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3203072, 2708960, 2732032, 2158592, 2158592, 2158592, 2822144, 2827748, 2158592, 2895872, 2158592, 2158592, 2924544, 2158592, 2158592, 2973696, 2158592, 2981888, 2158592, 2158592, 3002368, 2158592, 3047424, 3063808, 3076096, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3203072, 2981888, 2158592, 2158592, 3003876, 2158592, 3047424, 3063808, 3076096, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3203072, 2207744, 2207744, 2207744, 2207744, 2207744, 2424832, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 20480, 0, 0, 0, 0, 0, 2162688, 20480, 0, 2523136, 2527232, 2158592, 2158592, 2576384, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2908160, 2527232, 2207744, 2207744, 2576384, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2908160, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 286, 2158592, 2158592, 0, 0, 2158592, 2158592, 2158592, 2158592, 2633728, 2658304, 0, 0, 2740224, 2744320, 0, 2834432, 2207744, 2207744, 2977792, 2207744, 2207744, 2207744, 2207744, 3039232, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3158016, 0, 0, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 933, 45, 45, 45, 45, 442, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 2494464, 2158592, 2158592, 2158592, 2524757, 2527232, 2158592, 2158592, 2576384, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 1504, 2158592, 2498560, 2158592, 2158592, 2158592, 2158592, 2568192, 2158592, 2592768, 2625536, 2158592, 2158592, 2674688, 2736128, 2158592, 2158592, 0, 2158592, 2912256, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3108864, 2158592, 2158592, 3133440, 3145728, 3153920, 2375680, 2379776, 2207744, 2207744, 2420736, 2207744, 2449408, 2207744, 2207744, 2207744, 2498560, 2207744, 2207744, 2207744, 2207744, 2568192, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 0, 551, 2158592, 2158592, 2158592, 2158592, 2207744, 2506752, 2207744, 2207744, 2207744, 2207744, 2207744, 2158592, 2506752, 0, 2020, 2158592, 2592768, 2625536, 2207744, 2207744, 2674688, 2736128, 2207744, 2207744, 2207744, 2912256, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 542, 0, 544, 2207744, 3108864, 2207744, 2207744, 3133440, 3145728, 3153920, 2375680, 2379776, 2158592, 2158592, 2420736, 2158592, 2449408, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 641, 0, 0, 0, 0, 0, 0, 2367488, 2158592, 2498560, 2158592, 2158592, 1621, 2158592, 2158592, 2568192, 2158592, 2592768, 2625536, 2158592, 2158592, 2674688, 0, 0, 0, 0, 0, 1608, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1107, 97, 97, 1110, 97, 97, 3133440, 3145728, 3153920, 2158592, 2408448, 2416640, 2158592, 2465792, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3014656, 2158592, 2158592, 3051520, 2158592, 2158592, 3100672, 2158592, 2158592, 3121152, 2158592, 2158592, 2158592, 3149824, 2416640, 2207744, 2465792, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2633728, 2658304, 2740224, 2744320, 2834432, 2949120, 2158592, 2985984, 2158592, 2998272, 2158592, 2158592, 2158592, 3129344, 2207744, 2408448, 2949120, 2207744, 2985984, 2207744, 2998272, 2207744, 2207744, 2207744, 3129344, 2158592, 2408448, 2416640, 2158592, 2465792, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 32768, 0, 0, 0, 0, 0, 0, 2367488, 2949120, 2158592, 2985984, 2158592, 2998272, 2158592, 2158592, 2158592, 3129344, 2158592, 2158592, 2478080, 2158592, 2158592, 2158592, 2535424, 2543616, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3117056, 2207744, 2207744, 2478080, 2207744, 2207744, 2207744, 2207744, 2699264, 2207744, 2207744, 2207744, 2207744, 2207744, 2748416, 2756608, 2777088, 2801664, 2207744, 2207744, 2158877, 2158877, 2158877, 2158877, 2158877, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 0, 0, 2535709, 2543901, 2158877, 2158877, 2158877, 0, 0, 0, 2158877, 2158877, 2158877, 2990365, 2158877, 2158877, 2158730, 2158730, 2158730, 2158730, 2158730, 2572426, 2207744, 2535424, 2543616, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3117056, 2158592, 2158592, 2478080, 2207744, 2207744, 2990080, 2207744, 2207744, 2158592, 2158592, 2482176, 2158592, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 0, 2158592, 2908160, 2158592, 2158592, 2158592, 2977792, 2158592, 2158592, 2158592, 2158592, 3039232, 2158592, 2158592, 3010560, 2207744, 2428928, 2207744, 2514944, 2207744, 2588672, 2207744, 2838528, 2207744, 2207744, 2207744, 3010560, 2158592, 2428928, 2158592, 2514944, 0, 0, 2158592, 2588672, 2158592, 0, 2838528, 2158592, 2158592, 2158592, 3010560, 2158592, 2506752, 2158592, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 0, 29315, 922, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1539, 45, 3006464, 2383872, 0, 2020, 2158592, 2158592, 2158592, 2158592, 3006464, 2158592, 2637824, 2953216, 2158592, 2207744, 2637824, 2953216, 2207744, 0, 0, 2158592, 2637824, 2953216, 2158592, 2539520, 2158592, 2539520, 2207744, 0, 0, 2539520, 2158592, 2158592, 2158592, 2158592, 2207744, 2506752, 2207744, 2207744, 2207744, 2207744, 2207744, 2158592, 2506752, 0, 0, 2158592, 2207744, 0, 2158592, 2158592, 2207744, 0, 2158592, 2158592, 2207744, 0, 2158592, 2965504, 2965504, 2965504, 0, 0, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2474269, 2158877, 2158877, 0, 0, 2158877, 2158877, 2158877, 2158877, 2634013, 2658589, 0, 0, 2740509, 2744605, 0, 2834717, 40976, 18, 36884, 45078, 24, 28, 90143, 94242, 118820, 102439, 106538, 98347, 118820, 118820, 118820, 40976, 18, 18, 36884, 0, 0, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 86016, 0, 0, 2211840, 102439, 0, 0, 0, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 3158016, 0, 2375680, 2379776, 2158592, 2158592, 2420736, 2158592, 2449408, 2158592, 2158592, 0, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 135, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2564096, 2158592, 2158592, 2158592, 2158592, 2158592, 2596864, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2641920, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2781184, 2793472, 2494464, 2158592, 2158592, 2158592, 2523136, 2527232, 2158592, 2158592, 2576384, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 0, 27, 27, 0, 2158592, 2498560, 2158592, 2158592, 0, 2158592, 2158592, 2568192, 2158592, 2592768, 2625536, 2158592, 2158592, 2674688, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2473984, 2158592, 2158592, 2494464, 2158592, 2158592, 2158592, 3006464, 2383872, 0, 0, 2158592, 2158592, 2158592, 2158592, 3006464, 2158592, 2637824, 2953216, 2158592, 2207744, 2637824, 2953216, 40976, 18, 36884, 45078, 24, 27, 147488, 94242, 147456, 147488, 106538, 98347, 0, 0, 147456, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 0, 81920, 0, 94242, 0, 0, 0, 2211840, 0, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2428928, 2158592, 2514944, 2158592, 2588672, 2158592, 2838528, 2158592, 2158592, 40976, 18, 151573, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 0, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 1315, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1487, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 0, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 130, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3096576, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2207744, 2158592, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 644, 2207744, 2207744, 2207744, 3186688, 2207744, 0, 1080, 0, 1084, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2531466, 2158730, 2158730, 2158730, 2158730, 2158730, 2617482, 0, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2781184, 2793472, 2158592, 2818048, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 40976, 18, 36884, 45078, 24, 27, 90143, 159779, 159744, 102439, 159779, 98347, 0, 0, 159744, 40976, 18, 18, 36884, 0, 45078, 0, 2224253, 172032, 2224253, 2232448, 2232448, 172032, 2232448, 90143, 0, 0, 2170880, 0, 0, 550, 829, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 124, 124, 127, 127, 127, 40976, 18, 36884, 45078, 25, 29, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 163931, 40976, 18, 18, 36884, 0, 45078, 249856, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 2170880, 0, 0, 827, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 4243810, 4243810, 24, 24, 27, 27, 27, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 0, 0, 0, 0, 57344, 286, 2158592, 2158592, 2158592, 2158592, 2707456, 2732032, 2158592, 2158592, 2158592, 2822144, 2826240, 2158592, 2895872, 2158592, 2158592, 2924544, 2158592, 2158592, 2973696, 2158592, 2207744, 2207744, 2207744, 3186688, 2207744, 0, 0, 0, 0, 0, 0, 53248, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 1613, 97, 97, 97, 97, 97, 97, 1495, 97, 97, 97, 97, 97, 97, 97, 97, 97, 566, 97, 97, 97, 97, 97, 97, 2207744, 0, 0, 0, 0, 0, 0, 2166784, 546, 0, 0, 0, 0, 286, 2158592, 2158592, 2158592, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 17, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 20480, 120, 121, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 2170880, 0, 53248, 550, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 196608, 18, 266240, 24, 24, 27, 27, 27, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 0, 45, 45, 45, 45, 45, 45, 45, 1535, 45, 45, 45, 45, 45, 45, 45, 1416, 45, 45, 45, 45, 45, 45, 45, 45, 424, 45, 45, 45, 45, 45, 45, 45, 45, 45, 405, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 199, 45, 45, 67, 67, 67, 67, 67, 491, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1766, 67, 67, 67, 1767, 67, 24850, 24850, 12564, 12564, 0, 0, 2166784, 546, 0, 53531, 53531, 0, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 743, 57889, 0, 2170880, 0, 0, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1856, 45, 1858, 1859, 67, 67, 67, 1009, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1021, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2367773, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2699549, 2158877, 2158877, 2158877, 2158877, 2158877, 2748701, 2756893, 2777373, 2801949, 97, 1115, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 857, 97, 67, 67, 67, 67, 67, 1258, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1826, 67, 97, 97, 97, 97, 97, 97, 1338, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 870, 97, 97, 67, 67, 67, 1463, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1579, 67, 67, 97, 97, 97, 1518, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 904, 905, 97, 97, 97, 97, 1620, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 0, 0, 0, 0, 0, 45, 1679, 67, 67, 67, 1682, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1690, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 669, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 189, 45, 45, 45, 1748, 45, 45, 45, 1749, 1750, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1959, 67, 67, 67, 67, 1768, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1791, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1802, 67, 1817, 67, 67, 67, 67, 67, 67, 1823, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 97, 1848, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 659, 45, 45, 45, 45, 45, 45, 45, 1863, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 495, 67, 67, 67, 67, 67, 1878, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 0, 1973, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1165, 97, 1167, 67, 24850, 24850, 12564, 12564, 0, 0, 2166784, 0, 0, 53531, 53531, 0, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 1789, 97, 0, 94242, 0, 0, 0, 2211840, 102439, 0, 0, 106538, 98347, 136, 2158592, 2158592, 2158592, 2158592, 2158592, 3158016, 229376, 2375680, 2379776, 2158592, 2158592, 2420736, 2158592, 2449408, 2158592, 2158592, 67, 24850, 24850, 12564, 12564, 0, 0, 280, 547, 0, 53531, 53531, 0, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 1788, 97, 97, 0, 97, 2024, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 235, 67, 67, 67, 67, 67, 57889, 547, 547, 0, 0, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1799, 45, 45, 45, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 1092, 0, 0, 0, 0, 0, 97, 97, 97, 97, 1612, 97, 97, 97, 97, 1616, 97, 1297, 1472, 0, 0, 0, 0, 1303, 1474, 0, 0, 0, 0, 1309, 1476, 0, 0, 0, 0, 97, 97, 97, 1481, 97, 97, 97, 97, 97, 97, 1488, 97, 0, 1474, 0, 1476, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 607, 97, 97, 97, 97, 40976, 18, 36884, 45078, 26, 30, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 213080, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 143448, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 0, 0, 0, 0, 97, 97, 97, 97, 1482, 97, 1483, 97, 97, 97, 97, 97, 97, 1326, 97, 97, 1329, 1330, 97, 97, 97, 97, 97, 97, 1159, 1160, 97, 97, 97, 97, 97, 97, 97, 97, 590, 97, 97, 97, 97, 97, 97, 97, 0, 94242, 0, 0, 0, 2211974, 102439, 0, 0, 106538, 98347, 0, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2474122, 2158730, 2158730, 2494602, 2158730, 2158730, 2158730, 2809994, 2158730, 2158730, 2842762, 2158730, 2158730, 2158730, 2900106, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3014794, 2158730, 2158730, 3051658, 2158730, 2158730, 3100810, 2158730, 2158730, 2158730, 2158730, 3096714, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2207744, 2207744, 2207744, 2207744, 2207744, 2572288, 2207744, 2207744, 2207744, 2207744, 541, 541, 543, 543, 0, 0, 2166784, 0, 548, 549, 549, 0, 286, 2158877, 2158877, 2158877, 2863389, 2892061, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3186973, 2158877, 0, 0, 0, 0, 0, 0, 0, 0, 2367626, 2158877, 2404637, 2412829, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2564381, 2158877, 2158877, 2605341, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2679069, 2158877, 2695453, 2158877, 2703645, 2158877, 2711837, 2752797, 2158877, 0, 2158877, 2158877, 2158877, 2384010, 2158730, 2158730, 2158730, 2158730, 3006602, 2383872, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3096576, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 0, 0, 2158877, 2785565, 2158877, 2810141, 2158877, 2158877, 2842909, 2158877, 2158877, 2158877, 2900253, 2158877, 2158877, 2158877, 2158877, 2158877, 2531613, 2158877, 2158877, 2158877, 2158877, 2158877, 2617629, 2158877, 2158877, 2158877, 2158877, 2158730, 2818186, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3105053, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 0, 0, 0, 0, 0, 97, 97, 97, 1611, 97, 97, 97, 97, 97, 97, 97, 1496, 97, 97, 1499, 97, 97, 97, 97, 97, 2441354, 2445450, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2502794, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2433162, 2158730, 2453642, 2461834, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2580618, 2158730, 2158730, 2158730, 2158730, 2621578, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2699402, 2158730, 2158730, 2158730, 2158730, 2678922, 2158730, 2695306, 2158730, 2703498, 2158730, 2711690, 2752650, 2158730, 2158730, 2785418, 2158730, 2158730, 2158730, 3113098, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3186826, 2158730, 2207744, 2207744, 2207744, 2207744, 2781184, 2793472, 2207744, 2818048, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 541, 0, 543, 2158877, 2502941, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2580765, 2158877, 2158877, 2158877, 2158877, 2621725, 2158877, 3019037, 2158877, 3043613, 2158877, 2158877, 2158877, 2158877, 3080477, 2158877, 2158877, 3113245, 2158877, 2158877, 2158877, 2158877, 0, 2158877, 2908445, 2158877, 2158877, 2158877, 2978077, 2158877, 2158877, 2158877, 2158877, 3039517, 2158877, 2158730, 2510986, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2584714, 2158730, 2609290, 2158730, 2158730, 2629770, 2158730, 2158730, 2158730, 2388106, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2605194, 2158730, 2158730, 2158730, 2158730, 2687114, 2158730, 2715786, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2867338, 2158730, 2904202, 2158730, 2158730, 2158730, 2642058, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2781322, 2793610, 2158730, 3121290, 2158730, 2158730, 2158730, 3149962, 2158730, 2158730, 3170442, 3174538, 2158730, 2367488, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2441216, 2445312, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2502656, 2158877, 2433309, 2158877, 2453789, 2461981, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2511133, 2158877, 2158877, 2158877, 2158877, 2584861, 2158877, 2609437, 2158877, 2158877, 2629917, 2158877, 2158877, 2158877, 2687261, 2158877, 2715933, 2158877, 2158730, 2158730, 2973834, 2158730, 2982026, 2158730, 2158730, 3002506, 2158730, 3047562, 3063946, 3076234, 2158730, 2158730, 2158730, 2158730, 2207744, 2506752, 2207744, 2207744, 2207744, 2207744, 2207744, 2158877, 2507037, 0, 0, 2158877, 2158730, 2158730, 2158730, 3203210, 2207744, 2207744, 2207744, 2207744, 2207744, 2424832, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2564096, 2207744, 2207744, 2207744, 2707741, 2732317, 2158877, 2158877, 2158877, 2822429, 2826525, 2158877, 2896157, 2158877, 2158877, 2924829, 2158877, 2158877, 2973981, 2158877, 18, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 642, 0, 2158592, 0, 45, 1529, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1755, 45, 67, 67, 2982173, 2158877, 2158877, 3002653, 2158877, 3047709, 3064093, 3076381, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3203357, 2523274, 2527370, 2158730, 2158730, 2576522, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2908298, 2494749, 2158877, 2158877, 2158877, 2523421, 2527517, 2158877, 2158877, 2576669, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 0, 40976, 0, 18, 18, 4321280, 2224253, 2232448, 4329472, 2232448, 2158730, 2498698, 2158730, 2158730, 2158730, 2158730, 2568330, 2158730, 2592906, 2625674, 2158730, 2158730, 2674826, 2736266, 2158730, 2158730, 2158730, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2158730, 2912394, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3109002, 2158730, 2158730, 3133578, 3145866, 3154058, 2375680, 2207744, 3108864, 2207744, 2207744, 3133440, 3145728, 3153920, 2375965, 2380061, 2158877, 2158877, 2421021, 2158877, 2449693, 2158877, 2158877, 2158877, 3117341, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3104906, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158877, 2498845, 2158877, 2158877, 0, 2158877, 2158877, 2568477, 2158877, 2593053, 2625821, 2158877, 2158877, 2674973, 0, 0, 0, 0, 97, 97, 1480, 97, 97, 97, 97, 97, 1485, 97, 97, 97, 0, 97, 97, 1729, 97, 1731, 97, 97, 97, 97, 97, 97, 97, 311, 97, 97, 97, 97, 97, 97, 97, 97, 1520, 97, 97, 1523, 97, 97, 1526, 97, 2736413, 2158877, 2158877, 0, 2158877, 2912541, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3109149, 2158877, 2158877, 3014941, 2158877, 2158877, 3051805, 2158877, 2158877, 3100957, 2158877, 2158877, 3121437, 2158877, 2158877, 2158877, 3150109, 3133725, 3146013, 3154205, 2158730, 2408586, 2416778, 2158730, 2465930, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3018890, 2158730, 3043466, 2158730, 2158730, 2158730, 2158730, 3080330, 2633866, 2658442, 2740362, 2744458, 2834570, 2949258, 2158730, 2986122, 2158730, 2998410, 2158730, 2158730, 2158730, 3129482, 2207744, 2408448, 2949120, 2207744, 2985984, 2207744, 2998272, 2207744, 2207744, 2207744, 3129344, 2158877, 2408733, 2416925, 2158877, 2466077, 2158877, 2158877, 3170589, 3174685, 2158877, 0, 0, 0, 2158730, 2158730, 2158730, 2158730, 2158730, 2424970, 2158730, 2158730, 2158730, 2158730, 2707594, 2732170, 2158730, 2158730, 2158730, 2822282, 2826378, 2158730, 2896010, 2158730, 2158730, 2924682, 2949405, 2158877, 2986269, 2158877, 2998557, 2158877, 2158877, 2158877, 3129629, 2158730, 2158730, 2478218, 2158730, 2158730, 2158730, 2535562, 2543754, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3117194, 2207744, 2207744, 2478080, 2207744, 2207744, 2207744, 2207744, 3014656, 2207744, 2207744, 3051520, 2207744, 2207744, 3100672, 2207744, 2207744, 3121152, 2207744, 2207744, 2207744, 2207744, 2207744, 2584576, 2207744, 2609152, 2207744, 2207744, 2629632, 2207744, 2207744, 2207744, 2686976, 2207744, 2207744, 2535424, 2543616, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3117056, 2158877, 2158877, 2478365, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158730, 2158730, 2482314, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2207744, 2207744, 2207744, 2387968, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 823, 0, 825, 2158730, 2158730, 2158730, 2990218, 2158730, 2158730, 2207744, 2207744, 2482176, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 135, 0, 2207744, 2207744, 2990080, 2207744, 2207744, 2158877, 2158877, 2482461, 2158877, 2158877, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2158730, 2429066, 2158730, 2515082, 2158730, 2588810, 2158730, 2838666, 2158730, 2158730, 2158730, 3010698, 2207744, 2428928, 2207744, 2514944, 2207744, 2588672, 2207744, 2838528, 2207744, 2207744, 2207744, 3010560, 2158877, 2429213, 2158877, 2515229, 0, 0, 2158877, 2588957, 2158877, 0, 2838813, 2158877, 2158877, 2158877, 3010845, 2158730, 2506890, 2158730, 2158730, 2158730, 2748554, 2756746, 2777226, 2801802, 2158730, 2158730, 2158730, 2863242, 2891914, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 2564234, 2158730, 2158730, 2158730, 2158730, 2158730, 2597002, 2158730, 2158730, 2158730, 3006464, 2384157, 0, 0, 2158877, 2158877, 2158877, 2158877, 3006749, 2158730, 2637962, 2953354, 2158730, 2207744, 2637824, 2953216, 2207744, 0, 0, 2158877, 2638109, 2953501, 2158877, 2539658, 2158730, 2539520, 2207744, 0, 0, 2539805, 2158877, 2158730, 2158730, 2158730, 2977930, 2158730, 2158730, 2158730, 2158730, 3039370, 2158730, 2158730, 2158730, 2158730, 2158730, 2158730, 3158154, 2207744, 0, 2158877, 2158730, 2207744, 0, 2158877, 2158730, 2207744, 0, 2158877, 2965642, 2965504, 2965789, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1484, 97, 97, 97, 97, 2158592, 18, 0, 122880, 0, 0, 0, 77824, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 356, 0, 0, 0, 0, 0, 0, 28809, 0, 139, 45, 45, 45, 45, 45, 45, 1751, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1427, 67, 67, 67, 67, 67, 1432, 67, 67, 67, 3104768, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 122880, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 1322, 550, 0, 286, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 24, 4329472, 27, 27, 2207744, 2207744, 2977792, 2207744, 2207744, 2207744, 2207744, 3039232, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 3158016, 542, 0, 0, 0, 542, 0, 544, 0, 0, 0, 544, 0, 550, 0, 0, 0, 0, 0, 97, 97, 1610, 97, 97, 97, 97, 97, 97, 97, 97, 898, 97, 97, 97, 97, 97, 97, 97, 0, 94242, 0, 0, 0, 2211840, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 237568, 102439, 106538, 98347, 0, 0, 20480, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 192512, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 94, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 96, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 12378, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 126, 126, 126, 126, 90143, 0, 0, 2170880, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 20480, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 241664, 102439, 106538, 98347, 0, 0, 20568, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 200797, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 20480, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 0, 0, 44, 0, 0, 20575, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 41, 41, 41, 0, 0, 1126400, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 0, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 89, 40976, 18, 18, 36884, 0, 45078, 0, 24, 24, 24, 27, 131201, 27, 27, 90143, 0, 0, 2170880, 0, 0, 550, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2441216, 2445312, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 94242, 0, 0, 208896, 2211840, 102439, 0, 0, 106538, 98347, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 0, 0, 0, 0, 0, 0, 0, 2367488, 32768, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2433024, 2158592, 2453504, 2461696, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2510848, 2158592, 2158592, 2158592, 2158592, 40976, 18, 36884, 245783, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 20480, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 221184, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 180224, 40976, 18, 18, 36884, 155648, 45078, 0, 24, 24, 217088, 27, 27, 27, 217088, 90143, 0, 0, 2170880, 0, 0, 828, 0, 2158592, 2158592, 2158592, 2387968, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2207744, 2207744, 2387968, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 233472, 0, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 45, 45, 718, 45, 45, 45, 45, 45, 45, 45, 45, 45, 727, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 45, 1808, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 97, 97, 0, 0, 97, 67, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 97, 97, 0, 0, 97, 97, 97, 97, 97, 97, 1787, 0, 97, 97, 0, 97, 97, 97, 45, 45, 45, 45, 2029, 45, 67, 67, 67, 67, 2033, 57889, 0, 0, 54074, 54074, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 45, 1798, 45, 45, 1800, 45, 45, 0, 1472, 0, 0, 0, 0, 0, 1474, 0, 0, 0, 0, 0, 1476, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 1320, 97, 97, 0, 0, 97, 97, 97, 97, 1786, 97, 0, 0, 97, 97, 0, 1790, 1527, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 663, 67, 24850, 24850, 12564, 12564, 0, 57889, 281, 0, 0, 53531, 53531, 367, 286, 97, 97, 0, 0, 97, 97, 97, 1785, 97, 97, 0, 0, 97, 97, 0, 97, 97, 1979, 97, 97, 45, 45, 1983, 45, 1984, 45, 45, 45, 45, 45, 652, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 690, 45, 45, 694, 45, 45, 40976, 19, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 262144, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 46, 67, 98, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 45, 67, 97, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 258048, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 1122423, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 1114152, 1114152, 1114152, 0, 0, 1114112, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 37, 102439, 106538, 98347, 0, 0, 204800, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 0, 102439, 106538, 98347, 0, 0, 57436, 40976, 18, 36884, 45078, 24, 27, 33, 33, 0, 33, 33, 33, 0, 0, 0, 40976, 18, 18, 36884, 0, 45078, 0, 124, 124, 124, 127, 127, 127, 127, 90143, 0, 0, 2170880, 0, 0, 550, 0, 2158877, 2158877, 2158877, 2388253, 2158877, 2158877, 2158877, 2158877, 2158877, 2781469, 2793757, 2158877, 2818333, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2867485, 2158877, 2904349, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 3096861, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2441501, 2445597, 2158877, 2158877, 2158877, 2158877, 2158877, 40976, 122, 123, 36884, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 936, 2158592, 4243810, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 935, 45, 45, 45, 715, 45, 45, 45, 45, 45, 45, 45, 723, 45, 45, 45, 45, 45, 1182, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 430, 45, 45, 45, 45, 45, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 47, 68, 99, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 48, 69, 100, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 49, 70, 101, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 50, 71, 102, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 51, 72, 103, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 52, 73, 104, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 53, 74, 105, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 54, 75, 106, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 55, 76, 107, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 56, 77, 108, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 57, 78, 109, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 58, 79, 110, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 59, 80, 111, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 60, 81, 112, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 61, 82, 113, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 62, 83, 114, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 63, 84, 115, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 64, 85, 116, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 65, 86, 117, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 38, 102439, 106538, 98347, 66, 87, 118, 40976, 18, 36884, 45078, 24, 27, 90143, 94242, 118820, 102439, 106538, 98347, 118820, 118820, 118820, 40976, 18, 18, 0, 0, 45078, 0, 24, 24, 24, 27, 27, 27, 27, 90143, 0, 0, 1314, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 1321, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 0, 367, 0, 0, 1315, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1360, 97, 97, 131, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 145, 149, 45, 45, 45, 45, 45, 174, 45, 179, 45, 185, 45, 188, 45, 45, 202, 67, 255, 67, 67, 269, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 292, 296, 97, 97, 97, 97, 97, 321, 97, 326, 97, 332, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 646, 335, 97, 97, 349, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 437, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 523, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 511, 67, 67, 67, 97, 97, 97, 620, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1501, 1502, 97, 793, 67, 67, 796, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 808, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 2052, 67, 67, 67, 67, 813, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 830, 97, 97, 97, 97, 97, 97, 97, 97, 97, 315, 97, 97, 97, 97, 97, 97, 841, 97, 97, 97, 97, 97, 97, 97, 97, 97, 854, 97, 97, 97, 97, 97, 97, 589, 97, 97, 97, 97, 97, 97, 97, 97, 97, 867, 97, 97, 97, 97, 97, 97, 97, 891, 97, 97, 894, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 906, 45, 937, 45, 45, 940, 45, 45, 45, 45, 45, 45, 948, 45, 45, 45, 45, 45, 734, 735, 67, 737, 67, 738, 67, 740, 67, 67, 67, 45, 967, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 435, 45, 45, 45, 980, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 415, 45, 45, 67, 67, 1024, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 67, 67, 67, 67, 67, 25398, 1081, 13112, 1085, 54074, 1089, 0, 0, 0, 0, 0, 0, 363, 0, 28809, 0, 139, 45, 45, 45, 45, 45, 45, 1674, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1913, 67, 1914, 67, 67, 67, 1918, 67, 67, 97, 97, 97, 97, 1118, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 630, 97, 97, 97, 97, 97, 1169, 97, 97, 97, 97, 97, 0, 921, 0, 1175, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 1534, 45, 45, 45, 45, 45, 1538, 45, 45, 45, 45, 1233, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 742, 67, 45, 45, 1191, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 454, 67, 67, 67, 67, 1243, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1251, 67, 0, 0, 97, 97, 97, 97, 45, 45, 67, 67, 2050, 0, 97, 97, 45, 45, 45, 732, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 67, 67, 67, 1284, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 772, 67, 67, 67, 1293, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 2158592, 2158592, 2158592, 2404352, 2412544, 1323, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1331, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1737, 97, 1364, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1373, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 647, 45, 45, 1387, 45, 45, 1391, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 410, 45, 45, 45, 45, 45, 1400, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1407, 45, 45, 45, 45, 45, 941, 45, 943, 45, 45, 45, 45, 45, 45, 951, 45, 67, 1438, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1447, 67, 67, 67, 67, 67, 67, 782, 67, 67, 67, 67, 67, 67, 67, 67, 67, 756, 67, 67, 67, 67, 67, 67, 97, 1491, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1500, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1736, 97, 45, 45, 1541, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 677, 45, 45, 67, 1581, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 791, 792, 67, 67, 67, 67, 1598, 67, 1600, 67, 67, 67, 67, 67, 67, 67, 67, 1472, 97, 97, 97, 1727, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1513, 97, 97, 67, 67, 97, 1879, 97, 1881, 97, 0, 1884, 0, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 1842, 97, 97, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1928, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1903, 45, 45, 45, 67, 67, 67, 67, 97, 97, 97, 97, 1971, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 1381, 45, 45, 45, 45, 1976, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1747, 809, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 97, 907, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 638, 0, 0, 0, 0, 1478, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1150, 97, 97, 97, 97, 67, 67, 67, 67, 1244, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 477, 67, 67, 67, 67, 67, 67, 1294, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1324, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 1374, 97, 97, 97, 97, 0, 1175, 0, 45, 45, 45, 45, 45, 45, 45, 45, 945, 45, 45, 45, 45, 45, 45, 45, 45, 1908, 45, 45, 1910, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1919, 67, 0, 0, 97, 97, 97, 97, 45, 2048, 67, 2049, 0, 0, 97, 2051, 45, 45, 45, 939, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 397, 45, 45, 45, 1921, 67, 67, 1923, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1947, 45, 1935, 0, 0, 0, 97, 1939, 97, 97, 1941, 97, 45, 45, 45, 45, 45, 45, 382, 389, 45, 45, 45, 45, 45, 45, 45, 45, 1810, 45, 45, 1812, 67, 67, 67, 67, 67, 256, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 336, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 371, 373, 45, 45, 45, 955, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 413, 45, 45, 45, 457, 459, 67, 67, 67, 67, 67, 67, 67, 67, 473, 67, 478, 67, 67, 482, 67, 67, 485, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 1828, 97, 554, 556, 97, 97, 97, 97, 97, 97, 97, 97, 570, 97, 575, 97, 97, 579, 97, 97, 582, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 330, 97, 97, 67, 746, 67, 67, 67, 67, 67, 67, 67, 67, 67, 758, 67, 67, 67, 67, 67, 67, 67, 1575, 67, 67, 67, 67, 67, 67, 67, 67, 493, 67, 67, 67, 67, 67, 67, 67, 97, 97, 844, 97, 97, 97, 97, 97, 97, 97, 97, 97, 856, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1735, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 1642, 97, 1644, 97, 97, 890, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 67, 67, 67, 67, 1065, 1066, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 532, 67, 67, 67, 67, 67, 67, 67, 1451, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 496, 67, 67, 97, 97, 1505, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 593, 97, 97, 0, 1474, 0, 1476, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1617, 97, 97, 1635, 0, 1637, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 885, 97, 97, 97, 97, 67, 67, 1704, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 565, 572, 97, 97, 97, 97, 97, 97, 97, 97, 1832, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 1946, 45, 45, 67, 67, 67, 67, 67, 97, 1926, 97, 1927, 97, 0, 0, 0, 97, 97, 1934, 2043, 0, 0, 97, 97, 97, 2047, 45, 45, 67, 67, 0, 1832, 97, 97, 45, 45, 45, 981, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1227, 45, 45, 45, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 372, 45, 45, 45, 45, 1661, 1662, 45, 45, 45, 45, 45, 1666, 45, 45, 45, 45, 45, 1673, 45, 1675, 45, 45, 45, 45, 45, 45, 45, 67, 1426, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1275, 67, 67, 67, 67, 67, 45, 418, 45, 45, 420, 45, 45, 423, 45, 45, 45, 45, 45, 45, 45, 45, 959, 45, 45, 962, 45, 45, 45, 45, 458, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 483, 67, 67, 67, 67, 504, 67, 67, 506, 67, 67, 509, 67, 67, 67, 67, 67, 67, 67, 528, 67, 67, 67, 67, 67, 67, 67, 67, 1287, 67, 67, 67, 67, 67, 67, 67, 555, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 580, 97, 97, 97, 97, 601, 97, 97, 603, 97, 97, 606, 97, 97, 97, 97, 97, 97, 848, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1498, 97, 97, 97, 97, 97, 97, 45, 45, 714, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 989, 990, 45, 67, 67, 67, 67, 67, 1011, 67, 67, 67, 67, 1015, 67, 67, 67, 67, 67, 67, 67, 753, 67, 67, 67, 67, 67, 67, 67, 67, 467, 67, 67, 67, 67, 67, 67, 67, 45, 45, 1179, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1003, 1004, 67, 1217, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 728, 67, 1461, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1034, 67, 97, 1516, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 871, 97, 67, 67, 67, 1705, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 567, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1715, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 1380, 45, 45, 45, 45, 45, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 1887, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 2006, 45, 45, 1907, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1920, 67, 97, 0, 2035, 97, 97, 97, 97, 97, 45, 45, 45, 45, 67, 67, 67, 1428, 67, 67, 67, 67, 67, 67, 1435, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 146, 45, 152, 45, 45, 165, 45, 175, 45, 180, 45, 45, 187, 190, 195, 45, 203, 254, 257, 262, 67, 270, 67, 67, 0, 24850, 12564, 0, 0, 0, 281, 28809, 53531, 97, 97, 97, 293, 97, 299, 97, 97, 312, 97, 322, 97, 327, 97, 97, 334, 337, 342, 97, 350, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 67, 484, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 499, 97, 581, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 596, 648, 45, 650, 45, 651, 45, 653, 45, 45, 45, 657, 45, 45, 45, 45, 45, 45, 1954, 67, 67, 67, 1958, 67, 67, 67, 67, 67, 67, 67, 768, 67, 67, 67, 67, 67, 67, 67, 67, 769, 67, 67, 67, 67, 67, 67, 67, 680, 45, 45, 45, 45, 45, 45, 45, 45, 688, 689, 691, 45, 45, 45, 45, 45, 983, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 947, 45, 45, 45, 45, 952, 45, 45, 698, 699, 45, 45, 702, 703, 45, 45, 45, 45, 45, 45, 45, 711, 744, 67, 67, 67, 67, 67, 67, 67, 67, 67, 757, 67, 67, 67, 67, 761, 67, 67, 67, 67, 765, 67, 767, 67, 67, 67, 67, 67, 67, 67, 67, 775, 776, 778, 67, 67, 67, 67, 67, 67, 785, 786, 67, 67, 789, 790, 67, 67, 67, 67, 67, 67, 1442, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1775, 97, 97, 97, 67, 67, 67, 67, 67, 798, 67, 67, 67, 802, 67, 67, 67, 67, 67, 67, 67, 67, 1465, 67, 67, 1468, 67, 67, 1471, 67, 67, 810, 67, 67, 67, 67, 67, 67, 67, 67, 67, 821, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 0, 833, 97, 835, 97, 836, 97, 838, 97, 97, 0, 0, 97, 97, 97, 2002, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 1740, 45, 45, 45, 1744, 45, 45, 45, 97, 842, 97, 97, 97, 97, 97, 97, 97, 97, 97, 855, 97, 97, 97, 97, 0, 1717, 1718, 97, 97, 97, 97, 97, 1722, 97, 0, 0, 859, 97, 97, 97, 97, 863, 97, 865, 97, 97, 97, 97, 97, 97, 97, 97, 604, 97, 97, 97, 97, 97, 97, 97, 873, 874, 876, 97, 97, 97, 97, 97, 97, 883, 884, 97, 97, 887, 888, 97, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 225280, 0, 365, 0, 367, 0, 45, 45, 45, 1531, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1199, 45, 45, 45, 45, 45, 97, 97, 908, 97, 97, 97, 97, 97, 97, 97, 97, 97, 919, 638, 0, 0, 0, 0, 2158877, 2158877, 2158877, 2158877, 2158877, 2425117, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2597149, 2158877, 2158877, 2158877, 2158877, 2158877, 2158877, 2642205, 2158877, 2158877, 2158877, 2158877, 2158877, 3158301, 0, 2375818, 2379914, 2158730, 2158730, 2420874, 2158730, 2449546, 2158730, 2158730, 953, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 965, 978, 45, 45, 45, 45, 45, 45, 985, 45, 45, 45, 45, 45, 45, 45, 45, 971, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1027, 67, 1029, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1455, 67, 67, 67, 67, 67, 67, 67, 1077, 1078, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 139, 2158730, 2158730, 2158730, 2404490, 2412682, 1113, 97, 97, 97, 97, 97, 97, 1121, 97, 1123, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1540, 1155, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 615, 1168, 97, 97, 1171, 1172, 97, 97, 0, 921, 0, 1175, 0, 0, 0, 0, 45, 45, 45, 45, 45, 1533, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1663, 45, 45, 45, 45, 45, 45, 45, 45, 45, 183, 45, 45, 45, 45, 201, 45, 45, 45, 1219, 45, 45, 45, 45, 45, 45, 45, 1226, 45, 45, 45, 45, 45, 168, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 427, 45, 45, 45, 45, 45, 45, 45, 1231, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1242, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1046, 67, 67, 1254, 67, 1256, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 806, 807, 67, 67, 97, 1336, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1111, 97, 97, 97, 97, 97, 1351, 97, 97, 97, 1354, 97, 97, 97, 1359, 97, 97, 97, 0, 97, 97, 97, 97, 1640, 97, 97, 97, 97, 97, 97, 97, 897, 97, 97, 97, 902, 97, 97, 97, 97, 97, 97, 97, 97, 1366, 97, 97, 97, 97, 97, 97, 97, 1371, 97, 97, 97, 0, 97, 97, 97, 1730, 97, 97, 97, 97, 97, 97, 97, 97, 915, 97, 97, 97, 97, 0, 360, 0, 67, 67, 67, 1440, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1017, 67, 1019, 67, 67, 67, 67, 67, 1453, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1459, 97, 97, 97, 1493, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1525, 97, 97, 97, 97, 97, 97, 1507, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1514, 67, 67, 67, 67, 1584, 67, 67, 67, 67, 67, 1590, 67, 67, 67, 67, 67, 67, 67, 783, 67, 67, 67, 788, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1599, 1601, 67, 67, 67, 1604, 67, 1606, 1607, 67, 1472, 0, 1474, 0, 1476, 0, 97, 97, 97, 97, 97, 97, 1614, 97, 97, 97, 97, 45, 45, 1850, 45, 45, 45, 45, 1855, 45, 45, 45, 45, 45, 1222, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1229, 97, 1618, 97, 97, 97, 97, 97, 97, 97, 1625, 97, 97, 97, 97, 97, 0, 1175, 0, 45, 45, 45, 45, 45, 45, 45, 45, 447, 45, 45, 45, 45, 45, 67, 67, 1633, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 1643, 1645, 97, 97, 0, 0, 97, 97, 1784, 97, 97, 97, 0, 0, 97, 97, 0, 97, 1894, 1895, 97, 1897, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 656, 45, 45, 45, 45, 45, 45, 97, 1648, 97, 1650, 1651, 97, 0, 45, 45, 45, 1654, 45, 45, 45, 45, 45, 169, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 658, 45, 45, 45, 45, 664, 45, 45, 1659, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1187, 45, 45, 1669, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1005, 67, 67, 1681, 67, 67, 67, 67, 67, 67, 67, 1686, 67, 67, 67, 67, 67, 67, 67, 784, 67, 67, 67, 67, 67, 67, 67, 67, 1055, 67, 67, 67, 67, 1060, 67, 67, 97, 97, 1713, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 1378, 45, 45, 45, 45, 45, 45, 45, 408, 45, 45, 45, 45, 45, 45, 45, 45, 1547, 45, 1549, 45, 45, 45, 45, 45, 97, 97, 1780, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 45, 2027, 2028, 45, 45, 67, 67, 2031, 2032, 67, 45, 45, 1804, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1917, 67, 67, 67, 67, 67, 67, 67, 1819, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1708, 97, 97, 97, 97, 97, 45, 45, 1862, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 497, 67, 67, 67, 1877, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 0, 97, 97, 97, 97, 97, 1839, 0, 0, 97, 97, 97, 97, 1936, 0, 0, 97, 97, 97, 97, 97, 97, 1943, 1944, 1945, 45, 45, 45, 45, 670, 45, 45, 45, 45, 674, 45, 45, 45, 45, 678, 45, 1948, 45, 1950, 45, 45, 45, 45, 1955, 1956, 1957, 67, 67, 67, 1960, 67, 1962, 67, 67, 67, 67, 1967, 1968, 1969, 97, 0, 0, 0, 97, 97, 1974, 97, 0, 1936, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 1906, 0, 1977, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1746, 45, 45, 45, 45, 2011, 67, 67, 2013, 67, 67, 67, 2017, 97, 97, 0, 0, 2021, 97, 8192, 97, 97, 2025, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1916, 67, 67, 67, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 140, 45, 45, 45, 1180, 45, 45, 45, 45, 1184, 45, 45, 45, 45, 45, 45, 45, 387, 45, 392, 45, 45, 396, 45, 45, 399, 45, 45, 67, 207, 67, 67, 67, 67, 67, 67, 236, 67, 67, 67, 67, 67, 67, 67, 800, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1603, 67, 67, 67, 67, 67, 0, 97, 97, 287, 97, 97, 97, 97, 97, 97, 316, 97, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 1656, 1657, 45, 376, 45, 45, 45, 45, 45, 388, 45, 45, 45, 45, 45, 45, 45, 45, 1406, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 462, 67, 67, 67, 67, 67, 474, 67, 67, 67, 67, 67, 67, 67, 817, 67, 67, 67, 67, 25398, 542, 13112, 544, 97, 97, 97, 97, 559, 97, 97, 97, 97, 97, 571, 97, 97, 97, 97, 97, 97, 896, 97, 97, 97, 900, 97, 97, 97, 97, 97, 97, 912, 914, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 391, 45, 45, 45, 45, 45, 45, 45, 45, 713, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 662, 45, 1140, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 636, 67, 67, 1283, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 513, 67, 67, 1363, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 889, 97, 97, 97, 1714, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 926, 45, 45, 45, 45, 45, 45, 45, 45, 672, 45, 45, 45, 45, 45, 45, 45, 45, 686, 45, 45, 45, 45, 45, 45, 45, 45, 944, 45, 45, 45, 45, 45, 45, 45, 45, 1676, 45, 45, 45, 45, 45, 45, 67, 97, 97, 97, 1833, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 1902, 45, 45, 45, 45, 45, 957, 45, 45, 45, 45, 961, 45, 963, 45, 45, 45, 67, 97, 2034, 0, 97, 97, 97, 97, 97, 2040, 45, 45, 45, 2042, 67, 67, 67, 67, 67, 67, 1574, 67, 67, 67, 67, 67, 1578, 67, 67, 67, 67, 67, 67, 799, 67, 67, 67, 804, 67, 67, 67, 67, 67, 67, 67, 1298, 0, 0, 0, 1304, 0, 0, 0, 1310, 132, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 45, 45, 1414, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 428, 45, 45, 45, 45, 45, 57889, 0, 0, 54074, 54074, 550, 831, 97, 97, 97, 97, 97, 97, 97, 97, 97, 568, 97, 97, 97, 97, 578, 97, 45, 45, 968, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1228, 45, 45, 67, 67, 67, 67, 67, 25398, 1082, 13112, 1086, 54074, 1090, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 139, 2158592, 2158592, 2158592, 2404352, 2412544, 67, 67, 67, 67, 1464, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 510, 67, 67, 67, 67, 97, 97, 97, 97, 1519, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 918, 97, 0, 0, 0, 0, 1528, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 976, 45, 1554, 45, 45, 45, 45, 45, 45, 45, 45, 1562, 45, 45, 1565, 45, 45, 45, 45, 683, 45, 45, 45, 687, 45, 45, 692, 45, 45, 45, 45, 45, 1953, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1014, 67, 67, 67, 67, 67, 67, 1568, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 67, 67, 67, 67, 67, 1585, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1594, 97, 97, 1649, 97, 97, 97, 0, 45, 45, 1653, 45, 45, 45, 45, 45, 45, 383, 45, 45, 45, 45, 45, 45, 45, 45, 45, 986, 45, 45, 45, 45, 45, 45, 45, 45, 1670, 45, 1672, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 736, 67, 67, 67, 67, 67, 741, 67, 67, 67, 1680, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1074, 67, 67, 67, 1692, 67, 67, 67, 67, 67, 67, 67, 1697, 67, 1699, 67, 67, 67, 67, 67, 67, 1012, 67, 67, 67, 67, 67, 67, 67, 67, 67, 468, 475, 67, 67, 67, 67, 67, 67, 1769, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 624, 97, 97, 97, 97, 97, 97, 634, 97, 97, 1792, 97, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 958, 45, 45, 45, 45, 45, 45, 964, 45, 150, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 977, 204, 45, 67, 67, 67, 217, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 787, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 271, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 97, 351, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 45, 938, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1398, 45, 45, 45, 153, 45, 161, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 660, 661, 45, 45, 205, 45, 67, 67, 67, 67, 220, 67, 228, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 280, 94, 0, 0, 67, 67, 67, 67, 67, 272, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 97, 352, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 439, 45, 45, 45, 45, 45, 445, 45, 45, 45, 452, 45, 45, 67, 67, 212, 216, 67, 67, 67, 67, 67, 241, 67, 246, 67, 252, 67, 67, 486, 67, 67, 67, 67, 67, 67, 67, 494, 67, 67, 67, 67, 67, 67, 67, 1245, 67, 67, 67, 67, 67, 67, 67, 67, 1013, 67, 67, 1016, 67, 67, 67, 67, 67, 521, 67, 67, 525, 67, 67, 67, 67, 67, 531, 67, 67, 67, 538, 67, 0, 0, 2046, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 1192, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1418, 45, 45, 1421, 97, 97, 583, 97, 97, 97, 97, 97, 97, 97, 591, 97, 97, 97, 97, 97, 97, 913, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 1384, 97, 618, 97, 97, 622, 97, 97, 97, 97, 97, 628, 97, 97, 97, 635, 97, 18, 131427, 0, 0, 0, 639, 0, 132, 362, 0, 0, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 932, 45, 45, 45, 45, 45, 1544, 45, 45, 45, 45, 45, 1550, 45, 45, 45, 45, 45, 1194, 45, 1196, 45, 45, 45, 45, 45, 45, 45, 45, 999, 45, 45, 45, 45, 45, 67, 67, 45, 45, 667, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1408, 45, 45, 45, 696, 45, 45, 45, 701, 45, 45, 45, 45, 45, 45, 45, 45, 710, 45, 45, 45, 1220, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 194, 45, 45, 45, 729, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 797, 67, 67, 67, 67, 67, 67, 805, 67, 67, 67, 67, 67, 67, 67, 1587, 67, 1589, 67, 67, 67, 67, 67, 67, 67, 67, 1763, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 2162968, 0, 0, 67, 67, 67, 67, 67, 814, 816, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 67, 67, 1008, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1020, 67, 0, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 67, 67, 67, 67, 1429, 67, 1430, 67, 67, 67, 67, 67, 1062, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 518, 1076, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 0, 28809, 0, 139, 45, 45, 45, 45, 45, 97, 97, 97, 97, 1102, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1124, 97, 1126, 97, 97, 1114, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1112, 97, 97, 1156, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 594, 97, 97, 97, 97, 1170, 97, 97, 97, 97, 0, 921, 0, 0, 0, 0, 0, 0, 45, 45, 45, 45, 1532, 45, 45, 45, 45, 1536, 45, 45, 45, 45, 45, 172, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 706, 45, 45, 709, 45, 45, 1177, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1202, 45, 1204, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1215, 45, 45, 45, 1232, 45, 45, 45, 45, 45, 45, 45, 67, 1237, 67, 67, 67, 67, 67, 67, 1053, 1054, 67, 67, 67, 67, 67, 67, 1061, 67, 67, 1282, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1289, 67, 67, 67, 1292, 97, 97, 97, 97, 1339, 97, 97, 97, 97, 97, 97, 1344, 97, 97, 97, 97, 45, 1849, 45, 1851, 45, 45, 45, 45, 45, 45, 45, 45, 721, 45, 45, 45, 45, 45, 726, 45, 1385, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1188, 45, 45, 1401, 1402, 45, 45, 45, 45, 1405, 45, 45, 45, 45, 45, 45, 45, 45, 1752, 45, 45, 45, 45, 45, 67, 67, 1410, 45, 45, 45, 1413, 45, 1415, 45, 45, 45, 45, 45, 45, 1419, 45, 45, 45, 45, 1806, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 97, 97, 2019, 0, 97, 67, 67, 67, 1452, 67, 67, 67, 67, 67, 67, 67, 67, 1457, 67, 67, 67, 67, 67, 67, 1259, 67, 67, 67, 67, 67, 67, 1264, 67, 67, 1460, 67, 1462, 67, 67, 67, 67, 67, 67, 1466, 67, 67, 67, 67, 67, 67, 67, 67, 1588, 67, 67, 67, 67, 67, 67, 67, 0, 1300, 0, 0, 0, 1306, 0, 0, 0, 97, 97, 97, 1506, 97, 97, 97, 97, 97, 97, 97, 97, 1512, 97, 97, 97, 0, 1728, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 901, 97, 97, 97, 97, 1515, 97, 1517, 97, 97, 97, 97, 97, 97, 1521, 97, 97, 97, 97, 97, 97, 0, 45, 1652, 45, 45, 45, 1655, 45, 45, 45, 45, 45, 1542, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1552, 1553, 45, 45, 45, 1556, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 693, 45, 45, 45, 67, 67, 67, 67, 1572, 67, 67, 67, 67, 1576, 67, 67, 67, 67, 67, 67, 67, 67, 1602, 67, 67, 1605, 67, 67, 67, 0, 67, 1582, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1580, 67, 67, 1596, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 542, 0, 544, 67, 67, 67, 67, 1759, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 533, 67, 67, 67, 67, 67, 67, 67, 1770, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 1777, 97, 97, 97, 1793, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 998, 45, 45, 1001, 1002, 45, 45, 67, 67, 45, 1861, 45, 67, 67, 67, 67, 67, 67, 67, 67, 1871, 67, 1873, 1874, 67, 0, 97, 45, 67, 0, 97, 45, 67, 16384, 97, 45, 67, 97, 0, 0, 0, 1473, 0, 1082, 0, 0, 0, 1475, 0, 1086, 0, 0, 0, 1477, 1876, 67, 97, 97, 97, 97, 97, 1883, 0, 1885, 97, 97, 97, 1889, 0, 0, 0, 286, 0, 0, 0, 286, 0, 2367488, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 40976, 0, 18, 18, 24, 24, 126, 126, 126, 2053, 0, 2055, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 97, 97, 2039, 97, 45, 45, 45, 45, 67, 67, 67, 67, 67, 226, 67, 67, 67, 67, 67, 67, 67, 67, 1246, 67, 67, 1249, 1250, 67, 67, 67, 132, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 141, 45, 45, 45, 1403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1186, 45, 45, 1189, 45, 45, 155, 45, 45, 45, 45, 45, 45, 45, 45, 45, 191, 45, 45, 45, 45, 700, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1753, 45, 45, 45, 67, 67, 45, 45, 67, 208, 67, 67, 67, 222, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1764, 67, 67, 67, 67, 67, 67, 67, 258, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 288, 97, 97, 97, 302, 97, 97, 97, 97, 97, 97, 97, 97, 97, 627, 97, 97, 97, 97, 97, 97, 338, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 370, 45, 45, 45, 45, 716, 45, 45, 45, 45, 45, 722, 45, 45, 45, 45, 45, 45, 1912, 67, 67, 67, 67, 67, 67, 67, 67, 67, 819, 67, 67, 25398, 542, 13112, 544, 45, 403, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1409, 45, 67, 67, 67, 67, 489, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 771, 67, 67, 67, 67, 520, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 534, 67, 67, 67, 67, 67, 67, 1271, 67, 67, 67, 1274, 67, 67, 67, 1279, 67, 67, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 97, 553, 97, 97, 97, 97, 586, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1138, 97, 97, 97, 97, 617, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 631, 97, 97, 97, 0, 1834, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 353, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 45, 668, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 724, 45, 45, 45, 45, 45, 682, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 949, 45, 45, 45, 67, 67, 747, 748, 67, 67, 67, 67, 755, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 1302, 0, 0, 0, 1308, 0, 67, 794, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1701, 67, 97, 97, 97, 845, 846, 97, 97, 97, 97, 853, 97, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 97, 97, 892, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 610, 97, 97, 45, 992, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 1239, 67, 67, 67, 1063, 67, 67, 67, 67, 67, 1068, 67, 67, 67, 67, 67, 67, 67, 0, 0, 1301, 0, 0, 0, 1307, 0, 0, 97, 1141, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1152, 97, 97, 0, 0, 97, 97, 2001, 0, 97, 2003, 97, 97, 97, 45, 45, 45, 1739, 45, 45, 45, 1742, 45, 45, 45, 45, 45, 97, 97, 97, 97, 1157, 97, 97, 97, 97, 97, 1162, 97, 97, 97, 97, 97, 97, 1145, 97, 97, 97, 97, 97, 1151, 97, 97, 97, 1253, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 539, 45, 1423, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1431, 67, 67, 67, 67, 67, 67, 67, 1695, 67, 67, 67, 67, 67, 1700, 67, 1702, 67, 67, 1439, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 514, 67, 67, 97, 97, 1492, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 611, 97, 97, 1703, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 97, 97, 852, 97, 97, 97, 97, 97, 97, 45, 1949, 45, 1951, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 1961, 67, 0, 97, 45, 67, 0, 97, 2060, 2061, 0, 2062, 45, 67, 97, 0, 0, 2036, 97, 97, 97, 97, 45, 45, 45, 45, 67, 67, 67, 67, 67, 223, 67, 67, 237, 67, 67, 67, 67, 67, 67, 67, 1272, 67, 67, 67, 67, 67, 67, 67, 67, 507, 67, 67, 67, 67, 67, 67, 67, 1963, 67, 67, 67, 97, 97, 97, 97, 0, 1972, 0, 97, 97, 97, 1975, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 931, 45, 45, 45, 45, 45, 407, 45, 45, 45, 45, 45, 45, 45, 45, 45, 417, 45, 45, 1989, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1996, 97, 18, 131427, 0, 0, 360, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 930, 45, 45, 45, 45, 45, 45, 444, 45, 45, 45, 45, 45, 45, 45, 67, 67, 97, 97, 1998, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1985, 45, 1986, 45, 45, 45, 156, 45, 45, 170, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 675, 45, 45, 45, 45, 679, 131427, 0, 358, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 381, 45, 45, 45, 45, 45, 45, 45, 45, 45, 400, 45, 45, 419, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 436, 67, 67, 67, 67, 67, 505, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 820, 67, 25398, 542, 13112, 544, 67, 67, 522, 67, 67, 67, 67, 67, 529, 67, 67, 67, 67, 67, 67, 67, 0, 1299, 0, 0, 0, 1305, 0, 0, 0, 97, 97, 619, 97, 97, 97, 97, 97, 626, 97, 97, 97, 97, 97, 97, 97, 1105, 97, 97, 97, 97, 1109, 97, 97, 97, 67, 67, 67, 67, 749, 67, 67, 67, 67, 67, 67, 67, 67, 67, 760, 67, 0, 97, 45, 67, 2058, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 97, 97, 97, 97, 45, 45, 45, 2041, 67, 67, 67, 67, 67, 780, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 516, 67, 67, 97, 97, 97, 878, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1629, 97, 0, 45, 979, 45, 45, 45, 45, 984, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1198, 45, 45, 45, 45, 45, 45, 67, 1023, 67, 67, 67, 67, 1028, 67, 67, 67, 67, 67, 67, 67, 67, 67, 470, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 1094, 0, 0, 0, 1092, 1315, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1486, 97, 1489, 97, 97, 97, 1117, 97, 97, 97, 97, 1122, 97, 97, 97, 97, 97, 97, 97, 1146, 97, 97, 97, 97, 97, 97, 97, 97, 881, 97, 97, 97, 886, 97, 97, 97, 1311, 0, 0, 0, 0, 0, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1615, 97, 97, 97, 97, 97, 1619, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1631, 97, 97, 1847, 97, 45, 45, 45, 45, 1852, 45, 45, 45, 45, 45, 45, 45, 1235, 45, 45, 45, 67, 67, 67, 67, 67, 1868, 67, 67, 67, 1872, 67, 67, 67, 67, 67, 97, 97, 97, 97, 1882, 0, 0, 0, 97, 97, 97, 97, 0, 1891, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 1929, 0, 0, 97, 97, 97, 97, 97, 97, 45, 1900, 45, 1901, 45, 45, 45, 1905, 45, 67, 2054, 97, 45, 67, 0, 97, 45, 67, 0, 97, 45, 67, 97, 0, 0, 97, 2037, 2038, 97, 97, 45, 45, 45, 45, 67, 67, 67, 67, 1867, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1774, 97, 97, 97, 97, 97, 97, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 142, 45, 45, 45, 1412, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 432, 45, 45, 45, 45, 45, 157, 45, 45, 171, 45, 45, 45, 182, 45, 45, 45, 45, 200, 45, 45, 45, 1543, 45, 45, 45, 45, 45, 45, 45, 45, 1551, 45, 45, 45, 45, 1181, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1211, 45, 45, 45, 1214, 45, 45, 45, 67, 209, 67, 67, 67, 224, 67, 67, 238, 67, 67, 67, 249, 67, 0, 97, 2056, 2057, 0, 2059, 45, 67, 0, 97, 45, 67, 97, 0, 0, 1937, 97, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1741, 45, 45, 45, 45, 45, 45, 67, 67, 67, 267, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 289, 97, 97, 97, 304, 97, 97, 318, 97, 97, 97, 329, 97, 97, 0, 0, 97, 1783, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 45, 2026, 45, 45, 45, 45, 67, 2030, 67, 67, 67, 67, 67, 67, 1041, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1044, 67, 67, 67, 67, 67, 67, 97, 97, 347, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 45, 666, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1420, 45, 57889, 0, 0, 54074, 54074, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 840, 67, 1007, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 759, 67, 67, 67, 67, 67, 67, 67, 1052, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1031, 67, 67, 67, 67, 67, 97, 97, 97, 1101, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 592, 97, 97, 97, 1190, 45, 45, 45, 45, 45, 1195, 45, 1197, 45, 45, 45, 45, 1201, 45, 45, 45, 45, 1952, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 250, 67, 67, 67, 1255, 67, 1257, 67, 67, 67, 67, 1261, 67, 67, 67, 67, 67, 67, 67, 67, 1685, 67, 67, 67, 67, 67, 67, 67, 0, 24851, 12565, 0, 0, 0, 0, 28809, 53532, 67, 67, 1267, 67, 67, 67, 67, 67, 67, 1273, 67, 67, 67, 67, 67, 67, 67, 67, 1696, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 2162688, 0, 0, 1281, 67, 67, 67, 67, 1285, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1070, 67, 67, 67, 67, 67, 1335, 97, 1337, 97, 97, 97, 97, 1341, 97, 97, 97, 97, 97, 97, 97, 97, 882, 97, 97, 97, 97, 97, 97, 97, 1347, 97, 97, 97, 97, 97, 97, 1353, 97, 97, 97, 97, 97, 97, 1361, 97, 18, 131427, 0, 638, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 544, 0, 550, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2473984, 2158592, 2158592, 2158592, 2990080, 2158592, 2158592, 2207744, 2207744, 2482176, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 2207744, 0, 0, 0, 0, 0, 0, 2162688, 0, 53530, 97, 97, 97, 1365, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 608, 97, 97, 97, 45, 45, 1424, 45, 1425, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1058, 67, 67, 67, 67, 45, 1555, 45, 45, 1557, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 707, 45, 45, 45, 45, 67, 67, 1570, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 773, 67, 67, 1595, 67, 67, 1597, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 2158592, 2158592, 2158592, 2404352, 2412544, 97, 97, 97, 1636, 97, 97, 97, 1639, 97, 97, 1641, 97, 97, 97, 97, 97, 97, 1173, 0, 921, 0, 0, 0, 0, 0, 0, 45, 67, 67, 67, 1693, 67, 67, 67, 67, 67, 67, 67, 1698, 67, 67, 67, 67, 67, 67, 67, 1773, 67, 97, 97, 97, 97, 97, 97, 97, 625, 97, 97, 97, 97, 97, 97, 97, 97, 850, 97, 97, 97, 97, 97, 97, 97, 97, 880, 97, 97, 97, 97, 97, 97, 97, 97, 1106, 97, 97, 97, 97, 97, 97, 97, 1860, 45, 45, 67, 67, 1865, 67, 67, 67, 67, 1870, 67, 67, 67, 67, 1875, 67, 67, 97, 97, 1880, 97, 97, 0, 0, 0, 97, 97, 1888, 97, 0, 0, 0, 1938, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 1854, 45, 45, 45, 45, 45, 45, 45, 1909, 45, 45, 1911, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1248, 67, 67, 67, 67, 67, 67, 1922, 67, 67, 1924, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 1898, 45, 45, 45, 45, 45, 45, 1904, 45, 45, 67, 67, 67, 67, 97, 97, 97, 97, 0, 0, 16384, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 1724, 2008, 2009, 45, 45, 67, 67, 67, 2014, 2015, 67, 67, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 2022, 0, 2023, 97, 97, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1869, 67, 67, 67, 67, 67, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 147, 151, 154, 45, 162, 45, 45, 176, 178, 181, 45, 45, 45, 192, 196, 45, 45, 45, 45, 2012, 67, 67, 67, 67, 67, 67, 2018, 97, 0, 0, 97, 1978, 97, 97, 97, 1982, 45, 45, 45, 45, 45, 45, 45, 45, 45, 972, 973, 45, 45, 45, 45, 45, 67, 259, 263, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 294, 298, 301, 97, 309, 97, 97, 323, 325, 328, 97, 97, 97, 97, 97, 560, 97, 97, 97, 569, 97, 97, 97, 97, 97, 97, 306, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1624, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 1175, 0, 0, 0, 0, 45, 339, 343, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 67, 67, 503, 67, 67, 67, 67, 67, 67, 67, 67, 67, 512, 67, 67, 519, 97, 97, 600, 97, 97, 97, 97, 97, 97, 97, 97, 97, 609, 97, 97, 616, 45, 649, 45, 45, 45, 45, 45, 654, 45, 45, 45, 45, 45, 45, 45, 45, 1393, 45, 45, 45, 45, 45, 45, 45, 45, 1209, 45, 45, 45, 45, 45, 45, 45, 67, 763, 67, 67, 67, 67, 67, 67, 67, 67, 770, 67, 67, 67, 774, 67, 0, 2045, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 994, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 213, 67, 219, 67, 67, 232, 67, 242, 67, 247, 67, 67, 67, 779, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1018, 67, 67, 67, 67, 811, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 0, 97, 834, 97, 97, 97, 97, 97, 839, 97, 18, 131427, 0, 638, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 645, 97, 97, 861, 97, 97, 97, 97, 97, 97, 97, 97, 868, 97, 97, 97, 872, 97, 97, 877, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 613, 97, 97, 97, 97, 97, 909, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 0, 18, 18, 24, 24, 27, 27, 27, 1036, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1047, 67, 67, 67, 1050, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1033, 67, 67, 67, 97, 97, 1130, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 638, 0, 0, 67, 67, 67, 1295, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 1317, 97, 97, 97, 97, 97, 97, 1375, 97, 97, 97, 0, 0, 0, 45, 1379, 45, 45, 45, 45, 45, 45, 422, 45, 45, 45, 429, 431, 45, 45, 45, 45, 0, 1090, 0, 0, 97, 1479, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1357, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1716, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1723, 0, 921, 29315, 0, 0, 0, 0, 45, 929, 45, 45, 45, 45, 45, 45, 45, 1392, 45, 45, 45, 45, 45, 45, 45, 45, 45, 960, 45, 45, 45, 45, 45, 45, 97, 97, 97, 1738, 45, 45, 45, 45, 45, 45, 45, 1743, 45, 45, 45, 45, 166, 45, 45, 45, 45, 184, 186, 45, 45, 197, 45, 45, 97, 1779, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 18, 131427, 0, 638, 0, 0, 0, 0, 362, 0, 640, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1537, 45, 45, 45, 45, 45, 1803, 45, 45, 45, 45, 45, 1809, 45, 45, 45, 67, 67, 67, 1814, 67, 67, 67, 67, 67, 67, 1821, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 0, 67, 67, 67, 1818, 67, 67, 67, 67, 67, 1824, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 1890, 0, 1829, 97, 97, 0, 0, 97, 97, 1836, 97, 97, 0, 0, 0, 97, 97, 97, 97, 1981, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1987, 1845, 97, 97, 97, 45, 45, 45, 45, 45, 1853, 45, 45, 45, 1857, 45, 45, 45, 67, 1864, 67, 1866, 67, 67, 67, 67, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 97, 97, 1710, 1711, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 1886, 97, 97, 97, 0, 0, 97, 97, 97, 97, 1838, 0, 0, 0, 97, 1843, 97, 0, 1893, 97, 97, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1745, 45, 45, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 1931, 97, 97, 97, 97, 97, 588, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 629, 97, 97, 97, 97, 97, 67, 2044, 0, 97, 97, 97, 97, 45, 45, 67, 67, 0, 0, 97, 97, 45, 45, 45, 1660, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 453, 45, 455, 67, 67, 67, 67, 268, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 348, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 359, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 421, 45, 45, 45, 45, 45, 45, 45, 434, 45, 45, 695, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1667, 45, 0, 921, 29315, 0, 925, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1811, 45, 67, 67, 67, 67, 67, 67, 1037, 67, 1039, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1277, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 1095, 0, 0, 0, 1096, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 869, 97, 97, 97, 97, 97, 97, 1131, 97, 1133, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1370, 97, 97, 97, 97, 97, 1312, 0, 0, 0, 0, 1096, 0, 0, 0, 97, 97, 97, 97, 97, 97, 97, 1327, 97, 97, 97, 97, 97, 1332, 97, 97, 97, 1830, 97, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 1896, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1548, 45, 45, 45, 45, 45, 45, 133, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 45, 380, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 401, 45, 45, 158, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1200, 45, 45, 45, 45, 206, 67, 67, 67, 67, 67, 225, 67, 67, 67, 67, 67, 67, 67, 67, 754, 67, 67, 67, 67, 67, 67, 67, 57889, 0, 0, 54074, 54074, 550, 832, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1342, 97, 97, 97, 97, 97, 97, 67, 67, 67, 67, 67, 25398, 1083, 13112, 1087, 54074, 1091, 0, 0, 0, 0, 0, 0, 1316, 0, 831, 97, 97, 97, 97, 97, 97, 97, 1174, 921, 0, 1175, 0, 0, 0, 0, 45, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 45, 148, 67, 67, 264, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 97, 295, 97, 97, 97, 97, 313, 97, 97, 97, 97, 331, 333, 97, 18, 131427, 356, 638, 0, 0, 0, 0, 362, 0, 0, 365, 0, 367, 0, 45, 45, 1530, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 988, 45, 45, 45, 97, 344, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 402, 404, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1756, 67, 438, 45, 45, 45, 45, 45, 45, 45, 45, 449, 450, 45, 45, 45, 67, 67, 214, 218, 221, 67, 229, 67, 67, 243, 245, 248, 67, 67, 67, 67, 67, 488, 490, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1071, 67, 1073, 67, 67, 67, 67, 67, 524, 67, 67, 67, 67, 67, 67, 67, 67, 535, 536, 67, 67, 67, 67, 67, 67, 1683, 1684, 67, 67, 67, 67, 1688, 1689, 67, 67, 67, 67, 67, 67, 1586, 67, 67, 67, 67, 67, 67, 67, 67, 67, 469, 67, 67, 67, 67, 67, 67, 97, 97, 97, 585, 587, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1163, 97, 97, 97, 97, 97, 97, 97, 621, 97, 97, 97, 97, 97, 97, 97, 97, 632, 633, 97, 97, 0, 0, 1782, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 712, 45, 45, 45, 717, 45, 45, 45, 45, 45, 45, 45, 45, 725, 45, 45, 45, 163, 167, 173, 177, 45, 45, 45, 45, 45, 193, 45, 45, 45, 45, 982, 45, 45, 45, 45, 45, 45, 987, 45, 45, 45, 45, 45, 1558, 45, 1560, 45, 45, 45, 45, 45, 45, 45, 45, 704, 705, 45, 45, 45, 45, 45, 45, 45, 45, 731, 45, 45, 45, 67, 67, 67, 67, 67, 739, 67, 67, 67, 67, 67, 67, 273, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 67, 67, 67, 764, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1290, 67, 67, 67, 67, 67, 67, 812, 67, 67, 67, 67, 818, 67, 67, 67, 25398, 542, 13112, 544, 57889, 0, 0, 54074, 54074, 550, 0, 97, 97, 97, 97, 97, 837, 97, 97, 97, 97, 97, 602, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1137, 97, 97, 97, 97, 97, 97, 97, 97, 97, 862, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1627, 97, 97, 97, 0, 97, 97, 97, 97, 910, 97, 97, 97, 97, 916, 97, 97, 97, 0, 0, 0, 97, 97, 1940, 97, 97, 1942, 45, 45, 45, 45, 45, 45, 385, 45, 45, 45, 45, 395, 45, 45, 45, 45, 966, 45, 969, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 975, 45, 45, 45, 406, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 974, 45, 45, 45, 67, 67, 67, 67, 1010, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1262, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1040, 67, 1042, 67, 1045, 67, 67, 67, 67, 67, 67, 67, 97, 1706, 97, 97, 97, 1709, 97, 97, 97, 67, 67, 67, 67, 1051, 67, 67, 67, 67, 67, 1057, 67, 67, 67, 67, 67, 67, 67, 1443, 67, 67, 1446, 67, 67, 67, 67, 67, 67, 67, 1297, 0, 0, 0, 1303, 0, 0, 0, 1309, 67, 67, 67, 67, 1079, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2207744, 2207744, 2207744, 2207744, 2207744, 2572288, 2207744, 2207744, 2207744, 1098, 97, 97, 97, 97, 97, 1104, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1356, 97, 97, 97, 97, 97, 97, 1128, 97, 97, 97, 97, 97, 97, 1134, 97, 1136, 97, 1139, 97, 97, 97, 97, 97, 97, 1622, 97, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 0, 0, 1176, 0, 646, 45, 67, 67, 67, 1268, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1469, 67, 67, 67, 97, 1348, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1127, 97, 67, 1569, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1448, 1449, 67, 1816, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1825, 67, 67, 1827, 97, 97, 0, 1781, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 1831, 0, 0, 97, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 1980, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1395, 45, 45, 45, 45, 45, 97, 1846, 97, 97, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1212, 45, 45, 45, 45, 45, 45, 2010, 45, 67, 67, 67, 67, 67, 2016, 67, 97, 97, 0, 0, 97, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 2007, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 143, 45, 45, 45, 1671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 1813, 67, 67, 1815, 45, 45, 67, 210, 67, 67, 67, 67, 67, 67, 239, 67, 67, 67, 67, 67, 67, 67, 1454, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1445, 67, 67, 67, 67, 67, 67, 97, 97, 290, 97, 97, 97, 97, 97, 97, 319, 97, 97, 97, 97, 97, 97, 303, 97, 97, 317, 97, 97, 97, 97, 97, 97, 305, 97, 97, 97, 97, 97, 97, 97, 97, 97, 899, 97, 97, 97, 97, 97, 97, 375, 45, 45, 45, 379, 45, 45, 390, 45, 45, 394, 45, 45, 45, 45, 45, 443, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 461, 67, 67, 67, 465, 67, 67, 476, 67, 67, 480, 67, 67, 67, 67, 67, 67, 1694, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1288, 67, 67, 67, 67, 67, 67, 500, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1075, 97, 97, 97, 558, 97, 97, 97, 562, 97, 97, 573, 97, 97, 577, 97, 97, 97, 97, 97, 895, 97, 97, 97, 97, 97, 97, 903, 97, 97, 97, 0, 97, 97, 1638, 97, 97, 97, 97, 97, 97, 97, 97, 1646, 597, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1334, 45, 681, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1396, 45, 45, 1399, 45, 45, 730, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1434, 67, 67, 67, 67, 67, 67, 750, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1456, 67, 67, 67, 67, 67, 45, 45, 993, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1238, 67, 67, 1006, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1280, 1048, 1049, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1059, 67, 67, 67, 67, 67, 67, 1286, 67, 67, 67, 67, 67, 67, 67, 1291, 67, 97, 97, 1100, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 638, 0, 920, 97, 97, 1142, 1143, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1153, 97, 97, 97, 97, 97, 1158, 97, 97, 97, 1161, 97, 97, 97, 97, 1166, 97, 97, 97, 97, 97, 1325, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1328, 97, 97, 97, 97, 97, 97, 97, 45, 1218, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1678, 45, 45, 45, 67, 67, 67, 67, 67, 1269, 67, 67, 67, 67, 67, 67, 67, 67, 1278, 67, 67, 67, 67, 67, 67, 1761, 67, 67, 67, 67, 67, 67, 67, 67, 67, 530, 67, 67, 67, 67, 67, 67, 97, 97, 1349, 97, 97, 97, 97, 97, 97, 97, 97, 1358, 97, 97, 97, 97, 97, 97, 1623, 97, 97, 97, 97, 97, 97, 97, 97, 0, 921, 0, 0, 926, 0, 0, 0, 45, 45, 1411, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1754, 45, 45, 67, 67, 1301, 0, 1307, 0, 1313, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 21054, 97, 97, 97, 97, 67, 1757, 67, 67, 67, 1760, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1467, 67, 67, 67, 67, 67, 1778, 97, 0, 0, 97, 97, 97, 97, 97, 97, 0, 0, 97, 97, 0, 97, 97, 97, 97, 97, 1352, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1511, 97, 97, 97, 97, 97, 67, 67, 67, 67, 67, 1820, 67, 1822, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 97, 1933, 97, 1892, 97, 97, 97, 97, 97, 97, 1899, 45, 45, 45, 45, 45, 45, 45, 45, 1664, 45, 45, 45, 45, 45, 45, 45, 45, 1546, 45, 45, 45, 45, 45, 45, 45, 45, 1208, 45, 45, 45, 45, 45, 45, 45, 45, 1224, 45, 45, 45, 45, 45, 45, 45, 45, 673, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 1925, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 97, 623, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 307, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1796, 97, 45, 45, 45, 45, 45, 45, 45, 970, 45, 45, 45, 45, 45, 45, 45, 45, 1417, 45, 45, 45, 45, 45, 45, 45, 67, 1964, 67, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1721, 97, 97, 0, 0, 1997, 97, 0, 0, 2000, 97, 97, 0, 97, 97, 97, 97, 97, 45, 45, 45, 45, 733, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 803, 67, 67, 67, 67, 67, 0, 94242, 0, 0, 0, 38, 102439, 0, 0, 106538, 98347, 28809, 45, 45, 144, 45, 45, 45, 1805, 45, 1807, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 231, 67, 67, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 45, 45, 67, 211, 67, 67, 67, 67, 230, 234, 240, 244, 67, 67, 67, 67, 67, 67, 464, 67, 67, 67, 67, 67, 67, 479, 67, 67, 67, 260, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 97, 291, 97, 97, 97, 97, 310, 314, 320, 324, 97, 97, 97, 97, 97, 97, 1367, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1355, 97, 97, 97, 97, 97, 97, 1362, 340, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 360, 0, 362, 0, 365, 28809, 367, 139, 369, 45, 45, 45, 374, 67, 67, 460, 67, 67, 67, 67, 466, 67, 67, 67, 67, 67, 67, 67, 67, 801, 67, 67, 67, 67, 67, 67, 67, 67, 67, 487, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 498, 67, 67, 67, 67, 67, 67, 1772, 67, 67, 97, 97, 97, 97, 97, 97, 97, 0, 921, 922, 1175, 0, 0, 0, 0, 45, 67, 502, 67, 67, 67, 67, 67, 67, 67, 508, 67, 67, 67, 515, 517, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 0, 0, 1932, 97, 97, 0, 1999, 97, 97, 97, 0, 97, 97, 2004, 2005, 97, 45, 45, 45, 45, 1193, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 676, 45, 45, 45, 45, 67, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 552, 97, 97, 97, 97, 97, 1377, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 655, 45, 45, 45, 45, 45, 45, 45, 97, 97, 557, 97, 97, 97, 97, 563, 97, 97, 97, 97, 97, 97, 97, 97, 1135, 97, 97, 97, 97, 97, 97, 97, 97, 97, 584, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 595, 97, 97, 97, 97, 97, 911, 97, 97, 97, 97, 97, 97, 97, 638, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 97, 97, 97, 1319, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 1733, 97, 97, 97, 97, 97, 97, 1340, 97, 97, 97, 1343, 97, 97, 1345, 97, 1346, 97, 599, 97, 97, 97, 97, 97, 97, 97, 605, 97, 97, 97, 612, 614, 97, 97, 97, 97, 97, 1794, 97, 97, 97, 45, 45, 45, 45, 45, 45, 45, 1207, 45, 45, 45, 45, 45, 45, 1213, 45, 45, 745, 67, 67, 67, 67, 751, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1577, 67, 67, 67, 67, 67, 762, 67, 67, 67, 67, 766, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1765, 67, 67, 67, 67, 67, 777, 67, 67, 781, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1592, 1593, 67, 67, 97, 843, 97, 97, 97, 97, 849, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1510, 97, 97, 97, 97, 97, 97, 97, 860, 97, 97, 97, 97, 864, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1797, 45, 45, 45, 45, 1801, 45, 97, 875, 97, 97, 879, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1522, 97, 97, 97, 97, 97, 991, 45, 45, 45, 45, 996, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 215, 67, 67, 67, 67, 233, 67, 67, 67, 67, 251, 253, 1022, 67, 67, 67, 1026, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1035, 67, 67, 1038, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1458, 67, 67, 67, 67, 67, 1064, 67, 67, 67, 1067, 67, 67, 67, 67, 1072, 67, 67, 67, 67, 67, 67, 1296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2367488, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 1096, 0, 921, 29315, 0, 0, 0, 0, 928, 45, 45, 45, 45, 45, 934, 45, 45, 45, 164, 45, 45, 45, 45, 45, 45, 45, 45, 45, 198, 45, 45, 45, 378, 45, 45, 45, 45, 45, 45, 393, 45, 45, 45, 398, 45, 97, 97, 1116, 97, 97, 97, 1120, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1147, 1148, 97, 97, 97, 97, 97, 97, 97, 1129, 97, 97, 1132, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1626, 97, 97, 97, 97, 0, 45, 1178, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1185, 45, 45, 45, 45, 441, 45, 45, 45, 45, 45, 45, 451, 45, 45, 67, 67, 67, 67, 67, 227, 67, 67, 67, 67, 67, 67, 67, 67, 1260, 67, 67, 67, 1263, 67, 67, 1265, 1203, 45, 45, 1205, 45, 1206, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1216, 67, 1266, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1276, 67, 67, 67, 67, 67, 67, 492, 67, 67, 67, 67, 67, 67, 67, 67, 67, 471, 67, 67, 67, 67, 481, 67, 45, 1386, 45, 1389, 45, 45, 45, 45, 1394, 45, 45, 45, 1397, 45, 45, 45, 45, 995, 45, 997, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 1915, 67, 67, 67, 67, 67, 1422, 45, 45, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1433, 67, 1436, 67, 67, 67, 67, 1441, 67, 67, 67, 1444, 67, 67, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 281, 28809, 53531, 97, 97, 97, 97, 1494, 97, 97, 97, 1497, 97, 97, 97, 97, 97, 97, 97, 1368, 97, 97, 97, 97, 97, 97, 97, 97, 851, 97, 97, 97, 97, 97, 97, 97, 67, 67, 67, 1571, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 67, 67, 1583, 67, 67, 67, 67, 67, 67, 67, 67, 1591, 67, 67, 67, 67, 67, 67, 752, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1056, 67, 67, 67, 67, 67, 67, 97, 1634, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1125, 97, 97, 97, 1647, 97, 97, 97, 97, 97, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1183, 45, 45, 45, 45, 45, 45, 45, 45, 45, 409, 45, 45, 45, 45, 45, 45, 1658, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1668, 1712, 97, 97, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 0, 0, 1835, 97, 97, 97, 97, 0, 0, 0, 97, 97, 1844, 97, 97, 1726, 0, 97, 97, 97, 97, 97, 1732, 97, 1734, 97, 97, 97, 97, 97, 300, 97, 308, 97, 97, 97, 97, 97, 97, 97, 97, 866, 97, 97, 97, 97, 97, 97, 97, 67, 67, 67, 1758, 67, 67, 67, 1762, 67, 67, 67, 67, 67, 67, 67, 67, 1043, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1771, 67, 67, 67, 97, 97, 97, 97, 97, 1776, 97, 97, 97, 97, 297, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1108, 97, 97, 97, 97, 67, 67, 67, 1966, 97, 97, 97, 1970, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 97, 1720, 97, 97, 97, 97, 97, 0, 0, 97, 97, 97, 1837, 97, 0, 1840, 1841, 97, 97, 97, 1988, 45, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1994, 1995, 67, 97, 97, 97, 97, 97, 1103, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 917, 97, 97, 0, 0, 0, 67, 67, 265, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 345, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 131427, 0, 0, 0, 361, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 671, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 411, 45, 45, 414, 45, 45, 45, 45, 377, 45, 45, 45, 386, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1223, 45, 45, 45, 45, 45, 45, 45, 45, 45, 426, 45, 45, 433, 45, 45, 45, 67, 67, 67, 67, 67, 463, 67, 67, 67, 472, 67, 67, 67, 67, 67, 67, 67, 527, 67, 67, 67, 67, 67, 67, 537, 67, 540, 24850, 24850, 12564, 12564, 0, 57889, 0, 0, 0, 53531, 53531, 367, 286, 97, 97, 97, 97, 97, 1119, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1509, 97, 97, 97, 97, 97, 97, 97, 97, 564, 97, 97, 97, 97, 97, 97, 97, 637, 18, 131427, 0, 0, 0, 0, 0, 0, 362, 0, 0, 365, 29315, 367, 0, 921, 29315, 0, 0, 0, 927, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1234, 45, 45, 45, 45, 67, 67, 67, 67, 1240, 45, 697, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 708, 45, 45, 45, 45, 1221, 45, 45, 45, 45, 1225, 45, 45, 45, 45, 45, 45, 384, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1210, 45, 45, 45, 45, 45, 45, 67, 67, 795, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1470, 67, 67, 67, 67, 67, 67, 67, 815, 67, 67, 67, 67, 67, 67, 25398, 542, 13112, 544, 97, 97, 97, 893, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1164, 97, 97, 97, 67, 67, 67, 1025, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1687, 67, 67, 67, 67, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 0, 0, 0, 1097, 1241, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1450, 45, 45, 1388, 45, 1390, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1236, 67, 67, 67, 67, 67, 1437, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1472, 1490, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1503, 67, 67, 67, 67, 67, 97, 97, 97, 97, 97, 0, 1930, 0, 97, 97, 97, 97, 97, 847, 97, 97, 97, 97, 97, 97, 97, 97, 97, 858, 67, 67, 1965, 67, 97, 97, 97, 97, 0, 0, 0, 97, 97, 97, 97, 0, 97, 97, 1719, 97, 97, 97, 97, 97, 97, 0, 0, 0, 45, 45, 45, 45, 1382, 45, 1383, 45, 45, 45, 159, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1563, 45, 45, 45, 45, 45, 67, 261, 67, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 341, 97, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 97, 1099, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1333, 97, 1230, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 67, 1992, 67, 1993, 67, 67, 67, 97, 97, 45, 45, 160, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1665, 45, 45, 45, 45, 45, 131427, 357, 0, 0, 0, 362, 0, 365, 28809, 367, 139, 45, 45, 45, 45, 45, 684, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 412, 45, 45, 45, 416, 45, 45, 45, 440, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 67, 67, 1990, 67, 1991, 67, 67, 67, 67, 67, 67, 67, 97, 97, 1707, 97, 97, 97, 97, 97, 97, 501, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1691, 67, 67, 67, 67, 67, 526, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1030, 67, 1032, 67, 67, 67, 67, 598, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1632, 0, 921, 29315, 923, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1404, 45, 45, 45, 45, 45, 45, 45, 45, 45, 425, 45, 45, 45, 45, 45, 45, 67, 67, 67, 67, 67, 25398, 0, 13112, 0, 54074, 0, 0, 1093, 0, 0, 0, 0, 0, 97, 1609, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1369, 97, 97, 97, 1372, 97, 97, 67, 67, 266, 67, 67, 67, 67, 0, 24850, 12564, 0, 0, 0, 0, 28809, 53531, 97, 346, 97, 97, 97, 97, 0, 40976, 0, 18, 18, 24, 24, 27, 27, 27, 665, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1677, 45, 45, 45, 45, 67, 45, 45, 954, 45, 956, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1545, 45, 45, 45, 45, 45, 45, 45, 45, 45, 448, 45, 45, 45, 45, 67, 456, 67, 67, 67, 67, 67, 1270, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1069, 67, 67, 67, 67, 67, 67, 97, 97, 97, 1350, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1524, 97, 97, 97, 97, 97, 97, 97, 1376, 0, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 1559, 1561, 45, 45, 45, 1564, 45, 1566, 1567, 45, 67, 67, 67, 67, 67, 1573, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 1247, 67, 67, 67, 67, 67, 1252, 97, 1725, 97, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1628, 97, 1630, 0, 0, 94242, 0, 0, 0, 2211840, 0, 1118208, 0, 0, 0, 0, 2158592, 2158731, 2158592, 2158592, 2158592, 3117056, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3018752, 2158592, 3043328, 2158592, 2158592, 2158592, 2158592, 3080192, 2158592, 2158592, 3112960, 2158592, 2158592, 2158592, 2158592, 2158592, 2158878, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2605056, 2158592, 2158592, 2207744, 0, 542, 0, 544, 0, 0, 2166784, 0, 0, 0, 550, 0, 0, 2158592, 2158592, 2686976, 2158592, 2715648, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2867200, 2158592, 2904064, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 0, 94242, 0, 0, 0, 2211840, 0, 0, 1130496, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 3186688, 2158592, 0, 0, 139, 0, 0, 0, 139, 0, 2367488, 2207744, 0, 0, 0, 0, 176128, 0, 2166784, 0, 0, 0, 0, 0, 286, 2158592, 2158592, 3170304, 3174400, 2158592, 0, 0, 0, 2158592, 2158592, 2158592, 2158592, 2158592, 2424832, 2158592, 2158592, 2158592, 1508, 2158592, 2908160, 2158592, 2158592, 2158592, 2977792, 2158592, 2158592, 2158592, 2158592, 3039232, 2158592, 2158592, 2158592, 2158592, 2158592, 2158592, 3158016, 67, 24850, 24850, 12564, 12564, 0, 0, 0, 0, 0, 53531, 53531, 0, 286, 97, 97, 97, 97, 97, 1144, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 1149, 97, 97, 97, 97, 1154, 57889, 0, 0, 0, 0, 550, 0, 97, 97, 97, 97, 97, 97, 97, 97, 97, 561, 97, 97, 97, 97, 97, 97, 576, 97, 97, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 139264, 0, 0, 139264, 0, 921, 29315, 0, 0, 926, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 719, 720, 45, 45, 45, 45, 45, 45, 45, 45, 685, 45, 45, 45, 45, 45, 45, 45, 45, 45, 942, 45, 45, 946, 45, 45, 45, 950, 45, 45, 0, 2146304, 2146304, 0, 0, 0, 0, 2224128, 2224128, 2224128, 2232320, 2232320, 2232320, 2232320, 0, 0, 1301, 0, 0, 0, 0, 0, 1307, 0, 0, 0, 0, 0, 1313, 0, 0, 0, 0, 0, 0, 0, 97, 97, 1318, 97, 97, 97, 97, 97, 97, 1795, 97, 97, 45, 45, 45, 45, 45, 45, 45, 446, 45, 45, 45, 45, 45, 45, 67, 67, 2158592, 2146304, 0, 0, 0, 0, 0, 0, 0, 2211840, 0, 0, 0, 0, 2158592, 0, 921, 29315, 0, 924, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 45, 1000, 45, 45, 45, 45, 67, 67
|
|
];
|
|
|
|
XQueryTokenizer.EXPECTED =
|
|
[ 290, 300, 304, 353, 296, 309, 305, 319, 315, 324, 328, 352, 354, 334, 338, 330, 320, 345, 349, 293, 358, 362, 341, 366, 312, 370, 374, 378, 382, 386, 390, 394, 398, 737, 402, 634, 439, 604, 634, 634, 634, 634, 408, 634, 634, 634, 404, 634, 634, 634, 457, 634, 634, 963, 634, 634, 413, 634, 634, 634, 634, 634, 634, 634, 663, 418, 422, 903, 902, 426, 431, 548, 634, 437, 521, 919, 443, 615, 409, 449, 455, 624, 731, 751, 634, 461, 465, 672, 470, 469, 474, 481, 485, 477, 489, 493, 629, 542, 497, 505, 603, 602, 991, 648, 510, 804, 634, 515, 958, 526, 525, 530, 768, 634, 546, 552, 711, 710, 593, 558, 562, 618, 566, 570, 574, 578, 582, 586, 590, 608, 612, 660, 822, 821, 634, 622, 596, 444, 628, 533, 724, 633, 640, 653, 647, 652, 536, 1008, 451, 450, 445, 657, 670, 676, 685, 689, 693, 697, 701, 704, 707, 715, 719, 798, 815, 634, 723, 762, 996, 634, 728, 969, 730, 735, 908, 634, 741, 679, 889, 511, 747, 634, 750, 755, 499, 666, 499, 501, 759, 772, 776, 780, 634, 787, 784, 797, 802, 809, 808, 427, 814, 1006, 517, 634, 519, 853, 634, 813, 850, 793, 634, 819, 826, 833, 832, 837, 843, 847, 857, 861, 863, 867, 871, 875, 879, 883, 643, 887, 539, 980, 979, 634, 893, 944, 634, 900, 896, 634, 907, 933, 506, 912, 917, 828, 433, 636, 635, 554, 961, 923, 930, 927, 937, 941, 634, 634, 634, 974, 948, 952, 985, 913, 968, 967, 743, 634, 973, 839, 634, 978, 599, 634, 984, 989, 765, 444, 995, 1000, 634, 1003, 790, 955, 1012, 681, 634, 634, 634, 634, 634, 414, 1016, 1020, 1024, 1085, 1027, 1090, 1090, 1046, 1080, 1137, 1108, 1215, 1049, 1032, 1039, 1085, 1085, 1085, 1085, 1058, 1062, 1068, 1085, 1086, 1090, 1090, 1091, 1072, 1064, 1107, 1090, 1090, 1090, 1118, 1123, 1138, 1078, 1074, 1084, 1085, 1085, 1085, 1087, 1090, 1062, 1052, 1060, 1114, 1062, 1104, 1085, 1085, 1090, 1090, 1028, 1122, 1063, 1128, 1139, 1127, 1158, 1085, 1085, 1151, 1090, 1090, 1090, 1095, 1090, 1132, 1073, 1136, 1143, 1061, 1150, 1085, 1155, 1098, 1101, 1146, 1162, 1169, 1101, 1185, 1151, 1090, 1110, 1173, 1054, 1087, 1109, 1177, 1165, 1089, 1204, 1184, 1107, 1189, 1193, 1088, 1197, 1180, 1201, 1208, 1042, 1212, 1219, 1223, 1227, 1231, 1235, 1245, 1777, 1527, 1686, 1686, 1238, 1686, 1254, 1686, 1686, 1686, 1294, 1669, 1686, 1686, 1686, 1322, 1625, 1534, 1268, 1624, 1275, 1281, 1443, 1292, 1300, 1686, 1686, 1686, 1350, 1826, 1306, 1686, 1686, 1240, 2032, 1317, 1321, 1686, 1686, 1253, 1686, 1326, 1686, 1686, 1686, 1418, 1709, 1446, 1686, 1686, 1686, 1492, 1686, 1295, 1447, 1686, 1686, 1258, 1686, 1736, 1686, 1686, 1520, 1355, 1686, 1288, 1348, 1361, 1686, 1359, 1686, 1364, 1498, 1368, 1302, 1362, 1381, 1389, 1395, 1486, 1686, 1371, 1377, 1370, 1686, 1375, 1382, 1384, 1402, 1408, 1385, 1383, 1619, 1413, 1423, 1428, 1433, 1686, 1686, 1270, 1686, 1338, 1686, 1440, 1686, 1686, 1686, 1499, 1465, 1686, 1686, 1686, 1639, 1473, 1884, 1686, 1686, 1293, 1864, 1686, 1686, 1296, 1321, 1483, 1686, 1686, 1686, 1646, 1686, 1748, 1496, 1686, 1418, 1675, 1686, 1418, 1702, 1686, 1418, 1981, 1686, 1429, 1409, 1427, 1504, 1692, 1686, 1686, 1313, 1448, 1651, 1508, 1686, 1686, 1340, 1686, 1903, 1686, 1686, 1435, 1513, 1686, 1283, 1287, 1519, 1686, 1524, 1363, 1568, 1938, 1539, 1566, 1579, 1479, 1533, 1538, 1553, 1544, 1552, 1557, 1563, 1574, 1557, 1583, 1589, 1590, 1759, 1594, 1603, 1607, 1611, 1686, 1436, 1514, 1686, 1434, 1656, 1686, 1434, 1680, 1686, 1453, 1686, 1686, 1686, 1559, 1617, 1686, 1770, 1418, 1623, 1769, 1629, 1686, 1515, 1335, 1686, 1285, 1686, 1671, 1921, 1650, 1686, 1686, 1344, 1308, 1666, 1686, 1686, 1686, 1659, 1685, 1686, 1686, 1686, 1686, 1241, 1686, 1686, 1844, 1691, 1686, 1630, 1977, 1970, 1362, 1686, 1686, 1686, 1693, 1698, 1686, 1686, 1686, 1697, 1686, 1764, 1715, 1686, 1634, 1638, 1686, 1599, 1585, 1686, 1271, 1686, 1269, 1686, 1721, 1686, 1686, 1354, 1686, 1801, 1686, 1799, 1686, 1640, 1686, 1686, 1461, 1686, 1686, 1732, 1686, 1944, 1686, 1740, 1686, 1746, 1415, 1396, 1686, 1598, 1547, 1417, 1597, 1416, 1577, 1546, 1397, 1577, 1547, 1548, 1570, 1398, 1753, 1686, 1652, 1509, 1686, 1686, 1686, 1757, 1686, 1419, 1686, 1763, 1418, 1768, 1781, 1686, 1686, 1686, 1705, 1686, 2048, 1792, 1686, 1686, 1686, 1735, 1686, 1797, 1686, 1686, 1404, 1686, 1639, 1815, 1686, 1686, 1418, 2017, 1820, 1686, 1686, 1803, 1686, 1686, 1686, 1736, 1489, 1686, 1686, 1825, 1338, 1260, 1263, 1686, 1686, 1785, 1686, 1686, 1728, 1686, 1686, 1749, 1497, 1830, 1830, 1262, 1248, 1261, 1329, 1260, 1264, 1329, 1248, 1249, 1259, 1540, 1849, 1842, 1686, 1686, 1835, 1686, 1686, 1816, 1686, 1686, 1831, 1882, 1848, 1686, 1686, 1686, 1774, 2071, 1854, 1686, 1686, 1469, 1884, 1686, 1821, 1859, 1686, 1686, 1350, 1883, 1686, 1686, 1686, 1781, 1391, 1875, 1686, 1686, 1613, 1644, 1686, 1686, 1889, 1686, 1686, 1662, 1884, 1686, 1885, 1890, 1686, 1686, 1686, 1894, 1686, 1686, 1678, 1686, 1907, 1686, 1686, 1529, 1914, 1686, 1838, 1686, 1686, 1881, 1686, 1686, 1872, 1876, 1836, 1919, 1686, 1837, 1692, 1910, 1686, 1925, 1928, 1742, 1686, 1811, 1811, 1930, 1810, 1929, 1935, 1928, 1900, 1942, 1867, 1868, 1931, 1035, 1788, 1948, 1952, 1956, 1960, 1964, 1686, 1976, 1686, 1686, 1686, 2065, 1686, 1992, 2037, 1686, 1686, 1998, 2009, 1972, 2002, 1686, 1686, 1686, 2077, 1300, 2023, 1686, 1686, 1686, 1807, 2031, 1686, 1686, 1686, 1860, 1500, 2032, 1686, 1686, 1686, 2083, 1686, 2036, 1686, 1277, 1276, 2042, 1877, 1686, 1686, 2041, 1686, 1686, 2027, 2037, 2012, 1686, 2012, 1855, 1850, 1686, 2046, 1686, 1686, 2054, 1996, 1686, 1897, 1309, 2059, 2052, 1686, 2058, 1686, 1686, 2081, 1686, 1717, 1477, 1686, 1331, 1686, 1686, 1687, 1686, 1860, 1681, 1686, 1686, 1686, 1966, 1724, 1686, 1686, 1686, 1984, 2015, 1686, 1686, 1686, 1988, 1686, 2063, 1686, 1686, 1686, 2005, 1686, 1727, 1686, 1686, 1711, 1457, 2069, 1686, 1686, 1686, 2019, 2075, 1686, 1686, 1915, 1686, 1686, 1793, 1874, 1686, 1686, 1491, 1362, 1449, 1686, 1686, 1460, 2098, 2087, 2091, 2095, 2184, 2102, 2113, 2780, 2117, 2134, 2142, 2281, 2146, 2146, 2146, 2304, 2296, 2181, 2639, 2591, 2872, 2592, 2873, 2313, 2195, 2200, 2281, 2146, 2273, 2226, 2204, 2152, 2219, 2276, 2167, 2177, 2276, 2235, 2276, 2276, 2230, 2281, 2276, 2296, 2276, 2293, 2276, 2276, 2276, 2276, 2234, 2276, 2311, 2314, 2210, 2199, 2217, 2222, 2276, 2276, 2276, 2240, 2276, 2294, 2276, 2276, 2173, 2276, 2198, 2281, 2281, 2281, 2281, 2282, 2146, 2146, 2146, 2146, 2205, 2146, 2204, 2248, 2276, 2235, 2276, 2297, 2276, 2276, 2276, 2277, 2256, 2281, 2283, 2146, 2146, 2146, 2275, 2276, 2295, 2276, 2276, 2293, 2146, 2304, 2264, 2269, 2221, 2276, 2276, 2276, 2293, 2295, 2276, 2276, 2276, 2295, 2263, 2205, 2268, 2220, 2172, 2276, 2276, 2276, 2296, 2276, 2276, 2296, 2294, 2276, 2276, 2278, 2281, 2281, 2280, 2281, 2281, 2281, 2283, 2206, 2223, 2276, 2276, 2279, 2281, 2281, 2146, 2273, 2276, 2276, 2281, 2281, 2281, 2276, 2292, 2276, 2298, 2225, 2276, 2298, 2169, 2224, 2292, 2298, 2171, 2229, 2281, 2281, 2171, 2236, 2281, 2281, 2281, 2146, 2275, 2225, 2292, 2299, 2276, 2229, 2281, 2146, 2276, 2290, 2297, 2283, 2146, 2146, 2274, 2224, 2227, 2298, 2225, 2297, 2276, 2230, 2170, 2230, 2282, 2146, 2147, 2151, 2156, 2288, 2276, 2230, 2303, 2308, 2236, 2284, 2228, 2318, 2318, 2318, 2326, 2335, 2339, 2343, 2349, 2416, 2693, 2357, 2592, 2109, 2592, 2592, 2162, 2943, 2823, 2646, 2592, 2361, 2592, 2122, 2592, 2592, 2122, 2470, 2592, 2592, 2592, 2109, 2107, 2592, 2592, 2592, 2123, 2592, 2592, 2592, 2125, 2592, 2413, 2592, 2592, 2592, 2127, 2592, 2592, 2414, 2592, 2592, 2592, 2130, 2952, 2592, 2594, 2592, 2592, 2212, 2609, 2252, 2592, 2592, 2592, 2446, 2434, 2592, 2592, 2592, 2212, 2446, 2450, 2456, 2431, 2435, 2592, 2592, 2243, 2478, 2448, 2439, 2946, 2592, 2592, 2592, 2368, 2809, 2813, 2450, 2441, 2212, 2812, 2449, 2440, 2947, 2592, 2592, 2592, 2345, 2451, 2457, 2948, 2592, 2124, 2592, 2592, 2650, 2823, 2449, 2455, 2946, 2592, 2128, 2592, 2592, 2649, 2952, 2592, 2810, 2448, 2461, 2991, 2467, 2592, 2592, 2329, 2817, 2474, 2990, 2466, 2592, 2592, 2373, 2447, 2992, 2469, 2592, 2592, 2592, 2373, 2447, 2477, 2468, 2592, 2592, 2353, 2469, 2592, 2495, 2592, 2592, 2415, 2483, 2592, 2415, 2496, 2592, 2592, 2352, 2592, 2592, 2352, 2352, 2469, 2592, 2592, 2363, 2331, 2494, 2592, 2592, 2592, 2375, 2592, 2375, 2415, 2504, 2592, 2592, 2367, 2372, 2503, 2592, 2592, 2592, 2389, 2418, 2415, 2592, 2592, 2373, 2592, 2592, 2592, 2593, 2732, 2417, 2415, 2592, 2417, 2520, 2592, 2592, 2592, 2390, 2521, 2521, 2592, 2592, 2592, 2401, 2599, 2585, 2526, 2531, 2120, 2592, 2212, 2426, 2450, 2463, 2948, 2592, 2592, 2592, 2213, 2389, 2527, 2532, 2121, 2542, 2551, 2105, 2592, 2213, 2592, 2592, 2592, 2558, 2538, 2544, 2553, 2557, 2537, 2543, 2552, 2421, 2572, 2576, 2546, 2543, 2547, 2592, 2592, 2373, 2615, 2575, 2545, 2105, 2592, 2244, 2479, 2592, 2129, 2592, 2592, 2628, 2690, 2469, 2562, 2566, 2592, 2592, 2592, 2415, 2928, 2934, 2401, 2570, 2574, 2564, 2572, 2585, 2590, 2592, 2592, 2585, 2965, 2592, 2592, 2592, 2445, 2251, 2592, 2592, 2592, 2474, 2592, 2609, 2892, 2592, 2362, 2592, 2592, 2138, 2851, 2159, 2592, 2592, 2592, 2509, 2888, 2892, 2592, 2592, 2592, 2490, 2418, 2891, 2592, 2592, 2376, 2592, 2592, 2374, 2592, 2889, 2388, 2592, 2373, 2373, 2890, 2592, 2592, 2387, 2592, 2887, 2505, 2892, 2592, 2373, 2610, 2388, 2592, 2592, 2376, 2373, 2592, 2887, 2891, 2592, 2374, 2592, 2592, 2608, 2159, 2614, 2620, 2592, 2592, 2394, 2594, 2887, 2399, 2592, 2887, 2397, 2508, 2374, 2507, 2592, 2375, 2592, 2592, 2592, 2595, 2508, 2506, 2592, 2506, 2505, 2505, 2592, 2507, 2637, 2505, 2592, 2592, 2401, 2661, 2592, 2643, 2592, 2592, 2417, 2592, 2655, 2592, 2592, 2592, 2510, 2414, 2656, 2592, 2592, 2592, 2516, 2592, 2593, 2660, 2665, 2880, 2592, 2592, 2592, 2522, 2767, 2666, 2881, 2592, 2592, 2420, 2571, 2696, 2592, 2592, 2592, 2580, 2572, 2686, 2632, 2698, 2592, 2383, 2514, 2592, 2163, 2932, 2465, 2685, 2631, 2697, 2592, 2388, 2592, 2592, 2212, 2604, 2671, 2632, 2678, 2592, 2401, 2405, 2409, 2592, 2592, 2592, 2679, 2592, 2592, 2592, 2592, 2108, 2677, 2591, 2592, 2592, 2592, 2419, 2592, 2683, 2187, 2191, 2469, 2671, 2189, 2467, 2592, 2401, 2629, 2633, 2702, 2468, 2592, 2592, 2421, 2536, 2703, 2469, 2592, 2592, 2422, 2573, 2593, 2672, 2467, 2592, 2402, 2406, 2592, 2402, 2979, 2592, 2592, 2626, 2673, 2467, 2592, 2446, 2259, 2947, 2592, 2377, 2709, 2592, 2592, 2522, 2862, 2713, 2468, 2592, 2592, 2581, 2572, 2562, 2374, 2374, 2592, 2376, 2721, 2724, 2592, 2592, 2624, 2373, 2731, 2592, 2592, 2592, 2626, 2732, 2592, 2592, 2592, 2755, 2656, 2726, 2736, 2741, 2592, 2486, 2593, 2381, 2592, 2727, 2737, 2742, 2715, 2747, 2753, 2592, 2498, 2469, 2873, 2743, 2592, 2592, 2592, 2791, 2759, 2763, 2592, 2592, 2627, 2704, 2592, 2592, 2522, 2789, 2593, 2761, 2753, 2592, 2498, 2863, 2592, 2592, 2767, 2592, 2592, 2592, 2792, 2789, 2592, 2592, 2592, 2803, 2126, 2592, 2592, 2592, 2811, 2122, 2592, 2592, 2592, 2834, 2777, 2592, 2592, 2592, 2848, 2936, 2591, 2489, 2797, 2592, 2592, 2670, 2631, 2490, 2798, 2592, 2592, 2592, 2963, 2807, 2592, 2592, 2592, 2965, 2838, 2592, 2592, 2592, 2975, 2330, 2818, 2829, 2592, 2498, 2939, 2592, 2498, 2592, 2791, 2331, 2819, 2830, 2592, 2592, 2592, 2982, 2834, 2817, 2828, 2106, 2592, 2592, 2592, 2405, 2405, 2817, 2828, 2592, 2592, 2415, 2849, 2842, 2592, 2522, 2773, 2592, 2522, 2868, 2592, 2580, 2600, 2586, 2137, 2850, 2843, 2592, 2592, 2855, 2937, 2844, 2592, 2592, 2592, 2987, 2936, 2591, 2592, 2592, 2684, 2630, 2592, 2856, 2938, 2592, 2592, 2860, 2939, 2592, 2592, 2872, 2592, 2861, 2591, 2592, 2592, 2887, 2616, 2592, 2867, 2592, 2592, 2708, 2592, 2498, 2469, 2498, 2497, 2785, 2773, 2499, 2783, 2770, 2877, 2877, 2877, 2772, 2592, 2592, 2345, 2885, 2592, 2592, 2592, 2715, 2762, 2515, 2896, 2592, 2592, 2715, 2917, 2516, 2897, 2592, 2592, 2592, 2901, 2906, 2911, 2592, 2592, 2956, 2960, 2715, 2902, 2907, 2912, 2593, 2916, 2920, 2820, 2922, 2822, 2592, 2592, 2715, 2927, 2921, 2821, 2106, 2592, 2592, 2974, 2408, 2321, 2821, 2106, 2592, 2592, 2983, 2592, 2593, 2404, 2408, 2592, 2592, 2717, 2749, 2716, 2928, 2322, 2822, 2593, 2926, 2919, 2820, 2934, 2823, 2592, 2592, 2592, 2651, 2824, 2592, 2592, 2592, 2130, 2952, 2592, 2592, 2592, 2592, 2964, 2592, 2592, 2716, 2748, 2592, 2969, 2592, 2592, 2716, 2918, 2368, 2970, 2592, 2592, 2592, 2403, 2407, 2592, 2592, 2787, 2211, 2404, 2409, 2592, 2592, 2802, 2837, 2987, 2592, 2592, 2592, 2809, 2427, 2592, 2793, 2592, 2592, 2809, 2447, 1073741824, 0x80000000, 539754496, 542375936, 402653184, 554434560, 571736064, 545521856, 268451840, 335544320, 268693630, 512, 2048, 256, 1024, 0, 1024, 0, 1073741824, 0x80000000, 0, 0, 0, 8388608, 0, 0, 1073741824, 1073741824, 0, 0x80000000, 537133056, 4194304, 1048576, 268435456, -1073741824, 0, 0, 0, 1048576, 0, 0, 0, 1572864, 0, 0, 0, 4194304, 0, 134217728, 16777216, 0, 0, 32, 64, 98304, 0, 33554432, 8388608, 192, 67108864, 67108864, 67108864, 67108864, 16, 32, 4, 0, 8192, 196608, 196608, 229376, 80, 4096, 524288, 8388608, 0, 0, 32, 128, 256, 24576, 24600, 24576, 24576, 2, 24576, 24576, 24576, 24584, 24592, 24576, 24578, 24576, 24578, 24576, 24576, 16, 512, 2048, 2048, 256, 4096, 32768, 1048576, 4194304, 67108864, 134217728, 268435456, 262144, 134217728, 0, 128, 128, 64, 16384, 16384, 16384, 67108864, 32, 32, 4, 4, 4096, 262144, 134217728, 0, 0, 0, 2, 0, 8192, 131072, 131072, 4096, 4096, 4096, 4096, 24576, 24576, 24576, 8, 8, 24576, 24576, 16384, 16384, 16384, 24576, 24584, 24576, 24576, 24576, 16384, 24576, 536870912, 262144, 0, 0, 32, 2048, 8192, 4, 4096, 4096, 4096, 786432, 8388608, 16777216, 0, 128, 16384, 16384, 16384, 32768, 65536, 2097152, 32, 32, 32, 32, 4, 4, 4, 4, 4, 4096, 67108864, 67108864, 67108864, 24576, 24576, 24576, 24576, 0, 16384, 16384, 16384, 16384, 67108864, 67108864, 8, 67108864, 24576, 8, 8, 8, 24576, 24576, 24576, 24578, 24576, 24576, 24576, 2, 2, 2, 16384, 67108864, 67108864, 67108864, 32, 67108864, 8, 8, 24576, 2048, 0x80000000, 536870912, 262144, 262144, 262144, 67108864, 8, 24576, 16384, 32768, 1048576, 4194304, 25165824, 67108864, 24576, 32770, 2, 4, 112, 512, 98304, 524288, 50, 402653186, 1049090, 1049091, 10, 66, 100925514, 10, 66, 12582914, 0, 0, -1678194207, -1678194207, -1041543218, 0, 32768, 0, 0, 32, 65536, 268435456, 1, 1, 513, 1048577, 0, 12582912, 0, 0, 0, 4, 1792, 0, 0, 0, 7, 29360128, 0, 0, 0, 8, 0, 0, 0, 12, 1, 1, 0, 0, -604102721, -604102721, 4194304, 8388608, 0, 0, 0, 31, 925600, 997981306, 997981306, 997981306, 0, 0, 2048, 8388608, 0, 0, 1, 2, 4, 32, 64, 512, 8192, 0, 0, 0, 245760, 997720064, 0, 0, 0, 32, 0, 0, 0, 3, 12, 16, 32, 8, 112, 3072, 12288, 16384, 32768, 65536, 131072, 7864320, 16777216, 973078528, 0, 0, 65536, 131072, 3670016, 4194304, 16777216, 33554432, 2, 8, 48, 2048, 8192, 16384, 32768, 65536, 131072, 524288, 131072, 524288, 3145728, 4194304, 16777216, 33554432, 65536, 131072, 2097152, 4194304, 16777216, 33554432, 134217728, 268435456, 536870912, 0, 0, 0, 1024, 0, 8, 48, 2048, 8192, 65536, 33554432, 268435456, 536870912, 65536, 268435456, 536870912, 0, 0, 32768, 0, 0, 126, 623104, 65011712, 0, 32, 65536, 536870912, 0, 0, 65536, 524288, 0, 32, 65536, 0, 0, 0, 2048, 0, 0, 0, 15482, 245760, -604102721, 0, 0, 0, 18913, 33062912, 925600, -605028352, 0, 0, 0, 65536, 31, 8096, 131072, 786432, 3145728, 3145728, 12582912, 50331648, 134217728, 268435456, 160, 256, 512, 7168, 131072, 786432, 131072, 786432, 1048576, 2097152, 12582912, 16777216, 268435456, 1073741824, 0x80000000, 12582912, 16777216, 33554432, 268435456, 1073741824, 0x80000000, 3, 12, 16, 160, 256, 7168, 786432, 1048576, 12582912, 16777216, 268435456, 1073741824, 0, 8, 16, 32, 128, 256, 512, 7168, 786432, 1048576, 2097152, 0, 1, 2, 8, 16, 7168, 786432, 1048576, 8388608, 16777216, 16777216, 1073741824, 0, 0, 0, 0, 1, 0, 0, 8, 32, 128, 256, 7168, 8, 32, 0, 3072, 0, 8, 32, 3072, 4096, 524288, 8, 32, 0, 0, 3072, 4096, 0, 2048, 524288, 8388608, 8, 2048, 0, 0, 1, 12, 256, 4096, 32768, 262144, 1048576, 4194304, 67108864, 0, 2048, 0, 2048, 2048, 1073741824, -58805985, -58805985, -58805985, 0, 0, 262144, 0, 0, 32, 4194304, 16777216, 134217728, 4382, 172032, -58982400, 0, 0, 2, 28, 256, 4096, 8192, 8192, 32768, 131072, 262144, 524288, 1, 2, 12, 256, 4096, 0, 0, 4194304, 67108864, 134217728, 805306368, 1073741824, 0, 0, 1, 2, 12, 16, 256, 4096, 1048576, 67108864, 134217728, 268435456, 0, 512, 1048576, 4194304, 201326592, 1879048192, 0, 0, 12, 256, 4096, 134217728, 268435456, 536870912, 12, 256, 268435456, 536870912, 0, 12, 256, 0, 0, 1, 32, 64, 512, 0, 0, 205236961, 205236961, 0, 0, 0, 1, 96, 640, 1, 10976, 229376, 204996608, 0, 640, 2048, 8192, 229376, 1572864, 1572864, 2097152, 201326592, 0, 0, 0, 64, 512, 2048, 229376, 1572864, 201326592, 1572864, 201326592, 0, 0, 1, 4382, 0, 1, 32, 2048, 65536, 131072, 1572864, 201326592, 131072, 1572864, 134217728, 0, 0, 524288, 524288, 0, 0, 0, -68582786, -68582786, -68582786, 0, 0, 2097152, 524288, 0, 524288, 0, 0, 65536, 131072, 1572864, 0, 0, 2, 4, 0, 0, 65011712, -134217728, 0, 0, 0, 0, 2, 4, 120, 512, -268435456, 0, 0, 0, 2, 8, 48, 64, 2048, 8192, 98304, 524288, 2097152, 4194304, 25165824, 33554432, 134217728, 268435456, 0x80000000, 0, 0, 25165824, 33554432, 134217728, 1879048192, 0x80000000, 0, 0, 4, 112, 512, 622592, 65011712, 134217728, -268435456, 16777216, 33554432, 134217728, 1610612736, 0, 0, 0, 64, 98304, 524288, 4194304, 16777216, 33554432, 0, 98304, 524288, 16777216, 33554432, 0, 65536, 524288, 33554432, 536870912, 1073741824, 0, 65536, 524288, 536870912, 1073741824, 0, 0, 65536, 524288, 536870912, 0, 524288, 0, 524288, 524288, 1048576, 2086666240, 0x80000000, 0, -1678194207, 0, 0, 0, 8, 32, 2048, 524288, 8388608, 0, 0, 33062912, 436207616, 0x80000000, 0, 0, 32, 64, 2432, 16384, 32768, 32768, 524288, 3145728, 4194304, 25165824, 25165824, 167772160, 268435456, 0x80000000, 0, 32, 64, 384, 2048, 16384, 32768, 1048576, 2097152, 4194304, 25165824, 32, 64, 128, 256, 2048, 16384, 2048, 16384, 1048576, 4194304, 16777216, 33554432, 134217728, 536870912, 1073741824, 0, 0, 2048, 16384, 4194304, 16777216, 33554432, 134217728, 805306368, 0, 0, 16777216, 134217728, 268435456, 0x80000000, 0, 622592, 622592, 622592, 8807, 8807, 434791, 0, 0, 16777216, 0, 0, 0, 7, 608, 8192, 0, 0, 0, 3, 4, 96, 512, 32, 64, 8192, 0, 0, 16777216, 134217728, 0, 0, 2, 4, 8192, 16384, 65536, 2097152, 33554432, 268435456
|
|
];
|
|
|
|
XQueryTokenizer.TOKEN =
|
|
[
|
|
"(0)",
|
|
"ModuleDecl",
|
|
"Annotation",
|
|
"OptionDecl",
|
|
"Operator",
|
|
"Variable",
|
|
"Tag",
|
|
"EndTag",
|
|
"PragmaContents",
|
|
"DirCommentContents",
|
|
"DirPIContents",
|
|
"CDataSectionContents",
|
|
"AttrTest",
|
|
"Wildcard",
|
|
"EQName",
|
|
"IntegerLiteral",
|
|
"DecimalLiteral",
|
|
"DoubleLiteral",
|
|
"PredefinedEntityRef",
|
|
"'\"\"'",
|
|
"EscapeApos",
|
|
"QuotChar",
|
|
"AposChar",
|
|
"ElementContentChar",
|
|
"QuotAttrContentChar",
|
|
"AposAttrContentChar",
|
|
"NCName",
|
|
"QName",
|
|
"S",
|
|
"CharRef",
|
|
"CommentContents",
|
|
"DocTag",
|
|
"DocCommentContents",
|
|
"EOF",
|
|
"'!'",
|
|
"'\"'",
|
|
"'#'",
|
|
"'#)'",
|
|
"''''",
|
|
"'('",
|
|
"'(#'",
|
|
"'(:'",
|
|
"'(:~'",
|
|
"')'",
|
|
"'*'",
|
|
"'*'",
|
|
"','",
|
|
"'-->'",
|
|
"'.'",
|
|
"'/'",
|
|
"'/>'",
|
|
"':'",
|
|
"':)'",
|
|
"';'",
|
|
"'<!--'",
|
|
"'<![CDATA['",
|
|
"'<?'",
|
|
"'='",
|
|
"'>'",
|
|
"'?'",
|
|
"'?>'",
|
|
"'NaN'",
|
|
"'['",
|
|
"']'",
|
|
"']]>'",
|
|
"'after'",
|
|
"'all'",
|
|
"'allowing'",
|
|
"'ancestor'",
|
|
"'ancestor-or-self'",
|
|
"'and'",
|
|
"'any'",
|
|
"'append'",
|
|
"'array'",
|
|
"'as'",
|
|
"'ascending'",
|
|
"'at'",
|
|
"'attribute'",
|
|
"'base-uri'",
|
|
"'before'",
|
|
"'boundary-space'",
|
|
"'break'",
|
|
"'by'",
|
|
"'case'",
|
|
"'cast'",
|
|
"'castable'",
|
|
"'catch'",
|
|
"'check'",
|
|
"'child'",
|
|
"'collation'",
|
|
"'collection'",
|
|
"'comment'",
|
|
"'constraint'",
|
|
"'construction'",
|
|
"'contains'",
|
|
"'content'",
|
|
"'context'",
|
|
"'continue'",
|
|
"'copy'",
|
|
"'copy-namespaces'",
|
|
"'count'",
|
|
"'decimal-format'",
|
|
"'decimal-separator'",
|
|
"'declare'",
|
|
"'default'",
|
|
"'delete'",
|
|
"'descendant'",
|
|
"'descendant-or-self'",
|
|
"'descending'",
|
|
"'diacritics'",
|
|
"'different'",
|
|
"'digit'",
|
|
"'distance'",
|
|
"'div'",
|
|
"'document'",
|
|
"'document-node'",
|
|
"'element'",
|
|
"'else'",
|
|
"'empty'",
|
|
"'empty-sequence'",
|
|
"'encoding'",
|
|
"'end'",
|
|
"'entire'",
|
|
"'eq'",
|
|
"'every'",
|
|
"'exactly'",
|
|
"'except'",
|
|
"'exit'",
|
|
"'external'",
|
|
"'first'",
|
|
"'following'",
|
|
"'following-sibling'",
|
|
"'for'",
|
|
"'foreach'",
|
|
"'foreign'",
|
|
"'from'",
|
|
"'ft-option'",
|
|
"'ftand'",
|
|
"'ftnot'",
|
|
"'ftor'",
|
|
"'function'",
|
|
"'ge'",
|
|
"'greatest'",
|
|
"'group'",
|
|
"'grouping-separator'",
|
|
"'gt'",
|
|
"'idiv'",
|
|
"'if'",
|
|
"'import'",
|
|
"'in'",
|
|
"'index'",
|
|
"'infinity'",
|
|
"'inherit'",
|
|
"'insensitive'",
|
|
"'insert'",
|
|
"'instance'",
|
|
"'integrity'",
|
|
"'intersect'",
|
|
"'into'",
|
|
"'is'",
|
|
"'item'",
|
|
"'json'",
|
|
"'json-item'",
|
|
"'key'",
|
|
"'language'",
|
|
"'last'",
|
|
"'lax'",
|
|
"'le'",
|
|
"'least'",
|
|
"'let'",
|
|
"'levels'",
|
|
"'loop'",
|
|
"'lowercase'",
|
|
"'lt'",
|
|
"'minus-sign'",
|
|
"'mod'",
|
|
"'modify'",
|
|
"'module'",
|
|
"'most'",
|
|
"'namespace'",
|
|
"'namespace-node'",
|
|
"'ne'",
|
|
"'next'",
|
|
"'no'",
|
|
"'no-inherit'",
|
|
"'no-preserve'",
|
|
"'node'",
|
|
"'nodes'",
|
|
"'not'",
|
|
"'object'",
|
|
"'occurs'",
|
|
"'of'",
|
|
"'on'",
|
|
"'only'",
|
|
"'option'",
|
|
"'or'",
|
|
"'order'",
|
|
"'ordered'",
|
|
"'ordering'",
|
|
"'paragraph'",
|
|
"'paragraphs'",
|
|
"'parent'",
|
|
"'pattern-separator'",
|
|
"'per-mille'",
|
|
"'percent'",
|
|
"'phrase'",
|
|
"'position'",
|
|
"'preceding'",
|
|
"'preceding-sibling'",
|
|
"'preserve'",
|
|
"'previous'",
|
|
"'processing-instruction'",
|
|
"'relationship'",
|
|
"'rename'",
|
|
"'replace'",
|
|
"'return'",
|
|
"'returning'",
|
|
"'revalidation'",
|
|
"'same'",
|
|
"'satisfies'",
|
|
"'schema'",
|
|
"'schema-attribute'",
|
|
"'schema-element'",
|
|
"'score'",
|
|
"'self'",
|
|
"'sensitive'",
|
|
"'sentence'",
|
|
"'sentences'",
|
|
"'skip'",
|
|
"'sliding'",
|
|
"'some'",
|
|
"'stable'",
|
|
"'start'",
|
|
"'stemming'",
|
|
"'stop'",
|
|
"'strict'",
|
|
"'strip'",
|
|
"'structured-item'",
|
|
"'switch'",
|
|
"'text'",
|
|
"'then'",
|
|
"'thesaurus'",
|
|
"'times'",
|
|
"'to'",
|
|
"'treat'",
|
|
"'try'",
|
|
"'tumbling'",
|
|
"'type'",
|
|
"'typeswitch'",
|
|
"'union'",
|
|
"'unique'",
|
|
"'unordered'",
|
|
"'updating'",
|
|
"'uppercase'",
|
|
"'using'",
|
|
"'validate'",
|
|
"'value'",
|
|
"'variable'",
|
|
"'version'",
|
|
"'weight'",
|
|
"'when'",
|
|
"'where'",
|
|
"'while'",
|
|
"'wildcards'",
|
|
"'window'",
|
|
"'with'",
|
|
"'without'",
|
|
"'word'",
|
|
"'words'",
|
|
"'xquery'",
|
|
"'zero-digit'",
|
|
"'{'",
|
|
"'{{'",
|
|
"'|'",
|
|
"'}'",
|
|
"'}}'"
|
|
];
|
|
|
|
},{}],"/node_modules/xqlint/lib/lexers/jsoniq_lexer.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
var JSONiqTokenizer = _dereq_('./JSONiqTokenizer').JSONiqTokenizer;
|
|
var Lexer = _dereq_('./lexer').Lexer;
|
|
|
|
var keys = 'NaN|after|allowing|ancestor|ancestor-or-self|and|append|array|as|ascending|at|attribute|base-uri|before|boundary-space|break|by|case|cast|castable|catch|child|collation|comment|constraint|construction|contains|context|continue|copy|copy-namespaces|count|decimal-format|decimal-separator|declare|default|delete|descendant|descendant-or-self|descending|digit|div|document|document-node|element|else|empty|empty-sequence|encoding|end|eq|every|except|exit|external|false|first|following|following-sibling|for|from|ft-option|function|ge|greatest|group|grouping-separator|gt|idiv|if|import|in|index|infinity|insert|instance|integrity|intersect|into|is|item|json|json-item|jsoniq|last|lax|le|least|let|loop|lt|minus-sign|mod|modify|module|namespace|namespace-node|ne|next|node|nodes|not|null|object|of|only|option|or|order|ordered|ordering|paragraphs|parent|pattern-separator|per-mille|percent|preceding|preceding-sibling|previous|processing-instruction|rename|replace|return|returning|revalidation|satisfies|schema|schema-attribute|schema-element|score|select|self|sentences|sliding|some|stable|start|strict|switch|text|then|times|to|treat|true|try|tumbling|type|typeswitch|union|unordered|updating|validate|value|variable|version|when|where|while|window|with|words|xquery|zero-digit'.split('|');
|
|
var keywords = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'keyword' }; });
|
|
var ncnames = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'text', next: function(stack){ stack.pop(); } }; });
|
|
|
|
var cdata = 'constant.language';
|
|
var number = 'constant';
|
|
var xmlcomment = 'comment';
|
|
var pi = 'xml-pe';
|
|
var pragma = 'constant.buildin';
|
|
var n = function(name){
|
|
return '\'' + name + '\'';
|
|
};
|
|
var Rules = {
|
|
start: [
|
|
{ name: n('(#'), token: pragma, next: function(stack){ stack.push('Pragma'); } },
|
|
{ name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
|
|
{ name: n('(:~'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
|
|
{ name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
|
|
{ name: n('<?'), token: pi, next: function(stack) { stack.push('PI'); } },
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposString'); } },
|
|
{ name: n('"'), token: 'string', next: function(stack){ stack.push('QuotString'); } },
|
|
{ name: 'Annotation', token: 'support.function' },
|
|
{ name: 'ModuleDecl', token: 'keyword', next: function(stack){ stack.push('Prefix'); } },
|
|
{ name: 'OptionDecl', token: 'keyword', next: function(stack){ stack.push('_EQName'); } },
|
|
{ name: 'AttrTest', token: 'support.type' },
|
|
{ name: 'Variable', token: 'variable' },
|
|
{ name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
|
|
{ name: 'IntegerLiteral', token: number },
|
|
{ name: 'DecimalLiteral', token: number },
|
|
{ name: 'DoubleLiteral', token: number },
|
|
{ name: 'Operator', token: 'keyword.operator' },
|
|
{ name: 'EQName', token: function(val) { return keys.indexOf(val) !== -1 ? 'keyword' : 'support.function'; } },
|
|
{ name: n('('), token: 'lparen' },
|
|
{ name: n(')'), token: 'rparen' },
|
|
{ name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
|
|
{ name: n('}'), token: 'text', next: function(stack){ if(stack.length > 1) { stack.pop(); } } },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } } //, next: function(stack){ if(stack.length > 1) { stack.pop(); } } }
|
|
].concat(keywords),
|
|
_EQName: [
|
|
{ name: 'EQName', token: 'text', next: function(stack) { stack.pop(); } }
|
|
].concat(ncnames),
|
|
Prefix: [
|
|
{ name: 'NCName', token: 'text', next: function(stack) { stack.pop(); } }
|
|
].concat(ncnames),
|
|
StartTag: [
|
|
{ name: n('>'), token: 'meta.tag', next: function(stack){ stack.push('TagContent'); } },
|
|
{ name: 'QName', token: 'entity.other.attribute-name' },
|
|
{ name: n('='), token: 'text' },
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposAttr'); } },
|
|
{ name: n('"'), token: 'string', next: function(stack){ stack.push('QuotAttr'); } },
|
|
{ name: n('/>'), token: 'meta.tag.r', next: function(stack){ stack.pop(); } }
|
|
],
|
|
TagContent: [
|
|
{ name: 'ElementContentChar', token: 'text' },
|
|
{ name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
|
|
{ name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
|
|
{ name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: n('{{'), token: 'text' },
|
|
{ name: n('}}'), token: 'text' },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } },
|
|
{ name: 'EndTag', token: 'meta.tag', next: function(stack){ stack.pop(); stack.pop(); } }
|
|
],
|
|
AposAttr: [
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'EscapeApos', token: 'constant.language.escape' },
|
|
{ name: 'AposAttrContentChar', token: 'string' },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: n('{{'), token: 'string' },
|
|
{ name: n('}}'), token: 'string' },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
|
|
],
|
|
QuotAttr: [
|
|
{ name: n('\"'), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'EscapeQuot', token: 'constant.language.escape' },
|
|
{ name: 'QuotAttrContentChar', token: 'string' },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: n('{{'), token: 'string' },
|
|
{ name: n('}}'), token: 'string' },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
|
|
],
|
|
Pragma: [
|
|
{ name: 'PragmaContents', token: pragma },
|
|
{ name: n('#'), token: pragma },
|
|
{ name: n('#)'), token: pragma, next: function(stack){ stack.pop(); } }
|
|
],
|
|
Comment: [
|
|
{ name: 'CommentContents', token: 'comment' },
|
|
{ name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
|
|
{ name: n(':)'), token: 'comment', next: function(stack){ stack.pop(); } }
|
|
],
|
|
CommentDoc: [
|
|
{ name: 'DocCommentContents', token: 'comment.doc' },
|
|
{ name: 'DocTag', token: 'comment.doc.tag' },
|
|
{ name: n('(:'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
|
|
{ name: n(':)'), token: 'comment.doc', next: function(stack){ stack.pop(); } }
|
|
],
|
|
XMLComment: [
|
|
{ name: 'DirCommentContents', token: xmlcomment },
|
|
{ name: n('-->'), token: xmlcomment, next: function(stack){ stack.pop(); } }
|
|
],
|
|
CData: [
|
|
{ name: 'CDataSectionContents', token: cdata },
|
|
{ name: n(']]>'), token: cdata, next: function(stack){ stack.pop(); } }
|
|
],
|
|
PI: [
|
|
{ name: 'DirPIContents', token: pi },
|
|
{ name: n('?'), token: pi },
|
|
{ name: n('?>'), token: pi, next: function(stack){ stack.pop(); } }
|
|
],
|
|
AposString: [
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: 'EscapeApos', token: 'constant.language.escape' },
|
|
{ name: 'AposChar', token: 'string' }
|
|
],
|
|
QuotString: [
|
|
{ name: n('"'), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'JSONPredefinedCharRef', token: 'constant.language.escape' },
|
|
{ name: 'JSONCharRef', token: 'constant.language.escape' },
|
|
{ name: 'JSONChar', token: 'string' }
|
|
]
|
|
};
|
|
|
|
exports.JSONiqLexer = function(){ return new Lexer(JSONiqTokenizer, Rules); };
|
|
},{"./JSONiqTokenizer":"/node_modules/xqlint/lib/lexers/JSONiqTokenizer.js","./lexer":"/node_modules/xqlint/lib/lexers/lexer.js"}],"/node_modules/xqlint/lib/lexers/lexer.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
var TokenHandler = function(code) {
|
|
var input = code;
|
|
this.tokens = [];
|
|
|
|
this.reset = function() {
|
|
input = input;
|
|
this.tokens = [];
|
|
};
|
|
|
|
this.startNonterminal = function() {};
|
|
this.endNonterminal = function() {};
|
|
|
|
this.terminal = function(name, begin, end) {
|
|
this.tokens.push({
|
|
name: name,
|
|
value: input.substring(begin, end)
|
|
});
|
|
};
|
|
|
|
this.whitespace = function(begin, end) {
|
|
this.tokens.push({
|
|
name: 'WS',
|
|
value: input.substring(begin, end)
|
|
});
|
|
};
|
|
};
|
|
|
|
exports.Lexer = function(Tokenizer, Rules) {
|
|
|
|
this.tokens = [];
|
|
|
|
this.getLineTokens = function(line, state) {
|
|
state = (state === 'start' || !state) ? '["start"]' : state;
|
|
var stack = JSON.parse(state);
|
|
var h = new TokenHandler(line);
|
|
var tokenizer = new Tokenizer(line, h);
|
|
var tokens = [];
|
|
|
|
while(true) {
|
|
var currentState = stack[stack.length - 1];
|
|
try {
|
|
h.tokens = [];
|
|
tokenizer['parse_' + currentState]();
|
|
var info = null;
|
|
|
|
if(h.tokens.length > 1 && h.tokens[0].name === 'WS') {
|
|
tokens.push({
|
|
type: 'text',
|
|
value: h.tokens[0].value
|
|
});
|
|
h.tokens.splice(0, 1);
|
|
}
|
|
|
|
var token = h.tokens[0];
|
|
var rules = Rules[currentState];
|
|
for(var k = 0; k < rules.length; k++) {
|
|
var rule = Rules[currentState][k];
|
|
if((typeof(rule.name) === 'function' && rule.name(token)) || rule.name === token.name) {
|
|
info = rule;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(token.name === 'EOF') { break; }
|
|
if(token.value === '') { throw 'Encountered empty string lexical rule.'; }
|
|
|
|
tokens.push({
|
|
type: info === null ? 'text' : (typeof(info.token) === 'function' ? info.token(token.value) : info.token),
|
|
value: token.value
|
|
});
|
|
|
|
if(info && info.next) {
|
|
info.next(stack);
|
|
}
|
|
|
|
} catch(e) {
|
|
if(e instanceof tokenizer.ParseException) {
|
|
var index = 0;
|
|
for(var i=0; i < tokens.length; i++) {
|
|
index += tokens[i].value.length;
|
|
}
|
|
tokens.push({ type: 'text', value: line.substring(index) });
|
|
return {
|
|
tokens: tokens,
|
|
state: JSON.stringify(['start'])
|
|
};
|
|
} else {
|
|
throw e;
|
|
}
|
|
}
|
|
}
|
|
|
|
return {
|
|
tokens: tokens,
|
|
state: JSON.stringify(stack)
|
|
};
|
|
};
|
|
};
|
|
},{}],"/node_modules/xqlint/lib/lexers/xquery_lexer.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
var XQueryTokenizer = _dereq_('./XQueryTokenizer').XQueryTokenizer;
|
|
var Lexer = _dereq_('./lexer').Lexer;
|
|
|
|
var keys = 'after|ancestor|ancestor-or-self|and|as|ascending|attribute|before|case|cast|castable|child|collation|comment|copy|count|declare|default|delete|descendant|descendant-or-self|descending|div|document|document-node|element|else|empty|empty-sequence|end|eq|every|except|first|following|following-sibling|for|function|ge|group|gt|idiv|if|import|insert|instance|intersect|into|is|item|last|le|let|lt|mod|modify|module|namespace|namespace-node|ne|node|only|or|order|ordered|parent|preceding|preceding-sibling|processing-instruction|rename|replace|return|satisfies|schema-attribute|schema-element|self|some|stable|start|switch|text|to|treat|try|typeswitch|union|unordered|validate|where|with|xquery|contains|paragraphs|sentences|times|words|by|collectionreturn|variable|version|option|when|encoding|toswitch|catch|tumbling|sliding|window|at|using|stemming|collection|schema|while|on|nodes|index|external|then|in|updating|value|of|containsbreak|loop|continue|exit|returning|append|json|position|strict'.split('|');
|
|
|
|
var keywords = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'keyword' }; });
|
|
var ncnames = keys.map(function(val) { return { name: '\'' + val + '\'', token: 'text', next: function(stack){ stack.pop(); } }; });
|
|
|
|
var cdata = 'constant.language';
|
|
var number = 'constant';
|
|
var xmlcomment = 'comment';
|
|
var pi = 'xml-pe';
|
|
var pragma = 'constant.buildin';
|
|
var n = function(name){
|
|
return '\'' + name + '\'';
|
|
};
|
|
var Rules = {
|
|
start: [
|
|
{ name: n('(#'), token: pragma, next: function(stack){ stack.push('Pragma'); } },
|
|
{ name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
|
|
{ name: n('(:~'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
|
|
{ name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
|
|
{ name: n('<?'), token: pi, next: function(stack) { stack.push('PI'); } },
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposString'); } },
|
|
{ name: n('"'), token: 'string', next: function(stack){ stack.push('QuotString'); } },
|
|
{ name: 'Annotation', token: 'support.function' },
|
|
{ name: 'ModuleDecl', token: 'keyword', next: function(stack){ stack.push('Prefix'); } },
|
|
{ name: 'OptionDecl', token: 'keyword', next: function(stack){ stack.push('_EQName'); } },
|
|
{ name: 'AttrTest', token: 'support.type' },
|
|
{ name: 'Variable', token: 'variable' },
|
|
{ name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
|
|
{ name: 'IntegerLiteral', token: number },
|
|
{ name: 'DecimalLiteral', token: number },
|
|
{ name: 'DoubleLiteral', token: number },
|
|
{ name: 'Operator', token: 'keyword.operator' },
|
|
{ name: 'EQName', token: function(val) { return keys.indexOf(val) !== -1 ? 'keyword' : 'support.function'; } },
|
|
{ name: n('('), token: 'lparen' },
|
|
{ name: n(')'), token: 'rparen' },
|
|
{ name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
|
|
{ name: n('}'), token: 'text', next: function(stack){ if(stack.length > 1) { stack.pop(); } } },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } } //, next: function(stack){ if(stack.length > 1) { stack.pop(); } } }
|
|
].concat(keywords),
|
|
_EQName: [
|
|
{ name: 'EQName', token: 'text', next: function(stack) { stack.pop(); } }
|
|
].concat(ncnames),
|
|
Prefix: [
|
|
{ name: 'NCName', token: 'text', next: function(stack) { stack.pop(); } }
|
|
].concat(ncnames),
|
|
StartTag: [
|
|
{ name: n('>'), token: 'meta.tag', next: function(stack){ stack.push('TagContent'); } },
|
|
{ name: 'QName', token: 'entity.other.attribute-name' },
|
|
{ name: n('='), token: 'text' },
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.push('AposAttr'); } },
|
|
{ name: n('"'), token: 'string', next: function(stack){ stack.push('QuotAttr'); } },
|
|
{ name: n('/>'), token: 'meta.tag.r', next: function(stack){ stack.pop(); } }
|
|
],
|
|
TagContent: [
|
|
{ name: 'ElementContentChar', token: 'text' },
|
|
{ name: n('<![CDATA['), token: cdata, next: function(stack){ stack.push('CData'); } },
|
|
{ name: n('<!--'), token: xmlcomment, next: function(stack){ stack.push('XMLComment'); } },
|
|
{ name: 'Tag', token: 'meta.tag', next: function(stack){ stack.push('StartTag'); } },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: n('{{'), token: 'text' },
|
|
{ name: n('}}'), token: 'text' },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } },
|
|
{ name: 'EndTag', token: 'meta.tag', next: function(stack){ stack.pop(); stack.pop(); } }
|
|
],
|
|
AposAttr: [
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'EscapeApos', token: 'constant.language.escape' },
|
|
{ name: 'AposAttrContentChar', token: 'string' },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: n('{{'), token: 'string' },
|
|
{ name: n('}}'), token: 'string' },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
|
|
],
|
|
QuotAttr: [
|
|
{ name: n('\"'), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'EscapeQuot', token: 'constant.language.escape' },
|
|
{ name: 'QuotAttrContentChar', token: 'string' },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: n('{{'), token: 'string' },
|
|
{ name: n('}}'), token: 'string' },
|
|
{ name: n('{'), token: 'text', next: function(stack){ stack.push('start'); } }
|
|
],
|
|
Pragma: [
|
|
{ name: 'PragmaContents', token: pragma },
|
|
{ name: n('#'), token: pragma },
|
|
{ name: n('#)'), token: pragma, next: function(stack){ stack.pop(); } }
|
|
],
|
|
Comment: [
|
|
{ name: 'CommentContents', token: 'comment' },
|
|
{ name: n('(:'), token: 'comment', next: function(stack){ stack.push('Comment'); } },
|
|
{ name: n(':)'), token: 'comment', next: function(stack){ stack.pop(); } }
|
|
],
|
|
CommentDoc: [
|
|
{ name: 'DocCommentContents', token: 'comment.doc' },
|
|
{ name: 'DocTag', token: 'comment.doc.tag' },
|
|
{ name: n('(:'), token: 'comment.doc', next: function(stack){ stack.push('CommentDoc'); } },
|
|
{ name: n(':)'), token: 'comment.doc', next: function(stack){ stack.pop(); } }
|
|
],
|
|
XMLComment: [
|
|
{ name: 'DirCommentContents', token: xmlcomment },
|
|
{ name: n('-->'), token: xmlcomment, next: function(stack){ stack.pop(); } }
|
|
],
|
|
CData: [
|
|
{ name: 'CDataSectionContents', token: cdata },
|
|
{ name: n(']]>'), token: cdata, next: function(stack){ stack.pop(); } }
|
|
],
|
|
PI: [
|
|
{ name: 'DirPIContents', token: pi },
|
|
{ name: n('?'), token: pi },
|
|
{ name: n('?>'), token: pi, next: function(stack){ stack.pop(); } }
|
|
],
|
|
AposString: [
|
|
{ name: n('\'\''), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: 'EscapeApos', token: 'constant.language.escape' },
|
|
{ name: 'AposChar', token: 'string' }
|
|
],
|
|
QuotString: [
|
|
{ name: n('"'), token: 'string', next: function(stack){ stack.pop(); } },
|
|
{ name: 'PredefinedEntityRef', token: 'constant.language.escape' },
|
|
{ name: 'CharRef', token: 'constant.language.escape' },
|
|
{ name: 'EscapeQuot', token: 'constant.language.escape' },
|
|
{ name: 'QuotChar', token: 'string' }
|
|
]
|
|
};
|
|
|
|
exports.XQueryLexer = function(){ return new Lexer(XQueryTokenizer, Rules); };
|
|
},{"./XQueryTokenizer":"/node_modules/xqlint/lib/lexers/XQueryTokenizer.js","./lexer":"/node_modules/xqlint/lib/lexers/lexer.js"}],"/node_modules/xqlint/lib/parsers/JSONParseTreeHandler.js":[function(_dereq_,module,exports){
|
|
exports.JSONParseTreeHandler = function (code) {
|
|
'use strict';
|
|
var toBeIndex = ['VarDecl', 'FunctionDecl'];
|
|
var list = [
|
|
'OrExpr', 'AndExpr', 'ComparisonExpr', 'StringConcatExpr', 'RangeExpr',
|
|
'AdditiveExpr', 'MultiplicativeExpr',
|
|
'UnionExpr', 'IntersectExceptExpr', 'InstanceofExpr', 'TreatExpr', 'CastableExpr', 'CastExpr', 'UnaryExpr', 'ValueExpr',
|
|
'FTContainsExpr', 'SimpleMapExpr', 'PathExpr', 'RelativePathExpr', 'PostfixExpr', 'StepExpr'
|
|
];
|
|
|
|
var ast = null;
|
|
var ptr = null;
|
|
var remains = code;
|
|
var cursor = 0;
|
|
var lineCursor = 0;
|
|
var line = 0;
|
|
|
|
function createNode(name) {
|
|
return {
|
|
name: name,
|
|
children: [],
|
|
getParent: null,
|
|
pos: {
|
|
sl: 0,
|
|
sc: 0,
|
|
el: 0,
|
|
ec: 0
|
|
}
|
|
};
|
|
}
|
|
|
|
function pushNode(name) { //begin
|
|
var node = createNode(name);
|
|
if (ast === null) {
|
|
ast = node;
|
|
ast.index = [];
|
|
ptr = node;
|
|
} else {
|
|
node.getParent = ptr;
|
|
ptr.children.push(node);
|
|
ptr = ptr.children[ptr.children.length - 1];
|
|
}
|
|
}
|
|
|
|
function popNode() {
|
|
|
|
if (ptr.children.length > 0) {
|
|
var s = ptr.children[0];
|
|
var e = null;
|
|
for (var i = ptr.children.length - 1; i >= 0; i--) {
|
|
e = ptr.children[i];
|
|
if (e.pos.el !== 0 || e.pos.ec !== 0) {
|
|
break;
|
|
}
|
|
}
|
|
ptr.pos.sl = s.pos.sl;
|
|
ptr.pos.sc = s.pos.sc;
|
|
ptr.pos.el = e.pos.el;
|
|
ptr.pos.ec = e.pos.ec;
|
|
}
|
|
if (ptr.name === 'FunctionName') {
|
|
ptr.name = 'EQName';
|
|
}
|
|
if (ptr.name === 'EQName' && ptr.value === undefined) {
|
|
ptr.value = ptr.children[0].value;
|
|
ptr.children.pop();
|
|
}
|
|
|
|
if(toBeIndex.indexOf(ptr.name) !== -1) {
|
|
ast.index.push(ptr);
|
|
}
|
|
|
|
if (ptr.getParent !== null) {
|
|
ptr = ptr.getParent;
|
|
} else {
|
|
}
|
|
if (ptr.children.length > 0) {
|
|
var lastChild = ptr.children[ptr.children.length - 1];
|
|
if (lastChild.children.length === 1 && list.indexOf(lastChild.name) !== -1) {
|
|
ptr.children[ptr.children.length - 1] = lastChild.children[0];
|
|
}
|
|
}
|
|
}
|
|
|
|
this.closeParseTree = function () {
|
|
while (ptr.getParent !== null) {
|
|
popNode();
|
|
}
|
|
popNode();
|
|
};
|
|
|
|
this.peek = function () {
|
|
return ptr;
|
|
};
|
|
|
|
this.getParseTree = function () {
|
|
return ast;
|
|
};
|
|
|
|
this.reset = function () {}; //input
|
|
|
|
this.startNonterminal = function (name, begin) {
|
|
pushNode(name, begin);
|
|
};
|
|
|
|
this.endNonterminal = function () {//name, end
|
|
popNode();
|
|
};
|
|
|
|
this.terminal = function (name, begin, end) {
|
|
name = (name.substring(0, 1) === '\'' && name.substring(name.length - 1) === '\'') ? 'TOKEN' : name;
|
|
pushNode(name, begin);
|
|
setValue(ptr, begin, end);
|
|
popNode();
|
|
};
|
|
|
|
this.whitespace = function (begin, end) {
|
|
var name = 'WS';
|
|
pushNode(name, begin);
|
|
setValue(ptr, begin, end);
|
|
popNode();
|
|
};
|
|
|
|
function setValue(node, begin, end) {
|
|
|
|
var e = end - cursor;
|
|
ptr.value = remains.substring(0, e);
|
|
remains = remains.substring(e);
|
|
cursor = end;
|
|
|
|
var sl = line;
|
|
var sc = lineCursor;
|
|
var el = sl + ptr.value.split('\n').length - 1;
|
|
var lastIdx = ptr.value.lastIndexOf('\n');
|
|
var ec = lastIdx === -1 ? sc + ptr.value.length : ptr.value.substring(lastIdx + 1).length;
|
|
|
|
line = el;
|
|
lineCursor = ec;
|
|
|
|
ptr.pos.sl = sl;
|
|
ptr.pos.sc = sc;
|
|
ptr.pos.el = el;
|
|
ptr.pos.ec = ec;
|
|
}
|
|
};
|
|
|
|
},{}],"/node_modules/xqlint/lib/parsers/JSONiqParser.js":[function(_dereq_,module,exports){
|
|
var JSONiqParser = exports.JSONiqParser = function JSONiqParser(string, parsingEventHandler)
|
|
{
|
|
init(string, parsingEventHandler);
|
|
var self = this;
|
|
|
|
this.ParseException = function(b, e, s, o, x)
|
|
{
|
|
var
|
|
begin = b,
|
|
end = e,
|
|
state = s,
|
|
offending = o,
|
|
expected = x;
|
|
|
|
this.getBegin = function() {return begin;};
|
|
this.getEnd = function() {return end;};
|
|
this.getState = function() {return state;};
|
|
this.getExpected = function() {return expected;};
|
|
this.getOffending = function() {return offending;};
|
|
|
|
this.getMessage = function()
|
|
{
|
|
return offending < 0 ? "lexical analysis failed" : "syntax error";
|
|
};
|
|
};
|
|
|
|
function init(string, parsingEventHandler)
|
|
{
|
|
eventHandler = parsingEventHandler;
|
|
input = string;
|
|
size = string.length;
|
|
reset(0, 0, 0);
|
|
}
|
|
|
|
this.getInput = function()
|
|
{
|
|
return input;
|
|
};
|
|
|
|
function reset(l, b, e)
|
|
{
|
|
b0 = b; e0 = b;
|
|
l1 = l; b1 = b; e1 = e;
|
|
l2 = 0;
|
|
end = e;
|
|
ex = -1;
|
|
memo = {};
|
|
eventHandler.reset(input);
|
|
}
|
|
|
|
this.getOffendingToken = function(e)
|
|
{
|
|
var o = e.getOffending();
|
|
return o >= 0 ? JSONiqParser.TOKEN[o] : null;
|
|
};
|
|
|
|
this.getExpectedTokenSet = function(e)
|
|
{
|
|
var expected;
|
|
if (e.getExpected() < 0)
|
|
{
|
|
expected = JSONiqParser.getTokenSet(- e.getState());
|
|
}
|
|
else
|
|
{
|
|
expected = [JSONiqParser.TOKEN[e.getExpected()]];
|
|
}
|
|
return expected;
|
|
};
|
|
|
|
this.getErrorMessage = function(e)
|
|
{
|
|
var tokenSet = this.getExpectedTokenSet(e);
|
|
var found = this.getOffendingToken(e);
|
|
var prefix = input.substring(0, e.getBegin());
|
|
var lines = prefix.split("\n");
|
|
var line = lines.length;
|
|
var column = lines[line - 1].length + 1;
|
|
var size = e.getEnd() - e.getBegin();
|
|
return e.getMessage()
|
|
+ (found == null ? "" : ", found " + found)
|
|
+ "\nwhile expecting "
|
|
+ (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
|
|
+ "\n"
|
|
+ (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
|
|
+ "at line " + line + ", column " + column + ":\n..."
|
|
+ input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
|
|
+ "...";
|
|
};
|
|
|
|
this.parse_XQuery = function()
|
|
{
|
|
eventHandler.startNonterminal("XQuery", e0);
|
|
lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Module();
|
|
shift(25); // EOF
|
|
eventHandler.endNonterminal("XQuery", e0);
|
|
};
|
|
|
|
function parse_Module()
|
|
{
|
|
eventHandler.startNonterminal("Module", e0);
|
|
switch (l1)
|
|
{
|
|
case 170: // 'jsoniq'
|
|
lookahead2W(168); // S^WS | '#' | '(' | '(:' | 'encoding' | 'version'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 64682 // 'jsoniq' 'encoding'
|
|
|| lk == 137898) // 'jsoniq' 'version'
|
|
{
|
|
parse_VersionDecl();
|
|
}
|
|
lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 185: // 'module'
|
|
lookahead2W(146); // S^WS | '#' | '(' | '(:' | 'namespace'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 95929: // 'module' 'namespace'
|
|
whitespace();
|
|
parse_LibraryModule();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_MainModule();
|
|
}
|
|
eventHandler.endNonterminal("Module", e0);
|
|
}
|
|
|
|
function parse_VersionDecl()
|
|
{
|
|
eventHandler.startNonterminal("VersionDecl", e0);
|
|
shift(170); // 'jsoniq'
|
|
lookahead1W(120); // S^WS | '(:' | 'encoding' | 'version'
|
|
switch (l1)
|
|
{
|
|
case 126: // 'encoding'
|
|
shift(126); // 'encoding'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
break;
|
|
default:
|
|
shift(269); // 'version'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
lookahead1W(113); // S^WS | '(:' | ';' | 'encoding'
|
|
if (l1 == 126) // 'encoding'
|
|
{
|
|
shift(126); // 'encoding'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
}
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
eventHandler.endNonterminal("VersionDecl", e0);
|
|
}
|
|
|
|
function parse_LibraryModule()
|
|
{
|
|
eventHandler.startNonterminal("LibraryModule", e0);
|
|
parse_ModuleDecl();
|
|
lookahead1W(142); // S^WS | EOF | '(:' | 'declare' | 'import'
|
|
whitespace();
|
|
parse_Prolog();
|
|
eventHandler.endNonterminal("LibraryModule", e0);
|
|
}
|
|
|
|
function parse_ModuleDecl()
|
|
{
|
|
eventHandler.startNonterminal("ModuleDecl", e0);
|
|
shift(185); // 'module'
|
|
lookahead1W(64); // S^WS | '(:' | 'namespace'
|
|
shift(187); // 'namespace'
|
|
lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(30); // S^WS | '(:' | '='
|
|
shift(61); // '='
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
eventHandler.endNonterminal("ModuleDecl", e0);
|
|
}
|
|
|
|
function parse_Prolog()
|
|
{
|
|
eventHandler.startNonterminal("Prolog", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 109: // 'declare'
|
|
lookahead2W(206); // S^WS | '#' | '%' | '(' | '(:' | 'base-uri' | 'boundary-space' | 'collection' |
|
|
break;
|
|
case 155: // 'import'
|
|
lookahead2W(169); // S^WS | '#' | '(' | '(:' | 'module' | 'schema'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 43117 // 'declare' 'base-uri'
|
|
&& lk != 44141 // 'declare' 'boundary-space'
|
|
&& lk != 50797 // 'declare' 'construction'
|
|
&& lk != 53869 // 'declare' 'copy-namespaces'
|
|
&& lk != 54893 // 'declare' 'decimal-format'
|
|
&& lk != 56429 // 'declare' 'default'
|
|
&& lk != 73325 // 'declare' 'ft-option'
|
|
&& lk != 94875 // 'import' 'module'
|
|
&& lk != 95853 // 'declare' 'namespace'
|
|
&& lk != 106093 // 'declare' 'ordering'
|
|
&& lk != 115821 // 'declare' 'revalidation'
|
|
&& lk != 117403) // 'import' 'schema'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 109: // 'declare'
|
|
lookahead2W(200); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 56429) // 'declare' 'default'
|
|
{
|
|
lk = memoized(0, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_DefaultNamespaceDecl();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(0, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
whitespace();
|
|
parse_DefaultNamespaceDecl();
|
|
break;
|
|
case 95853: // 'declare' 'namespace'
|
|
whitespace();
|
|
parse_NamespaceDecl();
|
|
break;
|
|
case 155: // 'import'
|
|
whitespace();
|
|
parse_Import();
|
|
break;
|
|
case 73325: // 'declare' 'ft-option'
|
|
whitespace();
|
|
parse_FTOptionDecl();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_Setter();
|
|
}
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(277); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 109: // 'declare'
|
|
lookahead2W(201); // S^WS | '#' | '%' | '(' | '(:' | 'collection' | 'context' | 'function' | 'index' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 17005 // 'declare' '%'
|
|
&& lk != 49261 // 'declare' 'collection'
|
|
&& lk != 52333 // 'declare' 'context'
|
|
&& lk != 75373 // 'declare' 'function'
|
|
&& lk != 80493 // 'declare' 'index'
|
|
&& lk != 83565 // 'declare' 'integrity'
|
|
&& lk != 104045 // 'declare' 'option'
|
|
&& lk != 134765 // 'declare' 'updating'
|
|
&& lk != 137325) // 'declare' 'variable'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 109: // 'declare'
|
|
lookahead2W(197); // S^WS | '%' | '(:' | 'collection' | 'context' | 'function' | 'index' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 52333: // 'declare' 'context'
|
|
whitespace();
|
|
parse_ContextItemDecl();
|
|
break;
|
|
case 104045: // 'declare' 'option'
|
|
whitespace();
|
|
parse_OptionDecl();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_AnnotatedDecl();
|
|
}
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
}
|
|
eventHandler.endNonterminal("Prolog", e0);
|
|
}
|
|
|
|
function parse_Separator()
|
|
{
|
|
eventHandler.startNonterminal("Separator", e0);
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("Separator", e0);
|
|
}
|
|
|
|
function parse_Setter()
|
|
{
|
|
eventHandler.startNonterminal("Setter", e0);
|
|
switch (l1)
|
|
{
|
|
case 109: // 'declare'
|
|
lookahead2W(194); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 56429) // 'declare' 'default'
|
|
{
|
|
lk = memoized(1, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_DefaultCollationDecl();
|
|
lk = -2;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_EmptyOrderDecl();
|
|
lk = -6;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
lk = -9;
|
|
}
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(1, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 44141: // 'declare' 'boundary-space'
|
|
parse_BoundarySpaceDecl();
|
|
break;
|
|
case -2:
|
|
parse_DefaultCollationDecl();
|
|
break;
|
|
case 43117: // 'declare' 'base-uri'
|
|
parse_BaseURIDecl();
|
|
break;
|
|
case 50797: // 'declare' 'construction'
|
|
parse_ConstructionDecl();
|
|
break;
|
|
case 106093: // 'declare' 'ordering'
|
|
parse_OrderingModeDecl();
|
|
break;
|
|
case -6:
|
|
parse_EmptyOrderDecl();
|
|
break;
|
|
case 115821: // 'declare' 'revalidation'
|
|
parse_RevalidationDecl();
|
|
break;
|
|
case 53869: // 'declare' 'copy-namespaces'
|
|
parse_CopyNamespacesDecl();
|
|
break;
|
|
default:
|
|
parse_DecimalFormatDecl();
|
|
}
|
|
eventHandler.endNonterminal("Setter", e0);
|
|
}
|
|
|
|
function parse_BoundarySpaceDecl()
|
|
{
|
|
eventHandler.startNonterminal("BoundarySpaceDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(36); // S^WS | '(:' | 'boundary-space'
|
|
shift(86); // 'boundary-space'
|
|
lookahead1W(137); // S^WS | '(:' | 'preserve' | 'strip'
|
|
switch (l1)
|
|
{
|
|
case 218: // 'preserve'
|
|
shift(218); // 'preserve'
|
|
break;
|
|
default:
|
|
shift(246); // 'strip'
|
|
}
|
|
eventHandler.endNonterminal("BoundarySpaceDecl", e0);
|
|
}
|
|
|
|
function parse_DefaultCollationDecl()
|
|
{
|
|
eventHandler.startNonterminal("DefaultCollationDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(49); // S^WS | '(:' | 'default'
|
|
shift(110); // 'default'
|
|
lookahead1W(41); // S^WS | '(:' | 'collation'
|
|
shift(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("DefaultCollationDecl", e0);
|
|
}
|
|
|
|
function try_DefaultCollationDecl()
|
|
{
|
|
shiftT(109); // 'declare'
|
|
lookahead1W(49); // S^WS | '(:' | 'default'
|
|
shiftT(110); // 'default'
|
|
lookahead1W(41); // S^WS | '(:' | 'collation'
|
|
shiftT(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
|
|
function parse_BaseURIDecl()
|
|
{
|
|
eventHandler.startNonterminal("BaseURIDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(35); // S^WS | '(:' | 'base-uri'
|
|
shift(84); // 'base-uri'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("BaseURIDecl", e0);
|
|
}
|
|
|
|
function parse_ConstructionDecl()
|
|
{
|
|
eventHandler.startNonterminal("ConstructionDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(44); // S^WS | '(:' | 'construction'
|
|
shift(99); // 'construction'
|
|
lookahead1W(137); // S^WS | '(:' | 'preserve' | 'strip'
|
|
switch (l1)
|
|
{
|
|
case 246: // 'strip'
|
|
shift(246); // 'strip'
|
|
break;
|
|
default:
|
|
shift(218); // 'preserve'
|
|
}
|
|
eventHandler.endNonterminal("ConstructionDecl", e0);
|
|
}
|
|
|
|
function parse_OrderingModeDecl()
|
|
{
|
|
eventHandler.startNonterminal("OrderingModeDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(71); // S^WS | '(:' | 'ordering'
|
|
shift(207); // 'ordering'
|
|
lookahead1W(135); // S^WS | '(:' | 'ordered' | 'unordered'
|
|
switch (l1)
|
|
{
|
|
case 206: // 'ordered'
|
|
shift(206); // 'ordered'
|
|
break;
|
|
default:
|
|
shift(262); // 'unordered'
|
|
}
|
|
eventHandler.endNonterminal("OrderingModeDecl", e0);
|
|
}
|
|
|
|
function parse_EmptyOrderDecl()
|
|
{
|
|
eventHandler.startNonterminal("EmptyOrderDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(49); // S^WS | '(:' | 'default'
|
|
shift(110); // 'default'
|
|
lookahead1W(70); // S^WS | '(:' | 'order'
|
|
shift(205); // 'order'
|
|
lookahead1W(52); // S^WS | '(:' | 'empty'
|
|
shift(124); // 'empty'
|
|
lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 149: // 'greatest'
|
|
shift(149); // 'greatest'
|
|
break;
|
|
default:
|
|
shift(176); // 'least'
|
|
}
|
|
eventHandler.endNonterminal("EmptyOrderDecl", e0);
|
|
}
|
|
|
|
function try_EmptyOrderDecl()
|
|
{
|
|
shiftT(109); // 'declare'
|
|
lookahead1W(49); // S^WS | '(:' | 'default'
|
|
shiftT(110); // 'default'
|
|
lookahead1W(70); // S^WS | '(:' | 'order'
|
|
shiftT(205); // 'order'
|
|
lookahead1W(52); // S^WS | '(:' | 'empty'
|
|
shiftT(124); // 'empty'
|
|
lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 149: // 'greatest'
|
|
shiftT(149); // 'greatest'
|
|
break;
|
|
default:
|
|
shiftT(176); // 'least'
|
|
}
|
|
}
|
|
|
|
function parse_CopyNamespacesDecl()
|
|
{
|
|
eventHandler.startNonterminal("CopyNamespacesDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(47); // S^WS | '(:' | 'copy-namespaces'
|
|
shift(105); // 'copy-namespaces'
|
|
lookahead1W(132); // S^WS | '(:' | 'no-preserve' | 'preserve'
|
|
whitespace();
|
|
parse_PreserveMode();
|
|
lookahead1W(25); // S^WS | '(:' | ','
|
|
shift(42); // ','
|
|
lookahead1W(127); // S^WS | '(:' | 'inherit' | 'no-inherit'
|
|
whitespace();
|
|
parse_InheritMode();
|
|
eventHandler.endNonterminal("CopyNamespacesDecl", e0);
|
|
}
|
|
|
|
function parse_PreserveMode()
|
|
{
|
|
eventHandler.startNonterminal("PreserveMode", e0);
|
|
switch (l1)
|
|
{
|
|
case 218: // 'preserve'
|
|
shift(218); // 'preserve'
|
|
break;
|
|
default:
|
|
shift(193); // 'no-preserve'
|
|
}
|
|
eventHandler.endNonterminal("PreserveMode", e0);
|
|
}
|
|
|
|
function parse_InheritMode()
|
|
{
|
|
eventHandler.startNonterminal("InheritMode", e0);
|
|
switch (l1)
|
|
{
|
|
case 159: // 'inherit'
|
|
shift(159); // 'inherit'
|
|
break;
|
|
default:
|
|
shift(192); // 'no-inherit'
|
|
}
|
|
eventHandler.endNonterminal("InheritMode", e0);
|
|
}
|
|
|
|
function parse_DecimalFormatDecl()
|
|
{
|
|
eventHandler.startNonterminal("DecimalFormatDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(118); // S^WS | '(:' | 'decimal-format' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 107: // 'decimal-format'
|
|
shift(107); // 'decimal-format'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
break;
|
|
default:
|
|
shift(110); // 'default'
|
|
lookahead1W(48); // S^WS | '(:' | 'decimal-format'
|
|
shift(107); // 'decimal-format'
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(203); // S^WS | '(:' | ';' | 'NaN' | 'decimal-separator' | 'digit' |
|
|
if (l1 == 54) // ';'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_DFPropertyName();
|
|
lookahead1W(30); // S^WS | '(:' | '='
|
|
shift(61); // '='
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
eventHandler.endNonterminal("DecimalFormatDecl", e0);
|
|
}
|
|
|
|
function parse_DFPropertyName()
|
|
{
|
|
eventHandler.startNonterminal("DFPropertyName", e0);
|
|
switch (l1)
|
|
{
|
|
case 108: // 'decimal-separator'
|
|
shift(108); // 'decimal-separator'
|
|
break;
|
|
case 151: // 'grouping-separator'
|
|
shift(151); // 'grouping-separator'
|
|
break;
|
|
case 158: // 'infinity'
|
|
shift(158); // 'infinity'
|
|
break;
|
|
case 182: // 'minus-sign'
|
|
shift(182); // 'minus-sign'
|
|
break;
|
|
case 68: // 'NaN'
|
|
shift(68); // 'NaN'
|
|
break;
|
|
case 213: // 'percent'
|
|
shift(213); // 'percent'
|
|
break;
|
|
case 212: // 'per-mille'
|
|
shift(212); // 'per-mille'
|
|
break;
|
|
case 280: // 'zero-digit'
|
|
shift(280); // 'zero-digit'
|
|
break;
|
|
case 117: // 'digit'
|
|
shift(117); // 'digit'
|
|
break;
|
|
default:
|
|
shift(211); // 'pattern-separator'
|
|
}
|
|
eventHandler.endNonterminal("DFPropertyName", e0);
|
|
}
|
|
|
|
function parse_Import()
|
|
{
|
|
eventHandler.startNonterminal("Import", e0);
|
|
switch (l1)
|
|
{
|
|
case 155: // 'import'
|
|
lookahead2W(130); // S^WS | '(:' | 'module' | 'schema'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 117403: // 'import' 'schema'
|
|
parse_SchemaImport();
|
|
break;
|
|
default:
|
|
parse_ModuleImport();
|
|
}
|
|
eventHandler.endNonterminal("Import", e0);
|
|
}
|
|
|
|
function parse_SchemaImport()
|
|
{
|
|
eventHandler.startNonterminal("SchemaImport", e0);
|
|
shift(155); // 'import'
|
|
lookahead1W(76); // S^WS | '(:' | 'schema'
|
|
shift(229); // 'schema'
|
|
lookahead1W(141); // URILiteral | S^WS | '(:' | 'default' | 'namespace'
|
|
if (l1 != 7) // URILiteral
|
|
{
|
|
whitespace();
|
|
parse_SchemaPrefix();
|
|
}
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(112); // S^WS | '(:' | ';' | 'at'
|
|
if (l1 == 82) // 'at'
|
|
{
|
|
shift(82); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(107); // S^WS | '(:' | ',' | ';'
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("SchemaImport", e0);
|
|
}
|
|
|
|
function parse_SchemaPrefix()
|
|
{
|
|
eventHandler.startNonterminal("SchemaPrefix", e0);
|
|
switch (l1)
|
|
{
|
|
case 187: // 'namespace'
|
|
shift(187); // 'namespace'
|
|
lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(30); // S^WS | '(:' | '='
|
|
shift(61); // '='
|
|
break;
|
|
default:
|
|
shift(110); // 'default'
|
|
lookahead1W(50); // S^WS | '(:' | 'element'
|
|
shift(122); // 'element'
|
|
lookahead1W(64); // S^WS | '(:' | 'namespace'
|
|
shift(187); // 'namespace'
|
|
}
|
|
eventHandler.endNonterminal("SchemaPrefix", e0);
|
|
}
|
|
|
|
function parse_ModuleImport()
|
|
{
|
|
eventHandler.startNonterminal("ModuleImport", e0);
|
|
shift(155); // 'import'
|
|
lookahead1W(63); // S^WS | '(:' | 'module'
|
|
shift(185); // 'module'
|
|
lookahead1W(93); // URILiteral | S^WS | '(:' | 'namespace'
|
|
if (l1 == 187) // 'namespace'
|
|
{
|
|
shift(187); // 'namespace'
|
|
lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(30); // S^WS | '(:' | '='
|
|
shift(61); // '='
|
|
}
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(112); // S^WS | '(:' | ';' | 'at'
|
|
if (l1 == 82) // 'at'
|
|
{
|
|
shift(82); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(107); // S^WS | '(:' | ',' | ';'
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("ModuleImport", e0);
|
|
}
|
|
|
|
function parse_NamespaceDecl()
|
|
{
|
|
eventHandler.startNonterminal("NamespaceDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(64); // S^WS | '(:' | 'namespace'
|
|
shift(187); // 'namespace'
|
|
lookahead1W(239); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(30); // S^WS | '(:' | '='
|
|
shift(61); // '='
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("NamespaceDecl", e0);
|
|
}
|
|
|
|
function parse_DefaultNamespaceDecl()
|
|
{
|
|
eventHandler.startNonterminal("DefaultNamespaceDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(49); // S^WS | '(:' | 'default'
|
|
shift(110); // 'default'
|
|
lookahead1W(119); // S^WS | '(:' | 'element' | 'function'
|
|
switch (l1)
|
|
{
|
|
case 122: // 'element'
|
|
shift(122); // 'element'
|
|
break;
|
|
default:
|
|
shift(147); // 'function'
|
|
}
|
|
lookahead1W(64); // S^WS | '(:' | 'namespace'
|
|
shift(187); // 'namespace'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("DefaultNamespaceDecl", e0);
|
|
}
|
|
|
|
function try_DefaultNamespaceDecl()
|
|
{
|
|
shiftT(109); // 'declare'
|
|
lookahead1W(49); // S^WS | '(:' | 'default'
|
|
shiftT(110); // 'default'
|
|
lookahead1W(119); // S^WS | '(:' | 'element' | 'function'
|
|
switch (l1)
|
|
{
|
|
case 122: // 'element'
|
|
shiftT(122); // 'element'
|
|
break;
|
|
default:
|
|
shiftT(147); // 'function'
|
|
}
|
|
lookahead1W(64); // S^WS | '(:' | 'namespace'
|
|
shiftT(187); // 'namespace'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
|
|
function parse_FTOptionDecl()
|
|
{
|
|
eventHandler.startNonterminal("FTOptionDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(55); // S^WS | '(:' | 'ft-option'
|
|
shift(143); // 'ft-option'
|
|
lookahead1W(84); // S^WS | '(:' | 'using'
|
|
whitespace();
|
|
parse_FTMatchOptions();
|
|
eventHandler.endNonterminal("FTOptionDecl", e0);
|
|
}
|
|
|
|
function parse_AnnotatedDecl()
|
|
{
|
|
eventHandler.startNonterminal("AnnotatedDecl", e0);
|
|
shift(109); // 'declare'
|
|
for (;;)
|
|
{
|
|
lookahead1W(192); // S^WS | '%' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
|
|
if (l1 != 33 // '%'
|
|
&& l1 != 263) // 'updating'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 263: // 'updating'
|
|
whitespace();
|
|
parse_CompatibilityAnnotation();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 268: // 'variable'
|
|
whitespace();
|
|
parse_VarDecl();
|
|
break;
|
|
case 147: // 'function'
|
|
whitespace();
|
|
parse_FunctionDecl();
|
|
break;
|
|
case 96: // 'collection'
|
|
whitespace();
|
|
parse_CollectionDecl();
|
|
break;
|
|
case 157: // 'index'
|
|
whitespace();
|
|
parse_IndexDecl();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ICDecl();
|
|
}
|
|
eventHandler.endNonterminal("AnnotatedDecl", e0);
|
|
}
|
|
|
|
function parse_CompatibilityAnnotation()
|
|
{
|
|
eventHandler.startNonterminal("CompatibilityAnnotation", e0);
|
|
shift(263); // 'updating'
|
|
eventHandler.endNonterminal("CompatibilityAnnotation", e0);
|
|
}
|
|
|
|
function parse_Annotation()
|
|
{
|
|
eventHandler.startNonterminal("Annotation", e0);
|
|
shift(33); // '%'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(193); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shift(35); // '('
|
|
lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
|
|
whitespace();
|
|
parse_Literal();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
|
|
whitespace();
|
|
parse_Literal();
|
|
}
|
|
shift(38); // ')'
|
|
}
|
|
eventHandler.endNonterminal("Annotation", e0);
|
|
}
|
|
|
|
function try_Annotation()
|
|
{
|
|
shiftT(33); // '%'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_EQName();
|
|
lookahead1W(193); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
|
|
try_Literal();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(190); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:' |
|
|
try_Literal();
|
|
}
|
|
shiftT(38); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_VarDecl()
|
|
{
|
|
eventHandler.startNonterminal("VarDecl", e0);
|
|
shift(268); // 'variable'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(157); // S^WS | '(:' | ':=' | 'as' | 'external'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(110); // S^WS | '(:' | ':=' | 'external'
|
|
switch (l1)
|
|
{
|
|
case 53: // ':='
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_VarValue();
|
|
break;
|
|
default:
|
|
shift(134); // 'external'
|
|
lookahead1W(108); // S^WS | '(:' | ':=' | ';'
|
|
if (l1 == 53) // ':='
|
|
{
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_VarDefaultValue();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("VarDecl", e0);
|
|
}
|
|
|
|
function parse_VarValue()
|
|
{
|
|
eventHandler.startNonterminal("VarValue", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("VarValue", e0);
|
|
}
|
|
|
|
function parse_VarDefaultValue()
|
|
{
|
|
eventHandler.startNonterminal("VarDefaultValue", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("VarDefaultValue", e0);
|
|
}
|
|
|
|
function parse_ContextItemDecl()
|
|
{
|
|
eventHandler.startNonterminal("ContextItemDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(46); // S^WS | '(:' | 'context'
|
|
shift(102); // 'context'
|
|
lookahead1W(58); // S^WS | '(:' | 'item'
|
|
shift(167); // 'item'
|
|
lookahead1W(157); // S^WS | '(:' | ':=' | 'as' | 'external'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
shift(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ItemType();
|
|
}
|
|
lookahead1W(110); // S^WS | '(:' | ':=' | 'external'
|
|
switch (l1)
|
|
{
|
|
case 53: // ':='
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_VarValue();
|
|
break;
|
|
default:
|
|
shift(134); // 'external'
|
|
lookahead1W(108); // S^WS | '(:' | ':=' | ';'
|
|
if (l1 == 53) // ':='
|
|
{
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_VarDefaultValue();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("ContextItemDecl", e0);
|
|
}
|
|
|
|
function parse_ParamList()
|
|
{
|
|
eventHandler.startNonterminal("ParamList", e0);
|
|
parse_Param();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_Param();
|
|
}
|
|
eventHandler.endNonterminal("ParamList", e0);
|
|
}
|
|
|
|
function try_ParamList()
|
|
{
|
|
try_Param();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_Param();
|
|
}
|
|
}
|
|
|
|
function parse_Param()
|
|
{
|
|
eventHandler.startNonterminal("Param", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(153); // S^WS | '(:' | ')' | ',' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
eventHandler.endNonterminal("Param", e0);
|
|
}
|
|
|
|
function try_Param()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_EQName();
|
|
lookahead1W(153); // S^WS | '(:' | ')' | ',' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
}
|
|
|
|
function parse_FunctionBody()
|
|
{
|
|
eventHandler.startNonterminal("FunctionBody", e0);
|
|
parse_EnclosedExpr();
|
|
eventHandler.endNonterminal("FunctionBody", e0);
|
|
}
|
|
|
|
function try_FunctionBody()
|
|
{
|
|
try_EnclosedExpr();
|
|
}
|
|
|
|
function parse_EnclosedExpr()
|
|
{
|
|
eventHandler.startNonterminal("EnclosedExpr", e0);
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("EnclosedExpr", e0);
|
|
}
|
|
|
|
function try_EnclosedExpr()
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_OptionDecl()
|
|
{
|
|
eventHandler.startNonterminal("OptionDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(69); // S^WS | '(:' | 'option'
|
|
shift(203); // 'option'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
eventHandler.endNonterminal("OptionDecl", e0);
|
|
}
|
|
|
|
function parse_Expr()
|
|
{
|
|
eventHandler.startNonterminal("Expr", e0);
|
|
parse_ExprSingle();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("Expr", e0);
|
|
}
|
|
|
|
function try_Expr()
|
|
{
|
|
try_ExprSingle();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_FLWORExpr()
|
|
{
|
|
eventHandler.startNonterminal("FLWORExpr", e0);
|
|
parse_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 224) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_IntermediateClause();
|
|
}
|
|
whitespace();
|
|
parse_ReturnClause();
|
|
eventHandler.endNonterminal("FLWORExpr", e0);
|
|
}
|
|
|
|
function try_FLWORExpr()
|
|
{
|
|
try_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 224) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
try_IntermediateClause();
|
|
}
|
|
try_ReturnClause();
|
|
}
|
|
|
|
function parse_InitialClause()
|
|
{
|
|
eventHandler.startNonterminal("InitialClause", e0);
|
|
switch (l1)
|
|
{
|
|
case 139: // 'for'
|
|
lookahead2W(151); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16011: // 'for' '$'
|
|
parse_ForClause();
|
|
break;
|
|
case 177: // 'let'
|
|
parse_LetClause();
|
|
break;
|
|
default:
|
|
parse_WindowClause();
|
|
}
|
|
eventHandler.endNonterminal("InitialClause", e0);
|
|
}
|
|
|
|
function try_InitialClause()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 139: // 'for'
|
|
lookahead2W(151); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16011: // 'for' '$'
|
|
try_ForClause();
|
|
break;
|
|
case 177: // 'let'
|
|
try_LetClause();
|
|
break;
|
|
default:
|
|
try_WindowClause();
|
|
}
|
|
}
|
|
|
|
function parse_IntermediateClause()
|
|
{
|
|
eventHandler.startNonterminal("IntermediateClause", e0);
|
|
switch (l1)
|
|
{
|
|
case 139: // 'for'
|
|
case 177: // 'let'
|
|
parse_InitialClause();
|
|
break;
|
|
case 272: // 'where'
|
|
parse_WhereClause();
|
|
break;
|
|
case 150: // 'group'
|
|
parse_GroupByClause();
|
|
break;
|
|
case 106: // 'count'
|
|
parse_CountClause();
|
|
break;
|
|
default:
|
|
parse_OrderByClause();
|
|
}
|
|
eventHandler.endNonterminal("IntermediateClause", e0);
|
|
}
|
|
|
|
function try_IntermediateClause()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 139: // 'for'
|
|
case 177: // 'let'
|
|
try_InitialClause();
|
|
break;
|
|
case 272: // 'where'
|
|
try_WhereClause();
|
|
break;
|
|
case 150: // 'group'
|
|
try_GroupByClause();
|
|
break;
|
|
case 106: // 'count'
|
|
try_CountClause();
|
|
break;
|
|
default:
|
|
try_OrderByClause();
|
|
}
|
|
}
|
|
|
|
function parse_ForClause()
|
|
{
|
|
eventHandler.startNonterminal("ForClause", e0);
|
|
shift(139); // 'for'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_ForBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_ForBinding();
|
|
}
|
|
eventHandler.endNonterminal("ForClause", e0);
|
|
}
|
|
|
|
function try_ForClause()
|
|
{
|
|
shiftT(139); // 'for'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_ForBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_ForBinding();
|
|
}
|
|
}
|
|
|
|
function parse_ForBinding()
|
|
{
|
|
eventHandler.startNonterminal("ForBinding", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(182); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(173); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
|
|
if (l1 == 73) // 'allowing'
|
|
{
|
|
whitespace();
|
|
parse_AllowingEmpty();
|
|
}
|
|
lookahead1W(160); // S^WS | '(:' | 'at' | 'in' | 'score'
|
|
if (l1 == 82) // 'at'
|
|
{
|
|
whitespace();
|
|
parse_PositionalVar();
|
|
}
|
|
lookahead1W(126); // S^WS | '(:' | 'in' | 'score'
|
|
if (l1 == 232) // 'score'
|
|
{
|
|
whitespace();
|
|
parse_FTScoreVar();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shift(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ForBinding", e0);
|
|
}
|
|
|
|
function try_ForBinding()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(182); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(173); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
|
|
if (l1 == 73) // 'allowing'
|
|
{
|
|
try_AllowingEmpty();
|
|
}
|
|
lookahead1W(160); // S^WS | '(:' | 'at' | 'in' | 'score'
|
|
if (l1 == 82) // 'at'
|
|
{
|
|
try_PositionalVar();
|
|
}
|
|
lookahead1W(126); // S^WS | '(:' | 'in' | 'score'
|
|
if (l1 == 232) // 'score'
|
|
{
|
|
try_FTScoreVar();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shiftT(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_AllowingEmpty()
|
|
{
|
|
eventHandler.startNonterminal("AllowingEmpty", e0);
|
|
shift(73); // 'allowing'
|
|
lookahead1W(52); // S^WS | '(:' | 'empty'
|
|
shift(124); // 'empty'
|
|
eventHandler.endNonterminal("AllowingEmpty", e0);
|
|
}
|
|
|
|
function try_AllowingEmpty()
|
|
{
|
|
shiftT(73); // 'allowing'
|
|
lookahead1W(52); // S^WS | '(:' | 'empty'
|
|
shiftT(124); // 'empty'
|
|
}
|
|
|
|
function parse_PositionalVar()
|
|
{
|
|
eventHandler.startNonterminal("PositionalVar", e0);
|
|
shift(82); // 'at'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("PositionalVar", e0);
|
|
}
|
|
|
|
function try_PositionalVar()
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_FTScoreVar()
|
|
{
|
|
eventHandler.startNonterminal("FTScoreVar", e0);
|
|
shift(232); // 'score'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("FTScoreVar", e0);
|
|
}
|
|
|
|
function try_FTScoreVar()
|
|
{
|
|
shiftT(232); // 'score'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_LetClause()
|
|
{
|
|
eventHandler.startNonterminal("LetClause", e0);
|
|
shift(177); // 'let'
|
|
lookahead1W(100); // S^WS | '$' | '(:' | 'score'
|
|
whitespace();
|
|
parse_LetBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(100); // S^WS | '$' | '(:' | 'score'
|
|
whitespace();
|
|
parse_LetBinding();
|
|
}
|
|
eventHandler.endNonterminal("LetClause", e0);
|
|
}
|
|
|
|
function try_LetClause()
|
|
{
|
|
shiftT(177); // 'let'
|
|
lookahead1W(100); // S^WS | '$' | '(:' | 'score'
|
|
try_LetBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(100); // S^WS | '$' | '(:' | 'score'
|
|
try_LetBinding();
|
|
}
|
|
}
|
|
|
|
function parse_LetBinding()
|
|
{
|
|
eventHandler.startNonterminal("LetBinding", e0);
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(109); // S^WS | '(:' | ':=' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
break;
|
|
default:
|
|
parse_FTScoreVar();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("LetBinding", e0);
|
|
}
|
|
|
|
function try_LetBinding()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(109); // S^WS | '(:' | ':=' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
break;
|
|
default:
|
|
try_FTScoreVar();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_WindowClause()
|
|
{
|
|
eventHandler.startNonterminal("WindowClause", e0);
|
|
shift(139); // 'for'
|
|
lookahead1W(139); // S^WS | '(:' | 'sliding' | 'tumbling'
|
|
switch (l1)
|
|
{
|
|
case 257: // 'tumbling'
|
|
whitespace();
|
|
parse_TumblingWindowClause();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_SlidingWindowClause();
|
|
}
|
|
eventHandler.endNonterminal("WindowClause", e0);
|
|
}
|
|
|
|
function try_WindowClause()
|
|
{
|
|
shiftT(139); // 'for'
|
|
lookahead1W(139); // S^WS | '(:' | 'sliding' | 'tumbling'
|
|
switch (l1)
|
|
{
|
|
case 257: // 'tumbling'
|
|
try_TumblingWindowClause();
|
|
break;
|
|
default:
|
|
try_SlidingWindowClause();
|
|
}
|
|
}
|
|
|
|
function parse_TumblingWindowClause()
|
|
{
|
|
eventHandler.startNonterminal("TumblingWindowClause", e0);
|
|
shift(257); // 'tumbling'
|
|
lookahead1W(88); // S^WS | '(:' | 'window'
|
|
shift(275); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shift(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
whitespace();
|
|
parse_WindowStartCondition();
|
|
if (l1 == 127 // 'end'
|
|
|| l1 == 202) // 'only'
|
|
{
|
|
whitespace();
|
|
parse_WindowEndCondition();
|
|
}
|
|
eventHandler.endNonterminal("TumblingWindowClause", e0);
|
|
}
|
|
|
|
function try_TumblingWindowClause()
|
|
{
|
|
shiftT(257); // 'tumbling'
|
|
lookahead1W(88); // S^WS | '(:' | 'window'
|
|
shiftT(275); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shiftT(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
try_WindowStartCondition();
|
|
if (l1 == 127 // 'end'
|
|
|| l1 == 202) // 'only'
|
|
{
|
|
try_WindowEndCondition();
|
|
}
|
|
}
|
|
|
|
function parse_SlidingWindowClause()
|
|
{
|
|
eventHandler.startNonterminal("SlidingWindowClause", e0);
|
|
shift(239); // 'sliding'
|
|
lookahead1W(88); // S^WS | '(:' | 'window'
|
|
shift(275); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shift(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
whitespace();
|
|
parse_WindowStartCondition();
|
|
whitespace();
|
|
parse_WindowEndCondition();
|
|
eventHandler.endNonterminal("SlidingWindowClause", e0);
|
|
}
|
|
|
|
function try_SlidingWindowClause()
|
|
{
|
|
shiftT(239); // 'sliding'
|
|
lookahead1W(88); // S^WS | '(:' | 'window'
|
|
shiftT(275); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shiftT(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
try_WindowStartCondition();
|
|
try_WindowEndCondition();
|
|
}
|
|
|
|
function parse_WindowStartCondition()
|
|
{
|
|
eventHandler.startNonterminal("WindowStartCondition", e0);
|
|
shift(242); // 'start'
|
|
lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
whitespace();
|
|
parse_WindowVars();
|
|
lookahead1W(86); // S^WS | '(:' | 'when'
|
|
shift(271); // 'when'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("WindowStartCondition", e0);
|
|
}
|
|
|
|
function try_WindowStartCondition()
|
|
{
|
|
shiftT(242); // 'start'
|
|
lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
try_WindowVars();
|
|
lookahead1W(86); // S^WS | '(:' | 'when'
|
|
shiftT(271); // 'when'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_WindowEndCondition()
|
|
{
|
|
eventHandler.startNonterminal("WindowEndCondition", e0);
|
|
if (l1 == 202) // 'only'
|
|
{
|
|
shift(202); // 'only'
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'end'
|
|
shift(127); // 'end'
|
|
lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
whitespace();
|
|
parse_WindowVars();
|
|
lookahead1W(86); // S^WS | '(:' | 'when'
|
|
shift(271); // 'when'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("WindowEndCondition", e0);
|
|
}
|
|
|
|
function try_WindowEndCondition()
|
|
{
|
|
if (l1 == 202) // 'only'
|
|
{
|
|
shiftT(202); // 'only'
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'end'
|
|
shiftT(127); // 'end'
|
|
lookahead1W(181); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
try_WindowVars();
|
|
lookahead1W(86); // S^WS | '(:' | 'when'
|
|
shiftT(271); // 'when'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_WindowVars()
|
|
{
|
|
eventHandler.startNonterminal("WindowVars", e0);
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_CurrentItem();
|
|
}
|
|
lookahead1W(174); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
if (l1 == 82) // 'at'
|
|
{
|
|
whitespace();
|
|
parse_PositionalVar();
|
|
}
|
|
lookahead1W(163); // S^WS | '(:' | 'next' | 'previous' | 'when'
|
|
if (l1 == 219) // 'previous'
|
|
{
|
|
shift(219); // 'previous'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_PreviousItem();
|
|
}
|
|
lookahead1W(131); // S^WS | '(:' | 'next' | 'when'
|
|
if (l1 == 190) // 'next'
|
|
{
|
|
shift(190); // 'next'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NextItem();
|
|
}
|
|
eventHandler.endNonterminal("WindowVars", e0);
|
|
}
|
|
|
|
function try_WindowVars()
|
|
{
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CurrentItem();
|
|
}
|
|
lookahead1W(174); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
if (l1 == 82) // 'at'
|
|
{
|
|
try_PositionalVar();
|
|
}
|
|
lookahead1W(163); // S^WS | '(:' | 'next' | 'previous' | 'when'
|
|
if (l1 == 219) // 'previous'
|
|
{
|
|
shiftT(219); // 'previous'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_PreviousItem();
|
|
}
|
|
lookahead1W(131); // S^WS | '(:' | 'next' | 'when'
|
|
if (l1 == 190) // 'next'
|
|
{
|
|
shiftT(190); // 'next'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NextItem();
|
|
}
|
|
}
|
|
|
|
function parse_CurrentItem()
|
|
{
|
|
eventHandler.startNonterminal("CurrentItem", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("CurrentItem", e0);
|
|
}
|
|
|
|
function try_CurrentItem()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_PreviousItem()
|
|
{
|
|
eventHandler.startNonterminal("PreviousItem", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("PreviousItem", e0);
|
|
}
|
|
|
|
function try_PreviousItem()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_NextItem()
|
|
{
|
|
eventHandler.startNonterminal("NextItem", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("NextItem", e0);
|
|
}
|
|
|
|
function try_NextItem()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_CountClause()
|
|
{
|
|
eventHandler.startNonterminal("CountClause", e0);
|
|
shift(106); // 'count'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("CountClause", e0);
|
|
}
|
|
|
|
function try_CountClause()
|
|
{
|
|
shiftT(106); // 'count'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_WhereClause()
|
|
{
|
|
eventHandler.startNonterminal("WhereClause", e0);
|
|
shift(272); // 'where'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("WhereClause", e0);
|
|
}
|
|
|
|
function try_WhereClause()
|
|
{
|
|
shiftT(272); // 'where'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_GroupByClause()
|
|
{
|
|
eventHandler.startNonterminal("GroupByClause", e0);
|
|
shift(150); // 'group'
|
|
lookahead1W(37); // S^WS | '(:' | 'by'
|
|
shift(88); // 'by'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_GroupingSpecList();
|
|
eventHandler.endNonterminal("GroupByClause", e0);
|
|
}
|
|
|
|
function try_GroupByClause()
|
|
{
|
|
shiftT(150); // 'group'
|
|
lookahead1W(37); // S^WS | '(:' | 'by'
|
|
shiftT(88); // 'by'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_GroupingSpecList();
|
|
}
|
|
|
|
function parse_GroupingSpecList()
|
|
{
|
|
eventHandler.startNonterminal("GroupingSpecList", e0);
|
|
parse_GroupingSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_GroupingSpec();
|
|
}
|
|
eventHandler.endNonterminal("GroupingSpecList", e0);
|
|
}
|
|
|
|
function try_GroupingSpecList()
|
|
{
|
|
try_GroupingSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_GroupingSpec();
|
|
}
|
|
}
|
|
|
|
function parse_GroupingSpec()
|
|
{
|
|
eventHandler.startNonterminal("GroupingSpec", e0);
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 3103 // '$' EQName^Token
|
|
|| lk == 36383 // '$' 'after'
|
|
|| lk == 37407 // '$' 'allowing'
|
|
|| lk == 37919 // '$' 'ancestor'
|
|
|| lk == 38431 // '$' 'ancestor-or-self'
|
|
|| lk == 38943 // '$' 'and'
|
|
|| lk == 39967 // '$' 'append'
|
|
|| lk == 40479 // '$' 'array'
|
|
|| lk == 40991 // '$' 'as'
|
|
|| lk == 41503 // '$' 'ascending'
|
|
|| lk == 42015 // '$' 'at'
|
|
|| lk == 42527 // '$' 'attribute'
|
|
|| lk == 43039 // '$' 'base-uri'
|
|
|| lk == 43551 // '$' 'before'
|
|
|| lk == 44063 // '$' 'boundary-space'
|
|
|| lk == 44575 // '$' 'break'
|
|
|| lk == 45599 // '$' 'case'
|
|
|| lk == 46111 // '$' 'cast'
|
|
|| lk == 46623 // '$' 'castable'
|
|
|| lk == 47135 // '$' 'catch'
|
|
|| lk == 48159 // '$' 'child'
|
|
|| lk == 48671 // '$' 'collation'
|
|
|| lk == 49695 // '$' 'comment'
|
|
|| lk == 50207 // '$' 'constraint'
|
|
|| lk == 50719 // '$' 'construction'
|
|
|| lk == 52255 // '$' 'context'
|
|
|| lk == 52767 // '$' 'continue'
|
|
|| lk == 53279 // '$' 'copy'
|
|
|| lk == 53791 // '$' 'copy-namespaces'
|
|
|| lk == 54303 // '$' 'count'
|
|
|| lk == 54815 // '$' 'decimal-format'
|
|
|| lk == 55839 // '$' 'declare'
|
|
|| lk == 56351 // '$' 'default'
|
|
|| lk == 56863 // '$' 'delete'
|
|
|| lk == 57375 // '$' 'descendant'
|
|
|| lk == 57887 // '$' 'descendant-or-self'
|
|
|| lk == 58399 // '$' 'descending'
|
|
|| lk == 60959 // '$' 'div'
|
|
|| lk == 61471 // '$' 'document'
|
|
|| lk == 61983 // '$' 'document-node'
|
|
|| lk == 62495 // '$' 'element'
|
|
|| lk == 63007 // '$' 'else'
|
|
|| lk == 63519 // '$' 'empty'
|
|
|| lk == 64031 // '$' 'empty-sequence'
|
|
|| lk == 64543 // '$' 'encoding'
|
|
|| lk == 65055 // '$' 'end'
|
|
|| lk == 66079 // '$' 'eq'
|
|
|| lk == 66591 // '$' 'every'
|
|
|| lk == 67615 // '$' 'except'
|
|
|| lk == 68127 // '$' 'exit'
|
|
|| lk == 68639 // '$' 'external'
|
|
|| lk == 69151 // '$' 'false'
|
|
|| lk == 69663 // '$' 'first'
|
|
|| lk == 70175 // '$' 'following'
|
|
|| lk == 70687 // '$' 'following-sibling'
|
|
|| lk == 71199 // '$' 'for'
|
|
|| lk == 72735 // '$' 'from'
|
|
|| lk == 73247 // '$' 'ft-option'
|
|
|| lk == 75295 // '$' 'function'
|
|
|| lk == 75807 // '$' 'ge'
|
|
|| lk == 76831 // '$' 'group'
|
|
|| lk == 77855 // '$' 'gt'
|
|
|| lk == 78367 // '$' 'idiv'
|
|
|| lk == 78879 // '$' 'if'
|
|
|| lk == 79391 // '$' 'import'
|
|
|| lk == 79903 // '$' 'in'
|
|
|| lk == 80415 // '$' 'index'
|
|
|| lk == 82463 // '$' 'insert'
|
|
|| lk == 82975 // '$' 'instance'
|
|
|| lk == 83487 // '$' 'integrity'
|
|
|| lk == 83999 // '$' 'intersect'
|
|
|| lk == 84511 // '$' 'into'
|
|
|| lk == 85023 // '$' 'is'
|
|
|| lk == 85535 // '$' 'item'
|
|
|| lk == 86047 // '$' 'json'
|
|
|| lk == 86559 // '$' 'json-item'
|
|
|| lk == 87071 // '$' 'jsoniq'
|
|
|| lk == 88607 // '$' 'last'
|
|
|| lk == 89119 // '$' 'lax'
|
|
|| lk == 89631 // '$' 'le'
|
|
|| lk == 90655 // '$' 'let'
|
|
|| lk == 91679 // '$' 'loop'
|
|
|| lk == 92703 // '$' 'lt'
|
|
|| lk == 93727 // '$' 'mod'
|
|
|| lk == 94239 // '$' 'modify'
|
|
|| lk == 94751 // '$' 'module'
|
|
|| lk == 95775 // '$' 'namespace'
|
|
|| lk == 96287 // '$' 'namespace-node'
|
|
|| lk == 96799 // '$' 'ne'
|
|
|| lk == 99359 // '$' 'node'
|
|
|| lk == 99871 // '$' 'nodes'
|
|
|| lk == 100895 // '$' 'null'
|
|
|| lk == 101407 // '$' 'object'
|
|
|| lk == 103455 // '$' 'only'
|
|
|| lk == 103967 // '$' 'option'
|
|
|| lk == 104479 // '$' 'or'
|
|
|| lk == 104991 // '$' 'order'
|
|
|| lk == 105503 // '$' 'ordered'
|
|
|| lk == 106015 // '$' 'ordering'
|
|
|| lk == 107551 // '$' 'parent'
|
|
|| lk == 110623 // '$' 'preceding'
|
|
|| lk == 111135 // '$' 'preceding-sibling'
|
|
|| lk == 112671 // '$' 'processing-instruction'
|
|
|| lk == 113695 // '$' 'rename'
|
|
|| lk == 114207 // '$' 'replace'
|
|
|| lk == 114719 // '$' 'return'
|
|
|| lk == 115231 // '$' 'returning'
|
|
|| lk == 115743 // '$' 'revalidation'
|
|
|| lk == 116767 // '$' 'satisfies'
|
|
|| lk == 117279 // '$' 'schema'
|
|
|| lk == 117791 // '$' 'schema-attribute'
|
|
|| lk == 118303 // '$' 'schema-element'
|
|
|| lk == 118815 // '$' 'score'
|
|
|| lk == 119327 // '$' 'select'
|
|
|| lk == 119839 // '$' 'self'
|
|
|| lk == 122399 // '$' 'sliding'
|
|
|| lk == 122911 // '$' 'some'
|
|
|| lk == 123423 // '$' 'stable'
|
|
|| lk == 123935 // '$' 'start'
|
|
|| lk == 125471 // '$' 'strict'
|
|
|| lk == 126495 // '$' 'structured-item'
|
|
|| lk == 127007 // '$' 'switch'
|
|
|| lk == 127519 // '$' 'text'
|
|
|| lk == 129567 // '$' 'to'
|
|
|| lk == 130079 // '$' 'treat'
|
|
|| lk == 130591 // '$' 'true'
|
|
|| lk == 131103 // '$' 'try'
|
|
|| lk == 131615 // '$' 'tumbling'
|
|
|| lk == 132127 // '$' 'type'
|
|
|| lk == 132639 // '$' 'typeswitch'
|
|
|| lk == 133151 // '$' 'union'
|
|
|| lk == 134175 // '$' 'unordered'
|
|
|| lk == 134687 // '$' 'updating'
|
|
|| lk == 136223 // '$' 'validate'
|
|
|| lk == 136735 // '$' 'value'
|
|
|| lk == 137247 // '$' 'variable'
|
|
|| lk == 137759 // '$' 'version'
|
|
|| lk == 139295 // '$' 'where'
|
|
|| lk == 139807 // '$' 'while'
|
|
|| lk == 141343) // '$' 'with'
|
|
{
|
|
lk = memoized(2, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_GroupingVariable();
|
|
lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 53 // ':='
|
|
|| l1 == 80) // 'as'
|
|
{
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
if (l1 == 95) // 'collation'
|
|
{
|
|
shiftT(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(2, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
parse_GroupingVariable();
|
|
lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 53 // ':='
|
|
|| l1 == 80) // 'as'
|
|
{
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
if (l1 == 95) // 'collation'
|
|
{
|
|
shift(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
break;
|
|
default:
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("GroupingSpec", e0);
|
|
}
|
|
|
|
function try_GroupingSpec()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 3103 // '$' EQName^Token
|
|
|| lk == 36383 // '$' 'after'
|
|
|| lk == 37407 // '$' 'allowing'
|
|
|| lk == 37919 // '$' 'ancestor'
|
|
|| lk == 38431 // '$' 'ancestor-or-self'
|
|
|| lk == 38943 // '$' 'and'
|
|
|| lk == 39967 // '$' 'append'
|
|
|| lk == 40479 // '$' 'array'
|
|
|| lk == 40991 // '$' 'as'
|
|
|| lk == 41503 // '$' 'ascending'
|
|
|| lk == 42015 // '$' 'at'
|
|
|| lk == 42527 // '$' 'attribute'
|
|
|| lk == 43039 // '$' 'base-uri'
|
|
|| lk == 43551 // '$' 'before'
|
|
|| lk == 44063 // '$' 'boundary-space'
|
|
|| lk == 44575 // '$' 'break'
|
|
|| lk == 45599 // '$' 'case'
|
|
|| lk == 46111 // '$' 'cast'
|
|
|| lk == 46623 // '$' 'castable'
|
|
|| lk == 47135 // '$' 'catch'
|
|
|| lk == 48159 // '$' 'child'
|
|
|| lk == 48671 // '$' 'collation'
|
|
|| lk == 49695 // '$' 'comment'
|
|
|| lk == 50207 // '$' 'constraint'
|
|
|| lk == 50719 // '$' 'construction'
|
|
|| lk == 52255 // '$' 'context'
|
|
|| lk == 52767 // '$' 'continue'
|
|
|| lk == 53279 // '$' 'copy'
|
|
|| lk == 53791 // '$' 'copy-namespaces'
|
|
|| lk == 54303 // '$' 'count'
|
|
|| lk == 54815 // '$' 'decimal-format'
|
|
|| lk == 55839 // '$' 'declare'
|
|
|| lk == 56351 // '$' 'default'
|
|
|| lk == 56863 // '$' 'delete'
|
|
|| lk == 57375 // '$' 'descendant'
|
|
|| lk == 57887 // '$' 'descendant-or-self'
|
|
|| lk == 58399 // '$' 'descending'
|
|
|| lk == 60959 // '$' 'div'
|
|
|| lk == 61471 // '$' 'document'
|
|
|| lk == 61983 // '$' 'document-node'
|
|
|| lk == 62495 // '$' 'element'
|
|
|| lk == 63007 // '$' 'else'
|
|
|| lk == 63519 // '$' 'empty'
|
|
|| lk == 64031 // '$' 'empty-sequence'
|
|
|| lk == 64543 // '$' 'encoding'
|
|
|| lk == 65055 // '$' 'end'
|
|
|| lk == 66079 // '$' 'eq'
|
|
|| lk == 66591 // '$' 'every'
|
|
|| lk == 67615 // '$' 'except'
|
|
|| lk == 68127 // '$' 'exit'
|
|
|| lk == 68639 // '$' 'external'
|
|
|| lk == 69151 // '$' 'false'
|
|
|| lk == 69663 // '$' 'first'
|
|
|| lk == 70175 // '$' 'following'
|
|
|| lk == 70687 // '$' 'following-sibling'
|
|
|| lk == 71199 // '$' 'for'
|
|
|| lk == 72735 // '$' 'from'
|
|
|| lk == 73247 // '$' 'ft-option'
|
|
|| lk == 75295 // '$' 'function'
|
|
|| lk == 75807 // '$' 'ge'
|
|
|| lk == 76831 // '$' 'group'
|
|
|| lk == 77855 // '$' 'gt'
|
|
|| lk == 78367 // '$' 'idiv'
|
|
|| lk == 78879 // '$' 'if'
|
|
|| lk == 79391 // '$' 'import'
|
|
|| lk == 79903 // '$' 'in'
|
|
|| lk == 80415 // '$' 'index'
|
|
|| lk == 82463 // '$' 'insert'
|
|
|| lk == 82975 // '$' 'instance'
|
|
|| lk == 83487 // '$' 'integrity'
|
|
|| lk == 83999 // '$' 'intersect'
|
|
|| lk == 84511 // '$' 'into'
|
|
|| lk == 85023 // '$' 'is'
|
|
|| lk == 85535 // '$' 'item'
|
|
|| lk == 86047 // '$' 'json'
|
|
|| lk == 86559 // '$' 'json-item'
|
|
|| lk == 87071 // '$' 'jsoniq'
|
|
|| lk == 88607 // '$' 'last'
|
|
|| lk == 89119 // '$' 'lax'
|
|
|| lk == 89631 // '$' 'le'
|
|
|| lk == 90655 // '$' 'let'
|
|
|| lk == 91679 // '$' 'loop'
|
|
|| lk == 92703 // '$' 'lt'
|
|
|| lk == 93727 // '$' 'mod'
|
|
|| lk == 94239 // '$' 'modify'
|
|
|| lk == 94751 // '$' 'module'
|
|
|| lk == 95775 // '$' 'namespace'
|
|
|| lk == 96287 // '$' 'namespace-node'
|
|
|| lk == 96799 // '$' 'ne'
|
|
|| lk == 99359 // '$' 'node'
|
|
|| lk == 99871 // '$' 'nodes'
|
|
|| lk == 100895 // '$' 'null'
|
|
|| lk == 101407 // '$' 'object'
|
|
|| lk == 103455 // '$' 'only'
|
|
|| lk == 103967 // '$' 'option'
|
|
|| lk == 104479 // '$' 'or'
|
|
|| lk == 104991 // '$' 'order'
|
|
|| lk == 105503 // '$' 'ordered'
|
|
|| lk == 106015 // '$' 'ordering'
|
|
|| lk == 107551 // '$' 'parent'
|
|
|| lk == 110623 // '$' 'preceding'
|
|
|| lk == 111135 // '$' 'preceding-sibling'
|
|
|| lk == 112671 // '$' 'processing-instruction'
|
|
|| lk == 113695 // '$' 'rename'
|
|
|| lk == 114207 // '$' 'replace'
|
|
|| lk == 114719 // '$' 'return'
|
|
|| lk == 115231 // '$' 'returning'
|
|
|| lk == 115743 // '$' 'revalidation'
|
|
|| lk == 116767 // '$' 'satisfies'
|
|
|| lk == 117279 // '$' 'schema'
|
|
|| lk == 117791 // '$' 'schema-attribute'
|
|
|| lk == 118303 // '$' 'schema-element'
|
|
|| lk == 118815 // '$' 'score'
|
|
|| lk == 119327 // '$' 'select'
|
|
|| lk == 119839 // '$' 'self'
|
|
|| lk == 122399 // '$' 'sliding'
|
|
|| lk == 122911 // '$' 'some'
|
|
|| lk == 123423 // '$' 'stable'
|
|
|| lk == 123935 // '$' 'start'
|
|
|| lk == 125471 // '$' 'strict'
|
|
|| lk == 126495 // '$' 'structured-item'
|
|
|| lk == 127007 // '$' 'switch'
|
|
|| lk == 127519 // '$' 'text'
|
|
|| lk == 129567 // '$' 'to'
|
|
|| lk == 130079 // '$' 'treat'
|
|
|| lk == 130591 // '$' 'true'
|
|
|| lk == 131103 // '$' 'try'
|
|
|| lk == 131615 // '$' 'tumbling'
|
|
|| lk == 132127 // '$' 'type'
|
|
|| lk == 132639 // '$' 'typeswitch'
|
|
|| lk == 133151 // '$' 'union'
|
|
|| lk == 134175 // '$' 'unordered'
|
|
|| lk == 134687 // '$' 'updating'
|
|
|| lk == 136223 // '$' 'validate'
|
|
|| lk == 136735 // '$' 'value'
|
|
|| lk == 137247 // '$' 'variable'
|
|
|| lk == 137759 // '$' 'version'
|
|
|| lk == 139295 // '$' 'where'
|
|
|| lk == 139807 // '$' 'while'
|
|
|| lk == 141343) // '$' 'with'
|
|
{
|
|
lk = memoized(2, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_GroupingVariable();
|
|
lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 53 // ':='
|
|
|| l1 == 80) // 'as'
|
|
{
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
if (l1 == 95) // 'collation'
|
|
{
|
|
shiftT(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
memoize(2, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(2, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
try_GroupingVariable();
|
|
lookahead1W(205); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 53 // ':='
|
|
|| l1 == 80) // 'as'
|
|
{
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
if (l1 == 95) // 'collation'
|
|
{
|
|
shiftT(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_GroupingVariable()
|
|
{
|
|
eventHandler.startNonterminal("GroupingVariable", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("GroupingVariable", e0);
|
|
}
|
|
|
|
function try_GroupingVariable()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_OrderByClause()
|
|
{
|
|
eventHandler.startNonterminal("OrderByClause", e0);
|
|
switch (l1)
|
|
{
|
|
case 205: // 'order'
|
|
shift(205); // 'order'
|
|
lookahead1W(37); // S^WS | '(:' | 'by'
|
|
shift(88); // 'by'
|
|
break;
|
|
default:
|
|
shift(241); // 'stable'
|
|
lookahead1W(70); // S^WS | '(:' | 'order'
|
|
shift(205); // 'order'
|
|
lookahead1W(37); // S^WS | '(:' | 'by'
|
|
shift(88); // 'by'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_OrderSpecList();
|
|
eventHandler.endNonterminal("OrderByClause", e0);
|
|
}
|
|
|
|
function try_OrderByClause()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 205: // 'order'
|
|
shiftT(205); // 'order'
|
|
lookahead1W(37); // S^WS | '(:' | 'by'
|
|
shiftT(88); // 'by'
|
|
break;
|
|
default:
|
|
shiftT(241); // 'stable'
|
|
lookahead1W(70); // S^WS | '(:' | 'order'
|
|
shiftT(205); // 'order'
|
|
lookahead1W(37); // S^WS | '(:' | 'by'
|
|
shiftT(88); // 'by'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_OrderSpecList();
|
|
}
|
|
|
|
function parse_OrderSpecList()
|
|
{
|
|
eventHandler.startNonterminal("OrderSpecList", e0);
|
|
parse_OrderSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_OrderSpec();
|
|
}
|
|
eventHandler.endNonterminal("OrderSpecList", e0);
|
|
}
|
|
|
|
function try_OrderSpecList()
|
|
{
|
|
try_OrderSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(198); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_OrderSpec();
|
|
}
|
|
}
|
|
|
|
function parse_OrderSpec()
|
|
{
|
|
eventHandler.startNonterminal("OrderSpec", e0);
|
|
parse_ExprSingle();
|
|
whitespace();
|
|
parse_OrderModifier();
|
|
eventHandler.endNonterminal("OrderSpec", e0);
|
|
}
|
|
|
|
function try_OrderSpec()
|
|
{
|
|
try_ExprSingle();
|
|
try_OrderModifier();
|
|
}
|
|
|
|
function parse_OrderModifier()
|
|
{
|
|
eventHandler.startNonterminal("OrderModifier", e0);
|
|
if (l1 == 81 // 'ascending'
|
|
|| l1 == 114) // 'descending'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 81: // 'ascending'
|
|
shift(81); // 'ascending'
|
|
break;
|
|
default:
|
|
shift(114); // 'descending'
|
|
}
|
|
}
|
|
lookahead1W(202); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
|
|
if (l1 == 124) // 'empty'
|
|
{
|
|
shift(124); // 'empty'
|
|
lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 149: // 'greatest'
|
|
shift(149); // 'greatest'
|
|
break;
|
|
default:
|
|
shift(176); // 'least'
|
|
}
|
|
}
|
|
lookahead1W(199); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
|
|
if (l1 == 95) // 'collation'
|
|
{
|
|
shift(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
eventHandler.endNonterminal("OrderModifier", e0);
|
|
}
|
|
|
|
function try_OrderModifier()
|
|
{
|
|
if (l1 == 81 // 'ascending'
|
|
|| l1 == 114) // 'descending'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 81: // 'ascending'
|
|
shiftT(81); // 'ascending'
|
|
break;
|
|
default:
|
|
shiftT(114); // 'descending'
|
|
}
|
|
}
|
|
lookahead1W(202); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
|
|
if (l1 == 124) // 'empty'
|
|
{
|
|
shiftT(124); // 'empty'
|
|
lookahead1W(125); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 149: // 'greatest'
|
|
shiftT(149); // 'greatest'
|
|
break;
|
|
default:
|
|
shiftT(176); // 'least'
|
|
}
|
|
}
|
|
lookahead1W(199); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
|
|
if (l1 == 95) // 'collation'
|
|
{
|
|
shiftT(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
}
|
|
|
|
function parse_ReturnClause()
|
|
{
|
|
eventHandler.startNonterminal("ReturnClause", e0);
|
|
shift(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ReturnClause", e0);
|
|
}
|
|
|
|
function try_ReturnClause()
|
|
{
|
|
shiftT(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_QuantifiedExpr()
|
|
{
|
|
eventHandler.startNonterminal("QuantifiedExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 240: // 'some'
|
|
shift(240); // 'some'
|
|
break;
|
|
default:
|
|
shift(130); // 'every'
|
|
}
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_QuantifiedVarDecl();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_QuantifiedVarDecl();
|
|
}
|
|
shift(228); // 'satisfies'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("QuantifiedExpr", e0);
|
|
}
|
|
|
|
function try_QuantifiedExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 240: // 'some'
|
|
shiftT(240); // 'some'
|
|
break;
|
|
default:
|
|
shiftT(130); // 'every'
|
|
}
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_QuantifiedVarDecl();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_QuantifiedVarDecl();
|
|
}
|
|
shiftT(228); // 'satisfies'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_QuantifiedVarDecl()
|
|
{
|
|
eventHandler.startNonterminal("QuantifiedVarDecl", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shift(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("QuantifiedVarDecl", e0);
|
|
}
|
|
|
|
function try_QuantifiedVarDecl()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(114); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shiftT(156); // 'in'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SwitchExpr()
|
|
{
|
|
eventHandler.startNonterminal("SwitchExpr", e0);
|
|
shift(248); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_SwitchCaseClause();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(110); // 'default'
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shift(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SwitchExpr", e0);
|
|
}
|
|
|
|
function try_SwitchExpr()
|
|
{
|
|
shiftT(248); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
try_SwitchCaseClause();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(110); // 'default'
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shiftT(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SwitchCaseClause()
|
|
{
|
|
eventHandler.startNonterminal("SwitchCaseClause", e0);
|
|
for (;;)
|
|
{
|
|
shift(89); // 'case'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_SwitchCaseOperand();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SwitchCaseClause", e0);
|
|
}
|
|
|
|
function try_SwitchCaseClause()
|
|
{
|
|
for (;;)
|
|
{
|
|
shiftT(89); // 'case'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_SwitchCaseOperand();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SwitchCaseOperand()
|
|
{
|
|
eventHandler.startNonterminal("SwitchCaseOperand", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SwitchCaseOperand", e0);
|
|
}
|
|
|
|
function try_SwitchCaseOperand()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TypeswitchExpr()
|
|
{
|
|
eventHandler.startNonterminal("TypeswitchExpr", e0);
|
|
shift(259); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_CaseClause();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(110); // 'default'
|
|
lookahead1W(99); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
}
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shift(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TypeswitchExpr", e0);
|
|
}
|
|
|
|
function try_TypeswitchExpr()
|
|
{
|
|
shiftT(259); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
try_CaseClause();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(110); // 'default'
|
|
lookahead1W(99); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shiftT(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_CaseClause()
|
|
{
|
|
eventHandler.startNonterminal("CaseClause", e0);
|
|
shift(89); // 'case'
|
|
lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shift(80); // 'as'
|
|
}
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceTypeUnion();
|
|
shift(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("CaseClause", e0);
|
|
}
|
|
|
|
function try_CaseClause()
|
|
{
|
|
shiftT(89); // 'case'
|
|
lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shiftT(80); // 'as'
|
|
}
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceTypeUnion();
|
|
shiftT(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SequenceTypeUnion()
|
|
{
|
|
eventHandler.startNonterminal("SequenceTypeUnion", e0);
|
|
parse_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(138); // S^WS | '(:' | 'return' | '|'
|
|
if (l1 != 284) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shift(284); // '|'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
eventHandler.endNonterminal("SequenceTypeUnion", e0);
|
|
}
|
|
|
|
function try_SequenceTypeUnion()
|
|
{
|
|
try_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(138); // S^WS | '(:' | 'return' | '|'
|
|
if (l1 != 284) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(284); // '|'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
|
|
function parse_IfExpr()
|
|
{
|
|
eventHandler.startNonterminal("IfExpr", e0);
|
|
shift(154); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(38); // ')'
|
|
lookahead1W(80); // S^WS | '(:' | 'then'
|
|
shift(250); // 'then'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(123); // 'else'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("IfExpr", e0);
|
|
}
|
|
|
|
function try_IfExpr()
|
|
{
|
|
shiftT(154); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(38); // ')'
|
|
lookahead1W(80); // S^WS | '(:' | 'then'
|
|
shiftT(250); // 'then'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(123); // 'else'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TryCatchExpr()
|
|
{
|
|
eventHandler.startNonterminal("TryCatchExpr", e0);
|
|
parse_TryClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(39); // S^WS | '(:' | 'catch'
|
|
whitespace();
|
|
parse_CatchClause();
|
|
lookahead1W(207); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
|
|
if (l1 != 92) // 'catch'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("TryCatchExpr", e0);
|
|
}
|
|
|
|
function try_TryCatchExpr()
|
|
{
|
|
try_TryClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(39); // S^WS | '(:' | 'catch'
|
|
try_CatchClause();
|
|
lookahead1W(207); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
|
|
if (l1 != 92) // 'catch'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_TryClause()
|
|
{
|
|
eventHandler.startNonterminal("TryClause", e0);
|
|
shift(256); // 'try'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_TryTargetExpr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("TryClause", e0);
|
|
}
|
|
|
|
function try_TryClause()
|
|
{
|
|
shiftT(256); // 'try'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_TryTargetExpr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_TryTargetExpr()
|
|
{
|
|
eventHandler.startNonterminal("TryTargetExpr", e0);
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("TryTargetExpr", e0);
|
|
}
|
|
|
|
function try_TryTargetExpr()
|
|
{
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_CatchClause()
|
|
{
|
|
eventHandler.startNonterminal("CatchClause", e0);
|
|
shift(92); // 'catch'
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_CatchErrorList();
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("CatchClause", e0);
|
|
}
|
|
|
|
function try_CatchClause()
|
|
{
|
|
shiftT(92); // 'catch'
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CatchErrorList();
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_CatchErrorList()
|
|
{
|
|
eventHandler.startNonterminal("CatchErrorList", e0);
|
|
parse_NameTest();
|
|
for (;;)
|
|
{
|
|
lookahead1W(140); // S^WS | '(:' | '{' | '|'
|
|
if (l1 != 284) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shift(284); // '|'
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NameTest();
|
|
}
|
|
eventHandler.endNonterminal("CatchErrorList", e0);
|
|
}
|
|
|
|
function try_CatchErrorList()
|
|
{
|
|
try_NameTest();
|
|
for (;;)
|
|
{
|
|
lookahead1W(140); // S^WS | '(:' | '{' | '|'
|
|
if (l1 != 284) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(284); // '|'
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NameTest();
|
|
}
|
|
}
|
|
|
|
function parse_OrExpr()
|
|
{
|
|
eventHandler.startNonterminal("OrExpr", e0);
|
|
parse_AndExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 204) // 'or'
|
|
{
|
|
break;
|
|
}
|
|
shift(204); // 'or'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AndExpr();
|
|
}
|
|
eventHandler.endNonterminal("OrExpr", e0);
|
|
}
|
|
|
|
function try_OrExpr()
|
|
{
|
|
try_AndExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 204) // 'or'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(204); // 'or'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AndExpr();
|
|
}
|
|
}
|
|
|
|
function parse_AndExpr()
|
|
{
|
|
eventHandler.startNonterminal("AndExpr", e0);
|
|
parse_NotExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 76) // 'and'
|
|
{
|
|
break;
|
|
}
|
|
shift(76); // 'and'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_NotExpr();
|
|
}
|
|
eventHandler.endNonterminal("AndExpr", e0);
|
|
}
|
|
|
|
function try_AndExpr()
|
|
{
|
|
try_NotExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 76) // 'and'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(76); // 'and'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_NotExpr();
|
|
}
|
|
}
|
|
|
|
function parse_NotExpr()
|
|
{
|
|
eventHandler.startNonterminal("NotExpr", e0);
|
|
if (l1 == 196) // 'not'
|
|
{
|
|
shift(196); // 'not'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ComparisonExpr();
|
|
eventHandler.endNonterminal("NotExpr", e0);
|
|
}
|
|
|
|
function try_NotExpr()
|
|
{
|
|
if (l1 == 196) // 'not'
|
|
{
|
|
shiftT(196); // 'not'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ComparisonExpr();
|
|
}
|
|
|
|
function parse_ComparisonExpr()
|
|
{
|
|
eventHandler.startNonterminal("ComparisonExpr", e0);
|
|
parse_FTContainsExpr();
|
|
if (l1 == 27 // '!='
|
|
|| l1 == 55 // '<'
|
|
|| l1 == 58 // '<<'
|
|
|| l1 == 59 // '<='
|
|
|| l1 == 61 // '='
|
|
|| l1 == 62 // '>'
|
|
|| l1 == 63 // '>='
|
|
|| l1 == 64 // '>>'
|
|
|| l1 == 129 // 'eq'
|
|
|| l1 == 148 // 'ge'
|
|
|| l1 == 152 // 'gt'
|
|
|| l1 == 166 // 'is'
|
|
|| l1 == 175 // 'le'
|
|
|| l1 == 181 // 'lt'
|
|
|| l1 == 189) // 'ne'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 129: // 'eq'
|
|
case 148: // 'ge'
|
|
case 152: // 'gt'
|
|
case 175: // 'le'
|
|
case 181: // 'lt'
|
|
case 189: // 'ne'
|
|
whitespace();
|
|
parse_ValueComp();
|
|
break;
|
|
case 58: // '<<'
|
|
case 64: // '>>'
|
|
case 166: // 'is'
|
|
whitespace();
|
|
parse_NodeComp();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_GeneralComp();
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_FTContainsExpr();
|
|
}
|
|
eventHandler.endNonterminal("ComparisonExpr", e0);
|
|
}
|
|
|
|
function try_ComparisonExpr()
|
|
{
|
|
try_FTContainsExpr();
|
|
if (l1 == 27 // '!='
|
|
|| l1 == 55 // '<'
|
|
|| l1 == 58 // '<<'
|
|
|| l1 == 59 // '<='
|
|
|| l1 == 61 // '='
|
|
|| l1 == 62 // '>'
|
|
|| l1 == 63 // '>='
|
|
|| l1 == 64 // '>>'
|
|
|| l1 == 129 // 'eq'
|
|
|| l1 == 148 // 'ge'
|
|
|| l1 == 152 // 'gt'
|
|
|| l1 == 166 // 'is'
|
|
|| l1 == 175 // 'le'
|
|
|| l1 == 181 // 'lt'
|
|
|| l1 == 189) // 'ne'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 129: // 'eq'
|
|
case 148: // 'ge'
|
|
case 152: // 'gt'
|
|
case 175: // 'le'
|
|
case 181: // 'lt'
|
|
case 189: // 'ne'
|
|
try_ValueComp();
|
|
break;
|
|
case 58: // '<<'
|
|
case 64: // '>>'
|
|
case 166: // 'is'
|
|
try_NodeComp();
|
|
break;
|
|
default:
|
|
try_GeneralComp();
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_FTContainsExpr();
|
|
}
|
|
}
|
|
|
|
function parse_FTContainsExpr()
|
|
{
|
|
eventHandler.startNonterminal("FTContainsExpr", e0);
|
|
parse_StringConcatExpr();
|
|
if (l1 == 100) // 'contains'
|
|
{
|
|
shift(100); // 'contains'
|
|
lookahead1W(79); // S^WS | '(:' | 'text'
|
|
shift(249); // 'text'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTSelection();
|
|
if (l1 == 277) // 'without'
|
|
{
|
|
whitespace();
|
|
parse_FTIgnoreOption();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("FTContainsExpr", e0);
|
|
}
|
|
|
|
function try_FTContainsExpr()
|
|
{
|
|
try_StringConcatExpr();
|
|
if (l1 == 100) // 'contains'
|
|
{
|
|
shiftT(100); // 'contains'
|
|
lookahead1W(79); // S^WS | '(:' | 'text'
|
|
shiftT(249); // 'text'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTSelection();
|
|
if (l1 == 277) // 'without'
|
|
{
|
|
try_FTIgnoreOption();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_StringConcatExpr()
|
|
{
|
|
eventHandler.startNonterminal("StringConcatExpr", e0);
|
|
parse_RangeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 285) // '||'
|
|
{
|
|
break;
|
|
}
|
|
shift(285); // '||'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_RangeExpr();
|
|
}
|
|
eventHandler.endNonterminal("StringConcatExpr", e0);
|
|
}
|
|
|
|
function try_StringConcatExpr()
|
|
{
|
|
try_RangeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 285) // '||'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(285); // '||'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_RangeExpr();
|
|
}
|
|
}
|
|
|
|
function parse_RangeExpr()
|
|
{
|
|
eventHandler.startNonterminal("RangeExpr", e0);
|
|
parse_AdditiveExpr();
|
|
if (l1 == 253) // 'to'
|
|
{
|
|
shift(253); // 'to'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
}
|
|
eventHandler.endNonterminal("RangeExpr", e0);
|
|
}
|
|
|
|
function try_RangeExpr()
|
|
{
|
|
try_AdditiveExpr();
|
|
if (l1 == 253) // 'to'
|
|
{
|
|
shiftT(253); // 'to'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AdditiveExpr();
|
|
}
|
|
}
|
|
|
|
function parse_AdditiveExpr()
|
|
{
|
|
eventHandler.startNonterminal("AdditiveExpr", e0);
|
|
parse_MultiplicativeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41 // '+'
|
|
&& l1 != 43) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 41: // '+'
|
|
shift(41); // '+'
|
|
break;
|
|
default:
|
|
shift(43); // '-'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_MultiplicativeExpr();
|
|
}
|
|
eventHandler.endNonterminal("AdditiveExpr", e0);
|
|
}
|
|
|
|
function try_AdditiveExpr()
|
|
{
|
|
try_MultiplicativeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41 // '+'
|
|
&& l1 != 43) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 41: // '+'
|
|
shiftT(41); // '+'
|
|
break;
|
|
default:
|
|
shiftT(43); // '-'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_MultiplicativeExpr();
|
|
}
|
|
}
|
|
|
|
function parse_MultiplicativeExpr()
|
|
{
|
|
eventHandler.startNonterminal("MultiplicativeExpr", e0);
|
|
parse_UnionExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 39 // '*'
|
|
&& l1 != 119 // 'div'
|
|
&& l1 != 153 // 'idiv'
|
|
&& l1 != 183) // 'mod'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
shift(39); // '*'
|
|
break;
|
|
case 119: // 'div'
|
|
shift(119); // 'div'
|
|
break;
|
|
case 153: // 'idiv'
|
|
shift(153); // 'idiv'
|
|
break;
|
|
default:
|
|
shift(183); // 'mod'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_UnionExpr();
|
|
}
|
|
eventHandler.endNonterminal("MultiplicativeExpr", e0);
|
|
}
|
|
|
|
function try_MultiplicativeExpr()
|
|
{
|
|
try_UnionExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 39 // '*'
|
|
&& l1 != 119 // 'div'
|
|
&& l1 != 153 // 'idiv'
|
|
&& l1 != 183) // 'mod'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
shiftT(39); // '*'
|
|
break;
|
|
case 119: // 'div'
|
|
shiftT(119); // 'div'
|
|
break;
|
|
case 153: // 'idiv'
|
|
shiftT(153); // 'idiv'
|
|
break;
|
|
default:
|
|
shiftT(183); // 'mod'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_UnionExpr();
|
|
}
|
|
}
|
|
|
|
function parse_UnionExpr()
|
|
{
|
|
eventHandler.startNonterminal("UnionExpr", e0);
|
|
parse_IntersectExceptExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 260 // 'union'
|
|
&& l1 != 284) // '|'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 260: // 'union'
|
|
shift(260); // 'union'
|
|
break;
|
|
default:
|
|
shift(284); // '|'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_IntersectExceptExpr();
|
|
}
|
|
eventHandler.endNonterminal("UnionExpr", e0);
|
|
}
|
|
|
|
function try_UnionExpr()
|
|
{
|
|
try_IntersectExceptExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 260 // 'union'
|
|
&& l1 != 284) // '|'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 260: // 'union'
|
|
shiftT(260); // 'union'
|
|
break;
|
|
default:
|
|
shiftT(284); // '|'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_IntersectExceptExpr();
|
|
}
|
|
}
|
|
|
|
function parse_IntersectExceptExpr()
|
|
{
|
|
eventHandler.startNonterminal("IntersectExceptExpr", e0);
|
|
parse_InstanceofExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 != 132 // 'except'
|
|
&& l1 != 164) // 'intersect'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 164: // 'intersect'
|
|
shift(164); // 'intersect'
|
|
break;
|
|
default:
|
|
shift(132); // 'except'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_InstanceofExpr();
|
|
}
|
|
eventHandler.endNonterminal("IntersectExceptExpr", e0);
|
|
}
|
|
|
|
function try_IntersectExceptExpr()
|
|
{
|
|
try_InstanceofExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 != 132 // 'except'
|
|
&& l1 != 164) // 'intersect'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 164: // 'intersect'
|
|
shiftT(164); // 'intersect'
|
|
break;
|
|
default:
|
|
shiftT(132); // 'except'
|
|
}
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_InstanceofExpr();
|
|
}
|
|
}
|
|
|
|
function parse_InstanceofExpr()
|
|
{
|
|
eventHandler.startNonterminal("InstanceofExpr", e0);
|
|
parse_TreatExpr();
|
|
lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 162) // 'instance'
|
|
{
|
|
shift(162); // 'instance'
|
|
lookahead1W(67); // S^WS | '(:' | 'of'
|
|
shift(200); // 'of'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
eventHandler.endNonterminal("InstanceofExpr", e0);
|
|
}
|
|
|
|
function try_InstanceofExpr()
|
|
{
|
|
try_TreatExpr();
|
|
lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 162) // 'instance'
|
|
{
|
|
shiftT(162); // 'instance'
|
|
lookahead1W(67); // S^WS | '(:' | 'of'
|
|
shiftT(200); // 'of'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
|
|
function parse_TreatExpr()
|
|
{
|
|
eventHandler.startNonterminal("TreatExpr", e0);
|
|
parse_CastableExpr();
|
|
lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 254) // 'treat'
|
|
{
|
|
shift(254); // 'treat'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shift(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
eventHandler.endNonterminal("TreatExpr", e0);
|
|
}
|
|
|
|
function try_TreatExpr()
|
|
{
|
|
try_CastableExpr();
|
|
lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 254) // 'treat'
|
|
{
|
|
shiftT(254); // 'treat'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shiftT(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
|
|
function parse_CastableExpr()
|
|
{
|
|
eventHandler.startNonterminal("CastableExpr", e0);
|
|
parse_CastExpr();
|
|
lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 91) // 'castable'
|
|
{
|
|
shift(91); // 'castable'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shift(80); // 'as'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SingleType();
|
|
}
|
|
eventHandler.endNonterminal("CastableExpr", e0);
|
|
}
|
|
|
|
function try_CastableExpr()
|
|
{
|
|
try_CastExpr();
|
|
lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 91) // 'castable'
|
|
{
|
|
shiftT(91); // 'castable'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shiftT(80); // 'as'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SingleType();
|
|
}
|
|
}
|
|
|
|
function parse_CastExpr()
|
|
{
|
|
eventHandler.startNonterminal("CastExpr", e0);
|
|
parse_UnaryExpr();
|
|
lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 90) // 'cast'
|
|
{
|
|
shift(90); // 'cast'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shift(80); // 'as'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SingleType();
|
|
}
|
|
eventHandler.endNonterminal("CastExpr", e0);
|
|
}
|
|
|
|
function try_CastExpr()
|
|
{
|
|
try_UnaryExpr();
|
|
lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 90) // 'cast'
|
|
{
|
|
shiftT(90); // 'cast'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shiftT(80); // 'as'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SingleType();
|
|
}
|
|
}
|
|
|
|
function parse_UnaryExpr()
|
|
{
|
|
eventHandler.startNonterminal("UnaryExpr", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 41 // '+'
|
|
&& l1 != 43) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 43: // '-'
|
|
shift(43); // '-'
|
|
break;
|
|
default:
|
|
shift(41); // '+'
|
|
}
|
|
}
|
|
whitespace();
|
|
parse_ValueExpr();
|
|
eventHandler.endNonterminal("UnaryExpr", e0);
|
|
}
|
|
|
|
function try_UnaryExpr()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 41 // '+'
|
|
&& l1 != 43) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 43: // '-'
|
|
shiftT(43); // '-'
|
|
break;
|
|
default:
|
|
shiftT(41); // '+'
|
|
}
|
|
}
|
|
try_ValueExpr();
|
|
}
|
|
|
|
function parse_ValueExpr()
|
|
{
|
|
eventHandler.startNonterminal("ValueExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 266: // 'validate'
|
|
lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 89354: // 'validate' 'lax'
|
|
case 125706: // 'validate' 'strict'
|
|
case 132362: // 'validate' 'type'
|
|
case 144138: // 'validate' '{'
|
|
parse_ValidateExpr();
|
|
break;
|
|
case 36: // '(#'
|
|
parse_ExtensionExpr();
|
|
break;
|
|
default:
|
|
parse_SimpleMapExpr();
|
|
}
|
|
eventHandler.endNonterminal("ValueExpr", e0);
|
|
}
|
|
|
|
function try_ValueExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 266: // 'validate'
|
|
lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 89354: // 'validate' 'lax'
|
|
case 125706: // 'validate' 'strict'
|
|
case 132362: // 'validate' 'type'
|
|
case 144138: // 'validate' '{'
|
|
try_ValidateExpr();
|
|
break;
|
|
case 36: // '(#'
|
|
try_ExtensionExpr();
|
|
break;
|
|
default:
|
|
try_SimpleMapExpr();
|
|
}
|
|
}
|
|
|
|
function parse_SimpleMapExpr()
|
|
{
|
|
eventHandler.startNonterminal("SimpleMapExpr", e0);
|
|
parse_PathExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 26) // '!'
|
|
{
|
|
break;
|
|
}
|
|
shift(26); // '!'
|
|
lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PathExpr();
|
|
}
|
|
eventHandler.endNonterminal("SimpleMapExpr", e0);
|
|
}
|
|
|
|
function try_SimpleMapExpr()
|
|
{
|
|
try_PathExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 26) // '!'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(26); // '!'
|
|
lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PathExpr();
|
|
}
|
|
}
|
|
|
|
function parse_GeneralComp()
|
|
{
|
|
eventHandler.startNonterminal("GeneralComp", e0);
|
|
switch (l1)
|
|
{
|
|
case 61: // '='
|
|
shift(61); // '='
|
|
break;
|
|
case 27: // '!='
|
|
shift(27); // '!='
|
|
break;
|
|
case 55: // '<'
|
|
shift(55); // '<'
|
|
break;
|
|
case 59: // '<='
|
|
shift(59); // '<='
|
|
break;
|
|
case 62: // '>'
|
|
shift(62); // '>'
|
|
break;
|
|
default:
|
|
shift(63); // '>='
|
|
}
|
|
eventHandler.endNonterminal("GeneralComp", e0);
|
|
}
|
|
|
|
function try_GeneralComp()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 61: // '='
|
|
shiftT(61); // '='
|
|
break;
|
|
case 27: // '!='
|
|
shiftT(27); // '!='
|
|
break;
|
|
case 55: // '<'
|
|
shiftT(55); // '<'
|
|
break;
|
|
case 59: // '<='
|
|
shiftT(59); // '<='
|
|
break;
|
|
case 62: // '>'
|
|
shiftT(62); // '>'
|
|
break;
|
|
default:
|
|
shiftT(63); // '>='
|
|
}
|
|
}
|
|
|
|
function parse_ValueComp()
|
|
{
|
|
eventHandler.startNonterminal("ValueComp", e0);
|
|
switch (l1)
|
|
{
|
|
case 129: // 'eq'
|
|
shift(129); // 'eq'
|
|
break;
|
|
case 189: // 'ne'
|
|
shift(189); // 'ne'
|
|
break;
|
|
case 181: // 'lt'
|
|
shift(181); // 'lt'
|
|
break;
|
|
case 175: // 'le'
|
|
shift(175); // 'le'
|
|
break;
|
|
case 152: // 'gt'
|
|
shift(152); // 'gt'
|
|
break;
|
|
default:
|
|
shift(148); // 'ge'
|
|
}
|
|
eventHandler.endNonterminal("ValueComp", e0);
|
|
}
|
|
|
|
function try_ValueComp()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 129: // 'eq'
|
|
shiftT(129); // 'eq'
|
|
break;
|
|
case 189: // 'ne'
|
|
shiftT(189); // 'ne'
|
|
break;
|
|
case 181: // 'lt'
|
|
shiftT(181); // 'lt'
|
|
break;
|
|
case 175: // 'le'
|
|
shiftT(175); // 'le'
|
|
break;
|
|
case 152: // 'gt'
|
|
shiftT(152); // 'gt'
|
|
break;
|
|
default:
|
|
shiftT(148); // 'ge'
|
|
}
|
|
}
|
|
|
|
function parse_NodeComp()
|
|
{
|
|
eventHandler.startNonterminal("NodeComp", e0);
|
|
switch (l1)
|
|
{
|
|
case 166: // 'is'
|
|
shift(166); // 'is'
|
|
break;
|
|
case 58: // '<<'
|
|
shift(58); // '<<'
|
|
break;
|
|
default:
|
|
shift(64); // '>>'
|
|
}
|
|
eventHandler.endNonterminal("NodeComp", e0);
|
|
}
|
|
|
|
function try_NodeComp()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 166: // 'is'
|
|
shiftT(166); // 'is'
|
|
break;
|
|
case 58: // '<<'
|
|
shiftT(58); // '<<'
|
|
break;
|
|
default:
|
|
shiftT(64); // '>>'
|
|
}
|
|
}
|
|
|
|
function parse_ValidateExpr()
|
|
{
|
|
eventHandler.startNonterminal("ValidateExpr", e0);
|
|
shift(266); // 'validate'
|
|
lookahead1W(175); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
if (l1 != 281) // '{'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 258: // 'type'
|
|
shift(258); // 'type'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_TypeName();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ValidationMode();
|
|
}
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("ValidateExpr", e0);
|
|
}
|
|
|
|
function try_ValidateExpr()
|
|
{
|
|
shiftT(266); // 'validate'
|
|
lookahead1W(175); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
if (l1 != 281) // '{'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 258: // 'type'
|
|
shiftT(258); // 'type'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_TypeName();
|
|
break;
|
|
default:
|
|
try_ValidationMode();
|
|
}
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_ValidationMode()
|
|
{
|
|
eventHandler.startNonterminal("ValidationMode", e0);
|
|
switch (l1)
|
|
{
|
|
case 174: // 'lax'
|
|
shift(174); // 'lax'
|
|
break;
|
|
default:
|
|
shift(245); // 'strict'
|
|
}
|
|
eventHandler.endNonterminal("ValidationMode", e0);
|
|
}
|
|
|
|
function try_ValidationMode()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 174: // 'lax'
|
|
shiftT(174); // 'lax'
|
|
break;
|
|
default:
|
|
shiftT(245); // 'strict'
|
|
}
|
|
}
|
|
|
|
function parse_ExtensionExpr()
|
|
{
|
|
eventHandler.startNonterminal("ExtensionExpr", e0);
|
|
for (;;)
|
|
{
|
|
whitespace();
|
|
parse_Pragma();
|
|
lookahead1W(104); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 36) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(281); // '{'
|
|
lookahead1W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 287) // '}'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("ExtensionExpr", e0);
|
|
}
|
|
|
|
function try_ExtensionExpr()
|
|
{
|
|
for (;;)
|
|
{
|
|
try_Pragma();
|
|
lookahead1W(104); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 36) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(281); // '{'
|
|
lookahead1W(274); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 287) // '}'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_Pragma()
|
|
{
|
|
eventHandler.startNonterminal("Pragma", e0);
|
|
shift(36); // '(#'
|
|
lookahead1(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
parse_EQName();
|
|
lookahead1(10); // S | '#)'
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
lookahead1(0); // PragmaContents
|
|
shift(1); // PragmaContents
|
|
}
|
|
lookahead1(5); // '#)'
|
|
shift(30); // '#)'
|
|
eventHandler.endNonterminal("Pragma", e0);
|
|
}
|
|
|
|
function try_Pragma()
|
|
{
|
|
shiftT(36); // '(#'
|
|
lookahead1(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
try_EQName();
|
|
lookahead1(10); // S | '#)'
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
lookahead1(0); // PragmaContents
|
|
shiftT(1); // PragmaContents
|
|
}
|
|
lookahead1(5); // '#)'
|
|
shiftT(30); // '#)'
|
|
}
|
|
|
|
function parse_PathExpr()
|
|
{
|
|
eventHandler.startNonterminal("PathExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 47: // '/'
|
|
shift(47); // '/'
|
|
lookahead1W(288); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 25: // EOF
|
|
case 26: // '!'
|
|
case 27: // '!='
|
|
case 38: // ')'
|
|
case 39: // '*'
|
|
case 41: // '+'
|
|
case 42: // ','
|
|
case 43: // '-'
|
|
case 50: // ':'
|
|
case 54: // ';'
|
|
case 58: // '<<'
|
|
case 59: // '<='
|
|
case 61: // '='
|
|
case 62: // '>'
|
|
case 63: // '>='
|
|
case 64: // '>>'
|
|
case 70: // ']'
|
|
case 88: // 'by'
|
|
case 100: // 'contains'
|
|
case 209: // 'paragraphs'
|
|
case 237: // 'sentences'
|
|
case 252: // 'times'
|
|
case 279: // 'words'
|
|
case 284: // '|'
|
|
case 285: // '||'
|
|
case 286: // '|}'
|
|
case 287: // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_RelativePathExpr();
|
|
}
|
|
break;
|
|
case 48: // '//'
|
|
shift(48); // '//'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_RelativePathExpr();
|
|
break;
|
|
default:
|
|
parse_RelativePathExpr();
|
|
}
|
|
eventHandler.endNonterminal("PathExpr", e0);
|
|
}
|
|
|
|
function try_PathExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 47: // '/'
|
|
shiftT(47); // '/'
|
|
lookahead1W(288); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 25: // EOF
|
|
case 26: // '!'
|
|
case 27: // '!='
|
|
case 38: // ')'
|
|
case 39: // '*'
|
|
case 41: // '+'
|
|
case 42: // ','
|
|
case 43: // '-'
|
|
case 50: // ':'
|
|
case 54: // ';'
|
|
case 58: // '<<'
|
|
case 59: // '<='
|
|
case 61: // '='
|
|
case 62: // '>'
|
|
case 63: // '>='
|
|
case 64: // '>>'
|
|
case 70: // ']'
|
|
case 88: // 'by'
|
|
case 100: // 'contains'
|
|
case 209: // 'paragraphs'
|
|
case 237: // 'sentences'
|
|
case 252: // 'times'
|
|
case 279: // 'words'
|
|
case 284: // '|'
|
|
case 285: // '||'
|
|
case 286: // '|}'
|
|
case 287: // '}'
|
|
break;
|
|
default:
|
|
try_RelativePathExpr();
|
|
}
|
|
break;
|
|
case 48: // '//'
|
|
shiftT(48); // '//'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_RelativePathExpr();
|
|
break;
|
|
default:
|
|
try_RelativePathExpr();
|
|
}
|
|
}
|
|
|
|
function parse_RelativePathExpr()
|
|
{
|
|
eventHandler.startNonterminal("RelativePathExpr", e0);
|
|
parse_PostfixExpr();
|
|
for (;;)
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 26: // '!'
|
|
lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 27 // '!='
|
|
&& lk != 38 // ')'
|
|
&& lk != 39 // '*'
|
|
&& lk != 41 // '+'
|
|
&& lk != 42 // ','
|
|
&& lk != 43 // '-'
|
|
&& lk != 47 // '/'
|
|
&& lk != 48 // '//'
|
|
&& lk != 50 // ':'
|
|
&& lk != 54 // ';'
|
|
&& lk != 55 // '<'
|
|
&& lk != 58 // '<<'
|
|
&& lk != 59 // '<='
|
|
&& lk != 61 // '='
|
|
&& lk != 62 // '>'
|
|
&& lk != 63 // '>='
|
|
&& lk != 64 // '>>'
|
|
&& lk != 70 // ']'
|
|
&& lk != 71 // 'after'
|
|
&& lk != 76 // 'and'
|
|
&& lk != 80 // 'as'
|
|
&& lk != 81 // 'ascending'
|
|
&& lk != 82 // 'at'
|
|
&& lk != 85 // 'before'
|
|
&& lk != 88 // 'by'
|
|
&& lk != 89 // 'case'
|
|
&& lk != 90 // 'cast'
|
|
&& lk != 91 // 'castable'
|
|
&& lk != 95 // 'collation'
|
|
&& lk != 100 // 'contains'
|
|
&& lk != 106 // 'count'
|
|
&& lk != 110 // 'default'
|
|
&& lk != 114 // 'descending'
|
|
&& lk != 119 // 'div'
|
|
&& lk != 123 // 'else'
|
|
&& lk != 124 // 'empty'
|
|
&& lk != 127 // 'end'
|
|
&& lk != 129 // 'eq'
|
|
&& lk != 132 // 'except'
|
|
&& lk != 139 // 'for'
|
|
&& lk != 148 // 'ge'
|
|
&& lk != 150 // 'group'
|
|
&& lk != 152 // 'gt'
|
|
&& lk != 153 // 'idiv'
|
|
&& lk != 162 // 'instance'
|
|
&& lk != 164 // 'intersect'
|
|
&& lk != 165 // 'into'
|
|
&& lk != 166 // 'is'
|
|
&& lk != 175 // 'le'
|
|
&& lk != 177 // 'let'
|
|
&& lk != 181 // 'lt'
|
|
&& lk != 183 // 'mod'
|
|
&& lk != 184 // 'modify'
|
|
&& lk != 189 // 'ne'
|
|
&& lk != 202 // 'only'
|
|
&& lk != 204 // 'or'
|
|
&& lk != 205 // 'order'
|
|
&& lk != 209 // 'paragraphs'
|
|
&& lk != 224 // 'return'
|
|
&& lk != 228 // 'satisfies'
|
|
&& lk != 237 // 'sentences'
|
|
&& lk != 241 // 'stable'
|
|
&& lk != 242 // 'start'
|
|
&& lk != 252 // 'times'
|
|
&& lk != 253 // 'to'
|
|
&& lk != 254 // 'treat'
|
|
&& lk != 260 // 'union'
|
|
&& lk != 272 // 'where'
|
|
&& lk != 276 // 'with'
|
|
&& lk != 279 // 'words'
|
|
&& lk != 284 // '|'
|
|
&& lk != 285 // '||'
|
|
&& lk != 286 // '|}'
|
|
&& lk != 287 // '}'
|
|
&& lk != 2586 // '!' Wildcard
|
|
&& lk != 23578 // '!' '..'
|
|
&& lk != 24090 // '!' '/'
|
|
&& lk != 24602 // '!' '//'
|
|
&& lk != 34330) // '!' '@'
|
|
{
|
|
lk = memoized(3, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 47: // '/'
|
|
shiftT(47); // '/'
|
|
break;
|
|
case 48: // '//'
|
|
shiftT(48); // '//'
|
|
break;
|
|
default:
|
|
shiftT(26); // '!'
|
|
}
|
|
lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_StepExpr();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(3, e0, lk);
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 47 // '/'
|
|
&& lk != 48 // '//'
|
|
&& lk != 2586 // '!' Wildcard
|
|
&& lk != 23578 // '!' '..'
|
|
&& lk != 34330) // '!' '@'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 47: // '/'
|
|
shift(47); // '/'
|
|
break;
|
|
case 48: // '//'
|
|
shift(48); // '//'
|
|
break;
|
|
default:
|
|
shift(26); // '!'
|
|
}
|
|
lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_StepExpr();
|
|
}
|
|
eventHandler.endNonterminal("RelativePathExpr", e0);
|
|
}
|
|
|
|
function try_RelativePathExpr()
|
|
{
|
|
try_PostfixExpr();
|
|
for (;;)
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 26: // '!'
|
|
lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 27 // '!='
|
|
&& lk != 38 // ')'
|
|
&& lk != 39 // '*'
|
|
&& lk != 41 // '+'
|
|
&& lk != 42 // ','
|
|
&& lk != 43 // '-'
|
|
&& lk != 47 // '/'
|
|
&& lk != 48 // '//'
|
|
&& lk != 50 // ':'
|
|
&& lk != 54 // ';'
|
|
&& lk != 55 // '<'
|
|
&& lk != 58 // '<<'
|
|
&& lk != 59 // '<='
|
|
&& lk != 61 // '='
|
|
&& lk != 62 // '>'
|
|
&& lk != 63 // '>='
|
|
&& lk != 64 // '>>'
|
|
&& lk != 70 // ']'
|
|
&& lk != 71 // 'after'
|
|
&& lk != 76 // 'and'
|
|
&& lk != 80 // 'as'
|
|
&& lk != 81 // 'ascending'
|
|
&& lk != 82 // 'at'
|
|
&& lk != 85 // 'before'
|
|
&& lk != 88 // 'by'
|
|
&& lk != 89 // 'case'
|
|
&& lk != 90 // 'cast'
|
|
&& lk != 91 // 'castable'
|
|
&& lk != 95 // 'collation'
|
|
&& lk != 100 // 'contains'
|
|
&& lk != 106 // 'count'
|
|
&& lk != 110 // 'default'
|
|
&& lk != 114 // 'descending'
|
|
&& lk != 119 // 'div'
|
|
&& lk != 123 // 'else'
|
|
&& lk != 124 // 'empty'
|
|
&& lk != 127 // 'end'
|
|
&& lk != 129 // 'eq'
|
|
&& lk != 132 // 'except'
|
|
&& lk != 139 // 'for'
|
|
&& lk != 148 // 'ge'
|
|
&& lk != 150 // 'group'
|
|
&& lk != 152 // 'gt'
|
|
&& lk != 153 // 'idiv'
|
|
&& lk != 162 // 'instance'
|
|
&& lk != 164 // 'intersect'
|
|
&& lk != 165 // 'into'
|
|
&& lk != 166 // 'is'
|
|
&& lk != 175 // 'le'
|
|
&& lk != 177 // 'let'
|
|
&& lk != 181 // 'lt'
|
|
&& lk != 183 // 'mod'
|
|
&& lk != 184 // 'modify'
|
|
&& lk != 189 // 'ne'
|
|
&& lk != 202 // 'only'
|
|
&& lk != 204 // 'or'
|
|
&& lk != 205 // 'order'
|
|
&& lk != 209 // 'paragraphs'
|
|
&& lk != 224 // 'return'
|
|
&& lk != 228 // 'satisfies'
|
|
&& lk != 237 // 'sentences'
|
|
&& lk != 241 // 'stable'
|
|
&& lk != 242 // 'start'
|
|
&& lk != 252 // 'times'
|
|
&& lk != 253 // 'to'
|
|
&& lk != 254 // 'treat'
|
|
&& lk != 260 // 'union'
|
|
&& lk != 272 // 'where'
|
|
&& lk != 276 // 'with'
|
|
&& lk != 279 // 'words'
|
|
&& lk != 284 // '|'
|
|
&& lk != 285 // '||'
|
|
&& lk != 286 // '|}'
|
|
&& lk != 287 // '}'
|
|
&& lk != 2586 // '!' Wildcard
|
|
&& lk != 23578 // '!' '..'
|
|
&& lk != 24090 // '!' '/'
|
|
&& lk != 24602 // '!' '//'
|
|
&& lk != 34330) // '!' '@'
|
|
{
|
|
lk = memoized(3, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 47: // '/'
|
|
shiftT(47); // '/'
|
|
break;
|
|
case 48: // '//'
|
|
shiftT(48); // '//'
|
|
break;
|
|
default:
|
|
shiftT(26); // '!'
|
|
}
|
|
lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_StepExpr();
|
|
memoize(3, e0A, -1);
|
|
continue;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(3, e0A, -2);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 47 // '/'
|
|
&& lk != 48 // '//'
|
|
&& lk != 2586 // '!' Wildcard
|
|
&& lk != 23578 // '!' '..'
|
|
&& lk != 34330) // '!' '@'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 47: // '/'
|
|
shiftT(47); // '/'
|
|
break;
|
|
case 48: // '//'
|
|
shiftT(48); // '//'
|
|
break;
|
|
default:
|
|
shiftT(26); // '!'
|
|
}
|
|
lookahead1W(263); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_StepExpr();
|
|
}
|
|
}
|
|
|
|
function parse_StepExpr()
|
|
{
|
|
eventHandler.startNonterminal("StepExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
lookahead2W(287); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 122: // 'element'
|
|
lookahead2W(286); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 187: // 'namespace'
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(284); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
|
|
break;
|
|
case 97: // 'comment'
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 249: // 'text'
|
|
case 262: // 'unordered'
|
|
lookahead2W(238); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 79: // 'array'
|
|
case 125: // 'empty-sequence'
|
|
case 154: // 'if'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 247: // 'structured-item'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 94: // 'child'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 234: // 'self'
|
|
lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 76: // 'and'
|
|
case 78: // 'append'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 87: // 'break'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 103: // 'continue'
|
|
case 104: // 'copy'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 111: // 'delete'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 121: // 'document-node'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 130: // 'every'
|
|
case 132: // 'except'
|
|
case 133: // 'exit'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 139: // 'for'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 147: // 'function'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 161: // 'insert'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 177: // 'let'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 188: // 'namespace-node'
|
|
case 189: // 'ne'
|
|
case 194: // 'node'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 222: // 'rename'
|
|
case 223: // 'replace'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 239: // 'sliding'
|
|
case 240: // 'some'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 256: // 'try'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 266: // 'validate'
|
|
case 267: // 'value'
|
|
case 268: // 'variable'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 12935 // 'false' EOF
|
|
|| lk == 12997 // 'null' EOF
|
|
|| lk == 13055 // 'true' EOF
|
|
|| lk == 13447 // 'false' '!'
|
|
|| lk == 13509 // 'null' '!'
|
|
|| lk == 13567 // 'true' '!'
|
|
|| lk == 13959 // 'false' '!='
|
|
|| lk == 14021 // 'null' '!='
|
|
|| lk == 14079 // 'true' '!='
|
|
|| lk == 19591 // 'false' ')'
|
|
|| lk == 19653 // 'null' ')'
|
|
|| lk == 19711 // 'true' ')'
|
|
|| lk == 20103 // 'false' '*'
|
|
|| lk == 20165 // 'null' '*'
|
|
|| lk == 20223 // 'true' '*'
|
|
|| lk == 21127 // 'false' '+'
|
|
|| lk == 21189 // 'null' '+'
|
|
|| lk == 21247 // 'true' '+'
|
|
|| lk == 21639 // 'false' ','
|
|
|| lk == 21701 // 'null' ','
|
|
|| lk == 21759 // 'true' ','
|
|
|| lk == 22151 // 'false' '-'
|
|
|| lk == 22213 // 'null' '-'
|
|
|| lk == 22271 // 'true' '-'
|
|
|| lk == 24199 // 'false' '/'
|
|
|| lk == 24261 // 'null' '/'
|
|
|| lk == 24319 // 'true' '/'
|
|
|| lk == 24711 // 'false' '//'
|
|
|| lk == 24773 // 'null' '//'
|
|
|| lk == 24831 // 'true' '//'
|
|
|| lk == 25735 // 'false' ':'
|
|
|| lk == 25797 // 'null' ':'
|
|
|| lk == 25855 // 'true' ':'
|
|
|| lk == 27783 // 'false' ';'
|
|
|| lk == 27845 // 'null' ';'
|
|
|| lk == 27903 // 'true' ';'
|
|
|| lk == 28295 // 'false' '<'
|
|
|| lk == 28357 // 'null' '<'
|
|
|| lk == 28415 // 'true' '<'
|
|
|| lk == 29831 // 'false' '<<'
|
|
|| lk == 29893 // 'null' '<<'
|
|
|| lk == 29951 // 'true' '<<'
|
|
|| lk == 30343 // 'false' '<='
|
|
|| lk == 30405 // 'null' '<='
|
|
|| lk == 30463 // 'true' '<='
|
|
|| lk == 31367 // 'false' '='
|
|
|| lk == 31429 // 'null' '='
|
|
|| lk == 31487 // 'true' '='
|
|
|| lk == 31879 // 'false' '>'
|
|
|| lk == 31941 // 'null' '>'
|
|
|| lk == 31999 // 'true' '>'
|
|
|| lk == 32391 // 'false' '>='
|
|
|| lk == 32453 // 'null' '>='
|
|
|| lk == 32511 // 'true' '>='
|
|
|| lk == 32903 // 'false' '>>'
|
|
|| lk == 32965 // 'null' '>>'
|
|
|| lk == 33023 // 'true' '>>'
|
|
|| lk == 35463 // 'false' '['
|
|
|| lk == 35525 // 'null' '['
|
|
|| lk == 35583 // 'true' '['
|
|
|| lk == 35975 // 'false' ']'
|
|
|| lk == 36037 // 'null' ']'
|
|
|| lk == 36095 // 'true' ']'
|
|
|| lk == 36435 // 'attribute' 'after'
|
|
|| lk == 36474 // 'element' 'after'
|
|
|| lk == 36487 // 'false' 'after'
|
|
|| lk == 36539 // 'namespace' 'after'
|
|
|| lk == 36549 // 'null' 'after'
|
|
|| lk == 36572 // 'processing-instruction' 'after'
|
|
|| lk == 36607 // 'true' 'after'
|
|
|| lk == 38995 // 'attribute' 'and'
|
|
|| lk == 39034 // 'element' 'and'
|
|
|| lk == 39047 // 'false' 'and'
|
|
|| lk == 39099 // 'namespace' 'and'
|
|
|| lk == 39109 // 'null' 'and'
|
|
|| lk == 39132 // 'processing-instruction' 'and'
|
|
|| lk == 39167 // 'true' 'and'
|
|
|| lk == 41043 // 'attribute' 'as'
|
|
|| lk == 41082 // 'element' 'as'
|
|
|| lk == 41095 // 'false' 'as'
|
|
|| lk == 41147 // 'namespace' 'as'
|
|
|| lk == 41157 // 'null' 'as'
|
|
|| lk == 41180 // 'processing-instruction' 'as'
|
|
|| lk == 41215 // 'true' 'as'
|
|
|| lk == 41555 // 'attribute' 'ascending'
|
|
|| lk == 41594 // 'element' 'ascending'
|
|
|| lk == 41607 // 'false' 'ascending'
|
|
|| lk == 41659 // 'namespace' 'ascending'
|
|
|| lk == 41669 // 'null' 'ascending'
|
|
|| lk == 41692 // 'processing-instruction' 'ascending'
|
|
|| lk == 41727 // 'true' 'ascending'
|
|
|| lk == 42067 // 'attribute' 'at'
|
|
|| lk == 42106 // 'element' 'at'
|
|
|| lk == 42119 // 'false' 'at'
|
|
|| lk == 42171 // 'namespace' 'at'
|
|
|| lk == 42181 // 'null' 'at'
|
|
|| lk == 42204 // 'processing-instruction' 'at'
|
|
|| lk == 42239 // 'true' 'at'
|
|
|| lk == 43603 // 'attribute' 'before'
|
|
|| lk == 43642 // 'element' 'before'
|
|
|| lk == 43655 // 'false' 'before'
|
|
|| lk == 43707 // 'namespace' 'before'
|
|
|| lk == 43717 // 'null' 'before'
|
|
|| lk == 43740 // 'processing-instruction' 'before'
|
|
|| lk == 43775 // 'true' 'before'
|
|
|| lk == 45191 // 'false' 'by'
|
|
|| lk == 45253 // 'null' 'by'
|
|
|| lk == 45311 // 'true' 'by'
|
|
|| lk == 45651 // 'attribute' 'case'
|
|
|| lk == 45690 // 'element' 'case'
|
|
|| lk == 45703 // 'false' 'case'
|
|
|| lk == 45755 // 'namespace' 'case'
|
|
|| lk == 45765 // 'null' 'case'
|
|
|| lk == 45788 // 'processing-instruction' 'case'
|
|
|| lk == 45823 // 'true' 'case'
|
|
|| lk == 46163 // 'attribute' 'cast'
|
|
|| lk == 46202 // 'element' 'cast'
|
|
|| lk == 46215 // 'false' 'cast'
|
|
|| lk == 46267 // 'namespace' 'cast'
|
|
|| lk == 46277 // 'null' 'cast'
|
|
|| lk == 46300 // 'processing-instruction' 'cast'
|
|
|| lk == 46335 // 'true' 'cast'
|
|
|| lk == 46675 // 'attribute' 'castable'
|
|
|| lk == 46714 // 'element' 'castable'
|
|
|| lk == 46727 // 'false' 'castable'
|
|
|| lk == 46779 // 'namespace' 'castable'
|
|
|| lk == 46789 // 'null' 'castable'
|
|
|| lk == 46812 // 'processing-instruction' 'castable'
|
|
|| lk == 46847 // 'true' 'castable'
|
|
|| lk == 48723 // 'attribute' 'collation'
|
|
|| lk == 48762 // 'element' 'collation'
|
|
|| lk == 48775 // 'false' 'collation'
|
|
|| lk == 48827 // 'namespace' 'collation'
|
|
|| lk == 48837 // 'null' 'collation'
|
|
|| lk == 48860 // 'processing-instruction' 'collation'
|
|
|| lk == 48895 // 'true' 'collation'
|
|
|| lk == 51335 // 'false' 'contains'
|
|
|| lk == 51397 // 'null' 'contains'
|
|
|| lk == 51455 // 'true' 'contains'
|
|
|| lk == 54355 // 'attribute' 'count'
|
|
|| lk == 54394 // 'element' 'count'
|
|
|| lk == 54407 // 'false' 'count'
|
|
|| lk == 54459 // 'namespace' 'count'
|
|
|| lk == 54469 // 'null' 'count'
|
|
|| lk == 54492 // 'processing-instruction' 'count'
|
|
|| lk == 54527 // 'true' 'count'
|
|
|| lk == 56403 // 'attribute' 'default'
|
|
|| lk == 56442 // 'element' 'default'
|
|
|| lk == 56455 // 'false' 'default'
|
|
|| lk == 56507 // 'namespace' 'default'
|
|
|| lk == 56517 // 'null' 'default'
|
|
|| lk == 56540 // 'processing-instruction' 'default'
|
|
|| lk == 56575 // 'true' 'default'
|
|
|| lk == 58451 // 'attribute' 'descending'
|
|
|| lk == 58490 // 'element' 'descending'
|
|
|| lk == 58503 // 'false' 'descending'
|
|
|| lk == 58555 // 'namespace' 'descending'
|
|
|| lk == 58565 // 'null' 'descending'
|
|
|| lk == 58588 // 'processing-instruction' 'descending'
|
|
|| lk == 58623 // 'true' 'descending'
|
|
|| lk == 61011 // 'attribute' 'div'
|
|
|| lk == 61050 // 'element' 'div'
|
|
|| lk == 61063 // 'false' 'div'
|
|
|| lk == 61115 // 'namespace' 'div'
|
|
|| lk == 61125 // 'null' 'div'
|
|
|| lk == 61148 // 'processing-instruction' 'div'
|
|
|| lk == 61183 // 'true' 'div'
|
|
|| lk == 63059 // 'attribute' 'else'
|
|
|| lk == 63098 // 'element' 'else'
|
|
|| lk == 63111 // 'false' 'else'
|
|
|| lk == 63163 // 'namespace' 'else'
|
|
|| lk == 63173 // 'null' 'else'
|
|
|| lk == 63196 // 'processing-instruction' 'else'
|
|
|| lk == 63231 // 'true' 'else'
|
|
|| lk == 63571 // 'attribute' 'empty'
|
|
|| lk == 63610 // 'element' 'empty'
|
|
|| lk == 63623 // 'false' 'empty'
|
|
|| lk == 63675 // 'namespace' 'empty'
|
|
|| lk == 63685 // 'null' 'empty'
|
|
|| lk == 63708 // 'processing-instruction' 'empty'
|
|
|| lk == 63743 // 'true' 'empty'
|
|
|| lk == 65107 // 'attribute' 'end'
|
|
|| lk == 65146 // 'element' 'end'
|
|
|| lk == 65159 // 'false' 'end'
|
|
|| lk == 65211 // 'namespace' 'end'
|
|
|| lk == 65221 // 'null' 'end'
|
|
|| lk == 65244 // 'processing-instruction' 'end'
|
|
|| lk == 65279 // 'true' 'end'
|
|
|| lk == 66131 // 'attribute' 'eq'
|
|
|| lk == 66170 // 'element' 'eq'
|
|
|| lk == 66183 // 'false' 'eq'
|
|
|| lk == 66235 // 'namespace' 'eq'
|
|
|| lk == 66245 // 'null' 'eq'
|
|
|| lk == 66268 // 'processing-instruction' 'eq'
|
|
|| lk == 66303 // 'true' 'eq'
|
|
|| lk == 67667 // 'attribute' 'except'
|
|
|| lk == 67706 // 'element' 'except'
|
|
|| lk == 67719 // 'false' 'except'
|
|
|| lk == 67771 // 'namespace' 'except'
|
|
|| lk == 67781 // 'null' 'except'
|
|
|| lk == 67804 // 'processing-instruction' 'except'
|
|
|| lk == 67839 // 'true' 'except'
|
|
|| lk == 71251 // 'attribute' 'for'
|
|
|| lk == 71290 // 'element' 'for'
|
|
|| lk == 71303 // 'false' 'for'
|
|
|| lk == 71355 // 'namespace' 'for'
|
|
|| lk == 71365 // 'null' 'for'
|
|
|| lk == 71388 // 'processing-instruction' 'for'
|
|
|| lk == 71423 // 'true' 'for'
|
|
|| lk == 75859 // 'attribute' 'ge'
|
|
|| lk == 75898 // 'element' 'ge'
|
|
|| lk == 75911 // 'false' 'ge'
|
|
|| lk == 75963 // 'namespace' 'ge'
|
|
|| lk == 75973 // 'null' 'ge'
|
|
|| lk == 75996 // 'processing-instruction' 'ge'
|
|
|| lk == 76031 // 'true' 'ge'
|
|
|| lk == 76883 // 'attribute' 'group'
|
|
|| lk == 76922 // 'element' 'group'
|
|
|| lk == 76935 // 'false' 'group'
|
|
|| lk == 76987 // 'namespace' 'group'
|
|
|| lk == 76997 // 'null' 'group'
|
|
|| lk == 77020 // 'processing-instruction' 'group'
|
|
|| lk == 77055 // 'true' 'group'
|
|
|| lk == 77907 // 'attribute' 'gt'
|
|
|| lk == 77946 // 'element' 'gt'
|
|
|| lk == 77959 // 'false' 'gt'
|
|
|| lk == 78011 // 'namespace' 'gt'
|
|
|| lk == 78021 // 'null' 'gt'
|
|
|| lk == 78044 // 'processing-instruction' 'gt'
|
|
|| lk == 78079 // 'true' 'gt'
|
|
|| lk == 78419 // 'attribute' 'idiv'
|
|
|| lk == 78458 // 'element' 'idiv'
|
|
|| lk == 78471 // 'false' 'idiv'
|
|
|| lk == 78523 // 'namespace' 'idiv'
|
|
|| lk == 78533 // 'null' 'idiv'
|
|
|| lk == 78556 // 'processing-instruction' 'idiv'
|
|
|| lk == 78591 // 'true' 'idiv'
|
|
|| lk == 83027 // 'attribute' 'instance'
|
|
|| lk == 83066 // 'element' 'instance'
|
|
|| lk == 83079 // 'false' 'instance'
|
|
|| lk == 83131 // 'namespace' 'instance'
|
|
|| lk == 83141 // 'null' 'instance'
|
|
|| lk == 83164 // 'processing-instruction' 'instance'
|
|
|| lk == 83199 // 'true' 'instance'
|
|
|| lk == 84051 // 'attribute' 'intersect'
|
|
|| lk == 84090 // 'element' 'intersect'
|
|
|| lk == 84103 // 'false' 'intersect'
|
|
|| lk == 84155 // 'namespace' 'intersect'
|
|
|| lk == 84165 // 'null' 'intersect'
|
|
|| lk == 84188 // 'processing-instruction' 'intersect'
|
|
|| lk == 84223 // 'true' 'intersect'
|
|
|| lk == 84563 // 'attribute' 'into'
|
|
|| lk == 84602 // 'element' 'into'
|
|
|| lk == 84615 // 'false' 'into'
|
|
|| lk == 84667 // 'namespace' 'into'
|
|
|| lk == 84677 // 'null' 'into'
|
|
|| lk == 84700 // 'processing-instruction' 'into'
|
|
|| lk == 84735 // 'true' 'into'
|
|
|| lk == 85075 // 'attribute' 'is'
|
|
|| lk == 85114 // 'element' 'is'
|
|
|| lk == 85127 // 'false' 'is'
|
|
|| lk == 85179 // 'namespace' 'is'
|
|
|| lk == 85189 // 'null' 'is'
|
|
|| lk == 85212 // 'processing-instruction' 'is'
|
|
|| lk == 85247 // 'true' 'is'
|
|
|| lk == 89683 // 'attribute' 'le'
|
|
|| lk == 89722 // 'element' 'le'
|
|
|| lk == 89735 // 'false' 'le'
|
|
|| lk == 89787 // 'namespace' 'le'
|
|
|| lk == 89797 // 'null' 'le'
|
|
|| lk == 89820 // 'processing-instruction' 'le'
|
|
|| lk == 89855 // 'true' 'le'
|
|
|| lk == 90707 // 'attribute' 'let'
|
|
|| lk == 90746 // 'element' 'let'
|
|
|| lk == 90759 // 'false' 'let'
|
|
|| lk == 90811 // 'namespace' 'let'
|
|
|| lk == 90821 // 'null' 'let'
|
|
|| lk == 90844 // 'processing-instruction' 'let'
|
|
|| lk == 90879 // 'true' 'let'
|
|
|| lk == 92755 // 'attribute' 'lt'
|
|
|| lk == 92794 // 'element' 'lt'
|
|
|| lk == 92807 // 'false' 'lt'
|
|
|| lk == 92859 // 'namespace' 'lt'
|
|
|| lk == 92869 // 'null' 'lt'
|
|
|| lk == 92892 // 'processing-instruction' 'lt'
|
|
|| lk == 92927 // 'true' 'lt'
|
|
|| lk == 93779 // 'attribute' 'mod'
|
|
|| lk == 93818 // 'element' 'mod'
|
|
|| lk == 93831 // 'false' 'mod'
|
|
|| lk == 93883 // 'namespace' 'mod'
|
|
|| lk == 93893 // 'null' 'mod'
|
|
|| lk == 93916 // 'processing-instruction' 'mod'
|
|
|| lk == 93951 // 'true' 'mod'
|
|
|| lk == 94291 // 'attribute' 'modify'
|
|
|| lk == 94330 // 'element' 'modify'
|
|
|| lk == 94343 // 'false' 'modify'
|
|
|| lk == 94395 // 'namespace' 'modify'
|
|
|| lk == 94405 // 'null' 'modify'
|
|
|| lk == 94428 // 'processing-instruction' 'modify'
|
|
|| lk == 94463 // 'true' 'modify'
|
|
|| lk == 96851 // 'attribute' 'ne'
|
|
|| lk == 96890 // 'element' 'ne'
|
|
|| lk == 96903 // 'false' 'ne'
|
|
|| lk == 96955 // 'namespace' 'ne'
|
|
|| lk == 96965 // 'null' 'ne'
|
|
|| lk == 96988 // 'processing-instruction' 'ne'
|
|
|| lk == 97023 // 'true' 'ne'
|
|
|| lk == 103507 // 'attribute' 'only'
|
|
|| lk == 103546 // 'element' 'only'
|
|
|| lk == 103559 // 'false' 'only'
|
|
|| lk == 103611 // 'namespace' 'only'
|
|
|| lk == 103621 // 'null' 'only'
|
|
|| lk == 103644 // 'processing-instruction' 'only'
|
|
|| lk == 103679 // 'true' 'only'
|
|
|| lk == 104531 // 'attribute' 'or'
|
|
|| lk == 104570 // 'element' 'or'
|
|
|| lk == 104583 // 'false' 'or'
|
|
|| lk == 104635 // 'namespace' 'or'
|
|
|| lk == 104645 // 'null' 'or'
|
|
|| lk == 104668 // 'processing-instruction' 'or'
|
|
|| lk == 104703 // 'true' 'or'
|
|
|| lk == 105043 // 'attribute' 'order'
|
|
|| lk == 105082 // 'element' 'order'
|
|
|| lk == 105095 // 'false' 'order'
|
|
|| lk == 105147 // 'namespace' 'order'
|
|
|| lk == 105157 // 'null' 'order'
|
|
|| lk == 105180 // 'processing-instruction' 'order'
|
|
|| lk == 105215 // 'true' 'order'
|
|
|| lk == 107143 // 'false' 'paragraphs'
|
|
|| lk == 107205 // 'null' 'paragraphs'
|
|
|| lk == 107263 // 'true' 'paragraphs'
|
|
|| lk == 114771 // 'attribute' 'return'
|
|
|| lk == 114810 // 'element' 'return'
|
|
|| lk == 114823 // 'false' 'return'
|
|
|| lk == 114875 // 'namespace' 'return'
|
|
|| lk == 114885 // 'null' 'return'
|
|
|| lk == 114908 // 'processing-instruction' 'return'
|
|
|| lk == 114943 // 'true' 'return'
|
|
|| lk == 116819 // 'attribute' 'satisfies'
|
|
|| lk == 116858 // 'element' 'satisfies'
|
|
|| lk == 116871 // 'false' 'satisfies'
|
|
|| lk == 116923 // 'namespace' 'satisfies'
|
|
|| lk == 116933 // 'null' 'satisfies'
|
|
|| lk == 116956 // 'processing-instruction' 'satisfies'
|
|
|| lk == 116991 // 'true' 'satisfies'
|
|
|| lk == 121479 // 'false' 'sentences'
|
|
|| lk == 121541 // 'null' 'sentences'
|
|
|| lk == 121599 // 'true' 'sentences'
|
|
|| lk == 123475 // 'attribute' 'stable'
|
|
|| lk == 123514 // 'element' 'stable'
|
|
|| lk == 123527 // 'false' 'stable'
|
|
|| lk == 123579 // 'namespace' 'stable'
|
|
|| lk == 123589 // 'null' 'stable'
|
|
|| lk == 123612 // 'processing-instruction' 'stable'
|
|
|| lk == 123647 // 'true' 'stable'
|
|
|| lk == 123987 // 'attribute' 'start'
|
|
|| lk == 124026 // 'element' 'start'
|
|
|| lk == 124039 // 'false' 'start'
|
|
|| lk == 124091 // 'namespace' 'start'
|
|
|| lk == 124101 // 'null' 'start'
|
|
|| lk == 124124 // 'processing-instruction' 'start'
|
|
|| lk == 124159 // 'true' 'start'
|
|
|| lk == 129159 // 'false' 'times'
|
|
|| lk == 129221 // 'null' 'times'
|
|
|| lk == 129279 // 'true' 'times'
|
|
|| lk == 129619 // 'attribute' 'to'
|
|
|| lk == 129658 // 'element' 'to'
|
|
|| lk == 129671 // 'false' 'to'
|
|
|| lk == 129723 // 'namespace' 'to'
|
|
|| lk == 129733 // 'null' 'to'
|
|
|| lk == 129756 // 'processing-instruction' 'to'
|
|
|| lk == 129791 // 'true' 'to'
|
|
|| lk == 130131 // 'attribute' 'treat'
|
|
|| lk == 130170 // 'element' 'treat'
|
|
|| lk == 130183 // 'false' 'treat'
|
|
|| lk == 130235 // 'namespace' 'treat'
|
|
|| lk == 130245 // 'null' 'treat'
|
|
|| lk == 130268 // 'processing-instruction' 'treat'
|
|
|| lk == 130303 // 'true' 'treat'
|
|
|| lk == 133203 // 'attribute' 'union'
|
|
|| lk == 133242 // 'element' 'union'
|
|
|| lk == 133255 // 'false' 'union'
|
|
|| lk == 133307 // 'namespace' 'union'
|
|
|| lk == 133317 // 'null' 'union'
|
|
|| lk == 133340 // 'processing-instruction' 'union'
|
|
|| lk == 133375 // 'true' 'union'
|
|
|| lk == 139347 // 'attribute' 'where'
|
|
|| lk == 139386 // 'element' 'where'
|
|
|| lk == 139399 // 'false' 'where'
|
|
|| lk == 139451 // 'namespace' 'where'
|
|
|| lk == 139461 // 'null' 'where'
|
|
|| lk == 139484 // 'processing-instruction' 'where'
|
|
|| lk == 139519 // 'true' 'where'
|
|
|| lk == 141395 // 'attribute' 'with'
|
|
|| lk == 141434 // 'element' 'with'
|
|
|| lk == 141447 // 'false' 'with'
|
|
|| lk == 141499 // 'namespace' 'with'
|
|
|| lk == 141509 // 'null' 'with'
|
|
|| lk == 141532 // 'processing-instruction' 'with'
|
|
|| lk == 141567 // 'true' 'with'
|
|
|| lk == 142983 // 'false' 'words'
|
|
|| lk == 143045 // 'null' 'words'
|
|
|| lk == 143103 // 'true' 'words'
|
|
|| lk == 145543 // 'false' '|'
|
|
|| lk == 145605 // 'null' '|'
|
|
|| lk == 145663 // 'true' '|'
|
|
|| lk == 146055 // 'false' '||'
|
|
|| lk == 146117 // 'null' '||'
|
|
|| lk == 146175 // 'true' '||'
|
|
|| lk == 146567 // 'false' '|}'
|
|
|| lk == 146629 // 'null' '|}'
|
|
|| lk == 146687 // 'true' '|}'
|
|
|| lk == 147079 // 'false' '}'
|
|
|| lk == 147141 // 'null' '}'
|
|
|| lk == 147199) // 'true' '}'
|
|
{
|
|
lk = memoized(4, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_PostfixExpr();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(4, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 31: // '$'
|
|
case 32: // '$$'
|
|
case 33: // '%'
|
|
case 35: // '('
|
|
case 55: // '<'
|
|
case 56: // '<!--'
|
|
case 60: // '<?'
|
|
case 69: // '['
|
|
case 281: // '{'
|
|
case 283: // '{|'
|
|
case 3155: // 'attribute' EQName^Token
|
|
case 3194: // 'element' EQName^Token
|
|
case 9915: // 'namespace' NCName^Token
|
|
case 9948: // 'processing-instruction' NCName^Token
|
|
case 14854: // EQName^Token '#'
|
|
case 14919: // 'after' '#'
|
|
case 14921: // 'allowing' '#'
|
|
case 14922: // 'ancestor' '#'
|
|
case 14923: // 'ancestor-or-self' '#'
|
|
case 14924: // 'and' '#'
|
|
case 14926: // 'append' '#'
|
|
case 14927: // 'array' '#'
|
|
case 14928: // 'as' '#'
|
|
case 14929: // 'ascending' '#'
|
|
case 14930: // 'at' '#'
|
|
case 14931: // 'attribute' '#'
|
|
case 14932: // 'base-uri' '#'
|
|
case 14933: // 'before' '#'
|
|
case 14934: // 'boundary-space' '#'
|
|
case 14935: // 'break' '#'
|
|
case 14937: // 'case' '#'
|
|
case 14938: // 'cast' '#'
|
|
case 14939: // 'castable' '#'
|
|
case 14940: // 'catch' '#'
|
|
case 14942: // 'child' '#'
|
|
case 14943: // 'collation' '#'
|
|
case 14945: // 'comment' '#'
|
|
case 14946: // 'constraint' '#'
|
|
case 14947: // 'construction' '#'
|
|
case 14950: // 'context' '#'
|
|
case 14951: // 'continue' '#'
|
|
case 14952: // 'copy' '#'
|
|
case 14953: // 'copy-namespaces' '#'
|
|
case 14954: // 'count' '#'
|
|
case 14955: // 'decimal-format' '#'
|
|
case 14957: // 'declare' '#'
|
|
case 14958: // 'default' '#'
|
|
case 14959: // 'delete' '#'
|
|
case 14960: // 'descendant' '#'
|
|
case 14961: // 'descendant-or-self' '#'
|
|
case 14962: // 'descending' '#'
|
|
case 14967: // 'div' '#'
|
|
case 14968: // 'document' '#'
|
|
case 14969: // 'document-node' '#'
|
|
case 14970: // 'element' '#'
|
|
case 14971: // 'else' '#'
|
|
case 14972: // 'empty' '#'
|
|
case 14973: // 'empty-sequence' '#'
|
|
case 14974: // 'encoding' '#'
|
|
case 14975: // 'end' '#'
|
|
case 14977: // 'eq' '#'
|
|
case 14978: // 'every' '#'
|
|
case 14980: // 'except' '#'
|
|
case 14981: // 'exit' '#'
|
|
case 14982: // 'external' '#'
|
|
case 14983: // 'false' '#'
|
|
case 14984: // 'first' '#'
|
|
case 14985: // 'following' '#'
|
|
case 14986: // 'following-sibling' '#'
|
|
case 14987: // 'for' '#'
|
|
case 14990: // 'from' '#'
|
|
case 14991: // 'ft-option' '#'
|
|
case 14995: // 'function' '#'
|
|
case 14996: // 'ge' '#'
|
|
case 14998: // 'group' '#'
|
|
case 15000: // 'gt' '#'
|
|
case 15001: // 'idiv' '#'
|
|
case 15002: // 'if' '#'
|
|
case 15003: // 'import' '#'
|
|
case 15004: // 'in' '#'
|
|
case 15005: // 'index' '#'
|
|
case 15009: // 'insert' '#'
|
|
case 15010: // 'instance' '#'
|
|
case 15011: // 'integrity' '#'
|
|
case 15012: // 'intersect' '#'
|
|
case 15013: // 'into' '#'
|
|
case 15014: // 'is' '#'
|
|
case 15015: // 'item' '#'
|
|
case 15016: // 'json' '#'
|
|
case 15017: // 'json-item' '#'
|
|
case 15018: // 'jsoniq' '#'
|
|
case 15021: // 'last' '#'
|
|
case 15022: // 'lax' '#'
|
|
case 15023: // 'le' '#'
|
|
case 15025: // 'let' '#'
|
|
case 15027: // 'loop' '#'
|
|
case 15029: // 'lt' '#'
|
|
case 15031: // 'mod' '#'
|
|
case 15032: // 'modify' '#'
|
|
case 15033: // 'module' '#'
|
|
case 15035: // 'namespace' '#'
|
|
case 15036: // 'namespace-node' '#'
|
|
case 15037: // 'ne' '#'
|
|
case 15042: // 'node' '#'
|
|
case 15043: // 'nodes' '#'
|
|
case 15045: // 'null' '#'
|
|
case 15046: // 'object' '#'
|
|
case 15050: // 'only' '#'
|
|
case 15051: // 'option' '#'
|
|
case 15052: // 'or' '#'
|
|
case 15053: // 'order' '#'
|
|
case 15054: // 'ordered' '#'
|
|
case 15055: // 'ordering' '#'
|
|
case 15058: // 'parent' '#'
|
|
case 15064: // 'preceding' '#'
|
|
case 15065: // 'preceding-sibling' '#'
|
|
case 15068: // 'processing-instruction' '#'
|
|
case 15070: // 'rename' '#'
|
|
case 15071: // 'replace' '#'
|
|
case 15072: // 'return' '#'
|
|
case 15073: // 'returning' '#'
|
|
case 15074: // 'revalidation' '#'
|
|
case 15076: // 'satisfies' '#'
|
|
case 15077: // 'schema' '#'
|
|
case 15078: // 'schema-attribute' '#'
|
|
case 15079: // 'schema-element' '#'
|
|
case 15080: // 'score' '#'
|
|
case 15081: // 'select' '#'
|
|
case 15082: // 'self' '#'
|
|
case 15087: // 'sliding' '#'
|
|
case 15088: // 'some' '#'
|
|
case 15089: // 'stable' '#'
|
|
case 15090: // 'start' '#'
|
|
case 15093: // 'strict' '#'
|
|
case 15095: // 'structured-item' '#'
|
|
case 15096: // 'switch' '#'
|
|
case 15097: // 'text' '#'
|
|
case 15101: // 'to' '#'
|
|
case 15102: // 'treat' '#'
|
|
case 15103: // 'true' '#'
|
|
case 15104: // 'try' '#'
|
|
case 15105: // 'tumbling' '#'
|
|
case 15106: // 'type' '#'
|
|
case 15107: // 'typeswitch' '#'
|
|
case 15108: // 'union' '#'
|
|
case 15110: // 'unordered' '#'
|
|
case 15111: // 'updating' '#'
|
|
case 15114: // 'validate' '#'
|
|
case 15115: // 'value' '#'
|
|
case 15116: // 'variable' '#'
|
|
case 15117: // 'version' '#'
|
|
case 15120: // 'where' '#'
|
|
case 15121: // 'while' '#'
|
|
case 15124: // 'with' '#'
|
|
case 17926: // EQName^Token '('
|
|
case 17991: // 'after' '('
|
|
case 17993: // 'allowing' '('
|
|
case 17994: // 'ancestor' '('
|
|
case 17995: // 'ancestor-or-self' '('
|
|
case 17996: // 'and' '('
|
|
case 17998: // 'append' '('
|
|
case 18000: // 'as' '('
|
|
case 18001: // 'ascending' '('
|
|
case 18002: // 'at' '('
|
|
case 18004: // 'base-uri' '('
|
|
case 18005: // 'before' '('
|
|
case 18006: // 'boundary-space' '('
|
|
case 18007: // 'break' '('
|
|
case 18009: // 'case' '('
|
|
case 18010: // 'cast' '('
|
|
case 18011: // 'castable' '('
|
|
case 18012: // 'catch' '('
|
|
case 18014: // 'child' '('
|
|
case 18015: // 'collation' '('
|
|
case 18018: // 'constraint' '('
|
|
case 18019: // 'construction' '('
|
|
case 18022: // 'context' '('
|
|
case 18023: // 'continue' '('
|
|
case 18024: // 'copy' '('
|
|
case 18025: // 'copy-namespaces' '('
|
|
case 18026: // 'count' '('
|
|
case 18027: // 'decimal-format' '('
|
|
case 18029: // 'declare' '('
|
|
case 18030: // 'default' '('
|
|
case 18031: // 'delete' '('
|
|
case 18032: // 'descendant' '('
|
|
case 18033: // 'descendant-or-self' '('
|
|
case 18034: // 'descending' '('
|
|
case 18039: // 'div' '('
|
|
case 18040: // 'document' '('
|
|
case 18043: // 'else' '('
|
|
case 18044: // 'empty' '('
|
|
case 18046: // 'encoding' '('
|
|
case 18047: // 'end' '('
|
|
case 18049: // 'eq' '('
|
|
case 18050: // 'every' '('
|
|
case 18052: // 'except' '('
|
|
case 18053: // 'exit' '('
|
|
case 18054: // 'external' '('
|
|
case 18055: // 'false' '('
|
|
case 18056: // 'first' '('
|
|
case 18057: // 'following' '('
|
|
case 18058: // 'following-sibling' '('
|
|
case 18059: // 'for' '('
|
|
case 18062: // 'from' '('
|
|
case 18063: // 'ft-option' '('
|
|
case 18067: // 'function' '('
|
|
case 18068: // 'ge' '('
|
|
case 18070: // 'group' '('
|
|
case 18072: // 'gt' '('
|
|
case 18073: // 'idiv' '('
|
|
case 18075: // 'import' '('
|
|
case 18076: // 'in' '('
|
|
case 18077: // 'index' '('
|
|
case 18081: // 'insert' '('
|
|
case 18082: // 'instance' '('
|
|
case 18083: // 'integrity' '('
|
|
case 18084: // 'intersect' '('
|
|
case 18085: // 'into' '('
|
|
case 18086: // 'is' '('
|
|
case 18088: // 'json' '('
|
|
case 18090: // 'jsoniq' '('
|
|
case 18093: // 'last' '('
|
|
case 18094: // 'lax' '('
|
|
case 18095: // 'le' '('
|
|
case 18097: // 'let' '('
|
|
case 18099: // 'loop' '('
|
|
case 18101: // 'lt' '('
|
|
case 18103: // 'mod' '('
|
|
case 18104: // 'modify' '('
|
|
case 18105: // 'module' '('
|
|
case 18107: // 'namespace' '('
|
|
case 18109: // 'ne' '('
|
|
case 18115: // 'nodes' '('
|
|
case 18117: // 'null' '('
|
|
case 18118: // 'object' '('
|
|
case 18122: // 'only' '('
|
|
case 18123: // 'option' '('
|
|
case 18124: // 'or' '('
|
|
case 18125: // 'order' '('
|
|
case 18126: // 'ordered' '('
|
|
case 18127: // 'ordering' '('
|
|
case 18130: // 'parent' '('
|
|
case 18136: // 'preceding' '('
|
|
case 18137: // 'preceding-sibling' '('
|
|
case 18142: // 'rename' '('
|
|
case 18143: // 'replace' '('
|
|
case 18144: // 'return' '('
|
|
case 18145: // 'returning' '('
|
|
case 18146: // 'revalidation' '('
|
|
case 18148: // 'satisfies' '('
|
|
case 18149: // 'schema' '('
|
|
case 18152: // 'score' '('
|
|
case 18153: // 'select' '('
|
|
case 18154: // 'self' '('
|
|
case 18159: // 'sliding' '('
|
|
case 18160: // 'some' '('
|
|
case 18161: // 'stable' '('
|
|
case 18162: // 'start' '('
|
|
case 18165: // 'strict' '('
|
|
case 18173: // 'to' '('
|
|
case 18174: // 'treat' '('
|
|
case 18175: // 'true' '('
|
|
case 18176: // 'try' '('
|
|
case 18177: // 'tumbling' '('
|
|
case 18178: // 'type' '('
|
|
case 18180: // 'union' '('
|
|
case 18182: // 'unordered' '('
|
|
case 18183: // 'updating' '('
|
|
case 18186: // 'validate' '('
|
|
case 18187: // 'value' '('
|
|
case 18188: // 'variable' '('
|
|
case 18189: // 'version' '('
|
|
case 18192: // 'where' '('
|
|
case 18193: // 'while' '('
|
|
case 18196: // 'with' '('
|
|
case 23175: // 'false' '.'
|
|
case 23237: // 'null' '.'
|
|
case 23295: // 'true' '.'
|
|
case 37459: // 'attribute' 'allowing'
|
|
case 37498: // 'element' 'allowing'
|
|
case 37563: // 'namespace' 'allowing'
|
|
case 37596: // 'processing-instruction' 'allowing'
|
|
case 37971: // 'attribute' 'ancestor'
|
|
case 38010: // 'element' 'ancestor'
|
|
case 38075: // 'namespace' 'ancestor'
|
|
case 38108: // 'processing-instruction' 'ancestor'
|
|
case 38483: // 'attribute' 'ancestor-or-self'
|
|
case 38522: // 'element' 'ancestor-or-self'
|
|
case 38587: // 'namespace' 'ancestor-or-self'
|
|
case 38620: // 'processing-instruction' 'ancestor-or-self'
|
|
case 40019: // 'attribute' 'append'
|
|
case 40058: // 'element' 'append'
|
|
case 40123: // 'namespace' 'append'
|
|
case 40156: // 'processing-instruction' 'append'
|
|
case 40531: // 'attribute' 'array'
|
|
case 40570: // 'element' 'array'
|
|
case 42579: // 'attribute' 'attribute'
|
|
case 42618: // 'element' 'attribute'
|
|
case 42683: // 'namespace' 'attribute'
|
|
case 42716: // 'processing-instruction' 'attribute'
|
|
case 43091: // 'attribute' 'base-uri'
|
|
case 43130: // 'element' 'base-uri'
|
|
case 43195: // 'namespace' 'base-uri'
|
|
case 43228: // 'processing-instruction' 'base-uri'
|
|
case 44115: // 'attribute' 'boundary-space'
|
|
case 44154: // 'element' 'boundary-space'
|
|
case 44219: // 'namespace' 'boundary-space'
|
|
case 44252: // 'processing-instruction' 'boundary-space'
|
|
case 44627: // 'attribute' 'break'
|
|
case 44666: // 'element' 'break'
|
|
case 44731: // 'namespace' 'break'
|
|
case 44764: // 'processing-instruction' 'break'
|
|
case 47187: // 'attribute' 'catch'
|
|
case 47226: // 'element' 'catch'
|
|
case 47291: // 'namespace' 'catch'
|
|
case 47324: // 'processing-instruction' 'catch'
|
|
case 48211: // 'attribute' 'child'
|
|
case 48250: // 'element' 'child'
|
|
case 48315: // 'namespace' 'child'
|
|
case 48348: // 'processing-instruction' 'child'
|
|
case 49747: // 'attribute' 'comment'
|
|
case 49786: // 'element' 'comment'
|
|
case 49851: // 'namespace' 'comment'
|
|
case 49884: // 'processing-instruction' 'comment'
|
|
case 50259: // 'attribute' 'constraint'
|
|
case 50298: // 'element' 'constraint'
|
|
case 50363: // 'namespace' 'constraint'
|
|
case 50396: // 'processing-instruction' 'constraint'
|
|
case 50771: // 'attribute' 'construction'
|
|
case 50810: // 'element' 'construction'
|
|
case 50875: // 'namespace' 'construction'
|
|
case 50908: // 'processing-instruction' 'construction'
|
|
case 52307: // 'attribute' 'context'
|
|
case 52346: // 'element' 'context'
|
|
case 52411: // 'namespace' 'context'
|
|
case 52444: // 'processing-instruction' 'context'
|
|
case 52819: // 'attribute' 'continue'
|
|
case 52858: // 'element' 'continue'
|
|
case 52923: // 'namespace' 'continue'
|
|
case 52956: // 'processing-instruction' 'continue'
|
|
case 53331: // 'attribute' 'copy'
|
|
case 53370: // 'element' 'copy'
|
|
case 53435: // 'namespace' 'copy'
|
|
case 53468: // 'processing-instruction' 'copy'
|
|
case 53843: // 'attribute' 'copy-namespaces'
|
|
case 53882: // 'element' 'copy-namespaces'
|
|
case 53947: // 'namespace' 'copy-namespaces'
|
|
case 53980: // 'processing-instruction' 'copy-namespaces'
|
|
case 54867: // 'attribute' 'decimal-format'
|
|
case 54906: // 'element' 'decimal-format'
|
|
case 54971: // 'namespace' 'decimal-format'
|
|
case 55004: // 'processing-instruction' 'decimal-format'
|
|
case 55891: // 'attribute' 'declare'
|
|
case 55930: // 'element' 'declare'
|
|
case 55995: // 'namespace' 'declare'
|
|
case 56028: // 'processing-instruction' 'declare'
|
|
case 56915: // 'attribute' 'delete'
|
|
case 56954: // 'element' 'delete'
|
|
case 57019: // 'namespace' 'delete'
|
|
case 57052: // 'processing-instruction' 'delete'
|
|
case 57427: // 'attribute' 'descendant'
|
|
case 57466: // 'element' 'descendant'
|
|
case 57531: // 'namespace' 'descendant'
|
|
case 57564: // 'processing-instruction' 'descendant'
|
|
case 57939: // 'attribute' 'descendant-or-self'
|
|
case 57978: // 'element' 'descendant-or-self'
|
|
case 58043: // 'namespace' 'descendant-or-self'
|
|
case 58076: // 'processing-instruction' 'descendant-or-self'
|
|
case 61523: // 'attribute' 'document'
|
|
case 61562: // 'element' 'document'
|
|
case 61627: // 'namespace' 'document'
|
|
case 61660: // 'processing-instruction' 'document'
|
|
case 62035: // 'attribute' 'document-node'
|
|
case 62074: // 'element' 'document-node'
|
|
case 62139: // 'namespace' 'document-node'
|
|
case 62172: // 'processing-instruction' 'document-node'
|
|
case 62547: // 'attribute' 'element'
|
|
case 62586: // 'element' 'element'
|
|
case 62651: // 'namespace' 'element'
|
|
case 62684: // 'processing-instruction' 'element'
|
|
case 64083: // 'attribute' 'empty-sequence'
|
|
case 64122: // 'element' 'empty-sequence'
|
|
case 64187: // 'namespace' 'empty-sequence'
|
|
case 64220: // 'processing-instruction' 'empty-sequence'
|
|
case 64595: // 'attribute' 'encoding'
|
|
case 64634: // 'element' 'encoding'
|
|
case 64699: // 'namespace' 'encoding'
|
|
case 64732: // 'processing-instruction' 'encoding'
|
|
case 66643: // 'attribute' 'every'
|
|
case 66682: // 'element' 'every'
|
|
case 66747: // 'namespace' 'every'
|
|
case 66780: // 'processing-instruction' 'every'
|
|
case 68179: // 'attribute' 'exit'
|
|
case 68218: // 'element' 'exit'
|
|
case 68283: // 'namespace' 'exit'
|
|
case 68316: // 'processing-instruction' 'exit'
|
|
case 68691: // 'attribute' 'external'
|
|
case 68730: // 'element' 'external'
|
|
case 68795: // 'namespace' 'external'
|
|
case 68828: // 'processing-instruction' 'external'
|
|
case 69203: // 'attribute' 'false'
|
|
case 69242: // 'element' 'false'
|
|
case 69307: // 'namespace' 'false'
|
|
case 69340: // 'processing-instruction' 'false'
|
|
case 69715: // 'attribute' 'first'
|
|
case 69754: // 'element' 'first'
|
|
case 69819: // 'namespace' 'first'
|
|
case 69852: // 'processing-instruction' 'first'
|
|
case 70227: // 'attribute' 'following'
|
|
case 70266: // 'element' 'following'
|
|
case 70331: // 'namespace' 'following'
|
|
case 70364: // 'processing-instruction' 'following'
|
|
case 70739: // 'attribute' 'following-sibling'
|
|
case 70778: // 'element' 'following-sibling'
|
|
case 70843: // 'namespace' 'following-sibling'
|
|
case 70876: // 'processing-instruction' 'following-sibling'
|
|
case 72787: // 'attribute' 'from'
|
|
case 72826: // 'element' 'from'
|
|
case 72891: // 'namespace' 'from'
|
|
case 72924: // 'processing-instruction' 'from'
|
|
case 73299: // 'attribute' 'ft-option'
|
|
case 73338: // 'element' 'ft-option'
|
|
case 73403: // 'namespace' 'ft-option'
|
|
case 73436: // 'processing-instruction' 'ft-option'
|
|
case 75347: // 'attribute' 'function'
|
|
case 75386: // 'element' 'function'
|
|
case 75451: // 'namespace' 'function'
|
|
case 75484: // 'processing-instruction' 'function'
|
|
case 78931: // 'attribute' 'if'
|
|
case 78970: // 'element' 'if'
|
|
case 79035: // 'namespace' 'if'
|
|
case 79068: // 'processing-instruction' 'if'
|
|
case 79443: // 'attribute' 'import'
|
|
case 79482: // 'element' 'import'
|
|
case 79547: // 'namespace' 'import'
|
|
case 79580: // 'processing-instruction' 'import'
|
|
case 79955: // 'attribute' 'in'
|
|
case 79994: // 'element' 'in'
|
|
case 80059: // 'namespace' 'in'
|
|
case 80092: // 'processing-instruction' 'in'
|
|
case 80467: // 'attribute' 'index'
|
|
case 80506: // 'element' 'index'
|
|
case 80571: // 'namespace' 'index'
|
|
case 80604: // 'processing-instruction' 'index'
|
|
case 82515: // 'attribute' 'insert'
|
|
case 82554: // 'element' 'insert'
|
|
case 82619: // 'namespace' 'insert'
|
|
case 82652: // 'processing-instruction' 'insert'
|
|
case 83539: // 'attribute' 'integrity'
|
|
case 83578: // 'element' 'integrity'
|
|
case 83643: // 'namespace' 'integrity'
|
|
case 83676: // 'processing-instruction' 'integrity'
|
|
case 85587: // 'attribute' 'item'
|
|
case 85626: // 'element' 'item'
|
|
case 85691: // 'namespace' 'item'
|
|
case 85724: // 'processing-instruction' 'item'
|
|
case 86099: // 'attribute' 'json'
|
|
case 86138: // 'element' 'json'
|
|
case 86203: // 'namespace' 'json'
|
|
case 86236: // 'processing-instruction' 'json'
|
|
case 86611: // 'attribute' 'json-item'
|
|
case 86650: // 'element' 'json-item'
|
|
case 87123: // 'attribute' 'jsoniq'
|
|
case 87162: // 'element' 'jsoniq'
|
|
case 87227: // 'namespace' 'jsoniq'
|
|
case 87260: // 'processing-instruction' 'jsoniq'
|
|
case 88659: // 'attribute' 'last'
|
|
case 88698: // 'element' 'last'
|
|
case 88763: // 'namespace' 'last'
|
|
case 88796: // 'processing-instruction' 'last'
|
|
case 89171: // 'attribute' 'lax'
|
|
case 89210: // 'element' 'lax'
|
|
case 89275: // 'namespace' 'lax'
|
|
case 89308: // 'processing-instruction' 'lax'
|
|
case 91731: // 'attribute' 'loop'
|
|
case 91770: // 'element' 'loop'
|
|
case 91835: // 'namespace' 'loop'
|
|
case 91868: // 'processing-instruction' 'loop'
|
|
case 94803: // 'attribute' 'module'
|
|
case 94842: // 'element' 'module'
|
|
case 94907: // 'namespace' 'module'
|
|
case 94940: // 'processing-instruction' 'module'
|
|
case 95827: // 'attribute' 'namespace'
|
|
case 95866: // 'element' 'namespace'
|
|
case 95931: // 'namespace' 'namespace'
|
|
case 95964: // 'processing-instruction' 'namespace'
|
|
case 96339: // 'attribute' 'namespace-node'
|
|
case 96378: // 'element' 'namespace-node'
|
|
case 96443: // 'namespace' 'namespace-node'
|
|
case 96476: // 'processing-instruction' 'namespace-node'
|
|
case 99411: // 'attribute' 'node'
|
|
case 99450: // 'element' 'node'
|
|
case 99515: // 'namespace' 'node'
|
|
case 99548: // 'processing-instruction' 'node'
|
|
case 99923: // 'attribute' 'nodes'
|
|
case 99962: // 'element' 'nodes'
|
|
case 100027: // 'namespace' 'nodes'
|
|
case 100060: // 'processing-instruction' 'nodes'
|
|
case 100947: // 'attribute' 'null'
|
|
case 100986: // 'element' 'null'
|
|
case 101051: // 'namespace' 'null'
|
|
case 101084: // 'processing-instruction' 'null'
|
|
case 101459: // 'attribute' 'object'
|
|
case 101498: // 'element' 'object'
|
|
case 101563: // 'namespace' 'object'
|
|
case 101596: // 'processing-instruction' 'object'
|
|
case 104019: // 'attribute' 'option'
|
|
case 104058: // 'element' 'option'
|
|
case 104123: // 'namespace' 'option'
|
|
case 104156: // 'processing-instruction' 'option'
|
|
case 105555: // 'attribute' 'ordered'
|
|
case 105594: // 'element' 'ordered'
|
|
case 105659: // 'namespace' 'ordered'
|
|
case 105692: // 'processing-instruction' 'ordered'
|
|
case 106067: // 'attribute' 'ordering'
|
|
case 106106: // 'element' 'ordering'
|
|
case 106171: // 'namespace' 'ordering'
|
|
case 106204: // 'processing-instruction' 'ordering'
|
|
case 107603: // 'attribute' 'parent'
|
|
case 107642: // 'element' 'parent'
|
|
case 107707: // 'namespace' 'parent'
|
|
case 107740: // 'processing-instruction' 'parent'
|
|
case 110675: // 'attribute' 'preceding'
|
|
case 110714: // 'element' 'preceding'
|
|
case 110779: // 'namespace' 'preceding'
|
|
case 110812: // 'processing-instruction' 'preceding'
|
|
case 111187: // 'attribute' 'preceding-sibling'
|
|
case 111226: // 'element' 'preceding-sibling'
|
|
case 111291: // 'namespace' 'preceding-sibling'
|
|
case 111324: // 'processing-instruction' 'preceding-sibling'
|
|
case 112723: // 'attribute' 'processing-instruction'
|
|
case 112762: // 'element' 'processing-instruction'
|
|
case 112827: // 'namespace' 'processing-instruction'
|
|
case 112860: // 'processing-instruction' 'processing-instruction'
|
|
case 113747: // 'attribute' 'rename'
|
|
case 113786: // 'element' 'rename'
|
|
case 113851: // 'namespace' 'rename'
|
|
case 113884: // 'processing-instruction' 'rename'
|
|
case 114259: // 'attribute' 'replace'
|
|
case 114298: // 'element' 'replace'
|
|
case 114363: // 'namespace' 'replace'
|
|
case 114396: // 'processing-instruction' 'replace'
|
|
case 115283: // 'attribute' 'returning'
|
|
case 115322: // 'element' 'returning'
|
|
case 115387: // 'namespace' 'returning'
|
|
case 115420: // 'processing-instruction' 'returning'
|
|
case 115795: // 'attribute' 'revalidation'
|
|
case 115834: // 'element' 'revalidation'
|
|
case 115899: // 'namespace' 'revalidation'
|
|
case 115932: // 'processing-instruction' 'revalidation'
|
|
case 117331: // 'attribute' 'schema'
|
|
case 117370: // 'element' 'schema'
|
|
case 117435: // 'namespace' 'schema'
|
|
case 117468: // 'processing-instruction' 'schema'
|
|
case 117843: // 'attribute' 'schema-attribute'
|
|
case 117882: // 'element' 'schema-attribute'
|
|
case 117947: // 'namespace' 'schema-attribute'
|
|
case 117980: // 'processing-instruction' 'schema-attribute'
|
|
case 118355: // 'attribute' 'schema-element'
|
|
case 118394: // 'element' 'schema-element'
|
|
case 118459: // 'namespace' 'schema-element'
|
|
case 118492: // 'processing-instruction' 'schema-element'
|
|
case 118867: // 'attribute' 'score'
|
|
case 118906: // 'element' 'score'
|
|
case 118971: // 'namespace' 'score'
|
|
case 119004: // 'processing-instruction' 'score'
|
|
case 119379: // 'attribute' 'select'
|
|
case 119418: // 'element' 'select'
|
|
case 119483: // 'namespace' 'select'
|
|
case 119516: // 'processing-instruction' 'select'
|
|
case 119891: // 'attribute' 'self'
|
|
case 119930: // 'element' 'self'
|
|
case 119995: // 'namespace' 'self'
|
|
case 120028: // 'processing-instruction' 'self'
|
|
case 122451: // 'attribute' 'sliding'
|
|
case 122490: // 'element' 'sliding'
|
|
case 122555: // 'namespace' 'sliding'
|
|
case 122588: // 'processing-instruction' 'sliding'
|
|
case 122963: // 'attribute' 'some'
|
|
case 123002: // 'element' 'some'
|
|
case 123067: // 'namespace' 'some'
|
|
case 123100: // 'processing-instruction' 'some'
|
|
case 125523: // 'attribute' 'strict'
|
|
case 125562: // 'element' 'strict'
|
|
case 125627: // 'namespace' 'strict'
|
|
case 125660: // 'processing-instruction' 'strict'
|
|
case 126547: // 'attribute' 'structured-item'
|
|
case 126586: // 'element' 'structured-item'
|
|
case 127059: // 'attribute' 'switch'
|
|
case 127098: // 'element' 'switch'
|
|
case 127163: // 'namespace' 'switch'
|
|
case 127196: // 'processing-instruction' 'switch'
|
|
case 127571: // 'attribute' 'text'
|
|
case 127610: // 'element' 'text'
|
|
case 127675: // 'namespace' 'text'
|
|
case 127708: // 'processing-instruction' 'text'
|
|
case 130643: // 'attribute' 'true'
|
|
case 130682: // 'element' 'true'
|
|
case 130747: // 'namespace' 'true'
|
|
case 130780: // 'processing-instruction' 'true'
|
|
case 131155: // 'attribute' 'try'
|
|
case 131194: // 'element' 'try'
|
|
case 131259: // 'namespace' 'try'
|
|
case 131292: // 'processing-instruction' 'try'
|
|
case 131667: // 'attribute' 'tumbling'
|
|
case 131706: // 'element' 'tumbling'
|
|
case 131771: // 'namespace' 'tumbling'
|
|
case 131804: // 'processing-instruction' 'tumbling'
|
|
case 132179: // 'attribute' 'type'
|
|
case 132218: // 'element' 'type'
|
|
case 132283: // 'namespace' 'type'
|
|
case 132316: // 'processing-instruction' 'type'
|
|
case 132691: // 'attribute' 'typeswitch'
|
|
case 132730: // 'element' 'typeswitch'
|
|
case 132795: // 'namespace' 'typeswitch'
|
|
case 132828: // 'processing-instruction' 'typeswitch'
|
|
case 134227: // 'attribute' 'unordered'
|
|
case 134266: // 'element' 'unordered'
|
|
case 134331: // 'namespace' 'unordered'
|
|
case 134364: // 'processing-instruction' 'unordered'
|
|
case 134739: // 'attribute' 'updating'
|
|
case 134778: // 'element' 'updating'
|
|
case 134843: // 'namespace' 'updating'
|
|
case 134876: // 'processing-instruction' 'updating'
|
|
case 136275: // 'attribute' 'validate'
|
|
case 136314: // 'element' 'validate'
|
|
case 136379: // 'namespace' 'validate'
|
|
case 136412: // 'processing-instruction' 'validate'
|
|
case 136787: // 'attribute' 'value'
|
|
case 136826: // 'element' 'value'
|
|
case 136891: // 'namespace' 'value'
|
|
case 136924: // 'processing-instruction' 'value'
|
|
case 137299: // 'attribute' 'variable'
|
|
case 137338: // 'element' 'variable'
|
|
case 137403: // 'namespace' 'variable'
|
|
case 137436: // 'processing-instruction' 'variable'
|
|
case 137811: // 'attribute' 'version'
|
|
case 137850: // 'element' 'version'
|
|
case 137915: // 'namespace' 'version'
|
|
case 137948: // 'processing-instruction' 'version'
|
|
case 139859: // 'attribute' 'while'
|
|
case 139898: // 'element' 'while'
|
|
case 139963: // 'namespace' 'while'
|
|
case 139996: // 'processing-instruction' 'while'
|
|
case 143955: // 'attribute' '{'
|
|
case 143969: // 'comment' '{'
|
|
case 143992: // 'document' '{'
|
|
case 143994: // 'element' '{'
|
|
case 144059: // 'namespace' '{'
|
|
case 144078: // 'ordered' '{'
|
|
case 144092: // 'processing-instruction' '{'
|
|
case 144121: // 'text' '{'
|
|
case 144134: // 'unordered' '{'
|
|
parse_PostfixExpr();
|
|
break;
|
|
default:
|
|
parse_AxisStep();
|
|
}
|
|
eventHandler.endNonterminal("StepExpr", e0);
|
|
}
|
|
|
|
function try_StepExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
lookahead2W(287); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 122: // 'element'
|
|
lookahead2W(286); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 187: // 'namespace'
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(284); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
|
|
break;
|
|
case 97: // 'comment'
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 249: // 'text'
|
|
case 262: // 'unordered'
|
|
lookahead2W(238); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 79: // 'array'
|
|
case 125: // 'empty-sequence'
|
|
case 154: // 'if'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 247: // 'structured-item'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 94: // 'child'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 234: // 'self'
|
|
lookahead2W(237); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 76: // 'and'
|
|
case 78: // 'append'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 87: // 'break'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 103: // 'continue'
|
|
case 104: // 'copy'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 111: // 'delete'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 121: // 'document-node'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 130: // 'every'
|
|
case 132: // 'except'
|
|
case 133: // 'exit'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 139: // 'for'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 147: // 'function'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 161: // 'insert'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 177: // 'let'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 188: // 'namespace-node'
|
|
case 189: // 'ne'
|
|
case 194: // 'node'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 222: // 'rename'
|
|
case 223: // 'replace'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 239: // 'sliding'
|
|
case 240: // 'some'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 256: // 'try'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 266: // 'validate'
|
|
case 267: // 'value'
|
|
case 268: // 'variable'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 12935 // 'false' EOF
|
|
|| lk == 12997 // 'null' EOF
|
|
|| lk == 13055 // 'true' EOF
|
|
|| lk == 13447 // 'false' '!'
|
|
|| lk == 13509 // 'null' '!'
|
|
|| lk == 13567 // 'true' '!'
|
|
|| lk == 13959 // 'false' '!='
|
|
|| lk == 14021 // 'null' '!='
|
|
|| lk == 14079 // 'true' '!='
|
|
|| lk == 19591 // 'false' ')'
|
|
|| lk == 19653 // 'null' ')'
|
|
|| lk == 19711 // 'true' ')'
|
|
|| lk == 20103 // 'false' '*'
|
|
|| lk == 20165 // 'null' '*'
|
|
|| lk == 20223 // 'true' '*'
|
|
|| lk == 21127 // 'false' '+'
|
|
|| lk == 21189 // 'null' '+'
|
|
|| lk == 21247 // 'true' '+'
|
|
|| lk == 21639 // 'false' ','
|
|
|| lk == 21701 // 'null' ','
|
|
|| lk == 21759 // 'true' ','
|
|
|| lk == 22151 // 'false' '-'
|
|
|| lk == 22213 // 'null' '-'
|
|
|| lk == 22271 // 'true' '-'
|
|
|| lk == 24199 // 'false' '/'
|
|
|| lk == 24261 // 'null' '/'
|
|
|| lk == 24319 // 'true' '/'
|
|
|| lk == 24711 // 'false' '//'
|
|
|| lk == 24773 // 'null' '//'
|
|
|| lk == 24831 // 'true' '//'
|
|
|| lk == 25735 // 'false' ':'
|
|
|| lk == 25797 // 'null' ':'
|
|
|| lk == 25855 // 'true' ':'
|
|
|| lk == 27783 // 'false' ';'
|
|
|| lk == 27845 // 'null' ';'
|
|
|| lk == 27903 // 'true' ';'
|
|
|| lk == 28295 // 'false' '<'
|
|
|| lk == 28357 // 'null' '<'
|
|
|| lk == 28415 // 'true' '<'
|
|
|| lk == 29831 // 'false' '<<'
|
|
|| lk == 29893 // 'null' '<<'
|
|
|| lk == 29951 // 'true' '<<'
|
|
|| lk == 30343 // 'false' '<='
|
|
|| lk == 30405 // 'null' '<='
|
|
|| lk == 30463 // 'true' '<='
|
|
|| lk == 31367 // 'false' '='
|
|
|| lk == 31429 // 'null' '='
|
|
|| lk == 31487 // 'true' '='
|
|
|| lk == 31879 // 'false' '>'
|
|
|| lk == 31941 // 'null' '>'
|
|
|| lk == 31999 // 'true' '>'
|
|
|| lk == 32391 // 'false' '>='
|
|
|| lk == 32453 // 'null' '>='
|
|
|| lk == 32511 // 'true' '>='
|
|
|| lk == 32903 // 'false' '>>'
|
|
|| lk == 32965 // 'null' '>>'
|
|
|| lk == 33023 // 'true' '>>'
|
|
|| lk == 35463 // 'false' '['
|
|
|| lk == 35525 // 'null' '['
|
|
|| lk == 35583 // 'true' '['
|
|
|| lk == 35975 // 'false' ']'
|
|
|| lk == 36037 // 'null' ']'
|
|
|| lk == 36095 // 'true' ']'
|
|
|| lk == 36435 // 'attribute' 'after'
|
|
|| lk == 36474 // 'element' 'after'
|
|
|| lk == 36487 // 'false' 'after'
|
|
|| lk == 36539 // 'namespace' 'after'
|
|
|| lk == 36549 // 'null' 'after'
|
|
|| lk == 36572 // 'processing-instruction' 'after'
|
|
|| lk == 36607 // 'true' 'after'
|
|
|| lk == 38995 // 'attribute' 'and'
|
|
|| lk == 39034 // 'element' 'and'
|
|
|| lk == 39047 // 'false' 'and'
|
|
|| lk == 39099 // 'namespace' 'and'
|
|
|| lk == 39109 // 'null' 'and'
|
|
|| lk == 39132 // 'processing-instruction' 'and'
|
|
|| lk == 39167 // 'true' 'and'
|
|
|| lk == 41043 // 'attribute' 'as'
|
|
|| lk == 41082 // 'element' 'as'
|
|
|| lk == 41095 // 'false' 'as'
|
|
|| lk == 41147 // 'namespace' 'as'
|
|
|| lk == 41157 // 'null' 'as'
|
|
|| lk == 41180 // 'processing-instruction' 'as'
|
|
|| lk == 41215 // 'true' 'as'
|
|
|| lk == 41555 // 'attribute' 'ascending'
|
|
|| lk == 41594 // 'element' 'ascending'
|
|
|| lk == 41607 // 'false' 'ascending'
|
|
|| lk == 41659 // 'namespace' 'ascending'
|
|
|| lk == 41669 // 'null' 'ascending'
|
|
|| lk == 41692 // 'processing-instruction' 'ascending'
|
|
|| lk == 41727 // 'true' 'ascending'
|
|
|| lk == 42067 // 'attribute' 'at'
|
|
|| lk == 42106 // 'element' 'at'
|
|
|| lk == 42119 // 'false' 'at'
|
|
|| lk == 42171 // 'namespace' 'at'
|
|
|| lk == 42181 // 'null' 'at'
|
|
|| lk == 42204 // 'processing-instruction' 'at'
|
|
|| lk == 42239 // 'true' 'at'
|
|
|| lk == 43603 // 'attribute' 'before'
|
|
|| lk == 43642 // 'element' 'before'
|
|
|| lk == 43655 // 'false' 'before'
|
|
|| lk == 43707 // 'namespace' 'before'
|
|
|| lk == 43717 // 'null' 'before'
|
|
|| lk == 43740 // 'processing-instruction' 'before'
|
|
|| lk == 43775 // 'true' 'before'
|
|
|| lk == 45191 // 'false' 'by'
|
|
|| lk == 45253 // 'null' 'by'
|
|
|| lk == 45311 // 'true' 'by'
|
|
|| lk == 45651 // 'attribute' 'case'
|
|
|| lk == 45690 // 'element' 'case'
|
|
|| lk == 45703 // 'false' 'case'
|
|
|| lk == 45755 // 'namespace' 'case'
|
|
|| lk == 45765 // 'null' 'case'
|
|
|| lk == 45788 // 'processing-instruction' 'case'
|
|
|| lk == 45823 // 'true' 'case'
|
|
|| lk == 46163 // 'attribute' 'cast'
|
|
|| lk == 46202 // 'element' 'cast'
|
|
|| lk == 46215 // 'false' 'cast'
|
|
|| lk == 46267 // 'namespace' 'cast'
|
|
|| lk == 46277 // 'null' 'cast'
|
|
|| lk == 46300 // 'processing-instruction' 'cast'
|
|
|| lk == 46335 // 'true' 'cast'
|
|
|| lk == 46675 // 'attribute' 'castable'
|
|
|| lk == 46714 // 'element' 'castable'
|
|
|| lk == 46727 // 'false' 'castable'
|
|
|| lk == 46779 // 'namespace' 'castable'
|
|
|| lk == 46789 // 'null' 'castable'
|
|
|| lk == 46812 // 'processing-instruction' 'castable'
|
|
|| lk == 46847 // 'true' 'castable'
|
|
|| lk == 48723 // 'attribute' 'collation'
|
|
|| lk == 48762 // 'element' 'collation'
|
|
|| lk == 48775 // 'false' 'collation'
|
|
|| lk == 48827 // 'namespace' 'collation'
|
|
|| lk == 48837 // 'null' 'collation'
|
|
|| lk == 48860 // 'processing-instruction' 'collation'
|
|
|| lk == 48895 // 'true' 'collation'
|
|
|| lk == 51335 // 'false' 'contains'
|
|
|| lk == 51397 // 'null' 'contains'
|
|
|| lk == 51455 // 'true' 'contains'
|
|
|| lk == 54355 // 'attribute' 'count'
|
|
|| lk == 54394 // 'element' 'count'
|
|
|| lk == 54407 // 'false' 'count'
|
|
|| lk == 54459 // 'namespace' 'count'
|
|
|| lk == 54469 // 'null' 'count'
|
|
|| lk == 54492 // 'processing-instruction' 'count'
|
|
|| lk == 54527 // 'true' 'count'
|
|
|| lk == 56403 // 'attribute' 'default'
|
|
|| lk == 56442 // 'element' 'default'
|
|
|| lk == 56455 // 'false' 'default'
|
|
|| lk == 56507 // 'namespace' 'default'
|
|
|| lk == 56517 // 'null' 'default'
|
|
|| lk == 56540 // 'processing-instruction' 'default'
|
|
|| lk == 56575 // 'true' 'default'
|
|
|| lk == 58451 // 'attribute' 'descending'
|
|
|| lk == 58490 // 'element' 'descending'
|
|
|| lk == 58503 // 'false' 'descending'
|
|
|| lk == 58555 // 'namespace' 'descending'
|
|
|| lk == 58565 // 'null' 'descending'
|
|
|| lk == 58588 // 'processing-instruction' 'descending'
|
|
|| lk == 58623 // 'true' 'descending'
|
|
|| lk == 61011 // 'attribute' 'div'
|
|
|| lk == 61050 // 'element' 'div'
|
|
|| lk == 61063 // 'false' 'div'
|
|
|| lk == 61115 // 'namespace' 'div'
|
|
|| lk == 61125 // 'null' 'div'
|
|
|| lk == 61148 // 'processing-instruction' 'div'
|
|
|| lk == 61183 // 'true' 'div'
|
|
|| lk == 63059 // 'attribute' 'else'
|
|
|| lk == 63098 // 'element' 'else'
|
|
|| lk == 63111 // 'false' 'else'
|
|
|| lk == 63163 // 'namespace' 'else'
|
|
|| lk == 63173 // 'null' 'else'
|
|
|| lk == 63196 // 'processing-instruction' 'else'
|
|
|| lk == 63231 // 'true' 'else'
|
|
|| lk == 63571 // 'attribute' 'empty'
|
|
|| lk == 63610 // 'element' 'empty'
|
|
|| lk == 63623 // 'false' 'empty'
|
|
|| lk == 63675 // 'namespace' 'empty'
|
|
|| lk == 63685 // 'null' 'empty'
|
|
|| lk == 63708 // 'processing-instruction' 'empty'
|
|
|| lk == 63743 // 'true' 'empty'
|
|
|| lk == 65107 // 'attribute' 'end'
|
|
|| lk == 65146 // 'element' 'end'
|
|
|| lk == 65159 // 'false' 'end'
|
|
|| lk == 65211 // 'namespace' 'end'
|
|
|| lk == 65221 // 'null' 'end'
|
|
|| lk == 65244 // 'processing-instruction' 'end'
|
|
|| lk == 65279 // 'true' 'end'
|
|
|| lk == 66131 // 'attribute' 'eq'
|
|
|| lk == 66170 // 'element' 'eq'
|
|
|| lk == 66183 // 'false' 'eq'
|
|
|| lk == 66235 // 'namespace' 'eq'
|
|
|| lk == 66245 // 'null' 'eq'
|
|
|| lk == 66268 // 'processing-instruction' 'eq'
|
|
|| lk == 66303 // 'true' 'eq'
|
|
|| lk == 67667 // 'attribute' 'except'
|
|
|| lk == 67706 // 'element' 'except'
|
|
|| lk == 67719 // 'false' 'except'
|
|
|| lk == 67771 // 'namespace' 'except'
|
|
|| lk == 67781 // 'null' 'except'
|
|
|| lk == 67804 // 'processing-instruction' 'except'
|
|
|| lk == 67839 // 'true' 'except'
|
|
|| lk == 71251 // 'attribute' 'for'
|
|
|| lk == 71290 // 'element' 'for'
|
|
|| lk == 71303 // 'false' 'for'
|
|
|| lk == 71355 // 'namespace' 'for'
|
|
|| lk == 71365 // 'null' 'for'
|
|
|| lk == 71388 // 'processing-instruction' 'for'
|
|
|| lk == 71423 // 'true' 'for'
|
|
|| lk == 75859 // 'attribute' 'ge'
|
|
|| lk == 75898 // 'element' 'ge'
|
|
|| lk == 75911 // 'false' 'ge'
|
|
|| lk == 75963 // 'namespace' 'ge'
|
|
|| lk == 75973 // 'null' 'ge'
|
|
|| lk == 75996 // 'processing-instruction' 'ge'
|
|
|| lk == 76031 // 'true' 'ge'
|
|
|| lk == 76883 // 'attribute' 'group'
|
|
|| lk == 76922 // 'element' 'group'
|
|
|| lk == 76935 // 'false' 'group'
|
|
|| lk == 76987 // 'namespace' 'group'
|
|
|| lk == 76997 // 'null' 'group'
|
|
|| lk == 77020 // 'processing-instruction' 'group'
|
|
|| lk == 77055 // 'true' 'group'
|
|
|| lk == 77907 // 'attribute' 'gt'
|
|
|| lk == 77946 // 'element' 'gt'
|
|
|| lk == 77959 // 'false' 'gt'
|
|
|| lk == 78011 // 'namespace' 'gt'
|
|
|| lk == 78021 // 'null' 'gt'
|
|
|| lk == 78044 // 'processing-instruction' 'gt'
|
|
|| lk == 78079 // 'true' 'gt'
|
|
|| lk == 78419 // 'attribute' 'idiv'
|
|
|| lk == 78458 // 'element' 'idiv'
|
|
|| lk == 78471 // 'false' 'idiv'
|
|
|| lk == 78523 // 'namespace' 'idiv'
|
|
|| lk == 78533 // 'null' 'idiv'
|
|
|| lk == 78556 // 'processing-instruction' 'idiv'
|
|
|| lk == 78591 // 'true' 'idiv'
|
|
|| lk == 83027 // 'attribute' 'instance'
|
|
|| lk == 83066 // 'element' 'instance'
|
|
|| lk == 83079 // 'false' 'instance'
|
|
|| lk == 83131 // 'namespace' 'instance'
|
|
|| lk == 83141 // 'null' 'instance'
|
|
|| lk == 83164 // 'processing-instruction' 'instance'
|
|
|| lk == 83199 // 'true' 'instance'
|
|
|| lk == 84051 // 'attribute' 'intersect'
|
|
|| lk == 84090 // 'element' 'intersect'
|
|
|| lk == 84103 // 'false' 'intersect'
|
|
|| lk == 84155 // 'namespace' 'intersect'
|
|
|| lk == 84165 // 'null' 'intersect'
|
|
|| lk == 84188 // 'processing-instruction' 'intersect'
|
|
|| lk == 84223 // 'true' 'intersect'
|
|
|| lk == 84563 // 'attribute' 'into'
|
|
|| lk == 84602 // 'element' 'into'
|
|
|| lk == 84615 // 'false' 'into'
|
|
|| lk == 84667 // 'namespace' 'into'
|
|
|| lk == 84677 // 'null' 'into'
|
|
|| lk == 84700 // 'processing-instruction' 'into'
|
|
|| lk == 84735 // 'true' 'into'
|
|
|| lk == 85075 // 'attribute' 'is'
|
|
|| lk == 85114 // 'element' 'is'
|
|
|| lk == 85127 // 'false' 'is'
|
|
|| lk == 85179 // 'namespace' 'is'
|
|
|| lk == 85189 // 'null' 'is'
|
|
|| lk == 85212 // 'processing-instruction' 'is'
|
|
|| lk == 85247 // 'true' 'is'
|
|
|| lk == 89683 // 'attribute' 'le'
|
|
|| lk == 89722 // 'element' 'le'
|
|
|| lk == 89735 // 'false' 'le'
|
|
|| lk == 89787 // 'namespace' 'le'
|
|
|| lk == 89797 // 'null' 'le'
|
|
|| lk == 89820 // 'processing-instruction' 'le'
|
|
|| lk == 89855 // 'true' 'le'
|
|
|| lk == 90707 // 'attribute' 'let'
|
|
|| lk == 90746 // 'element' 'let'
|
|
|| lk == 90759 // 'false' 'let'
|
|
|| lk == 90811 // 'namespace' 'let'
|
|
|| lk == 90821 // 'null' 'let'
|
|
|| lk == 90844 // 'processing-instruction' 'let'
|
|
|| lk == 90879 // 'true' 'let'
|
|
|| lk == 92755 // 'attribute' 'lt'
|
|
|| lk == 92794 // 'element' 'lt'
|
|
|| lk == 92807 // 'false' 'lt'
|
|
|| lk == 92859 // 'namespace' 'lt'
|
|
|| lk == 92869 // 'null' 'lt'
|
|
|| lk == 92892 // 'processing-instruction' 'lt'
|
|
|| lk == 92927 // 'true' 'lt'
|
|
|| lk == 93779 // 'attribute' 'mod'
|
|
|| lk == 93818 // 'element' 'mod'
|
|
|| lk == 93831 // 'false' 'mod'
|
|
|| lk == 93883 // 'namespace' 'mod'
|
|
|| lk == 93893 // 'null' 'mod'
|
|
|| lk == 93916 // 'processing-instruction' 'mod'
|
|
|| lk == 93951 // 'true' 'mod'
|
|
|| lk == 94291 // 'attribute' 'modify'
|
|
|| lk == 94330 // 'element' 'modify'
|
|
|| lk == 94343 // 'false' 'modify'
|
|
|| lk == 94395 // 'namespace' 'modify'
|
|
|| lk == 94405 // 'null' 'modify'
|
|
|| lk == 94428 // 'processing-instruction' 'modify'
|
|
|| lk == 94463 // 'true' 'modify'
|
|
|| lk == 96851 // 'attribute' 'ne'
|
|
|| lk == 96890 // 'element' 'ne'
|
|
|| lk == 96903 // 'false' 'ne'
|
|
|| lk == 96955 // 'namespace' 'ne'
|
|
|| lk == 96965 // 'null' 'ne'
|
|
|| lk == 96988 // 'processing-instruction' 'ne'
|
|
|| lk == 97023 // 'true' 'ne'
|
|
|| lk == 103507 // 'attribute' 'only'
|
|
|| lk == 103546 // 'element' 'only'
|
|
|| lk == 103559 // 'false' 'only'
|
|
|| lk == 103611 // 'namespace' 'only'
|
|
|| lk == 103621 // 'null' 'only'
|
|
|| lk == 103644 // 'processing-instruction' 'only'
|
|
|| lk == 103679 // 'true' 'only'
|
|
|| lk == 104531 // 'attribute' 'or'
|
|
|| lk == 104570 // 'element' 'or'
|
|
|| lk == 104583 // 'false' 'or'
|
|
|| lk == 104635 // 'namespace' 'or'
|
|
|| lk == 104645 // 'null' 'or'
|
|
|| lk == 104668 // 'processing-instruction' 'or'
|
|
|| lk == 104703 // 'true' 'or'
|
|
|| lk == 105043 // 'attribute' 'order'
|
|
|| lk == 105082 // 'element' 'order'
|
|
|| lk == 105095 // 'false' 'order'
|
|
|| lk == 105147 // 'namespace' 'order'
|
|
|| lk == 105157 // 'null' 'order'
|
|
|| lk == 105180 // 'processing-instruction' 'order'
|
|
|| lk == 105215 // 'true' 'order'
|
|
|| lk == 107143 // 'false' 'paragraphs'
|
|
|| lk == 107205 // 'null' 'paragraphs'
|
|
|| lk == 107263 // 'true' 'paragraphs'
|
|
|| lk == 114771 // 'attribute' 'return'
|
|
|| lk == 114810 // 'element' 'return'
|
|
|| lk == 114823 // 'false' 'return'
|
|
|| lk == 114875 // 'namespace' 'return'
|
|
|| lk == 114885 // 'null' 'return'
|
|
|| lk == 114908 // 'processing-instruction' 'return'
|
|
|| lk == 114943 // 'true' 'return'
|
|
|| lk == 116819 // 'attribute' 'satisfies'
|
|
|| lk == 116858 // 'element' 'satisfies'
|
|
|| lk == 116871 // 'false' 'satisfies'
|
|
|| lk == 116923 // 'namespace' 'satisfies'
|
|
|| lk == 116933 // 'null' 'satisfies'
|
|
|| lk == 116956 // 'processing-instruction' 'satisfies'
|
|
|| lk == 116991 // 'true' 'satisfies'
|
|
|| lk == 121479 // 'false' 'sentences'
|
|
|| lk == 121541 // 'null' 'sentences'
|
|
|| lk == 121599 // 'true' 'sentences'
|
|
|| lk == 123475 // 'attribute' 'stable'
|
|
|| lk == 123514 // 'element' 'stable'
|
|
|| lk == 123527 // 'false' 'stable'
|
|
|| lk == 123579 // 'namespace' 'stable'
|
|
|| lk == 123589 // 'null' 'stable'
|
|
|| lk == 123612 // 'processing-instruction' 'stable'
|
|
|| lk == 123647 // 'true' 'stable'
|
|
|| lk == 123987 // 'attribute' 'start'
|
|
|| lk == 124026 // 'element' 'start'
|
|
|| lk == 124039 // 'false' 'start'
|
|
|| lk == 124091 // 'namespace' 'start'
|
|
|| lk == 124101 // 'null' 'start'
|
|
|| lk == 124124 // 'processing-instruction' 'start'
|
|
|| lk == 124159 // 'true' 'start'
|
|
|| lk == 129159 // 'false' 'times'
|
|
|| lk == 129221 // 'null' 'times'
|
|
|| lk == 129279 // 'true' 'times'
|
|
|| lk == 129619 // 'attribute' 'to'
|
|
|| lk == 129658 // 'element' 'to'
|
|
|| lk == 129671 // 'false' 'to'
|
|
|| lk == 129723 // 'namespace' 'to'
|
|
|| lk == 129733 // 'null' 'to'
|
|
|| lk == 129756 // 'processing-instruction' 'to'
|
|
|| lk == 129791 // 'true' 'to'
|
|
|| lk == 130131 // 'attribute' 'treat'
|
|
|| lk == 130170 // 'element' 'treat'
|
|
|| lk == 130183 // 'false' 'treat'
|
|
|| lk == 130235 // 'namespace' 'treat'
|
|
|| lk == 130245 // 'null' 'treat'
|
|
|| lk == 130268 // 'processing-instruction' 'treat'
|
|
|| lk == 130303 // 'true' 'treat'
|
|
|| lk == 133203 // 'attribute' 'union'
|
|
|| lk == 133242 // 'element' 'union'
|
|
|| lk == 133255 // 'false' 'union'
|
|
|| lk == 133307 // 'namespace' 'union'
|
|
|| lk == 133317 // 'null' 'union'
|
|
|| lk == 133340 // 'processing-instruction' 'union'
|
|
|| lk == 133375 // 'true' 'union'
|
|
|| lk == 139347 // 'attribute' 'where'
|
|
|| lk == 139386 // 'element' 'where'
|
|
|| lk == 139399 // 'false' 'where'
|
|
|| lk == 139451 // 'namespace' 'where'
|
|
|| lk == 139461 // 'null' 'where'
|
|
|| lk == 139484 // 'processing-instruction' 'where'
|
|
|| lk == 139519 // 'true' 'where'
|
|
|| lk == 141395 // 'attribute' 'with'
|
|
|| lk == 141434 // 'element' 'with'
|
|
|| lk == 141447 // 'false' 'with'
|
|
|| lk == 141499 // 'namespace' 'with'
|
|
|| lk == 141509 // 'null' 'with'
|
|
|| lk == 141532 // 'processing-instruction' 'with'
|
|
|| lk == 141567 // 'true' 'with'
|
|
|| lk == 142983 // 'false' 'words'
|
|
|| lk == 143045 // 'null' 'words'
|
|
|| lk == 143103 // 'true' 'words'
|
|
|| lk == 145543 // 'false' '|'
|
|
|| lk == 145605 // 'null' '|'
|
|
|| lk == 145663 // 'true' '|'
|
|
|| lk == 146055 // 'false' '||'
|
|
|| lk == 146117 // 'null' '||'
|
|
|| lk == 146175 // 'true' '||'
|
|
|| lk == 146567 // 'false' '|}'
|
|
|| lk == 146629 // 'null' '|}'
|
|
|| lk == 146687 // 'true' '|}'
|
|
|| lk == 147079 // 'false' '}'
|
|
|| lk == 147141 // 'null' '}'
|
|
|| lk == 147199) // 'true' '}'
|
|
{
|
|
lk = memoized(4, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_PostfixExpr();
|
|
memoize(4, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(4, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 31: // '$'
|
|
case 32: // '$$'
|
|
case 33: // '%'
|
|
case 35: // '('
|
|
case 55: // '<'
|
|
case 56: // '<!--'
|
|
case 60: // '<?'
|
|
case 69: // '['
|
|
case 281: // '{'
|
|
case 283: // '{|'
|
|
case 3155: // 'attribute' EQName^Token
|
|
case 3194: // 'element' EQName^Token
|
|
case 9915: // 'namespace' NCName^Token
|
|
case 9948: // 'processing-instruction' NCName^Token
|
|
case 14854: // EQName^Token '#'
|
|
case 14919: // 'after' '#'
|
|
case 14921: // 'allowing' '#'
|
|
case 14922: // 'ancestor' '#'
|
|
case 14923: // 'ancestor-or-self' '#'
|
|
case 14924: // 'and' '#'
|
|
case 14926: // 'append' '#'
|
|
case 14927: // 'array' '#'
|
|
case 14928: // 'as' '#'
|
|
case 14929: // 'ascending' '#'
|
|
case 14930: // 'at' '#'
|
|
case 14931: // 'attribute' '#'
|
|
case 14932: // 'base-uri' '#'
|
|
case 14933: // 'before' '#'
|
|
case 14934: // 'boundary-space' '#'
|
|
case 14935: // 'break' '#'
|
|
case 14937: // 'case' '#'
|
|
case 14938: // 'cast' '#'
|
|
case 14939: // 'castable' '#'
|
|
case 14940: // 'catch' '#'
|
|
case 14942: // 'child' '#'
|
|
case 14943: // 'collation' '#'
|
|
case 14945: // 'comment' '#'
|
|
case 14946: // 'constraint' '#'
|
|
case 14947: // 'construction' '#'
|
|
case 14950: // 'context' '#'
|
|
case 14951: // 'continue' '#'
|
|
case 14952: // 'copy' '#'
|
|
case 14953: // 'copy-namespaces' '#'
|
|
case 14954: // 'count' '#'
|
|
case 14955: // 'decimal-format' '#'
|
|
case 14957: // 'declare' '#'
|
|
case 14958: // 'default' '#'
|
|
case 14959: // 'delete' '#'
|
|
case 14960: // 'descendant' '#'
|
|
case 14961: // 'descendant-or-self' '#'
|
|
case 14962: // 'descending' '#'
|
|
case 14967: // 'div' '#'
|
|
case 14968: // 'document' '#'
|
|
case 14969: // 'document-node' '#'
|
|
case 14970: // 'element' '#'
|
|
case 14971: // 'else' '#'
|
|
case 14972: // 'empty' '#'
|
|
case 14973: // 'empty-sequence' '#'
|
|
case 14974: // 'encoding' '#'
|
|
case 14975: // 'end' '#'
|
|
case 14977: // 'eq' '#'
|
|
case 14978: // 'every' '#'
|
|
case 14980: // 'except' '#'
|
|
case 14981: // 'exit' '#'
|
|
case 14982: // 'external' '#'
|
|
case 14983: // 'false' '#'
|
|
case 14984: // 'first' '#'
|
|
case 14985: // 'following' '#'
|
|
case 14986: // 'following-sibling' '#'
|
|
case 14987: // 'for' '#'
|
|
case 14990: // 'from' '#'
|
|
case 14991: // 'ft-option' '#'
|
|
case 14995: // 'function' '#'
|
|
case 14996: // 'ge' '#'
|
|
case 14998: // 'group' '#'
|
|
case 15000: // 'gt' '#'
|
|
case 15001: // 'idiv' '#'
|
|
case 15002: // 'if' '#'
|
|
case 15003: // 'import' '#'
|
|
case 15004: // 'in' '#'
|
|
case 15005: // 'index' '#'
|
|
case 15009: // 'insert' '#'
|
|
case 15010: // 'instance' '#'
|
|
case 15011: // 'integrity' '#'
|
|
case 15012: // 'intersect' '#'
|
|
case 15013: // 'into' '#'
|
|
case 15014: // 'is' '#'
|
|
case 15015: // 'item' '#'
|
|
case 15016: // 'json' '#'
|
|
case 15017: // 'json-item' '#'
|
|
case 15018: // 'jsoniq' '#'
|
|
case 15021: // 'last' '#'
|
|
case 15022: // 'lax' '#'
|
|
case 15023: // 'le' '#'
|
|
case 15025: // 'let' '#'
|
|
case 15027: // 'loop' '#'
|
|
case 15029: // 'lt' '#'
|
|
case 15031: // 'mod' '#'
|
|
case 15032: // 'modify' '#'
|
|
case 15033: // 'module' '#'
|
|
case 15035: // 'namespace' '#'
|
|
case 15036: // 'namespace-node' '#'
|
|
case 15037: // 'ne' '#'
|
|
case 15042: // 'node' '#'
|
|
case 15043: // 'nodes' '#'
|
|
case 15045: // 'null' '#'
|
|
case 15046: // 'object' '#'
|
|
case 15050: // 'only' '#'
|
|
case 15051: // 'option' '#'
|
|
case 15052: // 'or' '#'
|
|
case 15053: // 'order' '#'
|
|
case 15054: // 'ordered' '#'
|
|
case 15055: // 'ordering' '#'
|
|
case 15058: // 'parent' '#'
|
|
case 15064: // 'preceding' '#'
|
|
case 15065: // 'preceding-sibling' '#'
|
|
case 15068: // 'processing-instruction' '#'
|
|
case 15070: // 'rename' '#'
|
|
case 15071: // 'replace' '#'
|
|
case 15072: // 'return' '#'
|
|
case 15073: // 'returning' '#'
|
|
case 15074: // 'revalidation' '#'
|
|
case 15076: // 'satisfies' '#'
|
|
case 15077: // 'schema' '#'
|
|
case 15078: // 'schema-attribute' '#'
|
|
case 15079: // 'schema-element' '#'
|
|
case 15080: // 'score' '#'
|
|
case 15081: // 'select' '#'
|
|
case 15082: // 'self' '#'
|
|
case 15087: // 'sliding' '#'
|
|
case 15088: // 'some' '#'
|
|
case 15089: // 'stable' '#'
|
|
case 15090: // 'start' '#'
|
|
case 15093: // 'strict' '#'
|
|
case 15095: // 'structured-item' '#'
|
|
case 15096: // 'switch' '#'
|
|
case 15097: // 'text' '#'
|
|
case 15101: // 'to' '#'
|
|
case 15102: // 'treat' '#'
|
|
case 15103: // 'true' '#'
|
|
case 15104: // 'try' '#'
|
|
case 15105: // 'tumbling' '#'
|
|
case 15106: // 'type' '#'
|
|
case 15107: // 'typeswitch' '#'
|
|
case 15108: // 'union' '#'
|
|
case 15110: // 'unordered' '#'
|
|
case 15111: // 'updating' '#'
|
|
case 15114: // 'validate' '#'
|
|
case 15115: // 'value' '#'
|
|
case 15116: // 'variable' '#'
|
|
case 15117: // 'version' '#'
|
|
case 15120: // 'where' '#'
|
|
case 15121: // 'while' '#'
|
|
case 15124: // 'with' '#'
|
|
case 17926: // EQName^Token '('
|
|
case 17991: // 'after' '('
|
|
case 17993: // 'allowing' '('
|
|
case 17994: // 'ancestor' '('
|
|
case 17995: // 'ancestor-or-self' '('
|
|
case 17996: // 'and' '('
|
|
case 17998: // 'append' '('
|
|
case 18000: // 'as' '('
|
|
case 18001: // 'ascending' '('
|
|
case 18002: // 'at' '('
|
|
case 18004: // 'base-uri' '('
|
|
case 18005: // 'before' '('
|
|
case 18006: // 'boundary-space' '('
|
|
case 18007: // 'break' '('
|
|
case 18009: // 'case' '('
|
|
case 18010: // 'cast' '('
|
|
case 18011: // 'castable' '('
|
|
case 18012: // 'catch' '('
|
|
case 18014: // 'child' '('
|
|
case 18015: // 'collation' '('
|
|
case 18018: // 'constraint' '('
|
|
case 18019: // 'construction' '('
|
|
case 18022: // 'context' '('
|
|
case 18023: // 'continue' '('
|
|
case 18024: // 'copy' '('
|
|
case 18025: // 'copy-namespaces' '('
|
|
case 18026: // 'count' '('
|
|
case 18027: // 'decimal-format' '('
|
|
case 18029: // 'declare' '('
|
|
case 18030: // 'default' '('
|
|
case 18031: // 'delete' '('
|
|
case 18032: // 'descendant' '('
|
|
case 18033: // 'descendant-or-self' '('
|
|
case 18034: // 'descending' '('
|
|
case 18039: // 'div' '('
|
|
case 18040: // 'document' '('
|
|
case 18043: // 'else' '('
|
|
case 18044: // 'empty' '('
|
|
case 18046: // 'encoding' '('
|
|
case 18047: // 'end' '('
|
|
case 18049: // 'eq' '('
|
|
case 18050: // 'every' '('
|
|
case 18052: // 'except' '('
|
|
case 18053: // 'exit' '('
|
|
case 18054: // 'external' '('
|
|
case 18055: // 'false' '('
|
|
case 18056: // 'first' '('
|
|
case 18057: // 'following' '('
|
|
case 18058: // 'following-sibling' '('
|
|
case 18059: // 'for' '('
|
|
case 18062: // 'from' '('
|
|
case 18063: // 'ft-option' '('
|
|
case 18067: // 'function' '('
|
|
case 18068: // 'ge' '('
|
|
case 18070: // 'group' '('
|
|
case 18072: // 'gt' '('
|
|
case 18073: // 'idiv' '('
|
|
case 18075: // 'import' '('
|
|
case 18076: // 'in' '('
|
|
case 18077: // 'index' '('
|
|
case 18081: // 'insert' '('
|
|
case 18082: // 'instance' '('
|
|
case 18083: // 'integrity' '('
|
|
case 18084: // 'intersect' '('
|
|
case 18085: // 'into' '('
|
|
case 18086: // 'is' '('
|
|
case 18088: // 'json' '('
|
|
case 18090: // 'jsoniq' '('
|
|
case 18093: // 'last' '('
|
|
case 18094: // 'lax' '('
|
|
case 18095: // 'le' '('
|
|
case 18097: // 'let' '('
|
|
case 18099: // 'loop' '('
|
|
case 18101: // 'lt' '('
|
|
case 18103: // 'mod' '('
|
|
case 18104: // 'modify' '('
|
|
case 18105: // 'module' '('
|
|
case 18107: // 'namespace' '('
|
|
case 18109: // 'ne' '('
|
|
case 18115: // 'nodes' '('
|
|
case 18117: // 'null' '('
|
|
case 18118: // 'object' '('
|
|
case 18122: // 'only' '('
|
|
case 18123: // 'option' '('
|
|
case 18124: // 'or' '('
|
|
case 18125: // 'order' '('
|
|
case 18126: // 'ordered' '('
|
|
case 18127: // 'ordering' '('
|
|
case 18130: // 'parent' '('
|
|
case 18136: // 'preceding' '('
|
|
case 18137: // 'preceding-sibling' '('
|
|
case 18142: // 'rename' '('
|
|
case 18143: // 'replace' '('
|
|
case 18144: // 'return' '('
|
|
case 18145: // 'returning' '('
|
|
case 18146: // 'revalidation' '('
|
|
case 18148: // 'satisfies' '('
|
|
case 18149: // 'schema' '('
|
|
case 18152: // 'score' '('
|
|
case 18153: // 'select' '('
|
|
case 18154: // 'self' '('
|
|
case 18159: // 'sliding' '('
|
|
case 18160: // 'some' '('
|
|
case 18161: // 'stable' '('
|
|
case 18162: // 'start' '('
|
|
case 18165: // 'strict' '('
|
|
case 18173: // 'to' '('
|
|
case 18174: // 'treat' '('
|
|
case 18175: // 'true' '('
|
|
case 18176: // 'try' '('
|
|
case 18177: // 'tumbling' '('
|
|
case 18178: // 'type' '('
|
|
case 18180: // 'union' '('
|
|
case 18182: // 'unordered' '('
|
|
case 18183: // 'updating' '('
|
|
case 18186: // 'validate' '('
|
|
case 18187: // 'value' '('
|
|
case 18188: // 'variable' '('
|
|
case 18189: // 'version' '('
|
|
case 18192: // 'where' '('
|
|
case 18193: // 'while' '('
|
|
case 18196: // 'with' '('
|
|
case 23175: // 'false' '.'
|
|
case 23237: // 'null' '.'
|
|
case 23295: // 'true' '.'
|
|
case 37459: // 'attribute' 'allowing'
|
|
case 37498: // 'element' 'allowing'
|
|
case 37563: // 'namespace' 'allowing'
|
|
case 37596: // 'processing-instruction' 'allowing'
|
|
case 37971: // 'attribute' 'ancestor'
|
|
case 38010: // 'element' 'ancestor'
|
|
case 38075: // 'namespace' 'ancestor'
|
|
case 38108: // 'processing-instruction' 'ancestor'
|
|
case 38483: // 'attribute' 'ancestor-or-self'
|
|
case 38522: // 'element' 'ancestor-or-self'
|
|
case 38587: // 'namespace' 'ancestor-or-self'
|
|
case 38620: // 'processing-instruction' 'ancestor-or-self'
|
|
case 40019: // 'attribute' 'append'
|
|
case 40058: // 'element' 'append'
|
|
case 40123: // 'namespace' 'append'
|
|
case 40156: // 'processing-instruction' 'append'
|
|
case 40531: // 'attribute' 'array'
|
|
case 40570: // 'element' 'array'
|
|
case 42579: // 'attribute' 'attribute'
|
|
case 42618: // 'element' 'attribute'
|
|
case 42683: // 'namespace' 'attribute'
|
|
case 42716: // 'processing-instruction' 'attribute'
|
|
case 43091: // 'attribute' 'base-uri'
|
|
case 43130: // 'element' 'base-uri'
|
|
case 43195: // 'namespace' 'base-uri'
|
|
case 43228: // 'processing-instruction' 'base-uri'
|
|
case 44115: // 'attribute' 'boundary-space'
|
|
case 44154: // 'element' 'boundary-space'
|
|
case 44219: // 'namespace' 'boundary-space'
|
|
case 44252: // 'processing-instruction' 'boundary-space'
|
|
case 44627: // 'attribute' 'break'
|
|
case 44666: // 'element' 'break'
|
|
case 44731: // 'namespace' 'break'
|
|
case 44764: // 'processing-instruction' 'break'
|
|
case 47187: // 'attribute' 'catch'
|
|
case 47226: // 'element' 'catch'
|
|
case 47291: // 'namespace' 'catch'
|
|
case 47324: // 'processing-instruction' 'catch'
|
|
case 48211: // 'attribute' 'child'
|
|
case 48250: // 'element' 'child'
|
|
case 48315: // 'namespace' 'child'
|
|
case 48348: // 'processing-instruction' 'child'
|
|
case 49747: // 'attribute' 'comment'
|
|
case 49786: // 'element' 'comment'
|
|
case 49851: // 'namespace' 'comment'
|
|
case 49884: // 'processing-instruction' 'comment'
|
|
case 50259: // 'attribute' 'constraint'
|
|
case 50298: // 'element' 'constraint'
|
|
case 50363: // 'namespace' 'constraint'
|
|
case 50396: // 'processing-instruction' 'constraint'
|
|
case 50771: // 'attribute' 'construction'
|
|
case 50810: // 'element' 'construction'
|
|
case 50875: // 'namespace' 'construction'
|
|
case 50908: // 'processing-instruction' 'construction'
|
|
case 52307: // 'attribute' 'context'
|
|
case 52346: // 'element' 'context'
|
|
case 52411: // 'namespace' 'context'
|
|
case 52444: // 'processing-instruction' 'context'
|
|
case 52819: // 'attribute' 'continue'
|
|
case 52858: // 'element' 'continue'
|
|
case 52923: // 'namespace' 'continue'
|
|
case 52956: // 'processing-instruction' 'continue'
|
|
case 53331: // 'attribute' 'copy'
|
|
case 53370: // 'element' 'copy'
|
|
case 53435: // 'namespace' 'copy'
|
|
case 53468: // 'processing-instruction' 'copy'
|
|
case 53843: // 'attribute' 'copy-namespaces'
|
|
case 53882: // 'element' 'copy-namespaces'
|
|
case 53947: // 'namespace' 'copy-namespaces'
|
|
case 53980: // 'processing-instruction' 'copy-namespaces'
|
|
case 54867: // 'attribute' 'decimal-format'
|
|
case 54906: // 'element' 'decimal-format'
|
|
case 54971: // 'namespace' 'decimal-format'
|
|
case 55004: // 'processing-instruction' 'decimal-format'
|
|
case 55891: // 'attribute' 'declare'
|
|
case 55930: // 'element' 'declare'
|
|
case 55995: // 'namespace' 'declare'
|
|
case 56028: // 'processing-instruction' 'declare'
|
|
case 56915: // 'attribute' 'delete'
|
|
case 56954: // 'element' 'delete'
|
|
case 57019: // 'namespace' 'delete'
|
|
case 57052: // 'processing-instruction' 'delete'
|
|
case 57427: // 'attribute' 'descendant'
|
|
case 57466: // 'element' 'descendant'
|
|
case 57531: // 'namespace' 'descendant'
|
|
case 57564: // 'processing-instruction' 'descendant'
|
|
case 57939: // 'attribute' 'descendant-or-self'
|
|
case 57978: // 'element' 'descendant-or-self'
|
|
case 58043: // 'namespace' 'descendant-or-self'
|
|
case 58076: // 'processing-instruction' 'descendant-or-self'
|
|
case 61523: // 'attribute' 'document'
|
|
case 61562: // 'element' 'document'
|
|
case 61627: // 'namespace' 'document'
|
|
case 61660: // 'processing-instruction' 'document'
|
|
case 62035: // 'attribute' 'document-node'
|
|
case 62074: // 'element' 'document-node'
|
|
case 62139: // 'namespace' 'document-node'
|
|
case 62172: // 'processing-instruction' 'document-node'
|
|
case 62547: // 'attribute' 'element'
|
|
case 62586: // 'element' 'element'
|
|
case 62651: // 'namespace' 'element'
|
|
case 62684: // 'processing-instruction' 'element'
|
|
case 64083: // 'attribute' 'empty-sequence'
|
|
case 64122: // 'element' 'empty-sequence'
|
|
case 64187: // 'namespace' 'empty-sequence'
|
|
case 64220: // 'processing-instruction' 'empty-sequence'
|
|
case 64595: // 'attribute' 'encoding'
|
|
case 64634: // 'element' 'encoding'
|
|
case 64699: // 'namespace' 'encoding'
|
|
case 64732: // 'processing-instruction' 'encoding'
|
|
case 66643: // 'attribute' 'every'
|
|
case 66682: // 'element' 'every'
|
|
case 66747: // 'namespace' 'every'
|
|
case 66780: // 'processing-instruction' 'every'
|
|
case 68179: // 'attribute' 'exit'
|
|
case 68218: // 'element' 'exit'
|
|
case 68283: // 'namespace' 'exit'
|
|
case 68316: // 'processing-instruction' 'exit'
|
|
case 68691: // 'attribute' 'external'
|
|
case 68730: // 'element' 'external'
|
|
case 68795: // 'namespace' 'external'
|
|
case 68828: // 'processing-instruction' 'external'
|
|
case 69203: // 'attribute' 'false'
|
|
case 69242: // 'element' 'false'
|
|
case 69307: // 'namespace' 'false'
|
|
case 69340: // 'processing-instruction' 'false'
|
|
case 69715: // 'attribute' 'first'
|
|
case 69754: // 'element' 'first'
|
|
case 69819: // 'namespace' 'first'
|
|
case 69852: // 'processing-instruction' 'first'
|
|
case 70227: // 'attribute' 'following'
|
|
case 70266: // 'element' 'following'
|
|
case 70331: // 'namespace' 'following'
|
|
case 70364: // 'processing-instruction' 'following'
|
|
case 70739: // 'attribute' 'following-sibling'
|
|
case 70778: // 'element' 'following-sibling'
|
|
case 70843: // 'namespace' 'following-sibling'
|
|
case 70876: // 'processing-instruction' 'following-sibling'
|
|
case 72787: // 'attribute' 'from'
|
|
case 72826: // 'element' 'from'
|
|
case 72891: // 'namespace' 'from'
|
|
case 72924: // 'processing-instruction' 'from'
|
|
case 73299: // 'attribute' 'ft-option'
|
|
case 73338: // 'element' 'ft-option'
|
|
case 73403: // 'namespace' 'ft-option'
|
|
case 73436: // 'processing-instruction' 'ft-option'
|
|
case 75347: // 'attribute' 'function'
|
|
case 75386: // 'element' 'function'
|
|
case 75451: // 'namespace' 'function'
|
|
case 75484: // 'processing-instruction' 'function'
|
|
case 78931: // 'attribute' 'if'
|
|
case 78970: // 'element' 'if'
|
|
case 79035: // 'namespace' 'if'
|
|
case 79068: // 'processing-instruction' 'if'
|
|
case 79443: // 'attribute' 'import'
|
|
case 79482: // 'element' 'import'
|
|
case 79547: // 'namespace' 'import'
|
|
case 79580: // 'processing-instruction' 'import'
|
|
case 79955: // 'attribute' 'in'
|
|
case 79994: // 'element' 'in'
|
|
case 80059: // 'namespace' 'in'
|
|
case 80092: // 'processing-instruction' 'in'
|
|
case 80467: // 'attribute' 'index'
|
|
case 80506: // 'element' 'index'
|
|
case 80571: // 'namespace' 'index'
|
|
case 80604: // 'processing-instruction' 'index'
|
|
case 82515: // 'attribute' 'insert'
|
|
case 82554: // 'element' 'insert'
|
|
case 82619: // 'namespace' 'insert'
|
|
case 82652: // 'processing-instruction' 'insert'
|
|
case 83539: // 'attribute' 'integrity'
|
|
case 83578: // 'element' 'integrity'
|
|
case 83643: // 'namespace' 'integrity'
|
|
case 83676: // 'processing-instruction' 'integrity'
|
|
case 85587: // 'attribute' 'item'
|
|
case 85626: // 'element' 'item'
|
|
case 85691: // 'namespace' 'item'
|
|
case 85724: // 'processing-instruction' 'item'
|
|
case 86099: // 'attribute' 'json'
|
|
case 86138: // 'element' 'json'
|
|
case 86203: // 'namespace' 'json'
|
|
case 86236: // 'processing-instruction' 'json'
|
|
case 86611: // 'attribute' 'json-item'
|
|
case 86650: // 'element' 'json-item'
|
|
case 87123: // 'attribute' 'jsoniq'
|
|
case 87162: // 'element' 'jsoniq'
|
|
case 87227: // 'namespace' 'jsoniq'
|
|
case 87260: // 'processing-instruction' 'jsoniq'
|
|
case 88659: // 'attribute' 'last'
|
|
case 88698: // 'element' 'last'
|
|
case 88763: // 'namespace' 'last'
|
|
case 88796: // 'processing-instruction' 'last'
|
|
case 89171: // 'attribute' 'lax'
|
|
case 89210: // 'element' 'lax'
|
|
case 89275: // 'namespace' 'lax'
|
|
case 89308: // 'processing-instruction' 'lax'
|
|
case 91731: // 'attribute' 'loop'
|
|
case 91770: // 'element' 'loop'
|
|
case 91835: // 'namespace' 'loop'
|
|
case 91868: // 'processing-instruction' 'loop'
|
|
case 94803: // 'attribute' 'module'
|
|
case 94842: // 'element' 'module'
|
|
case 94907: // 'namespace' 'module'
|
|
case 94940: // 'processing-instruction' 'module'
|
|
case 95827: // 'attribute' 'namespace'
|
|
case 95866: // 'element' 'namespace'
|
|
case 95931: // 'namespace' 'namespace'
|
|
case 95964: // 'processing-instruction' 'namespace'
|
|
case 96339: // 'attribute' 'namespace-node'
|
|
case 96378: // 'element' 'namespace-node'
|
|
case 96443: // 'namespace' 'namespace-node'
|
|
case 96476: // 'processing-instruction' 'namespace-node'
|
|
case 99411: // 'attribute' 'node'
|
|
case 99450: // 'element' 'node'
|
|
case 99515: // 'namespace' 'node'
|
|
case 99548: // 'processing-instruction' 'node'
|
|
case 99923: // 'attribute' 'nodes'
|
|
case 99962: // 'element' 'nodes'
|
|
case 100027: // 'namespace' 'nodes'
|
|
case 100060: // 'processing-instruction' 'nodes'
|
|
case 100947: // 'attribute' 'null'
|
|
case 100986: // 'element' 'null'
|
|
case 101051: // 'namespace' 'null'
|
|
case 101084: // 'processing-instruction' 'null'
|
|
case 101459: // 'attribute' 'object'
|
|
case 101498: // 'element' 'object'
|
|
case 101563: // 'namespace' 'object'
|
|
case 101596: // 'processing-instruction' 'object'
|
|
case 104019: // 'attribute' 'option'
|
|
case 104058: // 'element' 'option'
|
|
case 104123: // 'namespace' 'option'
|
|
case 104156: // 'processing-instruction' 'option'
|
|
case 105555: // 'attribute' 'ordered'
|
|
case 105594: // 'element' 'ordered'
|
|
case 105659: // 'namespace' 'ordered'
|
|
case 105692: // 'processing-instruction' 'ordered'
|
|
case 106067: // 'attribute' 'ordering'
|
|
case 106106: // 'element' 'ordering'
|
|
case 106171: // 'namespace' 'ordering'
|
|
case 106204: // 'processing-instruction' 'ordering'
|
|
case 107603: // 'attribute' 'parent'
|
|
case 107642: // 'element' 'parent'
|
|
case 107707: // 'namespace' 'parent'
|
|
case 107740: // 'processing-instruction' 'parent'
|
|
case 110675: // 'attribute' 'preceding'
|
|
case 110714: // 'element' 'preceding'
|
|
case 110779: // 'namespace' 'preceding'
|
|
case 110812: // 'processing-instruction' 'preceding'
|
|
case 111187: // 'attribute' 'preceding-sibling'
|
|
case 111226: // 'element' 'preceding-sibling'
|
|
case 111291: // 'namespace' 'preceding-sibling'
|
|
case 111324: // 'processing-instruction' 'preceding-sibling'
|
|
case 112723: // 'attribute' 'processing-instruction'
|
|
case 112762: // 'element' 'processing-instruction'
|
|
case 112827: // 'namespace' 'processing-instruction'
|
|
case 112860: // 'processing-instruction' 'processing-instruction'
|
|
case 113747: // 'attribute' 'rename'
|
|
case 113786: // 'element' 'rename'
|
|
case 113851: // 'namespace' 'rename'
|
|
case 113884: // 'processing-instruction' 'rename'
|
|
case 114259: // 'attribute' 'replace'
|
|
case 114298: // 'element' 'replace'
|
|
case 114363: // 'namespace' 'replace'
|
|
case 114396: // 'processing-instruction' 'replace'
|
|
case 115283: // 'attribute' 'returning'
|
|
case 115322: // 'element' 'returning'
|
|
case 115387: // 'namespace' 'returning'
|
|
case 115420: // 'processing-instruction' 'returning'
|
|
case 115795: // 'attribute' 'revalidation'
|
|
case 115834: // 'element' 'revalidation'
|
|
case 115899: // 'namespace' 'revalidation'
|
|
case 115932: // 'processing-instruction' 'revalidation'
|
|
case 117331: // 'attribute' 'schema'
|
|
case 117370: // 'element' 'schema'
|
|
case 117435: // 'namespace' 'schema'
|
|
case 117468: // 'processing-instruction' 'schema'
|
|
case 117843: // 'attribute' 'schema-attribute'
|
|
case 117882: // 'element' 'schema-attribute'
|
|
case 117947: // 'namespace' 'schema-attribute'
|
|
case 117980: // 'processing-instruction' 'schema-attribute'
|
|
case 118355: // 'attribute' 'schema-element'
|
|
case 118394: // 'element' 'schema-element'
|
|
case 118459: // 'namespace' 'schema-element'
|
|
case 118492: // 'processing-instruction' 'schema-element'
|
|
case 118867: // 'attribute' 'score'
|
|
case 118906: // 'element' 'score'
|
|
case 118971: // 'namespace' 'score'
|
|
case 119004: // 'processing-instruction' 'score'
|
|
case 119379: // 'attribute' 'select'
|
|
case 119418: // 'element' 'select'
|
|
case 119483: // 'namespace' 'select'
|
|
case 119516: // 'processing-instruction' 'select'
|
|
case 119891: // 'attribute' 'self'
|
|
case 119930: // 'element' 'self'
|
|
case 119995: // 'namespace' 'self'
|
|
case 120028: // 'processing-instruction' 'self'
|
|
case 122451: // 'attribute' 'sliding'
|
|
case 122490: // 'element' 'sliding'
|
|
case 122555: // 'namespace' 'sliding'
|
|
case 122588: // 'processing-instruction' 'sliding'
|
|
case 122963: // 'attribute' 'some'
|
|
case 123002: // 'element' 'some'
|
|
case 123067: // 'namespace' 'some'
|
|
case 123100: // 'processing-instruction' 'some'
|
|
case 125523: // 'attribute' 'strict'
|
|
case 125562: // 'element' 'strict'
|
|
case 125627: // 'namespace' 'strict'
|
|
case 125660: // 'processing-instruction' 'strict'
|
|
case 126547: // 'attribute' 'structured-item'
|
|
case 126586: // 'element' 'structured-item'
|
|
case 127059: // 'attribute' 'switch'
|
|
case 127098: // 'element' 'switch'
|
|
case 127163: // 'namespace' 'switch'
|
|
case 127196: // 'processing-instruction' 'switch'
|
|
case 127571: // 'attribute' 'text'
|
|
case 127610: // 'element' 'text'
|
|
case 127675: // 'namespace' 'text'
|
|
case 127708: // 'processing-instruction' 'text'
|
|
case 130643: // 'attribute' 'true'
|
|
case 130682: // 'element' 'true'
|
|
case 130747: // 'namespace' 'true'
|
|
case 130780: // 'processing-instruction' 'true'
|
|
case 131155: // 'attribute' 'try'
|
|
case 131194: // 'element' 'try'
|
|
case 131259: // 'namespace' 'try'
|
|
case 131292: // 'processing-instruction' 'try'
|
|
case 131667: // 'attribute' 'tumbling'
|
|
case 131706: // 'element' 'tumbling'
|
|
case 131771: // 'namespace' 'tumbling'
|
|
case 131804: // 'processing-instruction' 'tumbling'
|
|
case 132179: // 'attribute' 'type'
|
|
case 132218: // 'element' 'type'
|
|
case 132283: // 'namespace' 'type'
|
|
case 132316: // 'processing-instruction' 'type'
|
|
case 132691: // 'attribute' 'typeswitch'
|
|
case 132730: // 'element' 'typeswitch'
|
|
case 132795: // 'namespace' 'typeswitch'
|
|
case 132828: // 'processing-instruction' 'typeswitch'
|
|
case 134227: // 'attribute' 'unordered'
|
|
case 134266: // 'element' 'unordered'
|
|
case 134331: // 'namespace' 'unordered'
|
|
case 134364: // 'processing-instruction' 'unordered'
|
|
case 134739: // 'attribute' 'updating'
|
|
case 134778: // 'element' 'updating'
|
|
case 134843: // 'namespace' 'updating'
|
|
case 134876: // 'processing-instruction' 'updating'
|
|
case 136275: // 'attribute' 'validate'
|
|
case 136314: // 'element' 'validate'
|
|
case 136379: // 'namespace' 'validate'
|
|
case 136412: // 'processing-instruction' 'validate'
|
|
case 136787: // 'attribute' 'value'
|
|
case 136826: // 'element' 'value'
|
|
case 136891: // 'namespace' 'value'
|
|
case 136924: // 'processing-instruction' 'value'
|
|
case 137299: // 'attribute' 'variable'
|
|
case 137338: // 'element' 'variable'
|
|
case 137403: // 'namespace' 'variable'
|
|
case 137436: // 'processing-instruction' 'variable'
|
|
case 137811: // 'attribute' 'version'
|
|
case 137850: // 'element' 'version'
|
|
case 137915: // 'namespace' 'version'
|
|
case 137948: // 'processing-instruction' 'version'
|
|
case 139859: // 'attribute' 'while'
|
|
case 139898: // 'element' 'while'
|
|
case 139963: // 'namespace' 'while'
|
|
case 139996: // 'processing-instruction' 'while'
|
|
case 143955: // 'attribute' '{'
|
|
case 143969: // 'comment' '{'
|
|
case 143992: // 'document' '{'
|
|
case 143994: // 'element' '{'
|
|
case 144059: // 'namespace' '{'
|
|
case 144078: // 'ordered' '{'
|
|
case 144092: // 'processing-instruction' '{'
|
|
case 144121: // 'text' '{'
|
|
case 144134: // 'unordered' '{'
|
|
try_PostfixExpr();
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_AxisStep();
|
|
}
|
|
}
|
|
|
|
function parse_AxisStep()
|
|
{
|
|
eventHandler.startNonterminal("AxisStep", e0);
|
|
switch (l1)
|
|
{
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 46: // '..'
|
|
case 26698: // 'ancestor' '::'
|
|
case 26699: // 'ancestor-or-self' '::'
|
|
case 26834: // 'parent' '::'
|
|
case 26840: // 'preceding' '::'
|
|
case 26841: // 'preceding-sibling' '::'
|
|
parse_ReverseStep();
|
|
break;
|
|
default:
|
|
parse_ForwardStep();
|
|
}
|
|
lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
whitespace();
|
|
parse_PredicateList();
|
|
eventHandler.endNonterminal("AxisStep", e0);
|
|
}
|
|
|
|
function try_AxisStep()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 46: // '..'
|
|
case 26698: // 'ancestor' '::'
|
|
case 26699: // 'ancestor-or-self' '::'
|
|
case 26834: // 'parent' '::'
|
|
case 26840: // 'preceding' '::'
|
|
case 26841: // 'preceding-sibling' '::'
|
|
try_ReverseStep();
|
|
break;
|
|
default:
|
|
try_ForwardStep();
|
|
}
|
|
lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
try_PredicateList();
|
|
}
|
|
|
|
function parse_ForwardStep()
|
|
{
|
|
eventHandler.startNonterminal("ForwardStep", e0);
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
lookahead2W(235); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 94: // 'child'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 234: // 'self'
|
|
lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 26707: // 'attribute' '::'
|
|
case 26718: // 'child' '::'
|
|
case 26736: // 'descendant' '::'
|
|
case 26737: // 'descendant-or-self' '::'
|
|
case 26761: // 'following' '::'
|
|
case 26762: // 'following-sibling' '::'
|
|
case 26858: // 'self' '::'
|
|
parse_ForwardAxis();
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NodeTest();
|
|
break;
|
|
default:
|
|
parse_AbbrevForwardStep();
|
|
}
|
|
eventHandler.endNonterminal("ForwardStep", e0);
|
|
}
|
|
|
|
function try_ForwardStep()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
lookahead2W(235); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 94: // 'child'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 234: // 'self'
|
|
lookahead2W(231); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 26707: // 'attribute' '::'
|
|
case 26718: // 'child' '::'
|
|
case 26736: // 'descendant' '::'
|
|
case 26737: // 'descendant-or-self' '::'
|
|
case 26761: // 'following' '::'
|
|
case 26762: // 'following-sibling' '::'
|
|
case 26858: // 'self' '::'
|
|
try_ForwardAxis();
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NodeTest();
|
|
break;
|
|
default:
|
|
try_AbbrevForwardStep();
|
|
}
|
|
}
|
|
|
|
function parse_ForwardAxis()
|
|
{
|
|
eventHandler.startNonterminal("ForwardAxis", e0);
|
|
switch (l1)
|
|
{
|
|
case 94: // 'child'
|
|
shift(94); // 'child'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 112: // 'descendant'
|
|
shift(112); // 'descendant'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 83: // 'attribute'
|
|
shift(83); // 'attribute'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 234: // 'self'
|
|
shift(234); // 'self'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 113: // 'descendant-or-self'
|
|
shift(113); // 'descendant-or-self'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 138: // 'following-sibling'
|
|
shift(138); // 'following-sibling'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
default:
|
|
shift(137); // 'following'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
}
|
|
eventHandler.endNonterminal("ForwardAxis", e0);
|
|
}
|
|
|
|
function try_ForwardAxis()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 94: // 'child'
|
|
shiftT(94); // 'child'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 112: // 'descendant'
|
|
shiftT(112); // 'descendant'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 83: // 'attribute'
|
|
shiftT(83); // 'attribute'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 234: // 'self'
|
|
shiftT(234); // 'self'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 113: // 'descendant-or-self'
|
|
shiftT(113); // 'descendant-or-self'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 138: // 'following-sibling'
|
|
shiftT(138); // 'following-sibling'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
default:
|
|
shiftT(137); // 'following'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
}
|
|
}
|
|
|
|
function parse_AbbrevForwardStep()
|
|
{
|
|
eventHandler.startNonterminal("AbbrevForwardStep", e0);
|
|
if (l1 == 67) // '@'
|
|
{
|
|
shift(67); // '@'
|
|
}
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NodeTest();
|
|
eventHandler.endNonterminal("AbbrevForwardStep", e0);
|
|
}
|
|
|
|
function try_AbbrevForwardStep()
|
|
{
|
|
if (l1 == 67) // '@'
|
|
{
|
|
shiftT(67); // '@'
|
|
}
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NodeTest();
|
|
}
|
|
|
|
function parse_ReverseStep()
|
|
{
|
|
eventHandler.startNonterminal("ReverseStep", e0);
|
|
switch (l1)
|
|
{
|
|
case 46: // '..'
|
|
parse_AbbrevReverseStep();
|
|
break;
|
|
default:
|
|
parse_ReverseAxis();
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NodeTest();
|
|
}
|
|
eventHandler.endNonterminal("ReverseStep", e0);
|
|
}
|
|
|
|
function try_ReverseStep()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 46: // '..'
|
|
try_AbbrevReverseStep();
|
|
break;
|
|
default:
|
|
try_ReverseAxis();
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NodeTest();
|
|
}
|
|
}
|
|
|
|
function parse_ReverseAxis()
|
|
{
|
|
eventHandler.startNonterminal("ReverseAxis", e0);
|
|
switch (l1)
|
|
{
|
|
case 210: // 'parent'
|
|
shift(210); // 'parent'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 74: // 'ancestor'
|
|
shift(74); // 'ancestor'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 217: // 'preceding-sibling'
|
|
shift(217); // 'preceding-sibling'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
case 216: // 'preceding'
|
|
shift(216); // 'preceding'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
break;
|
|
default:
|
|
shift(75); // 'ancestor-or-self'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shift(52); // '::'
|
|
}
|
|
eventHandler.endNonterminal("ReverseAxis", e0);
|
|
}
|
|
|
|
function try_ReverseAxis()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 210: // 'parent'
|
|
shiftT(210); // 'parent'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 74: // 'ancestor'
|
|
shiftT(74); // 'ancestor'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 217: // 'preceding-sibling'
|
|
shiftT(217); // 'preceding-sibling'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
case 216: // 'preceding'
|
|
shiftT(216); // 'preceding'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
break;
|
|
default:
|
|
shiftT(75); // 'ancestor-or-self'
|
|
lookahead1W(27); // S^WS | '(:' | '::'
|
|
shiftT(52); // '::'
|
|
}
|
|
}
|
|
|
|
function parse_AbbrevReverseStep()
|
|
{
|
|
eventHandler.startNonterminal("AbbrevReverseStep", e0);
|
|
shift(46); // '..'
|
|
eventHandler.endNonterminal("AbbrevReverseStep", e0);
|
|
}
|
|
|
|
function try_AbbrevReverseStep()
|
|
{
|
|
shiftT(46); // '..'
|
|
}
|
|
|
|
function parse_NodeTest()
|
|
{
|
|
eventHandler.startNonterminal("NodeTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
case 97: // 'comment'
|
|
case 121: // 'document-node'
|
|
case 122: // 'element'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 220: // 'processing-instruction'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 249: // 'text'
|
|
lookahead2W(230); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 18003: // 'attribute' '('
|
|
case 18017: // 'comment' '('
|
|
case 18041: // 'document-node' '('
|
|
case 18042: // 'element' '('
|
|
case 18108: // 'namespace-node' '('
|
|
case 18114: // 'node' '('
|
|
case 18140: // 'processing-instruction' '('
|
|
case 18150: // 'schema-attribute' '('
|
|
case 18151: // 'schema-element' '('
|
|
case 18169: // 'text' '('
|
|
parse_KindTest();
|
|
break;
|
|
default:
|
|
parse_NameTest();
|
|
}
|
|
eventHandler.endNonterminal("NodeTest", e0);
|
|
}
|
|
|
|
function try_NodeTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
case 97: // 'comment'
|
|
case 121: // 'document-node'
|
|
case 122: // 'element'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 220: // 'processing-instruction'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 249: // 'text'
|
|
lookahead2W(230); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 18003: // 'attribute' '('
|
|
case 18017: // 'comment' '('
|
|
case 18041: // 'document-node' '('
|
|
case 18042: // 'element' '('
|
|
case 18108: // 'namespace-node' '('
|
|
case 18114: // 'node' '('
|
|
case 18140: // 'processing-instruction' '('
|
|
case 18150: // 'schema-attribute' '('
|
|
case 18151: // 'schema-element' '('
|
|
case 18169: // 'text' '('
|
|
try_KindTest();
|
|
break;
|
|
default:
|
|
try_NameTest();
|
|
}
|
|
}
|
|
|
|
function parse_NameTest()
|
|
{
|
|
eventHandler.startNonterminal("NameTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 5: // Wildcard
|
|
shift(5); // Wildcard
|
|
break;
|
|
default:
|
|
parse_EQName();
|
|
}
|
|
eventHandler.endNonterminal("NameTest", e0);
|
|
}
|
|
|
|
function try_NameTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 5: // Wildcard
|
|
shiftT(5); // Wildcard
|
|
break;
|
|
default:
|
|
try_EQName();
|
|
}
|
|
}
|
|
|
|
function parse_PostfixExpr()
|
|
{
|
|
eventHandler.startNonterminal("PostfixExpr", e0);
|
|
parse_PrimaryExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(234); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' | '/' |
|
|
if (l1 != 35 // '('
|
|
&& l1 != 45 // '.'
|
|
&& l1 != 69) // '['
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 69: // '['
|
|
lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 35397) // '[' '['
|
|
{
|
|
lk = memoized(5, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Predicate();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -4;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(5, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 35: // '('
|
|
whitespace();
|
|
parse_ArgumentList();
|
|
break;
|
|
case 45: // '.'
|
|
whitespace();
|
|
parse_ObjectLookup();
|
|
break;
|
|
case -4:
|
|
whitespace();
|
|
parse_ArrayLookup();
|
|
break;
|
|
case 35909: // '[' ']'
|
|
whitespace();
|
|
parse_ArrayUnboxing();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_Predicate();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("PostfixExpr", e0);
|
|
}
|
|
|
|
function try_PostfixExpr()
|
|
{
|
|
try_PrimaryExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(234); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' | '/' |
|
|
if (l1 != 35 // '('
|
|
&& l1 != 45 // '.'
|
|
&& l1 != 69) // '['
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 69: // '['
|
|
lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 35397) // '[' '['
|
|
{
|
|
lk = memoized(5, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Predicate();
|
|
memoize(5, e0A, -1);
|
|
lk = -6;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -4;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(5, e0A, -4);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 35: // '('
|
|
try_ArgumentList();
|
|
break;
|
|
case 45: // '.'
|
|
try_ObjectLookup();
|
|
break;
|
|
case -4:
|
|
try_ArrayLookup();
|
|
break;
|
|
case 35909: // '[' ']'
|
|
try_ArrayUnboxing();
|
|
break;
|
|
case -6:
|
|
break;
|
|
default:
|
|
try_Predicate();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_ObjectLookup()
|
|
{
|
|
eventHandler.startNonterminal("ObjectLookup", e0);
|
|
shift(45); // '.'
|
|
lookahead1W(250); // StringLiteral | NCName^Token | S^WS | '$' | '$$' | '(' | '(:' | 'after' |
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shift(11); // StringLiteral
|
|
break;
|
|
case 35: // '('
|
|
whitespace();
|
|
parse_ParenthesizedExpr();
|
|
break;
|
|
case 31: // '$'
|
|
whitespace();
|
|
parse_VarRef();
|
|
break;
|
|
case 32: // '$$'
|
|
whitespace();
|
|
parse_ContextItemExpr();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_NCName();
|
|
}
|
|
eventHandler.endNonterminal("ObjectLookup", e0);
|
|
}
|
|
|
|
function try_ObjectLookup()
|
|
{
|
|
shiftT(45); // '.'
|
|
lookahead1W(250); // StringLiteral | NCName^Token | S^WS | '$' | '$$' | '(' | '(:' | 'after' |
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shiftT(11); // StringLiteral
|
|
break;
|
|
case 35: // '('
|
|
try_ParenthesizedExpr();
|
|
break;
|
|
case 31: // '$'
|
|
try_VarRef();
|
|
break;
|
|
case 32: // '$$'
|
|
try_ContextItemExpr();
|
|
break;
|
|
default:
|
|
try_NCName();
|
|
}
|
|
}
|
|
|
|
function parse_ArrayLookup()
|
|
{
|
|
eventHandler.startNonterminal("ArrayLookup", e0);
|
|
shift(69); // '['
|
|
lookahead1W(31); // S^WS | '(:' | '['
|
|
shift(69); // '['
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(70); // ']'
|
|
lookahead1W(32); // S^WS | '(:' | ']'
|
|
shift(70); // ']'
|
|
eventHandler.endNonterminal("ArrayLookup", e0);
|
|
}
|
|
|
|
function try_ArrayLookup()
|
|
{
|
|
shiftT(69); // '['
|
|
lookahead1W(31); // S^WS | '(:' | '['
|
|
shiftT(69); // '['
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(70); // ']'
|
|
lookahead1W(32); // S^WS | '(:' | ']'
|
|
shiftT(70); // ']'
|
|
}
|
|
|
|
function parse_ArrayUnboxing()
|
|
{
|
|
eventHandler.startNonterminal("ArrayUnboxing", e0);
|
|
shift(69); // '['
|
|
lookahead1W(32); // S^WS | '(:' | ']'
|
|
shift(70); // ']'
|
|
eventHandler.endNonterminal("ArrayUnboxing", e0);
|
|
}
|
|
|
|
function try_ArrayUnboxing()
|
|
{
|
|
shiftT(69); // '['
|
|
lookahead1W(32); // S^WS | '(:' | ']'
|
|
shiftT(70); // ']'
|
|
}
|
|
|
|
function parse_ArgumentList()
|
|
{
|
|
eventHandler.startNonterminal("ArgumentList", e0);
|
|
shift(35); // '('
|
|
lookahead1W(279); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
whitespace();
|
|
parse_Argument();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Argument();
|
|
}
|
|
}
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("ArgumentList", e0);
|
|
}
|
|
|
|
function try_ArgumentList()
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(279); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
try_Argument();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(271); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Argument();
|
|
}
|
|
}
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_PredicateList()
|
|
{
|
|
eventHandler.startNonterminal("PredicateList", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
if (l1 != 69) // '['
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Predicate();
|
|
}
|
|
eventHandler.endNonterminal("PredicateList", e0);
|
|
}
|
|
|
|
function try_PredicateList()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(227); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
if (l1 != 69) // '['
|
|
{
|
|
break;
|
|
}
|
|
try_Predicate();
|
|
}
|
|
}
|
|
|
|
function parse_Predicate()
|
|
{
|
|
eventHandler.startNonterminal("Predicate", e0);
|
|
shift(69); // '['
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(70); // ']'
|
|
eventHandler.endNonterminal("Predicate", e0);
|
|
}
|
|
|
|
function try_Predicate()
|
|
{
|
|
shiftT(69); // '['
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(70); // ']'
|
|
}
|
|
|
|
function parse_Literal()
|
|
{
|
|
eventHandler.startNonterminal("Literal", e0);
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shift(11); // StringLiteral
|
|
break;
|
|
case 135: // 'false'
|
|
case 255: // 'true'
|
|
parse_BooleanLiteral();
|
|
break;
|
|
case 197: // 'null'
|
|
parse_NullLiteral();
|
|
break;
|
|
default:
|
|
parse_NumericLiteral();
|
|
}
|
|
eventHandler.endNonterminal("Literal", e0);
|
|
}
|
|
|
|
function try_Literal()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shiftT(11); // StringLiteral
|
|
break;
|
|
case 135: // 'false'
|
|
case 255: // 'true'
|
|
try_BooleanLiteral();
|
|
break;
|
|
case 197: // 'null'
|
|
try_NullLiteral();
|
|
break;
|
|
default:
|
|
try_NumericLiteral();
|
|
}
|
|
}
|
|
|
|
function parse_BooleanLiteral()
|
|
{
|
|
eventHandler.startNonterminal("BooleanLiteral", e0);
|
|
switch (l1)
|
|
{
|
|
case 255: // 'true'
|
|
shift(255); // 'true'
|
|
break;
|
|
default:
|
|
shift(135); // 'false'
|
|
}
|
|
eventHandler.endNonterminal("BooleanLiteral", e0);
|
|
}
|
|
|
|
function try_BooleanLiteral()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 255: // 'true'
|
|
shiftT(255); // 'true'
|
|
break;
|
|
default:
|
|
shiftT(135); // 'false'
|
|
}
|
|
}
|
|
|
|
function parse_NullLiteral()
|
|
{
|
|
eventHandler.startNonterminal("NullLiteral", e0);
|
|
shift(197); // 'null'
|
|
eventHandler.endNonterminal("NullLiteral", e0);
|
|
}
|
|
|
|
function try_NullLiteral()
|
|
{
|
|
shiftT(197); // 'null'
|
|
}
|
|
|
|
function parse_NumericLiteral()
|
|
{
|
|
eventHandler.startNonterminal("NumericLiteral", e0);
|
|
switch (l1)
|
|
{
|
|
case 8: // IntegerLiteral
|
|
shift(8); // IntegerLiteral
|
|
break;
|
|
case 9: // DecimalLiteral
|
|
shift(9); // DecimalLiteral
|
|
break;
|
|
default:
|
|
shift(10); // DoubleLiteral
|
|
}
|
|
eventHandler.endNonterminal("NumericLiteral", e0);
|
|
}
|
|
|
|
function try_NumericLiteral()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 8: // IntegerLiteral
|
|
shiftT(8); // IntegerLiteral
|
|
break;
|
|
case 9: // DecimalLiteral
|
|
shiftT(9); // DecimalLiteral
|
|
break;
|
|
default:
|
|
shiftT(10); // DoubleLiteral
|
|
}
|
|
}
|
|
|
|
function parse_VarRef()
|
|
{
|
|
eventHandler.startNonterminal("VarRef", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("VarRef", e0);
|
|
}
|
|
|
|
function try_VarRef()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_VarName()
|
|
{
|
|
eventHandler.startNonterminal("VarName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("VarName", e0);
|
|
}
|
|
|
|
function try_VarName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_ParenthesizedExpr()
|
|
{
|
|
eventHandler.startNonterminal("ParenthesizedExpr", e0);
|
|
shift(35); // '('
|
|
lookahead1W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("ParenthesizedExpr", e0);
|
|
}
|
|
|
|
function try_ParenthesizedExpr()
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_ContextItemExpr()
|
|
{
|
|
eventHandler.startNonterminal("ContextItemExpr", e0);
|
|
shift(32); // '$$'
|
|
eventHandler.endNonterminal("ContextItemExpr", e0);
|
|
}
|
|
|
|
function try_ContextItemExpr()
|
|
{
|
|
shiftT(32); // '$$'
|
|
}
|
|
|
|
function parse_OrderedExpr()
|
|
{
|
|
eventHandler.startNonterminal("OrderedExpr", e0);
|
|
shift(206); // 'ordered'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("OrderedExpr", e0);
|
|
}
|
|
|
|
function try_OrderedExpr()
|
|
{
|
|
shiftT(206); // 'ordered'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_UnorderedExpr()
|
|
{
|
|
eventHandler.startNonterminal("UnorderedExpr", e0);
|
|
shift(262); // 'unordered'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("UnorderedExpr", e0);
|
|
}
|
|
|
|
function try_UnorderedExpr()
|
|
{
|
|
shiftT(262); // 'unordered'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_FunctionCall()
|
|
{
|
|
eventHandler.startNonterminal("FunctionCall", e0);
|
|
parse_FunctionName();
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
whitespace();
|
|
parse_ArgumentList();
|
|
eventHandler.endNonterminal("FunctionCall", e0);
|
|
}
|
|
|
|
function try_FunctionCall()
|
|
{
|
|
try_FunctionName();
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
try_ArgumentList();
|
|
}
|
|
|
|
function parse_Argument()
|
|
{
|
|
eventHandler.startNonterminal("Argument", e0);
|
|
switch (l1)
|
|
{
|
|
case 65: // '?'
|
|
parse_ArgumentPlaceholder();
|
|
break;
|
|
default:
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("Argument", e0);
|
|
}
|
|
|
|
function try_Argument()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 65: // '?'
|
|
try_ArgumentPlaceholder();
|
|
break;
|
|
default:
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_ArgumentPlaceholder()
|
|
{
|
|
eventHandler.startNonterminal("ArgumentPlaceholder", e0);
|
|
shift(65); // '?'
|
|
eventHandler.endNonterminal("ArgumentPlaceholder", e0);
|
|
}
|
|
|
|
function try_ArgumentPlaceholder()
|
|
{
|
|
shiftT(65); // '?'
|
|
}
|
|
|
|
function parse_Constructor()
|
|
{
|
|
eventHandler.startNonterminal("Constructor", e0);
|
|
switch (l1)
|
|
{
|
|
case 55: // '<'
|
|
case 56: // '<!--'
|
|
case 60: // '<?'
|
|
parse_DirectConstructor();
|
|
break;
|
|
default:
|
|
parse_ComputedConstructor();
|
|
}
|
|
eventHandler.endNonterminal("Constructor", e0);
|
|
}
|
|
|
|
function try_Constructor()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 55: // '<'
|
|
case 56: // '<!--'
|
|
case 60: // '<?'
|
|
try_DirectConstructor();
|
|
break;
|
|
default:
|
|
try_ComputedConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_DirectConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirectConstructor", e0);
|
|
switch (l1)
|
|
{
|
|
case 55: // '<'
|
|
parse_DirElemConstructor();
|
|
break;
|
|
case 56: // '<!--'
|
|
parse_DirCommentConstructor();
|
|
break;
|
|
default:
|
|
parse_DirPIConstructor();
|
|
}
|
|
eventHandler.endNonterminal("DirectConstructor", e0);
|
|
}
|
|
|
|
function try_DirectConstructor()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 55: // '<'
|
|
try_DirElemConstructor();
|
|
break;
|
|
case 56: // '<!--'
|
|
try_DirCommentConstructor();
|
|
break;
|
|
default:
|
|
try_DirPIConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_DirElemConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirElemConstructor", e0);
|
|
shift(55); // '<'
|
|
lookahead1(4); // QName
|
|
shift(20); // QName
|
|
parse_DirAttributeList();
|
|
switch (l1)
|
|
{
|
|
case 49: // '/>'
|
|
shift(49); // '/>'
|
|
break;
|
|
default:
|
|
shift(62); // '>'
|
|
for (;;)
|
|
{
|
|
lookahead1(196); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
|
|
if (l1 == 57) // '</'
|
|
{
|
|
break;
|
|
}
|
|
parse_DirElemContent();
|
|
}
|
|
shift(57); // '</'
|
|
lookahead1(4); // QName
|
|
shift(20); // QName
|
|
lookahead1(12); // S | '>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
lookahead1(8); // '>'
|
|
shift(62); // '>'
|
|
}
|
|
eventHandler.endNonterminal("DirElemConstructor", e0);
|
|
}
|
|
|
|
function try_DirElemConstructor()
|
|
{
|
|
shiftT(55); // '<'
|
|
lookahead1(4); // QName
|
|
shiftT(20); // QName
|
|
try_DirAttributeList();
|
|
switch (l1)
|
|
{
|
|
case 49: // '/>'
|
|
shiftT(49); // '/>'
|
|
break;
|
|
default:
|
|
shiftT(62); // '>'
|
|
for (;;)
|
|
{
|
|
lookahead1(196); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
|
|
if (l1 == 57) // '</'
|
|
{
|
|
break;
|
|
}
|
|
try_DirElemContent();
|
|
}
|
|
shiftT(57); // '</'
|
|
lookahead1(4); // QName
|
|
shiftT(20); // QName
|
|
lookahead1(12); // S | '>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
lookahead1(8); // '>'
|
|
shiftT(62); // '>'
|
|
}
|
|
}
|
|
|
|
function parse_DirAttributeList()
|
|
{
|
|
eventHandler.startNonterminal("DirAttributeList", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1(19); // S | '/>' | '>'
|
|
if (l1 != 21) // S
|
|
{
|
|
break;
|
|
}
|
|
shift(21); // S
|
|
lookahead1(94); // QName | S | '/>' | '>'
|
|
if (l1 == 20) // QName
|
|
{
|
|
shift(20); // QName
|
|
lookahead1(11); // S | '='
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
lookahead1(7); // '='
|
|
shift(61); // '='
|
|
lookahead1(18); // S | '"' | "'"
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
parse_DirAttributeValue();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("DirAttributeList", e0);
|
|
}
|
|
|
|
function try_DirAttributeList()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1(19); // S | '/>' | '>'
|
|
if (l1 != 21) // S
|
|
{
|
|
break;
|
|
}
|
|
shiftT(21); // S
|
|
lookahead1(94); // QName | S | '/>' | '>'
|
|
if (l1 == 20) // QName
|
|
{
|
|
shiftT(20); // QName
|
|
lookahead1(11); // S | '='
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
lookahead1(7); // '='
|
|
shiftT(61); // '='
|
|
lookahead1(18); // S | '"' | "'"
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
try_DirAttributeValue();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_DirAttributeValue()
|
|
{
|
|
eventHandler.startNonterminal("DirAttributeValue", e0);
|
|
lookahead1(14); // '"' | "'"
|
|
switch (l1)
|
|
{
|
|
case 28: // '"'
|
|
shift(28); // '"'
|
|
for (;;)
|
|
{
|
|
lookahead1(185); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
|
|
if (l1 == 28) // '"'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 13: // EscapeQuot
|
|
shift(13); // EscapeQuot
|
|
break;
|
|
default:
|
|
parse_QuotAttrValueContent();
|
|
}
|
|
}
|
|
shift(28); // '"'
|
|
break;
|
|
default:
|
|
shift(34); // "'"
|
|
for (;;)
|
|
{
|
|
lookahead1(186); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
|
|
if (l1 == 34) // "'"
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 14: // EscapeApos
|
|
shift(14); // EscapeApos
|
|
break;
|
|
default:
|
|
parse_AposAttrValueContent();
|
|
}
|
|
}
|
|
shift(34); // "'"
|
|
}
|
|
eventHandler.endNonterminal("DirAttributeValue", e0);
|
|
}
|
|
|
|
function try_DirAttributeValue()
|
|
{
|
|
lookahead1(14); // '"' | "'"
|
|
switch (l1)
|
|
{
|
|
case 28: // '"'
|
|
shiftT(28); // '"'
|
|
for (;;)
|
|
{
|
|
lookahead1(185); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
|
|
if (l1 == 28) // '"'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 13: // EscapeQuot
|
|
shiftT(13); // EscapeQuot
|
|
break;
|
|
default:
|
|
try_QuotAttrValueContent();
|
|
}
|
|
}
|
|
shiftT(28); // '"'
|
|
break;
|
|
default:
|
|
shiftT(34); // "'"
|
|
for (;;)
|
|
{
|
|
lookahead1(186); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
|
|
if (l1 == 34) // "'"
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 14: // EscapeApos
|
|
shiftT(14); // EscapeApos
|
|
break;
|
|
default:
|
|
try_AposAttrValueContent();
|
|
}
|
|
}
|
|
shiftT(34); // "'"
|
|
}
|
|
}
|
|
|
|
function parse_QuotAttrValueContent()
|
|
{
|
|
eventHandler.startNonterminal("QuotAttrValueContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 16: // QuotAttrContentChar
|
|
shift(16); // QuotAttrContentChar
|
|
break;
|
|
default:
|
|
parse_CommonContent();
|
|
}
|
|
eventHandler.endNonterminal("QuotAttrValueContent", e0);
|
|
}
|
|
|
|
function try_QuotAttrValueContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 16: // QuotAttrContentChar
|
|
shiftT(16); // QuotAttrContentChar
|
|
break;
|
|
default:
|
|
try_CommonContent();
|
|
}
|
|
}
|
|
|
|
function parse_AposAttrValueContent()
|
|
{
|
|
eventHandler.startNonterminal("AposAttrValueContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 17: // AposAttrContentChar
|
|
shift(17); // AposAttrContentChar
|
|
break;
|
|
default:
|
|
parse_CommonContent();
|
|
}
|
|
eventHandler.endNonterminal("AposAttrValueContent", e0);
|
|
}
|
|
|
|
function try_AposAttrValueContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 17: // AposAttrContentChar
|
|
shiftT(17); // AposAttrContentChar
|
|
break;
|
|
default:
|
|
try_CommonContent();
|
|
}
|
|
}
|
|
|
|
function parse_DirElemContent()
|
|
{
|
|
eventHandler.startNonterminal("DirElemContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 55: // '<'
|
|
case 56: // '<!--'
|
|
case 60: // '<?'
|
|
parse_DirectConstructor();
|
|
break;
|
|
case 4: // CDataSection
|
|
shift(4); // CDataSection
|
|
break;
|
|
case 15: // ElementContentChar
|
|
shift(15); // ElementContentChar
|
|
break;
|
|
default:
|
|
parse_CommonContent();
|
|
}
|
|
eventHandler.endNonterminal("DirElemContent", e0);
|
|
}
|
|
|
|
function try_DirElemContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 55: // '<'
|
|
case 56: // '<!--'
|
|
case 60: // '<?'
|
|
try_DirectConstructor();
|
|
break;
|
|
case 4: // CDataSection
|
|
shiftT(4); // CDataSection
|
|
break;
|
|
case 15: // ElementContentChar
|
|
shiftT(15); // ElementContentChar
|
|
break;
|
|
default:
|
|
try_CommonContent();
|
|
}
|
|
}
|
|
|
|
function parse_DirCommentConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirCommentConstructor", e0);
|
|
shift(56); // '<!--'
|
|
lookahead1(1); // DirCommentContents
|
|
shift(2); // DirCommentContents
|
|
lookahead1(6); // '-->'
|
|
shift(44); // '-->'
|
|
eventHandler.endNonterminal("DirCommentConstructor", e0);
|
|
}
|
|
|
|
function try_DirCommentConstructor()
|
|
{
|
|
shiftT(56); // '<!--'
|
|
lookahead1(1); // DirCommentContents
|
|
shiftT(2); // DirCommentContents
|
|
lookahead1(6); // '-->'
|
|
shiftT(44); // '-->'
|
|
}
|
|
|
|
function parse_DirPIConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirPIConstructor", e0);
|
|
shift(60); // '<?'
|
|
lookahead1(3); // PITarget
|
|
shift(18); // PITarget
|
|
lookahead1(13); // S | '?>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
lookahead1(2); // DirPIContents
|
|
shift(3); // DirPIContents
|
|
}
|
|
lookahead1(9); // '?>'
|
|
shift(66); // '?>'
|
|
eventHandler.endNonterminal("DirPIConstructor", e0);
|
|
}
|
|
|
|
function try_DirPIConstructor()
|
|
{
|
|
shiftT(60); // '<?'
|
|
lookahead1(3); // PITarget
|
|
shiftT(18); // PITarget
|
|
lookahead1(13); // S | '?>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
lookahead1(2); // DirPIContents
|
|
shiftT(3); // DirPIContents
|
|
}
|
|
lookahead1(9); // '?>'
|
|
shiftT(66); // '?>'
|
|
}
|
|
|
|
function parse_ComputedConstructor()
|
|
{
|
|
eventHandler.startNonterminal("ComputedConstructor", e0);
|
|
switch (l1)
|
|
{
|
|
case 120: // 'document'
|
|
parse_CompDocConstructor();
|
|
break;
|
|
case 122: // 'element'
|
|
parse_CompElemConstructor();
|
|
break;
|
|
case 83: // 'attribute'
|
|
parse_CompAttrConstructor();
|
|
break;
|
|
case 187: // 'namespace'
|
|
parse_CompNamespaceConstructor();
|
|
break;
|
|
case 249: // 'text'
|
|
parse_CompTextConstructor();
|
|
break;
|
|
case 97: // 'comment'
|
|
parse_CompCommentConstructor();
|
|
break;
|
|
default:
|
|
parse_CompPIConstructor();
|
|
}
|
|
eventHandler.endNonterminal("ComputedConstructor", e0);
|
|
}
|
|
|
|
function try_ComputedConstructor()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 120: // 'document'
|
|
try_CompDocConstructor();
|
|
break;
|
|
case 122: // 'element'
|
|
try_CompElemConstructor();
|
|
break;
|
|
case 83: // 'attribute'
|
|
try_CompAttrConstructor();
|
|
break;
|
|
case 187: // 'namespace'
|
|
try_CompNamespaceConstructor();
|
|
break;
|
|
case 249: // 'text'
|
|
try_CompTextConstructor();
|
|
break;
|
|
case 97: // 'comment'
|
|
try_CompCommentConstructor();
|
|
break;
|
|
default:
|
|
try_CompPIConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_CompElemConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompElemConstructor", e0);
|
|
shift(122); // 'element'
|
|
lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_EQName();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shift(281); // '{'
|
|
lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 287) // '}'
|
|
{
|
|
whitespace();
|
|
parse_ContentExpr();
|
|
}
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("CompElemConstructor", e0);
|
|
}
|
|
|
|
function try_CompElemConstructor()
|
|
{
|
|
shiftT(122); // 'element'
|
|
lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
break;
|
|
default:
|
|
try_EQName();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 287) // '}'
|
|
{
|
|
try_ContentExpr();
|
|
}
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_CompNamespaceConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompNamespaceConstructor", e0);
|
|
shift(187); // 'namespace'
|
|
lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PrefixExpr();
|
|
shift(287); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_Prefix();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_URIExpr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("CompNamespaceConstructor", e0);
|
|
}
|
|
|
|
function try_CompNamespaceConstructor()
|
|
{
|
|
shiftT(187); // 'namespace'
|
|
lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PrefixExpr();
|
|
shiftT(287); // '}'
|
|
break;
|
|
default:
|
|
try_Prefix();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_URIExpr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_Prefix()
|
|
{
|
|
eventHandler.startNonterminal("Prefix", e0);
|
|
parse_NCName();
|
|
eventHandler.endNonterminal("Prefix", e0);
|
|
}
|
|
|
|
function try_Prefix()
|
|
{
|
|
try_NCName();
|
|
}
|
|
|
|
function parse_PrefixExpr()
|
|
{
|
|
eventHandler.startNonterminal("PrefixExpr", e0);
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("PrefixExpr", e0);
|
|
}
|
|
|
|
function try_PrefixExpr()
|
|
{
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_URIExpr()
|
|
{
|
|
eventHandler.startNonterminal("URIExpr", e0);
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("URIExpr", e0);
|
|
}
|
|
|
|
function try_URIExpr()
|
|
{
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_FunctionItemExpr()
|
|
{
|
|
eventHandler.startNonterminal("FunctionItemExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 147: // 'function'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 33: // '%'
|
|
case 18067: // 'function' '('
|
|
parse_InlineFunctionExpr();
|
|
break;
|
|
default:
|
|
parse_NamedFunctionRef();
|
|
}
|
|
eventHandler.endNonterminal("FunctionItemExpr", e0);
|
|
}
|
|
|
|
function try_FunctionItemExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 147: // 'function'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 33: // '%'
|
|
case 18067: // 'function' '('
|
|
try_InlineFunctionExpr();
|
|
break;
|
|
default:
|
|
try_NamedFunctionRef();
|
|
}
|
|
}
|
|
|
|
function parse_NamedFunctionRef()
|
|
{
|
|
eventHandler.startNonterminal("NamedFunctionRef", e0);
|
|
parse_EQName();
|
|
lookahead1W(20); // S^WS | '#' | '(:'
|
|
shift(29); // '#'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
eventHandler.endNonterminal("NamedFunctionRef", e0);
|
|
}
|
|
|
|
function try_NamedFunctionRef()
|
|
{
|
|
try_EQName();
|
|
lookahead1W(20); // S^WS | '#' | '(:'
|
|
shiftT(29); // '#'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
}
|
|
|
|
function parse_InlineFunctionExpr()
|
|
{
|
|
eventHandler.startNonterminal("InlineFunctionExpr", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 33) // '%'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
shift(147); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(98); // S^WS | '$' | '(:' | ')'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
whitespace();
|
|
parse_ParamList();
|
|
}
|
|
shift(38); // ')'
|
|
lookahead1W(115); // S^WS | '(:' | 'as' | '{'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
shift(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_FunctionBody();
|
|
eventHandler.endNonterminal("InlineFunctionExpr", e0);
|
|
}
|
|
|
|
function try_InlineFunctionExpr()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 33) // '%'
|
|
{
|
|
break;
|
|
}
|
|
try_Annotation();
|
|
}
|
|
shiftT(147); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(98); // S^WS | '$' | '(:' | ')'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
try_ParamList();
|
|
}
|
|
shiftT(38); // ')'
|
|
lookahead1W(115); // S^WS | '(:' | 'as' | '{'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
shiftT(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
try_FunctionBody();
|
|
}
|
|
|
|
function parse_SingleType()
|
|
{
|
|
eventHandler.startNonterminal("SingleType", e0);
|
|
parse_SimpleTypeName();
|
|
lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 65) // '?'
|
|
{
|
|
shift(65); // '?'
|
|
}
|
|
eventHandler.endNonterminal("SingleType", e0);
|
|
}
|
|
|
|
function try_SingleType()
|
|
{
|
|
try_SimpleTypeName();
|
|
lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 65) // '?'
|
|
{
|
|
shiftT(65); // '?'
|
|
}
|
|
}
|
|
|
|
function parse_TypeDeclaration()
|
|
{
|
|
eventHandler.startNonterminal("TypeDeclaration", e0);
|
|
shift(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
eventHandler.endNonterminal("TypeDeclaration", e0);
|
|
}
|
|
|
|
function try_TypeDeclaration()
|
|
{
|
|
shiftT(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
|
|
function parse_SequenceType()
|
|
{
|
|
eventHandler.startNonterminal("SequenceType", e0);
|
|
switch (l1)
|
|
{
|
|
case 35: // '('
|
|
lookahead2W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
|
|
break;
|
|
case 125: // 'empty-sequence'
|
|
lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 18045: // 'empty-sequence' '('
|
|
case 19491: // '(' ')'
|
|
if (l1 == 125) // 'empty-sequence'
|
|
{
|
|
shift(125); // 'empty-sequence'
|
|
}
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
break;
|
|
default:
|
|
parse_ItemType();
|
|
lookahead1W(228); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
|
|
switch (l1)
|
|
{
|
|
case 40: // '*'
|
|
case 41: // '+'
|
|
case 65: // '?'
|
|
whitespace();
|
|
parse_OccurrenceIndicator();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("SequenceType", e0);
|
|
}
|
|
|
|
function try_SequenceType()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 35: // '('
|
|
lookahead2W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
|
|
break;
|
|
case 125: // 'empty-sequence'
|
|
lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 18045: // 'empty-sequence' '('
|
|
case 19491: // '(' ')'
|
|
if (l1 == 125) // 'empty-sequence'
|
|
{
|
|
shiftT(125); // 'empty-sequence'
|
|
}
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
break;
|
|
default:
|
|
try_ItemType();
|
|
lookahead1W(228); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
|
|
switch (l1)
|
|
{
|
|
case 40: // '*'
|
|
case 41: // '+'
|
|
case 65: // '?'
|
|
try_OccurrenceIndicator();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_OccurrenceIndicator()
|
|
{
|
|
eventHandler.startNonterminal("OccurrenceIndicator", e0);
|
|
switch (l1)
|
|
{
|
|
case 65: // '?'
|
|
shift(65); // '?'
|
|
break;
|
|
case 40: // '*'
|
|
shift(40); // '*'
|
|
break;
|
|
default:
|
|
shift(41); // '+'
|
|
}
|
|
eventHandler.endNonterminal("OccurrenceIndicator", e0);
|
|
}
|
|
|
|
function try_OccurrenceIndicator()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 65: // '?'
|
|
shiftT(65); // '?'
|
|
break;
|
|
case 40: // '*'
|
|
shiftT(40); // '*'
|
|
break;
|
|
default:
|
|
shiftT(41); // '+'
|
|
}
|
|
}
|
|
|
|
function parse_ItemType()
|
|
{
|
|
eventHandler.startNonterminal("ItemType", e0);
|
|
switch (l1)
|
|
{
|
|
case 79: // 'array'
|
|
case 83: // 'attribute'
|
|
case 97: // 'comment'
|
|
case 121: // 'document-node'
|
|
case 122: // 'element'
|
|
case 147: // 'function'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 198: // 'object'
|
|
case 220: // 'processing-instruction'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 247: // 'structured-item'
|
|
case 249: // 'text'
|
|
lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 12879 // 'array' EOF
|
|
|| lk == 12969 // 'json-item' EOF
|
|
|| lk == 12998 // 'object' EOF
|
|
|| lk == 13047 // 'structured-item' EOF
|
|
|| lk == 13903 // 'array' '!='
|
|
|| lk == 13993 // 'json-item' '!='
|
|
|| lk == 14022 // 'object' '!='
|
|
|| lk == 14071 // 'structured-item' '!='
|
|
|| lk == 19535 // 'array' ')'
|
|
|| lk == 19625 // 'json-item' ')'
|
|
|| lk == 19654 // 'object' ')'
|
|
|| lk == 19703 // 'structured-item' ')'
|
|
|| lk == 20047 // 'array' '*'
|
|
|| lk == 20137 // 'json-item' '*'
|
|
|| lk == 20166 // 'object' '*'
|
|
|| lk == 20215 // 'structured-item' '*'
|
|
|| lk == 20559 // 'array' '*'
|
|
|| lk == 20649 // 'json-item' '*'
|
|
|| lk == 20678 // 'object' '*'
|
|
|| lk == 20727 // 'structured-item' '*'
|
|
|| lk == 21071 // 'array' '+'
|
|
|| lk == 21161 // 'json-item' '+'
|
|
|| lk == 21190 // 'object' '+'
|
|
|| lk == 21239 // 'structured-item' '+'
|
|
|| lk == 21583 // 'array' ','
|
|
|| lk == 21673 // 'json-item' ','
|
|
|| lk == 21702 // 'object' ','
|
|
|| lk == 21751 // 'structured-item' ','
|
|
|| lk == 22095 // 'array' '-'
|
|
|| lk == 22185 // 'json-item' '-'
|
|
|| lk == 22214 // 'object' '-'
|
|
|| lk == 22263 // 'structured-item' '-'
|
|
|| lk == 25679 // 'array' ':'
|
|
|| lk == 25769 // 'json-item' ':'
|
|
|| lk == 25798 // 'object' ':'
|
|
|| lk == 25847 // 'structured-item' ':'
|
|
|| lk == 27215 // 'array' ':='
|
|
|| lk == 27305 // 'json-item' ':='
|
|
|| lk == 27334 // 'object' ':='
|
|
|| lk == 27383 // 'structured-item' ':='
|
|
|| lk == 27727 // 'array' ';'
|
|
|| lk == 27817 // 'json-item' ';'
|
|
|| lk == 27846 // 'object' ';'
|
|
|| lk == 27895 // 'structured-item' ';'
|
|
|| lk == 28239 // 'array' '<'
|
|
|| lk == 28329 // 'json-item' '<'
|
|
|| lk == 28358 // 'object' '<'
|
|
|| lk == 28407 // 'structured-item' '<'
|
|
|| lk == 29775 // 'array' '<<'
|
|
|| lk == 29865 // 'json-item' '<<'
|
|
|| lk == 29894 // 'object' '<<'
|
|
|| lk == 29943 // 'structured-item' '<<'
|
|
|| lk == 30287 // 'array' '<='
|
|
|| lk == 30377 // 'json-item' '<='
|
|
|| lk == 30406 // 'object' '<='
|
|
|| lk == 30455 // 'structured-item' '<='
|
|
|| lk == 31311 // 'array' '='
|
|
|| lk == 31401 // 'json-item' '='
|
|
|| lk == 31430 // 'object' '='
|
|
|| lk == 31479 // 'structured-item' '='
|
|
|| lk == 31823 // 'array' '>'
|
|
|| lk == 31913 // 'json-item' '>'
|
|
|| lk == 31942 // 'object' '>'
|
|
|| lk == 31991 // 'structured-item' '>'
|
|
|| lk == 32335 // 'array' '>='
|
|
|| lk == 32425 // 'json-item' '>='
|
|
|| lk == 32454 // 'object' '>='
|
|
|| lk == 32503 // 'structured-item' '>='
|
|
|| lk == 32847 // 'array' '>>'
|
|
|| lk == 32937 // 'json-item' '>>'
|
|
|| lk == 32966 // 'object' '>>'
|
|
|| lk == 33015 // 'structured-item' '>>'
|
|
|| lk == 33359 // 'array' '?'
|
|
|| lk == 33449 // 'json-item' '?'
|
|
|| lk == 33478 // 'object' '?'
|
|
|| lk == 33527 // 'structured-item' '?'
|
|
|| lk == 35919 // 'array' ']'
|
|
|| lk == 36009 // 'json-item' ']'
|
|
|| lk == 36038 // 'object' ']'
|
|
|| lk == 36087 // 'structured-item' ']'
|
|
|| lk == 36431 // 'array' 'after'
|
|
|| lk == 36521 // 'json-item' 'after'
|
|
|| lk == 36550 // 'object' 'after'
|
|
|| lk == 36599 // 'structured-item' 'after'
|
|
|| lk == 37455 // 'array' 'allowing'
|
|
|| lk == 37545 // 'json-item' 'allowing'
|
|
|| lk == 37574 // 'object' 'allowing'
|
|
|| lk == 37623 // 'structured-item' 'allowing'
|
|
|| lk == 38991 // 'array' 'and'
|
|
|| lk == 39081 // 'json-item' 'and'
|
|
|| lk == 39110 // 'object' 'and'
|
|
|| lk == 39159 // 'structured-item' 'and'
|
|
|| lk == 41039 // 'array' 'as'
|
|
|| lk == 41129 // 'json-item' 'as'
|
|
|| lk == 41158 // 'object' 'as'
|
|
|| lk == 41207 // 'structured-item' 'as'
|
|
|| lk == 41551 // 'array' 'ascending'
|
|
|| lk == 41641 // 'json-item' 'ascending'
|
|
|| lk == 41670 // 'object' 'ascending'
|
|
|| lk == 41719 // 'structured-item' 'ascending'
|
|
|| lk == 42063 // 'array' 'at'
|
|
|| lk == 42153 // 'json-item' 'at'
|
|
|| lk == 42182 // 'object' 'at'
|
|
|| lk == 42231 // 'structured-item' 'at'
|
|
|| lk == 43599 // 'array' 'before'
|
|
|| lk == 43689 // 'json-item' 'before'
|
|
|| lk == 43718 // 'object' 'before'
|
|
|| lk == 43767 // 'structured-item' 'before'
|
|
|| lk == 45647 // 'array' 'case'
|
|
|| lk == 45737 // 'json-item' 'case'
|
|
|| lk == 45766 // 'object' 'case'
|
|
|| lk == 45815 // 'structured-item' 'case'
|
|
|| lk == 48719 // 'array' 'collation'
|
|
|| lk == 48809 // 'json-item' 'collation'
|
|
|| lk == 48838 // 'object' 'collation'
|
|
|| lk == 48887 // 'structured-item' 'collation'
|
|
|| lk == 51279 // 'array' 'contains'
|
|
|| lk == 51369 // 'json-item' 'contains'
|
|
|| lk == 51398 // 'object' 'contains'
|
|
|| lk == 51447 // 'structured-item' 'contains'
|
|
|| lk == 54351 // 'array' 'count'
|
|
|| lk == 54441 // 'json-item' 'count'
|
|
|| lk == 54470 // 'object' 'count'
|
|
|| lk == 54519 // 'structured-item' 'count'
|
|
|| lk == 56399 // 'array' 'default'
|
|
|| lk == 56489 // 'json-item' 'default'
|
|
|| lk == 56518 // 'object' 'default'
|
|
|| lk == 56567 // 'structured-item' 'default'
|
|
|| lk == 58447 // 'array' 'descending'
|
|
|| lk == 58537 // 'json-item' 'descending'
|
|
|| lk == 58566 // 'object' 'descending'
|
|
|| lk == 58615 // 'structured-item' 'descending'
|
|
|| lk == 61007 // 'array' 'div'
|
|
|| lk == 61097 // 'json-item' 'div'
|
|
|| lk == 61126 // 'object' 'div'
|
|
|| lk == 61175 // 'structured-item' 'div'
|
|
|| lk == 63055 // 'array' 'else'
|
|
|| lk == 63145 // 'json-item' 'else'
|
|
|| lk == 63174 // 'object' 'else'
|
|
|| lk == 63223 // 'structured-item' 'else'
|
|
|| lk == 63567 // 'array' 'empty'
|
|
|| lk == 63657 // 'json-item' 'empty'
|
|
|| lk == 63686 // 'object' 'empty'
|
|
|| lk == 63735 // 'structured-item' 'empty'
|
|
|| lk == 65103 // 'array' 'end'
|
|
|| lk == 65193 // 'json-item' 'end'
|
|
|| lk == 65222 // 'object' 'end'
|
|
|| lk == 65271 // 'structured-item' 'end'
|
|
|| lk == 66127 // 'array' 'eq'
|
|
|| lk == 66217 // 'json-item' 'eq'
|
|
|| lk == 66246 // 'object' 'eq'
|
|
|| lk == 66295 // 'structured-item' 'eq'
|
|
|| lk == 67663 // 'array' 'except'
|
|
|| lk == 67753 // 'json-item' 'except'
|
|
|| lk == 67782 // 'object' 'except'
|
|
|| lk == 67831 // 'structured-item' 'except'
|
|
|| lk == 68687 // 'array' 'external'
|
|
|| lk == 68777 // 'json-item' 'external'
|
|
|| lk == 68806 // 'object' 'external'
|
|
|| lk == 68855 // 'structured-item' 'external'
|
|
|| lk == 71247 // 'array' 'for'
|
|
|| lk == 71337 // 'json-item' 'for'
|
|
|| lk == 71366 // 'object' 'for'
|
|
|| lk == 71415 // 'structured-item' 'for'
|
|
|| lk == 75855 // 'array' 'ge'
|
|
|| lk == 75945 // 'json-item' 'ge'
|
|
|| lk == 75974 // 'object' 'ge'
|
|
|| lk == 76023 // 'structured-item' 'ge'
|
|
|| lk == 76879 // 'array' 'group'
|
|
|| lk == 76969 // 'json-item' 'group'
|
|
|| lk == 76998 // 'object' 'group'
|
|
|| lk == 77047 // 'structured-item' 'group'
|
|
|| lk == 77903 // 'array' 'gt'
|
|
|| lk == 77993 // 'json-item' 'gt'
|
|
|| lk == 78022 // 'object' 'gt'
|
|
|| lk == 78071 // 'structured-item' 'gt'
|
|
|| lk == 78415 // 'array' 'idiv'
|
|
|| lk == 78505 // 'json-item' 'idiv'
|
|
|| lk == 78534 // 'object' 'idiv'
|
|
|| lk == 78583 // 'structured-item' 'idiv'
|
|
|| lk == 79951 // 'array' 'in'
|
|
|| lk == 80041 // 'json-item' 'in'
|
|
|| lk == 80070 // 'object' 'in'
|
|
|| lk == 80119 // 'structured-item' 'in'
|
|
|| lk == 83023 // 'array' 'instance'
|
|
|| lk == 83113 // 'json-item' 'instance'
|
|
|| lk == 83142 // 'object' 'instance'
|
|
|| lk == 83191 // 'structured-item' 'instance'
|
|
|| lk == 84047 // 'array' 'intersect'
|
|
|| lk == 84137 // 'json-item' 'intersect'
|
|
|| lk == 84166 // 'object' 'intersect'
|
|
|| lk == 84215 // 'structured-item' 'intersect'
|
|
|| lk == 84559 // 'array' 'into'
|
|
|| lk == 84649 // 'json-item' 'into'
|
|
|| lk == 84678 // 'object' 'into'
|
|
|| lk == 84727 // 'structured-item' 'into'
|
|
|| lk == 85071 // 'array' 'is'
|
|
|| lk == 85161 // 'json-item' 'is'
|
|
|| lk == 85190 // 'object' 'is'
|
|
|| lk == 85239 // 'structured-item' 'is'
|
|
|| lk == 89679 // 'array' 'le'
|
|
|| lk == 89769 // 'json-item' 'le'
|
|
|| lk == 89798 // 'object' 'le'
|
|
|| lk == 89847 // 'structured-item' 'le'
|
|
|| lk == 90703 // 'array' 'let'
|
|
|| lk == 90793 // 'json-item' 'let'
|
|
|| lk == 90822 // 'object' 'let'
|
|
|| lk == 90871 // 'structured-item' 'let'
|
|
|| lk == 92751 // 'array' 'lt'
|
|
|| lk == 92841 // 'json-item' 'lt'
|
|
|| lk == 92870 // 'object' 'lt'
|
|
|| lk == 92919 // 'structured-item' 'lt'
|
|
|| lk == 93775 // 'array' 'mod'
|
|
|| lk == 93865 // 'json-item' 'mod'
|
|
|| lk == 93894 // 'object' 'mod'
|
|
|| lk == 93943 // 'structured-item' 'mod'
|
|
|| lk == 94287 // 'array' 'modify'
|
|
|| lk == 94377 // 'json-item' 'modify'
|
|
|| lk == 94406 // 'object' 'modify'
|
|
|| lk == 94455 // 'structured-item' 'modify'
|
|
|| lk == 96847 // 'array' 'ne'
|
|
|| lk == 96937 // 'json-item' 'ne'
|
|
|| lk == 96966 // 'object' 'ne'
|
|
|| lk == 97015 // 'structured-item' 'ne'
|
|
|| lk == 103503 // 'array' 'only'
|
|
|| lk == 103593 // 'json-item' 'only'
|
|
|| lk == 103622 // 'object' 'only'
|
|
|| lk == 103671 // 'structured-item' 'only'
|
|
|| lk == 104527 // 'array' 'or'
|
|
|| lk == 104617 // 'json-item' 'or'
|
|
|| lk == 104646 // 'object' 'or'
|
|
|| lk == 104695 // 'structured-item' 'or'
|
|
|| lk == 105039 // 'array' 'order'
|
|
|| lk == 105129 // 'json-item' 'order'
|
|
|| lk == 105158 // 'object' 'order'
|
|
|| lk == 105207 // 'structured-item' 'order'
|
|
|| lk == 107087 // 'array' 'paragraphs'
|
|
|| lk == 107177 // 'json-item' 'paragraphs'
|
|
|| lk == 107206 // 'object' 'paragraphs'
|
|
|| lk == 107255 // 'structured-item' 'paragraphs'
|
|
|| lk == 114767 // 'array' 'return'
|
|
|| lk == 114857 // 'json-item' 'return'
|
|
|| lk == 114886 // 'object' 'return'
|
|
|| lk == 114935 // 'structured-item' 'return'
|
|
|| lk == 116815 // 'array' 'satisfies'
|
|
|| lk == 116905 // 'json-item' 'satisfies'
|
|
|| lk == 116934 // 'object' 'satisfies'
|
|
|| lk == 116983 // 'structured-item' 'satisfies'
|
|
|| lk == 118863 // 'array' 'score'
|
|
|| lk == 118953 // 'json-item' 'score'
|
|
|| lk == 118982 // 'object' 'score'
|
|
|| lk == 119031 // 'structured-item' 'score'
|
|
|| lk == 121423 // 'array' 'sentences'
|
|
|| lk == 121513 // 'json-item' 'sentences'
|
|
|| lk == 121542 // 'object' 'sentences'
|
|
|| lk == 121591 // 'structured-item' 'sentences'
|
|
|| lk == 123471 // 'array' 'stable'
|
|
|| lk == 123561 // 'json-item' 'stable'
|
|
|| lk == 123590 // 'object' 'stable'
|
|
|| lk == 123639 // 'structured-item' 'stable'
|
|
|| lk == 123983 // 'array' 'start'
|
|
|| lk == 124073 // 'json-item' 'start'
|
|
|| lk == 124102 // 'object' 'start'
|
|
|| lk == 124151 // 'structured-item' 'start'
|
|
|| lk == 129103 // 'array' 'times'
|
|
|| lk == 129193 // 'json-item' 'times'
|
|
|| lk == 129222 // 'object' 'times'
|
|
|| lk == 129271 // 'structured-item' 'times'
|
|
|| lk == 129615 // 'array' 'to'
|
|
|| lk == 129705 // 'json-item' 'to'
|
|
|| lk == 129734 // 'object' 'to'
|
|
|| lk == 129783 // 'structured-item' 'to'
|
|
|| lk == 133199 // 'array' 'union'
|
|
|| lk == 133289 // 'json-item' 'union'
|
|
|| lk == 133318 // 'object' 'union'
|
|
|| lk == 133367 // 'structured-item' 'union'
|
|
|| lk == 139343 // 'array' 'where'
|
|
|| lk == 139433 // 'json-item' 'where'
|
|
|| lk == 139462 // 'object' 'where'
|
|
|| lk == 139511 // 'structured-item' 'where'
|
|
|| lk == 141391 // 'array' 'with'
|
|
|| lk == 141481 // 'json-item' 'with'
|
|
|| lk == 141510 // 'object' 'with'
|
|
|| lk == 141559 // 'structured-item' 'with'
|
|
|| lk == 142927 // 'array' 'words'
|
|
|| lk == 143017 // 'json-item' 'words'
|
|
|| lk == 143046 // 'object' 'words'
|
|
|| lk == 143095 // 'structured-item' 'words'
|
|
|| lk == 143951 // 'array' '{'
|
|
|| lk == 144041 // 'json-item' '{'
|
|
|| lk == 144070 // 'object' '{'
|
|
|| lk == 144119 // 'structured-item' '{'
|
|
|| lk == 145487 // 'array' '|'
|
|
|| lk == 145577 // 'json-item' '|'
|
|
|| lk == 145606 // 'object' '|'
|
|
|| lk == 145655 // 'structured-item' '|'
|
|
|| lk == 145999 // 'array' '||'
|
|
|| lk == 146089 // 'json-item' '||'
|
|
|| lk == 146118 // 'object' '||'
|
|
|| lk == 146167 // 'structured-item' '||'
|
|
|| lk == 146511 // 'array' '|}'
|
|
|| lk == 146601 // 'json-item' '|}'
|
|
|| lk == 146630 // 'object' '|}'
|
|
|| lk == 146679 // 'structured-item' '|}'
|
|
|| lk == 147023 // 'array' '}'
|
|
|| lk == 147113 // 'json-item' '}'
|
|
|| lk == 147142 // 'object' '}'
|
|
|| lk == 147191) // 'structured-item' '}'
|
|
{
|
|
lk = memoized(6, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_AtomicOrUnionType();
|
|
lk = -4;
|
|
}
|
|
catch (p4A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONTest();
|
|
lk = -6;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
lk = -7;
|
|
}
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(6, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 18003: // 'attribute' '('
|
|
case 18017: // 'comment' '('
|
|
case 18041: // 'document-node' '('
|
|
case 18042: // 'element' '('
|
|
case 18108: // 'namespace-node' '('
|
|
case 18114: // 'node' '('
|
|
case 18140: // 'processing-instruction' '('
|
|
case 18150: // 'schema-attribute' '('
|
|
case 18151: // 'schema-element' '('
|
|
case 18169: // 'text' '('
|
|
parse_KindTest();
|
|
break;
|
|
case 18087: // 'item' '('
|
|
shift(167); // 'item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
break;
|
|
case 33: // '%'
|
|
case 18067: // 'function' '('
|
|
parse_FunctionTest();
|
|
break;
|
|
case 35: // '('
|
|
parse_ParenthesizedItemType();
|
|
break;
|
|
case -6:
|
|
case 17999: // 'array' '('
|
|
case 18089: // 'json-item' '('
|
|
case 18118: // 'object' '('
|
|
parse_JSONTest();
|
|
break;
|
|
case -7:
|
|
case 18167: // 'structured-item' '('
|
|
parse_StructuredItemTest();
|
|
break;
|
|
default:
|
|
parse_AtomicOrUnionType();
|
|
}
|
|
eventHandler.endNonterminal("ItemType", e0);
|
|
}
|
|
|
|
function try_ItemType()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 79: // 'array'
|
|
case 83: // 'attribute'
|
|
case 97: // 'comment'
|
|
case 121: // 'document-node'
|
|
case 122: // 'element'
|
|
case 147: // 'function'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 198: // 'object'
|
|
case 220: // 'processing-instruction'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 247: // 'structured-item'
|
|
case 249: // 'text'
|
|
lookahead2W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 12879 // 'array' EOF
|
|
|| lk == 12969 // 'json-item' EOF
|
|
|| lk == 12998 // 'object' EOF
|
|
|| lk == 13047 // 'structured-item' EOF
|
|
|| lk == 13903 // 'array' '!='
|
|
|| lk == 13993 // 'json-item' '!='
|
|
|| lk == 14022 // 'object' '!='
|
|
|| lk == 14071 // 'structured-item' '!='
|
|
|| lk == 19535 // 'array' ')'
|
|
|| lk == 19625 // 'json-item' ')'
|
|
|| lk == 19654 // 'object' ')'
|
|
|| lk == 19703 // 'structured-item' ')'
|
|
|| lk == 20047 // 'array' '*'
|
|
|| lk == 20137 // 'json-item' '*'
|
|
|| lk == 20166 // 'object' '*'
|
|
|| lk == 20215 // 'structured-item' '*'
|
|
|| lk == 20559 // 'array' '*'
|
|
|| lk == 20649 // 'json-item' '*'
|
|
|| lk == 20678 // 'object' '*'
|
|
|| lk == 20727 // 'structured-item' '*'
|
|
|| lk == 21071 // 'array' '+'
|
|
|| lk == 21161 // 'json-item' '+'
|
|
|| lk == 21190 // 'object' '+'
|
|
|| lk == 21239 // 'structured-item' '+'
|
|
|| lk == 21583 // 'array' ','
|
|
|| lk == 21673 // 'json-item' ','
|
|
|| lk == 21702 // 'object' ','
|
|
|| lk == 21751 // 'structured-item' ','
|
|
|| lk == 22095 // 'array' '-'
|
|
|| lk == 22185 // 'json-item' '-'
|
|
|| lk == 22214 // 'object' '-'
|
|
|| lk == 22263 // 'structured-item' '-'
|
|
|| lk == 25679 // 'array' ':'
|
|
|| lk == 25769 // 'json-item' ':'
|
|
|| lk == 25798 // 'object' ':'
|
|
|| lk == 25847 // 'structured-item' ':'
|
|
|| lk == 27215 // 'array' ':='
|
|
|| lk == 27305 // 'json-item' ':='
|
|
|| lk == 27334 // 'object' ':='
|
|
|| lk == 27383 // 'structured-item' ':='
|
|
|| lk == 27727 // 'array' ';'
|
|
|| lk == 27817 // 'json-item' ';'
|
|
|| lk == 27846 // 'object' ';'
|
|
|| lk == 27895 // 'structured-item' ';'
|
|
|| lk == 28239 // 'array' '<'
|
|
|| lk == 28329 // 'json-item' '<'
|
|
|| lk == 28358 // 'object' '<'
|
|
|| lk == 28407 // 'structured-item' '<'
|
|
|| lk == 29775 // 'array' '<<'
|
|
|| lk == 29865 // 'json-item' '<<'
|
|
|| lk == 29894 // 'object' '<<'
|
|
|| lk == 29943 // 'structured-item' '<<'
|
|
|| lk == 30287 // 'array' '<='
|
|
|| lk == 30377 // 'json-item' '<='
|
|
|| lk == 30406 // 'object' '<='
|
|
|| lk == 30455 // 'structured-item' '<='
|
|
|| lk == 31311 // 'array' '='
|
|
|| lk == 31401 // 'json-item' '='
|
|
|| lk == 31430 // 'object' '='
|
|
|| lk == 31479 // 'structured-item' '='
|
|
|| lk == 31823 // 'array' '>'
|
|
|| lk == 31913 // 'json-item' '>'
|
|
|| lk == 31942 // 'object' '>'
|
|
|| lk == 31991 // 'structured-item' '>'
|
|
|| lk == 32335 // 'array' '>='
|
|
|| lk == 32425 // 'json-item' '>='
|
|
|| lk == 32454 // 'object' '>='
|
|
|| lk == 32503 // 'structured-item' '>='
|
|
|| lk == 32847 // 'array' '>>'
|
|
|| lk == 32937 // 'json-item' '>>'
|
|
|| lk == 32966 // 'object' '>>'
|
|
|| lk == 33015 // 'structured-item' '>>'
|
|
|| lk == 33359 // 'array' '?'
|
|
|| lk == 33449 // 'json-item' '?'
|
|
|| lk == 33478 // 'object' '?'
|
|
|| lk == 33527 // 'structured-item' '?'
|
|
|| lk == 35919 // 'array' ']'
|
|
|| lk == 36009 // 'json-item' ']'
|
|
|| lk == 36038 // 'object' ']'
|
|
|| lk == 36087 // 'structured-item' ']'
|
|
|| lk == 36431 // 'array' 'after'
|
|
|| lk == 36521 // 'json-item' 'after'
|
|
|| lk == 36550 // 'object' 'after'
|
|
|| lk == 36599 // 'structured-item' 'after'
|
|
|| lk == 37455 // 'array' 'allowing'
|
|
|| lk == 37545 // 'json-item' 'allowing'
|
|
|| lk == 37574 // 'object' 'allowing'
|
|
|| lk == 37623 // 'structured-item' 'allowing'
|
|
|| lk == 38991 // 'array' 'and'
|
|
|| lk == 39081 // 'json-item' 'and'
|
|
|| lk == 39110 // 'object' 'and'
|
|
|| lk == 39159 // 'structured-item' 'and'
|
|
|| lk == 41039 // 'array' 'as'
|
|
|| lk == 41129 // 'json-item' 'as'
|
|
|| lk == 41158 // 'object' 'as'
|
|
|| lk == 41207 // 'structured-item' 'as'
|
|
|| lk == 41551 // 'array' 'ascending'
|
|
|| lk == 41641 // 'json-item' 'ascending'
|
|
|| lk == 41670 // 'object' 'ascending'
|
|
|| lk == 41719 // 'structured-item' 'ascending'
|
|
|| lk == 42063 // 'array' 'at'
|
|
|| lk == 42153 // 'json-item' 'at'
|
|
|| lk == 42182 // 'object' 'at'
|
|
|| lk == 42231 // 'structured-item' 'at'
|
|
|| lk == 43599 // 'array' 'before'
|
|
|| lk == 43689 // 'json-item' 'before'
|
|
|| lk == 43718 // 'object' 'before'
|
|
|| lk == 43767 // 'structured-item' 'before'
|
|
|| lk == 45647 // 'array' 'case'
|
|
|| lk == 45737 // 'json-item' 'case'
|
|
|| lk == 45766 // 'object' 'case'
|
|
|| lk == 45815 // 'structured-item' 'case'
|
|
|| lk == 48719 // 'array' 'collation'
|
|
|| lk == 48809 // 'json-item' 'collation'
|
|
|| lk == 48838 // 'object' 'collation'
|
|
|| lk == 48887 // 'structured-item' 'collation'
|
|
|| lk == 51279 // 'array' 'contains'
|
|
|| lk == 51369 // 'json-item' 'contains'
|
|
|| lk == 51398 // 'object' 'contains'
|
|
|| lk == 51447 // 'structured-item' 'contains'
|
|
|| lk == 54351 // 'array' 'count'
|
|
|| lk == 54441 // 'json-item' 'count'
|
|
|| lk == 54470 // 'object' 'count'
|
|
|| lk == 54519 // 'structured-item' 'count'
|
|
|| lk == 56399 // 'array' 'default'
|
|
|| lk == 56489 // 'json-item' 'default'
|
|
|| lk == 56518 // 'object' 'default'
|
|
|| lk == 56567 // 'structured-item' 'default'
|
|
|| lk == 58447 // 'array' 'descending'
|
|
|| lk == 58537 // 'json-item' 'descending'
|
|
|| lk == 58566 // 'object' 'descending'
|
|
|| lk == 58615 // 'structured-item' 'descending'
|
|
|| lk == 61007 // 'array' 'div'
|
|
|| lk == 61097 // 'json-item' 'div'
|
|
|| lk == 61126 // 'object' 'div'
|
|
|| lk == 61175 // 'structured-item' 'div'
|
|
|| lk == 63055 // 'array' 'else'
|
|
|| lk == 63145 // 'json-item' 'else'
|
|
|| lk == 63174 // 'object' 'else'
|
|
|| lk == 63223 // 'structured-item' 'else'
|
|
|| lk == 63567 // 'array' 'empty'
|
|
|| lk == 63657 // 'json-item' 'empty'
|
|
|| lk == 63686 // 'object' 'empty'
|
|
|| lk == 63735 // 'structured-item' 'empty'
|
|
|| lk == 65103 // 'array' 'end'
|
|
|| lk == 65193 // 'json-item' 'end'
|
|
|| lk == 65222 // 'object' 'end'
|
|
|| lk == 65271 // 'structured-item' 'end'
|
|
|| lk == 66127 // 'array' 'eq'
|
|
|| lk == 66217 // 'json-item' 'eq'
|
|
|| lk == 66246 // 'object' 'eq'
|
|
|| lk == 66295 // 'structured-item' 'eq'
|
|
|| lk == 67663 // 'array' 'except'
|
|
|| lk == 67753 // 'json-item' 'except'
|
|
|| lk == 67782 // 'object' 'except'
|
|
|| lk == 67831 // 'structured-item' 'except'
|
|
|| lk == 68687 // 'array' 'external'
|
|
|| lk == 68777 // 'json-item' 'external'
|
|
|| lk == 68806 // 'object' 'external'
|
|
|| lk == 68855 // 'structured-item' 'external'
|
|
|| lk == 71247 // 'array' 'for'
|
|
|| lk == 71337 // 'json-item' 'for'
|
|
|| lk == 71366 // 'object' 'for'
|
|
|| lk == 71415 // 'structured-item' 'for'
|
|
|| lk == 75855 // 'array' 'ge'
|
|
|| lk == 75945 // 'json-item' 'ge'
|
|
|| lk == 75974 // 'object' 'ge'
|
|
|| lk == 76023 // 'structured-item' 'ge'
|
|
|| lk == 76879 // 'array' 'group'
|
|
|| lk == 76969 // 'json-item' 'group'
|
|
|| lk == 76998 // 'object' 'group'
|
|
|| lk == 77047 // 'structured-item' 'group'
|
|
|| lk == 77903 // 'array' 'gt'
|
|
|| lk == 77993 // 'json-item' 'gt'
|
|
|| lk == 78022 // 'object' 'gt'
|
|
|| lk == 78071 // 'structured-item' 'gt'
|
|
|| lk == 78415 // 'array' 'idiv'
|
|
|| lk == 78505 // 'json-item' 'idiv'
|
|
|| lk == 78534 // 'object' 'idiv'
|
|
|| lk == 78583 // 'structured-item' 'idiv'
|
|
|| lk == 79951 // 'array' 'in'
|
|
|| lk == 80041 // 'json-item' 'in'
|
|
|| lk == 80070 // 'object' 'in'
|
|
|| lk == 80119 // 'structured-item' 'in'
|
|
|| lk == 83023 // 'array' 'instance'
|
|
|| lk == 83113 // 'json-item' 'instance'
|
|
|| lk == 83142 // 'object' 'instance'
|
|
|| lk == 83191 // 'structured-item' 'instance'
|
|
|| lk == 84047 // 'array' 'intersect'
|
|
|| lk == 84137 // 'json-item' 'intersect'
|
|
|| lk == 84166 // 'object' 'intersect'
|
|
|| lk == 84215 // 'structured-item' 'intersect'
|
|
|| lk == 84559 // 'array' 'into'
|
|
|| lk == 84649 // 'json-item' 'into'
|
|
|| lk == 84678 // 'object' 'into'
|
|
|| lk == 84727 // 'structured-item' 'into'
|
|
|| lk == 85071 // 'array' 'is'
|
|
|| lk == 85161 // 'json-item' 'is'
|
|
|| lk == 85190 // 'object' 'is'
|
|
|| lk == 85239 // 'structured-item' 'is'
|
|
|| lk == 89679 // 'array' 'le'
|
|
|| lk == 89769 // 'json-item' 'le'
|
|
|| lk == 89798 // 'object' 'le'
|
|
|| lk == 89847 // 'structured-item' 'le'
|
|
|| lk == 90703 // 'array' 'let'
|
|
|| lk == 90793 // 'json-item' 'let'
|
|
|| lk == 90822 // 'object' 'let'
|
|
|| lk == 90871 // 'structured-item' 'let'
|
|
|| lk == 92751 // 'array' 'lt'
|
|
|| lk == 92841 // 'json-item' 'lt'
|
|
|| lk == 92870 // 'object' 'lt'
|
|
|| lk == 92919 // 'structured-item' 'lt'
|
|
|| lk == 93775 // 'array' 'mod'
|
|
|| lk == 93865 // 'json-item' 'mod'
|
|
|| lk == 93894 // 'object' 'mod'
|
|
|| lk == 93943 // 'structured-item' 'mod'
|
|
|| lk == 94287 // 'array' 'modify'
|
|
|| lk == 94377 // 'json-item' 'modify'
|
|
|| lk == 94406 // 'object' 'modify'
|
|
|| lk == 94455 // 'structured-item' 'modify'
|
|
|| lk == 96847 // 'array' 'ne'
|
|
|| lk == 96937 // 'json-item' 'ne'
|
|
|| lk == 96966 // 'object' 'ne'
|
|
|| lk == 97015 // 'structured-item' 'ne'
|
|
|| lk == 103503 // 'array' 'only'
|
|
|| lk == 103593 // 'json-item' 'only'
|
|
|| lk == 103622 // 'object' 'only'
|
|
|| lk == 103671 // 'structured-item' 'only'
|
|
|| lk == 104527 // 'array' 'or'
|
|
|| lk == 104617 // 'json-item' 'or'
|
|
|| lk == 104646 // 'object' 'or'
|
|
|| lk == 104695 // 'structured-item' 'or'
|
|
|| lk == 105039 // 'array' 'order'
|
|
|| lk == 105129 // 'json-item' 'order'
|
|
|| lk == 105158 // 'object' 'order'
|
|
|| lk == 105207 // 'structured-item' 'order'
|
|
|| lk == 107087 // 'array' 'paragraphs'
|
|
|| lk == 107177 // 'json-item' 'paragraphs'
|
|
|| lk == 107206 // 'object' 'paragraphs'
|
|
|| lk == 107255 // 'structured-item' 'paragraphs'
|
|
|| lk == 114767 // 'array' 'return'
|
|
|| lk == 114857 // 'json-item' 'return'
|
|
|| lk == 114886 // 'object' 'return'
|
|
|| lk == 114935 // 'structured-item' 'return'
|
|
|| lk == 116815 // 'array' 'satisfies'
|
|
|| lk == 116905 // 'json-item' 'satisfies'
|
|
|| lk == 116934 // 'object' 'satisfies'
|
|
|| lk == 116983 // 'structured-item' 'satisfies'
|
|
|| lk == 118863 // 'array' 'score'
|
|
|| lk == 118953 // 'json-item' 'score'
|
|
|| lk == 118982 // 'object' 'score'
|
|
|| lk == 119031 // 'structured-item' 'score'
|
|
|| lk == 121423 // 'array' 'sentences'
|
|
|| lk == 121513 // 'json-item' 'sentences'
|
|
|| lk == 121542 // 'object' 'sentences'
|
|
|| lk == 121591 // 'structured-item' 'sentences'
|
|
|| lk == 123471 // 'array' 'stable'
|
|
|| lk == 123561 // 'json-item' 'stable'
|
|
|| lk == 123590 // 'object' 'stable'
|
|
|| lk == 123639 // 'structured-item' 'stable'
|
|
|| lk == 123983 // 'array' 'start'
|
|
|| lk == 124073 // 'json-item' 'start'
|
|
|| lk == 124102 // 'object' 'start'
|
|
|| lk == 124151 // 'structured-item' 'start'
|
|
|| lk == 129103 // 'array' 'times'
|
|
|| lk == 129193 // 'json-item' 'times'
|
|
|| lk == 129222 // 'object' 'times'
|
|
|| lk == 129271 // 'structured-item' 'times'
|
|
|| lk == 129615 // 'array' 'to'
|
|
|| lk == 129705 // 'json-item' 'to'
|
|
|| lk == 129734 // 'object' 'to'
|
|
|| lk == 129783 // 'structured-item' 'to'
|
|
|| lk == 133199 // 'array' 'union'
|
|
|| lk == 133289 // 'json-item' 'union'
|
|
|| lk == 133318 // 'object' 'union'
|
|
|| lk == 133367 // 'structured-item' 'union'
|
|
|| lk == 139343 // 'array' 'where'
|
|
|| lk == 139433 // 'json-item' 'where'
|
|
|| lk == 139462 // 'object' 'where'
|
|
|| lk == 139511 // 'structured-item' 'where'
|
|
|| lk == 141391 // 'array' 'with'
|
|
|| lk == 141481 // 'json-item' 'with'
|
|
|| lk == 141510 // 'object' 'with'
|
|
|| lk == 141559 // 'structured-item' 'with'
|
|
|| lk == 142927 // 'array' 'words'
|
|
|| lk == 143017 // 'json-item' 'words'
|
|
|| lk == 143046 // 'object' 'words'
|
|
|| lk == 143095 // 'structured-item' 'words'
|
|
|| lk == 143951 // 'array' '{'
|
|
|| lk == 144041 // 'json-item' '{'
|
|
|| lk == 144070 // 'object' '{'
|
|
|| lk == 144119 // 'structured-item' '{'
|
|
|| lk == 145487 // 'array' '|'
|
|
|| lk == 145577 // 'json-item' '|'
|
|
|| lk == 145606 // 'object' '|'
|
|
|| lk == 145655 // 'structured-item' '|'
|
|
|| lk == 145999 // 'array' '||'
|
|
|| lk == 146089 // 'json-item' '||'
|
|
|| lk == 146118 // 'object' '||'
|
|
|| lk == 146167 // 'structured-item' '||'
|
|
|| lk == 146511 // 'array' '|}'
|
|
|| lk == 146601 // 'json-item' '|}'
|
|
|| lk == 146630 // 'object' '|}'
|
|
|| lk == 146679 // 'structured-item' '|}'
|
|
|| lk == 147023 // 'array' '}'
|
|
|| lk == 147113 // 'json-item' '}'
|
|
|| lk == 147142 // 'object' '}'
|
|
|| lk == 147191) // 'structured-item' '}'
|
|
{
|
|
lk = memoized(6, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_AtomicOrUnionType();
|
|
memoize(6, e0A, -4);
|
|
lk = -8;
|
|
}
|
|
catch (p4A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONTest();
|
|
memoize(6, e0A, -6);
|
|
lk = -8;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
lk = -7;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(6, e0A, -7);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 18003: // 'attribute' '('
|
|
case 18017: // 'comment' '('
|
|
case 18041: // 'document-node' '('
|
|
case 18042: // 'element' '('
|
|
case 18108: // 'namespace-node' '('
|
|
case 18114: // 'node' '('
|
|
case 18140: // 'processing-instruction' '('
|
|
case 18150: // 'schema-attribute' '('
|
|
case 18151: // 'schema-element' '('
|
|
case 18169: // 'text' '('
|
|
try_KindTest();
|
|
break;
|
|
case 18087: // 'item' '('
|
|
shiftT(167); // 'item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
break;
|
|
case 33: // '%'
|
|
case 18067: // 'function' '('
|
|
try_FunctionTest();
|
|
break;
|
|
case 35: // '('
|
|
try_ParenthesizedItemType();
|
|
break;
|
|
case -6:
|
|
case 17999: // 'array' '('
|
|
case 18089: // 'json-item' '('
|
|
case 18118: // 'object' '('
|
|
try_JSONTest();
|
|
break;
|
|
case -7:
|
|
case 18167: // 'structured-item' '('
|
|
try_StructuredItemTest();
|
|
break;
|
|
case -8:
|
|
break;
|
|
default:
|
|
try_AtomicOrUnionType();
|
|
}
|
|
}
|
|
|
|
function parse_JSONTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 169: // 'json-item'
|
|
parse_JSONItemTest();
|
|
break;
|
|
case 198: // 'object'
|
|
parse_JSONObjectTest();
|
|
break;
|
|
default:
|
|
parse_JSONArrayTest();
|
|
}
|
|
eventHandler.endNonterminal("JSONTest", e0);
|
|
}
|
|
|
|
function try_JSONTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 169: // 'json-item'
|
|
try_JSONItemTest();
|
|
break;
|
|
case 198: // 'object'
|
|
try_JSONObjectTest();
|
|
break;
|
|
default:
|
|
try_JSONArrayTest();
|
|
}
|
|
}
|
|
|
|
function parse_StructuredItemTest()
|
|
{
|
|
eventHandler.startNonterminal("StructuredItemTest", e0);
|
|
shift(247); // 'structured-item'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
}
|
|
eventHandler.endNonterminal("StructuredItemTest", e0);
|
|
}
|
|
|
|
function try_StructuredItemTest()
|
|
{
|
|
shiftT(247); // 'structured-item'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_JSONItemTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONItemTest", e0);
|
|
shift(169); // 'json-item'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
}
|
|
eventHandler.endNonterminal("JSONItemTest", e0);
|
|
}
|
|
|
|
function try_JSONItemTest()
|
|
{
|
|
shiftT(169); // 'json-item'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_JSONObjectTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONObjectTest", e0);
|
|
shift(198); // 'object'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
}
|
|
eventHandler.endNonterminal("JSONObjectTest", e0);
|
|
}
|
|
|
|
function try_JSONObjectTest()
|
|
{
|
|
shiftT(198); // 'object'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_JSONArrayTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONArrayTest", e0);
|
|
shift(79); // 'array'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
}
|
|
eventHandler.endNonterminal("JSONArrayTest", e0);
|
|
}
|
|
|
|
function try_JSONArrayTest()
|
|
{
|
|
shiftT(79); // 'array'
|
|
lookahead1W(232); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
if (l1 == 35) // '('
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_AtomicOrUnionType()
|
|
{
|
|
eventHandler.startNonterminal("AtomicOrUnionType", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("AtomicOrUnionType", e0);
|
|
}
|
|
|
|
function try_AtomicOrUnionType()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_KindTest()
|
|
{
|
|
eventHandler.startNonterminal("KindTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 121: // 'document-node'
|
|
parse_DocumentTest();
|
|
break;
|
|
case 122: // 'element'
|
|
parse_ElementTest();
|
|
break;
|
|
case 83: // 'attribute'
|
|
parse_AttributeTest();
|
|
break;
|
|
case 231: // 'schema-element'
|
|
parse_SchemaElementTest();
|
|
break;
|
|
case 230: // 'schema-attribute'
|
|
parse_SchemaAttributeTest();
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
parse_PITest();
|
|
break;
|
|
case 97: // 'comment'
|
|
parse_CommentTest();
|
|
break;
|
|
case 249: // 'text'
|
|
parse_TextTest();
|
|
break;
|
|
case 188: // 'namespace-node'
|
|
parse_NamespaceNodeTest();
|
|
break;
|
|
default:
|
|
parse_AnyKindTest();
|
|
}
|
|
eventHandler.endNonterminal("KindTest", e0);
|
|
}
|
|
|
|
function try_KindTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 121: // 'document-node'
|
|
try_DocumentTest();
|
|
break;
|
|
case 122: // 'element'
|
|
try_ElementTest();
|
|
break;
|
|
case 83: // 'attribute'
|
|
try_AttributeTest();
|
|
break;
|
|
case 231: // 'schema-element'
|
|
try_SchemaElementTest();
|
|
break;
|
|
case 230: // 'schema-attribute'
|
|
try_SchemaAttributeTest();
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
try_PITest();
|
|
break;
|
|
case 97: // 'comment'
|
|
try_CommentTest();
|
|
break;
|
|
case 249: // 'text'
|
|
try_TextTest();
|
|
break;
|
|
case 188: // 'namespace-node'
|
|
try_NamespaceNodeTest();
|
|
break;
|
|
default:
|
|
try_AnyKindTest();
|
|
}
|
|
}
|
|
|
|
function parse_AnyKindTest()
|
|
{
|
|
eventHandler.startNonterminal("AnyKindTest", e0);
|
|
shift(194); // 'node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("AnyKindTest", e0);
|
|
}
|
|
|
|
function try_AnyKindTest()
|
|
{
|
|
shiftT(194); // 'node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_DocumentTest()
|
|
{
|
|
eventHandler.startNonterminal("DocumentTest", e0);
|
|
shift(121); // 'document-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(154); // S^WS | '(:' | ')' | 'element' | 'schema-element'
|
|
if (l1 != 38) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 122: // 'element'
|
|
whitespace();
|
|
parse_ElementTest();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_SchemaElementTest();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("DocumentTest", e0);
|
|
}
|
|
|
|
function try_DocumentTest()
|
|
{
|
|
shiftT(121); // 'document-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(154); // S^WS | '(:' | ')' | 'element' | 'schema-element'
|
|
if (l1 != 38) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 122: // 'element'
|
|
try_ElementTest();
|
|
break;
|
|
default:
|
|
try_SchemaElementTest();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_TextTest()
|
|
{
|
|
eventHandler.startNonterminal("TextTest", e0);
|
|
shift(249); // 'text'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("TextTest", e0);
|
|
}
|
|
|
|
function try_TextTest()
|
|
{
|
|
shiftT(249); // 'text'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_CommentTest()
|
|
{
|
|
eventHandler.startNonterminal("CommentTest", e0);
|
|
shift(97); // 'comment'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("CommentTest", e0);
|
|
}
|
|
|
|
function try_CommentTest()
|
|
{
|
|
shiftT(97); // 'comment'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_NamespaceNodeTest()
|
|
{
|
|
eventHandler.startNonterminal("NamespaceNodeTest", e0);
|
|
shift(188); // 'namespace-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("NamespaceNodeTest", e0);
|
|
}
|
|
|
|
function try_NamespaceNodeTest()
|
|
{
|
|
shiftT(188); // 'namespace-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_PITest()
|
|
{
|
|
eventHandler.startNonterminal("PITest", e0);
|
|
shift(220); // 'processing-instruction'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(243); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shift(11); // StringLiteral
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_NCName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("PITest", e0);
|
|
}
|
|
|
|
function try_PITest()
|
|
{
|
|
shiftT(220); // 'processing-instruction'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(243); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shiftT(11); // StringLiteral
|
|
break;
|
|
default:
|
|
try_NCName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_AttributeTest()
|
|
{
|
|
eventHandler.startNonterminal("AttributeTest", e0);
|
|
shift(83); // 'attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
whitespace();
|
|
parse_AttribNameOrWildcard();
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 42) // ','
|
|
{
|
|
shift(42); // ','
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_TypeName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("AttributeTest", e0);
|
|
}
|
|
|
|
function try_AttributeTest()
|
|
{
|
|
shiftT(83); // 'attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
try_AttribNameOrWildcard();
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 42) // ','
|
|
{
|
|
shiftT(42); // ','
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_TypeName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_AttribNameOrWildcard()
|
|
{
|
|
eventHandler.startNonterminal("AttribNameOrWildcard", e0);
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
shift(39); // '*'
|
|
break;
|
|
default:
|
|
parse_AttributeName();
|
|
}
|
|
eventHandler.endNonterminal("AttribNameOrWildcard", e0);
|
|
}
|
|
|
|
function try_AttribNameOrWildcard()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
shiftT(39); // '*'
|
|
break;
|
|
default:
|
|
try_AttributeName();
|
|
}
|
|
}
|
|
|
|
function parse_SchemaAttributeTest()
|
|
{
|
|
eventHandler.startNonterminal("SchemaAttributeTest", e0);
|
|
shift(230); // 'schema-attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_AttributeDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("SchemaAttributeTest", e0);
|
|
}
|
|
|
|
function try_SchemaAttributeTest()
|
|
{
|
|
shiftT(230); // 'schema-attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_AttributeDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_AttributeDeclaration()
|
|
{
|
|
eventHandler.startNonterminal("AttributeDeclaration", e0);
|
|
parse_AttributeName();
|
|
eventHandler.endNonterminal("AttributeDeclaration", e0);
|
|
}
|
|
|
|
function try_AttributeDeclaration()
|
|
{
|
|
try_AttributeName();
|
|
}
|
|
|
|
function parse_ElementTest()
|
|
{
|
|
eventHandler.startNonterminal("ElementTest", e0);
|
|
shift(122); // 'element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
whitespace();
|
|
parse_ElementNameOrWildcard();
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 42) // ','
|
|
{
|
|
shift(42); // ','
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_TypeName();
|
|
lookahead1W(106); // S^WS | '(:' | ')' | '?'
|
|
if (l1 == 65) // '?'
|
|
{
|
|
shift(65); // '?'
|
|
}
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("ElementTest", e0);
|
|
}
|
|
|
|
function try_ElementTest()
|
|
{
|
|
shiftT(122); // 'element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
try_ElementNameOrWildcard();
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 42) // ','
|
|
{
|
|
shiftT(42); // ','
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_TypeName();
|
|
lookahead1W(106); // S^WS | '(:' | ')' | '?'
|
|
if (l1 == 65) // '?'
|
|
{
|
|
shiftT(65); // '?'
|
|
}
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_ElementNameOrWildcard()
|
|
{
|
|
eventHandler.startNonterminal("ElementNameOrWildcard", e0);
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
shift(39); // '*'
|
|
break;
|
|
default:
|
|
parse_ElementName();
|
|
}
|
|
eventHandler.endNonterminal("ElementNameOrWildcard", e0);
|
|
}
|
|
|
|
function try_ElementNameOrWildcard()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
shiftT(39); // '*'
|
|
break;
|
|
default:
|
|
try_ElementName();
|
|
}
|
|
}
|
|
|
|
function parse_SchemaElementTest()
|
|
{
|
|
eventHandler.startNonterminal("SchemaElementTest", e0);
|
|
shift(231); // 'schema-element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ElementDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("SchemaElementTest", e0);
|
|
}
|
|
|
|
function try_SchemaElementTest()
|
|
{
|
|
shiftT(231); // 'schema-element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_ElementDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_ElementDeclaration()
|
|
{
|
|
eventHandler.startNonterminal("ElementDeclaration", e0);
|
|
parse_ElementName();
|
|
eventHandler.endNonterminal("ElementDeclaration", e0);
|
|
}
|
|
|
|
function try_ElementDeclaration()
|
|
{
|
|
try_ElementName();
|
|
}
|
|
|
|
function parse_AttributeName()
|
|
{
|
|
eventHandler.startNonterminal("AttributeName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("AttributeName", e0);
|
|
}
|
|
|
|
function try_AttributeName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_ElementName()
|
|
{
|
|
eventHandler.startNonterminal("ElementName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("ElementName", e0);
|
|
}
|
|
|
|
function try_ElementName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_SimpleTypeName()
|
|
{
|
|
eventHandler.startNonterminal("SimpleTypeName", e0);
|
|
parse_TypeName();
|
|
eventHandler.endNonterminal("SimpleTypeName", e0);
|
|
}
|
|
|
|
function try_SimpleTypeName()
|
|
{
|
|
try_TypeName();
|
|
}
|
|
|
|
function parse_TypeName()
|
|
{
|
|
eventHandler.startNonterminal("TypeName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("TypeName", e0);
|
|
}
|
|
|
|
function try_TypeName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_FunctionTest()
|
|
{
|
|
eventHandler.startNonterminal("FunctionTest", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 33) // '%'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 147: // 'function'
|
|
lookahead2W(22); // S^WS | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
lk = memoized(7, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_AnyFunctionTest();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(7, e0, lk);
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
whitespace();
|
|
parse_AnyFunctionTest();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_TypedFunctionTest();
|
|
}
|
|
eventHandler.endNonterminal("FunctionTest", e0);
|
|
}
|
|
|
|
function try_FunctionTest()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 33) // '%'
|
|
{
|
|
break;
|
|
}
|
|
try_Annotation();
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 147: // 'function'
|
|
lookahead2W(22); // S^WS | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
lk = memoized(7, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_AnyFunctionTest();
|
|
memoize(7, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(7, e0A, -2);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
try_AnyFunctionTest();
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_TypedFunctionTest();
|
|
}
|
|
}
|
|
|
|
function parse_AnyFunctionTest()
|
|
{
|
|
eventHandler.startNonterminal("AnyFunctionTest", e0);
|
|
shift(147); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(24); // S^WS | '(:' | '*'
|
|
shift(39); // '*'
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("AnyFunctionTest", e0);
|
|
}
|
|
|
|
function try_AnyFunctionTest()
|
|
{
|
|
shiftT(147); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(24); // S^WS | '(:' | '*'
|
|
shiftT(39); // '*'
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_TypedFunctionTest()
|
|
{
|
|
eventHandler.startNonterminal("TypedFunctionTest", e0);
|
|
shift(147); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
whitespace();
|
|
parse_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
}
|
|
shift(38); // ')'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shift(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
eventHandler.endNonterminal("TypedFunctionTest", e0);
|
|
}
|
|
|
|
function try_TypedFunctionTest()
|
|
{
|
|
shiftT(147); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(258); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 38) // ')'
|
|
{
|
|
try_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
shiftT(38); // ')'
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shiftT(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
|
|
function parse_ParenthesizedItemType()
|
|
{
|
|
eventHandler.startNonterminal("ParenthesizedItemType", e0);
|
|
shift(35); // '('
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ItemType();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(38); // ')'
|
|
eventHandler.endNonterminal("ParenthesizedItemType", e0);
|
|
}
|
|
|
|
function try_ParenthesizedItemType()
|
|
{
|
|
shiftT(35); // '('
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_ItemType();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(38); // ')'
|
|
}
|
|
|
|
function parse_RevalidationDecl()
|
|
{
|
|
eventHandler.startNonterminal("RevalidationDecl", e0);
|
|
shift(109); // 'declare'
|
|
lookahead1W(75); // S^WS | '(:' | 'revalidation'
|
|
shift(226); // 'revalidation'
|
|
lookahead1W(162); // S^WS | '(:' | 'lax' | 'skip' | 'strict'
|
|
switch (l1)
|
|
{
|
|
case 245: // 'strict'
|
|
shift(245); // 'strict'
|
|
break;
|
|
case 174: // 'lax'
|
|
shift(174); // 'lax'
|
|
break;
|
|
default:
|
|
shift(238); // 'skip'
|
|
}
|
|
eventHandler.endNonterminal("RevalidationDecl", e0);
|
|
}
|
|
|
|
function parse_InsertExprTargetChoice()
|
|
{
|
|
eventHandler.startNonterminal("InsertExprTargetChoice", e0);
|
|
switch (l1)
|
|
{
|
|
case 71: // 'after'
|
|
shift(71); // 'after'
|
|
break;
|
|
case 85: // 'before'
|
|
shift(85); // 'before'
|
|
break;
|
|
default:
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
shift(80); // 'as'
|
|
lookahead1W(123); // S^WS | '(:' | 'first' | 'last'
|
|
switch (l1)
|
|
{
|
|
case 136: // 'first'
|
|
shift(136); // 'first'
|
|
break;
|
|
default:
|
|
shift(173); // 'last'
|
|
}
|
|
}
|
|
lookahead1W(57); // S^WS | '(:' | 'into'
|
|
shift(165); // 'into'
|
|
}
|
|
eventHandler.endNonterminal("InsertExprTargetChoice", e0);
|
|
}
|
|
|
|
function try_InsertExprTargetChoice()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 71: // 'after'
|
|
shiftT(71); // 'after'
|
|
break;
|
|
case 85: // 'before'
|
|
shiftT(85); // 'before'
|
|
break;
|
|
default:
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
shiftT(80); // 'as'
|
|
lookahead1W(123); // S^WS | '(:' | 'first' | 'last'
|
|
switch (l1)
|
|
{
|
|
case 136: // 'first'
|
|
shiftT(136); // 'first'
|
|
break;
|
|
default:
|
|
shiftT(173); // 'last'
|
|
}
|
|
}
|
|
lookahead1W(57); // S^WS | '(:' | 'into'
|
|
shiftT(165); // 'into'
|
|
}
|
|
}
|
|
|
|
function parse_InsertExpr()
|
|
{
|
|
eventHandler.startNonterminal("InsertExpr", e0);
|
|
shift(161); // 'insert'
|
|
lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 194: // 'node'
|
|
shift(194); // 'node'
|
|
break;
|
|
default:
|
|
shift(195); // 'nodes'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_SourceExpr();
|
|
whitespace();
|
|
parse_InsertExprTargetChoice();
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
eventHandler.endNonterminal("InsertExpr", e0);
|
|
}
|
|
|
|
function try_InsertExpr()
|
|
{
|
|
shiftT(161); // 'insert'
|
|
lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 194: // 'node'
|
|
shiftT(194); // 'node'
|
|
break;
|
|
default:
|
|
shiftT(195); // 'nodes'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_SourceExpr();
|
|
try_InsertExprTargetChoice();
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_TargetExpr();
|
|
}
|
|
|
|
function parse_DeleteExpr()
|
|
{
|
|
eventHandler.startNonterminal("DeleteExpr", e0);
|
|
shift(111); // 'delete'
|
|
lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 194: // 'node'
|
|
shift(194); // 'node'
|
|
break;
|
|
default:
|
|
shift(195); // 'nodes'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
eventHandler.endNonterminal("DeleteExpr", e0);
|
|
}
|
|
|
|
function try_DeleteExpr()
|
|
{
|
|
shiftT(111); // 'delete'
|
|
lookahead1W(133); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 194: // 'node'
|
|
shiftT(194); // 'node'
|
|
break;
|
|
default:
|
|
shiftT(195); // 'nodes'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_TargetExpr();
|
|
}
|
|
|
|
function parse_ReplaceExpr()
|
|
{
|
|
eventHandler.startNonterminal("ReplaceExpr", e0);
|
|
shift(223); // 'replace'
|
|
lookahead1W(134); // S^WS | '(:' | 'node' | 'value'
|
|
if (l1 == 267) // 'value'
|
|
{
|
|
shift(267); // 'value'
|
|
lookahead1W(67); // S^WS | '(:' | 'of'
|
|
shift(200); // 'of'
|
|
}
|
|
lookahead1W(65); // S^WS | '(:' | 'node'
|
|
shift(194); // 'node'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
shift(276); // 'with'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ReplaceExpr", e0);
|
|
}
|
|
|
|
function try_ReplaceExpr()
|
|
{
|
|
shiftT(223); // 'replace'
|
|
lookahead1W(134); // S^WS | '(:' | 'node' | 'value'
|
|
if (l1 == 267) // 'value'
|
|
{
|
|
shiftT(267); // 'value'
|
|
lookahead1W(67); // S^WS | '(:' | 'of'
|
|
shiftT(200); // 'of'
|
|
}
|
|
lookahead1W(65); // S^WS | '(:' | 'node'
|
|
shiftT(194); // 'node'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_TargetExpr();
|
|
shiftT(276); // 'with'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_RenameExpr()
|
|
{
|
|
eventHandler.startNonterminal("RenameExpr", e0);
|
|
shift(222); // 'rename'
|
|
lookahead1W(65); // S^WS | '(:' | 'node'
|
|
shift(194); // 'node'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
shift(80); // 'as'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_NewNameExpr();
|
|
eventHandler.endNonterminal("RenameExpr", e0);
|
|
}
|
|
|
|
function try_RenameExpr()
|
|
{
|
|
shiftT(222); // 'rename'
|
|
lookahead1W(65); // S^WS | '(:' | 'node'
|
|
shiftT(194); // 'node'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_TargetExpr();
|
|
shiftT(80); // 'as'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_NewNameExpr();
|
|
}
|
|
|
|
function parse_SourceExpr()
|
|
{
|
|
eventHandler.startNonterminal("SourceExpr", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SourceExpr", e0);
|
|
}
|
|
|
|
function try_SourceExpr()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TargetExpr()
|
|
{
|
|
eventHandler.startNonterminal("TargetExpr", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TargetExpr", e0);
|
|
}
|
|
|
|
function try_TargetExpr()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_NewNameExpr()
|
|
{
|
|
eventHandler.startNonterminal("NewNameExpr", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("NewNameExpr", e0);
|
|
}
|
|
|
|
function try_NewNameExpr()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TransformExpr()
|
|
{
|
|
eventHandler.startNonterminal("TransformExpr", e0);
|
|
shift(104); // 'copy'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_TransformSpec();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_TransformSpec();
|
|
}
|
|
shift(184); // 'modify'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TransformExpr", e0);
|
|
}
|
|
|
|
function try_TransformExpr()
|
|
{
|
|
shiftT(104); // 'copy'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_TransformSpec();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_TransformSpec();
|
|
}
|
|
shiftT(184); // 'modify'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(224); // 'return'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TransformSpec()
|
|
{
|
|
eventHandler.startNonterminal("TransformSpec", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TransformSpec", e0);
|
|
}
|
|
|
|
function try_TransformSpec()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_FTSelection()
|
|
{
|
|
eventHandler.startNonterminal("FTSelection", e0);
|
|
parse_FTOr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(161); // S^WS | '(:' | 'end' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 116 // 'different'
|
|
&& lk != 118 // 'distance'
|
|
&& lk != 128 // 'entire'
|
|
&& lk != 206 // 'ordered'
|
|
&& lk != 227 // 'same'
|
|
&& lk != 275 // 'window'
|
|
&& lk != 65106 // 'at' 'end'
|
|
&& lk != 123986) // 'at' 'start'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_FTPosFilter();
|
|
}
|
|
eventHandler.endNonterminal("FTSelection", e0);
|
|
}
|
|
|
|
function try_FTSelection()
|
|
{
|
|
try_FTOr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(161); // S^WS | '(:' | 'end' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 116 // 'different'
|
|
&& lk != 118 // 'distance'
|
|
&& lk != 128 // 'entire'
|
|
&& lk != 206 // 'ordered'
|
|
&& lk != 227 // 'same'
|
|
&& lk != 275 // 'window'
|
|
&& lk != 65106 // 'at' 'end'
|
|
&& lk != 123986) // 'at' 'start'
|
|
{
|
|
break;
|
|
}
|
|
try_FTPosFilter();
|
|
}
|
|
}
|
|
|
|
function parse_FTWeight()
|
|
{
|
|
eventHandler.startNonterminal("FTWeight", e0);
|
|
shift(270); // 'weight'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("FTWeight", e0);
|
|
}
|
|
|
|
function try_FTWeight()
|
|
{
|
|
shiftT(270); // 'weight'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_FTOr()
|
|
{
|
|
eventHandler.startNonterminal("FTOr", e0);
|
|
parse_FTAnd();
|
|
for (;;)
|
|
{
|
|
if (l1 != 146) // 'ftor'
|
|
{
|
|
break;
|
|
}
|
|
shift(146); // 'ftor'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTAnd();
|
|
}
|
|
eventHandler.endNonterminal("FTOr", e0);
|
|
}
|
|
|
|
function try_FTOr()
|
|
{
|
|
try_FTAnd();
|
|
for (;;)
|
|
{
|
|
if (l1 != 146) // 'ftor'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(146); // 'ftor'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTAnd();
|
|
}
|
|
}
|
|
|
|
function parse_FTAnd()
|
|
{
|
|
eventHandler.startNonterminal("FTAnd", e0);
|
|
parse_FTMildNot();
|
|
for (;;)
|
|
{
|
|
if (l1 != 144) // 'ftand'
|
|
{
|
|
break;
|
|
}
|
|
shift(144); // 'ftand'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTMildNot();
|
|
}
|
|
eventHandler.endNonterminal("FTAnd", e0);
|
|
}
|
|
|
|
function try_FTAnd()
|
|
{
|
|
try_FTMildNot();
|
|
for (;;)
|
|
{
|
|
if (l1 != 144) // 'ftand'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(144); // 'ftand'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTMildNot();
|
|
}
|
|
}
|
|
|
|
function parse_FTMildNot()
|
|
{
|
|
eventHandler.startNonterminal("FTMildNot", e0);
|
|
parse_FTUnaryNot();
|
|
for (;;)
|
|
{
|
|
lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 196) // 'not'
|
|
{
|
|
break;
|
|
}
|
|
shift(196); // 'not'
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shift(156); // 'in'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTUnaryNot();
|
|
}
|
|
eventHandler.endNonterminal("FTMildNot", e0);
|
|
}
|
|
|
|
function try_FTMildNot()
|
|
{
|
|
try_FTUnaryNot();
|
|
for (;;)
|
|
{
|
|
lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 196) // 'not'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(196); // 'not'
|
|
lookahead1W(56); // S^WS | '(:' | 'in'
|
|
shiftT(156); // 'in'
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTUnaryNot();
|
|
}
|
|
}
|
|
|
|
function parse_FTUnaryNot()
|
|
{
|
|
eventHandler.startNonterminal("FTUnaryNot", e0);
|
|
if (l1 == 145) // 'ftnot'
|
|
{
|
|
shift(145); // 'ftnot'
|
|
}
|
|
lookahead1W(164); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
|
|
whitespace();
|
|
parse_FTPrimaryWithOptions();
|
|
eventHandler.endNonterminal("FTUnaryNot", e0);
|
|
}
|
|
|
|
function try_FTUnaryNot()
|
|
{
|
|
if (l1 == 145) // 'ftnot'
|
|
{
|
|
shiftT(145); // 'ftnot'
|
|
}
|
|
lookahead1W(164); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
|
|
try_FTPrimaryWithOptions();
|
|
}
|
|
|
|
function parse_FTPrimaryWithOptions()
|
|
{
|
|
eventHandler.startNonterminal("FTPrimaryWithOptions", e0);
|
|
parse_FTPrimary();
|
|
lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 265) // 'using'
|
|
{
|
|
whitespace();
|
|
parse_FTMatchOptions();
|
|
}
|
|
if (l1 == 270) // 'weight'
|
|
{
|
|
whitespace();
|
|
parse_FTWeight();
|
|
}
|
|
eventHandler.endNonterminal("FTPrimaryWithOptions", e0);
|
|
}
|
|
|
|
function try_FTPrimaryWithOptions()
|
|
{
|
|
try_FTPrimary();
|
|
lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 265) // 'using'
|
|
{
|
|
try_FTMatchOptions();
|
|
}
|
|
if (l1 == 270) // 'weight'
|
|
{
|
|
try_FTWeight();
|
|
}
|
|
}
|
|
|
|
function parse_FTPrimary()
|
|
{
|
|
eventHandler.startNonterminal("FTPrimary", e0);
|
|
switch (l1)
|
|
{
|
|
case 35: // '('
|
|
shift(35); // '('
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTSelection();
|
|
shift(38); // ')'
|
|
break;
|
|
case 36: // '(#'
|
|
parse_FTExtensionSelection();
|
|
break;
|
|
default:
|
|
parse_FTWords();
|
|
lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 199) // 'occurs'
|
|
{
|
|
whitespace();
|
|
parse_FTTimes();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("FTPrimary", e0);
|
|
}
|
|
|
|
function try_FTPrimary()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 35: // '('
|
|
shiftT(35); // '('
|
|
lookahead1W(177); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTSelection();
|
|
shiftT(38); // ')'
|
|
break;
|
|
case 36: // '(#'
|
|
try_FTExtensionSelection();
|
|
break;
|
|
default:
|
|
try_FTWords();
|
|
lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 199) // 'occurs'
|
|
{
|
|
try_FTTimes();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_FTWords()
|
|
{
|
|
eventHandler.startNonterminal("FTWords", e0);
|
|
parse_FTWordsValue();
|
|
lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 72 // 'all'
|
|
|| l1 == 77 // 'any'
|
|
|| l1 == 214) // 'phrase'
|
|
{
|
|
whitespace();
|
|
parse_FTAnyallOption();
|
|
}
|
|
eventHandler.endNonterminal("FTWords", e0);
|
|
}
|
|
|
|
function try_FTWords()
|
|
{
|
|
try_FTWordsValue();
|
|
lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 72 // 'all'
|
|
|| l1 == 77 // 'any'
|
|
|| l1 == 214) // 'phrase'
|
|
{
|
|
try_FTAnyallOption();
|
|
}
|
|
}
|
|
|
|
function parse_FTWordsValue()
|
|
{
|
|
eventHandler.startNonterminal("FTWordsValue", e0);
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shift(11); // StringLiteral
|
|
break;
|
|
default:
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
}
|
|
eventHandler.endNonterminal("FTWordsValue", e0);
|
|
}
|
|
|
|
function try_FTWordsValue()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shiftT(11); // StringLiteral
|
|
break;
|
|
default:
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
}
|
|
}
|
|
|
|
function parse_FTExtensionSelection()
|
|
{
|
|
eventHandler.startNonterminal("FTExtensionSelection", e0);
|
|
for (;;)
|
|
{
|
|
whitespace();
|
|
parse_Pragma();
|
|
lookahead1W(104); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 36) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(281); // '{'
|
|
lookahead1W(184); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
|
|
if (l1 != 287) // '}'
|
|
{
|
|
whitespace();
|
|
parse_FTSelection();
|
|
}
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("FTExtensionSelection", e0);
|
|
}
|
|
|
|
function try_FTExtensionSelection()
|
|
{
|
|
for (;;)
|
|
{
|
|
try_Pragma();
|
|
lookahead1W(104); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 36) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(281); // '{'
|
|
lookahead1W(184); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
|
|
if (l1 != 287) // '}'
|
|
{
|
|
try_FTSelection();
|
|
}
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_FTAnyallOption()
|
|
{
|
|
eventHandler.startNonterminal("FTAnyallOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 77: // 'any'
|
|
shift(77); // 'any'
|
|
lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 278) // 'word'
|
|
{
|
|
shift(278); // 'word'
|
|
}
|
|
break;
|
|
case 72: // 'all'
|
|
shift(72); // 'all'
|
|
lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 279) // 'words'
|
|
{
|
|
shift(279); // 'words'
|
|
}
|
|
break;
|
|
default:
|
|
shift(214); // 'phrase'
|
|
}
|
|
eventHandler.endNonterminal("FTAnyallOption", e0);
|
|
}
|
|
|
|
function try_FTAnyallOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 77: // 'any'
|
|
shiftT(77); // 'any'
|
|
lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 278) // 'word'
|
|
{
|
|
shiftT(278); // 'word'
|
|
}
|
|
break;
|
|
case 72: // 'all'
|
|
shiftT(72); // 'all'
|
|
lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 279) // 'words'
|
|
{
|
|
shiftT(279); // 'words'
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(214); // 'phrase'
|
|
}
|
|
}
|
|
|
|
function parse_FTTimes()
|
|
{
|
|
eventHandler.startNonterminal("FTTimes", e0);
|
|
shift(199); // 'occurs'
|
|
lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
whitespace();
|
|
parse_FTRange();
|
|
shift(252); // 'times'
|
|
eventHandler.endNonterminal("FTTimes", e0);
|
|
}
|
|
|
|
function try_FTTimes()
|
|
{
|
|
shiftT(199); // 'occurs'
|
|
lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
try_FTRange();
|
|
shiftT(252); // 'times'
|
|
}
|
|
|
|
function parse_FTRange()
|
|
{
|
|
eventHandler.startNonterminal("FTRange", e0);
|
|
switch (l1)
|
|
{
|
|
case 131: // 'exactly'
|
|
shift(131); // 'exactly'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
break;
|
|
case 82: // 'at'
|
|
shift(82); // 'at'
|
|
lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 176: // 'least'
|
|
shift(176); // 'least'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
break;
|
|
default:
|
|
shift(186); // 'most'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
}
|
|
break;
|
|
default:
|
|
shift(142); // 'from'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
shift(253); // 'to'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
}
|
|
eventHandler.endNonterminal("FTRange", e0);
|
|
}
|
|
|
|
function try_FTRange()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 131: // 'exactly'
|
|
shiftT(131); // 'exactly'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AdditiveExpr();
|
|
break;
|
|
case 82: // 'at'
|
|
shiftT(82); // 'at'
|
|
lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 176: // 'least'
|
|
shiftT(176); // 'least'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AdditiveExpr();
|
|
break;
|
|
default:
|
|
shiftT(186); // 'most'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AdditiveExpr();
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(142); // 'from'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AdditiveExpr();
|
|
shiftT(253); // 'to'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AdditiveExpr();
|
|
}
|
|
}
|
|
|
|
function parse_FTPosFilter()
|
|
{
|
|
eventHandler.startNonterminal("FTPosFilter", e0);
|
|
switch (l1)
|
|
{
|
|
case 206: // 'ordered'
|
|
parse_FTOrder();
|
|
break;
|
|
case 275: // 'window'
|
|
parse_FTWindow();
|
|
break;
|
|
case 118: // 'distance'
|
|
parse_FTDistance();
|
|
break;
|
|
case 116: // 'different'
|
|
case 227: // 'same'
|
|
parse_FTScope();
|
|
break;
|
|
default:
|
|
parse_FTContent();
|
|
}
|
|
eventHandler.endNonterminal("FTPosFilter", e0);
|
|
}
|
|
|
|
function try_FTPosFilter()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 206: // 'ordered'
|
|
try_FTOrder();
|
|
break;
|
|
case 275: // 'window'
|
|
try_FTWindow();
|
|
break;
|
|
case 118: // 'distance'
|
|
try_FTDistance();
|
|
break;
|
|
case 116: // 'different'
|
|
case 227: // 'same'
|
|
try_FTScope();
|
|
break;
|
|
default:
|
|
try_FTContent();
|
|
}
|
|
}
|
|
|
|
function parse_FTOrder()
|
|
{
|
|
eventHandler.startNonterminal("FTOrder", e0);
|
|
shift(206); // 'ordered'
|
|
eventHandler.endNonterminal("FTOrder", e0);
|
|
}
|
|
|
|
function try_FTOrder()
|
|
{
|
|
shiftT(206); // 'ordered'
|
|
}
|
|
|
|
function parse_FTWindow()
|
|
{
|
|
eventHandler.startNonterminal("FTWindow", e0);
|
|
shift(275); // 'window'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
whitespace();
|
|
parse_FTUnit();
|
|
eventHandler.endNonterminal("FTWindow", e0);
|
|
}
|
|
|
|
function try_FTWindow()
|
|
{
|
|
shiftT(275); // 'window'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_AdditiveExpr();
|
|
try_FTUnit();
|
|
}
|
|
|
|
function parse_FTDistance()
|
|
{
|
|
eventHandler.startNonterminal("FTDistance", e0);
|
|
shift(118); // 'distance'
|
|
lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
whitespace();
|
|
parse_FTRange();
|
|
whitespace();
|
|
parse_FTUnit();
|
|
eventHandler.endNonterminal("FTDistance", e0);
|
|
}
|
|
|
|
function try_FTDistance()
|
|
{
|
|
shiftT(118); // 'distance'
|
|
lookahead1W(159); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
try_FTRange();
|
|
try_FTUnit();
|
|
}
|
|
|
|
function parse_FTUnit()
|
|
{
|
|
eventHandler.startNonterminal("FTUnit", e0);
|
|
switch (l1)
|
|
{
|
|
case 279: // 'words'
|
|
shift(279); // 'words'
|
|
break;
|
|
case 237: // 'sentences'
|
|
shift(237); // 'sentences'
|
|
break;
|
|
default:
|
|
shift(209); // 'paragraphs'
|
|
}
|
|
eventHandler.endNonterminal("FTUnit", e0);
|
|
}
|
|
|
|
function try_FTUnit()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 279: // 'words'
|
|
shiftT(279); // 'words'
|
|
break;
|
|
case 237: // 'sentences'
|
|
shiftT(237); // 'sentences'
|
|
break;
|
|
default:
|
|
shiftT(209); // 'paragraphs'
|
|
}
|
|
}
|
|
|
|
function parse_FTScope()
|
|
{
|
|
eventHandler.startNonterminal("FTScope", e0);
|
|
switch (l1)
|
|
{
|
|
case 227: // 'same'
|
|
shift(227); // 'same'
|
|
break;
|
|
default:
|
|
shift(116); // 'different'
|
|
}
|
|
lookahead1W(136); // S^WS | '(:' | 'paragraph' | 'sentence'
|
|
whitespace();
|
|
parse_FTBigUnit();
|
|
eventHandler.endNonterminal("FTScope", e0);
|
|
}
|
|
|
|
function try_FTScope()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 227: // 'same'
|
|
shiftT(227); // 'same'
|
|
break;
|
|
default:
|
|
shiftT(116); // 'different'
|
|
}
|
|
lookahead1W(136); // S^WS | '(:' | 'paragraph' | 'sentence'
|
|
try_FTBigUnit();
|
|
}
|
|
|
|
function parse_FTBigUnit()
|
|
{
|
|
eventHandler.startNonterminal("FTBigUnit", e0);
|
|
switch (l1)
|
|
{
|
|
case 236: // 'sentence'
|
|
shift(236); // 'sentence'
|
|
break;
|
|
default:
|
|
shift(208); // 'paragraph'
|
|
}
|
|
eventHandler.endNonterminal("FTBigUnit", e0);
|
|
}
|
|
|
|
function try_FTBigUnit()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 236: // 'sentence'
|
|
shiftT(236); // 'sentence'
|
|
break;
|
|
default:
|
|
shiftT(208); // 'paragraph'
|
|
}
|
|
}
|
|
|
|
function parse_FTContent()
|
|
{
|
|
eventHandler.startNonterminal("FTContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
shift(82); // 'at'
|
|
lookahead1W(121); // S^WS | '(:' | 'end' | 'start'
|
|
switch (l1)
|
|
{
|
|
case 242: // 'start'
|
|
shift(242); // 'start'
|
|
break;
|
|
default:
|
|
shift(127); // 'end'
|
|
}
|
|
break;
|
|
default:
|
|
shift(128); // 'entire'
|
|
lookahead1W(45); // S^WS | '(:' | 'content'
|
|
shift(101); // 'content'
|
|
}
|
|
eventHandler.endNonterminal("FTContent", e0);
|
|
}
|
|
|
|
function try_FTContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
shiftT(82); // 'at'
|
|
lookahead1W(121); // S^WS | '(:' | 'end' | 'start'
|
|
switch (l1)
|
|
{
|
|
case 242: // 'start'
|
|
shiftT(242); // 'start'
|
|
break;
|
|
default:
|
|
shiftT(127); // 'end'
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(128); // 'entire'
|
|
lookahead1W(45); // S^WS | '(:' | 'content'
|
|
shiftT(101); // 'content'
|
|
}
|
|
}
|
|
|
|
function parse_FTMatchOptions()
|
|
{
|
|
eventHandler.startNonterminal("FTMatchOptions", e0);
|
|
for (;;)
|
|
{
|
|
shift(265); // 'using'
|
|
lookahead1W(204); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
|
|
whitespace();
|
|
parse_FTMatchOption();
|
|
lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 265) // 'using'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("FTMatchOptions", e0);
|
|
}
|
|
|
|
function try_FTMatchOptions()
|
|
{
|
|
for (;;)
|
|
{
|
|
shiftT(265); // 'using'
|
|
lookahead1W(204); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
|
|
try_FTMatchOption();
|
|
lookahead1W(213); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 265) // 'using'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_FTMatchOption()
|
|
{
|
|
eventHandler.startNonterminal("FTMatchOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 191: // 'no'
|
|
lookahead2W(176); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 172: // 'language'
|
|
parse_FTLanguageOption();
|
|
break;
|
|
case 274: // 'wildcards'
|
|
case 140479: // 'no' 'wildcards'
|
|
parse_FTWildCardOption();
|
|
break;
|
|
case 251: // 'thesaurus'
|
|
case 128703: // 'no' 'thesaurus'
|
|
parse_FTThesaurusOption();
|
|
break;
|
|
case 243: // 'stemming'
|
|
case 124607: // 'no' 'stemming'
|
|
parse_FTStemOption();
|
|
break;
|
|
case 115: // 'diacritics'
|
|
parse_FTDiacriticsOption();
|
|
break;
|
|
case 244: // 'stop'
|
|
case 125119: // 'no' 'stop'
|
|
parse_FTStopWordOption();
|
|
break;
|
|
case 203: // 'option'
|
|
parse_FTExtensionOption();
|
|
break;
|
|
default:
|
|
parse_FTCaseOption();
|
|
}
|
|
eventHandler.endNonterminal("FTMatchOption", e0);
|
|
}
|
|
|
|
function try_FTMatchOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 191: // 'no'
|
|
lookahead2W(176); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 172: // 'language'
|
|
try_FTLanguageOption();
|
|
break;
|
|
case 274: // 'wildcards'
|
|
case 140479: // 'no' 'wildcards'
|
|
try_FTWildCardOption();
|
|
break;
|
|
case 251: // 'thesaurus'
|
|
case 128703: // 'no' 'thesaurus'
|
|
try_FTThesaurusOption();
|
|
break;
|
|
case 243: // 'stemming'
|
|
case 124607: // 'no' 'stemming'
|
|
try_FTStemOption();
|
|
break;
|
|
case 115: // 'diacritics'
|
|
try_FTDiacriticsOption();
|
|
break;
|
|
case 244: // 'stop'
|
|
case 125119: // 'no' 'stop'
|
|
try_FTStopWordOption();
|
|
break;
|
|
case 203: // 'option'
|
|
try_FTExtensionOption();
|
|
break;
|
|
default:
|
|
try_FTCaseOption();
|
|
}
|
|
}
|
|
|
|
function parse_FTCaseOption()
|
|
{
|
|
eventHandler.startNonterminal("FTCaseOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 89: // 'case'
|
|
shift(89); // 'case'
|
|
lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 160: // 'insensitive'
|
|
shift(160); // 'insensitive'
|
|
break;
|
|
default:
|
|
shift(235); // 'sensitive'
|
|
}
|
|
break;
|
|
case 180: // 'lowercase'
|
|
shift(180); // 'lowercase'
|
|
break;
|
|
default:
|
|
shift(264); // 'uppercase'
|
|
}
|
|
eventHandler.endNonterminal("FTCaseOption", e0);
|
|
}
|
|
|
|
function try_FTCaseOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 89: // 'case'
|
|
shiftT(89); // 'case'
|
|
lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 160: // 'insensitive'
|
|
shiftT(160); // 'insensitive'
|
|
break;
|
|
default:
|
|
shiftT(235); // 'sensitive'
|
|
}
|
|
break;
|
|
case 180: // 'lowercase'
|
|
shiftT(180); // 'lowercase'
|
|
break;
|
|
default:
|
|
shiftT(264); // 'uppercase'
|
|
}
|
|
}
|
|
|
|
function parse_FTDiacriticsOption()
|
|
{
|
|
eventHandler.startNonterminal("FTDiacriticsOption", e0);
|
|
shift(115); // 'diacritics'
|
|
lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 160: // 'insensitive'
|
|
shift(160); // 'insensitive'
|
|
break;
|
|
default:
|
|
shift(235); // 'sensitive'
|
|
}
|
|
eventHandler.endNonterminal("FTDiacriticsOption", e0);
|
|
}
|
|
|
|
function try_FTDiacriticsOption()
|
|
{
|
|
shiftT(115); // 'diacritics'
|
|
lookahead1W(128); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 160: // 'insensitive'
|
|
shiftT(160); // 'insensitive'
|
|
break;
|
|
default:
|
|
shiftT(235); // 'sensitive'
|
|
}
|
|
}
|
|
|
|
function parse_FTStemOption()
|
|
{
|
|
eventHandler.startNonterminal("FTStemOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 243: // 'stemming'
|
|
shift(243); // 'stemming'
|
|
break;
|
|
default:
|
|
shift(191); // 'no'
|
|
lookahead1W(77); // S^WS | '(:' | 'stemming'
|
|
shift(243); // 'stemming'
|
|
}
|
|
eventHandler.endNonterminal("FTStemOption", e0);
|
|
}
|
|
|
|
function try_FTStemOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 243: // 'stemming'
|
|
shiftT(243); // 'stemming'
|
|
break;
|
|
default:
|
|
shiftT(191); // 'no'
|
|
lookahead1W(77); // S^WS | '(:' | 'stemming'
|
|
shiftT(243); // 'stemming'
|
|
}
|
|
}
|
|
|
|
function parse_FTThesaurusOption()
|
|
{
|
|
eventHandler.startNonterminal("FTThesaurusOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 251: // 'thesaurus'
|
|
shift(251); // 'thesaurus'
|
|
lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
whitespace();
|
|
parse_FTThesaurusID();
|
|
break;
|
|
case 110: // 'default'
|
|
shift(110); // 'default'
|
|
break;
|
|
default:
|
|
shift(35); // '('
|
|
lookahead1W(116); // S^WS | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
whitespace();
|
|
parse_FTThesaurusID();
|
|
break;
|
|
default:
|
|
shift(110); // 'default'
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(34); // S^WS | '(:' | 'at'
|
|
whitespace();
|
|
parse_FTThesaurusID();
|
|
}
|
|
shift(38); // ')'
|
|
}
|
|
break;
|
|
default:
|
|
shift(191); // 'no'
|
|
lookahead1W(81); // S^WS | '(:' | 'thesaurus'
|
|
shift(251); // 'thesaurus'
|
|
}
|
|
eventHandler.endNonterminal("FTThesaurusOption", e0);
|
|
}
|
|
|
|
function try_FTThesaurusOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 251: // 'thesaurus'
|
|
shiftT(251); // 'thesaurus'
|
|
lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
try_FTThesaurusID();
|
|
break;
|
|
case 110: // 'default'
|
|
shiftT(110); // 'default'
|
|
break;
|
|
default:
|
|
shiftT(35); // '('
|
|
lookahead1W(116); // S^WS | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
try_FTThesaurusID();
|
|
break;
|
|
default:
|
|
shiftT(110); // 'default'
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(34); // S^WS | '(:' | 'at'
|
|
try_FTThesaurusID();
|
|
}
|
|
shiftT(38); // ')'
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(191); // 'no'
|
|
lookahead1W(81); // S^WS | '(:' | 'thesaurus'
|
|
shiftT(251); // 'thesaurus'
|
|
}
|
|
}
|
|
|
|
function parse_FTThesaurusID()
|
|
{
|
|
eventHandler.startNonterminal("FTThesaurusID", e0);
|
|
shift(82); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 221) // 'relationship'
|
|
{
|
|
shift(221); // 'relationship'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(183); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 131 // 'exactly'
|
|
|| lk == 142 // 'from'
|
|
|| lk == 90194 // 'at' 'least'
|
|
|| lk == 95314) // 'at' 'most'
|
|
{
|
|
whitespace();
|
|
parse_FTLiteralRange();
|
|
lookahead1W(61); // S^WS | '(:' | 'levels'
|
|
shift(178); // 'levels'
|
|
}
|
|
eventHandler.endNonterminal("FTThesaurusID", e0);
|
|
}
|
|
|
|
function try_FTThesaurusID()
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 221) // 'relationship'
|
|
{
|
|
shiftT(221); // 'relationship'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(183); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 131 // 'exactly'
|
|
|| lk == 142 // 'from'
|
|
|| lk == 90194 // 'at' 'least'
|
|
|| lk == 95314) // 'at' 'most'
|
|
{
|
|
try_FTLiteralRange();
|
|
lookahead1W(61); // S^WS | '(:' | 'levels'
|
|
shiftT(178); // 'levels'
|
|
}
|
|
}
|
|
|
|
function parse_FTLiteralRange()
|
|
{
|
|
eventHandler.startNonterminal("FTLiteralRange", e0);
|
|
switch (l1)
|
|
{
|
|
case 131: // 'exactly'
|
|
shift(131); // 'exactly'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
break;
|
|
case 82: // 'at'
|
|
shift(82); // 'at'
|
|
lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 176: // 'least'
|
|
shift(176); // 'least'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
break;
|
|
default:
|
|
shift(186); // 'most'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
}
|
|
break;
|
|
default:
|
|
shift(142); // 'from'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
lookahead1W(82); // S^WS | '(:' | 'to'
|
|
shift(253); // 'to'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
}
|
|
eventHandler.endNonterminal("FTLiteralRange", e0);
|
|
}
|
|
|
|
function try_FTLiteralRange()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 131: // 'exactly'
|
|
shiftT(131); // 'exactly'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
break;
|
|
case 82: // 'at'
|
|
shiftT(82); // 'at'
|
|
lookahead1W(129); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 176: // 'least'
|
|
shiftT(176); // 'least'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
break;
|
|
default:
|
|
shiftT(186); // 'most'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(142); // 'from'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
lookahead1W(82); // S^WS | '(:' | 'to'
|
|
shiftT(253); // 'to'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
}
|
|
}
|
|
|
|
function parse_FTStopWordOption()
|
|
{
|
|
eventHandler.startNonterminal("FTStopWordOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 244: // 'stop'
|
|
shift(244); // 'stop'
|
|
lookahead1W(89); // S^WS | '(:' | 'words'
|
|
shift(279); // 'words'
|
|
lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 110: // 'default'
|
|
shift(110); // 'default'
|
|
for (;;)
|
|
{
|
|
lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 132 // 'except'
|
|
&& l1 != 260) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_FTStopWordsInclExcl();
|
|
}
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_FTStopWords();
|
|
for (;;)
|
|
{
|
|
lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 132 // 'except'
|
|
&& l1 != 260) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_FTStopWordsInclExcl();
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
shift(191); // 'no'
|
|
lookahead1W(78); // S^WS | '(:' | 'stop'
|
|
shift(244); // 'stop'
|
|
lookahead1W(89); // S^WS | '(:' | 'words'
|
|
shift(279); // 'words'
|
|
}
|
|
eventHandler.endNonterminal("FTStopWordOption", e0);
|
|
}
|
|
|
|
function try_FTStopWordOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 244: // 'stop'
|
|
shiftT(244); // 'stop'
|
|
lookahead1W(89); // S^WS | '(:' | 'words'
|
|
shiftT(279); // 'words'
|
|
lookahead1W(152); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 110: // 'default'
|
|
shiftT(110); // 'default'
|
|
for (;;)
|
|
{
|
|
lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 132 // 'except'
|
|
&& l1 != 260) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
try_FTStopWordsInclExcl();
|
|
}
|
|
break;
|
|
default:
|
|
try_FTStopWords();
|
|
for (;;)
|
|
{
|
|
lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 132 // 'except'
|
|
&& l1 != 260) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
try_FTStopWordsInclExcl();
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(191); // 'no'
|
|
lookahead1W(78); // S^WS | '(:' | 'stop'
|
|
shiftT(244); // 'stop'
|
|
lookahead1W(89); // S^WS | '(:' | 'words'
|
|
shiftT(279); // 'words'
|
|
}
|
|
}
|
|
|
|
function parse_FTStopWords()
|
|
{
|
|
eventHandler.startNonterminal("FTStopWords", e0);
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
shift(82); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
break;
|
|
default:
|
|
shift(35); // '('
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
shift(38); // ')'
|
|
}
|
|
eventHandler.endNonterminal("FTStopWords", e0);
|
|
}
|
|
|
|
function try_FTStopWords()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
shiftT(82); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
break;
|
|
default:
|
|
shiftT(35); // '('
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(105); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
shiftT(38); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_FTStopWordsInclExcl()
|
|
{
|
|
eventHandler.startNonterminal("FTStopWordsInclExcl", e0);
|
|
switch (l1)
|
|
{
|
|
case 260: // 'union'
|
|
shift(260); // 'union'
|
|
break;
|
|
default:
|
|
shift(132); // 'except'
|
|
}
|
|
lookahead1W(103); // S^WS | '(' | '(:' | 'at'
|
|
whitespace();
|
|
parse_FTStopWords();
|
|
eventHandler.endNonterminal("FTStopWordsInclExcl", e0);
|
|
}
|
|
|
|
function try_FTStopWordsInclExcl()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 260: // 'union'
|
|
shiftT(260); // 'union'
|
|
break;
|
|
default:
|
|
shiftT(132); // 'except'
|
|
}
|
|
lookahead1W(103); // S^WS | '(' | '(:' | 'at'
|
|
try_FTStopWords();
|
|
}
|
|
|
|
function parse_FTLanguageOption()
|
|
{
|
|
eventHandler.startNonterminal("FTLanguageOption", e0);
|
|
shift(172); // 'language'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
eventHandler.endNonterminal("FTLanguageOption", e0);
|
|
}
|
|
|
|
function try_FTLanguageOption()
|
|
{
|
|
shiftT(172); // 'language'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
|
|
function parse_FTWildCardOption()
|
|
{
|
|
eventHandler.startNonterminal("FTWildCardOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 274: // 'wildcards'
|
|
shift(274); // 'wildcards'
|
|
break;
|
|
default:
|
|
shift(191); // 'no'
|
|
lookahead1W(87); // S^WS | '(:' | 'wildcards'
|
|
shift(274); // 'wildcards'
|
|
}
|
|
eventHandler.endNonterminal("FTWildCardOption", e0);
|
|
}
|
|
|
|
function try_FTWildCardOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 274: // 'wildcards'
|
|
shiftT(274); // 'wildcards'
|
|
break;
|
|
default:
|
|
shiftT(191); // 'no'
|
|
lookahead1W(87); // S^WS | '(:' | 'wildcards'
|
|
shiftT(274); // 'wildcards'
|
|
}
|
|
}
|
|
|
|
function parse_FTExtensionOption()
|
|
{
|
|
eventHandler.startNonterminal("FTExtensionOption", e0);
|
|
shift(203); // 'option'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
eventHandler.endNonterminal("FTExtensionOption", e0);
|
|
}
|
|
|
|
function try_FTExtensionOption()
|
|
{
|
|
shiftT(203); // 'option'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_EQName();
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
|
|
function parse_FTIgnoreOption()
|
|
{
|
|
eventHandler.startNonterminal("FTIgnoreOption", e0);
|
|
shift(277); // 'without'
|
|
lookahead1W(45); // S^WS | '(:' | 'content'
|
|
shift(101); // 'content'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_UnionExpr();
|
|
eventHandler.endNonterminal("FTIgnoreOption", e0);
|
|
}
|
|
|
|
function try_FTIgnoreOption()
|
|
{
|
|
shiftT(277); // 'without'
|
|
lookahead1W(45); // S^WS | '(:' | 'content'
|
|
shiftT(101); // 'content'
|
|
lookahead1W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_UnionExpr();
|
|
}
|
|
|
|
function parse_CollectionDecl()
|
|
{
|
|
eventHandler.startNonterminal("CollectionDecl", e0);
|
|
shift(96); // 'collection'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(111); // S^WS | '(:' | ';' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_CollectionTypeDecl();
|
|
}
|
|
eventHandler.endNonterminal("CollectionDecl", e0);
|
|
}
|
|
|
|
function parse_CollectionTypeDecl()
|
|
{
|
|
eventHandler.startNonterminal("CollectionTypeDecl", e0);
|
|
shift(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ItemType();
|
|
lookahead1W(171); // S^WS | '(:' | '*' | '+' | ';' | '?'
|
|
if (l1 != 54) // ';'
|
|
{
|
|
whitespace();
|
|
parse_OccurrenceIndicator();
|
|
}
|
|
eventHandler.endNonterminal("CollectionTypeDecl", e0);
|
|
}
|
|
|
|
function parse_IndexName()
|
|
{
|
|
eventHandler.startNonterminal("IndexName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("IndexName", e0);
|
|
}
|
|
|
|
function parse_IndexDomainExpr()
|
|
{
|
|
eventHandler.startNonterminal("IndexDomainExpr", e0);
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("IndexDomainExpr", e0);
|
|
}
|
|
|
|
function parse_IndexKeySpec()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeySpec", e0);
|
|
parse_IndexKeyExpr();
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_IndexKeyTypeDecl();
|
|
}
|
|
lookahead1W(156); // S^WS | '(:' | ',' | ';' | 'collation'
|
|
if (l1 == 95) // 'collation'
|
|
{
|
|
whitespace();
|
|
parse_IndexKeyCollation();
|
|
}
|
|
eventHandler.endNonterminal("IndexKeySpec", e0);
|
|
}
|
|
|
|
function parse_IndexKeyExpr()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeyExpr", e0);
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("IndexKeyExpr", e0);
|
|
}
|
|
|
|
function parse_IndexKeyTypeDecl()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeyTypeDecl", e0);
|
|
shift(80); // 'as'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_AtomicType();
|
|
lookahead1W(189); // S^WS | '(:' | '*' | '+' | ',' | ';' | '?' | 'collation'
|
|
if (l1 == 40 // '*'
|
|
|| l1 == 41 // '+'
|
|
|| l1 == 65) // '?'
|
|
{
|
|
whitespace();
|
|
parse_OccurrenceIndicator();
|
|
}
|
|
eventHandler.endNonterminal("IndexKeyTypeDecl", e0);
|
|
}
|
|
|
|
function parse_AtomicType()
|
|
{
|
|
eventHandler.startNonterminal("AtomicType", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("AtomicType", e0);
|
|
}
|
|
|
|
function parse_IndexKeyCollation()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeyCollation", e0);
|
|
shift(95); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("IndexKeyCollation", e0);
|
|
}
|
|
|
|
function parse_IndexDecl()
|
|
{
|
|
eventHandler.startNonterminal("IndexDecl", e0);
|
|
shift(157); // 'index'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_IndexName();
|
|
lookahead1W(68); // S^WS | '(:' | 'on'
|
|
shift(201); // 'on'
|
|
lookahead1W(66); // S^WS | '(:' | 'nodes'
|
|
shift(195); // 'nodes'
|
|
lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_IndexDomainExpr();
|
|
shift(88); // 'by'
|
|
lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_IndexKeySpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(107); // S^WS | '(:' | ',' | ';'
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_IndexKeySpec();
|
|
}
|
|
eventHandler.endNonterminal("IndexDecl", e0);
|
|
}
|
|
|
|
function parse_ICDecl()
|
|
{
|
|
eventHandler.startNonterminal("ICDecl", e0);
|
|
shift(163); // 'integrity'
|
|
lookahead1W(43); // S^WS | '(:' | 'constraint'
|
|
shift(98); // 'constraint'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(124); // S^WS | '(:' | 'foreign' | 'on'
|
|
switch (l1)
|
|
{
|
|
case 201: // 'on'
|
|
whitespace();
|
|
parse_ICCollection();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ICForeignKey();
|
|
}
|
|
eventHandler.endNonterminal("ICDecl", e0);
|
|
}
|
|
|
|
function parse_ICCollection()
|
|
{
|
|
eventHandler.startNonterminal("ICCollection", e0);
|
|
shift(201); // 'on'
|
|
lookahead1W(42); // S^WS | '(:' | 'collection'
|
|
shift(96); // 'collection'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(150); // S^WS | '$' | '(:' | 'foreach' | 'node'
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
whitespace();
|
|
parse_ICCollSequence();
|
|
break;
|
|
case 194: // 'node'
|
|
whitespace();
|
|
parse_ICCollSequenceUnique();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ICCollNode();
|
|
}
|
|
eventHandler.endNonterminal("ICCollection", e0);
|
|
}
|
|
|
|
function parse_ICCollSequence()
|
|
{
|
|
eventHandler.startNonterminal("ICCollSequence", e0);
|
|
parse_VarRef();
|
|
lookahead1W(40); // S^WS | '(:' | 'check'
|
|
shift(93); // 'check'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ICCollSequence", e0);
|
|
}
|
|
|
|
function parse_ICCollSequenceUnique()
|
|
{
|
|
eventHandler.startNonterminal("ICCollSequenceUnique", e0);
|
|
shift(194); // 'node'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_VarRef();
|
|
lookahead1W(40); // S^WS | '(:' | 'check'
|
|
shift(93); // 'check'
|
|
lookahead1W(83); // S^WS | '(:' | 'unique'
|
|
shift(261); // 'unique'
|
|
lookahead1W(60); // S^WS | '(:' | 'key'
|
|
shift(171); // 'key'
|
|
lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("ICCollSequenceUnique", e0);
|
|
}
|
|
|
|
function parse_ICCollNode()
|
|
{
|
|
eventHandler.startNonterminal("ICCollNode", e0);
|
|
shift(140); // 'foreach'
|
|
lookahead1W(65); // S^WS | '(:' | 'node'
|
|
shift(194); // 'node'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_VarRef();
|
|
lookahead1W(40); // S^WS | '(:' | 'check'
|
|
shift(93); // 'check'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ICCollNode", e0);
|
|
}
|
|
|
|
function parse_ICForeignKey()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKey", e0);
|
|
shift(141); // 'foreign'
|
|
lookahead1W(60); // S^WS | '(:' | 'key'
|
|
shift(171); // 'key'
|
|
lookahead1W(54); // S^WS | '(:' | 'from'
|
|
whitespace();
|
|
parse_ICForeignKeySource();
|
|
whitespace();
|
|
parse_ICForeignKeyTarget();
|
|
eventHandler.endNonterminal("ICForeignKey", e0);
|
|
}
|
|
|
|
function parse_ICForeignKeySource()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKeySource", e0);
|
|
shift(142); // 'from'
|
|
lookahead1W(42); // S^WS | '(:' | 'collection'
|
|
whitespace();
|
|
parse_ICForeignKeyValues();
|
|
eventHandler.endNonterminal("ICForeignKeySource", e0);
|
|
}
|
|
|
|
function parse_ICForeignKeyTarget()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKeyTarget", e0);
|
|
shift(253); // 'to'
|
|
lookahead1W(42); // S^WS | '(:' | 'collection'
|
|
whitespace();
|
|
parse_ICForeignKeyValues();
|
|
eventHandler.endNonterminal("ICForeignKeyTarget", e0);
|
|
}
|
|
|
|
function parse_ICForeignKeyValues()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKeyValues", e0);
|
|
shift(96); // 'collection'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(65); // S^WS | '(:' | 'node'
|
|
shift(194); // 'node'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_VarRef();
|
|
lookahead1W(60); // S^WS | '(:' | 'key'
|
|
shift(171); // 'key'
|
|
lookahead1W(262); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("ICForeignKeyValues", e0);
|
|
}
|
|
|
|
function try_Comment()
|
|
{
|
|
shiftT(37); // '(:'
|
|
for (;;)
|
|
{
|
|
lookahead1(92); // CommentContents | '(:' | ':)'
|
|
if (l1 == 51) // ':)'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 24: // CommentContents
|
|
shiftT(24); // CommentContents
|
|
break;
|
|
default:
|
|
try_Comment();
|
|
}
|
|
}
|
|
shiftT(51); // ':)'
|
|
}
|
|
|
|
function try_Whitespace()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 22: // S^WS
|
|
shiftT(22); // S^WS
|
|
break;
|
|
default:
|
|
try_Comment();
|
|
}
|
|
}
|
|
|
|
function parse_EQName()
|
|
{
|
|
eventHandler.startNonterminal("EQName", e0);
|
|
lookahead1(240); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
shift(83); // 'attribute'
|
|
break;
|
|
case 97: // 'comment'
|
|
shift(97); // 'comment'
|
|
break;
|
|
case 121: // 'document-node'
|
|
shift(121); // 'document-node'
|
|
break;
|
|
case 122: // 'element'
|
|
shift(122); // 'element'
|
|
break;
|
|
case 125: // 'empty-sequence'
|
|
shift(125); // 'empty-sequence'
|
|
break;
|
|
case 147: // 'function'
|
|
shift(147); // 'function'
|
|
break;
|
|
case 154: // 'if'
|
|
shift(154); // 'if'
|
|
break;
|
|
case 167: // 'item'
|
|
shift(167); // 'item'
|
|
break;
|
|
case 188: // 'namespace-node'
|
|
shift(188); // 'namespace-node'
|
|
break;
|
|
case 194: // 'node'
|
|
shift(194); // 'node'
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
shift(220); // 'processing-instruction'
|
|
break;
|
|
case 230: // 'schema-attribute'
|
|
shift(230); // 'schema-attribute'
|
|
break;
|
|
case 231: // 'schema-element'
|
|
shift(231); // 'schema-element'
|
|
break;
|
|
case 248: // 'switch'
|
|
shift(248); // 'switch'
|
|
break;
|
|
case 249: // 'text'
|
|
shift(249); // 'text'
|
|
break;
|
|
case 259: // 'typeswitch'
|
|
shift(259); // 'typeswitch'
|
|
break;
|
|
case 79: // 'array'
|
|
shift(79); // 'array'
|
|
break;
|
|
case 169: // 'json-item'
|
|
shift(169); // 'json-item'
|
|
break;
|
|
case 247: // 'structured-item'
|
|
shift(247); // 'structured-item'
|
|
break;
|
|
default:
|
|
parse_FunctionName();
|
|
}
|
|
eventHandler.endNonterminal("EQName", e0);
|
|
}
|
|
|
|
function try_EQName()
|
|
{
|
|
lookahead1(240); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
|
|
switch (l1)
|
|
{
|
|
case 83: // 'attribute'
|
|
shiftT(83); // 'attribute'
|
|
break;
|
|
case 97: // 'comment'
|
|
shiftT(97); // 'comment'
|
|
break;
|
|
case 121: // 'document-node'
|
|
shiftT(121); // 'document-node'
|
|
break;
|
|
case 122: // 'element'
|
|
shiftT(122); // 'element'
|
|
break;
|
|
case 125: // 'empty-sequence'
|
|
shiftT(125); // 'empty-sequence'
|
|
break;
|
|
case 147: // 'function'
|
|
shiftT(147); // 'function'
|
|
break;
|
|
case 154: // 'if'
|
|
shiftT(154); // 'if'
|
|
break;
|
|
case 167: // 'item'
|
|
shiftT(167); // 'item'
|
|
break;
|
|
case 188: // 'namespace-node'
|
|
shiftT(188); // 'namespace-node'
|
|
break;
|
|
case 194: // 'node'
|
|
shiftT(194); // 'node'
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
shiftT(220); // 'processing-instruction'
|
|
break;
|
|
case 230: // 'schema-attribute'
|
|
shiftT(230); // 'schema-attribute'
|
|
break;
|
|
case 231: // 'schema-element'
|
|
shiftT(231); // 'schema-element'
|
|
break;
|
|
case 248: // 'switch'
|
|
shiftT(248); // 'switch'
|
|
break;
|
|
case 249: // 'text'
|
|
shiftT(249); // 'text'
|
|
break;
|
|
case 259: // 'typeswitch'
|
|
shiftT(259); // 'typeswitch'
|
|
break;
|
|
case 79: // 'array'
|
|
shiftT(79); // 'array'
|
|
break;
|
|
case 169: // 'json-item'
|
|
shiftT(169); // 'json-item'
|
|
break;
|
|
case 247: // 'structured-item'
|
|
shiftT(247); // 'structured-item'
|
|
break;
|
|
default:
|
|
try_FunctionName();
|
|
}
|
|
}
|
|
|
|
function parse_FunctionName()
|
|
{
|
|
eventHandler.startNonterminal("FunctionName", e0);
|
|
switch (l1)
|
|
{
|
|
case 6: // EQName^Token
|
|
shift(6); // EQName^Token
|
|
break;
|
|
case 71: // 'after'
|
|
shift(71); // 'after'
|
|
break;
|
|
case 74: // 'ancestor'
|
|
shift(74); // 'ancestor'
|
|
break;
|
|
case 75: // 'ancestor-or-self'
|
|
shift(75); // 'ancestor-or-self'
|
|
break;
|
|
case 76: // 'and'
|
|
shift(76); // 'and'
|
|
break;
|
|
case 80: // 'as'
|
|
shift(80); // 'as'
|
|
break;
|
|
case 81: // 'ascending'
|
|
shift(81); // 'ascending'
|
|
break;
|
|
case 85: // 'before'
|
|
shift(85); // 'before'
|
|
break;
|
|
case 89: // 'case'
|
|
shift(89); // 'case'
|
|
break;
|
|
case 90: // 'cast'
|
|
shift(90); // 'cast'
|
|
break;
|
|
case 91: // 'castable'
|
|
shift(91); // 'castable'
|
|
break;
|
|
case 94: // 'child'
|
|
shift(94); // 'child'
|
|
break;
|
|
case 95: // 'collation'
|
|
shift(95); // 'collation'
|
|
break;
|
|
case 104: // 'copy'
|
|
shift(104); // 'copy'
|
|
break;
|
|
case 106: // 'count'
|
|
shift(106); // 'count'
|
|
break;
|
|
case 109: // 'declare'
|
|
shift(109); // 'declare'
|
|
break;
|
|
case 110: // 'default'
|
|
shift(110); // 'default'
|
|
break;
|
|
case 111: // 'delete'
|
|
shift(111); // 'delete'
|
|
break;
|
|
case 112: // 'descendant'
|
|
shift(112); // 'descendant'
|
|
break;
|
|
case 113: // 'descendant-or-self'
|
|
shift(113); // 'descendant-or-self'
|
|
break;
|
|
case 114: // 'descending'
|
|
shift(114); // 'descending'
|
|
break;
|
|
case 119: // 'div'
|
|
shift(119); // 'div'
|
|
break;
|
|
case 120: // 'document'
|
|
shift(120); // 'document'
|
|
break;
|
|
case 123: // 'else'
|
|
shift(123); // 'else'
|
|
break;
|
|
case 124: // 'empty'
|
|
shift(124); // 'empty'
|
|
break;
|
|
case 127: // 'end'
|
|
shift(127); // 'end'
|
|
break;
|
|
case 129: // 'eq'
|
|
shift(129); // 'eq'
|
|
break;
|
|
case 130: // 'every'
|
|
shift(130); // 'every'
|
|
break;
|
|
case 132: // 'except'
|
|
shift(132); // 'except'
|
|
break;
|
|
case 136: // 'first'
|
|
shift(136); // 'first'
|
|
break;
|
|
case 137: // 'following'
|
|
shift(137); // 'following'
|
|
break;
|
|
case 138: // 'following-sibling'
|
|
shift(138); // 'following-sibling'
|
|
break;
|
|
case 139: // 'for'
|
|
shift(139); // 'for'
|
|
break;
|
|
case 148: // 'ge'
|
|
shift(148); // 'ge'
|
|
break;
|
|
case 150: // 'group'
|
|
shift(150); // 'group'
|
|
break;
|
|
case 152: // 'gt'
|
|
shift(152); // 'gt'
|
|
break;
|
|
case 153: // 'idiv'
|
|
shift(153); // 'idiv'
|
|
break;
|
|
case 155: // 'import'
|
|
shift(155); // 'import'
|
|
break;
|
|
case 161: // 'insert'
|
|
shift(161); // 'insert'
|
|
break;
|
|
case 162: // 'instance'
|
|
shift(162); // 'instance'
|
|
break;
|
|
case 164: // 'intersect'
|
|
shift(164); // 'intersect'
|
|
break;
|
|
case 165: // 'into'
|
|
shift(165); // 'into'
|
|
break;
|
|
case 166: // 'is'
|
|
shift(166); // 'is'
|
|
break;
|
|
case 173: // 'last'
|
|
shift(173); // 'last'
|
|
break;
|
|
case 175: // 'le'
|
|
shift(175); // 'le'
|
|
break;
|
|
case 177: // 'let'
|
|
shift(177); // 'let'
|
|
break;
|
|
case 181: // 'lt'
|
|
shift(181); // 'lt'
|
|
break;
|
|
case 183: // 'mod'
|
|
shift(183); // 'mod'
|
|
break;
|
|
case 184: // 'modify'
|
|
shift(184); // 'modify'
|
|
break;
|
|
case 185: // 'module'
|
|
shift(185); // 'module'
|
|
break;
|
|
case 187: // 'namespace'
|
|
shift(187); // 'namespace'
|
|
break;
|
|
case 189: // 'ne'
|
|
shift(189); // 'ne'
|
|
break;
|
|
case 202: // 'only'
|
|
shift(202); // 'only'
|
|
break;
|
|
case 204: // 'or'
|
|
shift(204); // 'or'
|
|
break;
|
|
case 205: // 'order'
|
|
shift(205); // 'order'
|
|
break;
|
|
case 206: // 'ordered'
|
|
shift(206); // 'ordered'
|
|
break;
|
|
case 210: // 'parent'
|
|
shift(210); // 'parent'
|
|
break;
|
|
case 216: // 'preceding'
|
|
shift(216); // 'preceding'
|
|
break;
|
|
case 217: // 'preceding-sibling'
|
|
shift(217); // 'preceding-sibling'
|
|
break;
|
|
case 222: // 'rename'
|
|
shift(222); // 'rename'
|
|
break;
|
|
case 223: // 'replace'
|
|
shift(223); // 'replace'
|
|
break;
|
|
case 224: // 'return'
|
|
shift(224); // 'return'
|
|
break;
|
|
case 228: // 'satisfies'
|
|
shift(228); // 'satisfies'
|
|
break;
|
|
case 234: // 'self'
|
|
shift(234); // 'self'
|
|
break;
|
|
case 240: // 'some'
|
|
shift(240); // 'some'
|
|
break;
|
|
case 241: // 'stable'
|
|
shift(241); // 'stable'
|
|
break;
|
|
case 242: // 'start'
|
|
shift(242); // 'start'
|
|
break;
|
|
case 253: // 'to'
|
|
shift(253); // 'to'
|
|
break;
|
|
case 254: // 'treat'
|
|
shift(254); // 'treat'
|
|
break;
|
|
case 256: // 'try'
|
|
shift(256); // 'try'
|
|
break;
|
|
case 260: // 'union'
|
|
shift(260); // 'union'
|
|
break;
|
|
case 262: // 'unordered'
|
|
shift(262); // 'unordered'
|
|
break;
|
|
case 266: // 'validate'
|
|
shift(266); // 'validate'
|
|
break;
|
|
case 272: // 'where'
|
|
shift(272); // 'where'
|
|
break;
|
|
case 276: // 'with'
|
|
shift(276); // 'with'
|
|
break;
|
|
case 170: // 'jsoniq'
|
|
shift(170); // 'jsoniq'
|
|
break;
|
|
case 73: // 'allowing'
|
|
shift(73); // 'allowing'
|
|
break;
|
|
case 82: // 'at'
|
|
shift(82); // 'at'
|
|
break;
|
|
case 84: // 'base-uri'
|
|
shift(84); // 'base-uri'
|
|
break;
|
|
case 86: // 'boundary-space'
|
|
shift(86); // 'boundary-space'
|
|
break;
|
|
case 87: // 'break'
|
|
shift(87); // 'break'
|
|
break;
|
|
case 92: // 'catch'
|
|
shift(92); // 'catch'
|
|
break;
|
|
case 99: // 'construction'
|
|
shift(99); // 'construction'
|
|
break;
|
|
case 102: // 'context'
|
|
shift(102); // 'context'
|
|
break;
|
|
case 103: // 'continue'
|
|
shift(103); // 'continue'
|
|
break;
|
|
case 105: // 'copy-namespaces'
|
|
shift(105); // 'copy-namespaces'
|
|
break;
|
|
case 107: // 'decimal-format'
|
|
shift(107); // 'decimal-format'
|
|
break;
|
|
case 126: // 'encoding'
|
|
shift(126); // 'encoding'
|
|
break;
|
|
case 133: // 'exit'
|
|
shift(133); // 'exit'
|
|
break;
|
|
case 134: // 'external'
|
|
shift(134); // 'external'
|
|
break;
|
|
case 143: // 'ft-option'
|
|
shift(143); // 'ft-option'
|
|
break;
|
|
case 156: // 'in'
|
|
shift(156); // 'in'
|
|
break;
|
|
case 157: // 'index'
|
|
shift(157); // 'index'
|
|
break;
|
|
case 163: // 'integrity'
|
|
shift(163); // 'integrity'
|
|
break;
|
|
case 174: // 'lax'
|
|
shift(174); // 'lax'
|
|
break;
|
|
case 195: // 'nodes'
|
|
shift(195); // 'nodes'
|
|
break;
|
|
case 203: // 'option'
|
|
shift(203); // 'option'
|
|
break;
|
|
case 207: // 'ordering'
|
|
shift(207); // 'ordering'
|
|
break;
|
|
case 226: // 'revalidation'
|
|
shift(226); // 'revalidation'
|
|
break;
|
|
case 229: // 'schema'
|
|
shift(229); // 'schema'
|
|
break;
|
|
case 232: // 'score'
|
|
shift(232); // 'score'
|
|
break;
|
|
case 239: // 'sliding'
|
|
shift(239); // 'sliding'
|
|
break;
|
|
case 245: // 'strict'
|
|
shift(245); // 'strict'
|
|
break;
|
|
case 257: // 'tumbling'
|
|
shift(257); // 'tumbling'
|
|
break;
|
|
case 258: // 'type'
|
|
shift(258); // 'type'
|
|
break;
|
|
case 263: // 'updating'
|
|
shift(263); // 'updating'
|
|
break;
|
|
case 267: // 'value'
|
|
shift(267); // 'value'
|
|
break;
|
|
case 268: // 'variable'
|
|
shift(268); // 'variable'
|
|
break;
|
|
case 269: // 'version'
|
|
shift(269); // 'version'
|
|
break;
|
|
case 273: // 'while'
|
|
shift(273); // 'while'
|
|
break;
|
|
case 98: // 'constraint'
|
|
shift(98); // 'constraint'
|
|
break;
|
|
case 179: // 'loop'
|
|
shift(179); // 'loop'
|
|
break;
|
|
case 225: // 'returning'
|
|
shift(225); // 'returning'
|
|
break;
|
|
case 78: // 'append'
|
|
shift(78); // 'append'
|
|
break;
|
|
case 135: // 'false'
|
|
shift(135); // 'false'
|
|
break;
|
|
case 142: // 'from'
|
|
shift(142); // 'from'
|
|
break;
|
|
case 197: // 'null'
|
|
shift(197); // 'null'
|
|
break;
|
|
case 168: // 'json'
|
|
shift(168); // 'json'
|
|
break;
|
|
case 198: // 'object'
|
|
shift(198); // 'object'
|
|
break;
|
|
case 233: // 'select'
|
|
shift(233); // 'select'
|
|
break;
|
|
default:
|
|
shift(255); // 'true'
|
|
}
|
|
eventHandler.endNonterminal("FunctionName", e0);
|
|
}
|
|
|
|
function try_FunctionName()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 6: // EQName^Token
|
|
shiftT(6); // EQName^Token
|
|
break;
|
|
case 71: // 'after'
|
|
shiftT(71); // 'after'
|
|
break;
|
|
case 74: // 'ancestor'
|
|
shiftT(74); // 'ancestor'
|
|
break;
|
|
case 75: // 'ancestor-or-self'
|
|
shiftT(75); // 'ancestor-or-self'
|
|
break;
|
|
case 76: // 'and'
|
|
shiftT(76); // 'and'
|
|
break;
|
|
case 80: // 'as'
|
|
shiftT(80); // 'as'
|
|
break;
|
|
case 81: // 'ascending'
|
|
shiftT(81); // 'ascending'
|
|
break;
|
|
case 85: // 'before'
|
|
shiftT(85); // 'before'
|
|
break;
|
|
case 89: // 'case'
|
|
shiftT(89); // 'case'
|
|
break;
|
|
case 90: // 'cast'
|
|
shiftT(90); // 'cast'
|
|
break;
|
|
case 91: // 'castable'
|
|
shiftT(91); // 'castable'
|
|
break;
|
|
case 94: // 'child'
|
|
shiftT(94); // 'child'
|
|
break;
|
|
case 95: // 'collation'
|
|
shiftT(95); // 'collation'
|
|
break;
|
|
case 104: // 'copy'
|
|
shiftT(104); // 'copy'
|
|
break;
|
|
case 106: // 'count'
|
|
shiftT(106); // 'count'
|
|
break;
|
|
case 109: // 'declare'
|
|
shiftT(109); // 'declare'
|
|
break;
|
|
case 110: // 'default'
|
|
shiftT(110); // 'default'
|
|
break;
|
|
case 111: // 'delete'
|
|
shiftT(111); // 'delete'
|
|
break;
|
|
case 112: // 'descendant'
|
|
shiftT(112); // 'descendant'
|
|
break;
|
|
case 113: // 'descendant-or-self'
|
|
shiftT(113); // 'descendant-or-self'
|
|
break;
|
|
case 114: // 'descending'
|
|
shiftT(114); // 'descending'
|
|
break;
|
|
case 119: // 'div'
|
|
shiftT(119); // 'div'
|
|
break;
|
|
case 120: // 'document'
|
|
shiftT(120); // 'document'
|
|
break;
|
|
case 123: // 'else'
|
|
shiftT(123); // 'else'
|
|
break;
|
|
case 124: // 'empty'
|
|
shiftT(124); // 'empty'
|
|
break;
|
|
case 127: // 'end'
|
|
shiftT(127); // 'end'
|
|
break;
|
|
case 129: // 'eq'
|
|
shiftT(129); // 'eq'
|
|
break;
|
|
case 130: // 'every'
|
|
shiftT(130); // 'every'
|
|
break;
|
|
case 132: // 'except'
|
|
shiftT(132); // 'except'
|
|
break;
|
|
case 136: // 'first'
|
|
shiftT(136); // 'first'
|
|
break;
|
|
case 137: // 'following'
|
|
shiftT(137); // 'following'
|
|
break;
|
|
case 138: // 'following-sibling'
|
|
shiftT(138); // 'following-sibling'
|
|
break;
|
|
case 139: // 'for'
|
|
shiftT(139); // 'for'
|
|
break;
|
|
case 148: // 'ge'
|
|
shiftT(148); // 'ge'
|
|
break;
|
|
case 150: // 'group'
|
|
shiftT(150); // 'group'
|
|
break;
|
|
case 152: // 'gt'
|
|
shiftT(152); // 'gt'
|
|
break;
|
|
case 153: // 'idiv'
|
|
shiftT(153); // 'idiv'
|
|
break;
|
|
case 155: // 'import'
|
|
shiftT(155); // 'import'
|
|
break;
|
|
case 161: // 'insert'
|
|
shiftT(161); // 'insert'
|
|
break;
|
|
case 162: // 'instance'
|
|
shiftT(162); // 'instance'
|
|
break;
|
|
case 164: // 'intersect'
|
|
shiftT(164); // 'intersect'
|
|
break;
|
|
case 165: // 'into'
|
|
shiftT(165); // 'into'
|
|
break;
|
|
case 166: // 'is'
|
|
shiftT(166); // 'is'
|
|
break;
|
|
case 173: // 'last'
|
|
shiftT(173); // 'last'
|
|
break;
|
|
case 175: // 'le'
|
|
shiftT(175); // 'le'
|
|
break;
|
|
case 177: // 'let'
|
|
shiftT(177); // 'let'
|
|
break;
|
|
case 181: // 'lt'
|
|
shiftT(181); // 'lt'
|
|
break;
|
|
case 183: // 'mod'
|
|
shiftT(183); // 'mod'
|
|
break;
|
|
case 184: // 'modify'
|
|
shiftT(184); // 'modify'
|
|
break;
|
|
case 185: // 'module'
|
|
shiftT(185); // 'module'
|
|
break;
|
|
case 187: // 'namespace'
|
|
shiftT(187); // 'namespace'
|
|
break;
|
|
case 189: // 'ne'
|
|
shiftT(189); // 'ne'
|
|
break;
|
|
case 202: // 'only'
|
|
shiftT(202); // 'only'
|
|
break;
|
|
case 204: // 'or'
|
|
shiftT(204); // 'or'
|
|
break;
|
|
case 205: // 'order'
|
|
shiftT(205); // 'order'
|
|
break;
|
|
case 206: // 'ordered'
|
|
shiftT(206); // 'ordered'
|
|
break;
|
|
case 210: // 'parent'
|
|
shiftT(210); // 'parent'
|
|
break;
|
|
case 216: // 'preceding'
|
|
shiftT(216); // 'preceding'
|
|
break;
|
|
case 217: // 'preceding-sibling'
|
|
shiftT(217); // 'preceding-sibling'
|
|
break;
|
|
case 222: // 'rename'
|
|
shiftT(222); // 'rename'
|
|
break;
|
|
case 223: // 'replace'
|
|
shiftT(223); // 'replace'
|
|
break;
|
|
case 224: // 'return'
|
|
shiftT(224); // 'return'
|
|
break;
|
|
case 228: // 'satisfies'
|
|
shiftT(228); // 'satisfies'
|
|
break;
|
|
case 234: // 'self'
|
|
shiftT(234); // 'self'
|
|
break;
|
|
case 240: // 'some'
|
|
shiftT(240); // 'some'
|
|
break;
|
|
case 241: // 'stable'
|
|
shiftT(241); // 'stable'
|
|
break;
|
|
case 242: // 'start'
|
|
shiftT(242); // 'start'
|
|
break;
|
|
case 253: // 'to'
|
|
shiftT(253); // 'to'
|
|
break;
|
|
case 254: // 'treat'
|
|
shiftT(254); // 'treat'
|
|
break;
|
|
case 256: // 'try'
|
|
shiftT(256); // 'try'
|
|
break;
|
|
case 260: // 'union'
|
|
shiftT(260); // 'union'
|
|
break;
|
|
case 262: // 'unordered'
|
|
shiftT(262); // 'unordered'
|
|
break;
|
|
case 266: // 'validate'
|
|
shiftT(266); // 'validate'
|
|
break;
|
|
case 272: // 'where'
|
|
shiftT(272); // 'where'
|
|
break;
|
|
case 276: // 'with'
|
|
shiftT(276); // 'with'
|
|
break;
|
|
case 170: // 'jsoniq'
|
|
shiftT(170); // 'jsoniq'
|
|
break;
|
|
case 73: // 'allowing'
|
|
shiftT(73); // 'allowing'
|
|
break;
|
|
case 82: // 'at'
|
|
shiftT(82); // 'at'
|
|
break;
|
|
case 84: // 'base-uri'
|
|
shiftT(84); // 'base-uri'
|
|
break;
|
|
case 86: // 'boundary-space'
|
|
shiftT(86); // 'boundary-space'
|
|
break;
|
|
case 87: // 'break'
|
|
shiftT(87); // 'break'
|
|
break;
|
|
case 92: // 'catch'
|
|
shiftT(92); // 'catch'
|
|
break;
|
|
case 99: // 'construction'
|
|
shiftT(99); // 'construction'
|
|
break;
|
|
case 102: // 'context'
|
|
shiftT(102); // 'context'
|
|
break;
|
|
case 103: // 'continue'
|
|
shiftT(103); // 'continue'
|
|
break;
|
|
case 105: // 'copy-namespaces'
|
|
shiftT(105); // 'copy-namespaces'
|
|
break;
|
|
case 107: // 'decimal-format'
|
|
shiftT(107); // 'decimal-format'
|
|
break;
|
|
case 126: // 'encoding'
|
|
shiftT(126); // 'encoding'
|
|
break;
|
|
case 133: // 'exit'
|
|
shiftT(133); // 'exit'
|
|
break;
|
|
case 134: // 'external'
|
|
shiftT(134); // 'external'
|
|
break;
|
|
case 143: // 'ft-option'
|
|
shiftT(143); // 'ft-option'
|
|
break;
|
|
case 156: // 'in'
|
|
shiftT(156); // 'in'
|
|
break;
|
|
case 157: // 'index'
|
|
shiftT(157); // 'index'
|
|
break;
|
|
case 163: // 'integrity'
|
|
shiftT(163); // 'integrity'
|
|
break;
|
|
case 174: // 'lax'
|
|
shiftT(174); // 'lax'
|
|
break;
|
|
case 195: // 'nodes'
|
|
shiftT(195); // 'nodes'
|
|
break;
|
|
case 203: // 'option'
|
|
shiftT(203); // 'option'
|
|
break;
|
|
case 207: // 'ordering'
|
|
shiftT(207); // 'ordering'
|
|
break;
|
|
case 226: // 'revalidation'
|
|
shiftT(226); // 'revalidation'
|
|
break;
|
|
case 229: // 'schema'
|
|
shiftT(229); // 'schema'
|
|
break;
|
|
case 232: // 'score'
|
|
shiftT(232); // 'score'
|
|
break;
|
|
case 239: // 'sliding'
|
|
shiftT(239); // 'sliding'
|
|
break;
|
|
case 245: // 'strict'
|
|
shiftT(245); // 'strict'
|
|
break;
|
|
case 257: // 'tumbling'
|
|
shiftT(257); // 'tumbling'
|
|
break;
|
|
case 258: // 'type'
|
|
shiftT(258); // 'type'
|
|
break;
|
|
case 263: // 'updating'
|
|
shiftT(263); // 'updating'
|
|
break;
|
|
case 267: // 'value'
|
|
shiftT(267); // 'value'
|
|
break;
|
|
case 268: // 'variable'
|
|
shiftT(268); // 'variable'
|
|
break;
|
|
case 269: // 'version'
|
|
shiftT(269); // 'version'
|
|
break;
|
|
case 273: // 'while'
|
|
shiftT(273); // 'while'
|
|
break;
|
|
case 98: // 'constraint'
|
|
shiftT(98); // 'constraint'
|
|
break;
|
|
case 179: // 'loop'
|
|
shiftT(179); // 'loop'
|
|
break;
|
|
case 225: // 'returning'
|
|
shiftT(225); // 'returning'
|
|
break;
|
|
case 78: // 'append'
|
|
shiftT(78); // 'append'
|
|
break;
|
|
case 135: // 'false'
|
|
shiftT(135); // 'false'
|
|
break;
|
|
case 142: // 'from'
|
|
shiftT(142); // 'from'
|
|
break;
|
|
case 197: // 'null'
|
|
shiftT(197); // 'null'
|
|
break;
|
|
case 168: // 'json'
|
|
shiftT(168); // 'json'
|
|
break;
|
|
case 198: // 'object'
|
|
shiftT(198); // 'object'
|
|
break;
|
|
case 233: // 'select'
|
|
shiftT(233); // 'select'
|
|
break;
|
|
default:
|
|
shiftT(255); // 'true'
|
|
}
|
|
}
|
|
|
|
function parse_NCName()
|
|
{
|
|
eventHandler.startNonterminal("NCName", e0);
|
|
switch (l1)
|
|
{
|
|
case 19: // NCName^Token
|
|
shift(19); // NCName^Token
|
|
break;
|
|
case 71: // 'after'
|
|
shift(71); // 'after'
|
|
break;
|
|
case 76: // 'and'
|
|
shift(76); // 'and'
|
|
break;
|
|
case 80: // 'as'
|
|
shift(80); // 'as'
|
|
break;
|
|
case 81: // 'ascending'
|
|
shift(81); // 'ascending'
|
|
break;
|
|
case 85: // 'before'
|
|
shift(85); // 'before'
|
|
break;
|
|
case 89: // 'case'
|
|
shift(89); // 'case'
|
|
break;
|
|
case 90: // 'cast'
|
|
shift(90); // 'cast'
|
|
break;
|
|
case 91: // 'castable'
|
|
shift(91); // 'castable'
|
|
break;
|
|
case 95: // 'collation'
|
|
shift(95); // 'collation'
|
|
break;
|
|
case 106: // 'count'
|
|
shift(106); // 'count'
|
|
break;
|
|
case 110: // 'default'
|
|
shift(110); // 'default'
|
|
break;
|
|
case 114: // 'descending'
|
|
shift(114); // 'descending'
|
|
break;
|
|
case 119: // 'div'
|
|
shift(119); // 'div'
|
|
break;
|
|
case 123: // 'else'
|
|
shift(123); // 'else'
|
|
break;
|
|
case 124: // 'empty'
|
|
shift(124); // 'empty'
|
|
break;
|
|
case 127: // 'end'
|
|
shift(127); // 'end'
|
|
break;
|
|
case 129: // 'eq'
|
|
shift(129); // 'eq'
|
|
break;
|
|
case 132: // 'except'
|
|
shift(132); // 'except'
|
|
break;
|
|
case 139: // 'for'
|
|
shift(139); // 'for'
|
|
break;
|
|
case 148: // 'ge'
|
|
shift(148); // 'ge'
|
|
break;
|
|
case 150: // 'group'
|
|
shift(150); // 'group'
|
|
break;
|
|
case 152: // 'gt'
|
|
shift(152); // 'gt'
|
|
break;
|
|
case 153: // 'idiv'
|
|
shift(153); // 'idiv'
|
|
break;
|
|
case 162: // 'instance'
|
|
shift(162); // 'instance'
|
|
break;
|
|
case 164: // 'intersect'
|
|
shift(164); // 'intersect'
|
|
break;
|
|
case 165: // 'into'
|
|
shift(165); // 'into'
|
|
break;
|
|
case 166: // 'is'
|
|
shift(166); // 'is'
|
|
break;
|
|
case 175: // 'le'
|
|
shift(175); // 'le'
|
|
break;
|
|
case 177: // 'let'
|
|
shift(177); // 'let'
|
|
break;
|
|
case 181: // 'lt'
|
|
shift(181); // 'lt'
|
|
break;
|
|
case 183: // 'mod'
|
|
shift(183); // 'mod'
|
|
break;
|
|
case 184: // 'modify'
|
|
shift(184); // 'modify'
|
|
break;
|
|
case 189: // 'ne'
|
|
shift(189); // 'ne'
|
|
break;
|
|
case 202: // 'only'
|
|
shift(202); // 'only'
|
|
break;
|
|
case 204: // 'or'
|
|
shift(204); // 'or'
|
|
break;
|
|
case 205: // 'order'
|
|
shift(205); // 'order'
|
|
break;
|
|
case 224: // 'return'
|
|
shift(224); // 'return'
|
|
break;
|
|
case 228: // 'satisfies'
|
|
shift(228); // 'satisfies'
|
|
break;
|
|
case 241: // 'stable'
|
|
shift(241); // 'stable'
|
|
break;
|
|
case 242: // 'start'
|
|
shift(242); // 'start'
|
|
break;
|
|
case 253: // 'to'
|
|
shift(253); // 'to'
|
|
break;
|
|
case 254: // 'treat'
|
|
shift(254); // 'treat'
|
|
break;
|
|
case 260: // 'union'
|
|
shift(260); // 'union'
|
|
break;
|
|
case 272: // 'where'
|
|
shift(272); // 'where'
|
|
break;
|
|
case 276: // 'with'
|
|
shift(276); // 'with'
|
|
break;
|
|
case 74: // 'ancestor'
|
|
shift(74); // 'ancestor'
|
|
break;
|
|
case 75: // 'ancestor-or-self'
|
|
shift(75); // 'ancestor-or-self'
|
|
break;
|
|
case 83: // 'attribute'
|
|
shift(83); // 'attribute'
|
|
break;
|
|
case 94: // 'child'
|
|
shift(94); // 'child'
|
|
break;
|
|
case 97: // 'comment'
|
|
shift(97); // 'comment'
|
|
break;
|
|
case 104: // 'copy'
|
|
shift(104); // 'copy'
|
|
break;
|
|
case 109: // 'declare'
|
|
shift(109); // 'declare'
|
|
break;
|
|
case 111: // 'delete'
|
|
shift(111); // 'delete'
|
|
break;
|
|
case 112: // 'descendant'
|
|
shift(112); // 'descendant'
|
|
break;
|
|
case 113: // 'descendant-or-self'
|
|
shift(113); // 'descendant-or-self'
|
|
break;
|
|
case 120: // 'document'
|
|
shift(120); // 'document'
|
|
break;
|
|
case 121: // 'document-node'
|
|
shift(121); // 'document-node'
|
|
break;
|
|
case 122: // 'element'
|
|
shift(122); // 'element'
|
|
break;
|
|
case 125: // 'empty-sequence'
|
|
shift(125); // 'empty-sequence'
|
|
break;
|
|
case 130: // 'every'
|
|
shift(130); // 'every'
|
|
break;
|
|
case 136: // 'first'
|
|
shift(136); // 'first'
|
|
break;
|
|
case 137: // 'following'
|
|
shift(137); // 'following'
|
|
break;
|
|
case 138: // 'following-sibling'
|
|
shift(138); // 'following-sibling'
|
|
break;
|
|
case 147: // 'function'
|
|
shift(147); // 'function'
|
|
break;
|
|
case 154: // 'if'
|
|
shift(154); // 'if'
|
|
break;
|
|
case 155: // 'import'
|
|
shift(155); // 'import'
|
|
break;
|
|
case 161: // 'insert'
|
|
shift(161); // 'insert'
|
|
break;
|
|
case 167: // 'item'
|
|
shift(167); // 'item'
|
|
break;
|
|
case 173: // 'last'
|
|
shift(173); // 'last'
|
|
break;
|
|
case 185: // 'module'
|
|
shift(185); // 'module'
|
|
break;
|
|
case 187: // 'namespace'
|
|
shift(187); // 'namespace'
|
|
break;
|
|
case 188: // 'namespace-node'
|
|
shift(188); // 'namespace-node'
|
|
break;
|
|
case 194: // 'node'
|
|
shift(194); // 'node'
|
|
break;
|
|
case 206: // 'ordered'
|
|
shift(206); // 'ordered'
|
|
break;
|
|
case 210: // 'parent'
|
|
shift(210); // 'parent'
|
|
break;
|
|
case 216: // 'preceding'
|
|
shift(216); // 'preceding'
|
|
break;
|
|
case 217: // 'preceding-sibling'
|
|
shift(217); // 'preceding-sibling'
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
shift(220); // 'processing-instruction'
|
|
break;
|
|
case 222: // 'rename'
|
|
shift(222); // 'rename'
|
|
break;
|
|
case 223: // 'replace'
|
|
shift(223); // 'replace'
|
|
break;
|
|
case 230: // 'schema-attribute'
|
|
shift(230); // 'schema-attribute'
|
|
break;
|
|
case 231: // 'schema-element'
|
|
shift(231); // 'schema-element'
|
|
break;
|
|
case 234: // 'self'
|
|
shift(234); // 'self'
|
|
break;
|
|
case 240: // 'some'
|
|
shift(240); // 'some'
|
|
break;
|
|
case 248: // 'switch'
|
|
shift(248); // 'switch'
|
|
break;
|
|
case 249: // 'text'
|
|
shift(249); // 'text'
|
|
break;
|
|
case 256: // 'try'
|
|
shift(256); // 'try'
|
|
break;
|
|
case 259: // 'typeswitch'
|
|
shift(259); // 'typeswitch'
|
|
break;
|
|
case 262: // 'unordered'
|
|
shift(262); // 'unordered'
|
|
break;
|
|
case 266: // 'validate'
|
|
shift(266); // 'validate'
|
|
break;
|
|
case 268: // 'variable'
|
|
shift(268); // 'variable'
|
|
break;
|
|
case 170: // 'jsoniq'
|
|
shift(170); // 'jsoniq'
|
|
break;
|
|
case 73: // 'allowing'
|
|
shift(73); // 'allowing'
|
|
break;
|
|
case 82: // 'at'
|
|
shift(82); // 'at'
|
|
break;
|
|
case 84: // 'base-uri'
|
|
shift(84); // 'base-uri'
|
|
break;
|
|
case 86: // 'boundary-space'
|
|
shift(86); // 'boundary-space'
|
|
break;
|
|
case 87: // 'break'
|
|
shift(87); // 'break'
|
|
break;
|
|
case 92: // 'catch'
|
|
shift(92); // 'catch'
|
|
break;
|
|
case 99: // 'construction'
|
|
shift(99); // 'construction'
|
|
break;
|
|
case 102: // 'context'
|
|
shift(102); // 'context'
|
|
break;
|
|
case 103: // 'continue'
|
|
shift(103); // 'continue'
|
|
break;
|
|
case 105: // 'copy-namespaces'
|
|
shift(105); // 'copy-namespaces'
|
|
break;
|
|
case 107: // 'decimal-format'
|
|
shift(107); // 'decimal-format'
|
|
break;
|
|
case 126: // 'encoding'
|
|
shift(126); // 'encoding'
|
|
break;
|
|
case 133: // 'exit'
|
|
shift(133); // 'exit'
|
|
break;
|
|
case 134: // 'external'
|
|
shift(134); // 'external'
|
|
break;
|
|
case 143: // 'ft-option'
|
|
shift(143); // 'ft-option'
|
|
break;
|
|
case 156: // 'in'
|
|
shift(156); // 'in'
|
|
break;
|
|
case 157: // 'index'
|
|
shift(157); // 'index'
|
|
break;
|
|
case 163: // 'integrity'
|
|
shift(163); // 'integrity'
|
|
break;
|
|
case 174: // 'lax'
|
|
shift(174); // 'lax'
|
|
break;
|
|
case 195: // 'nodes'
|
|
shift(195); // 'nodes'
|
|
break;
|
|
case 203: // 'option'
|
|
shift(203); // 'option'
|
|
break;
|
|
case 207: // 'ordering'
|
|
shift(207); // 'ordering'
|
|
break;
|
|
case 226: // 'revalidation'
|
|
shift(226); // 'revalidation'
|
|
break;
|
|
case 229: // 'schema'
|
|
shift(229); // 'schema'
|
|
break;
|
|
case 232: // 'score'
|
|
shift(232); // 'score'
|
|
break;
|
|
case 239: // 'sliding'
|
|
shift(239); // 'sliding'
|
|
break;
|
|
case 245: // 'strict'
|
|
shift(245); // 'strict'
|
|
break;
|
|
case 257: // 'tumbling'
|
|
shift(257); // 'tumbling'
|
|
break;
|
|
case 258: // 'type'
|
|
shift(258); // 'type'
|
|
break;
|
|
case 263: // 'updating'
|
|
shift(263); // 'updating'
|
|
break;
|
|
case 267: // 'value'
|
|
shift(267); // 'value'
|
|
break;
|
|
case 269: // 'version'
|
|
shift(269); // 'version'
|
|
break;
|
|
case 273: // 'while'
|
|
shift(273); // 'while'
|
|
break;
|
|
case 98: // 'constraint'
|
|
shift(98); // 'constraint'
|
|
break;
|
|
case 179: // 'loop'
|
|
shift(179); // 'loop'
|
|
break;
|
|
case 225: // 'returning'
|
|
shift(225); // 'returning'
|
|
break;
|
|
case 78: // 'append'
|
|
shift(78); // 'append'
|
|
break;
|
|
case 135: // 'false'
|
|
shift(135); // 'false'
|
|
break;
|
|
case 142: // 'from'
|
|
shift(142); // 'from'
|
|
break;
|
|
case 197: // 'null'
|
|
shift(197); // 'null'
|
|
break;
|
|
case 168: // 'json'
|
|
shift(168); // 'json'
|
|
break;
|
|
case 198: // 'object'
|
|
shift(198); // 'object'
|
|
break;
|
|
case 233: // 'select'
|
|
shift(233); // 'select'
|
|
break;
|
|
default:
|
|
shift(255); // 'true'
|
|
}
|
|
eventHandler.endNonterminal("NCName", e0);
|
|
}
|
|
|
|
function try_NCName()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 19: // NCName^Token
|
|
shiftT(19); // NCName^Token
|
|
break;
|
|
case 71: // 'after'
|
|
shiftT(71); // 'after'
|
|
break;
|
|
case 76: // 'and'
|
|
shiftT(76); // 'and'
|
|
break;
|
|
case 80: // 'as'
|
|
shiftT(80); // 'as'
|
|
break;
|
|
case 81: // 'ascending'
|
|
shiftT(81); // 'ascending'
|
|
break;
|
|
case 85: // 'before'
|
|
shiftT(85); // 'before'
|
|
break;
|
|
case 89: // 'case'
|
|
shiftT(89); // 'case'
|
|
break;
|
|
case 90: // 'cast'
|
|
shiftT(90); // 'cast'
|
|
break;
|
|
case 91: // 'castable'
|
|
shiftT(91); // 'castable'
|
|
break;
|
|
case 95: // 'collation'
|
|
shiftT(95); // 'collation'
|
|
break;
|
|
case 106: // 'count'
|
|
shiftT(106); // 'count'
|
|
break;
|
|
case 110: // 'default'
|
|
shiftT(110); // 'default'
|
|
break;
|
|
case 114: // 'descending'
|
|
shiftT(114); // 'descending'
|
|
break;
|
|
case 119: // 'div'
|
|
shiftT(119); // 'div'
|
|
break;
|
|
case 123: // 'else'
|
|
shiftT(123); // 'else'
|
|
break;
|
|
case 124: // 'empty'
|
|
shiftT(124); // 'empty'
|
|
break;
|
|
case 127: // 'end'
|
|
shiftT(127); // 'end'
|
|
break;
|
|
case 129: // 'eq'
|
|
shiftT(129); // 'eq'
|
|
break;
|
|
case 132: // 'except'
|
|
shiftT(132); // 'except'
|
|
break;
|
|
case 139: // 'for'
|
|
shiftT(139); // 'for'
|
|
break;
|
|
case 148: // 'ge'
|
|
shiftT(148); // 'ge'
|
|
break;
|
|
case 150: // 'group'
|
|
shiftT(150); // 'group'
|
|
break;
|
|
case 152: // 'gt'
|
|
shiftT(152); // 'gt'
|
|
break;
|
|
case 153: // 'idiv'
|
|
shiftT(153); // 'idiv'
|
|
break;
|
|
case 162: // 'instance'
|
|
shiftT(162); // 'instance'
|
|
break;
|
|
case 164: // 'intersect'
|
|
shiftT(164); // 'intersect'
|
|
break;
|
|
case 165: // 'into'
|
|
shiftT(165); // 'into'
|
|
break;
|
|
case 166: // 'is'
|
|
shiftT(166); // 'is'
|
|
break;
|
|
case 175: // 'le'
|
|
shiftT(175); // 'le'
|
|
break;
|
|
case 177: // 'let'
|
|
shiftT(177); // 'let'
|
|
break;
|
|
case 181: // 'lt'
|
|
shiftT(181); // 'lt'
|
|
break;
|
|
case 183: // 'mod'
|
|
shiftT(183); // 'mod'
|
|
break;
|
|
case 184: // 'modify'
|
|
shiftT(184); // 'modify'
|
|
break;
|
|
case 189: // 'ne'
|
|
shiftT(189); // 'ne'
|
|
break;
|
|
case 202: // 'only'
|
|
shiftT(202); // 'only'
|
|
break;
|
|
case 204: // 'or'
|
|
shiftT(204); // 'or'
|
|
break;
|
|
case 205: // 'order'
|
|
shiftT(205); // 'order'
|
|
break;
|
|
case 224: // 'return'
|
|
shiftT(224); // 'return'
|
|
break;
|
|
case 228: // 'satisfies'
|
|
shiftT(228); // 'satisfies'
|
|
break;
|
|
case 241: // 'stable'
|
|
shiftT(241); // 'stable'
|
|
break;
|
|
case 242: // 'start'
|
|
shiftT(242); // 'start'
|
|
break;
|
|
case 253: // 'to'
|
|
shiftT(253); // 'to'
|
|
break;
|
|
case 254: // 'treat'
|
|
shiftT(254); // 'treat'
|
|
break;
|
|
case 260: // 'union'
|
|
shiftT(260); // 'union'
|
|
break;
|
|
case 272: // 'where'
|
|
shiftT(272); // 'where'
|
|
break;
|
|
case 276: // 'with'
|
|
shiftT(276); // 'with'
|
|
break;
|
|
case 74: // 'ancestor'
|
|
shiftT(74); // 'ancestor'
|
|
break;
|
|
case 75: // 'ancestor-or-self'
|
|
shiftT(75); // 'ancestor-or-self'
|
|
break;
|
|
case 83: // 'attribute'
|
|
shiftT(83); // 'attribute'
|
|
break;
|
|
case 94: // 'child'
|
|
shiftT(94); // 'child'
|
|
break;
|
|
case 97: // 'comment'
|
|
shiftT(97); // 'comment'
|
|
break;
|
|
case 104: // 'copy'
|
|
shiftT(104); // 'copy'
|
|
break;
|
|
case 109: // 'declare'
|
|
shiftT(109); // 'declare'
|
|
break;
|
|
case 111: // 'delete'
|
|
shiftT(111); // 'delete'
|
|
break;
|
|
case 112: // 'descendant'
|
|
shiftT(112); // 'descendant'
|
|
break;
|
|
case 113: // 'descendant-or-self'
|
|
shiftT(113); // 'descendant-or-self'
|
|
break;
|
|
case 120: // 'document'
|
|
shiftT(120); // 'document'
|
|
break;
|
|
case 121: // 'document-node'
|
|
shiftT(121); // 'document-node'
|
|
break;
|
|
case 122: // 'element'
|
|
shiftT(122); // 'element'
|
|
break;
|
|
case 125: // 'empty-sequence'
|
|
shiftT(125); // 'empty-sequence'
|
|
break;
|
|
case 130: // 'every'
|
|
shiftT(130); // 'every'
|
|
break;
|
|
case 136: // 'first'
|
|
shiftT(136); // 'first'
|
|
break;
|
|
case 137: // 'following'
|
|
shiftT(137); // 'following'
|
|
break;
|
|
case 138: // 'following-sibling'
|
|
shiftT(138); // 'following-sibling'
|
|
break;
|
|
case 147: // 'function'
|
|
shiftT(147); // 'function'
|
|
break;
|
|
case 154: // 'if'
|
|
shiftT(154); // 'if'
|
|
break;
|
|
case 155: // 'import'
|
|
shiftT(155); // 'import'
|
|
break;
|
|
case 161: // 'insert'
|
|
shiftT(161); // 'insert'
|
|
break;
|
|
case 167: // 'item'
|
|
shiftT(167); // 'item'
|
|
break;
|
|
case 173: // 'last'
|
|
shiftT(173); // 'last'
|
|
break;
|
|
case 185: // 'module'
|
|
shiftT(185); // 'module'
|
|
break;
|
|
case 187: // 'namespace'
|
|
shiftT(187); // 'namespace'
|
|
break;
|
|
case 188: // 'namespace-node'
|
|
shiftT(188); // 'namespace-node'
|
|
break;
|
|
case 194: // 'node'
|
|
shiftT(194); // 'node'
|
|
break;
|
|
case 206: // 'ordered'
|
|
shiftT(206); // 'ordered'
|
|
break;
|
|
case 210: // 'parent'
|
|
shiftT(210); // 'parent'
|
|
break;
|
|
case 216: // 'preceding'
|
|
shiftT(216); // 'preceding'
|
|
break;
|
|
case 217: // 'preceding-sibling'
|
|
shiftT(217); // 'preceding-sibling'
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
shiftT(220); // 'processing-instruction'
|
|
break;
|
|
case 222: // 'rename'
|
|
shiftT(222); // 'rename'
|
|
break;
|
|
case 223: // 'replace'
|
|
shiftT(223); // 'replace'
|
|
break;
|
|
case 230: // 'schema-attribute'
|
|
shiftT(230); // 'schema-attribute'
|
|
break;
|
|
case 231: // 'schema-element'
|
|
shiftT(231); // 'schema-element'
|
|
break;
|
|
case 234: // 'self'
|
|
shiftT(234); // 'self'
|
|
break;
|
|
case 240: // 'some'
|
|
shiftT(240); // 'some'
|
|
break;
|
|
case 248: // 'switch'
|
|
shiftT(248); // 'switch'
|
|
break;
|
|
case 249: // 'text'
|
|
shiftT(249); // 'text'
|
|
break;
|
|
case 256: // 'try'
|
|
shiftT(256); // 'try'
|
|
break;
|
|
case 259: // 'typeswitch'
|
|
shiftT(259); // 'typeswitch'
|
|
break;
|
|
case 262: // 'unordered'
|
|
shiftT(262); // 'unordered'
|
|
break;
|
|
case 266: // 'validate'
|
|
shiftT(266); // 'validate'
|
|
break;
|
|
case 268: // 'variable'
|
|
shiftT(268); // 'variable'
|
|
break;
|
|
case 170: // 'jsoniq'
|
|
shiftT(170); // 'jsoniq'
|
|
break;
|
|
case 73: // 'allowing'
|
|
shiftT(73); // 'allowing'
|
|
break;
|
|
case 82: // 'at'
|
|
shiftT(82); // 'at'
|
|
break;
|
|
case 84: // 'base-uri'
|
|
shiftT(84); // 'base-uri'
|
|
break;
|
|
case 86: // 'boundary-space'
|
|
shiftT(86); // 'boundary-space'
|
|
break;
|
|
case 87: // 'break'
|
|
shiftT(87); // 'break'
|
|
break;
|
|
case 92: // 'catch'
|
|
shiftT(92); // 'catch'
|
|
break;
|
|
case 99: // 'construction'
|
|
shiftT(99); // 'construction'
|
|
break;
|
|
case 102: // 'context'
|
|
shiftT(102); // 'context'
|
|
break;
|
|
case 103: // 'continue'
|
|
shiftT(103); // 'continue'
|
|
break;
|
|
case 105: // 'copy-namespaces'
|
|
shiftT(105); // 'copy-namespaces'
|
|
break;
|
|
case 107: // 'decimal-format'
|
|
shiftT(107); // 'decimal-format'
|
|
break;
|
|
case 126: // 'encoding'
|
|
shiftT(126); // 'encoding'
|
|
break;
|
|
case 133: // 'exit'
|
|
shiftT(133); // 'exit'
|
|
break;
|
|
case 134: // 'external'
|
|
shiftT(134); // 'external'
|
|
break;
|
|
case 143: // 'ft-option'
|
|
shiftT(143); // 'ft-option'
|
|
break;
|
|
case 156: // 'in'
|
|
shiftT(156); // 'in'
|
|
break;
|
|
case 157: // 'index'
|
|
shiftT(157); // 'index'
|
|
break;
|
|
case 163: // 'integrity'
|
|
shiftT(163); // 'integrity'
|
|
break;
|
|
case 174: // 'lax'
|
|
shiftT(174); // 'lax'
|
|
break;
|
|
case 195: // 'nodes'
|
|
shiftT(195); // 'nodes'
|
|
break;
|
|
case 203: // 'option'
|
|
shiftT(203); // 'option'
|
|
break;
|
|
case 207: // 'ordering'
|
|
shiftT(207); // 'ordering'
|
|
break;
|
|
case 226: // 'revalidation'
|
|
shiftT(226); // 'revalidation'
|
|
break;
|
|
case 229: // 'schema'
|
|
shiftT(229); // 'schema'
|
|
break;
|
|
case 232: // 'score'
|
|
shiftT(232); // 'score'
|
|
break;
|
|
case 239: // 'sliding'
|
|
shiftT(239); // 'sliding'
|
|
break;
|
|
case 245: // 'strict'
|
|
shiftT(245); // 'strict'
|
|
break;
|
|
case 257: // 'tumbling'
|
|
shiftT(257); // 'tumbling'
|
|
break;
|
|
case 258: // 'type'
|
|
shiftT(258); // 'type'
|
|
break;
|
|
case 263: // 'updating'
|
|
shiftT(263); // 'updating'
|
|
break;
|
|
case 267: // 'value'
|
|
shiftT(267); // 'value'
|
|
break;
|
|
case 269: // 'version'
|
|
shiftT(269); // 'version'
|
|
break;
|
|
case 273: // 'while'
|
|
shiftT(273); // 'while'
|
|
break;
|
|
case 98: // 'constraint'
|
|
shiftT(98); // 'constraint'
|
|
break;
|
|
case 179: // 'loop'
|
|
shiftT(179); // 'loop'
|
|
break;
|
|
case 225: // 'returning'
|
|
shiftT(225); // 'returning'
|
|
break;
|
|
case 78: // 'append'
|
|
shiftT(78); // 'append'
|
|
break;
|
|
case 135: // 'false'
|
|
shiftT(135); // 'false'
|
|
break;
|
|
case 142: // 'from'
|
|
shiftT(142); // 'from'
|
|
break;
|
|
case 197: // 'null'
|
|
shiftT(197); // 'null'
|
|
break;
|
|
case 168: // 'json'
|
|
shiftT(168); // 'json'
|
|
break;
|
|
case 198: // 'object'
|
|
shiftT(198); // 'object'
|
|
break;
|
|
case 233: // 'select'
|
|
shiftT(233); // 'select'
|
|
break;
|
|
default:
|
|
shiftT(255); // 'true'
|
|
}
|
|
}
|
|
|
|
function parse_MainModule()
|
|
{
|
|
eventHandler.startNonterminal("MainModule", e0);
|
|
parse_Prolog();
|
|
whitespace();
|
|
parse_Program();
|
|
eventHandler.endNonterminal("MainModule", e0);
|
|
}
|
|
|
|
function parse_Program()
|
|
{
|
|
eventHandler.startNonterminal("Program", e0);
|
|
parse_StatementsAndOptionalExpr();
|
|
eventHandler.endNonterminal("Program", e0);
|
|
}
|
|
|
|
function parse_Statements()
|
|
{
|
|
eventHandler.startNonterminal("Statements", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 35: // '('
|
|
lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 36: // '(#'
|
|
lookahead2(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
break;
|
|
case 47: // '/'
|
|
lookahead2W(285); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 48: // '//'
|
|
lookahead2W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 55: // '<'
|
|
lookahead2(4); // QName
|
|
break;
|
|
case 56: // '<!--'
|
|
lookahead2(1); // DirCommentContents
|
|
break;
|
|
case 60: // '<?'
|
|
lookahead2(3); // PITarget
|
|
break;
|
|
case 69: // '['
|
|
lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 78: // 'append'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 133: // 'exit'
|
|
lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
|
|
break;
|
|
case 139: // 'for'
|
|
lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 161: // 'insert'
|
|
lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
|
|
break;
|
|
case 187: // 'namespace'
|
|
lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 223: // 'replace'
|
|
lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
|
|
break;
|
|
case 266: // 'validate'
|
|
lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
break;
|
|
case 281: // '{'
|
|
lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 283: // '{|'
|
|
lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 31: // '$'
|
|
case 33: // '%'
|
|
lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 83: // 'attribute'
|
|
case 122: // 'element'
|
|
lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 87: // 'break'
|
|
case 103: // 'continue'
|
|
lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
|
|
break;
|
|
case 97: // 'comment'
|
|
case 249: // 'text'
|
|
lookahead2W(97); // S^WS | '#' | '(:' | '{'
|
|
break;
|
|
case 111: // 'delete'
|
|
case 222: // 'rename'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 41: // '+'
|
|
case 43: // '-'
|
|
case 196: // 'not'
|
|
lookahead2W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' |
|
|
break;
|
|
case 104: // 'copy'
|
|
case 130: // 'every'
|
|
case 240: // 'some'
|
|
case 268: // 'variable'
|
|
lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
|
|
break;
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 256: // 'try'
|
|
case 262: // 'unordered'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 32: // '$$'
|
|
lookahead2W(209); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' | '//' |
|
|
break;
|
|
case 79: // 'array'
|
|
case 121: // 'document-node'
|
|
case 125: // 'empty-sequence'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 247: // 'structured-item'
|
|
lookahead2W(20); // S^WS | '#' | '(:'
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 76: // 'and'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 94: // 'child'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 132: // 'except'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 147: // 'function'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 154: // 'if'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 189: // 'ne'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 234: // 'self'
|
|
case 239: // 'sliding'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 248: // 'switch'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 259: // 'typeswitch'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 267: // 'value'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 54 // ';'
|
|
&& lk != 287 // '}'
|
|
&& lk != 12808 // IntegerLiteral EOF
|
|
&& lk != 12809 // DecimalLiteral EOF
|
|
&& lk != 12810 // DoubleLiteral EOF
|
|
&& lk != 12811 // StringLiteral EOF
|
|
&& lk != 12832 // '$$' EOF
|
|
&& lk != 12847 // '/' EOF
|
|
&& lk != 12935 // 'false' EOF
|
|
&& lk != 12997 // 'null' EOF
|
|
&& lk != 13055 // 'true' EOF
|
|
&& lk != 16140 // 'variable' '$'
|
|
&& lk != 21512 // IntegerLiteral ','
|
|
&& lk != 21513 // DecimalLiteral ','
|
|
&& lk != 21514 // DoubleLiteral ','
|
|
&& lk != 21515 // StringLiteral ','
|
|
&& lk != 21536 // '$$' ','
|
|
&& lk != 21551 // '/' ','
|
|
&& lk != 21639 // 'false' ','
|
|
&& lk != 21701 // 'null' ','
|
|
&& lk != 21759 // 'true' ','
|
|
&& lk != 27656 // IntegerLiteral ';'
|
|
&& lk != 27657 // DecimalLiteral ';'
|
|
&& lk != 27658 // DoubleLiteral ';'
|
|
&& lk != 27659 // StringLiteral ';'
|
|
&& lk != 27680 // '$$' ';'
|
|
&& lk != 27695 // '/' ';'
|
|
&& lk != 27783 // 'false' ';'
|
|
&& lk != 27845 // 'null' ';'
|
|
&& lk != 27903 // 'true' ';'
|
|
&& lk != 91735 // 'break' 'loop'
|
|
&& lk != 91751 // 'continue' 'loop'
|
|
&& lk != 115333 // 'exit' 'returning'
|
|
&& lk != 146952 // IntegerLiteral '}'
|
|
&& lk != 146953 // DecimalLiteral '}'
|
|
&& lk != 146954 // DoubleLiteral '}'
|
|
&& lk != 146955 // StringLiteral '}'
|
|
&& lk != 146976 // '$$' '}'
|
|
&& lk != 146991 // '/' '}'
|
|
&& lk != 147079 // 'false' '}'
|
|
&& lk != 147141 // 'null' '}'
|
|
&& lk != 147199) // 'true' '}'
|
|
{
|
|
lk = memoized(8, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Statement();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(8, e0, lk);
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 54 // ';'
|
|
&& lk != 16140 // 'variable' '$'
|
|
&& lk != 27656 // IntegerLiteral ';'
|
|
&& lk != 27657 // DecimalLiteral ';'
|
|
&& lk != 27658 // DoubleLiteral ';'
|
|
&& lk != 27659 // StringLiteral ';'
|
|
&& lk != 27680 // '$$' ';'
|
|
&& lk != 27695 // '/' ';'
|
|
&& lk != 27783 // 'false' ';'
|
|
&& lk != 27845 // 'null' ';'
|
|
&& lk != 27903 // 'true' ';'
|
|
&& lk != 91735 // 'break' 'loop'
|
|
&& lk != 91751 // 'continue' 'loop'
|
|
&& lk != 115333) // 'exit' 'returning'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Statement();
|
|
}
|
|
eventHandler.endNonterminal("Statements", e0);
|
|
}
|
|
|
|
function try_Statements()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 35: // '('
|
|
lookahead2W(269); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 36: // '(#'
|
|
lookahead2(242); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
break;
|
|
case 47: // '/'
|
|
lookahead2W(285); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 48: // '//'
|
|
lookahead2W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 55: // '<'
|
|
lookahead2(4); // QName
|
|
break;
|
|
case 56: // '<!--'
|
|
lookahead2(1); // DirCommentContents
|
|
break;
|
|
case 60: // '<?'
|
|
lookahead2(3); // PITarget
|
|
break;
|
|
case 69: // '['
|
|
lookahead2W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 78: // 'append'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 133: // 'exit'
|
|
lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
|
|
break;
|
|
case 139: // 'for'
|
|
lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 161: // 'insert'
|
|
lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
|
|
break;
|
|
case 187: // 'namespace'
|
|
lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 223: // 'replace'
|
|
lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
|
|
break;
|
|
case 266: // 'validate'
|
|
lookahead2W(188); // S^WS | '#' | '(' | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
break;
|
|
case 281: // '{'
|
|
lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 283: // '{|'
|
|
lookahead2W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 31: // '$'
|
|
case 33: // '%'
|
|
lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 83: // 'attribute'
|
|
case 122: // 'element'
|
|
lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 87: // 'break'
|
|
case 103: // 'continue'
|
|
lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
|
|
break;
|
|
case 97: // 'comment'
|
|
case 249: // 'text'
|
|
lookahead2W(97); // S^WS | '#' | '(:' | '{'
|
|
break;
|
|
case 111: // 'delete'
|
|
case 222: // 'rename'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 41: // '+'
|
|
case 43: // '-'
|
|
case 196: // 'not'
|
|
lookahead2W(265); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' |
|
|
break;
|
|
case 104: // 'copy'
|
|
case 130: // 'every'
|
|
case 240: // 'some'
|
|
case 268: // 'variable'
|
|
lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
|
|
break;
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 256: // 'try'
|
|
case 262: // 'unordered'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 32: // '$$'
|
|
lookahead2W(209); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '.' | '/' | '//' |
|
|
break;
|
|
case 79: // 'array'
|
|
case 121: // 'document-node'
|
|
case 125: // 'empty-sequence'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 247: // 'structured-item'
|
|
lookahead2W(20); // S^WS | '#' | '(:'
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 76: // 'and'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 94: // 'child'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 132: // 'except'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 147: // 'function'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 154: // 'if'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 189: // 'ne'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 234: // 'self'
|
|
case 239: // 'sliding'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 248: // 'switch'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 259: // 'typeswitch'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 267: // 'value'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 54 // ';'
|
|
&& lk != 287 // '}'
|
|
&& lk != 12808 // IntegerLiteral EOF
|
|
&& lk != 12809 // DecimalLiteral EOF
|
|
&& lk != 12810 // DoubleLiteral EOF
|
|
&& lk != 12811 // StringLiteral EOF
|
|
&& lk != 12832 // '$$' EOF
|
|
&& lk != 12847 // '/' EOF
|
|
&& lk != 12935 // 'false' EOF
|
|
&& lk != 12997 // 'null' EOF
|
|
&& lk != 13055 // 'true' EOF
|
|
&& lk != 16140 // 'variable' '$'
|
|
&& lk != 21512 // IntegerLiteral ','
|
|
&& lk != 21513 // DecimalLiteral ','
|
|
&& lk != 21514 // DoubleLiteral ','
|
|
&& lk != 21515 // StringLiteral ','
|
|
&& lk != 21536 // '$$' ','
|
|
&& lk != 21551 // '/' ','
|
|
&& lk != 21639 // 'false' ','
|
|
&& lk != 21701 // 'null' ','
|
|
&& lk != 21759 // 'true' ','
|
|
&& lk != 27656 // IntegerLiteral ';'
|
|
&& lk != 27657 // DecimalLiteral ';'
|
|
&& lk != 27658 // DoubleLiteral ';'
|
|
&& lk != 27659 // StringLiteral ';'
|
|
&& lk != 27680 // '$$' ';'
|
|
&& lk != 27695 // '/' ';'
|
|
&& lk != 27783 // 'false' ';'
|
|
&& lk != 27845 // 'null' ';'
|
|
&& lk != 27903 // 'true' ';'
|
|
&& lk != 91735 // 'break' 'loop'
|
|
&& lk != 91751 // 'continue' 'loop'
|
|
&& lk != 115333 // 'exit' 'returning'
|
|
&& lk != 146952 // IntegerLiteral '}'
|
|
&& lk != 146953 // DecimalLiteral '}'
|
|
&& lk != 146954 // DoubleLiteral '}'
|
|
&& lk != 146955 // StringLiteral '}'
|
|
&& lk != 146976 // '$$' '}'
|
|
&& lk != 146991 // '/' '}'
|
|
&& lk != 147079 // 'false' '}'
|
|
&& lk != 147141 // 'null' '}'
|
|
&& lk != 147199) // 'true' '}'
|
|
{
|
|
lk = memoized(8, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Statement();
|
|
memoize(8, e0A, -1);
|
|
continue;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(8, e0A, -2);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 54 // ';'
|
|
&& lk != 16140 // 'variable' '$'
|
|
&& lk != 27656 // IntegerLiteral ';'
|
|
&& lk != 27657 // DecimalLiteral ';'
|
|
&& lk != 27658 // DoubleLiteral ';'
|
|
&& lk != 27659 // StringLiteral ';'
|
|
&& lk != 27680 // '$$' ';'
|
|
&& lk != 27695 // '/' ';'
|
|
&& lk != 27783 // 'false' ';'
|
|
&& lk != 27845 // 'null' ';'
|
|
&& lk != 27903 // 'true' ';'
|
|
&& lk != 91735 // 'break' 'loop'
|
|
&& lk != 91751 // 'continue' 'loop'
|
|
&& lk != 115333) // 'exit' 'returning'
|
|
{
|
|
break;
|
|
}
|
|
try_Statement();
|
|
}
|
|
}
|
|
|
|
function parse_StatementsAndExpr()
|
|
{
|
|
eventHandler.startNonterminal("StatementsAndExpr", e0);
|
|
parse_Statements();
|
|
whitespace();
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("StatementsAndExpr", e0);
|
|
}
|
|
|
|
function try_StatementsAndExpr()
|
|
{
|
|
try_Statements();
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_StatementsAndOptionalExpr()
|
|
{
|
|
eventHandler.startNonterminal("StatementsAndOptionalExpr", e0);
|
|
parse_Statements();
|
|
if (l1 != 25 // EOF
|
|
&& l1 != 287) // '}'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
eventHandler.endNonterminal("StatementsAndOptionalExpr", e0);
|
|
}
|
|
|
|
function try_StatementsAndOptionalExpr()
|
|
{
|
|
try_Statements();
|
|
if (l1 != 25 // EOF
|
|
&& l1 != 287) // '}'
|
|
{
|
|
try_Expr();
|
|
}
|
|
}
|
|
|
|
function parse_Statement()
|
|
{
|
|
eventHandler.startNonterminal("Statement", e0);
|
|
switch (l1)
|
|
{
|
|
case 133: // 'exit'
|
|
lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
|
|
break;
|
|
case 139: // 'for'
|
|
lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
|
|
break;
|
|
case 256: // 'try'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 268: // 'variable'
|
|
lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
|
|
break;
|
|
case 281: // '{'
|
|
lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 31: // '$'
|
|
case 33: // '%'
|
|
lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 87: // 'break'
|
|
case 103: // 'continue'
|
|
lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
|
|
break;
|
|
case 154: // 'if'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
case 273: // 'while'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 6 // EQName^Token
|
|
&& lk != 8 // IntegerLiteral
|
|
&& lk != 9 // DecimalLiteral
|
|
&& lk != 10 // DoubleLiteral
|
|
&& lk != 11 // StringLiteral
|
|
&& lk != 32 // '$$'
|
|
&& lk != 35 // '('
|
|
&& lk != 36 // '(#'
|
|
&& lk != 41 // '+'
|
|
&& lk != 43 // '-'
|
|
&& lk != 47 // '/'
|
|
&& lk != 48 // '//'
|
|
&& lk != 54 // ';'
|
|
&& lk != 55 // '<'
|
|
&& lk != 56 // '<!--'
|
|
&& lk != 60 // '<?'
|
|
&& lk != 69 // '['
|
|
&& lk != 71 // 'after'
|
|
&& lk != 73 // 'allowing'
|
|
&& lk != 74 // 'ancestor'
|
|
&& lk != 75 // 'ancestor-or-self'
|
|
&& lk != 76 // 'and'
|
|
&& lk != 78 // 'append'
|
|
&& lk != 79 // 'array'
|
|
&& lk != 80 // 'as'
|
|
&& lk != 81 // 'ascending'
|
|
&& lk != 82 // 'at'
|
|
&& lk != 83 // 'attribute'
|
|
&& lk != 84 // 'base-uri'
|
|
&& lk != 85 // 'before'
|
|
&& lk != 86 // 'boundary-space'
|
|
&& lk != 89 // 'case'
|
|
&& lk != 90 // 'cast'
|
|
&& lk != 91 // 'castable'
|
|
&& lk != 92 // 'catch'
|
|
&& lk != 94 // 'child'
|
|
&& lk != 95 // 'collation'
|
|
&& lk != 97 // 'comment'
|
|
&& lk != 98 // 'constraint'
|
|
&& lk != 99 // 'construction'
|
|
&& lk != 102 // 'context'
|
|
&& lk != 104 // 'copy'
|
|
&& lk != 105 // 'copy-namespaces'
|
|
&& lk != 106 // 'count'
|
|
&& lk != 107 // 'decimal-format'
|
|
&& lk != 109 // 'declare'
|
|
&& lk != 110 // 'default'
|
|
&& lk != 111 // 'delete'
|
|
&& lk != 112 // 'descendant'
|
|
&& lk != 113 // 'descendant-or-self'
|
|
&& lk != 114 // 'descending'
|
|
&& lk != 119 // 'div'
|
|
&& lk != 120 // 'document'
|
|
&& lk != 121 // 'document-node'
|
|
&& lk != 122 // 'element'
|
|
&& lk != 123 // 'else'
|
|
&& lk != 124 // 'empty'
|
|
&& lk != 125 // 'empty-sequence'
|
|
&& lk != 126 // 'encoding'
|
|
&& lk != 127 // 'end'
|
|
&& lk != 129 // 'eq'
|
|
&& lk != 130 // 'every'
|
|
&& lk != 132 // 'except'
|
|
&& lk != 134 // 'external'
|
|
&& lk != 135 // 'false'
|
|
&& lk != 136 // 'first'
|
|
&& lk != 137 // 'following'
|
|
&& lk != 138 // 'following-sibling'
|
|
&& lk != 142 // 'from'
|
|
&& lk != 143 // 'ft-option'
|
|
&& lk != 147 // 'function'
|
|
&& lk != 148 // 'ge'
|
|
&& lk != 150 // 'group'
|
|
&& lk != 152 // 'gt'
|
|
&& lk != 153 // 'idiv'
|
|
&& lk != 155 // 'import'
|
|
&& lk != 156 // 'in'
|
|
&& lk != 157 // 'index'
|
|
&& lk != 161 // 'insert'
|
|
&& lk != 162 // 'instance'
|
|
&& lk != 163 // 'integrity'
|
|
&& lk != 164 // 'intersect'
|
|
&& lk != 165 // 'into'
|
|
&& lk != 166 // 'is'
|
|
&& lk != 167 // 'item'
|
|
&& lk != 168 // 'json'
|
|
&& lk != 169 // 'json-item'
|
|
&& lk != 170 // 'jsoniq'
|
|
&& lk != 173 // 'last'
|
|
&& lk != 174 // 'lax'
|
|
&& lk != 175 // 'le'
|
|
&& lk != 179 // 'loop'
|
|
&& lk != 181 // 'lt'
|
|
&& lk != 183 // 'mod'
|
|
&& lk != 184 // 'modify'
|
|
&& lk != 185 // 'module'
|
|
&& lk != 187 // 'namespace'
|
|
&& lk != 188 // 'namespace-node'
|
|
&& lk != 189 // 'ne'
|
|
&& lk != 194 // 'node'
|
|
&& lk != 195 // 'nodes'
|
|
&& lk != 196 // 'not'
|
|
&& lk != 197 // 'null'
|
|
&& lk != 198 // 'object'
|
|
&& lk != 202 // 'only'
|
|
&& lk != 203 // 'option'
|
|
&& lk != 204 // 'or'
|
|
&& lk != 205 // 'order'
|
|
&& lk != 206 // 'ordered'
|
|
&& lk != 207 // 'ordering'
|
|
&& lk != 210 // 'parent'
|
|
&& lk != 216 // 'preceding'
|
|
&& lk != 217 // 'preceding-sibling'
|
|
&& lk != 220 // 'processing-instruction'
|
|
&& lk != 222 // 'rename'
|
|
&& lk != 223 // 'replace'
|
|
&& lk != 224 // 'return'
|
|
&& lk != 225 // 'returning'
|
|
&& lk != 226 // 'revalidation'
|
|
&& lk != 228 // 'satisfies'
|
|
&& lk != 229 // 'schema'
|
|
&& lk != 230 // 'schema-attribute'
|
|
&& lk != 231 // 'schema-element'
|
|
&& lk != 232 // 'score'
|
|
&& lk != 233 // 'select'
|
|
&& lk != 234 // 'self'
|
|
&& lk != 239 // 'sliding'
|
|
&& lk != 240 // 'some'
|
|
&& lk != 241 // 'stable'
|
|
&& lk != 242 // 'start'
|
|
&& lk != 245 // 'strict'
|
|
&& lk != 247 // 'structured-item'
|
|
&& lk != 249 // 'text'
|
|
&& lk != 253 // 'to'
|
|
&& lk != 254 // 'treat'
|
|
&& lk != 255 // 'true'
|
|
&& lk != 257 // 'tumbling'
|
|
&& lk != 258 // 'type'
|
|
&& lk != 260 // 'union'
|
|
&& lk != 262 // 'unordered'
|
|
&& lk != 263 // 'updating'
|
|
&& lk != 266 // 'validate'
|
|
&& lk != 267 // 'value'
|
|
&& lk != 269 // 'version'
|
|
&& lk != 272 // 'where'
|
|
&& lk != 276 // 'with'
|
|
&& lk != 283 // '{|'
|
|
&& lk != 10009 // '{' NCName^Token
|
|
&& lk != 14935 // 'break' '#'
|
|
&& lk != 14951 // 'continue' '#'
|
|
&& lk != 14981 // 'exit' '#'
|
|
&& lk != 14987 // 'for' '#'
|
|
&& lk != 15002 // 'if' '#'
|
|
&& lk != 15025 // 'let' '#'
|
|
&& lk != 15096 // 'switch' '#'
|
|
&& lk != 15104 // 'try' '#'
|
|
&& lk != 15107 // 'typeswitch' '#'
|
|
&& lk != 15116 // 'variable' '#'
|
|
&& lk != 15121 // 'while' '#'
|
|
&& lk != 16011 // 'for' '$'
|
|
&& lk != 16049 // 'let' '$'
|
|
&& lk != 16140 // 'variable' '$'
|
|
&& lk != 18007 // 'break' '('
|
|
&& lk != 18023 // 'continue' '('
|
|
&& lk != 18053 // 'exit' '('
|
|
&& lk != 18059 // 'for' '('
|
|
&& lk != 18074 // 'if' '('
|
|
&& lk != 18097 // 'let' '('
|
|
&& lk != 18168 // 'switch' '('
|
|
&& lk != 18176 // 'try' '('
|
|
&& lk != 18179 // 'typeswitch' '('
|
|
&& lk != 18188 // 'variable' '('
|
|
&& lk != 91735 // 'break' 'loop'
|
|
&& lk != 91751 // 'continue' 'loop'
|
|
&& lk != 115333 // 'exit' 'returning'
|
|
&& lk != 118961 // 'let' 'score'
|
|
&& lk != 122507 // 'for' 'sliding'
|
|
&& lk != 131723 // 'for' 'tumbling'
|
|
&& lk != 144128 // 'try' '{'
|
|
&& lk != 147225) // '{' '}'
|
|
{
|
|
lk = memoized(9, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ApplyStatement();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_AssignStatement();
|
|
lk = -2;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_BlockStatement();
|
|
lk = -3;
|
|
}
|
|
catch (p3A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_VarDeclStatement();
|
|
lk = -12;
|
|
}
|
|
catch (p12A)
|
|
{
|
|
lk = -13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(9, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -2:
|
|
parse_AssignStatement();
|
|
break;
|
|
case -3:
|
|
parse_BlockStatement();
|
|
break;
|
|
case 91735: // 'break' 'loop'
|
|
parse_BreakStatement();
|
|
break;
|
|
case 91751: // 'continue' 'loop'
|
|
parse_ContinueStatement();
|
|
break;
|
|
case 115333: // 'exit' 'returning'
|
|
parse_ExitStatement();
|
|
break;
|
|
case 16011: // 'for' '$'
|
|
case 16049: // 'let' '$'
|
|
case 118961: // 'let' 'score'
|
|
case 122507: // 'for' 'sliding'
|
|
case 131723: // 'for' 'tumbling'
|
|
parse_FLWORStatement();
|
|
break;
|
|
case 18074: // 'if' '('
|
|
parse_IfStatement();
|
|
break;
|
|
case 18168: // 'switch' '('
|
|
parse_SwitchStatement();
|
|
break;
|
|
case 144128: // 'try' '{'
|
|
parse_TryCatchStatement();
|
|
break;
|
|
case 18179: // 'typeswitch' '('
|
|
parse_TypeswitchStatement();
|
|
break;
|
|
case -12:
|
|
case 16140: // 'variable' '$'
|
|
parse_VarDeclStatement();
|
|
break;
|
|
case -13:
|
|
parse_WhileStatement();
|
|
break;
|
|
case 54: // ';'
|
|
parse_VoidStatement();
|
|
break;
|
|
default:
|
|
parse_ApplyStatement();
|
|
}
|
|
eventHandler.endNonterminal("Statement", e0);
|
|
}
|
|
|
|
function try_Statement()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 133: // 'exit'
|
|
lookahead2W(147); // S^WS | '#' | '(' | '(:' | 'returning'
|
|
break;
|
|
case 139: // 'for'
|
|
lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
|
|
break;
|
|
case 256: // 'try'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 268: // 'variable'
|
|
lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
|
|
break;
|
|
case 281: // '{'
|
|
lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 31: // '$'
|
|
case 33: // '%'
|
|
lookahead2W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 87: // 'break'
|
|
case 103: // 'continue'
|
|
lookahead2W(145); // S^WS | '#' | '(' | '(:' | 'loop'
|
|
break;
|
|
case 154: // 'if'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
case 273: // 'while'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 6 // EQName^Token
|
|
&& lk != 8 // IntegerLiteral
|
|
&& lk != 9 // DecimalLiteral
|
|
&& lk != 10 // DoubleLiteral
|
|
&& lk != 11 // StringLiteral
|
|
&& lk != 32 // '$$'
|
|
&& lk != 35 // '('
|
|
&& lk != 36 // '(#'
|
|
&& lk != 41 // '+'
|
|
&& lk != 43 // '-'
|
|
&& lk != 47 // '/'
|
|
&& lk != 48 // '//'
|
|
&& lk != 54 // ';'
|
|
&& lk != 55 // '<'
|
|
&& lk != 56 // '<!--'
|
|
&& lk != 60 // '<?'
|
|
&& lk != 69 // '['
|
|
&& lk != 71 // 'after'
|
|
&& lk != 73 // 'allowing'
|
|
&& lk != 74 // 'ancestor'
|
|
&& lk != 75 // 'ancestor-or-self'
|
|
&& lk != 76 // 'and'
|
|
&& lk != 78 // 'append'
|
|
&& lk != 79 // 'array'
|
|
&& lk != 80 // 'as'
|
|
&& lk != 81 // 'ascending'
|
|
&& lk != 82 // 'at'
|
|
&& lk != 83 // 'attribute'
|
|
&& lk != 84 // 'base-uri'
|
|
&& lk != 85 // 'before'
|
|
&& lk != 86 // 'boundary-space'
|
|
&& lk != 89 // 'case'
|
|
&& lk != 90 // 'cast'
|
|
&& lk != 91 // 'castable'
|
|
&& lk != 92 // 'catch'
|
|
&& lk != 94 // 'child'
|
|
&& lk != 95 // 'collation'
|
|
&& lk != 97 // 'comment'
|
|
&& lk != 98 // 'constraint'
|
|
&& lk != 99 // 'construction'
|
|
&& lk != 102 // 'context'
|
|
&& lk != 104 // 'copy'
|
|
&& lk != 105 // 'copy-namespaces'
|
|
&& lk != 106 // 'count'
|
|
&& lk != 107 // 'decimal-format'
|
|
&& lk != 109 // 'declare'
|
|
&& lk != 110 // 'default'
|
|
&& lk != 111 // 'delete'
|
|
&& lk != 112 // 'descendant'
|
|
&& lk != 113 // 'descendant-or-self'
|
|
&& lk != 114 // 'descending'
|
|
&& lk != 119 // 'div'
|
|
&& lk != 120 // 'document'
|
|
&& lk != 121 // 'document-node'
|
|
&& lk != 122 // 'element'
|
|
&& lk != 123 // 'else'
|
|
&& lk != 124 // 'empty'
|
|
&& lk != 125 // 'empty-sequence'
|
|
&& lk != 126 // 'encoding'
|
|
&& lk != 127 // 'end'
|
|
&& lk != 129 // 'eq'
|
|
&& lk != 130 // 'every'
|
|
&& lk != 132 // 'except'
|
|
&& lk != 134 // 'external'
|
|
&& lk != 135 // 'false'
|
|
&& lk != 136 // 'first'
|
|
&& lk != 137 // 'following'
|
|
&& lk != 138 // 'following-sibling'
|
|
&& lk != 142 // 'from'
|
|
&& lk != 143 // 'ft-option'
|
|
&& lk != 147 // 'function'
|
|
&& lk != 148 // 'ge'
|
|
&& lk != 150 // 'group'
|
|
&& lk != 152 // 'gt'
|
|
&& lk != 153 // 'idiv'
|
|
&& lk != 155 // 'import'
|
|
&& lk != 156 // 'in'
|
|
&& lk != 157 // 'index'
|
|
&& lk != 161 // 'insert'
|
|
&& lk != 162 // 'instance'
|
|
&& lk != 163 // 'integrity'
|
|
&& lk != 164 // 'intersect'
|
|
&& lk != 165 // 'into'
|
|
&& lk != 166 // 'is'
|
|
&& lk != 167 // 'item'
|
|
&& lk != 168 // 'json'
|
|
&& lk != 169 // 'json-item'
|
|
&& lk != 170 // 'jsoniq'
|
|
&& lk != 173 // 'last'
|
|
&& lk != 174 // 'lax'
|
|
&& lk != 175 // 'le'
|
|
&& lk != 179 // 'loop'
|
|
&& lk != 181 // 'lt'
|
|
&& lk != 183 // 'mod'
|
|
&& lk != 184 // 'modify'
|
|
&& lk != 185 // 'module'
|
|
&& lk != 187 // 'namespace'
|
|
&& lk != 188 // 'namespace-node'
|
|
&& lk != 189 // 'ne'
|
|
&& lk != 194 // 'node'
|
|
&& lk != 195 // 'nodes'
|
|
&& lk != 196 // 'not'
|
|
&& lk != 197 // 'null'
|
|
&& lk != 198 // 'object'
|
|
&& lk != 202 // 'only'
|
|
&& lk != 203 // 'option'
|
|
&& lk != 204 // 'or'
|
|
&& lk != 205 // 'order'
|
|
&& lk != 206 // 'ordered'
|
|
&& lk != 207 // 'ordering'
|
|
&& lk != 210 // 'parent'
|
|
&& lk != 216 // 'preceding'
|
|
&& lk != 217 // 'preceding-sibling'
|
|
&& lk != 220 // 'processing-instruction'
|
|
&& lk != 222 // 'rename'
|
|
&& lk != 223 // 'replace'
|
|
&& lk != 224 // 'return'
|
|
&& lk != 225 // 'returning'
|
|
&& lk != 226 // 'revalidation'
|
|
&& lk != 228 // 'satisfies'
|
|
&& lk != 229 // 'schema'
|
|
&& lk != 230 // 'schema-attribute'
|
|
&& lk != 231 // 'schema-element'
|
|
&& lk != 232 // 'score'
|
|
&& lk != 233 // 'select'
|
|
&& lk != 234 // 'self'
|
|
&& lk != 239 // 'sliding'
|
|
&& lk != 240 // 'some'
|
|
&& lk != 241 // 'stable'
|
|
&& lk != 242 // 'start'
|
|
&& lk != 245 // 'strict'
|
|
&& lk != 247 // 'structured-item'
|
|
&& lk != 249 // 'text'
|
|
&& lk != 253 // 'to'
|
|
&& lk != 254 // 'treat'
|
|
&& lk != 255 // 'true'
|
|
&& lk != 257 // 'tumbling'
|
|
&& lk != 258 // 'type'
|
|
&& lk != 260 // 'union'
|
|
&& lk != 262 // 'unordered'
|
|
&& lk != 263 // 'updating'
|
|
&& lk != 266 // 'validate'
|
|
&& lk != 267 // 'value'
|
|
&& lk != 269 // 'version'
|
|
&& lk != 272 // 'where'
|
|
&& lk != 276 // 'with'
|
|
&& lk != 283 // '{|'
|
|
&& lk != 10009 // '{' NCName^Token
|
|
&& lk != 14935 // 'break' '#'
|
|
&& lk != 14951 // 'continue' '#'
|
|
&& lk != 14981 // 'exit' '#'
|
|
&& lk != 14987 // 'for' '#'
|
|
&& lk != 15002 // 'if' '#'
|
|
&& lk != 15025 // 'let' '#'
|
|
&& lk != 15096 // 'switch' '#'
|
|
&& lk != 15104 // 'try' '#'
|
|
&& lk != 15107 // 'typeswitch' '#'
|
|
&& lk != 15116 // 'variable' '#'
|
|
&& lk != 15121 // 'while' '#'
|
|
&& lk != 16011 // 'for' '$'
|
|
&& lk != 16049 // 'let' '$'
|
|
&& lk != 16140 // 'variable' '$'
|
|
&& lk != 18007 // 'break' '('
|
|
&& lk != 18023 // 'continue' '('
|
|
&& lk != 18053 // 'exit' '('
|
|
&& lk != 18059 // 'for' '('
|
|
&& lk != 18074 // 'if' '('
|
|
&& lk != 18097 // 'let' '('
|
|
&& lk != 18168 // 'switch' '('
|
|
&& lk != 18176 // 'try' '('
|
|
&& lk != 18179 // 'typeswitch' '('
|
|
&& lk != 18188 // 'variable' '('
|
|
&& lk != 91735 // 'break' 'loop'
|
|
&& lk != 91751 // 'continue' 'loop'
|
|
&& lk != 115333 // 'exit' 'returning'
|
|
&& lk != 118961 // 'let' 'score'
|
|
&& lk != 122507 // 'for' 'sliding'
|
|
&& lk != 131723 // 'for' 'tumbling'
|
|
&& lk != 144128 // 'try' '{'
|
|
&& lk != 147225) // '{' '}'
|
|
{
|
|
lk = memoized(9, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ApplyStatement();
|
|
memoize(9, e0A, -1);
|
|
lk = -15;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_AssignStatement();
|
|
memoize(9, e0A, -2);
|
|
lk = -15;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_BlockStatement();
|
|
memoize(9, e0A, -3);
|
|
lk = -15;
|
|
}
|
|
catch (p3A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_VarDeclStatement();
|
|
memoize(9, e0A, -12);
|
|
lk = -15;
|
|
}
|
|
catch (p12A)
|
|
{
|
|
lk = -13;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(9, e0A, -13);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -2:
|
|
try_AssignStatement();
|
|
break;
|
|
case -3:
|
|
try_BlockStatement();
|
|
break;
|
|
case 91735: // 'break' 'loop'
|
|
try_BreakStatement();
|
|
break;
|
|
case 91751: // 'continue' 'loop'
|
|
try_ContinueStatement();
|
|
break;
|
|
case 115333: // 'exit' 'returning'
|
|
try_ExitStatement();
|
|
break;
|
|
case 16011: // 'for' '$'
|
|
case 16049: // 'let' '$'
|
|
case 118961: // 'let' 'score'
|
|
case 122507: // 'for' 'sliding'
|
|
case 131723: // 'for' 'tumbling'
|
|
try_FLWORStatement();
|
|
break;
|
|
case 18074: // 'if' '('
|
|
try_IfStatement();
|
|
break;
|
|
case 18168: // 'switch' '('
|
|
try_SwitchStatement();
|
|
break;
|
|
case 144128: // 'try' '{'
|
|
try_TryCatchStatement();
|
|
break;
|
|
case 18179: // 'typeswitch' '('
|
|
try_TypeswitchStatement();
|
|
break;
|
|
case -12:
|
|
case 16140: // 'variable' '$'
|
|
try_VarDeclStatement();
|
|
break;
|
|
case -13:
|
|
try_WhileStatement();
|
|
break;
|
|
case 54: // ';'
|
|
try_VoidStatement();
|
|
break;
|
|
case -15:
|
|
break;
|
|
default:
|
|
try_ApplyStatement();
|
|
}
|
|
}
|
|
|
|
function parse_ApplyStatement()
|
|
{
|
|
eventHandler.startNonterminal("ApplyStatement", e0);
|
|
parse_ExprSimple();
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("ApplyStatement", e0);
|
|
}
|
|
|
|
function try_ApplyStatement()
|
|
{
|
|
try_ExprSimple();
|
|
shiftT(54); // ';'
|
|
}
|
|
|
|
function parse_AssignStatement()
|
|
{
|
|
eventHandler.startNonterminal("AssignStatement", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("AssignStatement", e0);
|
|
}
|
|
|
|
function try_AssignStatement()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(28); // S^WS | '(:' | ':='
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(54); // ';'
|
|
}
|
|
|
|
function parse_BlockStatement()
|
|
{
|
|
eventHandler.startNonterminal("BlockStatement", e0);
|
|
shift(281); // '{'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statements();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("BlockStatement", e0);
|
|
}
|
|
|
|
function try_BlockStatement()
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statements();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_BreakStatement()
|
|
{
|
|
eventHandler.startNonterminal("BreakStatement", e0);
|
|
shift(87); // 'break'
|
|
lookahead1W(62); // S^WS | '(:' | 'loop'
|
|
shift(179); // 'loop'
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("BreakStatement", e0);
|
|
}
|
|
|
|
function try_BreakStatement()
|
|
{
|
|
shiftT(87); // 'break'
|
|
lookahead1W(62); // S^WS | '(:' | 'loop'
|
|
shiftT(179); // 'loop'
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
shiftT(54); // ';'
|
|
}
|
|
|
|
function parse_ContinueStatement()
|
|
{
|
|
eventHandler.startNonterminal("ContinueStatement", e0);
|
|
shift(103); // 'continue'
|
|
lookahead1W(62); // S^WS | '(:' | 'loop'
|
|
shift(179); // 'loop'
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("ContinueStatement", e0);
|
|
}
|
|
|
|
function try_ContinueStatement()
|
|
{
|
|
shiftT(103); // 'continue'
|
|
lookahead1W(62); // S^WS | '(:' | 'loop'
|
|
shiftT(179); // 'loop'
|
|
lookahead1W(29); // S^WS | '(:' | ';'
|
|
shiftT(54); // ';'
|
|
}
|
|
|
|
function parse_ExitStatement()
|
|
{
|
|
eventHandler.startNonterminal("ExitStatement", e0);
|
|
shift(133); // 'exit'
|
|
lookahead1W(74); // S^WS | '(:' | 'returning'
|
|
shift(225); // 'returning'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("ExitStatement", e0);
|
|
}
|
|
|
|
function try_ExitStatement()
|
|
{
|
|
shiftT(133); // 'exit'
|
|
lookahead1W(74); // S^WS | '(:' | 'returning'
|
|
shiftT(225); // 'returning'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(54); // ';'
|
|
}
|
|
|
|
function parse_FLWORStatement()
|
|
{
|
|
eventHandler.startNonterminal("FLWORStatement", e0);
|
|
parse_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 224) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_IntermediateClause();
|
|
}
|
|
whitespace();
|
|
parse_ReturnStatement();
|
|
eventHandler.endNonterminal("FLWORStatement", e0);
|
|
}
|
|
|
|
function try_FLWORStatement()
|
|
{
|
|
try_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(195); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 224) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
try_IntermediateClause();
|
|
}
|
|
try_ReturnStatement();
|
|
}
|
|
|
|
function parse_ReturnStatement()
|
|
{
|
|
eventHandler.startNonterminal("ReturnStatement", e0);
|
|
shift(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("ReturnStatement", e0);
|
|
}
|
|
|
|
function try_ReturnStatement()
|
|
{
|
|
shiftT(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_IfStatement()
|
|
{
|
|
eventHandler.startNonterminal("IfStatement", e0);
|
|
shift(154); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(38); // ')'
|
|
lookahead1W(80); // S^WS | '(:' | 'then'
|
|
shift(250); // 'then'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
lookahead1W(51); // S^WS | '(:' | 'else'
|
|
shift(123); // 'else'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("IfStatement", e0);
|
|
}
|
|
|
|
function try_IfStatement()
|
|
{
|
|
shiftT(154); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(38); // ')'
|
|
lookahead1W(80); // S^WS | '(:' | 'then'
|
|
shiftT(250); // 'then'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
lookahead1W(51); // S^WS | '(:' | 'else'
|
|
shiftT(123); // 'else'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_SwitchStatement()
|
|
{
|
|
eventHandler.startNonterminal("SwitchStatement", e0);
|
|
shift(248); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_SwitchCaseStatement();
|
|
lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(110); // 'default'
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shift(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("SwitchStatement", e0);
|
|
}
|
|
|
|
function try_SwitchStatement()
|
|
{
|
|
shiftT(248); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
try_SwitchCaseStatement();
|
|
lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(110); // 'default'
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shiftT(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_SwitchCaseStatement()
|
|
{
|
|
eventHandler.startNonterminal("SwitchCaseStatement", e0);
|
|
for (;;)
|
|
{
|
|
shift(89); // 'case'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_SwitchCaseOperand();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("SwitchCaseStatement", e0);
|
|
}
|
|
|
|
function try_SwitchCaseStatement()
|
|
{
|
|
for (;;)
|
|
{
|
|
shiftT(89); // 'case'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_SwitchCaseOperand();
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_TryCatchStatement()
|
|
{
|
|
eventHandler.startNonterminal("TryCatchStatement", e0);
|
|
shift(256); // 'try'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockStatement();
|
|
for (;;)
|
|
{
|
|
lookahead1W(39); // S^WS | '(:' | 'catch'
|
|
shift(92); // 'catch'
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_CatchErrorList();
|
|
whitespace();
|
|
parse_BlockStatement();
|
|
lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 92: // 'catch'
|
|
lookahead2W(255); // Wildcard | EQName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 2652 // 'catch' Wildcard
|
|
&& lk != 3164 // 'catch' EQName^Token
|
|
&& lk != 36444 // 'catch' 'after'
|
|
&& lk != 37468 // 'catch' 'allowing'
|
|
&& lk != 37980 // 'catch' 'ancestor'
|
|
&& lk != 38492 // 'catch' 'ancestor-or-self'
|
|
&& lk != 39004 // 'catch' 'and'
|
|
&& lk != 40028 // 'catch' 'append'
|
|
&& lk != 40540 // 'catch' 'array'
|
|
&& lk != 41052 // 'catch' 'as'
|
|
&& lk != 41564 // 'catch' 'ascending'
|
|
&& lk != 42076 // 'catch' 'at'
|
|
&& lk != 42588 // 'catch' 'attribute'
|
|
&& lk != 43100 // 'catch' 'base-uri'
|
|
&& lk != 43612 // 'catch' 'before'
|
|
&& lk != 44124 // 'catch' 'boundary-space'
|
|
&& lk != 44636 // 'catch' 'break'
|
|
&& lk != 45660 // 'catch' 'case'
|
|
&& lk != 46172 // 'catch' 'cast'
|
|
&& lk != 46684 // 'catch' 'castable'
|
|
&& lk != 47196 // 'catch' 'catch'
|
|
&& lk != 48220 // 'catch' 'child'
|
|
&& lk != 48732 // 'catch' 'collation'
|
|
&& lk != 49756 // 'catch' 'comment'
|
|
&& lk != 50268 // 'catch' 'constraint'
|
|
&& lk != 50780 // 'catch' 'construction'
|
|
&& lk != 52316 // 'catch' 'context'
|
|
&& lk != 52828 // 'catch' 'continue'
|
|
&& lk != 53340 // 'catch' 'copy'
|
|
&& lk != 53852 // 'catch' 'copy-namespaces'
|
|
&& lk != 54364 // 'catch' 'count'
|
|
&& lk != 54876 // 'catch' 'decimal-format'
|
|
&& lk != 55900 // 'catch' 'declare'
|
|
&& lk != 56412 // 'catch' 'default'
|
|
&& lk != 56924 // 'catch' 'delete'
|
|
&& lk != 57436 // 'catch' 'descendant'
|
|
&& lk != 57948 // 'catch' 'descendant-or-self'
|
|
&& lk != 58460 // 'catch' 'descending'
|
|
&& lk != 61020 // 'catch' 'div'
|
|
&& lk != 61532 // 'catch' 'document'
|
|
&& lk != 62044 // 'catch' 'document-node'
|
|
&& lk != 62556 // 'catch' 'element'
|
|
&& lk != 63068 // 'catch' 'else'
|
|
&& lk != 63580 // 'catch' 'empty'
|
|
&& lk != 64092 // 'catch' 'empty-sequence'
|
|
&& lk != 64604 // 'catch' 'encoding'
|
|
&& lk != 65116 // 'catch' 'end'
|
|
&& lk != 66140 // 'catch' 'eq'
|
|
&& lk != 66652 // 'catch' 'every'
|
|
&& lk != 67676 // 'catch' 'except'
|
|
&& lk != 68188 // 'catch' 'exit'
|
|
&& lk != 68700 // 'catch' 'external'
|
|
&& lk != 69212 // 'catch' 'false'
|
|
&& lk != 69724 // 'catch' 'first'
|
|
&& lk != 70236 // 'catch' 'following'
|
|
&& lk != 70748 // 'catch' 'following-sibling'
|
|
&& lk != 71260 // 'catch' 'for'
|
|
&& lk != 72796 // 'catch' 'from'
|
|
&& lk != 73308 // 'catch' 'ft-option'
|
|
&& lk != 75356 // 'catch' 'function'
|
|
&& lk != 75868 // 'catch' 'ge'
|
|
&& lk != 76892 // 'catch' 'group'
|
|
&& lk != 77916 // 'catch' 'gt'
|
|
&& lk != 78428 // 'catch' 'idiv'
|
|
&& lk != 78940 // 'catch' 'if'
|
|
&& lk != 79452 // 'catch' 'import'
|
|
&& lk != 79964 // 'catch' 'in'
|
|
&& lk != 80476 // 'catch' 'index'
|
|
&& lk != 82524 // 'catch' 'insert'
|
|
&& lk != 83036 // 'catch' 'instance'
|
|
&& lk != 83548 // 'catch' 'integrity'
|
|
&& lk != 84060 // 'catch' 'intersect'
|
|
&& lk != 84572 // 'catch' 'into'
|
|
&& lk != 85084 // 'catch' 'is'
|
|
&& lk != 85596 // 'catch' 'item'
|
|
&& lk != 86108 // 'catch' 'json'
|
|
&& lk != 86620 // 'catch' 'json-item'
|
|
&& lk != 87132 // 'catch' 'jsoniq'
|
|
&& lk != 88668 // 'catch' 'last'
|
|
&& lk != 89180 // 'catch' 'lax'
|
|
&& lk != 89692 // 'catch' 'le'
|
|
&& lk != 90716 // 'catch' 'let'
|
|
&& lk != 91740 // 'catch' 'loop'
|
|
&& lk != 92764 // 'catch' 'lt'
|
|
&& lk != 93788 // 'catch' 'mod'
|
|
&& lk != 94300 // 'catch' 'modify'
|
|
&& lk != 94812 // 'catch' 'module'
|
|
&& lk != 95836 // 'catch' 'namespace'
|
|
&& lk != 96348 // 'catch' 'namespace-node'
|
|
&& lk != 96860 // 'catch' 'ne'
|
|
&& lk != 99420 // 'catch' 'node'
|
|
&& lk != 99932 // 'catch' 'nodes'
|
|
&& lk != 100956 // 'catch' 'null'
|
|
&& lk != 101468 // 'catch' 'object'
|
|
&& lk != 103516 // 'catch' 'only'
|
|
&& lk != 104028 // 'catch' 'option'
|
|
&& lk != 104540 // 'catch' 'or'
|
|
&& lk != 105052 // 'catch' 'order'
|
|
&& lk != 105564 // 'catch' 'ordered'
|
|
&& lk != 106076 // 'catch' 'ordering'
|
|
&& lk != 107612 // 'catch' 'parent'
|
|
&& lk != 110684 // 'catch' 'preceding'
|
|
&& lk != 111196 // 'catch' 'preceding-sibling'
|
|
&& lk != 112732 // 'catch' 'processing-instruction'
|
|
&& lk != 113756 // 'catch' 'rename'
|
|
&& lk != 114268 // 'catch' 'replace'
|
|
&& lk != 114780 // 'catch' 'return'
|
|
&& lk != 115292 // 'catch' 'returning'
|
|
&& lk != 115804 // 'catch' 'revalidation'
|
|
&& lk != 116828 // 'catch' 'satisfies'
|
|
&& lk != 117340 // 'catch' 'schema'
|
|
&& lk != 117852 // 'catch' 'schema-attribute'
|
|
&& lk != 118364 // 'catch' 'schema-element'
|
|
&& lk != 118876 // 'catch' 'score'
|
|
&& lk != 119388 // 'catch' 'select'
|
|
&& lk != 119900 // 'catch' 'self'
|
|
&& lk != 122460 // 'catch' 'sliding'
|
|
&& lk != 122972 // 'catch' 'some'
|
|
&& lk != 123484 // 'catch' 'stable'
|
|
&& lk != 123996 // 'catch' 'start'
|
|
&& lk != 125532 // 'catch' 'strict'
|
|
&& lk != 126556 // 'catch' 'structured-item'
|
|
&& lk != 127068 // 'catch' 'switch'
|
|
&& lk != 127580 // 'catch' 'text'
|
|
&& lk != 129628 // 'catch' 'to'
|
|
&& lk != 130140 // 'catch' 'treat'
|
|
&& lk != 130652 // 'catch' 'true'
|
|
&& lk != 131164 // 'catch' 'try'
|
|
&& lk != 131676 // 'catch' 'tumbling'
|
|
&& lk != 132188 // 'catch' 'type'
|
|
&& lk != 132700 // 'catch' 'typeswitch'
|
|
&& lk != 133212 // 'catch' 'union'
|
|
&& lk != 134236 // 'catch' 'unordered'
|
|
&& lk != 134748 // 'catch' 'updating'
|
|
&& lk != 136284 // 'catch' 'validate'
|
|
&& lk != 136796 // 'catch' 'value'
|
|
&& lk != 137308 // 'catch' 'variable'
|
|
&& lk != 137820 // 'catch' 'version'
|
|
&& lk != 139356 // 'catch' 'where'
|
|
&& lk != 139868 // 'catch' 'while'
|
|
&& lk != 141404) // 'catch' 'with'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("TryCatchStatement", e0);
|
|
}
|
|
|
|
function try_TryCatchStatement()
|
|
{
|
|
shiftT(256); // 'try'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
try_BlockStatement();
|
|
for (;;)
|
|
{
|
|
lookahead1W(39); // S^WS | '(:' | 'catch'
|
|
shiftT(92); // 'catch'
|
|
lookahead1W(248); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CatchErrorList();
|
|
try_BlockStatement();
|
|
lookahead1W(283); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 92: // 'catch'
|
|
lookahead2W(255); // Wildcard | EQName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 2652 // 'catch' Wildcard
|
|
&& lk != 3164 // 'catch' EQName^Token
|
|
&& lk != 36444 // 'catch' 'after'
|
|
&& lk != 37468 // 'catch' 'allowing'
|
|
&& lk != 37980 // 'catch' 'ancestor'
|
|
&& lk != 38492 // 'catch' 'ancestor-or-self'
|
|
&& lk != 39004 // 'catch' 'and'
|
|
&& lk != 40028 // 'catch' 'append'
|
|
&& lk != 40540 // 'catch' 'array'
|
|
&& lk != 41052 // 'catch' 'as'
|
|
&& lk != 41564 // 'catch' 'ascending'
|
|
&& lk != 42076 // 'catch' 'at'
|
|
&& lk != 42588 // 'catch' 'attribute'
|
|
&& lk != 43100 // 'catch' 'base-uri'
|
|
&& lk != 43612 // 'catch' 'before'
|
|
&& lk != 44124 // 'catch' 'boundary-space'
|
|
&& lk != 44636 // 'catch' 'break'
|
|
&& lk != 45660 // 'catch' 'case'
|
|
&& lk != 46172 // 'catch' 'cast'
|
|
&& lk != 46684 // 'catch' 'castable'
|
|
&& lk != 47196 // 'catch' 'catch'
|
|
&& lk != 48220 // 'catch' 'child'
|
|
&& lk != 48732 // 'catch' 'collation'
|
|
&& lk != 49756 // 'catch' 'comment'
|
|
&& lk != 50268 // 'catch' 'constraint'
|
|
&& lk != 50780 // 'catch' 'construction'
|
|
&& lk != 52316 // 'catch' 'context'
|
|
&& lk != 52828 // 'catch' 'continue'
|
|
&& lk != 53340 // 'catch' 'copy'
|
|
&& lk != 53852 // 'catch' 'copy-namespaces'
|
|
&& lk != 54364 // 'catch' 'count'
|
|
&& lk != 54876 // 'catch' 'decimal-format'
|
|
&& lk != 55900 // 'catch' 'declare'
|
|
&& lk != 56412 // 'catch' 'default'
|
|
&& lk != 56924 // 'catch' 'delete'
|
|
&& lk != 57436 // 'catch' 'descendant'
|
|
&& lk != 57948 // 'catch' 'descendant-or-self'
|
|
&& lk != 58460 // 'catch' 'descending'
|
|
&& lk != 61020 // 'catch' 'div'
|
|
&& lk != 61532 // 'catch' 'document'
|
|
&& lk != 62044 // 'catch' 'document-node'
|
|
&& lk != 62556 // 'catch' 'element'
|
|
&& lk != 63068 // 'catch' 'else'
|
|
&& lk != 63580 // 'catch' 'empty'
|
|
&& lk != 64092 // 'catch' 'empty-sequence'
|
|
&& lk != 64604 // 'catch' 'encoding'
|
|
&& lk != 65116 // 'catch' 'end'
|
|
&& lk != 66140 // 'catch' 'eq'
|
|
&& lk != 66652 // 'catch' 'every'
|
|
&& lk != 67676 // 'catch' 'except'
|
|
&& lk != 68188 // 'catch' 'exit'
|
|
&& lk != 68700 // 'catch' 'external'
|
|
&& lk != 69212 // 'catch' 'false'
|
|
&& lk != 69724 // 'catch' 'first'
|
|
&& lk != 70236 // 'catch' 'following'
|
|
&& lk != 70748 // 'catch' 'following-sibling'
|
|
&& lk != 71260 // 'catch' 'for'
|
|
&& lk != 72796 // 'catch' 'from'
|
|
&& lk != 73308 // 'catch' 'ft-option'
|
|
&& lk != 75356 // 'catch' 'function'
|
|
&& lk != 75868 // 'catch' 'ge'
|
|
&& lk != 76892 // 'catch' 'group'
|
|
&& lk != 77916 // 'catch' 'gt'
|
|
&& lk != 78428 // 'catch' 'idiv'
|
|
&& lk != 78940 // 'catch' 'if'
|
|
&& lk != 79452 // 'catch' 'import'
|
|
&& lk != 79964 // 'catch' 'in'
|
|
&& lk != 80476 // 'catch' 'index'
|
|
&& lk != 82524 // 'catch' 'insert'
|
|
&& lk != 83036 // 'catch' 'instance'
|
|
&& lk != 83548 // 'catch' 'integrity'
|
|
&& lk != 84060 // 'catch' 'intersect'
|
|
&& lk != 84572 // 'catch' 'into'
|
|
&& lk != 85084 // 'catch' 'is'
|
|
&& lk != 85596 // 'catch' 'item'
|
|
&& lk != 86108 // 'catch' 'json'
|
|
&& lk != 86620 // 'catch' 'json-item'
|
|
&& lk != 87132 // 'catch' 'jsoniq'
|
|
&& lk != 88668 // 'catch' 'last'
|
|
&& lk != 89180 // 'catch' 'lax'
|
|
&& lk != 89692 // 'catch' 'le'
|
|
&& lk != 90716 // 'catch' 'let'
|
|
&& lk != 91740 // 'catch' 'loop'
|
|
&& lk != 92764 // 'catch' 'lt'
|
|
&& lk != 93788 // 'catch' 'mod'
|
|
&& lk != 94300 // 'catch' 'modify'
|
|
&& lk != 94812 // 'catch' 'module'
|
|
&& lk != 95836 // 'catch' 'namespace'
|
|
&& lk != 96348 // 'catch' 'namespace-node'
|
|
&& lk != 96860 // 'catch' 'ne'
|
|
&& lk != 99420 // 'catch' 'node'
|
|
&& lk != 99932 // 'catch' 'nodes'
|
|
&& lk != 100956 // 'catch' 'null'
|
|
&& lk != 101468 // 'catch' 'object'
|
|
&& lk != 103516 // 'catch' 'only'
|
|
&& lk != 104028 // 'catch' 'option'
|
|
&& lk != 104540 // 'catch' 'or'
|
|
&& lk != 105052 // 'catch' 'order'
|
|
&& lk != 105564 // 'catch' 'ordered'
|
|
&& lk != 106076 // 'catch' 'ordering'
|
|
&& lk != 107612 // 'catch' 'parent'
|
|
&& lk != 110684 // 'catch' 'preceding'
|
|
&& lk != 111196 // 'catch' 'preceding-sibling'
|
|
&& lk != 112732 // 'catch' 'processing-instruction'
|
|
&& lk != 113756 // 'catch' 'rename'
|
|
&& lk != 114268 // 'catch' 'replace'
|
|
&& lk != 114780 // 'catch' 'return'
|
|
&& lk != 115292 // 'catch' 'returning'
|
|
&& lk != 115804 // 'catch' 'revalidation'
|
|
&& lk != 116828 // 'catch' 'satisfies'
|
|
&& lk != 117340 // 'catch' 'schema'
|
|
&& lk != 117852 // 'catch' 'schema-attribute'
|
|
&& lk != 118364 // 'catch' 'schema-element'
|
|
&& lk != 118876 // 'catch' 'score'
|
|
&& lk != 119388 // 'catch' 'select'
|
|
&& lk != 119900 // 'catch' 'self'
|
|
&& lk != 122460 // 'catch' 'sliding'
|
|
&& lk != 122972 // 'catch' 'some'
|
|
&& lk != 123484 // 'catch' 'stable'
|
|
&& lk != 123996 // 'catch' 'start'
|
|
&& lk != 125532 // 'catch' 'strict'
|
|
&& lk != 126556 // 'catch' 'structured-item'
|
|
&& lk != 127068 // 'catch' 'switch'
|
|
&& lk != 127580 // 'catch' 'text'
|
|
&& lk != 129628 // 'catch' 'to'
|
|
&& lk != 130140 // 'catch' 'treat'
|
|
&& lk != 130652 // 'catch' 'true'
|
|
&& lk != 131164 // 'catch' 'try'
|
|
&& lk != 131676 // 'catch' 'tumbling'
|
|
&& lk != 132188 // 'catch' 'type'
|
|
&& lk != 132700 // 'catch' 'typeswitch'
|
|
&& lk != 133212 // 'catch' 'union'
|
|
&& lk != 134236 // 'catch' 'unordered'
|
|
&& lk != 134748 // 'catch' 'updating'
|
|
&& lk != 136284 // 'catch' 'validate'
|
|
&& lk != 136796 // 'catch' 'value'
|
|
&& lk != 137308 // 'catch' 'variable'
|
|
&& lk != 137820 // 'catch' 'version'
|
|
&& lk != 139356 // 'catch' 'where'
|
|
&& lk != 139868 // 'catch' 'while'
|
|
&& lk != 141404) // 'catch' 'with'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_TypeswitchStatement()
|
|
{
|
|
eventHandler.startNonterminal("TypeswitchStatement", e0);
|
|
shift(259); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_CaseStatement();
|
|
lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(110); // 'default'
|
|
lookahead1W(99); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
}
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shift(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("TypeswitchStatement", e0);
|
|
}
|
|
|
|
function try_TypeswitchStatement()
|
|
{
|
|
shiftT(259); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(38); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(38); // S^WS | '(:' | 'case'
|
|
try_CaseStatement();
|
|
lookahead1W(117); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 89) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(110); // 'default'
|
|
lookahead1W(99); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shiftT(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_CaseStatement()
|
|
{
|
|
eventHandler.startNonterminal("CaseStatement", e0);
|
|
shift(89); // 'case'
|
|
lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shift(80); // 'as'
|
|
}
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shift(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("CaseStatement", e0);
|
|
}
|
|
|
|
function try_CaseStatement()
|
|
{
|
|
shiftT(89); // 'case'
|
|
lookahead1W(257); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(33); // S^WS | '(:' | 'as'
|
|
shiftT(80); // 'as'
|
|
}
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
lookahead1W(73); // S^WS | '(:' | 'return'
|
|
shiftT(224); // 'return'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_VarDeclStatement()
|
|
{
|
|
eventHandler.startNonterminal("VarDeclStatement", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(102); // S^WS | '%' | '(:' | 'variable'
|
|
if (l1 != 33) // '%'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
shift(268); // 'variable'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 53) // ':='
|
|
{
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 53) // ':='
|
|
{
|
|
shift(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
}
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("VarDeclStatement", e0);
|
|
}
|
|
|
|
function try_VarDeclStatement()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(102); // S^WS | '%' | '(:' | 'variable'
|
|
if (l1 != 33) // '%'
|
|
{
|
|
break;
|
|
}
|
|
try_Annotation();
|
|
}
|
|
shiftT(268); // 'variable'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 53) // ':='
|
|
{
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(172); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(155); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 53) // ':='
|
|
{
|
|
shiftT(53); // ':='
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
shiftT(54); // ';'
|
|
}
|
|
|
|
function parse_WhileStatement()
|
|
{
|
|
eventHandler.startNonterminal("WhileStatement", e0);
|
|
shift(273); // 'while'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(38); // ')'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("WhileStatement", e0);
|
|
}
|
|
|
|
function try_WhileStatement()
|
|
{
|
|
shiftT(273); // 'while'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(35); // '('
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(38); // ')'
|
|
lookahead1W(270); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_VoidStatement()
|
|
{
|
|
eventHandler.startNonterminal("VoidStatement", e0);
|
|
shift(54); // ';'
|
|
eventHandler.endNonterminal("VoidStatement", e0);
|
|
}
|
|
|
|
function try_VoidStatement()
|
|
{
|
|
shiftT(54); // ';'
|
|
}
|
|
|
|
function parse_ExprSingle()
|
|
{
|
|
eventHandler.startNonterminal("ExprSingle", e0);
|
|
switch (l1)
|
|
{
|
|
case 139: // 'for'
|
|
lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
|
|
break;
|
|
case 256: // 'try'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 154: // 'if'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16011: // 'for' '$'
|
|
case 16049: // 'let' '$'
|
|
case 118961: // 'let' 'score'
|
|
case 122507: // 'for' 'sliding'
|
|
case 131723: // 'for' 'tumbling'
|
|
parse_FLWORExpr();
|
|
break;
|
|
case 18074: // 'if' '('
|
|
parse_IfExpr();
|
|
break;
|
|
case 18168: // 'switch' '('
|
|
parse_SwitchExpr();
|
|
break;
|
|
case 144128: // 'try' '{'
|
|
parse_TryCatchExpr();
|
|
break;
|
|
case 18179: // 'typeswitch' '('
|
|
parse_TypeswitchExpr();
|
|
break;
|
|
default:
|
|
parse_ExprSimple();
|
|
}
|
|
eventHandler.endNonterminal("ExprSingle", e0);
|
|
}
|
|
|
|
function try_ExprSingle()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 139: // 'for'
|
|
lookahead2W(179); // S^WS | '#' | '$' | '(' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(166); // S^WS | '#' | '$' | '(' | '(:' | 'score'
|
|
break;
|
|
case 256: // 'try'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 154: // 'if'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16011: // 'for' '$'
|
|
case 16049: // 'let' '$'
|
|
case 118961: // 'let' 'score'
|
|
case 122507: // 'for' 'sliding'
|
|
case 131723: // 'for' 'tumbling'
|
|
try_FLWORExpr();
|
|
break;
|
|
case 18074: // 'if' '('
|
|
try_IfExpr();
|
|
break;
|
|
case 18168: // 'switch' '('
|
|
try_SwitchExpr();
|
|
break;
|
|
case 144128: // 'try' '{'
|
|
try_TryCatchExpr();
|
|
break;
|
|
case 18179: // 'typeswitch' '('
|
|
try_TypeswitchExpr();
|
|
break;
|
|
default:
|
|
try_ExprSimple();
|
|
}
|
|
}
|
|
|
|
function parse_ExprSimple()
|
|
{
|
|
eventHandler.startNonterminal("ExprSimple", e0);
|
|
switch (l1)
|
|
{
|
|
case 78: // 'append'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 161: // 'insert'
|
|
lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 223: // 'replace'
|
|
lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
|
|
break;
|
|
case 111: // 'delete'
|
|
case 222: // 'rename'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 104: // 'copy'
|
|
case 130: // 'every'
|
|
case 240: // 'some'
|
|
lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 17998 // 'append' '('
|
|
|| lk == 18031 // 'delete' '('
|
|
|| lk == 18081 // 'insert' '('
|
|
|| lk == 18142 // 'rename' '('
|
|
|| lk == 99439 // 'delete' 'node'
|
|
|| lk == 99489 // 'insert' 'node'
|
|
|| lk == 99550 // 'rename' 'node'
|
|
|| lk == 99951 // 'delete' 'nodes'
|
|
|| lk == 100001 // 'insert' 'nodes'
|
|
|| lk == 136927) // 'replace' 'value'
|
|
{
|
|
lk = memoized(10, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_OrExpr();
|
|
lk = -2;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_InsertExpr();
|
|
lk = -3;
|
|
}
|
|
catch (p3A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_DeleteExpr();
|
|
lk = -4;
|
|
}
|
|
catch (p4A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_RenameExpr();
|
|
lk = -5;
|
|
}
|
|
catch (p5A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_ReplaceExpr();
|
|
lk = -6;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONDeleteExpr();
|
|
lk = -8;
|
|
}
|
|
catch (p8A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONInsertExpr();
|
|
lk = -9;
|
|
}
|
|
catch (p9A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONRenameExpr();
|
|
lk = -10;
|
|
}
|
|
catch (p10A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONReplaceExpr();
|
|
lk = -11;
|
|
}
|
|
catch (p11A)
|
|
{
|
|
lk = -12;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(10, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16002: // 'every' '$'
|
|
case 16112: // 'some' '$'
|
|
parse_QuantifiedExpr();
|
|
break;
|
|
case -3:
|
|
parse_InsertExpr();
|
|
break;
|
|
case -4:
|
|
parse_DeleteExpr();
|
|
break;
|
|
case -5:
|
|
parse_RenameExpr();
|
|
break;
|
|
case -6:
|
|
case 99551: // 'replace' 'node'
|
|
parse_ReplaceExpr();
|
|
break;
|
|
case 15976: // 'copy' '$'
|
|
parse_TransformExpr();
|
|
break;
|
|
case -8:
|
|
case 3183: // 'delete' EQName^Token
|
|
case 4207: // 'delete' IntegerLiteral
|
|
case 4719: // 'delete' DecimalLiteral
|
|
case 5231: // 'delete' DoubleLiteral
|
|
case 5743: // 'delete' StringLiteral
|
|
case 15983: // 'delete' '$'
|
|
case 16495: // 'delete' '$$'
|
|
case 17007: // 'delete' '%'
|
|
case 28271: // 'delete' '<'
|
|
case 28783: // 'delete' '<!--'
|
|
case 30831: // 'delete' '<?'
|
|
case 35439: // 'delete' '['
|
|
case 36463: // 'delete' 'after'
|
|
case 37487: // 'delete' 'allowing'
|
|
case 37999: // 'delete' 'ancestor'
|
|
case 38511: // 'delete' 'ancestor-or-self'
|
|
case 39023: // 'delete' 'and'
|
|
case 40047: // 'delete' 'append'
|
|
case 40559: // 'delete' 'array'
|
|
case 41071: // 'delete' 'as'
|
|
case 41583: // 'delete' 'ascending'
|
|
case 42095: // 'delete' 'at'
|
|
case 42607: // 'delete' 'attribute'
|
|
case 43119: // 'delete' 'base-uri'
|
|
case 43631: // 'delete' 'before'
|
|
case 44143: // 'delete' 'boundary-space'
|
|
case 44655: // 'delete' 'break'
|
|
case 45679: // 'delete' 'case'
|
|
case 46191: // 'delete' 'cast'
|
|
case 46703: // 'delete' 'castable'
|
|
case 47215: // 'delete' 'catch'
|
|
case 48239: // 'delete' 'child'
|
|
case 48751: // 'delete' 'collation'
|
|
case 49775: // 'delete' 'comment'
|
|
case 50287: // 'delete' 'constraint'
|
|
case 50799: // 'delete' 'construction'
|
|
case 52335: // 'delete' 'context'
|
|
case 52847: // 'delete' 'continue'
|
|
case 53359: // 'delete' 'copy'
|
|
case 53871: // 'delete' 'copy-namespaces'
|
|
case 54383: // 'delete' 'count'
|
|
case 54895: // 'delete' 'decimal-format'
|
|
case 55919: // 'delete' 'declare'
|
|
case 56431: // 'delete' 'default'
|
|
case 56943: // 'delete' 'delete'
|
|
case 57455: // 'delete' 'descendant'
|
|
case 57967: // 'delete' 'descendant-or-self'
|
|
case 58479: // 'delete' 'descending'
|
|
case 61039: // 'delete' 'div'
|
|
case 61551: // 'delete' 'document'
|
|
case 62063: // 'delete' 'document-node'
|
|
case 62575: // 'delete' 'element'
|
|
case 63087: // 'delete' 'else'
|
|
case 63599: // 'delete' 'empty'
|
|
case 64111: // 'delete' 'empty-sequence'
|
|
case 64623: // 'delete' 'encoding'
|
|
case 65135: // 'delete' 'end'
|
|
case 66159: // 'delete' 'eq'
|
|
case 66671: // 'delete' 'every'
|
|
case 67695: // 'delete' 'except'
|
|
case 68207: // 'delete' 'exit'
|
|
case 68719: // 'delete' 'external'
|
|
case 69231: // 'delete' 'false'
|
|
case 69743: // 'delete' 'first'
|
|
case 70255: // 'delete' 'following'
|
|
case 70767: // 'delete' 'following-sibling'
|
|
case 71279: // 'delete' 'for'
|
|
case 72815: // 'delete' 'from'
|
|
case 73327: // 'delete' 'ft-option'
|
|
case 75375: // 'delete' 'function'
|
|
case 75887: // 'delete' 'ge'
|
|
case 76911: // 'delete' 'group'
|
|
case 77935: // 'delete' 'gt'
|
|
case 78447: // 'delete' 'idiv'
|
|
case 78959: // 'delete' 'if'
|
|
case 79471: // 'delete' 'import'
|
|
case 79983: // 'delete' 'in'
|
|
case 80495: // 'delete' 'index'
|
|
case 82543: // 'delete' 'insert'
|
|
case 83055: // 'delete' 'instance'
|
|
case 83567: // 'delete' 'integrity'
|
|
case 84079: // 'delete' 'intersect'
|
|
case 84591: // 'delete' 'into'
|
|
case 85103: // 'delete' 'is'
|
|
case 85615: // 'delete' 'item'
|
|
case 86127: // 'delete' 'json'
|
|
case 86639: // 'delete' 'json-item'
|
|
case 87151: // 'delete' 'jsoniq'
|
|
case 88687: // 'delete' 'last'
|
|
case 89199: // 'delete' 'lax'
|
|
case 89711: // 'delete' 'le'
|
|
case 90735: // 'delete' 'let'
|
|
case 91759: // 'delete' 'loop'
|
|
case 92783: // 'delete' 'lt'
|
|
case 93807: // 'delete' 'mod'
|
|
case 94319: // 'delete' 'modify'
|
|
case 94831: // 'delete' 'module'
|
|
case 95855: // 'delete' 'namespace'
|
|
case 96367: // 'delete' 'namespace-node'
|
|
case 96879: // 'delete' 'ne'
|
|
case 100975: // 'delete' 'null'
|
|
case 101487: // 'delete' 'object'
|
|
case 103535: // 'delete' 'only'
|
|
case 104047: // 'delete' 'option'
|
|
case 104559: // 'delete' 'or'
|
|
case 105071: // 'delete' 'order'
|
|
case 105583: // 'delete' 'ordered'
|
|
case 106095: // 'delete' 'ordering'
|
|
case 107631: // 'delete' 'parent'
|
|
case 110703: // 'delete' 'preceding'
|
|
case 111215: // 'delete' 'preceding-sibling'
|
|
case 112751: // 'delete' 'processing-instruction'
|
|
case 113775: // 'delete' 'rename'
|
|
case 114287: // 'delete' 'replace'
|
|
case 114799: // 'delete' 'return'
|
|
case 115311: // 'delete' 'returning'
|
|
case 115823: // 'delete' 'revalidation'
|
|
case 116847: // 'delete' 'satisfies'
|
|
case 117359: // 'delete' 'schema'
|
|
case 117871: // 'delete' 'schema-attribute'
|
|
case 118383: // 'delete' 'schema-element'
|
|
case 118895: // 'delete' 'score'
|
|
case 119407: // 'delete' 'select'
|
|
case 119919: // 'delete' 'self'
|
|
case 122479: // 'delete' 'sliding'
|
|
case 122991: // 'delete' 'some'
|
|
case 123503: // 'delete' 'stable'
|
|
case 124015: // 'delete' 'start'
|
|
case 125551: // 'delete' 'strict'
|
|
case 126575: // 'delete' 'structured-item'
|
|
case 127087: // 'delete' 'switch'
|
|
case 127599: // 'delete' 'text'
|
|
case 129647: // 'delete' 'to'
|
|
case 130159: // 'delete' 'treat'
|
|
case 130671: // 'delete' 'true'
|
|
case 131183: // 'delete' 'try'
|
|
case 131695: // 'delete' 'tumbling'
|
|
case 132207: // 'delete' 'type'
|
|
case 132719: // 'delete' 'typeswitch'
|
|
case 133231: // 'delete' 'union'
|
|
case 134255: // 'delete' 'unordered'
|
|
case 134767: // 'delete' 'updating'
|
|
case 136303: // 'delete' 'validate'
|
|
case 136815: // 'delete' 'value'
|
|
case 137327: // 'delete' 'variable'
|
|
case 137839: // 'delete' 'version'
|
|
case 139375: // 'delete' 'where'
|
|
case 139887: // 'delete' 'while'
|
|
case 141423: // 'delete' 'with'
|
|
case 143983: // 'delete' '{'
|
|
case 145007: // 'delete' '{|'
|
|
parse_JSONDeleteExpr();
|
|
break;
|
|
case -9:
|
|
case 3233: // 'insert' EQName^Token
|
|
case 4257: // 'insert' IntegerLiteral
|
|
case 4769: // 'insert' DecimalLiteral
|
|
case 5281: // 'insert' DoubleLiteral
|
|
case 5793: // 'insert' StringLiteral
|
|
case 9889: // 'insert' NCName^Token
|
|
case 16033: // 'insert' '$'
|
|
case 16545: // 'insert' '$$'
|
|
case 17057: // 'insert' '%'
|
|
case 18593: // 'insert' '(#'
|
|
case 21153: // 'insert' '+'
|
|
case 22177: // 'insert' '-'
|
|
case 24225: // 'insert' '/'
|
|
case 24737: // 'insert' '//'
|
|
case 28321: // 'insert' '<'
|
|
case 28833: // 'insert' '<!--'
|
|
case 30881: // 'insert' '<?'
|
|
case 35489: // 'insert' '['
|
|
case 36513: // 'insert' 'after'
|
|
case 37537: // 'insert' 'allowing'
|
|
case 38049: // 'insert' 'ancestor'
|
|
case 38561: // 'insert' 'ancestor-or-self'
|
|
case 39073: // 'insert' 'and'
|
|
case 40097: // 'insert' 'append'
|
|
case 40609: // 'insert' 'array'
|
|
case 41121: // 'insert' 'as'
|
|
case 41633: // 'insert' 'ascending'
|
|
case 42145: // 'insert' 'at'
|
|
case 42657: // 'insert' 'attribute'
|
|
case 43169: // 'insert' 'base-uri'
|
|
case 43681: // 'insert' 'before'
|
|
case 44193: // 'insert' 'boundary-space'
|
|
case 44705: // 'insert' 'break'
|
|
case 45729: // 'insert' 'case'
|
|
case 46241: // 'insert' 'cast'
|
|
case 46753: // 'insert' 'castable'
|
|
case 47265: // 'insert' 'catch'
|
|
case 48289: // 'insert' 'child'
|
|
case 48801: // 'insert' 'collation'
|
|
case 49825: // 'insert' 'comment'
|
|
case 50337: // 'insert' 'constraint'
|
|
case 50849: // 'insert' 'construction'
|
|
case 52385: // 'insert' 'context'
|
|
case 52897: // 'insert' 'continue'
|
|
case 53409: // 'insert' 'copy'
|
|
case 53921: // 'insert' 'copy-namespaces'
|
|
case 54433: // 'insert' 'count'
|
|
case 54945: // 'insert' 'decimal-format'
|
|
case 55969: // 'insert' 'declare'
|
|
case 56481: // 'insert' 'default'
|
|
case 56993: // 'insert' 'delete'
|
|
case 57505: // 'insert' 'descendant'
|
|
case 58017: // 'insert' 'descendant-or-self'
|
|
case 58529: // 'insert' 'descending'
|
|
case 61089: // 'insert' 'div'
|
|
case 61601: // 'insert' 'document'
|
|
case 62113: // 'insert' 'document-node'
|
|
case 62625: // 'insert' 'element'
|
|
case 63137: // 'insert' 'else'
|
|
case 63649: // 'insert' 'empty'
|
|
case 64161: // 'insert' 'empty-sequence'
|
|
case 64673: // 'insert' 'encoding'
|
|
case 65185: // 'insert' 'end'
|
|
case 66209: // 'insert' 'eq'
|
|
case 66721: // 'insert' 'every'
|
|
case 67745: // 'insert' 'except'
|
|
case 68257: // 'insert' 'exit'
|
|
case 68769: // 'insert' 'external'
|
|
case 69281: // 'insert' 'false'
|
|
case 69793: // 'insert' 'first'
|
|
case 70305: // 'insert' 'following'
|
|
case 70817: // 'insert' 'following-sibling'
|
|
case 71329: // 'insert' 'for'
|
|
case 72865: // 'insert' 'from'
|
|
case 73377: // 'insert' 'ft-option'
|
|
case 75425: // 'insert' 'function'
|
|
case 75937: // 'insert' 'ge'
|
|
case 76961: // 'insert' 'group'
|
|
case 77985: // 'insert' 'gt'
|
|
case 78497: // 'insert' 'idiv'
|
|
case 79009: // 'insert' 'if'
|
|
case 79521: // 'insert' 'import'
|
|
case 80033: // 'insert' 'in'
|
|
case 80545: // 'insert' 'index'
|
|
case 82593: // 'insert' 'insert'
|
|
case 83105: // 'insert' 'instance'
|
|
case 83617: // 'insert' 'integrity'
|
|
case 84129: // 'insert' 'intersect'
|
|
case 84641: // 'insert' 'into'
|
|
case 85153: // 'insert' 'is'
|
|
case 85665: // 'insert' 'item'
|
|
case 86177: // 'insert' 'json'
|
|
case 86689: // 'insert' 'json-item'
|
|
case 87201: // 'insert' 'jsoniq'
|
|
case 88737: // 'insert' 'last'
|
|
case 89249: // 'insert' 'lax'
|
|
case 89761: // 'insert' 'le'
|
|
case 90785: // 'insert' 'let'
|
|
case 91809: // 'insert' 'loop'
|
|
case 92833: // 'insert' 'lt'
|
|
case 93857: // 'insert' 'mod'
|
|
case 94369: // 'insert' 'modify'
|
|
case 94881: // 'insert' 'module'
|
|
case 95905: // 'insert' 'namespace'
|
|
case 96417: // 'insert' 'namespace-node'
|
|
case 96929: // 'insert' 'ne'
|
|
case 100513: // 'insert' 'not'
|
|
case 101025: // 'insert' 'null'
|
|
case 101537: // 'insert' 'object'
|
|
case 103585: // 'insert' 'only'
|
|
case 104097: // 'insert' 'option'
|
|
case 104609: // 'insert' 'or'
|
|
case 105121: // 'insert' 'order'
|
|
case 105633: // 'insert' 'ordered'
|
|
case 106145: // 'insert' 'ordering'
|
|
case 107681: // 'insert' 'parent'
|
|
case 110753: // 'insert' 'preceding'
|
|
case 111265: // 'insert' 'preceding-sibling'
|
|
case 112801: // 'insert' 'processing-instruction'
|
|
case 113825: // 'insert' 'rename'
|
|
case 114337: // 'insert' 'replace'
|
|
case 114849: // 'insert' 'return'
|
|
case 115361: // 'insert' 'returning'
|
|
case 115873: // 'insert' 'revalidation'
|
|
case 116897: // 'insert' 'satisfies'
|
|
case 117409: // 'insert' 'schema'
|
|
case 117921: // 'insert' 'schema-attribute'
|
|
case 118433: // 'insert' 'schema-element'
|
|
case 118945: // 'insert' 'score'
|
|
case 119457: // 'insert' 'select'
|
|
case 119969: // 'insert' 'self'
|
|
case 122529: // 'insert' 'sliding'
|
|
case 123041: // 'insert' 'some'
|
|
case 123553: // 'insert' 'stable'
|
|
case 124065: // 'insert' 'start'
|
|
case 125601: // 'insert' 'strict'
|
|
case 126625: // 'insert' 'structured-item'
|
|
case 127137: // 'insert' 'switch'
|
|
case 127649: // 'insert' 'text'
|
|
case 129697: // 'insert' 'to'
|
|
case 130209: // 'insert' 'treat'
|
|
case 130721: // 'insert' 'true'
|
|
case 131233: // 'insert' 'try'
|
|
case 131745: // 'insert' 'tumbling'
|
|
case 132257: // 'insert' 'type'
|
|
case 132769: // 'insert' 'typeswitch'
|
|
case 133281: // 'insert' 'union'
|
|
case 134305: // 'insert' 'unordered'
|
|
case 134817: // 'insert' 'updating'
|
|
case 136353: // 'insert' 'validate'
|
|
case 136865: // 'insert' 'value'
|
|
case 137377: // 'insert' 'variable'
|
|
case 137889: // 'insert' 'version'
|
|
case 139425: // 'insert' 'where'
|
|
case 139937: // 'insert' 'while'
|
|
case 141473: // 'insert' 'with'
|
|
case 144033: // 'insert' '{'
|
|
case 145057: // 'insert' '{|'
|
|
parse_JSONInsertExpr();
|
|
break;
|
|
case -10:
|
|
case 3294: // 'rename' EQName^Token
|
|
case 4318: // 'rename' IntegerLiteral
|
|
case 4830: // 'rename' DecimalLiteral
|
|
case 5342: // 'rename' DoubleLiteral
|
|
case 5854: // 'rename' StringLiteral
|
|
case 16094: // 'rename' '$'
|
|
case 16606: // 'rename' '$$'
|
|
case 17118: // 'rename' '%'
|
|
case 28382: // 'rename' '<'
|
|
case 28894: // 'rename' '<!--'
|
|
case 30942: // 'rename' '<?'
|
|
case 35550: // 'rename' '['
|
|
case 36574: // 'rename' 'after'
|
|
case 37598: // 'rename' 'allowing'
|
|
case 38110: // 'rename' 'ancestor'
|
|
case 38622: // 'rename' 'ancestor-or-self'
|
|
case 39134: // 'rename' 'and'
|
|
case 40158: // 'rename' 'append'
|
|
case 40670: // 'rename' 'array'
|
|
case 41182: // 'rename' 'as'
|
|
case 41694: // 'rename' 'ascending'
|
|
case 42206: // 'rename' 'at'
|
|
case 42718: // 'rename' 'attribute'
|
|
case 43230: // 'rename' 'base-uri'
|
|
case 43742: // 'rename' 'before'
|
|
case 44254: // 'rename' 'boundary-space'
|
|
case 44766: // 'rename' 'break'
|
|
case 45790: // 'rename' 'case'
|
|
case 46302: // 'rename' 'cast'
|
|
case 46814: // 'rename' 'castable'
|
|
case 47326: // 'rename' 'catch'
|
|
case 48350: // 'rename' 'child'
|
|
case 48862: // 'rename' 'collation'
|
|
case 49886: // 'rename' 'comment'
|
|
case 50398: // 'rename' 'constraint'
|
|
case 50910: // 'rename' 'construction'
|
|
case 52446: // 'rename' 'context'
|
|
case 52958: // 'rename' 'continue'
|
|
case 53470: // 'rename' 'copy'
|
|
case 53982: // 'rename' 'copy-namespaces'
|
|
case 54494: // 'rename' 'count'
|
|
case 55006: // 'rename' 'decimal-format'
|
|
case 56030: // 'rename' 'declare'
|
|
case 56542: // 'rename' 'default'
|
|
case 57054: // 'rename' 'delete'
|
|
case 57566: // 'rename' 'descendant'
|
|
case 58078: // 'rename' 'descendant-or-self'
|
|
case 58590: // 'rename' 'descending'
|
|
case 61150: // 'rename' 'div'
|
|
case 61662: // 'rename' 'document'
|
|
case 62174: // 'rename' 'document-node'
|
|
case 62686: // 'rename' 'element'
|
|
case 63198: // 'rename' 'else'
|
|
case 63710: // 'rename' 'empty'
|
|
case 64222: // 'rename' 'empty-sequence'
|
|
case 64734: // 'rename' 'encoding'
|
|
case 65246: // 'rename' 'end'
|
|
case 66270: // 'rename' 'eq'
|
|
case 66782: // 'rename' 'every'
|
|
case 67806: // 'rename' 'except'
|
|
case 68318: // 'rename' 'exit'
|
|
case 68830: // 'rename' 'external'
|
|
case 69342: // 'rename' 'false'
|
|
case 69854: // 'rename' 'first'
|
|
case 70366: // 'rename' 'following'
|
|
case 70878: // 'rename' 'following-sibling'
|
|
case 71390: // 'rename' 'for'
|
|
case 72926: // 'rename' 'from'
|
|
case 73438: // 'rename' 'ft-option'
|
|
case 75486: // 'rename' 'function'
|
|
case 75998: // 'rename' 'ge'
|
|
case 77022: // 'rename' 'group'
|
|
case 78046: // 'rename' 'gt'
|
|
case 78558: // 'rename' 'idiv'
|
|
case 79070: // 'rename' 'if'
|
|
case 79582: // 'rename' 'import'
|
|
case 80094: // 'rename' 'in'
|
|
case 80606: // 'rename' 'index'
|
|
case 82654: // 'rename' 'insert'
|
|
case 83166: // 'rename' 'instance'
|
|
case 83678: // 'rename' 'integrity'
|
|
case 84190: // 'rename' 'intersect'
|
|
case 84702: // 'rename' 'into'
|
|
case 85214: // 'rename' 'is'
|
|
case 85726: // 'rename' 'item'
|
|
case 86238: // 'rename' 'json'
|
|
case 86750: // 'rename' 'json-item'
|
|
case 87262: // 'rename' 'jsoniq'
|
|
case 88798: // 'rename' 'last'
|
|
case 89310: // 'rename' 'lax'
|
|
case 89822: // 'rename' 'le'
|
|
case 90846: // 'rename' 'let'
|
|
case 91870: // 'rename' 'loop'
|
|
case 92894: // 'rename' 'lt'
|
|
case 93918: // 'rename' 'mod'
|
|
case 94430: // 'rename' 'modify'
|
|
case 94942: // 'rename' 'module'
|
|
case 95966: // 'rename' 'namespace'
|
|
case 96478: // 'rename' 'namespace-node'
|
|
case 96990: // 'rename' 'ne'
|
|
case 100062: // 'rename' 'nodes'
|
|
case 101086: // 'rename' 'null'
|
|
case 101598: // 'rename' 'object'
|
|
case 103646: // 'rename' 'only'
|
|
case 104158: // 'rename' 'option'
|
|
case 104670: // 'rename' 'or'
|
|
case 105182: // 'rename' 'order'
|
|
case 105694: // 'rename' 'ordered'
|
|
case 106206: // 'rename' 'ordering'
|
|
case 107742: // 'rename' 'parent'
|
|
case 110814: // 'rename' 'preceding'
|
|
case 111326: // 'rename' 'preceding-sibling'
|
|
case 112862: // 'rename' 'processing-instruction'
|
|
case 113886: // 'rename' 'rename'
|
|
case 114398: // 'rename' 'replace'
|
|
case 114910: // 'rename' 'return'
|
|
case 115422: // 'rename' 'returning'
|
|
case 115934: // 'rename' 'revalidation'
|
|
case 116958: // 'rename' 'satisfies'
|
|
case 117470: // 'rename' 'schema'
|
|
case 117982: // 'rename' 'schema-attribute'
|
|
case 118494: // 'rename' 'schema-element'
|
|
case 119006: // 'rename' 'score'
|
|
case 119518: // 'rename' 'select'
|
|
case 120030: // 'rename' 'self'
|
|
case 122590: // 'rename' 'sliding'
|
|
case 123102: // 'rename' 'some'
|
|
case 123614: // 'rename' 'stable'
|
|
case 124126: // 'rename' 'start'
|
|
case 125662: // 'rename' 'strict'
|
|
case 126686: // 'rename' 'structured-item'
|
|
case 127198: // 'rename' 'switch'
|
|
case 127710: // 'rename' 'text'
|
|
case 129758: // 'rename' 'to'
|
|
case 130270: // 'rename' 'treat'
|
|
case 130782: // 'rename' 'true'
|
|
case 131294: // 'rename' 'try'
|
|
case 131806: // 'rename' 'tumbling'
|
|
case 132318: // 'rename' 'type'
|
|
case 132830: // 'rename' 'typeswitch'
|
|
case 133342: // 'rename' 'union'
|
|
case 134366: // 'rename' 'unordered'
|
|
case 134878: // 'rename' 'updating'
|
|
case 136414: // 'rename' 'validate'
|
|
case 136926: // 'rename' 'value'
|
|
case 137438: // 'rename' 'variable'
|
|
case 137950: // 'rename' 'version'
|
|
case 139486: // 'rename' 'where'
|
|
case 139998: // 'rename' 'while'
|
|
case 141534: // 'rename' 'with'
|
|
case 144094: // 'rename' '{'
|
|
case 145118: // 'rename' '{|'
|
|
parse_JSONRenameExpr();
|
|
break;
|
|
case -11:
|
|
parse_JSONReplaceExpr();
|
|
break;
|
|
case -12:
|
|
case 3150: // 'append' EQName^Token
|
|
case 4174: // 'append' IntegerLiteral
|
|
case 4686: // 'append' DecimalLiteral
|
|
case 5198: // 'append' DoubleLiteral
|
|
case 5710: // 'append' StringLiteral
|
|
case 15950: // 'append' '$'
|
|
case 16462: // 'append' '$$'
|
|
case 16974: // 'append' '%'
|
|
case 18510: // 'append' '(#'
|
|
case 21070: // 'append' '+'
|
|
case 22094: // 'append' '-'
|
|
case 24142: // 'append' '/'
|
|
case 24654: // 'append' '//'
|
|
case 28238: // 'append' '<'
|
|
case 28750: // 'append' '<!--'
|
|
case 30798: // 'append' '<?'
|
|
case 35406: // 'append' '['
|
|
case 36430: // 'append' 'after'
|
|
case 37454: // 'append' 'allowing'
|
|
case 37966: // 'append' 'ancestor'
|
|
case 38478: // 'append' 'ancestor-or-self'
|
|
case 38990: // 'append' 'and'
|
|
case 40014: // 'append' 'append'
|
|
case 40526: // 'append' 'array'
|
|
case 41038: // 'append' 'as'
|
|
case 41550: // 'append' 'ascending'
|
|
case 42062: // 'append' 'at'
|
|
case 42574: // 'append' 'attribute'
|
|
case 43086: // 'append' 'base-uri'
|
|
case 43598: // 'append' 'before'
|
|
case 44110: // 'append' 'boundary-space'
|
|
case 44622: // 'append' 'break'
|
|
case 45646: // 'append' 'case'
|
|
case 46158: // 'append' 'cast'
|
|
case 46670: // 'append' 'castable'
|
|
case 47182: // 'append' 'catch'
|
|
case 48206: // 'append' 'child'
|
|
case 48718: // 'append' 'collation'
|
|
case 49742: // 'append' 'comment'
|
|
case 50254: // 'append' 'constraint'
|
|
case 50766: // 'append' 'construction'
|
|
case 52302: // 'append' 'context'
|
|
case 52814: // 'append' 'continue'
|
|
case 53326: // 'append' 'copy'
|
|
case 53838: // 'append' 'copy-namespaces'
|
|
case 54350: // 'append' 'count'
|
|
case 54862: // 'append' 'decimal-format'
|
|
case 55886: // 'append' 'declare'
|
|
case 56398: // 'append' 'default'
|
|
case 56910: // 'append' 'delete'
|
|
case 57422: // 'append' 'descendant'
|
|
case 57934: // 'append' 'descendant-or-self'
|
|
case 58446: // 'append' 'descending'
|
|
case 61006: // 'append' 'div'
|
|
case 61518: // 'append' 'document'
|
|
case 62030: // 'append' 'document-node'
|
|
case 62542: // 'append' 'element'
|
|
case 63054: // 'append' 'else'
|
|
case 63566: // 'append' 'empty'
|
|
case 64078: // 'append' 'empty-sequence'
|
|
case 64590: // 'append' 'encoding'
|
|
case 65102: // 'append' 'end'
|
|
case 66126: // 'append' 'eq'
|
|
case 66638: // 'append' 'every'
|
|
case 67662: // 'append' 'except'
|
|
case 68174: // 'append' 'exit'
|
|
case 68686: // 'append' 'external'
|
|
case 69198: // 'append' 'false'
|
|
case 69710: // 'append' 'first'
|
|
case 70222: // 'append' 'following'
|
|
case 70734: // 'append' 'following-sibling'
|
|
case 71246: // 'append' 'for'
|
|
case 72782: // 'append' 'from'
|
|
case 73294: // 'append' 'ft-option'
|
|
case 75342: // 'append' 'function'
|
|
case 75854: // 'append' 'ge'
|
|
case 76878: // 'append' 'group'
|
|
case 77902: // 'append' 'gt'
|
|
case 78414: // 'append' 'idiv'
|
|
case 78926: // 'append' 'if'
|
|
case 79438: // 'append' 'import'
|
|
case 79950: // 'append' 'in'
|
|
case 80462: // 'append' 'index'
|
|
case 82510: // 'append' 'insert'
|
|
case 83022: // 'append' 'instance'
|
|
case 83534: // 'append' 'integrity'
|
|
case 84046: // 'append' 'intersect'
|
|
case 84558: // 'append' 'into'
|
|
case 85070: // 'append' 'is'
|
|
case 85582: // 'append' 'item'
|
|
case 86094: // 'append' 'json'
|
|
case 86606: // 'append' 'json-item'
|
|
case 87118: // 'append' 'jsoniq'
|
|
case 88654: // 'append' 'last'
|
|
case 89166: // 'append' 'lax'
|
|
case 89678: // 'append' 'le'
|
|
case 90702: // 'append' 'let'
|
|
case 91726: // 'append' 'loop'
|
|
case 92750: // 'append' 'lt'
|
|
case 93774: // 'append' 'mod'
|
|
case 94286: // 'append' 'modify'
|
|
case 94798: // 'append' 'module'
|
|
case 95822: // 'append' 'namespace'
|
|
case 96334: // 'append' 'namespace-node'
|
|
case 96846: // 'append' 'ne'
|
|
case 99406: // 'append' 'node'
|
|
case 99918: // 'append' 'nodes'
|
|
case 100430: // 'append' 'not'
|
|
case 100942: // 'append' 'null'
|
|
case 101454: // 'append' 'object'
|
|
case 103502: // 'append' 'only'
|
|
case 104014: // 'append' 'option'
|
|
case 104526: // 'append' 'or'
|
|
case 105038: // 'append' 'order'
|
|
case 105550: // 'append' 'ordered'
|
|
case 106062: // 'append' 'ordering'
|
|
case 107598: // 'append' 'parent'
|
|
case 110670: // 'append' 'preceding'
|
|
case 111182: // 'append' 'preceding-sibling'
|
|
case 112718: // 'append' 'processing-instruction'
|
|
case 113742: // 'append' 'rename'
|
|
case 114254: // 'append' 'replace'
|
|
case 114766: // 'append' 'return'
|
|
case 115278: // 'append' 'returning'
|
|
case 115790: // 'append' 'revalidation'
|
|
case 116814: // 'append' 'satisfies'
|
|
case 117326: // 'append' 'schema'
|
|
case 117838: // 'append' 'schema-attribute'
|
|
case 118350: // 'append' 'schema-element'
|
|
case 118862: // 'append' 'score'
|
|
case 119374: // 'append' 'select'
|
|
case 119886: // 'append' 'self'
|
|
case 122446: // 'append' 'sliding'
|
|
case 122958: // 'append' 'some'
|
|
case 123470: // 'append' 'stable'
|
|
case 123982: // 'append' 'start'
|
|
case 125518: // 'append' 'strict'
|
|
case 126542: // 'append' 'structured-item'
|
|
case 127054: // 'append' 'switch'
|
|
case 127566: // 'append' 'text'
|
|
case 129614: // 'append' 'to'
|
|
case 130126: // 'append' 'treat'
|
|
case 130638: // 'append' 'true'
|
|
case 131150: // 'append' 'try'
|
|
case 131662: // 'append' 'tumbling'
|
|
case 132174: // 'append' 'type'
|
|
case 132686: // 'append' 'typeswitch'
|
|
case 133198: // 'append' 'union'
|
|
case 134222: // 'append' 'unordered'
|
|
case 134734: // 'append' 'updating'
|
|
case 136270: // 'append' 'validate'
|
|
case 136782: // 'append' 'value'
|
|
case 137294: // 'append' 'variable'
|
|
case 137806: // 'append' 'version'
|
|
case 139342: // 'append' 'where'
|
|
case 139854: // 'append' 'while'
|
|
case 141390: // 'append' 'with'
|
|
case 143950: // 'append' '{'
|
|
case 144974: // 'append' '{|'
|
|
parse_JSONAppendExpr();
|
|
break;
|
|
default:
|
|
parse_OrExpr();
|
|
}
|
|
eventHandler.endNonterminal("ExprSimple", e0);
|
|
}
|
|
|
|
function try_ExprSimple()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 78: // 'append'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 161: // 'insert'
|
|
lookahead2W(275); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 223: // 'replace'
|
|
lookahead2W(170); // S^WS | '#' | '(' | '(:' | 'node' | 'value'
|
|
break;
|
|
case 111: // 'delete'
|
|
case 222: // 'rename'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 104: // 'copy'
|
|
case 130: // 'every'
|
|
case 240: // 'some'
|
|
lookahead2W(143); // S^WS | '#' | '$' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 17998 // 'append' '('
|
|
|| lk == 18031 // 'delete' '('
|
|
|| lk == 18081 // 'insert' '('
|
|
|| lk == 18142 // 'rename' '('
|
|
|| lk == 99439 // 'delete' 'node'
|
|
|| lk == 99489 // 'insert' 'node'
|
|
|| lk == 99550 // 'rename' 'node'
|
|
|| lk == 99951 // 'delete' 'nodes'
|
|
|| lk == 100001 // 'insert' 'nodes'
|
|
|| lk == 136927) // 'replace' 'value'
|
|
{
|
|
lk = memoized(10, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_OrExpr();
|
|
memoize(10, e0A, -2);
|
|
lk = -13;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_InsertExpr();
|
|
memoize(10, e0A, -3);
|
|
lk = -13;
|
|
}
|
|
catch (p3A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_DeleteExpr();
|
|
memoize(10, e0A, -4);
|
|
lk = -13;
|
|
}
|
|
catch (p4A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_RenameExpr();
|
|
memoize(10, e0A, -5);
|
|
lk = -13;
|
|
}
|
|
catch (p5A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_ReplaceExpr();
|
|
memoize(10, e0A, -6);
|
|
lk = -13;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONDeleteExpr();
|
|
memoize(10, e0A, -8);
|
|
lk = -13;
|
|
}
|
|
catch (p8A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONInsertExpr();
|
|
memoize(10, e0A, -9);
|
|
lk = -13;
|
|
}
|
|
catch (p9A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONRenameExpr();
|
|
memoize(10, e0A, -10);
|
|
lk = -13;
|
|
}
|
|
catch (p10A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_JSONReplaceExpr();
|
|
memoize(10, e0A, -11);
|
|
lk = -13;
|
|
}
|
|
catch (p11A)
|
|
{
|
|
lk = -12;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(10, e0A, -12);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16002: // 'every' '$'
|
|
case 16112: // 'some' '$'
|
|
try_QuantifiedExpr();
|
|
break;
|
|
case -3:
|
|
try_InsertExpr();
|
|
break;
|
|
case -4:
|
|
try_DeleteExpr();
|
|
break;
|
|
case -5:
|
|
try_RenameExpr();
|
|
break;
|
|
case -6:
|
|
case 99551: // 'replace' 'node'
|
|
try_ReplaceExpr();
|
|
break;
|
|
case 15976: // 'copy' '$'
|
|
try_TransformExpr();
|
|
break;
|
|
case -8:
|
|
case 3183: // 'delete' EQName^Token
|
|
case 4207: // 'delete' IntegerLiteral
|
|
case 4719: // 'delete' DecimalLiteral
|
|
case 5231: // 'delete' DoubleLiteral
|
|
case 5743: // 'delete' StringLiteral
|
|
case 15983: // 'delete' '$'
|
|
case 16495: // 'delete' '$$'
|
|
case 17007: // 'delete' '%'
|
|
case 28271: // 'delete' '<'
|
|
case 28783: // 'delete' '<!--'
|
|
case 30831: // 'delete' '<?'
|
|
case 35439: // 'delete' '['
|
|
case 36463: // 'delete' 'after'
|
|
case 37487: // 'delete' 'allowing'
|
|
case 37999: // 'delete' 'ancestor'
|
|
case 38511: // 'delete' 'ancestor-or-self'
|
|
case 39023: // 'delete' 'and'
|
|
case 40047: // 'delete' 'append'
|
|
case 40559: // 'delete' 'array'
|
|
case 41071: // 'delete' 'as'
|
|
case 41583: // 'delete' 'ascending'
|
|
case 42095: // 'delete' 'at'
|
|
case 42607: // 'delete' 'attribute'
|
|
case 43119: // 'delete' 'base-uri'
|
|
case 43631: // 'delete' 'before'
|
|
case 44143: // 'delete' 'boundary-space'
|
|
case 44655: // 'delete' 'break'
|
|
case 45679: // 'delete' 'case'
|
|
case 46191: // 'delete' 'cast'
|
|
case 46703: // 'delete' 'castable'
|
|
case 47215: // 'delete' 'catch'
|
|
case 48239: // 'delete' 'child'
|
|
case 48751: // 'delete' 'collation'
|
|
case 49775: // 'delete' 'comment'
|
|
case 50287: // 'delete' 'constraint'
|
|
case 50799: // 'delete' 'construction'
|
|
case 52335: // 'delete' 'context'
|
|
case 52847: // 'delete' 'continue'
|
|
case 53359: // 'delete' 'copy'
|
|
case 53871: // 'delete' 'copy-namespaces'
|
|
case 54383: // 'delete' 'count'
|
|
case 54895: // 'delete' 'decimal-format'
|
|
case 55919: // 'delete' 'declare'
|
|
case 56431: // 'delete' 'default'
|
|
case 56943: // 'delete' 'delete'
|
|
case 57455: // 'delete' 'descendant'
|
|
case 57967: // 'delete' 'descendant-or-self'
|
|
case 58479: // 'delete' 'descending'
|
|
case 61039: // 'delete' 'div'
|
|
case 61551: // 'delete' 'document'
|
|
case 62063: // 'delete' 'document-node'
|
|
case 62575: // 'delete' 'element'
|
|
case 63087: // 'delete' 'else'
|
|
case 63599: // 'delete' 'empty'
|
|
case 64111: // 'delete' 'empty-sequence'
|
|
case 64623: // 'delete' 'encoding'
|
|
case 65135: // 'delete' 'end'
|
|
case 66159: // 'delete' 'eq'
|
|
case 66671: // 'delete' 'every'
|
|
case 67695: // 'delete' 'except'
|
|
case 68207: // 'delete' 'exit'
|
|
case 68719: // 'delete' 'external'
|
|
case 69231: // 'delete' 'false'
|
|
case 69743: // 'delete' 'first'
|
|
case 70255: // 'delete' 'following'
|
|
case 70767: // 'delete' 'following-sibling'
|
|
case 71279: // 'delete' 'for'
|
|
case 72815: // 'delete' 'from'
|
|
case 73327: // 'delete' 'ft-option'
|
|
case 75375: // 'delete' 'function'
|
|
case 75887: // 'delete' 'ge'
|
|
case 76911: // 'delete' 'group'
|
|
case 77935: // 'delete' 'gt'
|
|
case 78447: // 'delete' 'idiv'
|
|
case 78959: // 'delete' 'if'
|
|
case 79471: // 'delete' 'import'
|
|
case 79983: // 'delete' 'in'
|
|
case 80495: // 'delete' 'index'
|
|
case 82543: // 'delete' 'insert'
|
|
case 83055: // 'delete' 'instance'
|
|
case 83567: // 'delete' 'integrity'
|
|
case 84079: // 'delete' 'intersect'
|
|
case 84591: // 'delete' 'into'
|
|
case 85103: // 'delete' 'is'
|
|
case 85615: // 'delete' 'item'
|
|
case 86127: // 'delete' 'json'
|
|
case 86639: // 'delete' 'json-item'
|
|
case 87151: // 'delete' 'jsoniq'
|
|
case 88687: // 'delete' 'last'
|
|
case 89199: // 'delete' 'lax'
|
|
case 89711: // 'delete' 'le'
|
|
case 90735: // 'delete' 'let'
|
|
case 91759: // 'delete' 'loop'
|
|
case 92783: // 'delete' 'lt'
|
|
case 93807: // 'delete' 'mod'
|
|
case 94319: // 'delete' 'modify'
|
|
case 94831: // 'delete' 'module'
|
|
case 95855: // 'delete' 'namespace'
|
|
case 96367: // 'delete' 'namespace-node'
|
|
case 96879: // 'delete' 'ne'
|
|
case 100975: // 'delete' 'null'
|
|
case 101487: // 'delete' 'object'
|
|
case 103535: // 'delete' 'only'
|
|
case 104047: // 'delete' 'option'
|
|
case 104559: // 'delete' 'or'
|
|
case 105071: // 'delete' 'order'
|
|
case 105583: // 'delete' 'ordered'
|
|
case 106095: // 'delete' 'ordering'
|
|
case 107631: // 'delete' 'parent'
|
|
case 110703: // 'delete' 'preceding'
|
|
case 111215: // 'delete' 'preceding-sibling'
|
|
case 112751: // 'delete' 'processing-instruction'
|
|
case 113775: // 'delete' 'rename'
|
|
case 114287: // 'delete' 'replace'
|
|
case 114799: // 'delete' 'return'
|
|
case 115311: // 'delete' 'returning'
|
|
case 115823: // 'delete' 'revalidation'
|
|
case 116847: // 'delete' 'satisfies'
|
|
case 117359: // 'delete' 'schema'
|
|
case 117871: // 'delete' 'schema-attribute'
|
|
case 118383: // 'delete' 'schema-element'
|
|
case 118895: // 'delete' 'score'
|
|
case 119407: // 'delete' 'select'
|
|
case 119919: // 'delete' 'self'
|
|
case 122479: // 'delete' 'sliding'
|
|
case 122991: // 'delete' 'some'
|
|
case 123503: // 'delete' 'stable'
|
|
case 124015: // 'delete' 'start'
|
|
case 125551: // 'delete' 'strict'
|
|
case 126575: // 'delete' 'structured-item'
|
|
case 127087: // 'delete' 'switch'
|
|
case 127599: // 'delete' 'text'
|
|
case 129647: // 'delete' 'to'
|
|
case 130159: // 'delete' 'treat'
|
|
case 130671: // 'delete' 'true'
|
|
case 131183: // 'delete' 'try'
|
|
case 131695: // 'delete' 'tumbling'
|
|
case 132207: // 'delete' 'type'
|
|
case 132719: // 'delete' 'typeswitch'
|
|
case 133231: // 'delete' 'union'
|
|
case 134255: // 'delete' 'unordered'
|
|
case 134767: // 'delete' 'updating'
|
|
case 136303: // 'delete' 'validate'
|
|
case 136815: // 'delete' 'value'
|
|
case 137327: // 'delete' 'variable'
|
|
case 137839: // 'delete' 'version'
|
|
case 139375: // 'delete' 'where'
|
|
case 139887: // 'delete' 'while'
|
|
case 141423: // 'delete' 'with'
|
|
case 143983: // 'delete' '{'
|
|
case 145007: // 'delete' '{|'
|
|
try_JSONDeleteExpr();
|
|
break;
|
|
case -9:
|
|
case 3233: // 'insert' EQName^Token
|
|
case 4257: // 'insert' IntegerLiteral
|
|
case 4769: // 'insert' DecimalLiteral
|
|
case 5281: // 'insert' DoubleLiteral
|
|
case 5793: // 'insert' StringLiteral
|
|
case 9889: // 'insert' NCName^Token
|
|
case 16033: // 'insert' '$'
|
|
case 16545: // 'insert' '$$'
|
|
case 17057: // 'insert' '%'
|
|
case 18593: // 'insert' '(#'
|
|
case 21153: // 'insert' '+'
|
|
case 22177: // 'insert' '-'
|
|
case 24225: // 'insert' '/'
|
|
case 24737: // 'insert' '//'
|
|
case 28321: // 'insert' '<'
|
|
case 28833: // 'insert' '<!--'
|
|
case 30881: // 'insert' '<?'
|
|
case 35489: // 'insert' '['
|
|
case 36513: // 'insert' 'after'
|
|
case 37537: // 'insert' 'allowing'
|
|
case 38049: // 'insert' 'ancestor'
|
|
case 38561: // 'insert' 'ancestor-or-self'
|
|
case 39073: // 'insert' 'and'
|
|
case 40097: // 'insert' 'append'
|
|
case 40609: // 'insert' 'array'
|
|
case 41121: // 'insert' 'as'
|
|
case 41633: // 'insert' 'ascending'
|
|
case 42145: // 'insert' 'at'
|
|
case 42657: // 'insert' 'attribute'
|
|
case 43169: // 'insert' 'base-uri'
|
|
case 43681: // 'insert' 'before'
|
|
case 44193: // 'insert' 'boundary-space'
|
|
case 44705: // 'insert' 'break'
|
|
case 45729: // 'insert' 'case'
|
|
case 46241: // 'insert' 'cast'
|
|
case 46753: // 'insert' 'castable'
|
|
case 47265: // 'insert' 'catch'
|
|
case 48289: // 'insert' 'child'
|
|
case 48801: // 'insert' 'collation'
|
|
case 49825: // 'insert' 'comment'
|
|
case 50337: // 'insert' 'constraint'
|
|
case 50849: // 'insert' 'construction'
|
|
case 52385: // 'insert' 'context'
|
|
case 52897: // 'insert' 'continue'
|
|
case 53409: // 'insert' 'copy'
|
|
case 53921: // 'insert' 'copy-namespaces'
|
|
case 54433: // 'insert' 'count'
|
|
case 54945: // 'insert' 'decimal-format'
|
|
case 55969: // 'insert' 'declare'
|
|
case 56481: // 'insert' 'default'
|
|
case 56993: // 'insert' 'delete'
|
|
case 57505: // 'insert' 'descendant'
|
|
case 58017: // 'insert' 'descendant-or-self'
|
|
case 58529: // 'insert' 'descending'
|
|
case 61089: // 'insert' 'div'
|
|
case 61601: // 'insert' 'document'
|
|
case 62113: // 'insert' 'document-node'
|
|
case 62625: // 'insert' 'element'
|
|
case 63137: // 'insert' 'else'
|
|
case 63649: // 'insert' 'empty'
|
|
case 64161: // 'insert' 'empty-sequence'
|
|
case 64673: // 'insert' 'encoding'
|
|
case 65185: // 'insert' 'end'
|
|
case 66209: // 'insert' 'eq'
|
|
case 66721: // 'insert' 'every'
|
|
case 67745: // 'insert' 'except'
|
|
case 68257: // 'insert' 'exit'
|
|
case 68769: // 'insert' 'external'
|
|
case 69281: // 'insert' 'false'
|
|
case 69793: // 'insert' 'first'
|
|
case 70305: // 'insert' 'following'
|
|
case 70817: // 'insert' 'following-sibling'
|
|
case 71329: // 'insert' 'for'
|
|
case 72865: // 'insert' 'from'
|
|
case 73377: // 'insert' 'ft-option'
|
|
case 75425: // 'insert' 'function'
|
|
case 75937: // 'insert' 'ge'
|
|
case 76961: // 'insert' 'group'
|
|
case 77985: // 'insert' 'gt'
|
|
case 78497: // 'insert' 'idiv'
|
|
case 79009: // 'insert' 'if'
|
|
case 79521: // 'insert' 'import'
|
|
case 80033: // 'insert' 'in'
|
|
case 80545: // 'insert' 'index'
|
|
case 82593: // 'insert' 'insert'
|
|
case 83105: // 'insert' 'instance'
|
|
case 83617: // 'insert' 'integrity'
|
|
case 84129: // 'insert' 'intersect'
|
|
case 84641: // 'insert' 'into'
|
|
case 85153: // 'insert' 'is'
|
|
case 85665: // 'insert' 'item'
|
|
case 86177: // 'insert' 'json'
|
|
case 86689: // 'insert' 'json-item'
|
|
case 87201: // 'insert' 'jsoniq'
|
|
case 88737: // 'insert' 'last'
|
|
case 89249: // 'insert' 'lax'
|
|
case 89761: // 'insert' 'le'
|
|
case 90785: // 'insert' 'let'
|
|
case 91809: // 'insert' 'loop'
|
|
case 92833: // 'insert' 'lt'
|
|
case 93857: // 'insert' 'mod'
|
|
case 94369: // 'insert' 'modify'
|
|
case 94881: // 'insert' 'module'
|
|
case 95905: // 'insert' 'namespace'
|
|
case 96417: // 'insert' 'namespace-node'
|
|
case 96929: // 'insert' 'ne'
|
|
case 100513: // 'insert' 'not'
|
|
case 101025: // 'insert' 'null'
|
|
case 101537: // 'insert' 'object'
|
|
case 103585: // 'insert' 'only'
|
|
case 104097: // 'insert' 'option'
|
|
case 104609: // 'insert' 'or'
|
|
case 105121: // 'insert' 'order'
|
|
case 105633: // 'insert' 'ordered'
|
|
case 106145: // 'insert' 'ordering'
|
|
case 107681: // 'insert' 'parent'
|
|
case 110753: // 'insert' 'preceding'
|
|
case 111265: // 'insert' 'preceding-sibling'
|
|
case 112801: // 'insert' 'processing-instruction'
|
|
case 113825: // 'insert' 'rename'
|
|
case 114337: // 'insert' 'replace'
|
|
case 114849: // 'insert' 'return'
|
|
case 115361: // 'insert' 'returning'
|
|
case 115873: // 'insert' 'revalidation'
|
|
case 116897: // 'insert' 'satisfies'
|
|
case 117409: // 'insert' 'schema'
|
|
case 117921: // 'insert' 'schema-attribute'
|
|
case 118433: // 'insert' 'schema-element'
|
|
case 118945: // 'insert' 'score'
|
|
case 119457: // 'insert' 'select'
|
|
case 119969: // 'insert' 'self'
|
|
case 122529: // 'insert' 'sliding'
|
|
case 123041: // 'insert' 'some'
|
|
case 123553: // 'insert' 'stable'
|
|
case 124065: // 'insert' 'start'
|
|
case 125601: // 'insert' 'strict'
|
|
case 126625: // 'insert' 'structured-item'
|
|
case 127137: // 'insert' 'switch'
|
|
case 127649: // 'insert' 'text'
|
|
case 129697: // 'insert' 'to'
|
|
case 130209: // 'insert' 'treat'
|
|
case 130721: // 'insert' 'true'
|
|
case 131233: // 'insert' 'try'
|
|
case 131745: // 'insert' 'tumbling'
|
|
case 132257: // 'insert' 'type'
|
|
case 132769: // 'insert' 'typeswitch'
|
|
case 133281: // 'insert' 'union'
|
|
case 134305: // 'insert' 'unordered'
|
|
case 134817: // 'insert' 'updating'
|
|
case 136353: // 'insert' 'validate'
|
|
case 136865: // 'insert' 'value'
|
|
case 137377: // 'insert' 'variable'
|
|
case 137889: // 'insert' 'version'
|
|
case 139425: // 'insert' 'where'
|
|
case 139937: // 'insert' 'while'
|
|
case 141473: // 'insert' 'with'
|
|
case 144033: // 'insert' '{'
|
|
case 145057: // 'insert' '{|'
|
|
try_JSONInsertExpr();
|
|
break;
|
|
case -10:
|
|
case 3294: // 'rename' EQName^Token
|
|
case 4318: // 'rename' IntegerLiteral
|
|
case 4830: // 'rename' DecimalLiteral
|
|
case 5342: // 'rename' DoubleLiteral
|
|
case 5854: // 'rename' StringLiteral
|
|
case 16094: // 'rename' '$'
|
|
case 16606: // 'rename' '$$'
|
|
case 17118: // 'rename' '%'
|
|
case 28382: // 'rename' '<'
|
|
case 28894: // 'rename' '<!--'
|
|
case 30942: // 'rename' '<?'
|
|
case 35550: // 'rename' '['
|
|
case 36574: // 'rename' 'after'
|
|
case 37598: // 'rename' 'allowing'
|
|
case 38110: // 'rename' 'ancestor'
|
|
case 38622: // 'rename' 'ancestor-or-self'
|
|
case 39134: // 'rename' 'and'
|
|
case 40158: // 'rename' 'append'
|
|
case 40670: // 'rename' 'array'
|
|
case 41182: // 'rename' 'as'
|
|
case 41694: // 'rename' 'ascending'
|
|
case 42206: // 'rename' 'at'
|
|
case 42718: // 'rename' 'attribute'
|
|
case 43230: // 'rename' 'base-uri'
|
|
case 43742: // 'rename' 'before'
|
|
case 44254: // 'rename' 'boundary-space'
|
|
case 44766: // 'rename' 'break'
|
|
case 45790: // 'rename' 'case'
|
|
case 46302: // 'rename' 'cast'
|
|
case 46814: // 'rename' 'castable'
|
|
case 47326: // 'rename' 'catch'
|
|
case 48350: // 'rename' 'child'
|
|
case 48862: // 'rename' 'collation'
|
|
case 49886: // 'rename' 'comment'
|
|
case 50398: // 'rename' 'constraint'
|
|
case 50910: // 'rename' 'construction'
|
|
case 52446: // 'rename' 'context'
|
|
case 52958: // 'rename' 'continue'
|
|
case 53470: // 'rename' 'copy'
|
|
case 53982: // 'rename' 'copy-namespaces'
|
|
case 54494: // 'rename' 'count'
|
|
case 55006: // 'rename' 'decimal-format'
|
|
case 56030: // 'rename' 'declare'
|
|
case 56542: // 'rename' 'default'
|
|
case 57054: // 'rename' 'delete'
|
|
case 57566: // 'rename' 'descendant'
|
|
case 58078: // 'rename' 'descendant-or-self'
|
|
case 58590: // 'rename' 'descending'
|
|
case 61150: // 'rename' 'div'
|
|
case 61662: // 'rename' 'document'
|
|
case 62174: // 'rename' 'document-node'
|
|
case 62686: // 'rename' 'element'
|
|
case 63198: // 'rename' 'else'
|
|
case 63710: // 'rename' 'empty'
|
|
case 64222: // 'rename' 'empty-sequence'
|
|
case 64734: // 'rename' 'encoding'
|
|
case 65246: // 'rename' 'end'
|
|
case 66270: // 'rename' 'eq'
|
|
case 66782: // 'rename' 'every'
|
|
case 67806: // 'rename' 'except'
|
|
case 68318: // 'rename' 'exit'
|
|
case 68830: // 'rename' 'external'
|
|
case 69342: // 'rename' 'false'
|
|
case 69854: // 'rename' 'first'
|
|
case 70366: // 'rename' 'following'
|
|
case 70878: // 'rename' 'following-sibling'
|
|
case 71390: // 'rename' 'for'
|
|
case 72926: // 'rename' 'from'
|
|
case 73438: // 'rename' 'ft-option'
|
|
case 75486: // 'rename' 'function'
|
|
case 75998: // 'rename' 'ge'
|
|
case 77022: // 'rename' 'group'
|
|
case 78046: // 'rename' 'gt'
|
|
case 78558: // 'rename' 'idiv'
|
|
case 79070: // 'rename' 'if'
|
|
case 79582: // 'rename' 'import'
|
|
case 80094: // 'rename' 'in'
|
|
case 80606: // 'rename' 'index'
|
|
case 82654: // 'rename' 'insert'
|
|
case 83166: // 'rename' 'instance'
|
|
case 83678: // 'rename' 'integrity'
|
|
case 84190: // 'rename' 'intersect'
|
|
case 84702: // 'rename' 'into'
|
|
case 85214: // 'rename' 'is'
|
|
case 85726: // 'rename' 'item'
|
|
case 86238: // 'rename' 'json'
|
|
case 86750: // 'rename' 'json-item'
|
|
case 87262: // 'rename' 'jsoniq'
|
|
case 88798: // 'rename' 'last'
|
|
case 89310: // 'rename' 'lax'
|
|
case 89822: // 'rename' 'le'
|
|
case 90846: // 'rename' 'let'
|
|
case 91870: // 'rename' 'loop'
|
|
case 92894: // 'rename' 'lt'
|
|
case 93918: // 'rename' 'mod'
|
|
case 94430: // 'rename' 'modify'
|
|
case 94942: // 'rename' 'module'
|
|
case 95966: // 'rename' 'namespace'
|
|
case 96478: // 'rename' 'namespace-node'
|
|
case 96990: // 'rename' 'ne'
|
|
case 100062: // 'rename' 'nodes'
|
|
case 101086: // 'rename' 'null'
|
|
case 101598: // 'rename' 'object'
|
|
case 103646: // 'rename' 'only'
|
|
case 104158: // 'rename' 'option'
|
|
case 104670: // 'rename' 'or'
|
|
case 105182: // 'rename' 'order'
|
|
case 105694: // 'rename' 'ordered'
|
|
case 106206: // 'rename' 'ordering'
|
|
case 107742: // 'rename' 'parent'
|
|
case 110814: // 'rename' 'preceding'
|
|
case 111326: // 'rename' 'preceding-sibling'
|
|
case 112862: // 'rename' 'processing-instruction'
|
|
case 113886: // 'rename' 'rename'
|
|
case 114398: // 'rename' 'replace'
|
|
case 114910: // 'rename' 'return'
|
|
case 115422: // 'rename' 'returning'
|
|
case 115934: // 'rename' 'revalidation'
|
|
case 116958: // 'rename' 'satisfies'
|
|
case 117470: // 'rename' 'schema'
|
|
case 117982: // 'rename' 'schema-attribute'
|
|
case 118494: // 'rename' 'schema-element'
|
|
case 119006: // 'rename' 'score'
|
|
case 119518: // 'rename' 'select'
|
|
case 120030: // 'rename' 'self'
|
|
case 122590: // 'rename' 'sliding'
|
|
case 123102: // 'rename' 'some'
|
|
case 123614: // 'rename' 'stable'
|
|
case 124126: // 'rename' 'start'
|
|
case 125662: // 'rename' 'strict'
|
|
case 126686: // 'rename' 'structured-item'
|
|
case 127198: // 'rename' 'switch'
|
|
case 127710: // 'rename' 'text'
|
|
case 129758: // 'rename' 'to'
|
|
case 130270: // 'rename' 'treat'
|
|
case 130782: // 'rename' 'true'
|
|
case 131294: // 'rename' 'try'
|
|
case 131806: // 'rename' 'tumbling'
|
|
case 132318: // 'rename' 'type'
|
|
case 132830: // 'rename' 'typeswitch'
|
|
case 133342: // 'rename' 'union'
|
|
case 134366: // 'rename' 'unordered'
|
|
case 134878: // 'rename' 'updating'
|
|
case 136414: // 'rename' 'validate'
|
|
case 136926: // 'rename' 'value'
|
|
case 137438: // 'rename' 'variable'
|
|
case 137950: // 'rename' 'version'
|
|
case 139486: // 'rename' 'where'
|
|
case 139998: // 'rename' 'while'
|
|
case 141534: // 'rename' 'with'
|
|
case 144094: // 'rename' '{'
|
|
case 145118: // 'rename' '{|'
|
|
try_JSONRenameExpr();
|
|
break;
|
|
case -11:
|
|
try_JSONReplaceExpr();
|
|
break;
|
|
case -12:
|
|
case 3150: // 'append' EQName^Token
|
|
case 4174: // 'append' IntegerLiteral
|
|
case 4686: // 'append' DecimalLiteral
|
|
case 5198: // 'append' DoubleLiteral
|
|
case 5710: // 'append' StringLiteral
|
|
case 15950: // 'append' '$'
|
|
case 16462: // 'append' '$$'
|
|
case 16974: // 'append' '%'
|
|
case 18510: // 'append' '(#'
|
|
case 21070: // 'append' '+'
|
|
case 22094: // 'append' '-'
|
|
case 24142: // 'append' '/'
|
|
case 24654: // 'append' '//'
|
|
case 28238: // 'append' '<'
|
|
case 28750: // 'append' '<!--'
|
|
case 30798: // 'append' '<?'
|
|
case 35406: // 'append' '['
|
|
case 36430: // 'append' 'after'
|
|
case 37454: // 'append' 'allowing'
|
|
case 37966: // 'append' 'ancestor'
|
|
case 38478: // 'append' 'ancestor-or-self'
|
|
case 38990: // 'append' 'and'
|
|
case 40014: // 'append' 'append'
|
|
case 40526: // 'append' 'array'
|
|
case 41038: // 'append' 'as'
|
|
case 41550: // 'append' 'ascending'
|
|
case 42062: // 'append' 'at'
|
|
case 42574: // 'append' 'attribute'
|
|
case 43086: // 'append' 'base-uri'
|
|
case 43598: // 'append' 'before'
|
|
case 44110: // 'append' 'boundary-space'
|
|
case 44622: // 'append' 'break'
|
|
case 45646: // 'append' 'case'
|
|
case 46158: // 'append' 'cast'
|
|
case 46670: // 'append' 'castable'
|
|
case 47182: // 'append' 'catch'
|
|
case 48206: // 'append' 'child'
|
|
case 48718: // 'append' 'collation'
|
|
case 49742: // 'append' 'comment'
|
|
case 50254: // 'append' 'constraint'
|
|
case 50766: // 'append' 'construction'
|
|
case 52302: // 'append' 'context'
|
|
case 52814: // 'append' 'continue'
|
|
case 53326: // 'append' 'copy'
|
|
case 53838: // 'append' 'copy-namespaces'
|
|
case 54350: // 'append' 'count'
|
|
case 54862: // 'append' 'decimal-format'
|
|
case 55886: // 'append' 'declare'
|
|
case 56398: // 'append' 'default'
|
|
case 56910: // 'append' 'delete'
|
|
case 57422: // 'append' 'descendant'
|
|
case 57934: // 'append' 'descendant-or-self'
|
|
case 58446: // 'append' 'descending'
|
|
case 61006: // 'append' 'div'
|
|
case 61518: // 'append' 'document'
|
|
case 62030: // 'append' 'document-node'
|
|
case 62542: // 'append' 'element'
|
|
case 63054: // 'append' 'else'
|
|
case 63566: // 'append' 'empty'
|
|
case 64078: // 'append' 'empty-sequence'
|
|
case 64590: // 'append' 'encoding'
|
|
case 65102: // 'append' 'end'
|
|
case 66126: // 'append' 'eq'
|
|
case 66638: // 'append' 'every'
|
|
case 67662: // 'append' 'except'
|
|
case 68174: // 'append' 'exit'
|
|
case 68686: // 'append' 'external'
|
|
case 69198: // 'append' 'false'
|
|
case 69710: // 'append' 'first'
|
|
case 70222: // 'append' 'following'
|
|
case 70734: // 'append' 'following-sibling'
|
|
case 71246: // 'append' 'for'
|
|
case 72782: // 'append' 'from'
|
|
case 73294: // 'append' 'ft-option'
|
|
case 75342: // 'append' 'function'
|
|
case 75854: // 'append' 'ge'
|
|
case 76878: // 'append' 'group'
|
|
case 77902: // 'append' 'gt'
|
|
case 78414: // 'append' 'idiv'
|
|
case 78926: // 'append' 'if'
|
|
case 79438: // 'append' 'import'
|
|
case 79950: // 'append' 'in'
|
|
case 80462: // 'append' 'index'
|
|
case 82510: // 'append' 'insert'
|
|
case 83022: // 'append' 'instance'
|
|
case 83534: // 'append' 'integrity'
|
|
case 84046: // 'append' 'intersect'
|
|
case 84558: // 'append' 'into'
|
|
case 85070: // 'append' 'is'
|
|
case 85582: // 'append' 'item'
|
|
case 86094: // 'append' 'json'
|
|
case 86606: // 'append' 'json-item'
|
|
case 87118: // 'append' 'jsoniq'
|
|
case 88654: // 'append' 'last'
|
|
case 89166: // 'append' 'lax'
|
|
case 89678: // 'append' 'le'
|
|
case 90702: // 'append' 'let'
|
|
case 91726: // 'append' 'loop'
|
|
case 92750: // 'append' 'lt'
|
|
case 93774: // 'append' 'mod'
|
|
case 94286: // 'append' 'modify'
|
|
case 94798: // 'append' 'module'
|
|
case 95822: // 'append' 'namespace'
|
|
case 96334: // 'append' 'namespace-node'
|
|
case 96846: // 'append' 'ne'
|
|
case 99406: // 'append' 'node'
|
|
case 99918: // 'append' 'nodes'
|
|
case 100430: // 'append' 'not'
|
|
case 100942: // 'append' 'null'
|
|
case 101454: // 'append' 'object'
|
|
case 103502: // 'append' 'only'
|
|
case 104014: // 'append' 'option'
|
|
case 104526: // 'append' 'or'
|
|
case 105038: // 'append' 'order'
|
|
case 105550: // 'append' 'ordered'
|
|
case 106062: // 'append' 'ordering'
|
|
case 107598: // 'append' 'parent'
|
|
case 110670: // 'append' 'preceding'
|
|
case 111182: // 'append' 'preceding-sibling'
|
|
case 112718: // 'append' 'processing-instruction'
|
|
case 113742: // 'append' 'rename'
|
|
case 114254: // 'append' 'replace'
|
|
case 114766: // 'append' 'return'
|
|
case 115278: // 'append' 'returning'
|
|
case 115790: // 'append' 'revalidation'
|
|
case 116814: // 'append' 'satisfies'
|
|
case 117326: // 'append' 'schema'
|
|
case 117838: // 'append' 'schema-attribute'
|
|
case 118350: // 'append' 'schema-element'
|
|
case 118862: // 'append' 'score'
|
|
case 119374: // 'append' 'select'
|
|
case 119886: // 'append' 'self'
|
|
case 122446: // 'append' 'sliding'
|
|
case 122958: // 'append' 'some'
|
|
case 123470: // 'append' 'stable'
|
|
case 123982: // 'append' 'start'
|
|
case 125518: // 'append' 'strict'
|
|
case 126542: // 'append' 'structured-item'
|
|
case 127054: // 'append' 'switch'
|
|
case 127566: // 'append' 'text'
|
|
case 129614: // 'append' 'to'
|
|
case 130126: // 'append' 'treat'
|
|
case 130638: // 'append' 'true'
|
|
case 131150: // 'append' 'try'
|
|
case 131662: // 'append' 'tumbling'
|
|
case 132174: // 'append' 'type'
|
|
case 132686: // 'append' 'typeswitch'
|
|
case 133198: // 'append' 'union'
|
|
case 134222: // 'append' 'unordered'
|
|
case 134734: // 'append' 'updating'
|
|
case 136270: // 'append' 'validate'
|
|
case 136782: // 'append' 'value'
|
|
case 137294: // 'append' 'variable'
|
|
case 137806: // 'append' 'version'
|
|
case 139342: // 'append' 'where'
|
|
case 139854: // 'append' 'while'
|
|
case 141390: // 'append' 'with'
|
|
case 143950: // 'append' '{'
|
|
case 144974: // 'append' '{|'
|
|
try_JSONAppendExpr();
|
|
break;
|
|
case -13:
|
|
break;
|
|
default:
|
|
try_OrExpr();
|
|
}
|
|
}
|
|
|
|
function parse_JSONDeleteExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONDeleteExpr", e0);
|
|
shift(111); // 'delete'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(11, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(11, e0, lk);
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shift(168); // 'json'
|
|
}
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PostfixExpr();
|
|
eventHandler.endNonterminal("JSONDeleteExpr", e0);
|
|
}
|
|
|
|
function try_JSONDeleteExpr()
|
|
{
|
|
shiftT(111); // 'delete'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(11, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
memoize(11, e0A, -1);
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(11, e0A, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shiftT(168); // 'json'
|
|
}
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PostfixExpr();
|
|
}
|
|
|
|
function parse_JSONInsertExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONInsertExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 161: // 'insert'
|
|
lookahead2W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 9889) // 'insert' NCName^Token
|
|
{
|
|
lk = memoized(12, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(161); // 'insert'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(13, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
memoize(13, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(13, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shiftT(168); // 'json'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(72); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 110162) // 'at' 'position'
|
|
{
|
|
lk = memoized(14, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shiftT(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
memoize(14, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(14, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shiftT(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(12, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shift(161); // 'insert'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(13, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
lk = -1;
|
|
}
|
|
catch (p1B)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(13, e0, lk);
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shift(168); // 'json'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(72); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 110162) // 'at' 'position'
|
|
{
|
|
lk = memoized(14, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shiftT(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
lk = -1;
|
|
}
|
|
catch (p1B)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(14, e0, lk);
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shift(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shift(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
break;
|
|
default:
|
|
shift(161); // 'insert'
|
|
lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(15, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
lk = -1;
|
|
}
|
|
catch (p1B)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(15, e0, lk);
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 9896 // 'json' NCName^Token
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shift(168); // 'json'
|
|
}
|
|
lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PairConstructorList();
|
|
shift(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("JSONInsertExpr", e0);
|
|
}
|
|
|
|
function try_JSONInsertExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 161: // 'insert'
|
|
lookahead2W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 9889) // 'insert' NCName^Token
|
|
{
|
|
lk = memoized(12, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(161); // 'insert'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(13, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
memoize(13, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(13, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shiftT(168); // 'json'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(72); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 110162) // 'at' 'position'
|
|
{
|
|
lk = memoized(14, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shiftT(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
memoize(14, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(14, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shiftT(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
memoize(12, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(12, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shiftT(161); // 'insert'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(13, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
memoize(13, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(13, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shiftT(168); // 'json'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 82: // 'at'
|
|
lookahead2W(72); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 110162) // 'at' 'position'
|
|
{
|
|
lk = memoized(14, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shiftT(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
memoize(14, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(14, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shiftT(82); // 'at'
|
|
lookahead1W(72); // S^WS | '(:' | 'position'
|
|
shiftT(215); // 'position'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
shiftT(161); // 'insert'
|
|
lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(15, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
memoize(15, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(15, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 9896 // 'json' NCName^Token
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shiftT(168); // 'json'
|
|
}
|
|
lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PairConstructorList();
|
|
shiftT(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_JSONRenameExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONRenameExpr", e0);
|
|
shift(222); // 'rename'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(16, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(16, e0, lk);
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shift(168); // 'json'
|
|
}
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PostfixExpr();
|
|
shift(80); // 'as'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("JSONRenameExpr", e0);
|
|
}
|
|
|
|
function try_JSONRenameExpr()
|
|
{
|
|
shiftT(222); // 'rename'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(260); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(16, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
memoize(16, e0A, -1);
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(16, e0A, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shiftT(168); // 'json'
|
|
}
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PostfixExpr();
|
|
shiftT(80); // 'as'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_JSONReplaceExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONReplaceExpr", e0);
|
|
shift(223); // 'replace'
|
|
lookahead1W(85); // S^WS | '(:' | 'value'
|
|
shift(267); // 'value'
|
|
lookahead1W(67); // S^WS | '(:' | 'of'
|
|
shift(200); // 'of'
|
|
lookahead1W(59); // S^WS | '(:' | 'json'
|
|
shift(168); // 'json'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PostfixExpr();
|
|
shift(276); // 'with'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("JSONReplaceExpr", e0);
|
|
}
|
|
|
|
function try_JSONReplaceExpr()
|
|
{
|
|
shiftT(223); // 'replace'
|
|
lookahead1W(85); // S^WS | '(:' | 'value'
|
|
shiftT(267); // 'value'
|
|
lookahead1W(67); // S^WS | '(:' | 'of'
|
|
shiftT(200); // 'of'
|
|
lookahead1W(59); // S^WS | '(:' | 'json'
|
|
shiftT(168); // 'json'
|
|
lookahead1W(259); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PostfixExpr();
|
|
shiftT(276); // 'with'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_JSONAppendExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONAppendExpr", e0);
|
|
shift(78); // 'append'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(17, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(17, e0, lk);
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shift(168); // 'json'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("JSONAppendExpr", e0);
|
|
}
|
|
|
|
function try_JSONAppendExpr()
|
|
{
|
|
shiftT(78); // 'append'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
switch (l1)
|
|
{
|
|
case 168: // 'json'
|
|
lookahead2W(268); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 18088) // 'json' '('
|
|
{
|
|
lk = memoized(17, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(168); // 'json'
|
|
memoize(17, e0A, -1);
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(17, e0A, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1
|
|
|| lk == 3240 // 'json' EQName^Token
|
|
|| lk == 4264 // 'json' IntegerLiteral
|
|
|| lk == 4776 // 'json' DecimalLiteral
|
|
|| lk == 5288 // 'json' DoubleLiteral
|
|
|| lk == 5800 // 'json' StringLiteral
|
|
|| lk == 16040 // 'json' '$'
|
|
|| lk == 16552 // 'json' '$$'
|
|
|| lk == 17064 // 'json' '%'
|
|
|| lk == 18600 // 'json' '(#'
|
|
|| lk == 21160 // 'json' '+'
|
|
|| lk == 22184 // 'json' '-'
|
|
|| lk == 24232 // 'json' '/'
|
|
|| lk == 24744 // 'json' '//'
|
|
|| lk == 28328 // 'json' '<'
|
|
|| lk == 28840 // 'json' '<!--'
|
|
|| lk == 30888 // 'json' '<?'
|
|
|| lk == 35496 // 'json' '['
|
|
|| lk == 36520 // 'json' 'after'
|
|
|| lk == 37544 // 'json' 'allowing'
|
|
|| lk == 38056 // 'json' 'ancestor'
|
|
|| lk == 38568 // 'json' 'ancestor-or-self'
|
|
|| lk == 39080 // 'json' 'and'
|
|
|| lk == 40104 // 'json' 'append'
|
|
|| lk == 40616 // 'json' 'array'
|
|
|| lk == 41128 // 'json' 'as'
|
|
|| lk == 41640 // 'json' 'ascending'
|
|
|| lk == 42152 // 'json' 'at'
|
|
|| lk == 42664 // 'json' 'attribute'
|
|
|| lk == 43176 // 'json' 'base-uri'
|
|
|| lk == 43688 // 'json' 'before'
|
|
|| lk == 44200 // 'json' 'boundary-space'
|
|
|| lk == 44712 // 'json' 'break'
|
|
|| lk == 45736 // 'json' 'case'
|
|
|| lk == 46248 // 'json' 'cast'
|
|
|| lk == 46760 // 'json' 'castable'
|
|
|| lk == 47272 // 'json' 'catch'
|
|
|| lk == 48296 // 'json' 'child'
|
|
|| lk == 48808 // 'json' 'collation'
|
|
|| lk == 49832 // 'json' 'comment'
|
|
|| lk == 50344 // 'json' 'constraint'
|
|
|| lk == 50856 // 'json' 'construction'
|
|
|| lk == 52392 // 'json' 'context'
|
|
|| lk == 52904 // 'json' 'continue'
|
|
|| lk == 53416 // 'json' 'copy'
|
|
|| lk == 53928 // 'json' 'copy-namespaces'
|
|
|| lk == 54440 // 'json' 'count'
|
|
|| lk == 54952 // 'json' 'decimal-format'
|
|
|| lk == 55976 // 'json' 'declare'
|
|
|| lk == 56488 // 'json' 'default'
|
|
|| lk == 57000 // 'json' 'delete'
|
|
|| lk == 57512 // 'json' 'descendant'
|
|
|| lk == 58024 // 'json' 'descendant-or-self'
|
|
|| lk == 58536 // 'json' 'descending'
|
|
|| lk == 61096 // 'json' 'div'
|
|
|| lk == 61608 // 'json' 'document'
|
|
|| lk == 62120 // 'json' 'document-node'
|
|
|| lk == 62632 // 'json' 'element'
|
|
|| lk == 63144 // 'json' 'else'
|
|
|| lk == 63656 // 'json' 'empty'
|
|
|| lk == 64168 // 'json' 'empty-sequence'
|
|
|| lk == 64680 // 'json' 'encoding'
|
|
|| lk == 65192 // 'json' 'end'
|
|
|| lk == 66216 // 'json' 'eq'
|
|
|| lk == 66728 // 'json' 'every'
|
|
|| lk == 67752 // 'json' 'except'
|
|
|| lk == 68264 // 'json' 'exit'
|
|
|| lk == 68776 // 'json' 'external'
|
|
|| lk == 69288 // 'json' 'false'
|
|
|| lk == 69800 // 'json' 'first'
|
|
|| lk == 70312 // 'json' 'following'
|
|
|| lk == 70824 // 'json' 'following-sibling'
|
|
|| lk == 71336 // 'json' 'for'
|
|
|| lk == 72872 // 'json' 'from'
|
|
|| lk == 73384 // 'json' 'ft-option'
|
|
|| lk == 75432 // 'json' 'function'
|
|
|| lk == 75944 // 'json' 'ge'
|
|
|| lk == 76968 // 'json' 'group'
|
|
|| lk == 77992 // 'json' 'gt'
|
|
|| lk == 78504 // 'json' 'idiv'
|
|
|| lk == 79016 // 'json' 'if'
|
|
|| lk == 79528 // 'json' 'import'
|
|
|| lk == 80040 // 'json' 'in'
|
|
|| lk == 80552 // 'json' 'index'
|
|
|| lk == 82600 // 'json' 'insert'
|
|
|| lk == 83112 // 'json' 'instance'
|
|
|| lk == 83624 // 'json' 'integrity'
|
|
|| lk == 84136 // 'json' 'intersect'
|
|
|| lk == 84648 // 'json' 'into'
|
|
|| lk == 85160 // 'json' 'is'
|
|
|| lk == 85672 // 'json' 'item'
|
|
|| lk == 86184 // 'json' 'json'
|
|
|| lk == 86696 // 'json' 'json-item'
|
|
|| lk == 87208 // 'json' 'jsoniq'
|
|
|| lk == 88744 // 'json' 'last'
|
|
|| lk == 89256 // 'json' 'lax'
|
|
|| lk == 89768 // 'json' 'le'
|
|
|| lk == 90792 // 'json' 'let'
|
|
|| lk == 91816 // 'json' 'loop'
|
|
|| lk == 92840 // 'json' 'lt'
|
|
|| lk == 93864 // 'json' 'mod'
|
|
|| lk == 94376 // 'json' 'modify'
|
|
|| lk == 94888 // 'json' 'module'
|
|
|| lk == 95912 // 'json' 'namespace'
|
|
|| lk == 96424 // 'json' 'namespace-node'
|
|
|| lk == 96936 // 'json' 'ne'
|
|
|| lk == 99496 // 'json' 'node'
|
|
|| lk == 100008 // 'json' 'nodes'
|
|
|| lk == 100520 // 'json' 'not'
|
|
|| lk == 101032 // 'json' 'null'
|
|
|| lk == 101544 // 'json' 'object'
|
|
|| lk == 103592 // 'json' 'only'
|
|
|| lk == 104104 // 'json' 'option'
|
|
|| lk == 104616 // 'json' 'or'
|
|
|| lk == 105128 // 'json' 'order'
|
|
|| lk == 105640 // 'json' 'ordered'
|
|
|| lk == 106152 // 'json' 'ordering'
|
|
|| lk == 107688 // 'json' 'parent'
|
|
|| lk == 110760 // 'json' 'preceding'
|
|
|| lk == 111272 // 'json' 'preceding-sibling'
|
|
|| lk == 112808 // 'json' 'processing-instruction'
|
|
|| lk == 113832 // 'json' 'rename'
|
|
|| lk == 114344 // 'json' 'replace'
|
|
|| lk == 114856 // 'json' 'return'
|
|
|| lk == 115368 // 'json' 'returning'
|
|
|| lk == 115880 // 'json' 'revalidation'
|
|
|| lk == 116904 // 'json' 'satisfies'
|
|
|| lk == 117416 // 'json' 'schema'
|
|
|| lk == 117928 // 'json' 'schema-attribute'
|
|
|| lk == 118440 // 'json' 'schema-element'
|
|
|| lk == 118952 // 'json' 'score'
|
|
|| lk == 119464 // 'json' 'select'
|
|
|| lk == 119976 // 'json' 'self'
|
|
|| lk == 122536 // 'json' 'sliding'
|
|
|| lk == 123048 // 'json' 'some'
|
|
|| lk == 123560 // 'json' 'stable'
|
|
|| lk == 124072 // 'json' 'start'
|
|
|| lk == 125608 // 'json' 'strict'
|
|
|| lk == 126632 // 'json' 'structured-item'
|
|
|| lk == 127144 // 'json' 'switch'
|
|
|| lk == 127656 // 'json' 'text'
|
|
|| lk == 129704 // 'json' 'to'
|
|
|| lk == 130216 // 'json' 'treat'
|
|
|| lk == 130728 // 'json' 'true'
|
|
|| lk == 131240 // 'json' 'try'
|
|
|| lk == 131752 // 'json' 'tumbling'
|
|
|| lk == 132264 // 'json' 'type'
|
|
|| lk == 132776 // 'json' 'typeswitch'
|
|
|| lk == 133288 // 'json' 'union'
|
|
|| lk == 134312 // 'json' 'unordered'
|
|
|| lk == 134824 // 'json' 'updating'
|
|
|| lk == 136360 // 'json' 'validate'
|
|
|| lk == 136872 // 'json' 'value'
|
|
|| lk == 137384 // 'json' 'variable'
|
|
|| lk == 137896 // 'json' 'version'
|
|
|| lk == 139432 // 'json' 'where'
|
|
|| lk == 139944 // 'json' 'while'
|
|
|| lk == 141480 // 'json' 'with'
|
|
|| lk == 144040 // 'json' '{'
|
|
|| lk == 145064) // 'json' '{|'
|
|
{
|
|
shiftT(168); // 'json'
|
|
}
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
shiftT(165); // 'into'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_CommonContent()
|
|
{
|
|
eventHandler.startNonterminal("CommonContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 12: // PredefinedEntityRef
|
|
shift(12); // PredefinedEntityRef
|
|
break;
|
|
case 23: // CharRef
|
|
shift(23); // CharRef
|
|
break;
|
|
case 282: // '{{'
|
|
shift(282); // '{{'
|
|
break;
|
|
case 288: // '}}'
|
|
shift(288); // '}}'
|
|
break;
|
|
default:
|
|
parse_BlockExpr();
|
|
}
|
|
eventHandler.endNonterminal("CommonContent", e0);
|
|
}
|
|
|
|
function try_CommonContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 12: // PredefinedEntityRef
|
|
shiftT(12); // PredefinedEntityRef
|
|
break;
|
|
case 23: // CharRef
|
|
shiftT(23); // CharRef
|
|
break;
|
|
case 282: // '{{'
|
|
shiftT(282); // '{{'
|
|
break;
|
|
case 288: // '}}'
|
|
shiftT(288); // '}}'
|
|
break;
|
|
default:
|
|
try_BlockExpr();
|
|
}
|
|
}
|
|
|
|
function parse_ContentExpr()
|
|
{
|
|
eventHandler.startNonterminal("ContentExpr", e0);
|
|
parse_StatementsAndExpr();
|
|
eventHandler.endNonterminal("ContentExpr", e0);
|
|
}
|
|
|
|
function try_ContentExpr()
|
|
{
|
|
try_StatementsAndExpr();
|
|
}
|
|
|
|
function parse_CompDocConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompDocConstructor", e0);
|
|
shift(120); // 'document'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
eventHandler.endNonterminal("CompDocConstructor", e0);
|
|
}
|
|
|
|
function try_CompDocConstructor()
|
|
{
|
|
shiftT(120); // 'document'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
try_BlockExpr();
|
|
}
|
|
|
|
function parse_CompAttrConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompAttrConstructor", e0);
|
|
shift(83); // 'attribute'
|
|
lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_EQName();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 147225) // '{' '}'
|
|
{
|
|
lk = memoized(18, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shiftT(287); // '}'
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(18, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shift(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shift(287); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
}
|
|
eventHandler.endNonterminal("CompAttrConstructor", e0);
|
|
}
|
|
|
|
function try_CompAttrConstructor()
|
|
{
|
|
shiftT(83); // 'attribute'
|
|
lookahead1W(249); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
break;
|
|
default:
|
|
try_EQName();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 147225) // '{' '}'
|
|
{
|
|
lk = memoized(18, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shiftT(287); // '}'
|
|
memoize(18, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(18, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shiftT(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shiftT(287); // '}'
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_BlockExpr();
|
|
}
|
|
}
|
|
|
|
function parse_CompPIConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompPIConstructor", e0);
|
|
shift(220); // 'processing-instruction'
|
|
lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shift(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(287); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_NCName();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 147225) // '{' '}'
|
|
{
|
|
lk = memoized(19, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shiftT(287); // '}'
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(19, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shift(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shift(287); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
}
|
|
eventHandler.endNonterminal("CompPIConstructor", e0);
|
|
}
|
|
|
|
function try_CompPIConstructor()
|
|
{
|
|
shiftT(220); // 'processing-instruction'
|
|
lookahead1W(241); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shiftT(281); // '{'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_Expr();
|
|
shiftT(287); // '}'
|
|
break;
|
|
default:
|
|
try_NCName();
|
|
}
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
lookahead2W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 147225) // '{' '}'
|
|
{
|
|
lk = memoized(19, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shiftT(287); // '}'
|
|
memoize(19, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(19, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shiftT(281); // '{'
|
|
lookahead1W(91); // S^WS | '(:' | '}'
|
|
shiftT(287); // '}'
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_BlockExpr();
|
|
}
|
|
}
|
|
|
|
function parse_CompCommentConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompCommentConstructor", e0);
|
|
shift(97); // 'comment'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
eventHandler.endNonterminal("CompCommentConstructor", e0);
|
|
}
|
|
|
|
function try_CompCommentConstructor()
|
|
{
|
|
shiftT(97); // 'comment'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
try_BlockExpr();
|
|
}
|
|
|
|
function parse_CompTextConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompTextConstructor", e0);
|
|
shift(249); // 'text'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
eventHandler.endNonterminal("CompTextConstructor", e0);
|
|
}
|
|
|
|
function try_CompTextConstructor()
|
|
{
|
|
shiftT(249); // 'text'
|
|
lookahead1W(90); // S^WS | '(:' | '{'
|
|
try_BlockExpr();
|
|
}
|
|
|
|
function parse_PrimaryExpr()
|
|
{
|
|
eventHandler.startNonterminal("PrimaryExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 187: // 'namespace'
|
|
lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 281: // '{'
|
|
lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 83: // 'attribute'
|
|
case 122: // 'element'
|
|
lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 97: // 'comment'
|
|
case 249: // 'text'
|
|
lookahead2W(97); // S^WS | '#' | '(:' | '{'
|
|
break;
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 262: // 'unordered'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 76: // 'and'
|
|
case 78: // 'append'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 87: // 'break'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 94: // 'child'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 103: // 'continue'
|
|
case 104: // 'copy'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 111: // 'delete'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 130: // 'every'
|
|
case 132: // 'except'
|
|
case 133: // 'exit'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 139: // 'for'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 161: // 'insert'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 177: // 'let'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 189: // 'ne'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 222: // 'rename'
|
|
case 223: // 'replace'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 234: // 'self'
|
|
case 239: // 'sliding'
|
|
case 240: // 'some'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 256: // 'try'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 266: // 'validate'
|
|
case 267: // 'value'
|
|
case 268: // 'variable'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 3353 // '{' EQName^Token
|
|
|| lk == 4377 // '{' IntegerLiteral
|
|
|| lk == 4889 // '{' DecimalLiteral
|
|
|| lk == 5401 // '{' DoubleLiteral
|
|
|| lk == 5913 // '{' StringLiteral
|
|
|| lk == 16153 // '{' '$'
|
|
|| lk == 16665 // '{' '$$'
|
|
|| lk == 17177 // '{' '%'
|
|
|| lk == 18055 // 'false' '('
|
|
|| lk == 18117 // 'null' '('
|
|
|| lk == 18175 // 'true' '('
|
|
|| lk == 18201 // '{' '('
|
|
|| lk == 18713 // '{' '(#'
|
|
|| lk == 21273 // '{' '+'
|
|
|| lk == 22297 // '{' '-'
|
|
|| lk == 24345 // '{' '/'
|
|
|| lk == 24857 // '{' '//'
|
|
|| lk == 28441 // '{' '<'
|
|
|| lk == 28953 // '{' '<!--'
|
|
|| lk == 31001 // '{' '<?'
|
|
|| lk == 35609 // '{' '['
|
|
|| lk == 36633 // '{' 'after'
|
|
|| lk == 37657 // '{' 'allowing'
|
|
|| lk == 38169 // '{' 'ancestor'
|
|
|| lk == 38681 // '{' 'ancestor-or-self'
|
|
|| lk == 39193 // '{' 'and'
|
|
|| lk == 40217 // '{' 'append'
|
|
|| lk == 40729 // '{' 'array'
|
|
|| lk == 41241 // '{' 'as'
|
|
|| lk == 41753 // '{' 'ascending'
|
|
|| lk == 42265 // '{' 'at'
|
|
|| lk == 42777 // '{' 'attribute'
|
|
|| lk == 43289 // '{' 'base-uri'
|
|
|| lk == 43801 // '{' 'before'
|
|
|| lk == 44313 // '{' 'boundary-space'
|
|
|| lk == 44825 // '{' 'break'
|
|
|| lk == 45849 // '{' 'case'
|
|
|| lk == 46361 // '{' 'cast'
|
|
|| lk == 46873 // '{' 'castable'
|
|
|| lk == 47385 // '{' 'catch'
|
|
|| lk == 48409 // '{' 'child'
|
|
|| lk == 48921 // '{' 'collation'
|
|
|| lk == 49945 // '{' 'comment'
|
|
|| lk == 50457 // '{' 'constraint'
|
|
|| lk == 50969 // '{' 'construction'
|
|
|| lk == 52505 // '{' 'context'
|
|
|| lk == 53017 // '{' 'continue'
|
|
|| lk == 53529 // '{' 'copy'
|
|
|| lk == 54041 // '{' 'copy-namespaces'
|
|
|| lk == 54553 // '{' 'count'
|
|
|| lk == 55065 // '{' 'decimal-format'
|
|
|| lk == 56089 // '{' 'declare'
|
|
|| lk == 56601 // '{' 'default'
|
|
|| lk == 57113 // '{' 'delete'
|
|
|| lk == 57625 // '{' 'descendant'
|
|
|| lk == 58137 // '{' 'descendant-or-self'
|
|
|| lk == 58649 // '{' 'descending'
|
|
|| lk == 61209 // '{' 'div'
|
|
|| lk == 61721 // '{' 'document'
|
|
|| lk == 62233 // '{' 'document-node'
|
|
|| lk == 62745 // '{' 'element'
|
|
|| lk == 63257 // '{' 'else'
|
|
|| lk == 63769 // '{' 'empty'
|
|
|| lk == 64281 // '{' 'empty-sequence'
|
|
|| lk == 64793 // '{' 'encoding'
|
|
|| lk == 65305 // '{' 'end'
|
|
|| lk == 66329 // '{' 'eq'
|
|
|| lk == 66841 // '{' 'every'
|
|
|| lk == 67865 // '{' 'except'
|
|
|| lk == 68377 // '{' 'exit'
|
|
|| lk == 68889 // '{' 'external'
|
|
|| lk == 69401 // '{' 'false'
|
|
|| lk == 69913 // '{' 'first'
|
|
|| lk == 70425 // '{' 'following'
|
|
|| lk == 70937 // '{' 'following-sibling'
|
|
|| lk == 71449 // '{' 'for'
|
|
|| lk == 72985 // '{' 'from'
|
|
|| lk == 73497 // '{' 'ft-option'
|
|
|| lk == 75545 // '{' 'function'
|
|
|| lk == 76057 // '{' 'ge'
|
|
|| lk == 77081 // '{' 'group'
|
|
|| lk == 78105 // '{' 'gt'
|
|
|| lk == 78617 // '{' 'idiv'
|
|
|| lk == 79129 // '{' 'if'
|
|
|| lk == 79641 // '{' 'import'
|
|
|| lk == 80153 // '{' 'in'
|
|
|| lk == 80665 // '{' 'index'
|
|
|| lk == 82713 // '{' 'insert'
|
|
|| lk == 83225 // '{' 'instance'
|
|
|| lk == 83737 // '{' 'integrity'
|
|
|| lk == 84249 // '{' 'intersect'
|
|
|| lk == 84761 // '{' 'into'
|
|
|| lk == 85273 // '{' 'is'
|
|
|| lk == 85785 // '{' 'item'
|
|
|| lk == 86297 // '{' 'json'
|
|
|| lk == 86809 // '{' 'json-item'
|
|
|| lk == 87321 // '{' 'jsoniq'
|
|
|| lk == 88857 // '{' 'last'
|
|
|| lk == 89369 // '{' 'lax'
|
|
|| lk == 89881 // '{' 'le'
|
|
|| lk == 90905 // '{' 'let'
|
|
|| lk == 91929 // '{' 'loop'
|
|
|| lk == 92953 // '{' 'lt'
|
|
|| lk == 93977 // '{' 'mod'
|
|
|| lk == 94489 // '{' 'modify'
|
|
|| lk == 95001 // '{' 'module'
|
|
|| lk == 96025 // '{' 'namespace'
|
|
|| lk == 96537 // '{' 'namespace-node'
|
|
|| lk == 97049 // '{' 'ne'
|
|
|| lk == 99609 // '{' 'node'
|
|
|| lk == 100121 // '{' 'nodes'
|
|
|| lk == 100633 // '{' 'not'
|
|
|| lk == 101145 // '{' 'null'
|
|
|| lk == 101657 // '{' 'object'
|
|
|| lk == 103705 // '{' 'only'
|
|
|| lk == 104217 // '{' 'option'
|
|
|| lk == 104729 // '{' 'or'
|
|
|| lk == 105241 // '{' 'order'
|
|
|| lk == 105753 // '{' 'ordered'
|
|
|| lk == 106265 // '{' 'ordering'
|
|
|| lk == 107801 // '{' 'parent'
|
|
|| lk == 110873 // '{' 'preceding'
|
|
|| lk == 111385 // '{' 'preceding-sibling'
|
|
|| lk == 112921 // '{' 'processing-instruction'
|
|
|| lk == 113945 // '{' 'rename'
|
|
|| lk == 114457 // '{' 'replace'
|
|
|| lk == 114969 // '{' 'return'
|
|
|| lk == 115481 // '{' 'returning'
|
|
|| lk == 115993 // '{' 'revalidation'
|
|
|| lk == 117017 // '{' 'satisfies'
|
|
|| lk == 117529 // '{' 'schema'
|
|
|| lk == 118041 // '{' 'schema-attribute'
|
|
|| lk == 118553 // '{' 'schema-element'
|
|
|| lk == 119065 // '{' 'score'
|
|
|| lk == 119577 // '{' 'select'
|
|
|| lk == 120089 // '{' 'self'
|
|
|| lk == 122649 // '{' 'sliding'
|
|
|| lk == 123161 // '{' 'some'
|
|
|| lk == 123673 // '{' 'stable'
|
|
|| lk == 124185 // '{' 'start'
|
|
|| lk == 125721 // '{' 'strict'
|
|
|| lk == 126745 // '{' 'structured-item'
|
|
|| lk == 127257 // '{' 'switch'
|
|
|| lk == 127769 // '{' 'text'
|
|
|| lk == 129817 // '{' 'to'
|
|
|| lk == 130329 // '{' 'treat'
|
|
|| lk == 130841 // '{' 'true'
|
|
|| lk == 131353 // '{' 'try'
|
|
|| lk == 131865 // '{' 'tumbling'
|
|
|| lk == 132377 // '{' 'type'
|
|
|| lk == 132889 // '{' 'typeswitch'
|
|
|| lk == 133401 // '{' 'union'
|
|
|| lk == 134425 // '{' 'unordered'
|
|
|| lk == 134937 // '{' 'updating'
|
|
|| lk == 136473 // '{' 'validate'
|
|
|| lk == 136985 // '{' 'value'
|
|
|| lk == 137497 // '{' 'variable'
|
|
|| lk == 138009 // '{' 'version'
|
|
|| lk == 139545 // '{' 'where'
|
|
|| lk == 140057 // '{' 'while'
|
|
|| lk == 141593 // '{' 'with'
|
|
|| lk == 144153 // '{' '{'
|
|
|| lk == 145177 // '{' '{|'
|
|
|| lk == 147225) // '{' '}'
|
|
{
|
|
lk = memoized(20, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Literal();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_FunctionCall();
|
|
lk = -5;
|
|
}
|
|
catch (p5A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_BlockExpr();
|
|
lk = -10;
|
|
}
|
|
catch (p10A)
|
|
{
|
|
lk = -11;
|
|
}
|
|
}
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(20, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 12935: // 'false' EOF
|
|
case 12997: // 'null' EOF
|
|
case 13055: // 'true' EOF
|
|
case 13447: // 'false' '!'
|
|
case 13509: // 'null' '!'
|
|
case 13567: // 'true' '!'
|
|
case 13959: // 'false' '!='
|
|
case 14021: // 'null' '!='
|
|
case 14079: // 'true' '!='
|
|
case 19591: // 'false' ')'
|
|
case 19653: // 'null' ')'
|
|
case 19711: // 'true' ')'
|
|
case 20103: // 'false' '*'
|
|
case 20165: // 'null' '*'
|
|
case 20223: // 'true' '*'
|
|
case 21127: // 'false' '+'
|
|
case 21189: // 'null' '+'
|
|
case 21247: // 'true' '+'
|
|
case 21639: // 'false' ','
|
|
case 21701: // 'null' ','
|
|
case 21759: // 'true' ','
|
|
case 22151: // 'false' '-'
|
|
case 22213: // 'null' '-'
|
|
case 22271: // 'true' '-'
|
|
case 23175: // 'false' '.'
|
|
case 23237: // 'null' '.'
|
|
case 23295: // 'true' '.'
|
|
case 24199: // 'false' '/'
|
|
case 24261: // 'null' '/'
|
|
case 24319: // 'true' '/'
|
|
case 24711: // 'false' '//'
|
|
case 24773: // 'null' '//'
|
|
case 24831: // 'true' '//'
|
|
case 25735: // 'false' ':'
|
|
case 25797: // 'null' ':'
|
|
case 25855: // 'true' ':'
|
|
case 27783: // 'false' ';'
|
|
case 27845: // 'null' ';'
|
|
case 27903: // 'true' ';'
|
|
case 28295: // 'false' '<'
|
|
case 28357: // 'null' '<'
|
|
case 28415: // 'true' '<'
|
|
case 29831: // 'false' '<<'
|
|
case 29893: // 'null' '<<'
|
|
case 29951: // 'true' '<<'
|
|
case 30343: // 'false' '<='
|
|
case 30405: // 'null' '<='
|
|
case 30463: // 'true' '<='
|
|
case 31367: // 'false' '='
|
|
case 31429: // 'null' '='
|
|
case 31487: // 'true' '='
|
|
case 31879: // 'false' '>'
|
|
case 31941: // 'null' '>'
|
|
case 31999: // 'true' '>'
|
|
case 32391: // 'false' '>='
|
|
case 32453: // 'null' '>='
|
|
case 32511: // 'true' '>='
|
|
case 32903: // 'false' '>>'
|
|
case 32965: // 'null' '>>'
|
|
case 33023: // 'true' '>>'
|
|
case 35463: // 'false' '['
|
|
case 35525: // 'null' '['
|
|
case 35583: // 'true' '['
|
|
case 35975: // 'false' ']'
|
|
case 36037: // 'null' ']'
|
|
case 36095: // 'true' ']'
|
|
case 36487: // 'false' 'after'
|
|
case 36549: // 'null' 'after'
|
|
case 36607: // 'true' 'after'
|
|
case 39047: // 'false' 'and'
|
|
case 39109: // 'null' 'and'
|
|
case 39167: // 'true' 'and'
|
|
case 41095: // 'false' 'as'
|
|
case 41157: // 'null' 'as'
|
|
case 41215: // 'true' 'as'
|
|
case 41607: // 'false' 'ascending'
|
|
case 41669: // 'null' 'ascending'
|
|
case 41727: // 'true' 'ascending'
|
|
case 42119: // 'false' 'at'
|
|
case 42181: // 'null' 'at'
|
|
case 42239: // 'true' 'at'
|
|
case 43655: // 'false' 'before'
|
|
case 43717: // 'null' 'before'
|
|
case 43775: // 'true' 'before'
|
|
case 45191: // 'false' 'by'
|
|
case 45253: // 'null' 'by'
|
|
case 45311: // 'true' 'by'
|
|
case 45703: // 'false' 'case'
|
|
case 45765: // 'null' 'case'
|
|
case 45823: // 'true' 'case'
|
|
case 46215: // 'false' 'cast'
|
|
case 46277: // 'null' 'cast'
|
|
case 46335: // 'true' 'cast'
|
|
case 46727: // 'false' 'castable'
|
|
case 46789: // 'null' 'castable'
|
|
case 46847: // 'true' 'castable'
|
|
case 48775: // 'false' 'collation'
|
|
case 48837: // 'null' 'collation'
|
|
case 48895: // 'true' 'collation'
|
|
case 51335: // 'false' 'contains'
|
|
case 51397: // 'null' 'contains'
|
|
case 51455: // 'true' 'contains'
|
|
case 54407: // 'false' 'count'
|
|
case 54469: // 'null' 'count'
|
|
case 54527: // 'true' 'count'
|
|
case 56455: // 'false' 'default'
|
|
case 56517: // 'null' 'default'
|
|
case 56575: // 'true' 'default'
|
|
case 58503: // 'false' 'descending'
|
|
case 58565: // 'null' 'descending'
|
|
case 58623: // 'true' 'descending'
|
|
case 61063: // 'false' 'div'
|
|
case 61125: // 'null' 'div'
|
|
case 61183: // 'true' 'div'
|
|
case 63111: // 'false' 'else'
|
|
case 63173: // 'null' 'else'
|
|
case 63231: // 'true' 'else'
|
|
case 63623: // 'false' 'empty'
|
|
case 63685: // 'null' 'empty'
|
|
case 63743: // 'true' 'empty'
|
|
case 65159: // 'false' 'end'
|
|
case 65221: // 'null' 'end'
|
|
case 65279: // 'true' 'end'
|
|
case 66183: // 'false' 'eq'
|
|
case 66245: // 'null' 'eq'
|
|
case 66303: // 'true' 'eq'
|
|
case 67719: // 'false' 'except'
|
|
case 67781: // 'null' 'except'
|
|
case 67839: // 'true' 'except'
|
|
case 71303: // 'false' 'for'
|
|
case 71365: // 'null' 'for'
|
|
case 71423: // 'true' 'for'
|
|
case 75911: // 'false' 'ge'
|
|
case 75973: // 'null' 'ge'
|
|
case 76031: // 'true' 'ge'
|
|
case 76935: // 'false' 'group'
|
|
case 76997: // 'null' 'group'
|
|
case 77055: // 'true' 'group'
|
|
case 77959: // 'false' 'gt'
|
|
case 78021: // 'null' 'gt'
|
|
case 78079: // 'true' 'gt'
|
|
case 78471: // 'false' 'idiv'
|
|
case 78533: // 'null' 'idiv'
|
|
case 78591: // 'true' 'idiv'
|
|
case 83079: // 'false' 'instance'
|
|
case 83141: // 'null' 'instance'
|
|
case 83199: // 'true' 'instance'
|
|
case 84103: // 'false' 'intersect'
|
|
case 84165: // 'null' 'intersect'
|
|
case 84223: // 'true' 'intersect'
|
|
case 84615: // 'false' 'into'
|
|
case 84677: // 'null' 'into'
|
|
case 84735: // 'true' 'into'
|
|
case 85127: // 'false' 'is'
|
|
case 85189: // 'null' 'is'
|
|
case 85247: // 'true' 'is'
|
|
case 89735: // 'false' 'le'
|
|
case 89797: // 'null' 'le'
|
|
case 89855: // 'true' 'le'
|
|
case 90759: // 'false' 'let'
|
|
case 90821: // 'null' 'let'
|
|
case 90879: // 'true' 'let'
|
|
case 92807: // 'false' 'lt'
|
|
case 92869: // 'null' 'lt'
|
|
case 92927: // 'true' 'lt'
|
|
case 93831: // 'false' 'mod'
|
|
case 93893: // 'null' 'mod'
|
|
case 93951: // 'true' 'mod'
|
|
case 94343: // 'false' 'modify'
|
|
case 94405: // 'null' 'modify'
|
|
case 94463: // 'true' 'modify'
|
|
case 96903: // 'false' 'ne'
|
|
case 96965: // 'null' 'ne'
|
|
case 97023: // 'true' 'ne'
|
|
case 103559: // 'false' 'only'
|
|
case 103621: // 'null' 'only'
|
|
case 103679: // 'true' 'only'
|
|
case 104583: // 'false' 'or'
|
|
case 104645: // 'null' 'or'
|
|
case 104703: // 'true' 'or'
|
|
case 105095: // 'false' 'order'
|
|
case 105157: // 'null' 'order'
|
|
case 105215: // 'true' 'order'
|
|
case 107143: // 'false' 'paragraphs'
|
|
case 107205: // 'null' 'paragraphs'
|
|
case 107263: // 'true' 'paragraphs'
|
|
case 114823: // 'false' 'return'
|
|
case 114885: // 'null' 'return'
|
|
case 114943: // 'true' 'return'
|
|
case 116871: // 'false' 'satisfies'
|
|
case 116933: // 'null' 'satisfies'
|
|
case 116991: // 'true' 'satisfies'
|
|
case 121479: // 'false' 'sentences'
|
|
case 121541: // 'null' 'sentences'
|
|
case 121599: // 'true' 'sentences'
|
|
case 123527: // 'false' 'stable'
|
|
case 123589: // 'null' 'stable'
|
|
case 123647: // 'true' 'stable'
|
|
case 124039: // 'false' 'start'
|
|
case 124101: // 'null' 'start'
|
|
case 124159: // 'true' 'start'
|
|
case 129159: // 'false' 'times'
|
|
case 129221: // 'null' 'times'
|
|
case 129279: // 'true' 'times'
|
|
case 129671: // 'false' 'to'
|
|
case 129733: // 'null' 'to'
|
|
case 129791: // 'true' 'to'
|
|
case 130183: // 'false' 'treat'
|
|
case 130245: // 'null' 'treat'
|
|
case 130303: // 'true' 'treat'
|
|
case 133255: // 'false' 'union'
|
|
case 133317: // 'null' 'union'
|
|
case 133375: // 'true' 'union'
|
|
case 139399: // 'false' 'where'
|
|
case 139461: // 'null' 'where'
|
|
case 139519: // 'true' 'where'
|
|
case 141447: // 'false' 'with'
|
|
case 141509: // 'null' 'with'
|
|
case 141567: // 'true' 'with'
|
|
case 142983: // 'false' 'words'
|
|
case 143045: // 'null' 'words'
|
|
case 143103: // 'true' 'words'
|
|
case 145543: // 'false' '|'
|
|
case 145605: // 'null' '|'
|
|
case 145663: // 'true' '|'
|
|
case 146055: // 'false' '||'
|
|
case 146117: // 'null' '||'
|
|
case 146175: // 'true' '||'
|
|
case 146567: // 'false' '|}'
|
|
case 146629: // 'null' '|}'
|
|
case 146687: // 'true' '|}'
|
|
case 147079: // 'false' '}'
|
|
case 147141: // 'null' '}'
|
|
case 147199: // 'true' '}'
|
|
parse_Literal();
|
|
break;
|
|
case 31: // '$'
|
|
parse_VarRef();
|
|
break;
|
|
case 35: // '('
|
|
parse_ParenthesizedExpr();
|
|
break;
|
|
case 32: // '$$'
|
|
parse_ContextItemExpr();
|
|
break;
|
|
case -5:
|
|
case 17926: // EQName^Token '('
|
|
case 17991: // 'after' '('
|
|
case 17993: // 'allowing' '('
|
|
case 17994: // 'ancestor' '('
|
|
case 17995: // 'ancestor-or-self' '('
|
|
case 17996: // 'and' '('
|
|
case 17998: // 'append' '('
|
|
case 18000: // 'as' '('
|
|
case 18001: // 'ascending' '('
|
|
case 18002: // 'at' '('
|
|
case 18004: // 'base-uri' '('
|
|
case 18005: // 'before' '('
|
|
case 18006: // 'boundary-space' '('
|
|
case 18007: // 'break' '('
|
|
case 18009: // 'case' '('
|
|
case 18010: // 'cast' '('
|
|
case 18011: // 'castable' '('
|
|
case 18012: // 'catch' '('
|
|
case 18014: // 'child' '('
|
|
case 18015: // 'collation' '('
|
|
case 18018: // 'constraint' '('
|
|
case 18019: // 'construction' '('
|
|
case 18022: // 'context' '('
|
|
case 18023: // 'continue' '('
|
|
case 18024: // 'copy' '('
|
|
case 18025: // 'copy-namespaces' '('
|
|
case 18026: // 'count' '('
|
|
case 18027: // 'decimal-format' '('
|
|
case 18029: // 'declare' '('
|
|
case 18030: // 'default' '('
|
|
case 18031: // 'delete' '('
|
|
case 18032: // 'descendant' '('
|
|
case 18033: // 'descendant-or-self' '('
|
|
case 18034: // 'descending' '('
|
|
case 18039: // 'div' '('
|
|
case 18040: // 'document' '('
|
|
case 18043: // 'else' '('
|
|
case 18044: // 'empty' '('
|
|
case 18046: // 'encoding' '('
|
|
case 18047: // 'end' '('
|
|
case 18049: // 'eq' '('
|
|
case 18050: // 'every' '('
|
|
case 18052: // 'except' '('
|
|
case 18053: // 'exit' '('
|
|
case 18054: // 'external' '('
|
|
case 18056: // 'first' '('
|
|
case 18057: // 'following' '('
|
|
case 18058: // 'following-sibling' '('
|
|
case 18059: // 'for' '('
|
|
case 18062: // 'from' '('
|
|
case 18063: // 'ft-option' '('
|
|
case 18068: // 'ge' '('
|
|
case 18070: // 'group' '('
|
|
case 18072: // 'gt' '('
|
|
case 18073: // 'idiv' '('
|
|
case 18075: // 'import' '('
|
|
case 18076: // 'in' '('
|
|
case 18077: // 'index' '('
|
|
case 18081: // 'insert' '('
|
|
case 18082: // 'instance' '('
|
|
case 18083: // 'integrity' '('
|
|
case 18084: // 'intersect' '('
|
|
case 18085: // 'into' '('
|
|
case 18086: // 'is' '('
|
|
case 18088: // 'json' '('
|
|
case 18090: // 'jsoniq' '('
|
|
case 18093: // 'last' '('
|
|
case 18094: // 'lax' '('
|
|
case 18095: // 'le' '('
|
|
case 18097: // 'let' '('
|
|
case 18099: // 'loop' '('
|
|
case 18101: // 'lt' '('
|
|
case 18103: // 'mod' '('
|
|
case 18104: // 'modify' '('
|
|
case 18105: // 'module' '('
|
|
case 18107: // 'namespace' '('
|
|
case 18109: // 'ne' '('
|
|
case 18115: // 'nodes' '('
|
|
case 18118: // 'object' '('
|
|
case 18122: // 'only' '('
|
|
case 18123: // 'option' '('
|
|
case 18124: // 'or' '('
|
|
case 18125: // 'order' '('
|
|
case 18126: // 'ordered' '('
|
|
case 18127: // 'ordering' '('
|
|
case 18130: // 'parent' '('
|
|
case 18136: // 'preceding' '('
|
|
case 18137: // 'preceding-sibling' '('
|
|
case 18142: // 'rename' '('
|
|
case 18143: // 'replace' '('
|
|
case 18144: // 'return' '('
|
|
case 18145: // 'returning' '('
|
|
case 18146: // 'revalidation' '('
|
|
case 18148: // 'satisfies' '('
|
|
case 18149: // 'schema' '('
|
|
case 18152: // 'score' '('
|
|
case 18153: // 'select' '('
|
|
case 18154: // 'self' '('
|
|
case 18159: // 'sliding' '('
|
|
case 18160: // 'some' '('
|
|
case 18161: // 'stable' '('
|
|
case 18162: // 'start' '('
|
|
case 18165: // 'strict' '('
|
|
case 18173: // 'to' '('
|
|
case 18174: // 'treat' '('
|
|
case 18176: // 'try' '('
|
|
case 18177: // 'tumbling' '('
|
|
case 18178: // 'type' '('
|
|
case 18180: // 'union' '('
|
|
case 18182: // 'unordered' '('
|
|
case 18183: // 'updating' '('
|
|
case 18186: // 'validate' '('
|
|
case 18187: // 'value' '('
|
|
case 18188: // 'variable' '('
|
|
case 18189: // 'version' '('
|
|
case 18192: // 'where' '('
|
|
case 18193: // 'while' '('
|
|
case 18196: // 'with' '('
|
|
parse_FunctionCall();
|
|
break;
|
|
case 144078: // 'ordered' '{'
|
|
parse_OrderedExpr();
|
|
break;
|
|
case 144134: // 'unordered' '{'
|
|
parse_UnorderedExpr();
|
|
break;
|
|
case 33: // '%'
|
|
case 79: // 'array'
|
|
case 121: // 'document-node'
|
|
case 125: // 'empty-sequence'
|
|
case 147: // 'function'
|
|
case 154: // 'if'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 247: // 'structured-item'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
case 14854: // EQName^Token '#'
|
|
case 14919: // 'after' '#'
|
|
case 14921: // 'allowing' '#'
|
|
case 14922: // 'ancestor' '#'
|
|
case 14923: // 'ancestor-or-self' '#'
|
|
case 14924: // 'and' '#'
|
|
case 14926: // 'append' '#'
|
|
case 14928: // 'as' '#'
|
|
case 14929: // 'ascending' '#'
|
|
case 14930: // 'at' '#'
|
|
case 14931: // 'attribute' '#'
|
|
case 14932: // 'base-uri' '#'
|
|
case 14933: // 'before' '#'
|
|
case 14934: // 'boundary-space' '#'
|
|
case 14935: // 'break' '#'
|
|
case 14937: // 'case' '#'
|
|
case 14938: // 'cast' '#'
|
|
case 14939: // 'castable' '#'
|
|
case 14940: // 'catch' '#'
|
|
case 14942: // 'child' '#'
|
|
case 14943: // 'collation' '#'
|
|
case 14945: // 'comment' '#'
|
|
case 14946: // 'constraint' '#'
|
|
case 14947: // 'construction' '#'
|
|
case 14950: // 'context' '#'
|
|
case 14951: // 'continue' '#'
|
|
case 14952: // 'copy' '#'
|
|
case 14953: // 'copy-namespaces' '#'
|
|
case 14954: // 'count' '#'
|
|
case 14955: // 'decimal-format' '#'
|
|
case 14957: // 'declare' '#'
|
|
case 14958: // 'default' '#'
|
|
case 14959: // 'delete' '#'
|
|
case 14960: // 'descendant' '#'
|
|
case 14961: // 'descendant-or-self' '#'
|
|
case 14962: // 'descending' '#'
|
|
case 14967: // 'div' '#'
|
|
case 14968: // 'document' '#'
|
|
case 14970: // 'element' '#'
|
|
case 14971: // 'else' '#'
|
|
case 14972: // 'empty' '#'
|
|
case 14974: // 'encoding' '#'
|
|
case 14975: // 'end' '#'
|
|
case 14977: // 'eq' '#'
|
|
case 14978: // 'every' '#'
|
|
case 14980: // 'except' '#'
|
|
case 14981: // 'exit' '#'
|
|
case 14982: // 'external' '#'
|
|
case 14983: // 'false' '#'
|
|
case 14984: // 'first' '#'
|
|
case 14985: // 'following' '#'
|
|
case 14986: // 'following-sibling' '#'
|
|
case 14987: // 'for' '#'
|
|
case 14990: // 'from' '#'
|
|
case 14991: // 'ft-option' '#'
|
|
case 14996: // 'ge' '#'
|
|
case 14998: // 'group' '#'
|
|
case 15000: // 'gt' '#'
|
|
case 15001: // 'idiv' '#'
|
|
case 15003: // 'import' '#'
|
|
case 15004: // 'in' '#'
|
|
case 15005: // 'index' '#'
|
|
case 15009: // 'insert' '#'
|
|
case 15010: // 'instance' '#'
|
|
case 15011: // 'integrity' '#'
|
|
case 15012: // 'intersect' '#'
|
|
case 15013: // 'into' '#'
|
|
case 15014: // 'is' '#'
|
|
case 15016: // 'json' '#'
|
|
case 15018: // 'jsoniq' '#'
|
|
case 15021: // 'last' '#'
|
|
case 15022: // 'lax' '#'
|
|
case 15023: // 'le' '#'
|
|
case 15025: // 'let' '#'
|
|
case 15027: // 'loop' '#'
|
|
case 15029: // 'lt' '#'
|
|
case 15031: // 'mod' '#'
|
|
case 15032: // 'modify' '#'
|
|
case 15033: // 'module' '#'
|
|
case 15035: // 'namespace' '#'
|
|
case 15037: // 'ne' '#'
|
|
case 15043: // 'nodes' '#'
|
|
case 15045: // 'null' '#'
|
|
case 15046: // 'object' '#'
|
|
case 15050: // 'only' '#'
|
|
case 15051: // 'option' '#'
|
|
case 15052: // 'or' '#'
|
|
case 15053: // 'order' '#'
|
|
case 15054: // 'ordered' '#'
|
|
case 15055: // 'ordering' '#'
|
|
case 15058: // 'parent' '#'
|
|
case 15064: // 'preceding' '#'
|
|
case 15065: // 'preceding-sibling' '#'
|
|
case 15068: // 'processing-instruction' '#'
|
|
case 15070: // 'rename' '#'
|
|
case 15071: // 'replace' '#'
|
|
case 15072: // 'return' '#'
|
|
case 15073: // 'returning' '#'
|
|
case 15074: // 'revalidation' '#'
|
|
case 15076: // 'satisfies' '#'
|
|
case 15077: // 'schema' '#'
|
|
case 15080: // 'score' '#'
|
|
case 15081: // 'select' '#'
|
|
case 15082: // 'self' '#'
|
|
case 15087: // 'sliding' '#'
|
|
case 15088: // 'some' '#'
|
|
case 15089: // 'stable' '#'
|
|
case 15090: // 'start' '#'
|
|
case 15093: // 'strict' '#'
|
|
case 15097: // 'text' '#'
|
|
case 15101: // 'to' '#'
|
|
case 15102: // 'treat' '#'
|
|
case 15103: // 'true' '#'
|
|
case 15104: // 'try' '#'
|
|
case 15105: // 'tumbling' '#'
|
|
case 15106: // 'type' '#'
|
|
case 15108: // 'union' '#'
|
|
case 15110: // 'unordered' '#'
|
|
case 15111: // 'updating' '#'
|
|
case 15114: // 'validate' '#'
|
|
case 15115: // 'value' '#'
|
|
case 15116: // 'variable' '#'
|
|
case 15117: // 'version' '#'
|
|
case 15120: // 'where' '#'
|
|
case 15121: // 'while' '#'
|
|
case 15124: // 'with' '#'
|
|
parse_FunctionItemExpr();
|
|
break;
|
|
case -10:
|
|
case 27929: // '{' ';'
|
|
parse_BlockExpr();
|
|
break;
|
|
case -11:
|
|
case 10009: // '{' NCName^Token
|
|
parse_ObjectConstructor();
|
|
break;
|
|
case 69: // '['
|
|
parse_ArrayConstructor();
|
|
break;
|
|
case 283: // '{|'
|
|
parse_JSONSimpleObjectUnion();
|
|
break;
|
|
default:
|
|
parse_Constructor();
|
|
}
|
|
eventHandler.endNonterminal("PrimaryExpr", e0);
|
|
}
|
|
|
|
function try_PrimaryExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 187: // 'namespace'
|
|
lookahead2W(246); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(244); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 281: // '{'
|
|
lookahead2W(282); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 83: // 'attribute'
|
|
case 122: // 'element'
|
|
lookahead2W(252); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 97: // 'comment'
|
|
case 249: // 'text'
|
|
lookahead2W(97); // S^WS | '#' | '(:' | '{'
|
|
break;
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 262: // 'unordered'
|
|
lookahead2W(148); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '.' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 76: // 'and'
|
|
case 78: // 'append'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 87: // 'break'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 94: // 'child'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 103: // 'continue'
|
|
case 104: // 'copy'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 111: // 'delete'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 130: // 'every'
|
|
case 132: // 'except'
|
|
case 133: // 'exit'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 139: // 'for'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 161: // 'insert'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 177: // 'let'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 189: // 'ne'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 222: // 'rename'
|
|
case 223: // 'replace'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 234: // 'self'
|
|
case 239: // 'sliding'
|
|
case 240: // 'some'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 256: // 'try'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 266: // 'validate'
|
|
case 267: // 'value'
|
|
case 268: // 'variable'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(95); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 3353 // '{' EQName^Token
|
|
|| lk == 4377 // '{' IntegerLiteral
|
|
|| lk == 4889 // '{' DecimalLiteral
|
|
|| lk == 5401 // '{' DoubleLiteral
|
|
|| lk == 5913 // '{' StringLiteral
|
|
|| lk == 16153 // '{' '$'
|
|
|| lk == 16665 // '{' '$$'
|
|
|| lk == 17177 // '{' '%'
|
|
|| lk == 18055 // 'false' '('
|
|
|| lk == 18117 // 'null' '('
|
|
|| lk == 18175 // 'true' '('
|
|
|| lk == 18201 // '{' '('
|
|
|| lk == 18713 // '{' '(#'
|
|
|| lk == 21273 // '{' '+'
|
|
|| lk == 22297 // '{' '-'
|
|
|| lk == 24345 // '{' '/'
|
|
|| lk == 24857 // '{' '//'
|
|
|| lk == 28441 // '{' '<'
|
|
|| lk == 28953 // '{' '<!--'
|
|
|| lk == 31001 // '{' '<?'
|
|
|| lk == 35609 // '{' '['
|
|
|| lk == 36633 // '{' 'after'
|
|
|| lk == 37657 // '{' 'allowing'
|
|
|| lk == 38169 // '{' 'ancestor'
|
|
|| lk == 38681 // '{' 'ancestor-or-self'
|
|
|| lk == 39193 // '{' 'and'
|
|
|| lk == 40217 // '{' 'append'
|
|
|| lk == 40729 // '{' 'array'
|
|
|| lk == 41241 // '{' 'as'
|
|
|| lk == 41753 // '{' 'ascending'
|
|
|| lk == 42265 // '{' 'at'
|
|
|| lk == 42777 // '{' 'attribute'
|
|
|| lk == 43289 // '{' 'base-uri'
|
|
|| lk == 43801 // '{' 'before'
|
|
|| lk == 44313 // '{' 'boundary-space'
|
|
|| lk == 44825 // '{' 'break'
|
|
|| lk == 45849 // '{' 'case'
|
|
|| lk == 46361 // '{' 'cast'
|
|
|| lk == 46873 // '{' 'castable'
|
|
|| lk == 47385 // '{' 'catch'
|
|
|| lk == 48409 // '{' 'child'
|
|
|| lk == 48921 // '{' 'collation'
|
|
|| lk == 49945 // '{' 'comment'
|
|
|| lk == 50457 // '{' 'constraint'
|
|
|| lk == 50969 // '{' 'construction'
|
|
|| lk == 52505 // '{' 'context'
|
|
|| lk == 53017 // '{' 'continue'
|
|
|| lk == 53529 // '{' 'copy'
|
|
|| lk == 54041 // '{' 'copy-namespaces'
|
|
|| lk == 54553 // '{' 'count'
|
|
|| lk == 55065 // '{' 'decimal-format'
|
|
|| lk == 56089 // '{' 'declare'
|
|
|| lk == 56601 // '{' 'default'
|
|
|| lk == 57113 // '{' 'delete'
|
|
|| lk == 57625 // '{' 'descendant'
|
|
|| lk == 58137 // '{' 'descendant-or-self'
|
|
|| lk == 58649 // '{' 'descending'
|
|
|| lk == 61209 // '{' 'div'
|
|
|| lk == 61721 // '{' 'document'
|
|
|| lk == 62233 // '{' 'document-node'
|
|
|| lk == 62745 // '{' 'element'
|
|
|| lk == 63257 // '{' 'else'
|
|
|| lk == 63769 // '{' 'empty'
|
|
|| lk == 64281 // '{' 'empty-sequence'
|
|
|| lk == 64793 // '{' 'encoding'
|
|
|| lk == 65305 // '{' 'end'
|
|
|| lk == 66329 // '{' 'eq'
|
|
|| lk == 66841 // '{' 'every'
|
|
|| lk == 67865 // '{' 'except'
|
|
|| lk == 68377 // '{' 'exit'
|
|
|| lk == 68889 // '{' 'external'
|
|
|| lk == 69401 // '{' 'false'
|
|
|| lk == 69913 // '{' 'first'
|
|
|| lk == 70425 // '{' 'following'
|
|
|| lk == 70937 // '{' 'following-sibling'
|
|
|| lk == 71449 // '{' 'for'
|
|
|| lk == 72985 // '{' 'from'
|
|
|| lk == 73497 // '{' 'ft-option'
|
|
|| lk == 75545 // '{' 'function'
|
|
|| lk == 76057 // '{' 'ge'
|
|
|| lk == 77081 // '{' 'group'
|
|
|| lk == 78105 // '{' 'gt'
|
|
|| lk == 78617 // '{' 'idiv'
|
|
|| lk == 79129 // '{' 'if'
|
|
|| lk == 79641 // '{' 'import'
|
|
|| lk == 80153 // '{' 'in'
|
|
|| lk == 80665 // '{' 'index'
|
|
|| lk == 82713 // '{' 'insert'
|
|
|| lk == 83225 // '{' 'instance'
|
|
|| lk == 83737 // '{' 'integrity'
|
|
|| lk == 84249 // '{' 'intersect'
|
|
|| lk == 84761 // '{' 'into'
|
|
|| lk == 85273 // '{' 'is'
|
|
|| lk == 85785 // '{' 'item'
|
|
|| lk == 86297 // '{' 'json'
|
|
|| lk == 86809 // '{' 'json-item'
|
|
|| lk == 87321 // '{' 'jsoniq'
|
|
|| lk == 88857 // '{' 'last'
|
|
|| lk == 89369 // '{' 'lax'
|
|
|| lk == 89881 // '{' 'le'
|
|
|| lk == 90905 // '{' 'let'
|
|
|| lk == 91929 // '{' 'loop'
|
|
|| lk == 92953 // '{' 'lt'
|
|
|| lk == 93977 // '{' 'mod'
|
|
|| lk == 94489 // '{' 'modify'
|
|
|| lk == 95001 // '{' 'module'
|
|
|| lk == 96025 // '{' 'namespace'
|
|
|| lk == 96537 // '{' 'namespace-node'
|
|
|| lk == 97049 // '{' 'ne'
|
|
|| lk == 99609 // '{' 'node'
|
|
|| lk == 100121 // '{' 'nodes'
|
|
|| lk == 100633 // '{' 'not'
|
|
|| lk == 101145 // '{' 'null'
|
|
|| lk == 101657 // '{' 'object'
|
|
|| lk == 103705 // '{' 'only'
|
|
|| lk == 104217 // '{' 'option'
|
|
|| lk == 104729 // '{' 'or'
|
|
|| lk == 105241 // '{' 'order'
|
|
|| lk == 105753 // '{' 'ordered'
|
|
|| lk == 106265 // '{' 'ordering'
|
|
|| lk == 107801 // '{' 'parent'
|
|
|| lk == 110873 // '{' 'preceding'
|
|
|| lk == 111385 // '{' 'preceding-sibling'
|
|
|| lk == 112921 // '{' 'processing-instruction'
|
|
|| lk == 113945 // '{' 'rename'
|
|
|| lk == 114457 // '{' 'replace'
|
|
|| lk == 114969 // '{' 'return'
|
|
|| lk == 115481 // '{' 'returning'
|
|
|| lk == 115993 // '{' 'revalidation'
|
|
|| lk == 117017 // '{' 'satisfies'
|
|
|| lk == 117529 // '{' 'schema'
|
|
|| lk == 118041 // '{' 'schema-attribute'
|
|
|| lk == 118553 // '{' 'schema-element'
|
|
|| lk == 119065 // '{' 'score'
|
|
|| lk == 119577 // '{' 'select'
|
|
|| lk == 120089 // '{' 'self'
|
|
|| lk == 122649 // '{' 'sliding'
|
|
|| lk == 123161 // '{' 'some'
|
|
|| lk == 123673 // '{' 'stable'
|
|
|| lk == 124185 // '{' 'start'
|
|
|| lk == 125721 // '{' 'strict'
|
|
|| lk == 126745 // '{' 'structured-item'
|
|
|| lk == 127257 // '{' 'switch'
|
|
|| lk == 127769 // '{' 'text'
|
|
|| lk == 129817 // '{' 'to'
|
|
|| lk == 130329 // '{' 'treat'
|
|
|| lk == 130841 // '{' 'true'
|
|
|| lk == 131353 // '{' 'try'
|
|
|| lk == 131865 // '{' 'tumbling'
|
|
|| lk == 132377 // '{' 'type'
|
|
|| lk == 132889 // '{' 'typeswitch'
|
|
|| lk == 133401 // '{' 'union'
|
|
|| lk == 134425 // '{' 'unordered'
|
|
|| lk == 134937 // '{' 'updating'
|
|
|| lk == 136473 // '{' 'validate'
|
|
|| lk == 136985 // '{' 'value'
|
|
|| lk == 137497 // '{' 'variable'
|
|
|| lk == 138009 // '{' 'version'
|
|
|| lk == 139545 // '{' 'where'
|
|
|| lk == 140057 // '{' 'while'
|
|
|| lk == 141593 // '{' 'with'
|
|
|| lk == 144153 // '{' '{'
|
|
|| lk == 145177 // '{' '{|'
|
|
|| lk == 147225) // '{' '}'
|
|
{
|
|
lk = memoized(20, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Literal();
|
|
memoize(20, e0A, -1);
|
|
lk = -14;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_FunctionCall();
|
|
memoize(20, e0A, -5);
|
|
lk = -14;
|
|
}
|
|
catch (p5A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_BlockExpr();
|
|
memoize(20, e0A, -10);
|
|
lk = -14;
|
|
}
|
|
catch (p10A)
|
|
{
|
|
lk = -11;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(20, e0A, -11);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 12935: // 'false' EOF
|
|
case 12997: // 'null' EOF
|
|
case 13055: // 'true' EOF
|
|
case 13447: // 'false' '!'
|
|
case 13509: // 'null' '!'
|
|
case 13567: // 'true' '!'
|
|
case 13959: // 'false' '!='
|
|
case 14021: // 'null' '!='
|
|
case 14079: // 'true' '!='
|
|
case 19591: // 'false' ')'
|
|
case 19653: // 'null' ')'
|
|
case 19711: // 'true' ')'
|
|
case 20103: // 'false' '*'
|
|
case 20165: // 'null' '*'
|
|
case 20223: // 'true' '*'
|
|
case 21127: // 'false' '+'
|
|
case 21189: // 'null' '+'
|
|
case 21247: // 'true' '+'
|
|
case 21639: // 'false' ','
|
|
case 21701: // 'null' ','
|
|
case 21759: // 'true' ','
|
|
case 22151: // 'false' '-'
|
|
case 22213: // 'null' '-'
|
|
case 22271: // 'true' '-'
|
|
case 23175: // 'false' '.'
|
|
case 23237: // 'null' '.'
|
|
case 23295: // 'true' '.'
|
|
case 24199: // 'false' '/'
|
|
case 24261: // 'null' '/'
|
|
case 24319: // 'true' '/'
|
|
case 24711: // 'false' '//'
|
|
case 24773: // 'null' '//'
|
|
case 24831: // 'true' '//'
|
|
case 25735: // 'false' ':'
|
|
case 25797: // 'null' ':'
|
|
case 25855: // 'true' ':'
|
|
case 27783: // 'false' ';'
|
|
case 27845: // 'null' ';'
|
|
case 27903: // 'true' ';'
|
|
case 28295: // 'false' '<'
|
|
case 28357: // 'null' '<'
|
|
case 28415: // 'true' '<'
|
|
case 29831: // 'false' '<<'
|
|
case 29893: // 'null' '<<'
|
|
case 29951: // 'true' '<<'
|
|
case 30343: // 'false' '<='
|
|
case 30405: // 'null' '<='
|
|
case 30463: // 'true' '<='
|
|
case 31367: // 'false' '='
|
|
case 31429: // 'null' '='
|
|
case 31487: // 'true' '='
|
|
case 31879: // 'false' '>'
|
|
case 31941: // 'null' '>'
|
|
case 31999: // 'true' '>'
|
|
case 32391: // 'false' '>='
|
|
case 32453: // 'null' '>='
|
|
case 32511: // 'true' '>='
|
|
case 32903: // 'false' '>>'
|
|
case 32965: // 'null' '>>'
|
|
case 33023: // 'true' '>>'
|
|
case 35463: // 'false' '['
|
|
case 35525: // 'null' '['
|
|
case 35583: // 'true' '['
|
|
case 35975: // 'false' ']'
|
|
case 36037: // 'null' ']'
|
|
case 36095: // 'true' ']'
|
|
case 36487: // 'false' 'after'
|
|
case 36549: // 'null' 'after'
|
|
case 36607: // 'true' 'after'
|
|
case 39047: // 'false' 'and'
|
|
case 39109: // 'null' 'and'
|
|
case 39167: // 'true' 'and'
|
|
case 41095: // 'false' 'as'
|
|
case 41157: // 'null' 'as'
|
|
case 41215: // 'true' 'as'
|
|
case 41607: // 'false' 'ascending'
|
|
case 41669: // 'null' 'ascending'
|
|
case 41727: // 'true' 'ascending'
|
|
case 42119: // 'false' 'at'
|
|
case 42181: // 'null' 'at'
|
|
case 42239: // 'true' 'at'
|
|
case 43655: // 'false' 'before'
|
|
case 43717: // 'null' 'before'
|
|
case 43775: // 'true' 'before'
|
|
case 45191: // 'false' 'by'
|
|
case 45253: // 'null' 'by'
|
|
case 45311: // 'true' 'by'
|
|
case 45703: // 'false' 'case'
|
|
case 45765: // 'null' 'case'
|
|
case 45823: // 'true' 'case'
|
|
case 46215: // 'false' 'cast'
|
|
case 46277: // 'null' 'cast'
|
|
case 46335: // 'true' 'cast'
|
|
case 46727: // 'false' 'castable'
|
|
case 46789: // 'null' 'castable'
|
|
case 46847: // 'true' 'castable'
|
|
case 48775: // 'false' 'collation'
|
|
case 48837: // 'null' 'collation'
|
|
case 48895: // 'true' 'collation'
|
|
case 51335: // 'false' 'contains'
|
|
case 51397: // 'null' 'contains'
|
|
case 51455: // 'true' 'contains'
|
|
case 54407: // 'false' 'count'
|
|
case 54469: // 'null' 'count'
|
|
case 54527: // 'true' 'count'
|
|
case 56455: // 'false' 'default'
|
|
case 56517: // 'null' 'default'
|
|
case 56575: // 'true' 'default'
|
|
case 58503: // 'false' 'descending'
|
|
case 58565: // 'null' 'descending'
|
|
case 58623: // 'true' 'descending'
|
|
case 61063: // 'false' 'div'
|
|
case 61125: // 'null' 'div'
|
|
case 61183: // 'true' 'div'
|
|
case 63111: // 'false' 'else'
|
|
case 63173: // 'null' 'else'
|
|
case 63231: // 'true' 'else'
|
|
case 63623: // 'false' 'empty'
|
|
case 63685: // 'null' 'empty'
|
|
case 63743: // 'true' 'empty'
|
|
case 65159: // 'false' 'end'
|
|
case 65221: // 'null' 'end'
|
|
case 65279: // 'true' 'end'
|
|
case 66183: // 'false' 'eq'
|
|
case 66245: // 'null' 'eq'
|
|
case 66303: // 'true' 'eq'
|
|
case 67719: // 'false' 'except'
|
|
case 67781: // 'null' 'except'
|
|
case 67839: // 'true' 'except'
|
|
case 71303: // 'false' 'for'
|
|
case 71365: // 'null' 'for'
|
|
case 71423: // 'true' 'for'
|
|
case 75911: // 'false' 'ge'
|
|
case 75973: // 'null' 'ge'
|
|
case 76031: // 'true' 'ge'
|
|
case 76935: // 'false' 'group'
|
|
case 76997: // 'null' 'group'
|
|
case 77055: // 'true' 'group'
|
|
case 77959: // 'false' 'gt'
|
|
case 78021: // 'null' 'gt'
|
|
case 78079: // 'true' 'gt'
|
|
case 78471: // 'false' 'idiv'
|
|
case 78533: // 'null' 'idiv'
|
|
case 78591: // 'true' 'idiv'
|
|
case 83079: // 'false' 'instance'
|
|
case 83141: // 'null' 'instance'
|
|
case 83199: // 'true' 'instance'
|
|
case 84103: // 'false' 'intersect'
|
|
case 84165: // 'null' 'intersect'
|
|
case 84223: // 'true' 'intersect'
|
|
case 84615: // 'false' 'into'
|
|
case 84677: // 'null' 'into'
|
|
case 84735: // 'true' 'into'
|
|
case 85127: // 'false' 'is'
|
|
case 85189: // 'null' 'is'
|
|
case 85247: // 'true' 'is'
|
|
case 89735: // 'false' 'le'
|
|
case 89797: // 'null' 'le'
|
|
case 89855: // 'true' 'le'
|
|
case 90759: // 'false' 'let'
|
|
case 90821: // 'null' 'let'
|
|
case 90879: // 'true' 'let'
|
|
case 92807: // 'false' 'lt'
|
|
case 92869: // 'null' 'lt'
|
|
case 92927: // 'true' 'lt'
|
|
case 93831: // 'false' 'mod'
|
|
case 93893: // 'null' 'mod'
|
|
case 93951: // 'true' 'mod'
|
|
case 94343: // 'false' 'modify'
|
|
case 94405: // 'null' 'modify'
|
|
case 94463: // 'true' 'modify'
|
|
case 96903: // 'false' 'ne'
|
|
case 96965: // 'null' 'ne'
|
|
case 97023: // 'true' 'ne'
|
|
case 103559: // 'false' 'only'
|
|
case 103621: // 'null' 'only'
|
|
case 103679: // 'true' 'only'
|
|
case 104583: // 'false' 'or'
|
|
case 104645: // 'null' 'or'
|
|
case 104703: // 'true' 'or'
|
|
case 105095: // 'false' 'order'
|
|
case 105157: // 'null' 'order'
|
|
case 105215: // 'true' 'order'
|
|
case 107143: // 'false' 'paragraphs'
|
|
case 107205: // 'null' 'paragraphs'
|
|
case 107263: // 'true' 'paragraphs'
|
|
case 114823: // 'false' 'return'
|
|
case 114885: // 'null' 'return'
|
|
case 114943: // 'true' 'return'
|
|
case 116871: // 'false' 'satisfies'
|
|
case 116933: // 'null' 'satisfies'
|
|
case 116991: // 'true' 'satisfies'
|
|
case 121479: // 'false' 'sentences'
|
|
case 121541: // 'null' 'sentences'
|
|
case 121599: // 'true' 'sentences'
|
|
case 123527: // 'false' 'stable'
|
|
case 123589: // 'null' 'stable'
|
|
case 123647: // 'true' 'stable'
|
|
case 124039: // 'false' 'start'
|
|
case 124101: // 'null' 'start'
|
|
case 124159: // 'true' 'start'
|
|
case 129159: // 'false' 'times'
|
|
case 129221: // 'null' 'times'
|
|
case 129279: // 'true' 'times'
|
|
case 129671: // 'false' 'to'
|
|
case 129733: // 'null' 'to'
|
|
case 129791: // 'true' 'to'
|
|
case 130183: // 'false' 'treat'
|
|
case 130245: // 'null' 'treat'
|
|
case 130303: // 'true' 'treat'
|
|
case 133255: // 'false' 'union'
|
|
case 133317: // 'null' 'union'
|
|
case 133375: // 'true' 'union'
|
|
case 139399: // 'false' 'where'
|
|
case 139461: // 'null' 'where'
|
|
case 139519: // 'true' 'where'
|
|
case 141447: // 'false' 'with'
|
|
case 141509: // 'null' 'with'
|
|
case 141567: // 'true' 'with'
|
|
case 142983: // 'false' 'words'
|
|
case 143045: // 'null' 'words'
|
|
case 143103: // 'true' 'words'
|
|
case 145543: // 'false' '|'
|
|
case 145605: // 'null' '|'
|
|
case 145663: // 'true' '|'
|
|
case 146055: // 'false' '||'
|
|
case 146117: // 'null' '||'
|
|
case 146175: // 'true' '||'
|
|
case 146567: // 'false' '|}'
|
|
case 146629: // 'null' '|}'
|
|
case 146687: // 'true' '|}'
|
|
case 147079: // 'false' '}'
|
|
case 147141: // 'null' '}'
|
|
case 147199: // 'true' '}'
|
|
try_Literal();
|
|
break;
|
|
case 31: // '$'
|
|
try_VarRef();
|
|
break;
|
|
case 35: // '('
|
|
try_ParenthesizedExpr();
|
|
break;
|
|
case 32: // '$$'
|
|
try_ContextItemExpr();
|
|
break;
|
|
case -5:
|
|
case 17926: // EQName^Token '('
|
|
case 17991: // 'after' '('
|
|
case 17993: // 'allowing' '('
|
|
case 17994: // 'ancestor' '('
|
|
case 17995: // 'ancestor-or-self' '('
|
|
case 17996: // 'and' '('
|
|
case 17998: // 'append' '('
|
|
case 18000: // 'as' '('
|
|
case 18001: // 'ascending' '('
|
|
case 18002: // 'at' '('
|
|
case 18004: // 'base-uri' '('
|
|
case 18005: // 'before' '('
|
|
case 18006: // 'boundary-space' '('
|
|
case 18007: // 'break' '('
|
|
case 18009: // 'case' '('
|
|
case 18010: // 'cast' '('
|
|
case 18011: // 'castable' '('
|
|
case 18012: // 'catch' '('
|
|
case 18014: // 'child' '('
|
|
case 18015: // 'collation' '('
|
|
case 18018: // 'constraint' '('
|
|
case 18019: // 'construction' '('
|
|
case 18022: // 'context' '('
|
|
case 18023: // 'continue' '('
|
|
case 18024: // 'copy' '('
|
|
case 18025: // 'copy-namespaces' '('
|
|
case 18026: // 'count' '('
|
|
case 18027: // 'decimal-format' '('
|
|
case 18029: // 'declare' '('
|
|
case 18030: // 'default' '('
|
|
case 18031: // 'delete' '('
|
|
case 18032: // 'descendant' '('
|
|
case 18033: // 'descendant-or-self' '('
|
|
case 18034: // 'descending' '('
|
|
case 18039: // 'div' '('
|
|
case 18040: // 'document' '('
|
|
case 18043: // 'else' '('
|
|
case 18044: // 'empty' '('
|
|
case 18046: // 'encoding' '('
|
|
case 18047: // 'end' '('
|
|
case 18049: // 'eq' '('
|
|
case 18050: // 'every' '('
|
|
case 18052: // 'except' '('
|
|
case 18053: // 'exit' '('
|
|
case 18054: // 'external' '('
|
|
case 18056: // 'first' '('
|
|
case 18057: // 'following' '('
|
|
case 18058: // 'following-sibling' '('
|
|
case 18059: // 'for' '('
|
|
case 18062: // 'from' '('
|
|
case 18063: // 'ft-option' '('
|
|
case 18068: // 'ge' '('
|
|
case 18070: // 'group' '('
|
|
case 18072: // 'gt' '('
|
|
case 18073: // 'idiv' '('
|
|
case 18075: // 'import' '('
|
|
case 18076: // 'in' '('
|
|
case 18077: // 'index' '('
|
|
case 18081: // 'insert' '('
|
|
case 18082: // 'instance' '('
|
|
case 18083: // 'integrity' '('
|
|
case 18084: // 'intersect' '('
|
|
case 18085: // 'into' '('
|
|
case 18086: // 'is' '('
|
|
case 18088: // 'json' '('
|
|
case 18090: // 'jsoniq' '('
|
|
case 18093: // 'last' '('
|
|
case 18094: // 'lax' '('
|
|
case 18095: // 'le' '('
|
|
case 18097: // 'let' '('
|
|
case 18099: // 'loop' '('
|
|
case 18101: // 'lt' '('
|
|
case 18103: // 'mod' '('
|
|
case 18104: // 'modify' '('
|
|
case 18105: // 'module' '('
|
|
case 18107: // 'namespace' '('
|
|
case 18109: // 'ne' '('
|
|
case 18115: // 'nodes' '('
|
|
case 18118: // 'object' '('
|
|
case 18122: // 'only' '('
|
|
case 18123: // 'option' '('
|
|
case 18124: // 'or' '('
|
|
case 18125: // 'order' '('
|
|
case 18126: // 'ordered' '('
|
|
case 18127: // 'ordering' '('
|
|
case 18130: // 'parent' '('
|
|
case 18136: // 'preceding' '('
|
|
case 18137: // 'preceding-sibling' '('
|
|
case 18142: // 'rename' '('
|
|
case 18143: // 'replace' '('
|
|
case 18144: // 'return' '('
|
|
case 18145: // 'returning' '('
|
|
case 18146: // 'revalidation' '('
|
|
case 18148: // 'satisfies' '('
|
|
case 18149: // 'schema' '('
|
|
case 18152: // 'score' '('
|
|
case 18153: // 'select' '('
|
|
case 18154: // 'self' '('
|
|
case 18159: // 'sliding' '('
|
|
case 18160: // 'some' '('
|
|
case 18161: // 'stable' '('
|
|
case 18162: // 'start' '('
|
|
case 18165: // 'strict' '('
|
|
case 18173: // 'to' '('
|
|
case 18174: // 'treat' '('
|
|
case 18176: // 'try' '('
|
|
case 18177: // 'tumbling' '('
|
|
case 18178: // 'type' '('
|
|
case 18180: // 'union' '('
|
|
case 18182: // 'unordered' '('
|
|
case 18183: // 'updating' '('
|
|
case 18186: // 'validate' '('
|
|
case 18187: // 'value' '('
|
|
case 18188: // 'variable' '('
|
|
case 18189: // 'version' '('
|
|
case 18192: // 'where' '('
|
|
case 18193: // 'while' '('
|
|
case 18196: // 'with' '('
|
|
try_FunctionCall();
|
|
break;
|
|
case 144078: // 'ordered' '{'
|
|
try_OrderedExpr();
|
|
break;
|
|
case 144134: // 'unordered' '{'
|
|
try_UnorderedExpr();
|
|
break;
|
|
case 33: // '%'
|
|
case 79: // 'array'
|
|
case 121: // 'document-node'
|
|
case 125: // 'empty-sequence'
|
|
case 147: // 'function'
|
|
case 154: // 'if'
|
|
case 167: // 'item'
|
|
case 169: // 'json-item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
case 247: // 'structured-item'
|
|
case 248: // 'switch'
|
|
case 259: // 'typeswitch'
|
|
case 14854: // EQName^Token '#'
|
|
case 14919: // 'after' '#'
|
|
case 14921: // 'allowing' '#'
|
|
case 14922: // 'ancestor' '#'
|
|
case 14923: // 'ancestor-or-self' '#'
|
|
case 14924: // 'and' '#'
|
|
case 14926: // 'append' '#'
|
|
case 14928: // 'as' '#'
|
|
case 14929: // 'ascending' '#'
|
|
case 14930: // 'at' '#'
|
|
case 14931: // 'attribute' '#'
|
|
case 14932: // 'base-uri' '#'
|
|
case 14933: // 'before' '#'
|
|
case 14934: // 'boundary-space' '#'
|
|
case 14935: // 'break' '#'
|
|
case 14937: // 'case' '#'
|
|
case 14938: // 'cast' '#'
|
|
case 14939: // 'castable' '#'
|
|
case 14940: // 'catch' '#'
|
|
case 14942: // 'child' '#'
|
|
case 14943: // 'collation' '#'
|
|
case 14945: // 'comment' '#'
|
|
case 14946: // 'constraint' '#'
|
|
case 14947: // 'construction' '#'
|
|
case 14950: // 'context' '#'
|
|
case 14951: // 'continue' '#'
|
|
case 14952: // 'copy' '#'
|
|
case 14953: // 'copy-namespaces' '#'
|
|
case 14954: // 'count' '#'
|
|
case 14955: // 'decimal-format' '#'
|
|
case 14957: // 'declare' '#'
|
|
case 14958: // 'default' '#'
|
|
case 14959: // 'delete' '#'
|
|
case 14960: // 'descendant' '#'
|
|
case 14961: // 'descendant-or-self' '#'
|
|
case 14962: // 'descending' '#'
|
|
case 14967: // 'div' '#'
|
|
case 14968: // 'document' '#'
|
|
case 14970: // 'element' '#'
|
|
case 14971: // 'else' '#'
|
|
case 14972: // 'empty' '#'
|
|
case 14974: // 'encoding' '#'
|
|
case 14975: // 'end' '#'
|
|
case 14977: // 'eq' '#'
|
|
case 14978: // 'every' '#'
|
|
case 14980: // 'except' '#'
|
|
case 14981: // 'exit' '#'
|
|
case 14982: // 'external' '#'
|
|
case 14983: // 'false' '#'
|
|
case 14984: // 'first' '#'
|
|
case 14985: // 'following' '#'
|
|
case 14986: // 'following-sibling' '#'
|
|
case 14987: // 'for' '#'
|
|
case 14990: // 'from' '#'
|
|
case 14991: // 'ft-option' '#'
|
|
case 14996: // 'ge' '#'
|
|
case 14998: // 'group' '#'
|
|
case 15000: // 'gt' '#'
|
|
case 15001: // 'idiv' '#'
|
|
case 15003: // 'import' '#'
|
|
case 15004: // 'in' '#'
|
|
case 15005: // 'index' '#'
|
|
case 15009: // 'insert' '#'
|
|
case 15010: // 'instance' '#'
|
|
case 15011: // 'integrity' '#'
|
|
case 15012: // 'intersect' '#'
|
|
case 15013: // 'into' '#'
|
|
case 15014: // 'is' '#'
|
|
case 15016: // 'json' '#'
|
|
case 15018: // 'jsoniq' '#'
|
|
case 15021: // 'last' '#'
|
|
case 15022: // 'lax' '#'
|
|
case 15023: // 'le' '#'
|
|
case 15025: // 'let' '#'
|
|
case 15027: // 'loop' '#'
|
|
case 15029: // 'lt' '#'
|
|
case 15031: // 'mod' '#'
|
|
case 15032: // 'modify' '#'
|
|
case 15033: // 'module' '#'
|
|
case 15035: // 'namespace' '#'
|
|
case 15037: // 'ne' '#'
|
|
case 15043: // 'nodes' '#'
|
|
case 15045: // 'null' '#'
|
|
case 15046: // 'object' '#'
|
|
case 15050: // 'only' '#'
|
|
case 15051: // 'option' '#'
|
|
case 15052: // 'or' '#'
|
|
case 15053: // 'order' '#'
|
|
case 15054: // 'ordered' '#'
|
|
case 15055: // 'ordering' '#'
|
|
case 15058: // 'parent' '#'
|
|
case 15064: // 'preceding' '#'
|
|
case 15065: // 'preceding-sibling' '#'
|
|
case 15068: // 'processing-instruction' '#'
|
|
case 15070: // 'rename' '#'
|
|
case 15071: // 'replace' '#'
|
|
case 15072: // 'return' '#'
|
|
case 15073: // 'returning' '#'
|
|
case 15074: // 'revalidation' '#'
|
|
case 15076: // 'satisfies' '#'
|
|
case 15077: // 'schema' '#'
|
|
case 15080: // 'score' '#'
|
|
case 15081: // 'select' '#'
|
|
case 15082: // 'self' '#'
|
|
case 15087: // 'sliding' '#'
|
|
case 15088: // 'some' '#'
|
|
case 15089: // 'stable' '#'
|
|
case 15090: // 'start' '#'
|
|
case 15093: // 'strict' '#'
|
|
case 15097: // 'text' '#'
|
|
case 15101: // 'to' '#'
|
|
case 15102: // 'treat' '#'
|
|
case 15103: // 'true' '#'
|
|
case 15104: // 'try' '#'
|
|
case 15105: // 'tumbling' '#'
|
|
case 15106: // 'type' '#'
|
|
case 15108: // 'union' '#'
|
|
case 15110: // 'unordered' '#'
|
|
case 15111: // 'updating' '#'
|
|
case 15114: // 'validate' '#'
|
|
case 15115: // 'value' '#'
|
|
case 15116: // 'variable' '#'
|
|
case 15117: // 'version' '#'
|
|
case 15120: // 'where' '#'
|
|
case 15121: // 'while' '#'
|
|
case 15124: // 'with' '#'
|
|
try_FunctionItemExpr();
|
|
break;
|
|
case -10:
|
|
case 27929: // '{' ';'
|
|
try_BlockExpr();
|
|
break;
|
|
case -11:
|
|
case 10009: // '{' NCName^Token
|
|
try_ObjectConstructor();
|
|
break;
|
|
case 69: // '['
|
|
try_ArrayConstructor();
|
|
break;
|
|
case 283: // '{|'
|
|
try_JSONSimpleObjectUnion();
|
|
break;
|
|
case -14:
|
|
break;
|
|
default:
|
|
try_Constructor();
|
|
}
|
|
}
|
|
|
|
function parse_JSONSimpleObjectUnion()
|
|
{
|
|
eventHandler.startNonterminal("JSONSimpleObjectUnion", e0);
|
|
shift(283); // '{|'
|
|
lookahead1W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 286) // '|}'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(286); // '|}'
|
|
eventHandler.endNonterminal("JSONSimpleObjectUnion", e0);
|
|
}
|
|
|
|
function try_JSONSimpleObjectUnion()
|
|
{
|
|
shiftT(283); // '{|'
|
|
lookahead1W(273); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 286) // '|}'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(286); // '|}'
|
|
}
|
|
|
|
function parse_ObjectConstructor()
|
|
{
|
|
eventHandler.startNonterminal("ObjectConstructor", e0);
|
|
shift(281); // '{'
|
|
lookahead1W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 287) // '}'
|
|
{
|
|
whitespace();
|
|
parse_PairConstructorList();
|
|
}
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("ObjectConstructor", e0);
|
|
}
|
|
|
|
function try_ObjectConstructor()
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(276); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 287) // '}'
|
|
{
|
|
try_PairConstructorList();
|
|
}
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_PairConstructorList()
|
|
{
|
|
eventHandler.startNonterminal("PairConstructorList", e0);
|
|
parse_PairConstructor();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(42); // ','
|
|
lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PairConstructor();
|
|
}
|
|
eventHandler.endNonterminal("PairConstructorList", e0);
|
|
}
|
|
|
|
function try_PairConstructorList()
|
|
{
|
|
try_PairConstructor();
|
|
for (;;)
|
|
{
|
|
if (l1 != 42) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(42); // ','
|
|
lookahead1W(267); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PairConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_PairConstructor()
|
|
{
|
|
eventHandler.startNonterminal("PairConstructor", e0);
|
|
switch (l1)
|
|
{
|
|
case 78: // 'append'
|
|
lookahead2W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 139: // 'for'
|
|
lookahead2W(187); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 161: // 'insert'
|
|
lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(178); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'score'
|
|
break;
|
|
case 187: // 'namespace'
|
|
lookahead2W(251); // NCName^Token | S^WS | '#' | '(' | '(:' | ':' | 'after' | 'allowing' |
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(247); // NCName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 223: // 'replace'
|
|
lookahead2W(180); // S^WS | '#' | '(' | '(:' | ':' | 'node' | 'value'
|
|
break;
|
|
case 266: // 'validate'
|
|
lookahead2W(191); // S^WS | '#' | '(' | '(:' | ':' | 'lax' | 'strict' | 'type' | '{'
|
|
break;
|
|
case 83: // 'attribute'
|
|
case 122: // 'element'
|
|
lookahead2W(256); // EQName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 97: // 'comment'
|
|
case 249: // 'text'
|
|
lookahead2W(149); // S^WS | '#' | '(:' | ':' | '{'
|
|
break;
|
|
case 111: // 'delete'
|
|
case 222: // 'rename'
|
|
lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 104: // 'copy'
|
|
case 130: // 'every'
|
|
case 240: // 'some'
|
|
lookahead2W(165); // S^WS | '#' | '$' | '(' | '(:' | ':'
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(208); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '.' | '/' | '//' | ':' |
|
|
break;
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 256: // 'try'
|
|
case 262: // 'unordered'
|
|
lookahead2W(167); // S^WS | '#' | '(' | '(:' | ':' | '{'
|
|
break;
|
|
case 121: // 'document-node'
|
|
case 125: // 'empty-sequence'
|
|
case 167: // 'item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
lookahead2W(96); // S^WS | '#' | '(:' | ':'
|
|
break;
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 76: // 'and'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 87: // 'break'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 94: // 'child'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 103: // 'continue'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 132: // 'except'
|
|
case 133: // 'exit'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 147: // 'function'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 154: // 'if'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 189: // 'ne'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 234: // 'self'
|
|
case 239: // 'sliding'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 248: // 'switch'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 259: // 'typeswitch'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 267: // 'value'
|
|
case 268: // 'variable'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(144); // S^WS | '#' | '(' | '(:' | ':'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 25735 // 'false' ':'
|
|
|| lk == 25797 // 'null' ':'
|
|
|| lk == 25855) // 'true' ':'
|
|
{
|
|
lk = memoized(21, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ExprSingle();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(21, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -2:
|
|
case 19: // NCName^Token
|
|
case 25671: // 'after' ':'
|
|
case 25673: // 'allowing' ':'
|
|
case 25674: // 'ancestor' ':'
|
|
case 25675: // 'ancestor-or-self' ':'
|
|
case 25676: // 'and' ':'
|
|
case 25678: // 'append' ':'
|
|
case 25680: // 'as' ':'
|
|
case 25681: // 'ascending' ':'
|
|
case 25682: // 'at' ':'
|
|
case 25683: // 'attribute' ':'
|
|
case 25684: // 'base-uri' ':'
|
|
case 25685: // 'before' ':'
|
|
case 25686: // 'boundary-space' ':'
|
|
case 25687: // 'break' ':'
|
|
case 25689: // 'case' ':'
|
|
case 25690: // 'cast' ':'
|
|
case 25691: // 'castable' ':'
|
|
case 25692: // 'catch' ':'
|
|
case 25694: // 'child' ':'
|
|
case 25695: // 'collation' ':'
|
|
case 25697: // 'comment' ':'
|
|
case 25698: // 'constraint' ':'
|
|
case 25699: // 'construction' ':'
|
|
case 25702: // 'context' ':'
|
|
case 25703: // 'continue' ':'
|
|
case 25704: // 'copy' ':'
|
|
case 25705: // 'copy-namespaces' ':'
|
|
case 25706: // 'count' ':'
|
|
case 25707: // 'decimal-format' ':'
|
|
case 25709: // 'declare' ':'
|
|
case 25710: // 'default' ':'
|
|
case 25711: // 'delete' ':'
|
|
case 25712: // 'descendant' ':'
|
|
case 25713: // 'descendant-or-self' ':'
|
|
case 25714: // 'descending' ':'
|
|
case 25719: // 'div' ':'
|
|
case 25720: // 'document' ':'
|
|
case 25721: // 'document-node' ':'
|
|
case 25722: // 'element' ':'
|
|
case 25723: // 'else' ':'
|
|
case 25724: // 'empty' ':'
|
|
case 25725: // 'empty-sequence' ':'
|
|
case 25726: // 'encoding' ':'
|
|
case 25727: // 'end' ':'
|
|
case 25729: // 'eq' ':'
|
|
case 25730: // 'every' ':'
|
|
case 25732: // 'except' ':'
|
|
case 25733: // 'exit' ':'
|
|
case 25734: // 'external' ':'
|
|
case 25736: // 'first' ':'
|
|
case 25737: // 'following' ':'
|
|
case 25738: // 'following-sibling' ':'
|
|
case 25739: // 'for' ':'
|
|
case 25742: // 'from' ':'
|
|
case 25743: // 'ft-option' ':'
|
|
case 25747: // 'function' ':'
|
|
case 25748: // 'ge' ':'
|
|
case 25750: // 'group' ':'
|
|
case 25752: // 'gt' ':'
|
|
case 25753: // 'idiv' ':'
|
|
case 25754: // 'if' ':'
|
|
case 25755: // 'import' ':'
|
|
case 25756: // 'in' ':'
|
|
case 25757: // 'index' ':'
|
|
case 25761: // 'insert' ':'
|
|
case 25762: // 'instance' ':'
|
|
case 25763: // 'integrity' ':'
|
|
case 25764: // 'intersect' ':'
|
|
case 25765: // 'into' ':'
|
|
case 25766: // 'is' ':'
|
|
case 25767: // 'item' ':'
|
|
case 25768: // 'json' ':'
|
|
case 25770: // 'jsoniq' ':'
|
|
case 25773: // 'last' ':'
|
|
case 25774: // 'lax' ':'
|
|
case 25775: // 'le' ':'
|
|
case 25777: // 'let' ':'
|
|
case 25779: // 'loop' ':'
|
|
case 25781: // 'lt' ':'
|
|
case 25783: // 'mod' ':'
|
|
case 25784: // 'modify' ':'
|
|
case 25785: // 'module' ':'
|
|
case 25787: // 'namespace' ':'
|
|
case 25788: // 'namespace-node' ':'
|
|
case 25789: // 'ne' ':'
|
|
case 25794: // 'node' ':'
|
|
case 25795: // 'nodes' ':'
|
|
case 25798: // 'object' ':'
|
|
case 25802: // 'only' ':'
|
|
case 25803: // 'option' ':'
|
|
case 25804: // 'or' ':'
|
|
case 25805: // 'order' ':'
|
|
case 25806: // 'ordered' ':'
|
|
case 25807: // 'ordering' ':'
|
|
case 25810: // 'parent' ':'
|
|
case 25816: // 'preceding' ':'
|
|
case 25817: // 'preceding-sibling' ':'
|
|
case 25820: // 'processing-instruction' ':'
|
|
case 25822: // 'rename' ':'
|
|
case 25823: // 'replace' ':'
|
|
case 25824: // 'return' ':'
|
|
case 25825: // 'returning' ':'
|
|
case 25826: // 'revalidation' ':'
|
|
case 25828: // 'satisfies' ':'
|
|
case 25829: // 'schema' ':'
|
|
case 25830: // 'schema-attribute' ':'
|
|
case 25831: // 'schema-element' ':'
|
|
case 25832: // 'score' ':'
|
|
case 25833: // 'select' ':'
|
|
case 25834: // 'self' ':'
|
|
case 25839: // 'sliding' ':'
|
|
case 25840: // 'some' ':'
|
|
case 25841: // 'stable' ':'
|
|
case 25842: // 'start' ':'
|
|
case 25845: // 'strict' ':'
|
|
case 25848: // 'switch' ':'
|
|
case 25849: // 'text' ':'
|
|
case 25853: // 'to' ':'
|
|
case 25854: // 'treat' ':'
|
|
case 25856: // 'try' ':'
|
|
case 25857: // 'tumbling' ':'
|
|
case 25858: // 'type' ':'
|
|
case 25859: // 'typeswitch' ':'
|
|
case 25860: // 'union' ':'
|
|
case 25862: // 'unordered' ':'
|
|
case 25863: // 'updating' ':'
|
|
case 25866: // 'validate' ':'
|
|
case 25867: // 'value' ':'
|
|
case 25868: // 'variable' ':'
|
|
case 25869: // 'version' ':'
|
|
case 25872: // 'where' ':'
|
|
case 25873: // 'while' ':'
|
|
case 25876: // 'with' ':'
|
|
parse_NCName();
|
|
break;
|
|
default:
|
|
parse_ExprSingle();
|
|
}
|
|
lookahead1W(26); // S^WS | '(:' | ':'
|
|
shift(50); // ':'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("PairConstructor", e0);
|
|
}
|
|
|
|
function try_PairConstructor()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 78: // 'append'
|
|
lookahead2W(278); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 139: // 'for'
|
|
lookahead2W(187); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'sliding' | 'tumbling'
|
|
break;
|
|
case 161: // 'insert'
|
|
lookahead2W(281); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 177: // 'let'
|
|
lookahead2W(178); // S^WS | '#' | '$' | '(' | '(:' | ':' | 'score'
|
|
break;
|
|
case 187: // 'namespace'
|
|
lookahead2W(251); // NCName^Token | S^WS | '#' | '(' | '(:' | ':' | 'after' | 'allowing' |
|
|
break;
|
|
case 220: // 'processing-instruction'
|
|
lookahead2W(247); // NCName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 223: // 'replace'
|
|
lookahead2W(180); // S^WS | '#' | '(' | '(:' | ':' | 'node' | 'value'
|
|
break;
|
|
case 266: // 'validate'
|
|
lookahead2W(191); // S^WS | '#' | '(' | '(:' | ':' | 'lax' | 'strict' | 'type' | '{'
|
|
break;
|
|
case 83: // 'attribute'
|
|
case 122: // 'element'
|
|
lookahead2W(256); // EQName^Token | S^WS | '#' | '(:' | ':' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 97: // 'comment'
|
|
case 249: // 'text'
|
|
lookahead2W(149); // S^WS | '#' | '(:' | ':' | '{'
|
|
break;
|
|
case 111: // 'delete'
|
|
case 222: // 'rename'
|
|
lookahead2W(261); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
break;
|
|
case 104: // 'copy'
|
|
case 130: // 'every'
|
|
case 240: // 'some'
|
|
lookahead2W(165); // S^WS | '#' | '$' | '(' | '(:' | ':'
|
|
break;
|
|
case 135: // 'false'
|
|
case 197: // 'null'
|
|
case 255: // 'true'
|
|
lookahead2W(208); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '.' | '/' | '//' | ':' |
|
|
break;
|
|
case 120: // 'document'
|
|
case 206: // 'ordered'
|
|
case 256: // 'try'
|
|
case 262: // 'unordered'
|
|
lookahead2W(167); // S^WS | '#' | '(' | '(:' | ':' | '{'
|
|
break;
|
|
case 121: // 'document-node'
|
|
case 125: // 'empty-sequence'
|
|
case 167: // 'item'
|
|
case 188: // 'namespace-node'
|
|
case 194: // 'node'
|
|
case 230: // 'schema-attribute'
|
|
case 231: // 'schema-element'
|
|
lookahead2W(96); // S^WS | '#' | '(:' | ':'
|
|
break;
|
|
case 71: // 'after'
|
|
case 73: // 'allowing'
|
|
case 74: // 'ancestor'
|
|
case 75: // 'ancestor-or-self'
|
|
case 76: // 'and'
|
|
case 80: // 'as'
|
|
case 81: // 'ascending'
|
|
case 82: // 'at'
|
|
case 84: // 'base-uri'
|
|
case 85: // 'before'
|
|
case 86: // 'boundary-space'
|
|
case 87: // 'break'
|
|
case 89: // 'case'
|
|
case 90: // 'cast'
|
|
case 91: // 'castable'
|
|
case 92: // 'catch'
|
|
case 94: // 'child'
|
|
case 95: // 'collation'
|
|
case 98: // 'constraint'
|
|
case 99: // 'construction'
|
|
case 102: // 'context'
|
|
case 103: // 'continue'
|
|
case 105: // 'copy-namespaces'
|
|
case 106: // 'count'
|
|
case 107: // 'decimal-format'
|
|
case 109: // 'declare'
|
|
case 110: // 'default'
|
|
case 112: // 'descendant'
|
|
case 113: // 'descendant-or-self'
|
|
case 114: // 'descending'
|
|
case 119: // 'div'
|
|
case 123: // 'else'
|
|
case 124: // 'empty'
|
|
case 126: // 'encoding'
|
|
case 127: // 'end'
|
|
case 129: // 'eq'
|
|
case 132: // 'except'
|
|
case 133: // 'exit'
|
|
case 134: // 'external'
|
|
case 136: // 'first'
|
|
case 137: // 'following'
|
|
case 138: // 'following-sibling'
|
|
case 142: // 'from'
|
|
case 143: // 'ft-option'
|
|
case 147: // 'function'
|
|
case 148: // 'ge'
|
|
case 150: // 'group'
|
|
case 152: // 'gt'
|
|
case 153: // 'idiv'
|
|
case 154: // 'if'
|
|
case 155: // 'import'
|
|
case 156: // 'in'
|
|
case 157: // 'index'
|
|
case 162: // 'instance'
|
|
case 163: // 'integrity'
|
|
case 164: // 'intersect'
|
|
case 165: // 'into'
|
|
case 166: // 'is'
|
|
case 168: // 'json'
|
|
case 170: // 'jsoniq'
|
|
case 173: // 'last'
|
|
case 174: // 'lax'
|
|
case 175: // 'le'
|
|
case 179: // 'loop'
|
|
case 181: // 'lt'
|
|
case 183: // 'mod'
|
|
case 184: // 'modify'
|
|
case 185: // 'module'
|
|
case 189: // 'ne'
|
|
case 195: // 'nodes'
|
|
case 198: // 'object'
|
|
case 202: // 'only'
|
|
case 203: // 'option'
|
|
case 204: // 'or'
|
|
case 205: // 'order'
|
|
case 207: // 'ordering'
|
|
case 210: // 'parent'
|
|
case 216: // 'preceding'
|
|
case 217: // 'preceding-sibling'
|
|
case 224: // 'return'
|
|
case 225: // 'returning'
|
|
case 226: // 'revalidation'
|
|
case 228: // 'satisfies'
|
|
case 229: // 'schema'
|
|
case 232: // 'score'
|
|
case 233: // 'select'
|
|
case 234: // 'self'
|
|
case 239: // 'sliding'
|
|
case 241: // 'stable'
|
|
case 242: // 'start'
|
|
case 245: // 'strict'
|
|
case 248: // 'switch'
|
|
case 253: // 'to'
|
|
case 254: // 'treat'
|
|
case 257: // 'tumbling'
|
|
case 258: // 'type'
|
|
case 259: // 'typeswitch'
|
|
case 260: // 'union'
|
|
case 263: // 'updating'
|
|
case 267: // 'value'
|
|
case 268: // 'variable'
|
|
case 269: // 'version'
|
|
case 272: // 'where'
|
|
case 273: // 'while'
|
|
case 276: // 'with'
|
|
lookahead2W(144); // S^WS | '#' | '(' | '(:' | ':'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 25735 // 'false' ':'
|
|
|| lk == 25797 // 'null' ':'
|
|
|| lk == 25855) // 'true' ':'
|
|
{
|
|
lk = memoized(21, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ExprSingle();
|
|
memoize(21, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(21, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -2:
|
|
case 19: // NCName^Token
|
|
case 25671: // 'after' ':'
|
|
case 25673: // 'allowing' ':'
|
|
case 25674: // 'ancestor' ':'
|
|
case 25675: // 'ancestor-or-self' ':'
|
|
case 25676: // 'and' ':'
|
|
case 25678: // 'append' ':'
|
|
case 25680: // 'as' ':'
|
|
case 25681: // 'ascending' ':'
|
|
case 25682: // 'at' ':'
|
|
case 25683: // 'attribute' ':'
|
|
case 25684: // 'base-uri' ':'
|
|
case 25685: // 'before' ':'
|
|
case 25686: // 'boundary-space' ':'
|
|
case 25687: // 'break' ':'
|
|
case 25689: // 'case' ':'
|
|
case 25690: // 'cast' ':'
|
|
case 25691: // 'castable' ':'
|
|
case 25692: // 'catch' ':'
|
|
case 25694: // 'child' ':'
|
|
case 25695: // 'collation' ':'
|
|
case 25697: // 'comment' ':'
|
|
case 25698: // 'constraint' ':'
|
|
case 25699: // 'construction' ':'
|
|
case 25702: // 'context' ':'
|
|
case 25703: // 'continue' ':'
|
|
case 25704: // 'copy' ':'
|
|
case 25705: // 'copy-namespaces' ':'
|
|
case 25706: // 'count' ':'
|
|
case 25707: // 'decimal-format' ':'
|
|
case 25709: // 'declare' ':'
|
|
case 25710: // 'default' ':'
|
|
case 25711: // 'delete' ':'
|
|
case 25712: // 'descendant' ':'
|
|
case 25713: // 'descendant-or-self' ':'
|
|
case 25714: // 'descending' ':'
|
|
case 25719: // 'div' ':'
|
|
case 25720: // 'document' ':'
|
|
case 25721: // 'document-node' ':'
|
|
case 25722: // 'element' ':'
|
|
case 25723: // 'else' ':'
|
|
case 25724: // 'empty' ':'
|
|
case 25725: // 'empty-sequence' ':'
|
|
case 25726: // 'encoding' ':'
|
|
case 25727: // 'end' ':'
|
|
case 25729: // 'eq' ':'
|
|
case 25730: // 'every' ':'
|
|
case 25732: // 'except' ':'
|
|
case 25733: // 'exit' ':'
|
|
case 25734: // 'external' ':'
|
|
case 25736: // 'first' ':'
|
|
case 25737: // 'following' ':'
|
|
case 25738: // 'following-sibling' ':'
|
|
case 25739: // 'for' ':'
|
|
case 25742: // 'from' ':'
|
|
case 25743: // 'ft-option' ':'
|
|
case 25747: // 'function' ':'
|
|
case 25748: // 'ge' ':'
|
|
case 25750: // 'group' ':'
|
|
case 25752: // 'gt' ':'
|
|
case 25753: // 'idiv' ':'
|
|
case 25754: // 'if' ':'
|
|
case 25755: // 'import' ':'
|
|
case 25756: // 'in' ':'
|
|
case 25757: // 'index' ':'
|
|
case 25761: // 'insert' ':'
|
|
case 25762: // 'instance' ':'
|
|
case 25763: // 'integrity' ':'
|
|
case 25764: // 'intersect' ':'
|
|
case 25765: // 'into' ':'
|
|
case 25766: // 'is' ':'
|
|
case 25767: // 'item' ':'
|
|
case 25768: // 'json' ':'
|
|
case 25770: // 'jsoniq' ':'
|
|
case 25773: // 'last' ':'
|
|
case 25774: // 'lax' ':'
|
|
case 25775: // 'le' ':'
|
|
case 25777: // 'let' ':'
|
|
case 25779: // 'loop' ':'
|
|
case 25781: // 'lt' ':'
|
|
case 25783: // 'mod' ':'
|
|
case 25784: // 'modify' ':'
|
|
case 25785: // 'module' ':'
|
|
case 25787: // 'namespace' ':'
|
|
case 25788: // 'namespace-node' ':'
|
|
case 25789: // 'ne' ':'
|
|
case 25794: // 'node' ':'
|
|
case 25795: // 'nodes' ':'
|
|
case 25798: // 'object' ':'
|
|
case 25802: // 'only' ':'
|
|
case 25803: // 'option' ':'
|
|
case 25804: // 'or' ':'
|
|
case 25805: // 'order' ':'
|
|
case 25806: // 'ordered' ':'
|
|
case 25807: // 'ordering' ':'
|
|
case 25810: // 'parent' ':'
|
|
case 25816: // 'preceding' ':'
|
|
case 25817: // 'preceding-sibling' ':'
|
|
case 25820: // 'processing-instruction' ':'
|
|
case 25822: // 'rename' ':'
|
|
case 25823: // 'replace' ':'
|
|
case 25824: // 'return' ':'
|
|
case 25825: // 'returning' ':'
|
|
case 25826: // 'revalidation' ':'
|
|
case 25828: // 'satisfies' ':'
|
|
case 25829: // 'schema' ':'
|
|
case 25830: // 'schema-attribute' ':'
|
|
case 25831: // 'schema-element' ':'
|
|
case 25832: // 'score' ':'
|
|
case 25833: // 'select' ':'
|
|
case 25834: // 'self' ':'
|
|
case 25839: // 'sliding' ':'
|
|
case 25840: // 'some' ':'
|
|
case 25841: // 'stable' ':'
|
|
case 25842: // 'start' ':'
|
|
case 25845: // 'strict' ':'
|
|
case 25848: // 'switch' ':'
|
|
case 25849: // 'text' ':'
|
|
case 25853: // 'to' ':'
|
|
case 25854: // 'treat' ':'
|
|
case 25856: // 'try' ':'
|
|
case 25857: // 'tumbling' ':'
|
|
case 25858: // 'type' ':'
|
|
case 25859: // 'typeswitch' ':'
|
|
case 25860: // 'union' ':'
|
|
case 25862: // 'unordered' ':'
|
|
case 25863: // 'updating' ':'
|
|
case 25866: // 'validate' ':'
|
|
case 25867: // 'value' ':'
|
|
case 25868: // 'variable' ':'
|
|
case 25869: // 'version' ':'
|
|
case 25872: // 'where' ':'
|
|
case 25873: // 'while' ':'
|
|
case 25876: // 'with' ':'
|
|
try_NCName();
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_ExprSingle();
|
|
}
|
|
lookahead1W(26); // S^WS | '(:' | ':'
|
|
shiftT(50); // ':'
|
|
lookahead1W(266); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_ArrayConstructor()
|
|
{
|
|
eventHandler.startNonterminal("ArrayConstructor", e0);
|
|
shift(69); // '['
|
|
lookahead1W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 70) // ']'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(70); // ']'
|
|
eventHandler.endNonterminal("ArrayConstructor", e0);
|
|
}
|
|
|
|
function try_ArrayConstructor()
|
|
{
|
|
shiftT(69); // '['
|
|
lookahead1W(272); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
if (l1 != 70) // ']'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(70); // ']'
|
|
}
|
|
|
|
function parse_BlockExpr()
|
|
{
|
|
eventHandler.startNonterminal("BlockExpr", e0);
|
|
shift(281); // '{'
|
|
lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_StatementsAndOptionalExpr();
|
|
shift(287); // '}'
|
|
eventHandler.endNonterminal("BlockExpr", e0);
|
|
}
|
|
|
|
function try_BlockExpr()
|
|
{
|
|
shiftT(281); // '{'
|
|
lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_StatementsAndOptionalExpr();
|
|
shiftT(287); // '}'
|
|
}
|
|
|
|
function parse_FunctionDecl()
|
|
{
|
|
eventHandler.startNonterminal("FunctionDecl", e0);
|
|
shift(147); // 'function'
|
|
lookahead1W(245); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(35); // '('
|
|
lookahead1W(98); // S^WS | '$' | '(:' | ')'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
whitespace();
|
|
parse_ParamList();
|
|
}
|
|
shift(38); // ')'
|
|
lookahead1W(158); // S^WS | '(:' | 'as' | 'external' | '{'
|
|
if (l1 == 80) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_ReturnType();
|
|
}
|
|
lookahead1W(122); // S^WS | '(:' | 'external' | '{'
|
|
switch (l1)
|
|
{
|
|
case 281: // '{'
|
|
shift(281); // '{'
|
|
lookahead1W(280); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_StatementsAndOptionalExpr();
|
|
shift(287); // '}'
|
|
break;
|
|
default:
|
|
shift(134); // 'external'
|
|
}
|
|
eventHandler.endNonterminal("FunctionDecl", e0);
|
|
}
|
|
|
|
function parse_ReturnType()
|
|
{
|
|
eventHandler.startNonterminal("ReturnType", e0);
|
|
shift(80); // 'as'
|
|
lookahead1W(253); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
eventHandler.endNonterminal("ReturnType", e0);
|
|
}
|
|
|
|
function shift(t)
|
|
{
|
|
if (l1 == t)
|
|
{
|
|
whitespace();
|
|
eventHandler.terminal(JSONiqParser.TOKEN[l1], b1, e1 > size ? size : e1);
|
|
b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
|
|
b1 = b2; e1 = e2; l2 = 0; }
|
|
}
|
|
else
|
|
{
|
|
error(b1, e1, 0, l1, t);
|
|
}
|
|
}
|
|
|
|
function shiftT(t)
|
|
{
|
|
if (l1 == t)
|
|
{
|
|
b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
|
|
b1 = b2; e1 = e2; l2 = 0; }
|
|
}
|
|
else
|
|
{
|
|
error(b1, e1, 0, l1, t);
|
|
}
|
|
}
|
|
|
|
function skip(code)
|
|
{
|
|
var b0W = b0; var e0W = e0; var l1W = l1;
|
|
var b1W = b1; var e1W = e1;
|
|
|
|
l1 = code; b1 = begin; e1 = end;
|
|
l2 = 0;
|
|
|
|
try_Whitespace();
|
|
|
|
b0 = b0W; e0 = e0W; l1 = l1W; if (l1 != 0) {
|
|
b1 = b1W; e1 = e1W; }
|
|
}
|
|
|
|
function whitespace()
|
|
{
|
|
if (e0 != b1)
|
|
{
|
|
eventHandler.whitespace(e0, b1);
|
|
e0 = b1;
|
|
}
|
|
}
|
|
|
|
function matchW(set)
|
|
{
|
|
var code;
|
|
for (;;)
|
|
{
|
|
code = match(set);
|
|
if (code != 22) // S^WS
|
|
{
|
|
if (code != 37) // '(:'
|
|
{
|
|
break;
|
|
}
|
|
skip(code);
|
|
}
|
|
}
|
|
return code;
|
|
}
|
|
|
|
function lookahead1W(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = matchW(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function lookahead2W(set)
|
|
{
|
|
if (l2 == 0)
|
|
{
|
|
l2 = matchW(set);
|
|
b2 = begin;
|
|
e2 = end;
|
|
}
|
|
lk = (l2 << 9) | l1;
|
|
}
|
|
|
|
function lookahead1(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = match(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function lookahead2(set)
|
|
{
|
|
if (l2 == 0)
|
|
{
|
|
l2 = match(set);
|
|
b2 = begin;
|
|
e2 = end;
|
|
}
|
|
lk = (l2 << 9) | l1;
|
|
}
|
|
|
|
function error(b, e, s, l, t)
|
|
{
|
|
if (e >= ex)
|
|
{
|
|
bx = b;
|
|
ex = e;
|
|
sx = s;
|
|
lx = l;
|
|
tx = t;
|
|
}
|
|
throw new self.ParseException(bx, ex, sx, lx, tx);
|
|
}
|
|
|
|
var lk, b0, e0;
|
|
var l1, b1, e1;
|
|
var l2, b2, e2;
|
|
var bx, ex, sx, lx, tx;
|
|
var eventHandler;
|
|
var memo;
|
|
|
|
function memoize(i, e, v)
|
|
{
|
|
memo[(e << 5) + i] = v;
|
|
}
|
|
|
|
function memoized(i, e)
|
|
{
|
|
var v = memo[(e << 5) + i];
|
|
return typeof v != "undefined" ? v : 0;
|
|
}
|
|
|
|
var input;
|
|
var size;
|
|
var begin;
|
|
var end;
|
|
|
|
function match(tokenSetId)
|
|
{
|
|
var nonbmp = false;
|
|
begin = end;
|
|
var current = end;
|
|
var result = JSONiqParser.INITIAL[tokenSetId];
|
|
var state = 0;
|
|
|
|
for (var code = result & 8191; code != 0; )
|
|
{
|
|
var charclass;
|
|
var c0 = current < size ? input.charCodeAt(current) : 0;
|
|
++current;
|
|
if (c0 < 0x80)
|
|
{
|
|
charclass = JSONiqParser.MAP0[c0];
|
|
}
|
|
else if (c0 < 0xd800)
|
|
{
|
|
var c1 = c0 >> 4;
|
|
charclass = JSONiqParser.MAP1[(c0 & 15) + JSONiqParser.MAP1[(c1 & 31) + JSONiqParser.MAP1[c1 >> 5]]];
|
|
}
|
|
else
|
|
{
|
|
if (c0 < 0xdc00)
|
|
{
|
|
var c1 = current < size ? input.charCodeAt(current) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000)
|
|
{
|
|
++current;
|
|
c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
|
|
nonbmp = true;
|
|
}
|
|
}
|
|
var lo = 0, hi = 5;
|
|
for (var m = 3; ; m = (hi + lo) >> 1)
|
|
{
|
|
if (JSONiqParser.MAP2[m] > c0) hi = m - 1;
|
|
else if (JSONiqParser.MAP2[6 + m] < c0) lo = m + 1;
|
|
else {charclass = JSONiqParser.MAP2[12 + m]; break;}
|
|
if (lo > hi) {charclass = 0; break;}
|
|
}
|
|
}
|
|
|
|
state = code;
|
|
var i0 = (charclass << 13) + code - 1;
|
|
code = JSONiqParser.TRANSITION[(i0 & 31) + JSONiqParser.TRANSITION[i0 >> 5]];
|
|
|
|
if (code > 8191)
|
|
{
|
|
result = code;
|
|
code &= 8191;
|
|
end = current;
|
|
}
|
|
}
|
|
|
|
result >>= 13;
|
|
if (result == 0)
|
|
{
|
|
end = current - 1;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
return error(begin, end, state, -1, -1);
|
|
}
|
|
|
|
if (nonbmp)
|
|
{
|
|
for (var i = result >> 9; i > 0; --i)
|
|
{
|
|
--end;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
end -= result >> 9;
|
|
}
|
|
|
|
return (result & 511) - 1;
|
|
}
|
|
}
|
|
|
|
JSONiqParser.getTokenSet = function(tokenSetId)
|
|
{
|
|
var set = [];
|
|
var s = tokenSetId < 0 ? - tokenSetId : JSONiqParser.INITIAL[tokenSetId] & 8191;
|
|
for (var i = 0; i < 289; i += 32)
|
|
{
|
|
var j = i;
|
|
var i0 = (i >> 5) * 4235 + s - 1;
|
|
var i1 = i0 >> 2;
|
|
var i2 = i1 >> 2;
|
|
var f = JSONiqParser.EXPECTED[(i0 & 3) + JSONiqParser.EXPECTED[(i1 & 3) + JSONiqParser.EXPECTED[(i2 & 15) + JSONiqParser.EXPECTED[i2 >> 4]]]];
|
|
for ( ; f != 0; f >>>= 1, ++j)
|
|
{
|
|
if ((f & 1) != 0)
|
|
{
|
|
set.push(JSONiqParser.TOKEN[j]);
|
|
}
|
|
}
|
|
}
|
|
return set;
|
|
};
|
|
|
|
JSONiqParser.MAP0 =
|
|
[ 71, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 40, 30, 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, 40, 40
|
|
];
|
|
|
|
JSONiqParser.MAP1 =
|
|
[ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 355, 371, 387, 423, 423, 423, 415, 339, 331, 339, 331, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 440, 440, 440, 440, 440, 440, 440, 324, 339, 339, 339, 339, 339, 339, 339, 339, 401, 423, 423, 424, 422, 423, 423, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 71, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 40, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 40, 30, 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, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 30, 30, 40, 40, 40, 40, 40, 40, 40, 70, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70
|
|
];
|
|
|
|
JSONiqParser.MAP2 =
|
|
[ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 40, 30, 40, 30, 30, 40
|
|
];
|
|
|
|
JSONiqParser.INITIAL =
|
|
[ 1, 24578, 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, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289
|
|
];
|
|
|
|
JSONiqParser.TRANSITION =
|
|
[ 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 18432, 18508, 18512, 18508, 18508, 18471, 18503, 18452, 18508, 18544, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22565, 22594, 54694, 22641, 32640, 25253, 32640, 22707, 32640, 32640, 18907, 32640, 40804, 19219, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22757, 32640, 23442, 32640, 20728, 22822, 22912, 62853, 22949, 23023, 32640, 25253, 37379, 72986, 32640, 32640, 18907, 32640, 23058, 40482, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 23090, 32640, 70756, 57235, 23625, 57174, 23143, 53889, 57205, 23194, 32640, 44590, 57237, 72986, 32640, 32640, 18907, 32640, 23058, 18925, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 22132, 19073, 46732, 23294, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 23361, 32640, 61740, 23437, 23807, 23824, 22912, 35136, 23474, 23607, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 40461, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 57592, 32640, 53140, 23657, 43708, 23704, 23789, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 39259, 23856, 32640, 32640, 23893, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 73053, 22069, 23965, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24031, 32640, 23861, 32640, 22776, 24082, 22912, 56240, 24206, 24329, 32640, 25253, 32640, 24379, 32640, 32640, 18907, 32640, 23058, 57529, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24415, 24449, 24453, 24440, 24534, 24485, 24515, 24566, 24596, 24628, 32640, 32105, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 45903, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24678, 32640, 61740, 24746, 48361, 53140, 24789, 24808, 24825, 24857, 32640, 27397, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 45563, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 24907, 32640, 61740, 32640, 32640, 52064, 24984, 25013, 61799, 25045, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 25095, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 54034, 25151, 25188, 25171, 25235, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 25302, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 25340, 32640, 61740, 24702, 35413, 25353, 25385, 25402, 58363, 25449, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 25499, 32640, 61740, 32640, 32640, 53140, 25538, 25575, 25558, 25622, 32640, 25253, 32640, 72986, 32640, 32640, 49347, 54782, 64809, 35297, 64457, 32024, 25672, 25724, 32640, 25308, 42746, 72012, 48724, 25775, 59604, 63895, 70062, 53329, 26051, 44572, 32640, 32640, 53365, 69246, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 36217, 25878, 32640, 32640, 25912, 56403, 72012, 72012, 47453, 69896, 25776, 64787, 25947, 25982, 26472, 26016, 26050, 68602, 32640, 32640, 21278, 65491, 41507, 72012, 47768, 59999, 36922, 55439, 25983, 53287, 66001, 26051, 68608, 32640, 35129, 65495, 72012, 26084, 25776, 26132, 25983, 66375, 26051, 26181, 26227, 36550, 62167, 71378, 26264, 56947, 53286, 26299, 56814, 66968, 50229, 37146, 26336, 26407, 64681, 37193, 26609, 67516, 26450, 26504, 26590, 60773, 47253, 26654, 26722, 26771, 49912, 26461, 51539, 26820, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 29428, 26976, 69042, 27027, 27107, 32640, 25253, 32640, 27176, 32640, 32640, 18907, 32640, 35800, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 27212, 32640, 18617, 32640, 32640, 53140, 27264, 27332, 41428, 27379, 32640, 25253, 32640, 27446, 36386, 32640, 18907, 32640, 23058, 40482, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 27496, 32640, 61740, 32640, 32640, 45704, 22912, 32640, 27545, 27614, 32640, 25253, 32640, 27679, 32640, 32640, 49347, 54782, 51035, 35297, 32640, 32024, 32640, 27715, 32640, 25308, 72012, 72012, 48724, 25776, 59604, 25983, 61672, 26051, 26051, 49853, 32640, 32640, 70980, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 40010, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 27753, 25776, 25776, 39830, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 27795, 25776, 60349, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 27836, 32640, 26232, 27985, 34535, 60068, 27930, 27958, 60099, 28032, 32640, 32366, 32640, 72986, 32640, 32640, 73079, 29194, 30273, 28620, 31154, 44986, 32640, 18612, 18649, 18757, 18789, 18959, 32755, 28084, 30249, 28403, 29274, 28141, 28173, 28885, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21681, 28259, 30189, 28317, 28376, 29214, 30382, 28201, 30288, 28732, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 28435, 28285, 28497, 28109, 28529, 28561, 28593, 28652, 28684, 28716, 19661, 19735, 19811, 19878, 19910, 19942, 28764, 21709, 32781, 28826, 28935, 28991, 29023, 29361, 30055, 20090, 20138, 20211, 20265, 29171, 28465, 29246, 28344, 29334, 29302, 29393, 20579, 20709, 20774, 29460, 29082, 29111, 29139, 29492, 29611, 20949, 21030, 29555, 29643, 29675, 28857, 29707, 21310, 29804, 29832, 29864, 29896, 29992, 30024, 30105, 30173, 28959, 30221, 29583, 29053, 28794, 28227, 30320, 30352, 29523, 30414, 30442, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 30485, 32640, 61740, 55714, 40332, 67370, 30532, 30549, 30500, 30596, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 25063, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 62487, 66570, 19251, 64424, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 30661, 19661, 19735, 19811, 19878, 19910, 19942, 30758, 30851, 33683, 30826, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 30890, 63521, 30967, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 32640, 31025, 31042, 31089, 31121, 32640, 25253, 32640, 72986, 41921, 32640, 18907, 32640, 23058, 19161, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31186, 32640, 61740, 32640, 32640, 53140, 31304, 31321, 61422, 31368, 32640, 25253, 32640, 72986, 38336, 32640, 18907, 32640, 23058, 19597, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31436, 32640, 22917, 32640, 32640, 53140, 31488, 31505, 63455, 31552, 32640, 25253, 32640, 72986, 23911, 32640, 18907, 32640, 23058, 20233, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 31603, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31688, 32640, 61740, 27887, 32640, 57839, 22912, 31734, 24347, 31775, 32640, 25253, 32640, 31840, 32640, 32640, 18907, 32640, 57508, 20515, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 62571, 27379, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 46497, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 52315, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32497, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 20179, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 31980, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 31979, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 25682, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 32640, 32640, 65491, 72012, 72012, 51277, 25776, 46932, 39842, 25983, 53287, 26051, 26051, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 69771, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 41903, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 32012, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 57111, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 27513, 32056, 32087, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 31793, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32154, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32191, 32640, 61740, 32640, 32640, 53140, 32266, 32219, 32317, 32348, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 32398, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 32449, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 32640, 32541, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 40482, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32639, 61740, 32640, 32640, 53140, 32606, 32625, 66147, 32673, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 32724, 21452, 21374, 21431, 32813, 21618, 21650, 32920, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 32640, 27379, 32640, 25253, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 33014, 72814, 65242, 23329, 65262, 33049, 33078, 33110, 33141, 72172, 33868, 38406, 33224, 33302, 35892, 33415, 33497, 33529, 33657, 32640, 70241, 33715, 23262, 70547, 65483, 72012, 56115, 31942, 25776, 33771, 25983, 62395, 26051, 60426, 53000, 43338, 33820, 20169, 33900, 28052, 33936, 72012, 34004, 34096, 25776, 69679, 34153, 25983, 34209, 34305, 26051, 34381, 34413, 59316, 60982, 34567, 18580, 43988, 66280, 56105, 34613, 34671, 54769, 57995, 34763, 50540, 69616, 34835, 44365, 69116, 72659, 27683, 51215, 45101, 34941, 55781, 57901, 25776, 68182, 34981, 25983, 35037, 38017, 43551, 35100, 35168, 46148, 32692, 38542, 69316, 67857, 54357, 35200, 37506, 35270, 39191, 36089, 32640, 37090, 24260, 50683, 56669, 60278, 35348, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 43929, 35445, 35530, 35582, 50980, 66874, 47849, 48295, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 35651, 72814, 32640, 32640, 53140, 35689, 35718, 35750, 35781, 32640, 25253, 32640, 32640, 32640, 32640, 42703, 63159, 35832, 71490, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 53000, 32640, 32640, 71083, 54414, 54421, 64131, 72012, 55872, 25809, 25776, 60149, 25844, 25983, 63179, 26051, 26051, 34327, 34467, 32640, 32640, 25692, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 43098, 32640, 35952, 27144, 30726, 72012, 63213, 63138, 25776, 69714, 35989, 25983, 42068, 36035, 26051, 36069, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 20456, 36134, 36191, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 64516, 72814, 48426, 59530, 63767, 36272, 36304, 36336, 36367, 32640, 36432, 25203, 32640, 32640, 41660, 37716, 55922, 36483, 36530, 48415, 59494, 31702, 18855, 62820, 64973, 39682, 72012, 36599, 25776, 18725, 36659, 69934, 36699, 26051, 52493, 36750, 23246, 55732, 34581, 32640, 18679, 55301, 36783, 36820, 35485, 36918, 36954, 37494, 37030, 64702, 65892, 37178, 34467, 32640, 37225, 65319, 32640, 68393, 72012, 37261, 33962, 25776, 37316, 55427, 25983, 39119, 39566, 26051, 49047, 43098, 37375, 42559, 23999, 65491, 72012, 48479, 51277, 25776, 37411, 39842, 45287, 53287, 26051, 67220, 70527, 32640, 37538, 37571, 37131, 46827, 23541, 55996, 67894, 53288, 53572, 47622, 37618, 25915, 66600, 37659, 46843, 32872, 37796, 37836, 46302, 47046, 68392, 23524, 65621, 25983, 37889, 41315, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 37927, 37988, 38060, 47849, 36159, 34716, 26535, 44815, 38151, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 20106, 72814, 32509, 23162, 53140, 38224, 38253, 38285, 38316, 32640, 25253, 32640, 32640, 60657, 39330, 34441, 50711, 54836, 51195, 33270, 38384, 46719, 22206, 33192, 38438, 72385, 38511, 38616, 40937, 20657, 38673, 38705, 39528, 38892, 38940, 32640, 47380, 49323, 32640, 70823, 64131, 72012, 32968, 25809, 25776, 45195, 25844, 25983, 46666, 26051, 26051, 58683, 38996, 32640, 59450, 25692, 27180, 22361, 39052, 64136, 40912, 42209, 25776, 39090, 66443, 25983, 39151, 60300, 26051, 39223, 32640, 32640, 36102, 70444, 72012, 71366, 65683, 25776, 39291, 39362, 35619, 34803, 26051, 43538, 70527, 72942, 37229, 65495, 39402, 46827, 39434, 39492, 52767, 39560, 39598, 39731, 22659, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 19837, 68392, 68106, 33972, 25983, 39769, 58918, 26609, 71375, 56493, 39511, 67952, 33375, 70146, 67746, 39807, 39877, 27300, 39932, 39984, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 22609, 72814, 27464, 30794, 40060, 40119, 40148, 40180, 40211, 40263, 40295, 40364, 40412, 40514, 40546, 40606, 40667, 40699, 40731, 40783, 20976, 40854, 40994, 52527, 25308, 41046, 39699, 41078, 46357, 49141, 41137, 44544, 41236, 41286, 41368, 47192, 41460, 41554, 41610, 40087, 41703, 41735, 41816, 41872, 41968, 42030, 42100, 42250, 42282, 42373, 42458, 42490, 42522, 42554, 42591, 31571, 42679, 24113, 42735, 42778, 42826, 42887, 59586, 42933, 43014, 20677, 52796, 43080, 37857, 50773, 19009, 50153, 72778, 68055, 66201, 43130, 61992, 43205, 43285, 43380, 36003, 43457, 50341, 43583, 43639, 62580, 43704, 43740, 65764, 46827, 43772, 55996, 43804, 43857, 43893, 43961, 72604, 44020, 44104, 67022, 44136, 44196, 44228, 44289, 44397, 41399, 46788, 44452, 69369, 44513, 44648, 70208, 20438, 68896, 51376, 63626, 44257, 54317, 44622, 67433, 55113, 55250, 49487, 51457, 67801, 44680, 44712, 34716, 38736, 44788, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 54076, 72814, 67462, 71804, 46979, 44874, 44903, 44935, 44966, 65157, 25253, 32640, 32640, 45018, 45029, 45061, 36627, 47904, 71490, 70229, 49986, 32640, 30141, 65148, 45093, 45133, 72012, 45175, 25776, 67154, 25983, 61672, 45240, 26051, 53000, 32640, 32640, 25682, 32640, 30614, 64131, 72012, 62187, 25809, 25776, 34052, 25844, 25983, 58051, 26051, 26051, 68586, 34467, 32640, 32640, 25692, 49974, 68393, 36788, 72012, 33962, 51715, 25776, 55427, 25983, 45283, 39566, 26051, 45319, 43098, 32640, 32640, 22533, 65491, 72012, 65748, 51277, 25776, 40635, 39842, 48131, 53287, 26051, 72059, 70527, 32640, 32640, 65495, 72012, 46827, 25776, 55996, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 26195, 32640, 30913, 33383, 31947, 68516, 43425, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 38767, 44815, 45355, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 72990, 32640, 53140, 45461, 45480, 45512, 45543, 32640, 25253, 25880, 32640, 32640, 32640, 49347, 54782, 64809, 65216, 32640, 32024, 32640, 29772, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 26944, 43348, 64131, 72012, 72012, 45595, 25776, 25776, 45631, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 45666, 62963, 32640, 45736, 45143, 72012, 33962, 47777, 25776, 55427, 45634, 25983, 39566, 62106, 26051, 66507, 32640, 61374, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 45776, 65495, 72012, 45833, 25776, 43236, 25983, 48970, 26051, 35378, 19759, 45883, 40885, 45935, 34121, 45988, 46059, 68691, 46114, 46509, 48784, 46180, 46232, 52911, 56583, 46294, 61320, 46334, 46389, 52972, 46541, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 57068, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 37061, 32640, 46592, 32640, 23927, 23933, 35920, 72528, 46641, 71255, 46698, 32640, 41638, 46765, 32640, 32640, 25308, 72012, 32982, 31942, 25812, 62010, 25983, 52465, 26051, 62071, 44572, 32640, 32640, 32640, 32640, 46875, 64131, 72012, 72012, 46928, 25776, 25777, 25844, 25983, 25846, 26051, 26051, 48238, 66922, 32640, 32640, 32640, 58432, 34888, 72012, 72012, 24139, 25776, 25776, 64186, 25983, 25983, 64365, 26051, 26051, 68602, 32640, 31139, 32640, 65491, 72012, 59125, 47768, 25776, 23575, 39842, 25983, 43409, 26051, 51585, 68608, 32640, 40326, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 23989, 59115, 71381, 31947, 25983, 51580, 26788, 46560, 61892, 58181, 67203, 61301, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 48851, 72814, 23672, 46964, 47011, 47078, 47108, 47140, 47171, 32640, 41336, 32640, 50620, 20998, 40574, 47224, 47285, 49169, 47359, 32640, 35316, 31404, 32640, 22498, 71540, 47426, 22395, 47485, 41998, 47553, 68243, 35005, 43487, 49590, 47654, 45801, 22675, 32476, 32285, 47707, 67491, 67589, 47739, 47809, 47521, 53771, 47881, 39370, 54202, 70106, 63727, 47936, 58552, 32640, 49793, 48007, 32640, 65551, 71979, 37586, 48049, 48729, 71596, 33444, 48130, 48163, 50320, 48235, 48270, 34864, 70560, 48327, 48393, 48458, 72887, 48523, 38468, 37956, 42313, 48632, 55501, 51516, 36886, 48664, 48761, 48816, 50855, 27414, 41840, 48883, 63268, 48941, 45429, 49017, 55015, 49079, 32640, 22725, 23734, 49111, 51113, 69533, 55593, 49224, 46302, 49298, 68392, 71381, 31947, 25983, 51580, 58698, 26609, 49388, 58232, 70503, 49450, 42622, 70146, 67746, 49519, 60834, 49912, 26461, 39900, 47849, 56608, 49551, 26535, 44815, 49622, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 69860, 72814, 32640, 32640, 53140, 22912, 46609, 49741, 49772, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 57444, 31942, 38479, 62010, 25983, 49825, 26051, 53559, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 59709, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 61385, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 55063, 32640, 32640, 32640, 32640, 51342, 72012, 72012, 34031, 25776, 25776, 21586, 25983, 25983, 37804, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 52831, 72814, 72305, 49953, 50018, 50050, 50069, 50101, 50132, 70815, 25253, 24050, 32640, 72261, 50206, 50261, 50293, 50389, 50456, 50572, 49266, 32159, 46476, 50609, 46896, 49653, 37284, 50652, 61556, 51136, 34792, 50743, 43516, 41182, 50834, 50887, 32640, 37764, 32640, 32640, 39657, 23757, 50924, 50956, 53683, 55377, 51012, 52437, 51082, 71275, 51168, 51247, 58552, 31456, 32640, 51318, 32640, 68393, 71632, 34909, 33962, 25776, 51408, 55427, 25983, 51489, 51571, 26051, 51617, 51676, 60646, 71309, 32640, 65491, 66269, 72012, 47768, 51714, 36922, 67551, 25983, 53287, 50411, 26051, 51682, 70346, 19987, 51747, 72012, 24952, 25776, 68123, 51821, 47327, 51856, 50424, 31808, 72723, 44072, 71378, 24163, 55203, 53286, 67732, 46302, 62840, 68392, 67136, 45208, 51824, 51580, 51892, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 49192, 51996, 52096, 48579, 26535, 57041, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32641, 72814, 32640, 52167, 20380, 52202, 52231, 52263, 52294, 52373, 25253, 38352, 32640, 52375, 52359, 29926, 52407, 61167, 51195, 57599, 32024, 25590, 52525, 32640, 52559, 51778, 52613, 52685, 43173, 52736, 25950, 43825, 49580, 44319, 53632, 52043, 52828, 32640, 32640, 32640, 58759, 38563, 72012, 52863, 54749, 25776, 52943, 55231, 25984, 38908, 53056, 26018, 58552, 53105, 32640, 22853, 53172, 39020, 53205, 55838, 69472, 53239, 53488, 67539, 53276, 33788, 39566, 53320, 63643, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 53361, 32640, 72366, 71378, 53397, 57660, 53286, 53431, 46302, 32640, 68392, 71381, 47833, 35238, 66390, 37193, 26609, 71375, 60465, 43860, 63958, 50482, 38641, 53073, 53467, 53538, 49912, 26461, 39900, 47849, 36159, 48078, 53604, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 53715, 36751, 53803, 53858, 53921, 53950, 53982, 54013, 68341, 65423, 54066, 22337, 73196, 54108, 54140, 54172, 54234, 54389, 39321, 25417, 42341, 50174, 54455, 44050, 56059, 66616, 54504, 54555, 45851, 57679, 42130, 56789, 64232, 60925, 56829, 19692, 32640, 54689, 69055, 20609, 57455, 72012, 54726, 52653, 25776, 54814, 63908, 25984, 61227, 36498, 26018, 58552, 32640, 47394, 24383, 68318, 72870, 72012, 54868, 18707, 25776, 69705, 54929, 25983, 71927, 54995, 26051, 43915, 55047, 31632, 29738, 32574, 55095, 55145, 55282, 55174, 55347, 55409, 55471, 55533, 55625, 55661, 26850, 67349, 33333, 55693, 55764, 55813, 55904, 55954, 45409, 55563, 59673, 58326, 64010, 31239, 37627, 56028, 56147, 63574, 71739, 56202, 48600, 52021, 33017, 44420, 56272, 51439, 56304, 26558, 56379, 49469, 56435, 56525, 55629, 58860, 53658, 56557, 38796, 56640, 56760, 53746, 56861, 56918, 47849, 36159, 34716, 35068, 57014, 26905, 57100, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 57143, 60501, 46140, 53140, 57269, 57298, 57330, 57361, 57393, 21867, 57487, 53826, 57561, 73137, 57631, 57725, 57757, 57818, 64532, 33845, 25743, 28903, 32640, 30718, 48491, 57871, 57933, 57965, 50507, 34177, 46420, 65902, 58083, 44572, 34502, 27347, 47675, 69192, 32417, 27057, 58115, 45744, 58167, 58213, 58473, 58264, 36980, 26375, 58296, 44349, 69977, 37742, 31057, 58358, 32640, 35957, 68393, 49673, 58395, 33962, 23558, 65824, 55427, 66456, 46015, 39566, 60313, 47611, 68602, 32640, 47038, 58431, 65491, 72012, 72012, 58464, 25776, 27804, 58505, 25983, 57693, 26051, 26051, 58542, 33253, 32640, 51913, 22383, 49691, 64312, 64327, 50524, 46027, 71028, 38028, 53132, 32640, 21514, 49356, 67641, 68454, 61634, 65986, 49249, 32640, 68392, 71381, 31947, 25983, 51580, 39737, 67971, 58592, 35498, 68821, 42982, 65031, 58624, 58730, 58791, 58892, 49912, 26461, 39900, 47849, 36159, 34716, 60897, 62262, 58971, 59003, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 53024, 32640, 59046, 59088, 59157, 59186, 59218, 59249, 26690, 25253, 32640, 62512, 59314, 32640, 21399, 45956, 59348, 59428, 60204, 32024, 59282, 59482, 59526, 27721, 62325, 42794, 59562, 37343, 41105, 59653, 46262, 57786, 56728, 42158, 59014, 59705, 59741, 32640, 32640, 64131, 27582, 72012, 25809, 51286, 25776, 25844, 68525, 25984, 26051, 69412, 26018, 38086, 59766, 53173, 30453, 31873, 68393, 59807, 72012, 38182, 56458, 25776, 67880, 68261, 25983, 39566, 61247, 26051, 68602, 40380, 32640, 32640, 65491, 72012, 59857, 47966, 60005, 45599, 39842, 71940, 53287, 26051, 59892, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 71116, 32640, 59931, 71378, 25776, 29955, 53286, 26051, 56227, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 36718, 59969, 24280, 60037, 60131, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25253, 54423, 32640, 20742, 60181, 32843, 60251, 67710, 54291, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 29420, 32640, 32640, 32640, 64131, 72012, 72012, 60345, 25776, 25776, 60381, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 53207, 72012, 47768, 27763, 36922, 39842, 71874, 53287, 26051, 60418, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 70720, 71381, 60458, 35226, 48985, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 36240, 60497, 23383, 53140, 60533, 60561, 60593, 60624, 23405, 25467, 22160, 33169, 60689, 60747, 60715, 60805, 60866, 60957, 32640, 36400, 61023, 26995, 32640, 33355, 55315, 59825, 61082, 65831, 61145, 47313, 61199, 61279, 67236, 61352, 32640, 30073, 61417, 71794, 61454, 22979, 61508, 38584, 61544, 61588, 56170, 61624, 61666, 64623, 61704, 26051, 48694, 58552, 65333, 72472, 61736, 61772, 61831, 56082, 61881, 64292, 46200, 55981, 63076, 32888, 56329, 36998, 50357, 58842, 68602, 61924, 31336, 31217, 32949, 61962, 72012, 54897, 52135, 36922, 43253, 54949, 53287, 62059, 62103, 54635, 69791, 32640, 71552, 72012, 20633, 25776, 66700, 25983, 70631, 26051, 43048, 60991, 32640, 27575, 38860, 26267, 35612, 71431, 26052, 46302, 39252, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 59396, 61050, 48909, 62138, 49921, 43861, 50802, 44756, 26873, 47849, 36159, 34716, 33560, 62235, 62294, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 69266, 62427, 62544, 62612, 62644, 62673, 62705, 62736, 31256, 49878, 31910, 32640, 62790, 62885, 62917, 44164, 69556, 51644, 62949, 62995, 45696, 32640, 19278, 63027, 63108, 63211, 63245, 54342, 53506, 63300, 61672, 63378, 63410, 44572, 63450, 21770, 63487, 58560, 32640, 57422, 68884, 61512, 63553, 47513, 61592, 63606, 63675, 29960, 51050, 63717, 37895, 63759, 18562, 21217, 40028, 32560, 63799, 59860, 58135, 43158, 25776, 63843, 70614, 25983, 63875, 63940, 26051, 63990, 64042, 64442, 21262, 32640, 64117, 58399, 38848, 47768, 24174, 64168, 39842, 56347, 53287, 26051, 64218, 68608, 27898, 31520, 65495, 64264, 51931, 42855, 67656, 26365, 64359, 39180, 64397, 32640, 22880, 64131, 71378, 25776, 29955, 53286, 26051, 56886, 32234, 41489, 41766, 51964, 60386, 51580, 64489, 54657, 64564, 34064, 72128, 35550, 42184, 64655, 39628, 49921, 43861, 62758, 40962, 68714, 54610, 64734, 36847, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 25270, 32640, 23111, 32122, 64856, 64887, 64919, 64950, 31389, 65005, 27232, 34519, 65063, 65120, 65088, 61113, 65189, 65294, 65365, 65397, 32640, 65455, 65527, 65583, 65653, 65730, 65796, 42647, 52704, 58025, 65863, 65934, 65966, 66033, 64072, 66099, 26683, 30564, 66131, 66179, 66246, 41522, 66312, 64765, 26100, 66344, 66422, 62027, 63346, 66488, 48098, 66539, 38119, 40439, 30690, 24714, 66648, 46809, 22991, 67082, 66680, 47975, 66732, 66764, 58510, 66819, 66851, 26304, 66906, 66954, 31272, 32640, 67000, 67054, 67114, 21544, 34639, 21568, 67186, 67268, 67325, 67402, 54264, 43607, 48017, 34273, 42426, 67583, 30935, 67621, 41784, 67688, 48203, 67778, 64824, 41671, 20315, 24236, 67833, 44481, 37470, 67926, 59378, 68003, 32640, 68087, 68155, 34696, 68214, 39952, 68293, 68373, 68425, 68486, 66787, 35862, 33375, 70146, 67746, 49921, 43861, 49912, 58817, 68777, 68557, 68640, 68746, 58655, 44815, 68853, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 64085, 32640, 48353, 53140, 68928, 68957, 68989, 69020, 32640, 27125, 27632, 30788, 27143, 32640, 31656, 64595, 69087, 69148, 32640, 32024, 32640, 69224, 32640, 49895, 69298, 39058, 69348, 25776, 49418, 25983, 70024, 69401, 45323, 46448, 24757, 70970, 32640, 27865, 31743, 52581, 61849, 69444, 69504, 54523, 54583, 69588, 33465, 69648, 59899, 33588, 69746, 58552, 69823, 32640, 32640, 69855, 38964, 72012, 72012, 65611, 69892, 25776, 72113, 69928, 25983, 39566, 69966, 26051, 41254, 35657, 32640, 32640, 61476, 72012, 72012, 62354, 25776, 36922, 70009, 25983, 26418, 26051, 26051, 34349, 32640, 18845, 26622, 72012, 27075, 25776, 39460, 70056, 67293, 70094, 41204, 31858, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 45386, 70138, 70178, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 46082, 68666, 70273, 34716, 26535, 44842, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 22217, 68030, 66060, 33739, 70331, 54472, 70378, 70409, 32640, 25253, 32640, 32640, 32640, 32640, 19302, 70476, 56692, 51195, 59775, 43315, 32640, 32640, 27647, 25308, 37113, 62203, 70592, 53244, 62010, 70663, 47583, 56714, 33625, 44572, 32640, 32640, 28000, 32640, 29763, 64131, 55855, 72012, 25809, 51949, 25776, 25844, 56967, 25984, 26051, 33611, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 50577, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 25506, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 70701, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 59056, 32640, 70752, 70788, 70855, 70884, 70916, 70947, 32640, 25253, 32640, 32640, 32640, 32640, 41578, 49709, 71012, 71060, 32640, 32024, 32640, 32640, 71115, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 38108, 32640, 24932, 72012, 72012, 52641, 25776, 25776, 71858, 25983, 25983, 43032, 26051, 26051, 68602, 32640, 71148, 32640, 65491, 51789, 34949, 47768, 56478, 42901, 39842, 71181, 63325, 63418, 36037, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32154, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 34240, 32640, 25640, 43672, 32640, 22790, 58939, 37441, 71228, 41160, 51195, 32640, 22183, 71515, 71307, 32640, 25308, 72012, 71341, 31942, 35465, 71413, 36667, 59621, 26051, 71463, 42401, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 41936, 32640, 68393, 66214, 72012, 71584, 38192, 25776, 42053, 70669, 25983, 39566, 39775, 26051, 68602, 35405, 32640, 32640, 65491, 71628, 72012, 48552, 25776, 36922, 26149, 25983, 53287, 71664, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 22912, 36567, 70299, 37690, 32640, 25253, 66067, 32640, 32640, 32640, 71710, 26739, 42964, 71771, 20325, 32024, 32640, 32640, 32640, 27283, 72012, 59937, 31942, 25776, 52893, 25983, 56982, 26051, 51860, 44572, 23321, 32640, 32640, 37539, 32640, 38825, 72013, 72012, 71836, 53399, 25776, 71906, 39845, 25984, 71678, 53435, 26018, 58552, 30134, 32640, 32640, 32640, 68393, 71972, 72012, 63054, 52123, 25776, 62376, 48188, 25983, 24297, 36872, 26051, 68602, 32640, 32640, 33904, 65491, 72012, 72011, 47768, 42218, 36922, 39842, 71196, 53287, 26051, 72045, 68608, 32640, 48843, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 45251, 32640, 34258, 23504, 63811, 25776, 68806, 63685, 26051, 46302, 23041, 68392, 72091, 44738, 54963, 34731, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 31905, 32640, 72814, 32640, 32640, 53140, 72160, 36567, 70299, 34240, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 51195, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 31942, 25776, 62010, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 72268, 72234, 40231, 72204, 72300, 72337, 72417, 72449, 32640, 25253, 71149, 72986, 32640, 32640, 22011, 19703, 24646, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 21985, 22069, 72504, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 70431, 53140, 72560, 72589, 60219, 72636, 32640, 25253, 32640, 72986, 50892, 50890, 18907, 32640, 40751, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22037, 22069, 18821, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61930, 32640, 32640, 19846, 72691, 72708, 30629, 72755, 32640, 25253, 32640, 72810, 59270, 52170, 18907, 32640, 23058, 21807, 31154, 19779, 32640, 18612, 18649, 18757, 18789, 18959, 22311, 22069, 72846, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 21310, 21452, 21374, 21431, 21484, 21618, 21650, 21741, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 22530, 32640, 61740, 32640, 32640, 53140, 22912, 32640, 32640, 72919, 32640, 25253, 32640, 32640, 32640, 32640, 49347, 54782, 64809, 35297, 32640, 32024, 32640, 32640, 32640, 25308, 72012, 72012, 48724, 25776, 59604, 25983, 61672, 26051, 26051, 44572, 32640, 32640, 32640, 32640, 32640, 64131, 72012, 72012, 25809, 25776, 25776, 25844, 25983, 25984, 26051, 26051, 26018, 58552, 32640, 32640, 32640, 32640, 68393, 72012, 72012, 33962, 25776, 25776, 55427, 25983, 25983, 39566, 26051, 26051, 68602, 32640, 32640, 32640, 65491, 72012, 72012, 47768, 25776, 36922, 39842, 25983, 53287, 26051, 26051, 68608, 32640, 32640, 65495, 72012, 51360, 25776, 65698, 25983, 53288, 26051, 37187, 32640, 32640, 64131, 71378, 25776, 29955, 53286, 26051, 46302, 32640, 68392, 71381, 31947, 25983, 51580, 37193, 26609, 71375, 60465, 43860, 58860, 33375, 70146, 67746, 49921, 43861, 49912, 26461, 39900, 47849, 36159, 34716, 26535, 44815, 26905, 26933, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 34485, 32640, 23212, 23229, 52327, 72974, 32640, 32640, 32640, 72986, 32640, 32640, 18907, 32640, 23058, 21807, 31154, 43659, 32640, 18612, 18649, 18757, 18789, 18959, 21985, 22069, 72504, 22057, 18887, 18787, 18957, 18991, 36451, 32640, 24875, 69179, 19041, 62458, 19134, 40819, 21341, 19073, 46732, 21342, 19074, 46733, 19106, 19193, 40822, 19438, 66570, 19251, 21244, 41014, 19334, 19366, 19398, 19470, 19502, 19538, 25119, 19498, 19534, 19570, 19359, 19629, 19422, 19661, 19735, 19811, 19878, 19910, 19942, 20019, 30851, 30993, 20026, 30858, 20058, 19907, 21927, 19969, 20090, 20138, 20211, 20265, 20357, 63521, 20412, 63518, 20488, 20547, 20291, 20579, 20709, 20774, 20821, 20870, 20853, 20885, 20789, 20917, 20949, 21030, 21062, 21094, 21084, 21126, 21186, 73022, 21452, 21374, 21431, 73111, 21618, 21650, 73169, 21802, 23057, 21839, 21899, 21959, 22101, 21154, 22249, 22281, 22427, 22459, 22487, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 32640, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 180523, 180523, 180523, 180523, 0, 188716, 188716, 188716, 180523, 180523, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 0, 188716, 180523, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 139264, 147456, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 131072, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 188716, 367, 188716, 180523, 188716, 188716, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 180523, 188716, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2289, 0, 2290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2368, 2369, 0, 0, 2371, 0, 0, 0, 0, 2376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 307, 0, 0, 5767168, 0, 0, 0, 4857856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 5414912, 5447680, 0, 0, 5562368, 5636096, 5685248, 0, 5750784, 5873664, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1877, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1889, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 59821, 57886, 59823, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 58853, 57909, 57909, 58857, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58871, 0, 0, 5636096, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5873664, 0, 0, 0, 0, 0, 0, 0, 5480448, 4358144, 4358144, 4358144, 4358144, 4857856, 4874240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5259264, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5414912, 4358144, 5447680, 4358144, 5464064, 4358144, 5480448, 5562368, 4358144, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1140, 0, 0, 1145, 0, 4857856, 4874240, 0, 0, 4923392, 5562368, 4358144, 4358144, 4358144, 5636096, 4358144, 5685248, 4358144, 4358144, 5750784, 4358144, 4358144, 4358144, 4358144, 4358144, 5873664, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6275072, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 4923392, 0, 0, 0, 0, 4366336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766, 0, 0, 0, 0, 0, 0, 4825088, 0, 0, 5177344, 0, 0, 0, 0, 5701632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5808128, 0, 0, 0, 0, 4792320, 4833280, 0, 0, 5701632, 0, 5242880, 0, 0, 0, 0, 0, 0, 0, 5341184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 5652480, 0, 5701632, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4825088, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5177344, 4358144, 4358144, 4358144, 4358144, 4358144, 5242880, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5341184, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5627904, 5652480, 4358144, 5701632, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 483328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5341184, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5627904, 5652480, 4358144, 5701632, 4358144, 4358144, 5808128, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 1051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 0, 0, 6422528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5619712, 0, 0, 0, 0, 0, 0, 0, 5726208, 5758976, 0, 0, 5791744, 0, 0, 0, 0, 0, 0, 0, 1151, 1278, 0, 0, 0, 0, 0, 0, 1285, 0, 0, 0, 0, 0, 0, 0, 1290, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 848, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 0, 6479872, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4931584, 4939776, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5054464, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5210112, 4358144, 4358144, 4358144, 4358144, 5292032, 4358144, 4358144, 4358144, 4358144, 5365760, 4358144, 4358144, 4358144, 5455872, 4358144, 4358144, 4358144, 4358144, 4358144, 5554176, 5570560, 5578752, 5619712, 5668864, 4358144, 4358144, 4358144, 5791744, 5816320, 4358144, 5857280, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6119424, 4358144, 6168576, 4358144, 4358144, 4358144, 4358144, 6242304, 4358144, 6291456, 4358144, 6316032, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 4939776, 0, 0, 0, 0, 0, 0, 5054464, 0, 0, 0, 0, 0, 0, 0, 0, 5210112, 0, 0, 0, 0, 5292032, 0, 0, 0, 0, 5365760, 0, 0, 0, 5455872, 0, 0, 0, 0, 0, 5554176, 5570560, 5578752, 5619712, 5668864, 0, 5578752, 5619712, 5668864, 0, 0, 0, 5791744, 5816320, 0, 5857280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6119424, 0, 6168576, 0, 0, 0, 0, 0, 6242304, 0, 6291456, 0, 6316032, 0, 6291456, 0, 6316032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4931584, 4939776, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 491520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 5578752, 5619712, 5668864, 4358144, 4358144, 4358144, 5791744, 5816320, 4358144, 5857280, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6119424, 4358144, 6168576, 4358144, 4358144, 4358144, 4358144, 4358144, 6242304, 4956160, 4964352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5218304, 0, 0, 0, 0, 5799936, 0, 5881856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6373376, 6389760, 0, 0, 0, 0, 0, 1758, 0, 0, 1761, 0, 1763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6488064, 6103040, 0, 0, 0, 0, 0, 6184960, 5316608, 0, 0, 5644288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6217728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 0, 0, 0, 3388, 0, 0, 0, 0, 0, 3394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5390336, 5308416, 5488640, 0, 0, 5070848, 5431296, 0, 6430720, 0, 0, 5160960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4784128, 0, 0, 0, 0, 0, 0, 0, 0, 3623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 417, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283264, 6332416, 0, 0, 0, 5881856, 0, 5382144, 0, 0, 0, 0, 0, 0, 6266880, 4784128, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4915200, 4358144, 4956160, 4972544, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5070848, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5218304, 4358144, 5267456, 4358144, 4358144, 5308416, 5316608, 4358144, 4358144, 4358144, 5431296, 4358144, 5488640, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5799936, 4358144, 4358144, 5881856, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6103040, 4358144, 4358144, 4358144, 6184960, 4358144, 4358144, 6283264, 4358144, 4358144, 6332416, 4358144, 4358144, 4358144, 6389760, 4358144, 4358144, 6430720, 6438912, 4358144, 4358144, 4358144, 6266880, 6488064, 0, 0, 0, 6266880, 6488064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3149, 0, 0, 0, 0, 3154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 0, 0, 0, 5070848, 0, 0, 0, 0, 0, 0, 0, 5218304, 0, 0, 6103040, 0, 0, 0, 6184960, 0, 0, 0, 6283264, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 4784128, 4358144, 4358144, 4358144, 4849664, 4358144, 4358144, 4358144, 4358144, 4358144, 4915200, 0, 5660672, 5718016, 0, 5865472, 0, 0, 6037504, 0, 0, 6078464, 0, 0, 6340608, 0, 6455296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5472256, 0, 0, 0, 6209536, 0, 0, 0, 0, 6176768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4898816, 0, 5709824, 0, 0, 0, 0, 0, 1790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2348, 0, 0, 0, 0, 0, 0, 0, 0, 5283840, 0, 0, 0, 0, 5251072, 0, 6414336, 5832704, 0, 5955584, 0, 0, 4358144, 4358144, 4841472, 4358144, 4358144, 4358144, 4898816, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368640, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4358144, 5111808, 4358144, 4358144, 4358144, 4358144, 4358144, 5283840, 4358144, 4358144, 4358144, 4358144, 5472256, 5521408, 4358144, 4358144, 4358144, 5595136, 5709824, 5718016, 4358144, 5824512, 5865472, 4358144, 4358144, 5922816, 4358144, 4358144, 6021120, 4358144, 6037504, 4358144, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 4358144, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 139264, 147456, 0, 0, 0, 0, 0, 6037504, 0, 0, 6078464, 6111232, 0, 6176768, 6209536, 0, 6234112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 3773, 0, 3627, 3775, 0, 0, 3778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 4024, 521, 4026, 521, 521, 4028, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 6021120, 0, 6037504, 0, 0, 6078464, 6111232, 0, 6176768, 6209536, 0, 6234112, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4841472, 4358144, 4358144, 4358144, 4898816, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 499712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5111808, 4358144, 4358144, 4358144, 4358144, 4358144, 5283840, 4358144, 4358144, 4358144, 4358144, 5472256, 5521408, 4358144, 4358144, 4358144, 4358144, 5595136, 5709824, 5718016, 4358144, 5824512, 5865472, 4358144, 4358144, 5922816, 0, 5029888, 5038080, 0, 0, 5103616, 5201920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6406144, 5357568, 0, 5505024, 0, 0, 0, 0, 0, 5890048, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1873, 521, 521, 521, 521, 521, 521, 521, 521, 1884, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3216, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 60569, 57886, 60570, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58842, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 58854, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59962, 59963, 57909, 57909, 57909, 57909, 57909, 57909, 59970, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 6160384, 0, 5095424, 5349376, 0, 5275648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5947392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6471680, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4997120, 4358144, 4358144, 5038080, 4358144, 4358144, 4358144, 5095424, 5103616, 4358144, 4358144, 5201920, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5890048, 4358144, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 5890048, 4358144, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 0, 0, 0, 0, 0, 0, 0, 0, 4997120, 0, 0, 5038080, 0, 0, 0, 0, 6406144, 0, 0, 0, 0, 0, 0, 0, 0, 4997120, 0, 0, 5038080, 0, 0, 0, 5095424, 5103616, 0, 0, 5201920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5890048, 0, 0, 0, 6029312, 0, 0, 0, 0, 6160384, 0, 0, 0, 0, 0, 0, 0, 6406144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4997120, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 4358144, 4358144, 4358144, 0, 0, 0, 4890624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5898240, 5963776, 0, 0, 6193152, 0, 0, 5406720, 6397952, 5300224, 5234688, 5423104, 0, 0, 0, 0, 5988352, 0, 0, 6135808, 6307840, 0, 5996544, 4800512, 0, 6356992, 0, 0, 0, 5496832, 0, 0, 0, 0, 0, 5611520, 0, 0, 0, 0, 0, 0, 0, 1187, 0, 0, 1190, 1191, 0, 0, 0, 0, 1195, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 801, 4947968, 5021696, 5529600, 0, 0, 5169152, 0, 0, 0, 4800512, 4808704, 4358144, 4358144, 4890624, 4358144, 4947968, 4358144, 4358144, 4358144, 5046272, 4358144, 4358144, 4358144, 4358144, 5185536, 4358144, 5234688, 5300224, 4358144, 4358144, 5406720, 5529600, 4358144, 4358144, 4358144, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 6397952, 4800512, 4808704, 0, 0, 4890624, 0, 4947968, 0, 0, 0, 5046272, 0, 0, 0, 0, 5185536, 0, 5234688, 5300224, 0, 0, 5406720, 5529600, 0, 0, 0, 0, 5898240, 0, 0, 0, 0, 0, 0, 0, 0, 6307840, 0, 0, 6356992, 6381568, 6397952, 4800512, 4808704, 0, 0, 4890624, 0, 0, 6356992, 6381568, 6397952, 4800512, 4808704, 4358144, 4358144, 4890624, 4358144, 4947968, 4358144, 4358144, 4358144, 5046272, 4358144, 4358144, 4358144, 4358144, 5185536, 4358144, 5234688, 5300224, 4358144, 4358144, 5406720, 5529600, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4907008, 0, 5079040, 6094848, 0, 0, 0, 4358144, 4907008, 4358144, 5079040, 4358144, 5226496, 4358144, 5742592, 4358144, 4358144, 4358144, 6094848, 0, 4907008, 0, 5079040, 0, 5226496, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 6397952, 5021696, 4358144, 4358144, 5021696, 0, 0, 0, 4980736, 0, 0, 0, 0, 0, 5373952, 5734400, 6045696, 0, 0, 0, 0, 0, 2306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2290, 0, 0, 0, 0, 0, 0, 0, 6152192, 0, 0, 0, 6316032, 0, 0, 0, 0, 5816320, 6291456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 3627, 0, 0, 0, 0, 5939200, 0, 0, 5677056, 6365184, 4866048, 0, 6070272, 5545984, 5152768, 0, 0, 6144000, 4358144, 4866048, 4882432, 4358144, 0, 0, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5177344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5324800, 5373952, 5537792, 5545984, 5586944, 5734400, 5971968, 0, 6045696, 0, 6070272, 0, 0, 0, 0, 6348800, 0, 4866048, 4882432, 0, 4980736, 0, 0, 0, 0, 0, 0, 0, 0, 521, 831, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 877, 521, 521, 521, 521, 895, 521, 521, 57886, 57886, 58249, 0, 5324800, 5373952, 5537792, 5545984, 5586944, 5734400, 5971968, 0, 6045696, 0, 6070272, 0, 0, 0, 0, 6348800, 4358144, 4866048, 4882432, 4358144, 4980736, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5324800, 5373952, 5537792, 5545984, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 6348800, 0, 4866048, 4882432, 0, 4980736, 0, 0, 0, 0, 5537792, 5545984, 5586944, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 4358144, 6348800, 4358144, 6144000, 0, 6144000, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 3441, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3454, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 60242, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60250, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60293, 57886, 57886, 57886, 60296, 60297, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59917, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 5693440, 0, 6496256, 5144576, 5136384, 0, 5914624, 4358144, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 0, 0, 5005312, 0, 0, 0, 5120000, 5136384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6324224, 0, 0, 5005312, 0, 0, 0, 5120000, 5136384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6324224, 4358144, 0, 0, 900, 900, 900, 4825988, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5178244, 900, 900, 900, 900, 900, 5219204, 900, 5268356, 900, 900, 5309316, 5317508, 900, 900, 900, 5432196, 900, 5489540, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5800836, 900, 900, 5882756, 900, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 3627, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1772, 0, 1774, 0, 0, 0, 1778, 0, 0, 0, 1782, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 0, 5013504, 0, 0, 6053888, 0, 0, 0, 0, 6012928, 4358144, 4358144, 5013504, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 0, 0, 5013504, 0, 0, 0, 0, 0, 0, 685, 0, 0, 0, 0, 0, 0, 692, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 705, 0, 0, 0, 0, 0, 0, 0, 0, 6053888, 0, 0, 0, 0, 0, 5013504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6053888, 0, 0, 0, 4358144, 4358144, 5013504, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5799936, 4358144, 4358144, 5881856, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6103040, 4358144, 4358144, 4358144, 6184960, 4358144, 4358144, 4358144, 6283264, 4358144, 4358144, 6332416, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 5193728, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 901, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 0, 5414912, 0, 5447680, 0, 5464064, 0, 5480448, 5562368, 0, 0, 0, 5636096, 0, 5685248, 0, 0, 5750784, 0, 0, 0, 0, 0, 5873664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5193728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5193728, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 5193728, 4358144, 0, 1959, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5177344, 0, 0, 0, 0, 0, 0, 715, 0, 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1250, 1252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 5742592, 0, 0, 0, 6094848, 0, 0, 4907008, 0, 5079040, 0, 5226496, 0, 5742592, 0, 0, 0, 6094848, 0, 4358144, 4907008, 4358144, 5079040, 4358144, 5226496, 4358144, 5742592, 4358144, 4358144, 4358144, 6094848, 4358144, 5062656, 0, 0, 0, 4358144, 5062656, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 5062656, 0, 0, 0, 0, 0, 6225920, 0, 5062656, 0, 0, 0, 0, 0, 6225920, 4358144, 5062656, 4358144, 4358144, 4358144, 0, 900, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 2396, 521, 521, 521, 521, 2400, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3199, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1390, 521, 521, 1394, 521, 521, 521, 521, 521, 1401, 521, 521, 4358144, 4358144, 4358144, 6225920, 0, 0, 0, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 4816896, 0, 0, 0, 0, 6086656, 4816896, 0, 0, 0, 0, 6086656, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 5087232, 0, 5931008, 4358144, 5332992, 5980160, 4358144, 0, 5332992, 5980160, 0, 0, 5332992, 5980160, 0, 4358144, 5332992, 5980160, 4358144, 5439488, 5128192, 4358144, 5128192, 0, 5128192, 0, 5128192, 4358144, 4358144, 0, 0, 4358144, 4358144, 0, 0, 4358144, 6004736, 6004736, 6004736, 6004736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1289, 0, 0, 0, 0, 0, 0, 0, 0, 1294, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2816, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221645, 221645, 221645, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 221645, 461, 221645, 221645, 221645, 461, 221645, 221645, 221645, 221645, 221645, 221645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 328, 329, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221645, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1780, 0, 0, 0, 0, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3414, 0, 0, 0, 0, 3418, 0, 0, 0, 0, 3423, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237568, 301, 0, 305, 237568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 305, 237982, 147456, 0, 0, 0, 305, 0, 0, 0, 0, 0, 2334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2349, 0, 0, 0, 0, 0, 0, 0, 3406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3420, 3421, 0, 0, 0, 0, 3426, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 516096, 0, 0, 0, 0, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 0, 305, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 1870, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2453, 521, 521, 521, 2456, 521, 521, 521, 521, 521, 2461, 521, 305, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 65536, 302, 0, 4268032, 98304, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4210978, 24578, 3, 0, 0, 296, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 245760, 0, 245760, 0, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 4210978, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212992, 0, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1270, 0, 0, 2059, 0, 0, 0, 4825088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5177344, 0, 0, 0, 0, 0, 0, 0, 1730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 310, 0, 0, 0, 310, 310, 311, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 673, 674, 0, 0, 0, 0, 0, 0, 262144, 262144, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 301, 0, 0, 0, 262144, 0, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 262731, 0, 262731, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 3439, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3670, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60591, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59853, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60298, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 262731, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 245760, 245760, 245760, 245760, 245760, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278528, 278528, 0, 0, 131072, 278528, 0, 0, 0, 278528, 0, 0, 0, 0, 278528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 384, 0, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 278528, 0, 278528, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3438, 521, 521, 521, 521, 3442, 521, 521, 521, 521, 521, 521, 521, 3448, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1901, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1921, 521, 521, 278528, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 262144, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262144, 262144, 0, 262144, 0, 0, 0, 139264, 147456, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 302, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 631, 0, 4268032, 305, 634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 532480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1506, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2810, 2811, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 302, 0, 306, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0, 0, 733, 0, 739, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 306, 139264, 287138, 0, 0, 0, 306, 0, 0, 0, 0, 0, 2386, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2402, 521, 2404, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59830, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60836, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60274, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, 0, 306, 0, 0, 0, 0, 0, 521, 521, 521, 3437, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3449, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3464, 521, 3466, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 61250, 57909, 57909, 61252, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 59994, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 306, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 66168, 0, 4268032, 305, 98939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2352, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 303, 0, 0, 303, 303, 295215, 303, 303, 303, 303, 303, 303, 303, 303, 303, 295215, 373, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 368, 303, 0, 295215, 303, 303, 303, 303, 295285, 295215, 295215, 295215, 295215, 295215, 295215, 303, 303, 303, 303, 303, 303, 295285, 295215, 295215, 295215, 303, 303, 303, 295285, 139264, 147456, 295215, 295215, 303, 303, 295215, 303, 303, 131072, 303, 303, 303, 303, 295215, 303, 303, 303, 303, 295215, 303, 295215, 295215, 295215, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 295215, 295215, 295215, 295215, 295215, 295215, 303, 303, 303, 295215, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 295215, 303, 295215, 295215, 295215, 295215, 295215, 295215, 295215, 303, 0, 303, 0, 303, 303, 303, 295215, 303, 303, 303, 295215, 295215, 303, 295215, 303, 295215, 295215, 295215, 295215, 295215, 295215, 295215, 295215, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295285, 295215, 295215, 295215, 295215, 295215, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4359045, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 352256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 319488, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1743, 0, 0, 0, 0, 0, 0, 0, 1751, 1752, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 319488, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 319488, 0, 319488, 319488, 319488, 0, 24578, 3, 0, 0, 4366336, 253952, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4284416, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 521, 2389, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3219, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60571, 57886, 57886, 57886, 57886, 57886, 57886, 60579, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 327680, 335872, 327680, 327680, 327680, 335872, 327680, 327680, 327680, 327680, 327680, 327680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49716, 0, 0, 0, 0, 0, 327680, 49716, 327680, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5627904, 0, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 106496, 0, 0, 4284416, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49152, 977, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6463488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 4939776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 344064, 344064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 344064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 357, 358, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 0, 4276224, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 352256, 0, 0, 0, 0, 0, 0, 131072, 0, 352256, 352256, 0, 0, 352256, 0, 0, 352256, 0, 352256, 0, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 352256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1197, 0, 367, 367, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 706, 0, 0, 1, 291, 3, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360448, 360448, 360448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 360448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360448, 1, 0, 3, 155941, 155941, 295, 0, 629, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1188, 0, 58796, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59402, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58826, 57886, 57886, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59502, 57886, 0, 2281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 2357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3428, 0, 57909, 59926, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58906, 57909, 57909, 59952, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 60009, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 60035, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60937, 521, 3212, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59387, 59388, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60604, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60320, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60702, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 3612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 0, 0, 0, 57886, 57886, 60830, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60853, 57886, 57886, 57936, 57936, 57936, 57936, 60914, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60057, 57936, 57936, 57936, 57936, 61027, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 61045, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60634, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59493, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 61048, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61056, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60378, 57936, 57936, 57936, 57886, 57886, 57886, 57886, 61156, 57886, 57886, 57886, 57886, 61157, 61158, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59997, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 61175, 57909, 57909, 57909, 57909, 61176, 61177, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61194, 57936, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61078, 61079, 57936, 57936, 57936, 57936, 61083, 61084, 57936, 57936, 57936, 57936, 57936, 61088, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61195, 61196, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3177, 521, 521, 521, 521, 521, 521, 3184, 521, 3186, 521, 521, 521, 57936, 57936, 57936, 57936, 57936, 61270, 57936, 57936, 57936, 57936, 57936, 57936, 61276, 57936, 57936, 57936, 61280, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 1791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, 0, 3947, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61306, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58312, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61322, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61338, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3759, 521, 57886, 61105, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 61439, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 61452, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61465, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60413, 57936, 57936, 57936, 57936, 57936, 57936, 60421, 57936, 57936, 57936, 57936, 57936, 60426, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 4077, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 57886, 57909, 57936, 521, 57886, 57909, 57936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376832, 376832, 376832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1268, 1269, 0, 0, 0, 0, 0, 419, 419, 419, 419, 590, 590, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 0, 419, 0, 0, 0, 0, 0, 521, 1866, 521, 521, 521, 521, 521, 521, 1872, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 60568, 57886, 57886, 57886, 57886, 57886, 57886, 60575, 57886, 60577, 57886, 57886, 419, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2817, 0, 0, 0, 4268773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, 0, 0, 0, 0, 731, 0, 637, 731, 0, 735, 736, 637, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393678, 393678, 393678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4025, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 393678, 0, 393678, 393678, 393678, 0, 393678, 393678, 393678, 393678, 393678, 393678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 425984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3176, 521, 521, 521, 521, 521, 3181, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 0, 0, 375, 0, 0, 0, 0, 0, 327, 375, 330, 374, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 57887, 521, 57887, 521, 521, 57887, 521, 521, 57910, 57887, 521, 521, 57887, 57887, 57887, 57910, 0, 0, 0, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 0, 420, 0, 0, 0, 0, 0, 521, 3435, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1916, 521, 521, 521, 521, 521, 521, 420, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 304, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2791, 0, 0, 1239, 0, 0, 0, 741, 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 1322, 521, 521, 521, 521, 521, 521, 521, 2468, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60276, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 2468, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60305, 57886, 57886, 0, 0, 0, 2963, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 308, 309, 0, 0, 0, 0, 0, 0, 1815, 0, 0, 0, 0, 0, 0, 0, 0, 1821, 0, 1823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3127, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 417792, 417792, 0, 0, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 417792, 418101, 417792, 417792, 418100, 418101, 417792, 417792, 418100, 417792, 418100, 417792, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 309, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 1, 24578, 3, 0, 0, 4366964, 0, 0, 0, 0, 0, 301, 302, 311296, 4268032, 305, 306, 0, 434176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1859, 0, 0, 1860, 0, 0, 900, 900, 5415812, 900, 5448580, 900, 5464964, 900, 5481348, 5563268, 900, 900, 900, 5636996, 900, 5686148, 900, 900, 5751684, 900, 900, 900, 900, 900, 5874564, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6464388, 0, 0, 0, 0, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 4932560, 4940752, 976, 976, 976, 976, 976, 4359044, 4858756, 4875140, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5260164, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5415812, 4359044, 5448580, 4359044, 5464964, 4359044, 5481348, 5563268, 4359044, 4359044, 4359044, 5636996, 4359044, 5686148, 4359044, 4359044, 5751684, 4359044, 4359044, 4359044, 4359044, 4359044, 5874564, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6275972, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5342084, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5628804, 5653380, 4359044, 5702532, 4359044, 4359044, 5809028, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4907008, 0, 5079040, 6094848, 0, 0, 0, 4358144, 4907008, 4358144, 5079040, 4358144, 5226496, 4358144, 5742592, 4358144, 4358144, 4358144, 6094848, 900, 4907908, 900, 5079940, 900, 5227396, 900, 5243780, 900, 900, 900, 900, 900, 900, 900, 5342084, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5628804, 5653380, 900, 5702532, 900, 900, 900, 900, 900, 900, 5211012, 900, 900, 900, 900, 5292932, 900, 900, 900, 900, 5366660, 900, 900, 900, 5456772, 900, 900, 900, 900, 900, 5555076, 5571460, 5579652, 5620612, 5669764, 900, 0, 0, 976, 976, 976, 4826064, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5178320, 976, 976, 976, 976, 976, 5112784, 976, 976, 976, 976, 976, 5284816, 976, 976, 976, 976, 5473232, 5522384, 976, 976, 976, 976, 5596112, 5710800, 5718992, 976, 5825488, 5866448, 976, 976, 5923792, 976, 5243856, 976, 976, 976, 976, 976, 976, 976, 5342160, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5628880, 5653456, 976, 5702608, 976, 976, 976, 976, 976, 976, 976, 5260240, 976, 976, 976, 976, 976, 976, 976, 976, 5415888, 976, 5448656, 976, 5465040, 976, 5481424, 5563344, 976, 976, 976, 5637072, 976, 5686224, 976, 976, 5751760, 976, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 0, 0, 0, 0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 4932484, 4940676, 900, 900, 900, 900, 900, 900, 5055364, 900, 900, 5112708, 900, 900, 900, 900, 900, 5284740, 900, 900, 900, 900, 5473156, 5522308, 900, 900, 900, 900, 5596036, 5710724, 5718916, 900, 5825412, 5866372, 900, 900, 5923716, 900, 900, 6022020, 900, 900, 900, 5792644, 5817220, 900, 5858180, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6120324, 900, 6169476, 900, 900, 900, 900, 900, 6243204, 900, 6292356, 900, 6316932, 976, 5055440, 976, 976, 976, 976, 976, 976, 976, 976, 5211088, 976, 976, 976, 976, 5293008, 976, 976, 976, 976, 5366736, 976, 976, 976, 5456848, 976, 976, 976, 976, 976, 5555152, 5571536, 5579728, 5620688, 5669840, 976, 976, 976, 5792720, 5817296, 976, 5858256, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6120400, 976, 6169552, 976, 976, 976, 976, 976, 6243280, 976, 6292432, 976, 6317008, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6464464, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4932484, 4940676, 4359044, 4359044, 4359044, 4359044, 4359044, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 900, 900, 900, 900, 900, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 4923392, 4359044, 5055364, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5211012, 4359044, 4359044, 4359044, 4359044, 5292932, 4359044, 4359044, 4359044, 4359044, 5366660, 4359044, 4359044, 4359044, 5456772, 4359044, 4359044, 4359044, 4359044, 4359044, 5555076, 5571460, 5579652, 5620612, 5669764, 4359044, 4359044, 4359044, 5792644, 5817220, 4359044, 5858180, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6120324, 4359044, 6169476, 4359044, 4359044, 4359044, 4359044, 4359044, 6243204, 4359044, 6292356, 4359044, 6316932, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6464388, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 900, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 0, 4358144, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 4785028, 900, 900, 900, 4850564, 900, 900, 900, 900, 900, 4916100, 900, 4957060, 4973444, 900, 900, 900, 900, 900, 900, 5071748, 900, 900, 5194628, 900, 900, 900, 900, 900, 900, 900, 900, 976, 976, 976, 976, 976, 5194704, 976, 976, 976, 976, 976, 976, 976, 976, 4359044, 4359044, 4359044, 4359044, 4359044, 5194628, 4359044, 0, 0, 4785104, 976, 976, 976, 4850640, 976, 976, 976, 976, 976, 4916176, 976, 4957136, 4973520, 976, 976, 976, 976, 976, 976, 5071824, 976, 976, 976, 976, 976, 976, 976, 5219280, 976, 976, 6357968, 6382544, 6398928, 4801412, 4809604, 4359044, 4359044, 4891524, 4359044, 4948868, 4359044, 4359044, 4359044, 5047172, 4359044, 4359044, 4359044, 4359044, 5186436, 4359044, 5235588, 5301124, 4359044, 4359044, 5407620, 5530500, 4359044, 4359044, 4359044, 4359044, 4359044, 4923392, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 4924292, 900, 900, 900, 900, 4366336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0, 5268432, 976, 976, 5309392, 5317584, 976, 976, 976, 5432272, 976, 5489616, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5800912, 976, 976, 5882832, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 976, 6104016, 976, 976, 976, 6185936, 976, 976, 976, 6284240, 976, 976, 6333392, 976, 976, 976, 6390736, 976, 976, 6431696, 6439888, 4785028, 4359044, 4359044, 4359044, 4850564, 4359044, 4359044, 4359044, 4359044, 4359044, 4916100, 4359044, 4957060, 4973444, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5071748, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5219204, 4359044, 5268356, 4359044, 4359044, 5309316, 5317508, 4359044, 4359044, 4359044, 5432196, 4359044, 5489540, 4359044, 4359044, 4359044, 4359044, 4359044, 6054788, 4359044, 4359044, 4359044, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 5193728, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 5096324, 5104516, 900, 900, 5202820, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5890948, 900, 900, 900, 6030212, 900, 900, 900, 900, 6161284, 900, 900, 900, 900, 6407044, 976, 976, 976, 976, 976, 976, 976, 976, 4998096, 976, 976, 5039056, 976, 976, 976, 5096400, 5104592, 976, 976, 5202896, 976, 976, 976, 976, 976, 976, 976, 5891024, 976, 976, 976, 6030288, 976, 976, 976, 976, 6161360, 976, 976, 976, 976, 976, 976, 976, 6407120, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4998020, 4359044, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 900, 900, 4842372, 900, 900, 900, 4899716, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 975, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6300624, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 5809028, 6038404, 900, 900, 6079364, 6112132, 900, 6177668, 6210436, 900, 6235012, 900, 900, 900, 900, 900, 900, 900, 0, 0, 976, 976, 4842448, 976, 976, 976, 4899792, 976, 976, 976, 976, 976, 976, 5874640, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6276048, 976, 976, 976, 976, 976, 976, 976, 976, 976, 0, 900, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5112708, 4359044, 4359044, 4359044, 4359044, 4359044, 5284740, 4359044, 4359044, 4359044, 4359044, 5473156, 5522308, 4359044, 4359044, 4359044, 4359044, 5596036, 5710724, 5718916, 4359044, 5825412, 5866372, 4359044, 4359044, 5923716, 976, 6022096, 976, 6038480, 976, 976, 6079440, 6112208, 976, 6177744, 6210512, 976, 6235088, 976, 976, 976, 976, 976, 976, 976, 4359044, 4359044, 4842372, 4359044, 4359044, 4359044, 4899716, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5800836, 4359044, 4359044, 5882756, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6103940, 4359044, 4359044, 4359044, 6185860, 4359044, 4359044, 4359044, 6284164, 4359044, 4359044, 6333316, 4359044, 4359044, 6022020, 4359044, 6038404, 4359044, 4359044, 6079364, 6112132, 4359044, 6177668, 6210436, 4359044, 6235012, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4358144, 4358144, 4358144, 900, 900, 900, 0, 0, 0, 0, 0, 0, 0, 1760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 419, 0, 4358144, 4358144, 4358144, 5890048, 4358144, 4358144, 4358144, 6029312, 4358144, 4358144, 4358144, 4358144, 6160384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6406144, 900, 900, 900, 900, 900, 900, 900, 900, 4998020, 900, 900, 5038980, 4359044, 5038980, 4359044, 4359044, 4359044, 5096324, 5104516, 4359044, 4359044, 5202820, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5890948, 4359044, 4359044, 4359044, 6030212, 4359044, 4359044, 4359044, 4359044, 6161284, 4359044, 4359044, 4359044, 6226820, 0, 0, 0, 4816896, 4358144, 4358144, 4358144, 4358144, 6086656, 4817796, 900, 900, 900, 900, 6087556, 4817872, 976, 976, 976, 976, 6087632, 4817796, 4359044, 4359044, 4359044, 4359044, 6087556, 5087232, 4358144, 4358144, 4358144, 5898240, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6307840, 4358144, 4358144, 6356992, 6381568, 6397952, 4801412, 4809604, 900, 900, 4891524, 900, 4948868, 900, 900, 900, 5047172, 900, 900, 900, 900, 900, 6054788, 900, 900, 900, 976, 976, 5014480, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6054864, 976, 976, 976, 4359044, 4359044, 5014404, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6407044, 4358144, 4358144, 4358144, 900, 900, 900, 4890624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5898240, 5963776, 0, 0, 6193152, 0, 0, 5406720, 6397952, 5186436, 900, 5235588, 5301124, 900, 900, 5407620, 5530500, 900, 900, 900, 900, 5899140, 900, 900, 900, 900, 900, 900, 900, 900, 6308740, 900, 900, 6357892, 6382468, 6398852, 4801488, 4809680, 976, 976, 4891600, 976, 4948944, 976, 976, 976, 5047248, 976, 976, 976, 976, 5186512, 976, 5235664, 5301200, 976, 976, 5407696, 5530576, 976, 976, 976, 976, 5899216, 976, 976, 976, 976, 976, 976, 976, 976, 6308816, 5899140, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6308740, 4359044, 4359044, 6357892, 6382468, 6398852, 5021696, 4358144, 4358144, 5022596, 900, 900, 0, 4980736, 0, 0, 0, 0, 0, 5373952, 5734400, 6045696, 0, 0, 0, 0, 0, 2771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785, 0, 2786, 0, 0, 0, 0, 0, 0, 0, 0, 1843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1263, 0, 0, 0, 0, 0, 0, 0, 0, 4980736, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5324800, 5373952, 5537792, 5545984, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 6348800, 900, 4866948, 4883332, 900, 4981636, 900, 900, 900, 900, 5325700, 5374852, 5538692, 5546884, 5587844, 5735300, 5972868, 900, 6046596, 900, 6071172, 900, 900, 900, 900, 6349700, 976, 4867024, 4883408, 976, 4981712, 976, 976, 976, 976, 976, 976, 976, 976, 5325776, 5374928, 5538768, 5546960, 5587920, 5735376, 5972944, 976, 6046672, 976, 6071248, 976, 976, 976, 976, 6349776, 4359044, 4866948, 4883332, 4359044, 4981636, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5325700, 5374852, 5538692, 5546884, 5587844, 5735300, 5972868, 4359044, 6046596, 4359044, 6071172, 4359044, 4359044, 4359044, 4359044, 6349700, 4358144, 6144000, 900, 6144900, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 655, 0, 0, 521, 521, 521, 521, 521, 845, 521, 521, 861, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59499, 57909, 57909, 57909, 57886, 5693440, 0, 6496256, 5144576, 5136384, 0, 5914624, 4358144, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 900, 900, 5006212, 900, 900, 900, 5120900, 5137284, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6325124, 976, 976, 5006288, 976, 976, 976, 5120976, 5137360, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 6325200, 4359044, 4359044, 4359044, 6390660, 4359044, 4359044, 6431620, 6439812, 4358144, 4358144, 4358144, 6266880, 6488064, 900, 900, 900, 6267780, 6488964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1767, 0, 0, 0, 0, 0, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4359044, 5006212, 4359044, 4359044, 4359044, 5120900, 5137284, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6325124, 5914624, 5915524, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 3627, 0, 0, 0, 0, 0, 0, 2285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 6300548, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 0, 5013504, 0, 0, 6053888, 0, 0, 0, 0, 6012928, 4358144, 4358144, 5013504, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6053888, 4358144, 4358144, 900, 900, 5014404, 900, 900, 900, 900, 6275972, 900, 900, 900, 900, 900, 900, 900, 900, 900, 0, 0, 977, 976, 976, 976, 976, 976, 4858832, 4875216, 976, 976, 976, 976, 976, 976, 976, 976, 976, 976, 0, 0, 0, 0, 900, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 6300548, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4358144, 4358144, 900, 5743492, 900, 900, 900, 6095748, 900, 976, 4907984, 976, 5080016, 976, 5227472, 976, 5743568, 976, 976, 976, 6095824, 976, 4359044, 4907908, 4359044, 5079940, 4359044, 5227396, 4359044, 5743492, 4359044, 4359044, 4359044, 6095748, 4359044, 5062656, 0, 0, 0, 4358144, 5062656, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 5063556, 900, 900, 900, 900, 900, 6226820, 976, 5063632, 976, 976, 976, 976, 976, 6226896, 4359044, 5063556, 4359044, 4359044, 4359044, 4825988, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 4359044, 5178244, 4359044, 4359044, 4359044, 4359044, 4359044, 5243780, 4359044, 0, 5931008, 4358144, 5332992, 5980160, 4358144, 900, 5333892, 5981060, 900, 976, 5333968, 5981136, 976, 4359044, 5333892, 5981060, 4359044, 5439488, 5128192, 4358144, 5129092, 900, 5129168, 976, 5129092, 4359044, 4358144, 900, 976, 4359044, 4358144, 900, 976, 4359044, 6004736, 6005636, 6005712, 6005636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2345, 0, 0, 0, 0, 0, 2351, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 450560, 0, 450560, 450560, 450560, 450560, 450560, 450560, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 450560, 0, 0, 0, 450560, 0, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 450560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1824, 0, 0, 0, 0, 0, 0, 1729, 0, 0, 0, 0, 0, 0, 450560, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 0, 2359296, 0, 0, 0, 2359296, 0, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 4358144, 6291456, 4358144, 6316032, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6463488, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 302, 0, 0, 306, 0, 0, 0, 0, 0, 0, 2335, 0, 0, 0, 0, 0, 2339, 0, 0, 0, 0, 0, 0, 0, 2343, 2344, 0, 0, 0, 0, 0, 2350, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 2836, 521, 521, 521, 521, 2840, 521, 521, 4358144, 6430720, 6438912, 901, 0, 0, 0, 901, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 0, 0, 0, 5070848, 0, 0, 0, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 374, 374, 404, 977, 0, 4784128, 0, 0, 0, 4849664, 0, 0, 0, 0, 0, 4915200, 0, 4956160, 4972544, 0, 0, 0, 0, 0, 0, 5070848, 0, 0, 0, 0, 0, 0, 0, 5218304, 0, 5267456, 0, 0, 5308416, 5316608, 0, 0, 0, 5431296, 0, 5488640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5799936, 0, 0, 5881856, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 6078464, 6111232, 4358144, 6176768, 6209536, 6234112, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 901, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3653, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3218, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60573, 57886, 60576, 57886, 57886, 57886, 6037504, 0, 0, 6078464, 6111232, 0, 6176768, 6209536, 0, 6234112, 0, 0, 0, 0, 0, 0, 0, 977, 0, 0, 0, 4841472, 0, 0, 0, 4898816, 0, 0, 0, 0, 0, 0, 0, 0, 6103040, 0, 0, 0, 6184960, 0, 0, 0, 6283264, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 0, 0, 0, 0, 0, 0, 0, 0, 459186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 459215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459340, 459215, 459372, 459215, 459215, 459372, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5480448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5840896, 5849088, 0, 1, 24578, 3, 0, 0, 0, 0, 507904, 0, 0, 0, 507904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 0, 0, 0, 0, 0, 2796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3385, 3386, 0, 0, 0, 0, 3391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2789, 0, 0, 0, 2793, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 507904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2781, 0, 0, 2784, 0, 0, 0, 0, 2788, 0, 0, 0, 0, 0, 507904, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 442368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 516096, 0, 0, 0, 516096, 0, 0, 0, 0, 0, 0, 516096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2287, 0, 2288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 516560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516560, 1, 24578, 0, 0, 0, 4366336, 0, 0, 548864, 0, 0, 301, 302, 0, 4268032, 305, 306, 409600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 2340, 0, 0, 0, 0, 0, 0, 0, 0, 2347, 0, 0, 0, 0, 0, 0, 2354, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 40960, 0, 0, 0, 0, 0, 0, 2747, 0, 2749, 0, 0, 2752, 0, 0, 0, 0, 0, 0, 2757, 0, 0, 0, 2760, 2761, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 855, 521, 521, 521, 521, 521, 874, 521, 521, 521, 521, 892, 521, 521, 521, 57886, 57886, 57886, 1, 24578, 4227364, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 540672, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1857, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 4227364, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499712, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 155941, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57887, 57887, 57887, 57887, 57887, 57887, 57887, 57910, 57910, 57887, 57887, 57937, 57887, 57887, 57887, 57887, 57887, 57887, 57887, 57937, 57937, 57887, 57887, 57887, 57887, 57937, 57937, 57887, 521, 57887, 57887, 57887, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399797, 4399797, 4399797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 358, 0, 0, 399, 0, 0, 0, 0, 0, 139264, 147456, 399, 410, 0, 423, 410, 1, 24578, 3, 155942, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1236, 0, 0, 0, 1, 24578, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573440, 0, 573440, 573440, 573440, 0, 573440, 573440, 573440, 573440, 573440, 573440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3628, 0, 0, 0, 3631, 0, 0, 0, 0, 0, 0, 0, 0, 3639, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573440, 573440, 573440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1819, 1820, 0, 1822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1836, 0, 0, 0, 0, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 573440, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4399798, 311296, 4399798, 0, 0, 0, 311296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4276224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1738, 0, 5300224, 5234688, 5423104, 0, 0, 0, 0, 5988352, 0, 0, 6135808, 6307840, 0, 5996544, 4800512, 0, 6356992, 3627, 0, 0, 5496832, 0, 0, 0, 0, 0, 5611520, 0, 0, 0, 0, 0, 0, 0, 1792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 326, 376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 630, 302, 0, 4268032, 633, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2806, 0, 0, 0, 0, 0, 0, 0, 0, 2814, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581632, 0, 0, 0, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 581632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 581632, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3172, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3183, 521, 521, 3187, 521, 521, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 3774, 0, 0, 0, 0, 5939200, 0, 0, 5677056, 6365184, 4866048, 0, 6070272, 5545984, 5152768, 0, 0, 6144000, 4358144, 4866048, 4882432, 4358144, 4358144, 4358144, 0, 901, 900, 900, 900, 900, 900, 4858756, 4875140, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 5260164, 900, 900, 900, 900, 900, 900, 900, 900, 6103940, 900, 900, 900, 6185860, 900, 900, 900, 6284164, 900, 900, 6333316, 900, 900, 900, 6390660, 900, 900, 6431620, 6439812, 0, 0, 0, 0, 5537792, 5545984, 5586944, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 4358144, 6348800, 4358144, 6144000, 0, 6144000, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 3869, 0, 0, 0, 0, 0, 787, 0, 0, 521, 521, 521, 521, 521, 847, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60869, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59939, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59946, 57909, 59948, 57909, 59951, 57909, 57909, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 3869, 0, 0, 0, 0, 0, 0, 2822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2830, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1938, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1387, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 310, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3638, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 310, 0, 451, 465, 465, 465, 478, 478, 478, 478, 478, 478, 478, 478, 478, 499, 478, 478, 478, 478, 517, 478, 478, 478, 517, 478, 478, 478, 478, 478, 478, 522, 57888, 522, 57888, 522, 522, 57888, 522, 522, 57911, 57888, 522, 522, 57888, 57888, 57888, 57911, 57888, 57888, 57888, 57888, 57888, 57888, 57888, 57911, 57911, 57888, 57888, 57938, 57888, 57888, 57888, 57888, 57888, 57888, 57888, 57938, 57938, 57888, 57888, 57888, 57888, 57938, 57938, 57888, 522, 57888, 57888, 57888, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 638, 0, 0, 641, 642, 0, 0, 0, 0, 0, 0, 745, 0, 0, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1279, 0, 0, 0, 0, 1284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0, 0, 0, 743, 0, 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 758, 0, 0, 0, 0, 764, 0, 0, 768, 0, 0, 0, 0, 0, 0, 3115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1175, 0, 1177, 1178, 0, 0, 0, 0, 0, 0, 0, 776, 0, 0, 0, 0, 780, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 3114, 0, 0, 0, 0, 0, 3118, 0, 0, 0, 0, 0, 0, 0, 3124, 3125, 3126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1306, 0, 0, 0, 1310, 0, 0, 0, 0, 1313, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61024, 57886, 57886, 0, 824, 825, 0, 0, 0, 0, 780, 521, 521, 834, 838, 521, 521, 850, 521, 521, 521, 866, 521, 871, 521, 879, 521, 882, 521, 521, 896, 521, 57886, 57886, 57886, 57886, 57886, 57886, 59898, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 59913, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59448, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59461, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58253, 58257, 57886, 57886, 58269, 57886, 57886, 57886, 58285, 57886, 58290, 57886, 58298, 57886, 58301, 57886, 57886, 58315, 57886, 0, 57909, 57909, 57909, 58329, 58333, 57909, 57909, 58345, 57909, 57909, 57909, 58361, 57909, 58366, 57909, 58374, 57909, 58377, 57909, 57909, 58391, 57909, 0, 0, 0, 0, 58290, 57936, 57936, 57936, 58404, 58408, 57936, 57936, 58420, 57936, 57936, 57936, 58436, 57936, 58441, 57936, 58449, 57936, 0, 0, 0, 0, 521, 521, 521, 521, 521, 4172, 521, 57886, 57886, 57886, 57886, 57886, 61522, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 61528, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59544, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59557, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59545, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59014, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58452, 57936, 57936, 58466, 57936, 834, 838, 1128, 882, 521, 521, 0, 58257, 58253, 58478, 58301, 57886, 57886, 155941, 1138, 0, 0, 1141, 0, 0, 1146, 0, 0, 0, 0, 0, 0, 0, 0, 6103040, 0, 0, 0, 6184960, 0, 0, 0, 6283264, 0, 0, 6332416, 0, 0, 0, 6389760, 0, 0, 6430720, 6438912, 977, 0, 0, 0, 0, 0, 1210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 57886, 58831, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59964, 57909, 57909, 57909, 57909, 59969, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 1753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 0, 1188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 1199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 688, 0, 0, 0, 0, 367, 367, 367, 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, 1813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2815, 0, 0, 1861, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1874, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1887, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61044, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 521, 521, 521, 521, 521, 1929, 521, 521, 1932, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1945, 521, 521, 521, 521, 521, 521, 1951, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59828, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59380, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 61166, 57909, 57909, 57909, 61169, 57909, 57909, 57909, 57909, 521, 58754, 1960, 57886, 57886, 57886, 57886, 57886, 59311, 57886, 57886, 57886, 57886, 57886, 59317, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59330, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60835, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60845, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60854, 57886, 50657, 2060, 57909, 57909, 57909, 57909, 57909, 59411, 57909, 57909, 57909, 57909, 57909, 59417, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59430, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58890, 57909, 57909, 57909, 58893, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58900, 57909, 57909, 58904, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59472, 57909, 57909, 59475, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59489, 57909, 57909, 57909, 57909, 57909, 57909, 59495, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3151, 0, 0, 0, 3155, 0, 3157, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 59507, 57936, 57936, 57936, 57936, 57936, 59513, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59526, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59579, 57936, 57936, 57936, 57936, 57936, 57936, 59587, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 3105, 0, 0, 0, 0, 0, 0, 57936, 57936, 59568, 57936, 57936, 59571, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59585, 57936, 57936, 57936, 57936, 57936, 57936, 59591, 57936, 57936, 57936, 57936, 57936, 57936, 521, 2256, 521, 521, 521, 57886, 59605, 57886, 57886, 57886, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2275, 0, 0, 0, 0, 0, 0, 791, 0, 521, 521, 521, 521, 521, 521, 521, 521, 859, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1737, 1738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 309, 0, 309, 0, 0, 0, 0, 2331, 0, 2333, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 1828, 0, 0, 0, 0, 0, 0, 0, 1835, 0, 0, 521, 2464, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59829, 57886, 57886, 59832, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60265, 57886, 57886, 57886, 57886, 60268, 57886, 57886, 60270, 57886, 60271, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60280, 57886, 57886, 60284, 59840, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59860, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61032, 57886, 57886, 57886, 57886, 57886, 57886, 61038, 57886, 61040, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61089, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 59929, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59949, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58886, 57909, 58888, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60375, 57936, 60376, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60012, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60032, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60070, 57936, 57936, 57936, 2405, 521, 521, 521, 521, 59836, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2399, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2446, 521, 521, 521, 521, 521, 521, 521, 2452, 521, 521, 521, 521, 521, 521, 2457, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2847, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2889, 521, 521, 521, 521, 521, 521, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60315, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60323, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58924, 57909, 57909, 58928, 57909, 57909, 57909, 57909, 57909, 58935, 57909, 57909, 57909, 58942, 57909, 0, 57886, 57936, 57936, 57936, 57936, 60359, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60370, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60380, 57936, 0, 0, 0, 0, 521, 521, 521, 4170, 4171, 521, 521, 57886, 57886, 57886, 61520, 61521, 57886, 57886, 57886, 57909, 57909, 57909, 61526, 61527, 57909, 57909, 57909, 57936, 57936, 57936, 61532, 57936, 57936, 60435, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 3104, 0, 0, 0, 3108, 0, 0, 0, 0, 0, 0, 3142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262731, 0, 0, 0, 0, 0, 0, 0, 0, 3113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3136, 57909, 60627, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60636, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60644, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61057, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61062, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 60676, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60685, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60693, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 1193, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60915, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60933, 57936, 60935, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60703, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 2748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 0, 352256, 352256, 0, 0, 0, 0, 521, 3948, 521, 3950, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 61307, 57886, 61309, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58807, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59347, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61165, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61170, 57909, 57909, 57909, 57909, 61323, 57909, 61325, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61339, 57936, 61341, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 3859, 521, 61204, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 4012, 0, 0, 0, 4015, 0, 0, 521, 521, 521, 521, 4020, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 61377, 57886, 57886, 57886, 57886, 57886, 57909, 60861, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60352, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2765, 0, 0, 0, 0, 0, 0, 426, 0, 131072, 0, 0, 0, 426, 0, 0, 0, 0, 0, 426, 452, 0, 0, 0, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 516, 452, 516, 516, 516, 452, 516, 516, 516, 516, 516, 516, 523, 57889, 523, 57889, 523, 523, 57889, 523, 523, 57912, 57889, 523, 523, 57889, 57889, 57889, 57912, 57889, 57889, 57889, 57889, 57889, 57889, 57889, 57912, 57912, 57889, 57889, 57939, 57889, 57889, 57889, 57889, 57889, 57889, 57889, 57939, 57939, 57889, 57889, 57889, 57889, 57939, 57939, 57889, 614, 57889, 57966, 57966, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385024, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 57909, 57909, 58370, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58445, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61199, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 820, 780, 0, 0, 0, 0, 0, 0, 754, 0, 0, 754, 0, 0, 0, 0, 0, 754, 754, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 2770, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 60312, 57909, 57909, 57909, 57909, 60316, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60345, 57909, 57909, 57909, 57909, 60349, 57909, 57909, 57909, 60354, 57909, 57909, 57909, 57909, 60381, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60432, 57936, 57936, 57936, 57936, 57936, 60436, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2807, 0, 0, 0, 0, 0, 2812, 0, 0, 0, 0, 0, 57886, 61381, 57886, 61383, 57886, 57886, 61385, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61395, 57909, 61397, 57909, 57909, 61399, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57936, 61409, 57936, 61411, 57936, 57936, 61413, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 351, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 319, 319, 427, 428, 131072, 435, 428, 436, 427, 435, 436, 0, 315, 436, 448, 453, 466, 466, 466, 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 501, 501, 501, 514, 514, 515, 515, 501, 515, 515, 515, 501, 515, 515, 515, 515, 515, 515, 524, 57890, 524, 57890, 524, 524, 57890, 524, 524, 57913, 57890, 524, 524, 57890, 57890, 57890, 57913, 57890, 57890, 57890, 57890, 57890, 57890, 57890, 57913, 57913, 57890, 57890, 57940, 57890, 57890, 57890, 57890, 57890, 57890, 57890, 57940, 57940, 57890, 57890, 57890, 57890, 57940, 57940, 57890, 615, 57965, 57965, 57965, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 367, 367, 0, 0, 1201, 0, 0, 0, 1204, 0, 1206, 0, 679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5242880, 0, 0, 0, 0, 0, 5603328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 58378, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59553, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58453, 57936, 57936, 57936, 57936, 521, 521, 521, 883, 521, 521, 0, 57886, 57886, 57886, 58302, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3411, 0, 0, 0, 3415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 57886, 521, 57886, 521, 521, 57886, 521, 521, 57909, 57886, 521, 521, 57886, 57886, 57886, 57909, 521, 521, 521, 58754, 901, 57886, 57886, 58758, 57886, 57886, 58762, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58776, 57886, 58781, 57886, 57886, 58785, 57886, 57886, 58788, 57886, 57886, 57886, 57886, 57886, 57886, 58279, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58322, 57909, 57909, 57909, 57909, 57909, 57909, 58355, 57909, 57909, 57909, 58876, 57909, 57909, 58880, 57909, 57909, 58883, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58902, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 58951, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58965, 57936, 58970, 57936, 57936, 58974, 57936, 57936, 58977, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 3861, 0, 0, 0, 3863, 0, 0, 0, 0, 0, 0, 3627, 3870, 0, 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 521, 521, 521, 1927, 1928, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2433, 521, 521, 521, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59320, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59332, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 61494, 57909, 61495, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 61502, 57936, 61503, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60018, 57936, 60020, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60396, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60401, 57936, 57936, 57936, 57936, 57936, 57886, 57886, 59370, 59371, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59420, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59432, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59446, 57909, 57909, 57909, 59450, 57909, 57909, 59455, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59990, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59998, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 59470, 59471, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3447, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1341, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3200, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 61016, 57886, 57886, 57886, 61019, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59566, 59567, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162, 0, 0, 521, 2437, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2450, 521, 521, 521, 521, 521, 2454, 2455, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1374, 521, 1376, 521, 521, 521, 521, 521, 521, 521, 1389, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1404, 57886, 57886, 57886, 57886, 59869, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59882, 57886, 57886, 57886, 57886, 57886, 59886, 59887, 59888, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58800, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58822, 57886, 57886, 57886, 57886, 0, 0, 0, 2744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114688, 0, 0, 57886, 57886, 57886, 60288, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 0, 0, 0, 826, 0, 0, 521, 521, 521, 521, 521, 849, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 60863, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60875, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59447, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60672, 3137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1837, 0, 0, 0, 3166, 0, 0, 3169, 0, 0, 0, 0, 0, 0, 0, 3173, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2451, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3379, 0, 0, 0, 0, 0, 0, 0, 3383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3422, 0, 0, 0, 0, 0, 0, 3429, 521, 3458, 3459, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60827, 57886, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0, 0, 0, 0, 0, 695, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 883, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 2267, 0, 1142, 0, 0, 0, 0, 2270, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1809, 57909, 60884, 57909, 60886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60000, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60911, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60926, 57936, 60928, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60045, 60046, 57936, 57936, 57936, 57936, 57936, 57936, 60053, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61072, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59595, 57936, 57936, 57936, 1881, 521, 4010, 0, 4011, 0, 0, 0, 0, 0, 0, 0, 521, 4018, 521, 4019, 521, 521, 521, 4023, 521, 521, 521, 521, 521, 521, 521, 57886, 61375, 57886, 61376, 57886, 57886, 57886, 57886, 57886, 57886, 60264, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60269, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60275, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60283, 57886, 61380, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 61389, 57909, 61390, 57909, 57909, 57909, 61394, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61403, 57936, 61404, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60388, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 3376, 0, 0, 61408, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 1710, 0, 0, 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2338, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 4213, 57886, 57886, 57886, 61559, 57909, 57909, 57909, 61561, 57936, 57936, 57936, 61563, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 0, 2471, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59858, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 376, 0, 131072, 0, 0, 0, 376, 0, 0, 438, 444, 0, 376, 454, 467, 467, 467, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 525, 57891, 525, 57891, 525, 525, 57891, 525, 525, 57914, 57891, 525, 525, 57891, 57891, 57891, 57914, 57891, 57891, 57891, 57891, 57891, 57891, 57891, 57914, 57914, 57891, 57891, 57941, 57891, 57891, 57891, 57891, 57891, 57891, 57891, 57941, 57941, 57891, 57891, 57891, 57891, 57941, 57941, 57891, 525, 57891, 57891, 57891, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229376, 0, 491520, 524288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1180, 1181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 1166, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1284, 0, 0, 0, 1312, 1180, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 1321, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 60241, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58814, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 521, 521, 1371, 521, 521, 1373, 521, 521, 521, 521, 1378, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1403, 521, 521, 521, 521, 521, 521, 521, 521, 3196, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3203, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1902, 521, 521, 521, 521, 521, 521, 521, 521, 1913, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1935, 521, 521, 521, 1941, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1950, 521, 521, 521, 521, 1956, 521, 521, 521, 521, 58754, 901, 57886, 57886, 58759, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58786, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61247, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61263, 57909, 57909, 57936, 57909, 57909, 57909, 57909, 58881, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58896, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58905, 57909, 57909, 58907, 57909, 57909, 57909, 57909, 58912, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58937, 57909, 57909, 57909, 57909, 0, 58812, 57936, 57936, 58948, 57936, 0, 0, 0, 0, 521, 521, 4169, 521, 521, 521, 4173, 57886, 57886, 61519, 57886, 57886, 57886, 61523, 57886, 57909, 57909, 61525, 57909, 57909, 57909, 61529, 57909, 57936, 57936, 61531, 57936, 0, 0, 0, 0, 4168, 521, 521, 521, 521, 521, 521, 61518, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61524, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61530, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61274, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 3938, 0, 0, 3941, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1883, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2876, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 60819, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58999, 57936, 57936, 59001, 57936, 57936, 57936, 57936, 59007, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59519, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59530, 57936, 57936, 57936, 57936, 57936, 59032, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2410, 521, 521, 521, 2259, 57886, 57886, 57886, 57886, 59608, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 2272, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2408, 521, 521, 521, 521, 521, 521, 521, 521, 2416, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1397, 521, 521, 521, 521, 521, 57886, 59893, 57886, 59895, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59916, 57909, 57909, 57909, 57909, 59920, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59958, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59971, 57909, 57909, 57909, 57909, 57909, 59975, 59976, 59977, 57909, 57909, 57909, 57909, 57909, 57909, 59982, 57909, 59984, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59999, 57936, 57936, 57936, 57936, 60003, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60683, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3369, 521, 57886, 60716, 57886, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 60065, 57936, 60067, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 0, 0, 0, 0, 3622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 415, 0, 0, 0, 0, 0, 60285, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 0, 0, 0, 1156, 1157, 1158, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 57909, 57909, 57909, 60310, 57909, 60311, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59460, 57909, 57909, 57909, 57909, 57909, 59467, 57909, 521, 521, 3191, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3204, 521, 521, 521, 521, 521, 521, 521, 3210, 57886, 57886, 57886, 60582, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60596, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60606, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 60617, 57909, 57909, 57909, 57909, 57909, 57909, 60624, 57909, 57886, 60602, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2962, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61182, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58975, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58990, 57909, 57909, 57909, 57909, 60651, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60680, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60694, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61273, 57936, 61275, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1878, 1879, 521, 521, 521, 521, 1886, 521, 521, 521, 521, 521, 521, 521, 521, 1337, 521, 1342, 521, 521, 1346, 521, 521, 1349, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1380, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1396, 521, 521, 521, 521, 521, 57936, 57936, 57936, 57936, 57936, 60700, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 3768, 0, 0, 0, 0, 57909, 61073, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60030, 57936, 57936, 57936, 57936, 57936, 0, 521, 521, 521, 521, 521, 521, 3953, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61312, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2557, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59466, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61328, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61344, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61382, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61396, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61080, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61090, 57936, 57936, 57936, 57936, 61410, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2265, 1706, 2266, 0, 0, 0, 0, 2268, 1713, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 330, 0, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 1842, 0, 0, 1845, 0, 0, 0, 0, 0, 0, 1851, 1852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 329, 0, 0, 0, 0, 455, 468, 468, 468, 481, 481, 481, 481, 492, 494, 481, 481, 492, 481, 503, 503, 503, 503, 518, 503, 503, 503, 518, 503, 503, 503, 503, 503, 503, 526, 57892, 526, 57892, 526, 526, 57892, 526, 526, 57915, 57892, 526, 526, 57892, 57892, 57892, 57915, 57892, 57892, 57892, 57892, 57892, 57892, 57892, 57915, 57915, 57892, 57892, 57942, 57892, 57892, 57892, 57892, 57892, 57892, 57892, 57942, 57942, 57892, 57892, 57892, 57892, 57942, 57942, 57892, 526, 57892, 57892, 57892, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 2310144, 2310144, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 651, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 677, 678, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 700, 701, 0, 0, 0, 0, 0, 707, 0, 0, 0, 0, 0, 3141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 0, 0, 0, 711, 0, 713, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 765, 766, 0, 0, 0, 0, 0, 0, 0, 2308, 0, 0, 0, 0, 2313, 2314, 0, 0, 2316, 2317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270336, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 305, 0, 0, 4857856, 4874240, 0, 0, 4923392, 0, 0, 0, 775, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 794, 0, 797, 0, 0, 0, 0, 0, 0, 777, 0, 789, 0, 803, 0, 0, 0, 0, 797, 809, 0, 0, 0, 0, 0, 809, 809, 812, 0, 0, 0, 777, 0, 0, 0, 0, 0, 821, 0, 0, 0, 0, 0, 0, 806, 0, 0, 806, 0, 0, 0, 0, 0, 806, 806, 0, 0, 0, 0, 786, 0, 0, 0, 0, 0, 0, 822, 782, 0, 0, 0, 0, 0, 775, 0, 0, 0, 821, 521, 521, 835, 521, 841, 521, 521, 856, 521, 521, 867, 521, 872, 521, 521, 881, 884, 889, 521, 897, 521, 57886, 57886, 57886, 57886, 57886, 57886, 60291, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 58254, 57886, 58260, 57886, 57886, 58275, 57886, 57886, 58286, 57886, 58291, 57886, 57886, 58300, 58303, 58308, 57886, 58316, 57886, 0, 57909, 57909, 57909, 58330, 57909, 58336, 57909, 57909, 58351, 57909, 57909, 58362, 57909, 58367, 57909, 57909, 58376, 58379, 58384, 57909, 58392, 57909, 0, 0, 0, 0, 58291, 57936, 57936, 57936, 58405, 57936, 58411, 57936, 57936, 58426, 57936, 57936, 58437, 57936, 58442, 57936, 57936, 58451, 58454, 58459, 57936, 58467, 57936, 835, 521, 521, 1129, 889, 521, 0, 57886, 58254, 57886, 58479, 58308, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2326528, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 1153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 0, 0, 0, 0, 0, 0, 0, 1170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1051, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6299648, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 1209, 0, 0, 0, 0, 0, 0, 0, 0, 1218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1235, 0, 0, 1187, 0, 0, 0, 0, 0, 3434, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3451, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59827, 57886, 57886, 57886, 57886, 59831, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58801, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58810, 57886, 57886, 58812, 57886, 57886, 57886, 57886, 58817, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61388, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61402, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5857280, 0, 6463488, 4939776, 0, 0, 5455872, 0, 0, 0, 0, 0, 0, 0, 0, 6062080, 6463488, 0, 5398528, 0, 521, 521, 521, 521, 1328, 521, 521, 521, 521, 521, 521, 1343, 521, 521, 521, 1348, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1365, 521, 1407, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58767, 57886, 57886, 57886, 57886, 57886, 57886, 58782, 57886, 57886, 57886, 58787, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58839, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 58855, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58869, 57909, 57909, 57909, 58877, 57909, 57909, 57909, 58882, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58899, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58419, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59003, 57936, 59005, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59018, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60704, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 57936, 58956, 57936, 57936, 57936, 57936, 57936, 57936, 58971, 57936, 57936, 57936, 58976, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 2741, 0, 57936, 58993, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59009, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59025, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61101, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 691, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 57936, 57936, 57936, 59036, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 1719, 0, 1721, 0, 0, 0, 0, 0, 3621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3632, 0, 0, 0, 3635, 3636, 0, 0, 0, 0, 0, 0, 393678, 0, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 393678, 0, 393678, 393678, 0, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1770, 0, 0, 0, 0, 0, 1776, 0, 0, 1779, 0, 1781, 0, 0, 0, 0, 0, 0, 3642, 0, 3644, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2854, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1943, 1944, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 1787, 1788, 0, 0, 0, 0, 0, 0, 0, 0, 1797, 1798, 0, 0, 0, 0, 0, 0, 1804, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 888, 521, 521, 521, 521, 57886, 57886, 57886, 1810, 1811, 1812, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1830, 1831, 0, 1832, 1833, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 810, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3395, 0, 0, 3397, 0, 0, 0, 0, 0, 0, 0, 0, 1863, 1721, 1721, 1865, 521, 1867, 521, 1868, 1869, 521, 1871, 521, 521, 521, 1875, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1888, 521, 521, 521, 521, 1892, 521, 521, 521, 521, 1896, 521, 1898, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1908, 1909, 1911, 521, 521, 521, 521, 521, 521, 521, 1919, 1920, 521, 1922, 521, 521, 521, 521, 521, 521, 521, 521, 3667, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60611, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60622, 57909, 60625, 521, 1925, 1926, 521, 521, 521, 521, 521, 521, 521, 1934, 521, 1936, 521, 1939, 521, 521, 521, 521, 521, 1946, 521, 521, 1948, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3197, 3198, 521, 521, 521, 521, 3201, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3206, 521, 521, 521, 3209, 521, 521, 58754, 0, 59307, 57886, 59309, 57886, 59310, 57886, 59312, 57886, 59314, 57886, 57886, 57886, 59318, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59331, 57886, 57886, 57886, 57886, 59335, 57886, 1, 24578, 3, 155941, 156275, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 59339, 57886, 59341, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59351, 59352, 59354, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59362, 59363, 57886, 59365, 57886, 57886, 57886, 57886, 57886, 58799, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58829, 59368, 59369, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59377, 57886, 59379, 57886, 59382, 57886, 57886, 57886, 57886, 57886, 59390, 57886, 57886, 59392, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2558, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60371, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 60377, 57936, 57936, 57936, 57936, 50657, 0, 59407, 57909, 59409, 57909, 59410, 57909, 59412, 57909, 59414, 57909, 57909, 57909, 59418, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59431, 57909, 57909, 57909, 57909, 59435, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58916, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 1335, 521, 521, 521, 521, 58774, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 1709, 0, 0, 0, 0, 1716, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3882, 521, 3884, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59847, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60277, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 59439, 57909, 59441, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59451, 59452, 59454, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59462, 59463, 57909, 59465, 57909, 57909, 59468, 59469, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59477, 57909, 59479, 57909, 59482, 57909, 57909, 57909, 57909, 57909, 59490, 57909, 57909, 59492, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 57886, 60290, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60299, 57886, 57886, 57886, 60302, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 59503, 57936, 59505, 57936, 59506, 57936, 59508, 57936, 59510, 57936, 57936, 57936, 59514, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59527, 57936, 57936, 57936, 57936, 59531, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 1707, 0, 0, 0, 0, 1714, 0, 0, 0, 0, 0, 0, 0, 0, 3170, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3182, 521, 3185, 521, 521, 521, 521, 59535, 57936, 59537, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59547, 59548, 59550, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59558, 59559, 57936, 57936, 59561, 57936, 57936, 59564, 59565, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59573, 57936, 59575, 57936, 59578, 57936, 57936, 57936, 57936, 57936, 59586, 57936, 57936, 59588, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 1926, 521, 2258, 521, 57886, 59369, 57886, 59607, 57886, 2265, 0, 2266, 0, 0, 0, 0, 2268, 0, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2276, 0, 0, 2279, 2280, 0, 0, 0, 2284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2790, 0, 0, 0, 0, 2303, 0, 0, 0, 0, 2307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2323, 0, 0, 0, 0, 2327, 0, 0, 0, 0, 0, 3873, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58803, 57886, 57886, 57886, 57886, 58808, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58816, 57886, 57886, 57886, 58823, 58825, 57886, 57886, 57886, 0, 2356, 0, 0, 0, 0, 0, 0, 0, 0, 2365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2375, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 875, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 2412, 521, 2414, 521, 521, 521, 521, 521, 521, 521, 2420, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1357, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2441, 2442, 521, 521, 521, 521, 521, 521, 2449, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1383, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1400, 521, 521, 521, 2463, 521, 521, 2466, 2467, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59833, 57886, 59835, 57886, 57886, 57886, 57886, 57886, 57886, 60585, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60599, 57886, 57886, 57886, 57886, 57886, 59843, 57886, 59845, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59851, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60300, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 59896, 57886, 57886, 59899, 59900, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59922, 57909, 57909, 57909, 57909, 57909, 57909, 58388, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 3862, 0, 0, 3865, 0, 0, 0, 0, 3627, 0, 0, 59924, 57909, 57909, 57909, 57909, 57909, 57909, 59932, 57909, 59934, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59940, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 59991, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60707, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 60007, 57936, 57936, 57936, 57936, 57936, 57936, 60015, 57936, 60017, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60023, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 0, 521, 2868, 521, 521, 521, 521, 2872, 521, 521, 521, 2877, 521, 521, 521, 521, 521, 521, 521, 521, 2885, 521, 521, 521, 521, 521, 521, 521, 2890, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 59820, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58811, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60259, 57886, 60261, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60278, 57886, 57886, 57886, 57886, 60282, 57886, 57886, 57886, 57886, 57886, 60605, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60319, 57909, 57909, 57909, 57909, 57909, 60324, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 60287, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60295, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60301, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60314, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60326, 57909, 60328, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60365, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61082, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 60362, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60368, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60379, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58959, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58978, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58988, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58960, 58967, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58980, 57936, 58982, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60417, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60424, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60410, 57936, 57936, 57936, 57936, 60414, 57936, 57936, 57936, 60419, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60427, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 3103, 0, 0, 3106, 3107, 0, 0, 3110, 3111, 60433, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278528, 0, 0, 0, 0, 0, 0, 3167, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3189, 60580, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60593, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60600, 57909, 57909, 57909, 60629, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60642, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58925, 57909, 57909, 57909, 57909, 57909, 58933, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57909, 57909, 60649, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60678, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60691, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60044, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 3937, 0, 3939, 0, 0, 0, 0, 0, 3627, 3943, 0, 3945, 57936, 57936, 57936, 60698, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 2368, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2398, 521, 521, 2401, 521, 521, 521, 521, 521, 521, 2409, 521, 521, 3403, 0, 0, 0, 0, 3405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3419, 0, 0, 0, 0, 3424, 3425, 0, 3427, 0, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 0, 0, 0, 1314, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3452, 521, 521, 521, 521, 3430, 0, 0, 0, 3433, 521, 521, 521, 521, 521, 521, 3440, 521, 521, 521, 521, 521, 3444, 521, 521, 521, 521, 521, 521, 521, 3450, 521, 521, 521, 521, 521, 3456, 60828, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60834, 57886, 57886, 57886, 57886, 57886, 60840, 57886, 57886, 60843, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60850, 60852, 57886, 57886, 57886, 57886, 57886, 57886, 58282, 58284, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58327, 57909, 57909, 57909, 57909, 57909, 57909, 58358, 58360, 57909, 60856, 57886, 60858, 60859, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 60866, 57909, 57909, 57909, 57909, 57909, 60870, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60876, 57909, 57909, 57909, 57909, 57909, 60882, 57909, 57909, 60885, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60892, 60894, 57909, 57909, 57909, 57909, 60898, 57909, 60900, 60901, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 60908, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61200, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3866, 3867, 0, 3627, 0, 3871, 57936, 57936, 60912, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60918, 57936, 57936, 57936, 57936, 57936, 60924, 57936, 57936, 60927, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60934, 60936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59000, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59020, 57936, 57936, 57936, 57936, 57936, 59028, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59542, 57936, 57936, 57936, 59546, 57936, 57936, 59551, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60048, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60940, 57936, 60942, 60943, 57936, 521, 521, 3602, 57886, 57886, 60949, 0, 0, 0, 0, 0, 0, 3611, 0, 0, 3614, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 3649, 3650, 521, 521, 521, 521, 3654, 3655, 521, 521, 521, 521, 521, 3659, 521, 521, 521, 521, 3662, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 61018, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61023, 57886, 57886, 57886, 57886, 57886, 57886, 60833, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60841, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60855, 57909, 57909, 57909, 57909, 57909, 57909, 61052, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61063, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61071, 57909, 57909, 57909, 57909, 57909, 57909, 58914, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58930, 57909, 57909, 57909, 57909, 57909, 57909, 58941, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 303104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 61240, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61256, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 61076, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61081, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61092, 57886, 57886, 57886, 61440, 57886, 61442, 57886, 57886, 57886, 57886, 61447, 61448, 61449, 61450, 57909, 57909, 57909, 61453, 57909, 61455, 57909, 57909, 57909, 57909, 61460, 61461, 61462, 61463, 57936, 57936, 57936, 61466, 57936, 61468, 57936, 57936, 57936, 57936, 61473, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61031, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 61392, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 61406, 57936, 57936, 57936, 61535, 57936, 0, 0, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 521, 521, 521, 4198, 521, 57886, 57886, 57886, 57886, 61546, 57886, 57909, 57909, 57909, 57909, 61550, 57909, 57936, 57936, 57936, 57936, 61554, 57936, 0, 371, 371, 0, 429, 131072, 371, 429, 429, 332, 371, 429, 0, 0, 429, 449, 429, 0, 0, 0, 429, 488, 488, 488, 493, 488, 488, 488, 493, 488, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, 527, 57893, 527, 57893, 527, 527, 57893, 527, 527, 57916, 57893, 527, 527, 57893, 57893, 57893, 57916, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57916, 57916, 57893, 57893, 57943, 57893, 57893, 57893, 57893, 57893, 57893, 57893, 57943, 57943, 57893, 57893, 57893, 57893, 57943, 57943, 57893, 527, 57893, 57893, 57893, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 4399798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 773, 0, 0, 0, 521, 828, 521, 521, 521, 521, 521, 521, 860, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 58246, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 2839, 521, 521, 521, 521, 521, 521, 1326, 521, 521, 521, 521, 521, 1338, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2430, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58765, 57886, 57886, 57886, 57886, 57886, 58777, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59381, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61041, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 58954, 57936, 57936, 57936, 57936, 57936, 58966, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 3375, 0, 0, 0, 57909, 57909, 57909, 59954, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60355, 57909, 57909, 57909, 57936, 57936, 57936, 60037, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59026, 57936, 57936, 57936, 0, 0, 4212, 521, 521, 521, 61558, 57886, 57886, 57886, 61560, 57909, 57909, 57909, 61562, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 521, 521, 3793, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60607, 57886, 57886, 60610, 57886, 57886, 60613, 0, 0, 60614, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60637, 60638, 57909, 57909, 57909, 57909, 60641, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60647, 0, 0, 0, 430, 131072, 0, 430, 430, 0, 0, 430, 439, 0, 430, 0, 430, 469, 469, 469, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 528, 57894, 528, 57894, 528, 528, 57894, 528, 528, 57917, 57894, 528, 528, 57894, 57894, 57894, 57917, 57894, 57894, 57894, 57894, 57894, 57894, 57894, 57917, 57917, 57894, 57894, 57944, 57894, 57894, 57894, 57894, 57894, 57894, 57894, 57944, 57944, 57894, 57894, 57894, 57894, 57944, 57944, 57894, 528, 57894, 57894, 57894, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 58754, 1961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 2561, 0, 50657, 2061, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59950, 57909, 57909, 2302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2326, 0, 0, 0, 0, 0, 1213, 0, 1215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 420, 0, 0, 0, 0, 0, 2385, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1949, 521, 521, 521, 521, 521, 521, 521, 0, 3138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3158, 0, 0, 0, 0, 0, 0, 0, 0, 1731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1747, 0, 0, 1750, 0, 0, 521, 521, 521, 3213, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58868, 57909, 0, 0, 3404, 0, 0, 0, 0, 0, 3407, 0, 3409, 0, 0, 3412, 0, 0, 0, 0, 0, 3417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 4399797, 4399797, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3460, 521, 521, 521, 521, 521, 521, 521, 521, 3468, 521, 521, 3471, 521, 521, 521, 60818, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58296, 57886, 57886, 57886, 57886, 58314, 57886, 57886, 0, 57909, 57909, 58325, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 60857, 57886, 57886, 57886, 60860, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60877, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59959, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 60664, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 60887, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60896, 57909, 57909, 60899, 57909, 57909, 57909, 60902, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4089, 521, 57886, 57886, 57886, 60938, 57936, 57936, 60941, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3615, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3159, 3160, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3663, 521, 3665, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 61017, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59850, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59857, 57886, 59859, 57886, 59862, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61029, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61035, 57886, 61037, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 61046, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58917, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58934, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 58949, 57936, 61093, 57936, 61095, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 3791, 521, 521, 521, 521, 521, 521, 521, 521, 3797, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58804, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58819, 57886, 57886, 57886, 57886, 57886, 57886, 61153, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61159, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61172, 57909, 57909, 57909, 57909, 57909, 57909, 58915, 57909, 57909, 58922, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58936, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 1336, 521, 521, 521, 521, 58775, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 0, 1711, 0, 0, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 1247, 1248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3630, 0, 0, 0, 0, 0, 0, 0, 3637, 0, 0, 57936, 57936, 57936, 57936, 57936, 61197, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3782, 0, 0, 521, 521, 521, 521, 0, 0, 0, 0, 683, 684, 0, 0, 0, 0, 689, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 57896, 530, 57896, 530, 530, 57896, 530, 530, 57919, 57896, 530, 530, 57896, 57896, 57896, 57919, 57886, 58258, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58317, 0, 57909, 57909, 57909, 57909, 58334, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59481, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 57936, 57936, 57936, 58468, 521, 839, 521, 521, 521, 898, 0, 58258, 57886, 57886, 57886, 57886, 58317, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6299648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5808128, 0, 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3647, 521, 521, 521, 521, 521, 521, 521, 3652, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2421, 521, 521, 521, 2424, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2895, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60842, 57886, 60844, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 1839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1307, 1308, 0, 0, 1154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 1319, 521, 521, 521, 1958, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 412, 139264, 147456, 0, 0, 0, 421, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 2773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3634, 0, 0, 0, 0, 0, 0, 424, 424, 0, 0, 131072, 424, 0, 0, 0, 424, 0, 440, 0, 0, 424, 334, 470, 470, 470, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 504, 512, 512, 512, 512, 519, 512, 512, 512, 519, 512, 512, 512, 512, 512, 512, 529, 57895, 529, 57895, 529, 529, 57895, 529, 529, 57918, 57895, 529, 529, 57895, 57895, 57895, 57918, 57895, 57895, 57895, 57895, 57895, 57895, 57895, 57918, 57918, 57895, 57895, 57945, 57895, 57895, 57895, 57895, 57895, 57895, 57895, 57945, 57945, 57895, 57895, 57895, 57895, 57945, 57945, 57895, 529, 57895, 57895, 57895, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1734, 0, 0, 0, 0, 0, 0, 0, 0, 1741, 0, 0, 1744, 1745, 1746, 0, 1748, 1749, 0, 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 842, 521, 851, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 899, 57886, 57886, 57886, 57886, 57886, 57886, 61244, 57886, 57886, 57886, 61248, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61254, 57909, 57909, 57909, 57909, 57909, 57909, 61260, 57909, 57909, 57909, 61264, 57909, 57936, 57886, 57886, 58261, 57886, 58270, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58318, 0, 57909, 57909, 57909, 57909, 57909, 58337, 57909, 58346, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58887, 58889, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60661, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60669, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58469, 521, 521, 521, 521, 1130, 899, 0, 57886, 57886, 57886, 57886, 58480, 58318, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 1765, 1766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2319, 2320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 1331, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1350, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1360, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59825, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59837, 57886, 57886, 521, 1408, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58770, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58789, 57886, 57886, 57886, 57886, 57886, 57886, 59342, 59343, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59360, 57886, 57886, 57886, 57886, 57886, 59367, 57886, 57886, 58833, 57886, 57886, 57886, 57886, 57886, 58840, 57886, 57886, 57886, 58847, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58865, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58919, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60042, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 3370, 57886, 57886, 60717, 0, 0, 0, 0, 0, 57936, 57936, 57936, 59037, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1796, 0, 0, 0, 0, 0, 0, 0, 1803, 0, 1805, 0, 0, 0, 1807, 0, 739, 0, 0, 0, 0, 1838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1836, 1924, 521, 521, 521, 521, 521, 521, 521, 521, 1933, 521, 521, 521, 521, 521, 521, 1942, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1952, 1954, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59861, 57886, 57886, 57886, 57886, 57886, 57886, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59328, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61033, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59428, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58397, 57936, 57936, 57936, 57936, 57936, 57936, 58430, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59572, 57936, 57936, 57936, 57936, 57936, 57936, 59581, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59592, 59594, 57936, 57936, 57936, 57936, 521, 521, 521, 0, 0, 2472, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59885, 57886, 57886, 57886, 57886, 59889, 57886, 57886, 57886, 2329, 0, 0, 0, 0, 0, 0, 0, 0, 2337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3128, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 2465, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 59824, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59836, 57886, 57886, 57886, 57886, 57886, 57886, 61492, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61500, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59583, 59584, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 2255, 521, 59925, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60358, 59953, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59972, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59935, 57909, 59937, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60660, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60671, 57936, 60008, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59598, 521, 521, 60036, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60055, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 4132, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 2769, 0, 0, 2772, 0, 0, 0, 0, 0, 0, 2776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2787, 0, 0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 319488, 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0, 0, 2797, 0, 0, 0, 0, 0, 0, 0, 2801, 2802, 0, 0, 2805, 0, 0, 2808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2828, 0, 0, 0, 0, 521, 2832, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2878, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1356, 521, 521, 521, 1359, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2873, 521, 521, 521, 521, 521, 521, 2880, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2888, 521, 521, 521, 2891, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60253, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61493, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61501, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60921, 57936, 60923, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60930, 57936, 57936, 60932, 57936, 57936, 57936, 57936, 57936, 0, 0, 57909, 60308, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60331, 57936, 57936, 60407, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60415, 57936, 57936, 57936, 57936, 57936, 57936, 60422, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60431, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59574, 57936, 57936, 57936, 59580, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59590, 57936, 57936, 57936, 57936, 59596, 57936, 57936, 521, 521, 521, 0, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59864, 57886, 57886, 57886, 57936, 60434, 57936, 57936, 57936, 57936, 57936, 57936, 3094, 521, 521, 521, 521, 60441, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 3102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 3646, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3658, 521, 521, 521, 3112, 0, 0, 0, 0, 0, 0, 0, 3116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3130, 3131, 0, 0, 0, 0, 0, 0, 0, 3143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 334, 335, 0, 0, 0, 0, 0, 3211, 521, 521, 521, 521, 521, 521, 521, 3215, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 60567, 57886, 57886, 57886, 57886, 57886, 60572, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61246, 57886, 57886, 57886, 61249, 57909, 57909, 57909, 57909, 61253, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61262, 57909, 57909, 57909, 61265, 60601, 57886, 60603, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60608, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 60616, 57909, 57909, 57909, 57909, 57909, 60621, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60654, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61086, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 60650, 57909, 60652, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60657, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60665, 57936, 57936, 57936, 57936, 57936, 60670, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60041, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60054, 57936, 57936, 57936, 57936, 57936, 60058, 60059, 60060, 57936, 60696, 57936, 57936, 57936, 60699, 57936, 60701, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60706, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 3374, 0, 0, 3377, 3378, 521, 521, 521, 521, 521, 521, 3462, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 60822, 57886, 57886, 57886, 57886, 60826, 57886, 57886, 57886, 57886, 57886, 58835, 57886, 57886, 57886, 57886, 57886, 57886, 58846, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58862, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58394, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 58412, 57936, 58421, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 4085, 521, 4087, 521, 521, 521, 57886, 57886, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60916, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60931, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 3608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 1196, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3619, 3620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3633, 0, 0, 0, 0, 0, 0, 0, 0, 1793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60825, 57886, 57886, 57886, 57886, 521, 521, 3787, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3798, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61149, 57886, 57886, 57886, 57886, 57886, 58836, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58861, 57909, 57909, 57909, 58870, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61198, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 3777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 4022, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61379, 0, 521, 521, 521, 521, 521, 521, 521, 521, 3955, 521, 3957, 3958, 521, 3960, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61314, 57886, 61316, 61317, 57886, 61319, 57886, 61321, 61488, 57886, 61489, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61496, 57909, 61497, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61504, 57936, 61505, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58961, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59019, 57936, 57936, 59023, 57936, 57936, 57936, 57936, 57936, 59030, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 4224, 61569, 61570, 61571, 521, 521, 521, 521, 521, 521, 521, 1332, 1339, 521, 521, 521, 521, 521, 521, 521, 521, 1352, 521, 1354, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2422, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 60566, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58307, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57896, 57896, 57896, 57896, 57896, 57896, 57896, 57919, 57919, 57896, 57896, 57946, 57896, 57896, 57896, 57896, 57896, 57896, 57896, 57946, 57946, 57896, 57896, 57896, 57896, 57946, 57946, 57896, 530, 57896, 57896, 57896, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2312, 0, 0, 0, 2315, 0, 0, 0, 0, 0, 2321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 58909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 1706, 0, 0, 0, 1712, 1713, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 383, 0, 139264, 147456, 0, 405, 0, 0, 405, 0, 0, 0, 431, 131072, 0, 431, 431, 0, 0, 431, 0, 445, 431, 0, 431, 471, 471, 471, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 484, 531, 57897, 531, 57897, 531, 531, 57897, 531, 531, 57920, 57897, 531, 531, 57897, 57897, 57897, 57920, 57897, 57897, 57897, 57897, 57897, 57897, 57897, 57920, 57920, 57897, 57897, 57947, 57897, 57897, 57897, 57897, 57897, 57897, 57897, 57947, 57947, 57897, 57897, 57897, 57897, 57947, 57947, 57897, 531, 57897, 57897, 57897, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2775, 0, 0, 0, 0, 0, 2780, 0, 2782, 2783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 0, 0, 0, 0, 0, 0, 0, 1159, 0, 0, 0, 0, 0, 0, 1266, 0, 0, 0, 0, 1271, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, 654, 0, 0, 0, 0, 813, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 3645, 521, 521, 521, 3648, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3656, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 733, 654, 0, 0, 521, 829, 521, 521, 521, 844, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 885, 521, 521, 521, 521, 57886, 57886, 58247, 57886, 57886, 57886, 58263, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58304, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58323, 57909, 57909, 57909, 58339, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59987, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 59996, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60391, 57936, 60393, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60022, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60029, 57936, 60031, 57936, 60034, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 58380, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58398, 57936, 57936, 57936, 58414, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60390, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60710, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 58455, 57936, 57936, 57936, 57936, 521, 521, 521, 885, 521, 521, 0, 57886, 57886, 57886, 58304, 57886, 57886, 293, 1138, 0, 0, 1142, 0, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3888, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58841, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60639, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59965, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 1154, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 760, 0, 0, 763, 0, 0, 767, 0, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 58757, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58771, 58778, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58791, 57886, 58793, 57886, 57886, 57886, 57886, 57886, 60831, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60849, 57886, 60851, 57886, 57886, 57886, 57886, 57886, 57886, 58278, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58354, 57909, 57909, 58908, 57909, 58910, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58923, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58938, 57909, 57909, 57909, 0, 57886, 57936, 58946, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60068, 57936, 57936, 60071, 60072, 57936, 2404, 521, 2731, 521, 521, 59835, 57886, 60080, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 0, 0, 0, 0, 4014, 0, 4016, 0, 521, 521, 521, 521, 521, 4021, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61378, 57886, 57936, 59033, 57936, 57936, 57936, 521, 1332, 521, 1389, 521, 521, 58771, 57886, 57886, 58828, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3156, 0, 0, 0, 0, 3161, 0, 0, 0, 3163, 0, 1724, 1725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2342912, 0, 0, 0, 521, 521, 521, 521, 521, 521, 1930, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1957, 521, 58754, 1961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59321, 59322, 57886, 57886, 57886, 57886, 59329, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 61391, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61405, 57936, 57936, 50657, 2061, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59421, 59422, 57909, 57909, 57909, 57909, 59429, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 741, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59520, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 59473, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59501, 57909, 57886, 57886, 57886, 57886, 57886, 60832, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60847, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58843, 57886, 57886, 57886, 50657, 58754, 977, 57909, 58852, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58866, 58873, 57936, 57936, 57936, 57936, 57936, 59540, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59560, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 59569, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59597, 57936, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59359, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2346, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2397, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61162, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59866, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59878, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59884, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59890, 57886, 57886, 57886, 57886, 57886, 61030, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61036, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61393, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61407, 57909, 57909, 57909, 57909, 59955, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59967, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59973, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60366, 57909, 57909, 57909, 60369, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 60373, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 4083, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57909, 57909, 59979, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60430, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60038, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60050, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60056, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1149, 0, 0, 57936, 57936, 60062, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3109, 0, 0, 60258, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59865, 3164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 3180, 521, 521, 521, 521, 521, 521, 3188, 521, 521, 521, 521, 521, 521, 521, 1333, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2858, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57909, 57909, 60628, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61070, 57909, 57909, 57936, 57936, 57936, 60677, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59027, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61099, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3171, 0, 0, 0, 521, 3175, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 2472, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59349, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61039, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 61441, 57886, 61443, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61454, 57909, 61456, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 3607, 0, 3609, 0, 0, 0, 3613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1733, 0, 0, 0, 1736, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 335872, 0, 0, 61467, 57936, 61469, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 4134, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61485, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59846, 57886, 59848, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60273, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 388, 340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2351104, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 441, 0, 0, 0, 456, 472, 472, 472, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 532, 57898, 532, 57898, 532, 532, 57898, 532, 532, 57921, 57898, 532, 532, 57898, 57898, 57898, 57921, 57898, 57898, 57898, 57898, 57898, 57898, 57898, 57921, 57921, 57898, 57898, 57948, 57898, 57898, 57898, 57898, 57898, 57898, 57898, 57948, 57948, 57898, 57898, 57898, 57898, 57948, 57948, 57898, 532, 57898, 57898, 57898, 1, 24578, 3, 155941, 156275, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212992, 0, 0, 0, 0, 0, 212992, 212992, 212992, 212992, 212992, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 58264, 57886, 57886, 58280, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58340, 57909, 57909, 58356, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59444, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59464, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58921, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 1722, 0, 1241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1293, 0, 0, 0, 0, 0, 1299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1890, 521, 521, 521, 521, 521, 521, 521, 521, 1372, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1391, 521, 521, 521, 521, 521, 1399, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 59819, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59357, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58772, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58848, 50657, 58754, 977, 58851, 57909, 57909, 57909, 57909, 57909, 58858, 57909, 57909, 57909, 57909, 58864, 57909, 57909, 57909, 58830, 57886, 57886, 57886, 57886, 57886, 58838, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58867, 57909, 57909, 57909, 57909, 57909, 57909, 60631, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60645, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59985, 57909, 57909, 59988, 59989, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60005, 57936, 0, 0, 1755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 339, 0, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59323, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59334, 57886, 57886, 57886, 57886, 57886, 58837, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61058, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61064, 57909, 61066, 57909, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59423, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59434, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61178, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61191, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 1705, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 0, 349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59541, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59552, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61279, 57936, 57936, 521, 57886, 0, 0, 0, 3940, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 2282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2298, 2299, 0, 0, 0, 0, 0, 0, 0, 3382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 2355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2328, 521, 2413, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2866, 57886, 57886, 57886, 57886, 59844, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58824, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 59928, 57909, 57909, 57909, 57909, 59933, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60011, 57936, 57936, 57936, 57936, 60016, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58985, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 3380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4284416, 0, 0, 57886, 60829, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59366, 57886, 57936, 57936, 57936, 60913, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59562, 57936, 57936, 57936, 0, 521, 521, 521, 521, 3951, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 61310, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59875, 57886, 57886, 57886, 57886, 59880, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58859, 57909, 57909, 57909, 58863, 57909, 57909, 58874, 57909, 57909, 57909, 57909, 61326, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61342, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59004, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60689, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61508, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 521, 1333, 521, 521, 1698, 521, 58772, 57886, 57886, 57886, 59047, 57886, 1138, 0, 0, 1708, 0, 0, 0, 0, 1715, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3883, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59344, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59364, 57886, 57886, 57886, 341, 342, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 341, 295, 0, 0, 0, 0, 0, 4013, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4027, 521, 521, 4029, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59376, 57886, 57886, 57886, 57886, 57886, 57886, 59385, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59396, 59398, 57886, 57886, 57886, 57886, 0, 0, 0, 389, 390, 392, 342, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0, 0, 341, 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 639, 748, 749, 750, 0, 0, 0, 0, 0, 756, 757, 0, 0, 0, 0, 0, 0, 0, 0, 769, 770, 0, 772, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 389, 0, 0, 0, 0, 0, 342, 389, 0, 0, 0, 139264, 147456, 0, 0, 0, 422, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 245760, 0, 0, 245760, 245760, 245760, 0, 0, 0, 0, 0, 245760, 0, 245760, 245760, 0, 0, 0, 245760, 245760, 0, 0, 245760, 0, 0, 0, 0, 131072, 0, 0, 0, 341, 0, 0, 0, 446, 0, 341, 0, 473, 473, 473, 473, 489, 489, 489, 489, 489, 489, 489, 489, 489, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 533, 57899, 533, 57899, 533, 533, 57899, 533, 533, 57922, 57899, 533, 533, 57899, 57899, 57899, 57922, 57899, 57899, 57899, 57899, 57899, 57899, 57899, 57922, 57922, 57899, 57935, 57949, 57935, 57935, 57935, 57935, 57935, 57935, 57935, 57949, 57949, 57935, 57935, 57935, 57935, 57949, 57949, 57935, 533, 57899, 57899, 57899, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 344064, 0, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 802, 0, 660, 0, 779, 0, 0, 0, 0, 0, 779, 802, 0, 802, 800, 0, 0, 0, 814, 0, 0, 0, 656, 817, 0, 779, 0, 0, 0, 0, 0, 823, 0, 0, 0, 0, 783, 656, 827, 0, 521, 830, 521, 521, 521, 846, 521, 521, 862, 521, 521, 521, 521, 876, 521, 521, 521, 521, 894, 521, 521, 57886, 57886, 58248, 57886, 57886, 57886, 58265, 57886, 57886, 58281, 57886, 57886, 57886, 57886, 58295, 57886, 57886, 57886, 57886, 58313, 57886, 57886, 0, 57909, 57909, 58324, 57909, 57909, 57909, 58341, 57909, 57909, 58357, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59476, 57909, 57909, 57909, 57909, 57909, 57909, 59485, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59496, 59498, 57909, 57909, 57909, 57909, 57886, 57909, 57909, 58371, 57909, 57909, 57909, 57909, 58389, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58399, 57936, 57936, 57936, 58416, 57936, 57936, 58432, 57936, 57936, 57936, 57936, 58446, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60412, 57936, 57936, 60416, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60425, 57936, 57936, 57936, 60428, 60429, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 1143, 0, 0, 1148, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3881, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58802, 57886, 57886, 57886, 58806, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2962, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60623, 57909, 57936, 57936, 58464, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 1816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 1274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 57906, 540, 57906, 540, 540, 57906, 540, 540, 57929, 57906, 540, 540, 57906, 57906, 57906, 57929, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58773, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59348, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59361, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58797, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58821, 57886, 57886, 57886, 57886, 57886, 57886, 59374, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59386, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59397, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61444, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61457, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3095, 521, 521, 521, 57886, 60442, 57886, 57886, 57886, 0, 0, 3100, 3101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 3776, 0, 0, 0, 0, 3780, 0, 0, 0, 0, 0, 0, 0, 0, 3783, 0, 521, 521, 521, 3785, 0, 0, 0, 0, 1814, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221645, 221645, 221645, 221645, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59316, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59327, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59345, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59356, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59876, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59416, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59427, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58429, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 2440, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2459, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60252, 57886, 57886, 57886, 57886, 57886, 60257, 59892, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 59910, 57909, 59912, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60340, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61060, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59981, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 59993, 57936, 59995, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60686, 60687, 57936, 57936, 57936, 57936, 60690, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60064, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2274, 0, 0, 0, 0, 0, 0, 0, 2820, 0, 0, 0, 0, 2823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2831, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61320, 57886, 521, 2842, 521, 521, 2845, 2846, 521, 521, 521, 521, 521, 2851, 521, 2853, 521, 521, 521, 521, 2857, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2863, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60251, 57886, 57886, 60254, 60255, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60878, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59445, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59456, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61336, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61352, 57936, 521, 521, 521, 521, 521, 2871, 521, 521, 521, 521, 521, 521, 2879, 521, 521, 521, 521, 521, 2884, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1904, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1353, 1355, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 60260, 57886, 60262, 57886, 57886, 57886, 57886, 60266, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60272, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60281, 57886, 57886, 57886, 57886, 57886, 59373, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59401, 57886, 57886, 57886, 57886, 57886, 60289, 57886, 57886, 57886, 57886, 57886, 60294, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60330, 57909, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60318, 57909, 57909, 60321, 60322, 57909, 57909, 57909, 57909, 57909, 60327, 57909, 60329, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60336, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60342, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60350, 57909, 57909, 57909, 57909, 57909, 57909, 60357, 57909, 57909, 57909, 60333, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60339, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60348, 57909, 57909, 57909, 57909, 57909, 57909, 60356, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60632, 57909, 57909, 60635, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60646, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60889, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 60906, 57936, 57936, 57936, 57936, 60910, 57909, 57909, 57909, 60361, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61192, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60383, 57936, 57936, 60386, 60387, 57936, 57936, 57936, 57936, 57936, 60392, 57936, 60394, 57936, 57936, 57936, 57936, 60398, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60404, 0, 0, 3139, 0, 0, 0, 0, 0, 0, 0, 3145, 0, 3147, 0, 0, 0, 3150, 0, 0, 3153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 450560, 450560, 450560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1799, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3174, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2882, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2892, 521, 521, 521, 521, 521, 3192, 521, 521, 3195, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3205, 521, 521, 521, 521, 521, 521, 521, 521, 2443, 521, 521, 521, 521, 2448, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1906, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1940, 521, 521, 521, 521, 521, 521, 1947, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3214, 521, 521, 3217, 521, 521, 3220, 0, 0, 60565, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58302, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 60583, 57886, 57886, 60586, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60597, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59871, 57886, 57886, 57886, 57886, 57886, 59877, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2962, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 3431, 0, 0, 521, 521, 3436, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3453, 521, 3455, 521, 521, 521, 521, 521, 521, 521, 1334, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1358, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2419, 521, 521, 521, 521, 521, 521, 521, 521, 2426, 521, 2428, 521, 2431, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2444, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1392, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3461, 521, 521, 3463, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 60820, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59378, 57886, 57886, 57886, 59384, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59394, 57886, 57886, 57886, 57886, 59400, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 60888, 57909, 57909, 60890, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 60904, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 3601, 521, 57886, 60948, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 3664, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61020, 61021, 57886, 57886, 57886, 57886, 61025, 61026, 57909, 57909, 61049, 61050, 57909, 57909, 57909, 57909, 61054, 61055, 57909, 57909, 57909, 57909, 57909, 61059, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61065, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59960, 57909, 57909, 57909, 57909, 57909, 59966, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60341, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60353, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 61094, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 3764, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 2394, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2406, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3792, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59849, 57886, 57886, 57886, 57886, 57886, 57886, 59854, 57886, 59856, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60267, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61163, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 61154, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61173, 57886, 57886, 57886, 57886, 61242, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61258, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 61075, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61087, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 4137, 521, 4138, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 0, 521, 521, 3949, 521, 521, 521, 521, 3954, 521, 521, 521, 521, 3959, 521, 521, 57886, 57886, 61308, 57886, 57886, 57886, 57886, 61313, 57886, 57886, 57886, 57886, 61318, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60873, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58418, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58969, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59012, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59029, 57936, 57909, 57909, 61324, 57909, 57909, 57909, 57909, 61329, 57909, 57909, 57909, 57909, 61334, 57909, 57909, 57909, 57936, 57936, 61340, 57936, 57936, 57936, 57936, 61345, 57936, 57936, 57936, 57936, 61350, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58962, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58986, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 3606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 61384, 57886, 57886, 61386, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61398, 57909, 57909, 61400, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 3600, 521, 521, 60947, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3617, 3618, 0, 0, 57936, 57936, 57936, 57936, 61412, 57936, 57936, 61414, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60872, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59449, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58932, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 61533, 57936, 57936, 57936, 0, 0, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 4195, 521, 521, 521, 521, 57886, 61543, 57886, 57886, 57886, 57886, 57909, 61547, 57909, 57909, 57909, 57909, 57936, 61551, 57936, 57936, 57936, 57936, 0, 0, 0, 521, 521, 4196, 4197, 521, 521, 57886, 57886, 61544, 61545, 57886, 57886, 57909, 57909, 61548, 61549, 57909, 57909, 57936, 57936, 61552, 61553, 57936, 57936, 0, 57886, 57909, 57936, 4232, 61577, 61578, 61579, 521, 57886, 57909, 57936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 345, 346, 347, 348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 0, 245760, 245760, 245760, 245760, 245760, 245760, 0, 0, 0, 0, 0, 0, 0, 245760, 245760, 245760, 0, 0, 0, 0, 139264, 147456, 245760, 245760, 0, 0, 245760, 0, 0, 0, 245760, 245760, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 245760, 0, 0, 245760, 0, 0, 245760, 0, 245760, 245760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 0, 0, 348, 347, 131072, 346, 347, 347, 348, 346, 347, 0, 346, 347, 450, 457, 474, 474, 474, 485, 485, 485, 491, 485, 485, 491, 491, 485, 491, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 534, 57900, 534, 57900, 534, 534, 57900, 534, 534, 57923, 57900, 534, 534, 57900, 57900, 57900, 57923, 57900, 57900, 57900, 57900, 57900, 57900, 57900, 57923, 57923, 57900, 57900, 57950, 57900, 57900, 57900, 57900, 57900, 57900, 57900, 57950, 57950, 57900, 57900, 57900, 57900, 57950, 57950, 57900, 534, 57900, 57900, 57900, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 639, 0, 0, 0, 0, 644, 645, 646, 647, 648, 649, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 666, 0, 668, 669, 0, 0, 0, 0, 0, 675, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1881, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1375, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1914, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 709, 0, 0, 712, 0, 714, 0, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499712, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 302, 305, 0, 306, 4857856, 4874240, 0, 0, 4923392, 0, 0, 0, 0, 757, 0, 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, 0, 796, 0, 0, 685, 0, 0, 0, 757, 0, 0, 0, 0, 0, 278528, 278528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, 0, 0, 0, 685, 816, 816, 0, 0, 0, 0, 0, 521, 521, 836, 840, 843, 521, 852, 521, 521, 521, 868, 870, 873, 521, 521, 521, 886, 890, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60871, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58892, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60372, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58255, 58259, 58262, 57886, 58271, 57886, 57886, 57886, 58287, 58289, 58292, 57886, 57886, 57886, 58305, 58309, 57886, 57886, 57886, 0, 57909, 57909, 57909, 58331, 58335, 58338, 57909, 58347, 57909, 57909, 57909, 58363, 58365, 58368, 57909, 57909, 57909, 58381, 58385, 57909, 57909, 57909, 0, 0, 0, 0, 58396, 57936, 57936, 57936, 58406, 58410, 58413, 57936, 58422, 57936, 57936, 57936, 58438, 58440, 58443, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58963, 57936, 57936, 57936, 57936, 58973, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58989, 57936, 58456, 58460, 57936, 57936, 57936, 836, 1127, 521, 886, 890, 1131, 0, 58476, 58255, 57886, 58305, 58309, 58481, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 540672, 0, 0, 1366, 521, 521, 1370, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1381, 521, 521, 1388, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1402, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60248, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60256, 57886, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58795, 57886, 57886, 57886, 58798, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58805, 57886, 57886, 58809, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58820, 57886, 57886, 58827, 57886, 57886, 57886, 57886, 57886, 59897, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59918, 57909, 57909, 59921, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58885, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58898, 57909, 57909, 57909, 57909, 58903, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59480, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 57936, 58994, 57936, 57936, 58998, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59010, 57936, 57936, 59017, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59031, 521, 1894, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1903, 521, 521, 521, 1907, 521, 521, 1912, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2447, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2458, 521, 521, 521, 521, 521, 58754, 0, 57886, 59308, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59315, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61164, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59337, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59346, 57886, 57886, 57886, 59350, 57886, 57886, 59355, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61160, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 61168, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 59408, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59415, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59437, 57936, 59504, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59511, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59533, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60681, 57936, 57936, 60684, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60695, 57936, 0, 0, 0, 0, 2305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352256, 352256, 352256, 352256, 521, 521, 521, 2438, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2865, 521, 2794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2381, 2894, 521, 521, 0, 0, 0, 2896, 0, 1961, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59393, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2061, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59974, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 60437, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1727, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 3789, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61146, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61151, 57886, 61239, 57886, 57886, 57886, 57886, 57886, 61245, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 61251, 57909, 57909, 57909, 57909, 61255, 57909, 57909, 57909, 57909, 57909, 61261, 57909, 57909, 57909, 57909, 57936, 0, 0, 4166, 0, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59577, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 3766, 0, 0, 0, 0, 0, 3769, 57936, 57936, 61267, 57936, 57936, 57936, 57936, 61271, 57936, 57936, 57936, 57936, 57936, 61277, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1880, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1891, 521, 0, 521, 521, 521, 521, 521, 3952, 521, 521, 521, 3956, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61311, 57886, 57886, 57886, 61315, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61387, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61401, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60043, 57936, 57936, 57936, 57936, 57936, 60049, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 57909, 57909, 57909, 57909, 57909, 61327, 57909, 57909, 57909, 61331, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 61343, 57936, 57936, 57936, 61347, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61102, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 4228, 61573, 61574, 61575, 521, 57886, 57909, 57936, 521, 57886, 57909, 57936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 395, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 366, 0, 0, 367, 0, 295, 0, 0, 349, 0, 407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 0, 0, 0, 0, 0, 0, 407, 0, 349, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 0, 3643, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2887, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 535, 57901, 535, 57901, 535, 535, 57901, 535, 535, 57924, 57901, 535, 535, 57901, 57901, 57901, 57924, 57901, 57901, 57901, 57901, 57901, 57901, 57901, 57924, 57924, 57901, 57901, 57951, 57901, 57901, 57901, 57901, 57901, 57901, 57901, 57951, 57951, 57901, 57901, 57901, 57901, 57951, 57951, 57901, 616, 57901, 57967, 57967, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2351104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 0, 0, 0, 0, 0, 0, 0, 0, 1237, 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2300, 0, 57909, 57909, 58372, 57909, 57909, 57909, 57909, 58390, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58400, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58447, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60917, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60925, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 3864, 0, 0, 0, 0, 0, 3627, 0, 0, 57936, 57936, 58465, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2325, 0, 0, 0, 0, 1242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 1203, 1161, 0, 0, 0, 0, 0, 0, 1273, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 58760, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58774, 57886, 57886, 57886, 57886, 58784, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59873, 59874, 57886, 57886, 57886, 57886, 57886, 57886, 59881, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58929, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 58879, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58895, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60656, 57909, 57909, 60659, 57909, 57909, 60662, 60663, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 1756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 1785, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 2286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 2418, 521, 521, 521, 521, 521, 521, 2423, 521, 2425, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1379, 521, 521, 521, 521, 521, 521, 521, 1393, 521, 521, 521, 521, 521, 521, 521, 521, 1405, 521, 521, 2869, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2435, 2436, 57936, 57936, 57936, 57936, 57936, 57936, 60411, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59529, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 3432, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1398, 521, 521, 521, 521, 521, 0, 3872, 0, 0, 0, 0, 0, 521, 3875, 521, 521, 3877, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 61234, 57886, 57886, 61236, 57886, 57886, 57886, 57886, 57886, 60263, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60279, 57886, 57886, 57886, 57886, 57886, 61266, 57936, 57936, 61268, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 3944, 0, 0, 0, 0, 0, 417792, 0, 417792, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 417792, 0, 417792, 0, 0, 0, 0, 139264, 147456, 417792, 0, 0, 0, 417792, 0, 0, 0, 0, 417792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417792, 0, 0, 417792, 0, 0, 417792, 0, 417792, 418100, 3946, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59383, 57886, 57886, 57886, 57886, 57886, 57886, 59391, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1160, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2335231, 2335197, 2335231, 2335231, 57886, 57886, 57886, 58266, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58342, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60891, 57909, 60893, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60019, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60025, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 58754, 1962, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 2557, 2962, 0, 0, 50657, 2062, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61068, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60408, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59021, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57886, 61028, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 352, 350, 131072, 0, 350, 350, 352, 0, 350, 0, 0, 350, 352, 350, 0, 0, 0, 350, 350, 350, 350, 350, 350, 350, 350, 498, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 536, 57902, 536, 57902, 536, 536, 57902, 536, 536, 57925, 57902, 536, 536, 57902, 57902, 57902, 57925, 57902, 57902, 57902, 57902, 57902, 57902, 57902, 57925, 57925, 57902, 57902, 57952, 57902, 57902, 57902, 57902, 57902, 57902, 57902, 57952, 57952, 57902, 57902, 57902, 57902, 57952, 57952, 57902, 536, 57902, 57902, 57902, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, 0, 0, 0, 0, 673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 798, 799, 0, 0, 0, 0, 0, 0, 0, 521, 521, 837, 521, 521, 521, 853, 857, 521, 521, 521, 521, 521, 878, 880, 521, 521, 891, 521, 521, 521, 57886, 57886, 58250, 0, 751, 0, 0, 804, 0, 0, 0, 0, 0, 804, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 819, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 3879, 521, 521, 521, 521, 521, 521, 3885, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61238, 58256, 57886, 57886, 57886, 58272, 58276, 57886, 57886, 57886, 57886, 57886, 58297, 58299, 57886, 57886, 58310, 57886, 57886, 57886, 0, 57909, 57909, 58326, 58332, 57909, 57909, 57909, 58348, 58352, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61330, 57909, 61332, 61333, 57909, 61335, 57909, 61337, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61346, 57936, 61348, 61349, 57936, 61351, 57936, 61353, 57909, 57909, 58373, 58375, 57909, 57909, 58386, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58401, 58407, 57936, 57936, 57936, 58423, 58427, 57936, 57936, 57936, 57936, 57936, 58448, 58450, 57936, 0, 4165, 0, 4167, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 521, 1695, 521, 1697, 521, 521, 59044, 57886, 57886, 59046, 57886, 57886, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, 0, 57936, 58461, 57936, 57936, 57936, 837, 521, 880, 521, 891, 521, 0, 57886, 58256, 58299, 57886, 58310, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 2309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3396, 0, 0, 0, 0, 0, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 1224, 0, 0, 0, 0, 1229, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 3874, 521, 521, 521, 521, 3878, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3887, 521, 521, 61233, 57886, 57886, 57886, 57886, 61237, 57886, 1406, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 58761, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58792, 58794, 57886, 57886, 57886, 57886, 58273, 58277, 58283, 57886, 58288, 57886, 57886, 57886, 57886, 57886, 58306, 57886, 57886, 57886, 57886, 0, 57909, 57909, 58328, 57909, 57909, 57909, 57909, 58349, 58353, 58359, 57909, 58364, 57886, 58832, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58844, 58845, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 58856, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58415, 57936, 57936, 58431, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 58913, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58927, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58939, 58940, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59512, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59523, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60021, 57936, 57936, 57936, 57936, 57936, 57936, 60026, 57936, 60028, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58950, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58981, 58983, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61202, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3781, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 57936, 59034, 59035, 57936, 57936, 521, 521, 1696, 521, 521, 1699, 57886, 57886, 59045, 57886, 57886, 59048, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 507904, 507904, 507904, 0, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2825, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 2837, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1895, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1955, 521, 521, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59313, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58813, 57886, 58815, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58828, 57886, 57886, 57886, 59338, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59399, 57886, 57886, 57886, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59413, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60909, 57936, 57936, 57909, 59438, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59509, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59534, 0, 0, 0, 2332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 2358, 0, 2360, 2361, 2362, 0, 2364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2372, 0, 0, 0, 0, 2377, 2378, 0, 0, 0, 0, 0, 0, 0, 49716, 49716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327680, 327680, 327680, 327680, 2382, 0, 0, 0, 0, 0, 0, 0, 2388, 521, 521, 521, 521, 521, 521, 2395, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1905, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1918, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2439, 521, 521, 521, 521, 521, 2445, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3801, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 2745, 2746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 367, 0, 0, 0, 521, 521, 2843, 521, 521, 521, 521, 521, 2848, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2864, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60247, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59487, 59488, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57936, 57936, 57936, 57936, 57936, 60384, 57936, 57936, 57936, 57936, 57936, 60389, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59016, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60405, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60033, 57936, 57936, 57936, 57936, 57936, 57936, 61269, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61278, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3446, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1937, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1385, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57936, 61534, 57936, 57936, 4192, 0, 4194, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 4193, 0, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 0, 4211, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 521, 57886, 57886, 57909, 57909, 57936, 57936, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 521, 1335, 521, 521, 521, 521, 1345, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1361, 521, 521, 521, 0, 0, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60246, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 59911, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58926, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 370, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4825088, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 5177344, 4358144, 4358144, 4358144, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 302, 0, 0, 306, 0, 0, 0, 306, 0, 0, 0, 4931584, 0, 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 387, 0, 353, 0, 0, 0, 0, 0, 396, 397, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 557056, 557056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3129, 0, 0, 0, 0, 0, 0, 0, 370, 378, 406, 0, 0, 0, 370, 0, 0, 353, 0, 0, 0, 370, 0, 409, 411, 0, 370, 398, 0, 0, 370, 378, 0, 139264, 147456, 398, 409, 0, 0, 409, 0, 0, 0, 432, 131072, 0, 432, 432, 0, 0, 432, 0, 411, 432, 0, 458, 0, 0, 0, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 508, 508, 508, 508, 520, 508, 508, 508, 520, 508, 508, 508, 508, 508, 508, 537, 57903, 537, 57903, 537, 537, 57903, 537, 537, 57926, 57903, 537, 537, 57903, 57903, 57903, 57926, 57903, 57903, 57903, 57903, 57903, 57903, 57903, 57926, 57926, 57903, 57903, 57953, 57903, 57903, 57903, 57903, 57903, 57903, 57903, 57953, 57953, 57903, 57903, 57903, 57903, 57953, 57953, 57903, 617, 57903, 57968, 57968, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4017, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 61374, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 774, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 774, 0, 0, 0, 0, 0, 1276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 774, 0, 0, 0, 0, 793, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, 774, 0, 793, 0, 521, 832, 521, 521, 521, 521, 521, 521, 863, 865, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 58251, 1151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1207, 1296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1290, 1316, 1317, 0, 1290, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 59822, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 59907, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59915, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 521, 1325, 521, 521, 521, 1329, 521, 521, 1340, 521, 521, 1344, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1363, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 60245, 57886, 57886, 57886, 57886, 60249, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58294, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59483, 57909, 57909, 57909, 57909, 57909, 57909, 59491, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 521, 1367, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2893, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58764, 57886, 57886, 57886, 58768, 57886, 57886, 58779, 57886, 57886, 58783, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60588, 60589, 57886, 57886, 57886, 57886, 60592, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60598, 57886, 57886, 57886, 57909, 57909, 58878, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58897, 57909, 57909, 57909, 58901, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60367, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59515, 57936, 57936, 57936, 57936, 59521, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59532, 57936, 57936, 57936, 57936, 57936, 57936, 58953, 57936, 57936, 57936, 58957, 57936, 57936, 58968, 57936, 57936, 58972, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58991, 57936, 57936, 57936, 58995, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60399, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 1726, 1727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516560, 516560, 516560, 516560, 0, 1786, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1808, 0, 0, 0, 0, 0, 5111808, 0, 0, 0, 0, 0, 5283840, 0, 0, 0, 0, 5472256, 5521408, 0, 0, 0, 0, 5595136, 5709824, 5718016, 0, 5824512, 5865472, 0, 0, 5922816, 0, 0, 6021120, 0, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59324, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60837, 57886, 60839, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60846, 57886, 57886, 60848, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59424, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61181, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60047, 57936, 57936, 57936, 57936, 60052, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 59442, 59443, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 60907, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59538, 59539, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59556, 57936, 57936, 57936, 57936, 57936, 57936, 59563, 57936, 57936, 521, 521, 521, 59324, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 318, 0, 0, 0, 0, 0, 2384, 0, 0, 2387, 0, 521, 521, 2390, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 60823, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59867, 59868, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59879, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59891, 57909, 57909, 57909, 57909, 57909, 59956, 59957, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59968, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58891, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59457, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59980, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 59992, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3868, 3627, 0, 0, 57936, 57936, 57936, 57936, 57936, 60039, 60040, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60051, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60705, 57936, 57936, 60708, 57936, 57936, 60711, 3368, 521, 521, 60715, 57886, 57886, 0, 0, 0, 0, 0, 57936, 57936, 57936, 60063, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 2732, 2733, 57886, 57886, 57886, 60081, 60082, 0, 0, 1710, 0, 0, 1717, 0, 0, 0, 0, 0, 1728, 1729, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 361, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 2821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2460, 521, 2462, 57886, 60286, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59919, 57909, 57909, 57909, 57909, 57936, 60406, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60418, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59011, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 3194, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3207, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 59818, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59826, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60590, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 60615, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60648, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60002, 57936, 57936, 57936, 57936, 57936, 60697, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 6152192, 0, 0, 0, 6316032, 0, 196608, 0, 0, 5816320, 6291456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 61097, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 3760, 57886, 57886, 61106, 3763, 0, 0, 0, 0, 3767, 0, 0, 0, 0, 0, 0, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0, 0, 1171, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3788, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 61147, 57886, 57886, 57886, 61150, 57886, 57886, 57886, 57886, 58274, 57886, 57886, 57886, 57886, 57886, 58293, 57886, 57886, 57886, 57886, 58311, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58350, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59478, 57909, 57909, 57909, 59484, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59494, 57909, 57909, 57909, 57909, 59500, 57909, 57909, 57886, 57886, 57886, 57886, 61241, 57886, 61243, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61257, 57909, 61259, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61074, 57936, 57936, 57936, 61077, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61085, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59516, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59528, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61470, 57936, 57936, 57936, 0, 4130, 0, 0, 0, 0, 0, 521, 521, 4135, 521, 4136, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 61486, 57886, 61487, 57886, 57886, 57886, 57886, 59340, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59353, 57886, 57886, 57886, 59358, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59914, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60709, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0, 0, 475, 475, 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 509, 513, 513, 513, 513, 509, 513, 513, 513, 509, 513, 513, 513, 513, 513, 513, 538, 57904, 538, 57904, 538, 538, 57904, 538, 538, 57927, 57904, 538, 538, 57904, 57904, 57904, 57927, 57904, 57904, 57904, 57904, 57904, 57904, 57904, 57927, 57927, 57904, 57904, 57954, 57904, 57904, 57904, 57904, 57904, 57904, 57904, 57954, 57954, 57904, 57904, 57904, 57904, 57954, 57954, 57904, 618, 57904, 57969, 57969, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, 0, 521, 521, 1320, 521, 1323, 0, 680, 681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 0, 0, 0, 702, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 3876, 521, 521, 521, 521, 3880, 521, 521, 521, 521, 521, 3886, 521, 521, 521, 57886, 57886, 57886, 61235, 57886, 57886, 57886, 658, 0, 637, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, 795, 0, 0, 0, 0, 0, 0, 637, 0, 0, 781, 521, 833, 521, 521, 521, 521, 854, 858, 864, 521, 869, 521, 521, 521, 521, 521, 887, 521, 521, 521, 521, 57886, 57886, 58252, 0, 790, 0, 795, 0, 781, 0, 807, 0, 0, 0, 0, 807, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, 1277, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 670, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 57909, 57909, 57909, 57909, 58382, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58403, 57936, 57936, 57936, 57936, 58424, 58428, 58434, 57936, 58439, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 0, 1142, 0, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 310, 0, 310, 311, 0, 310, 310, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 408, 311, 0, 0, 0, 0, 0, 0, 311, 413, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 58457, 57936, 57936, 57936, 57936, 521, 521, 521, 887, 521, 521, 0, 57886, 57886, 57886, 58306, 57886, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 2336, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2292, 2293, 0, 2295, 2296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 0, 0, 0, 1183, 1184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 1202, 0, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 0, 367, 367, 367, 0, 0, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 0, 0, 708, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 1251, 0, 0, 0, 0, 0, 1256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1267, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 0, 0, 1275, 0, 0, 1152, 0, 0, 0, 1281, 0, 1283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1291, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 2393, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2405, 521, 521, 521, 521, 521, 521, 0, 1297, 1256, 0, 1281, 1300, 0, 1303, 0, 0, 0, 1183, 0, 0, 0, 0, 1311, 0, 0, 0, 0, 0, 1311, 0, 0, 1202, 1311, 1318, 521, 521, 521, 521, 521, 521, 0, 0, 0, 2473, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61043, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 1324, 521, 521, 521, 521, 1330, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1351, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1364, 521, 521, 521, 0, 2895, 0, 0, 0, 0, 57886, 57886, 57886, 60243, 57886, 60244, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 521, 521, 1369, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1377, 521, 521, 521, 1384, 1386, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2881, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3202, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3208, 521, 521, 521, 521, 1409, 58754, 901, 58756, 57886, 57886, 57886, 57886, 57886, 58763, 57886, 57886, 57886, 57886, 58769, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58790, 57886, 57886, 57886, 57886, 57886, 57886, 59870, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58818, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 58911, 57909, 57909, 57909, 58918, 58920, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58943, 0, 58944, 58945, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59543, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58984, 57936, 57936, 57936, 58987, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58952, 57936, 57936, 57936, 57936, 58958, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58979, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58992, 57936, 57936, 57936, 57936, 58997, 57936, 57936, 57936, 57936, 57936, 59002, 57936, 57936, 57936, 59006, 57936, 57936, 57936, 59013, 59015, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60922, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60395, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59038, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 1138, 0, 0, 0, 1710, 0, 0, 0, 0, 1717, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 1783, 1784, 0, 0, 0, 0, 1840, 1841, 0, 0, 0, 1844, 0, 0, 0, 0, 0, 1849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581632, 0, 581632, 581632, 0, 1862, 0, 1864, 1840, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1876, 521, 521, 521, 521, 1882, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2850, 521, 2852, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2427, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1893, 521, 521, 521, 521, 1897, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1910, 521, 521, 521, 1915, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2849, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2429, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59319, 57886, 57886, 57886, 57886, 59325, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59336, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59419, 57909, 57909, 57909, 57909, 59425, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59436, 57909, 57909, 57909, 57909, 57909, 57909, 60653, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61091, 57936, 57909, 57909, 57909, 59440, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59453, 57909, 57909, 57909, 59458, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59936, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59942, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 59536, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59549, 57936, 57936, 57936, 59554, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 2730, 521, 521, 521, 57886, 60079, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 2257, 521, 521, 59604, 57886, 59606, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2277, 2278, 0, 0, 0, 0, 0, 5210112, 0, 5365760, 0, 5554176, 5570560, 5578752, 0, 5668864, 0, 0, 5791744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6201344, 6242304, 6250496, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3443, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1382, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 0, 0, 2383, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2403, 521, 521, 2407, 521, 521, 521, 2411, 57886, 57886, 59842, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59852, 57886, 57886, 57886, 59855, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60609, 57886, 57886, 57886, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 60618, 57909, 60619, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 59894, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 2561, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59923, 57909, 57909, 59927, 57909, 57909, 57909, 59931, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59941, 57909, 57909, 57909, 59944, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61180, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 61186, 57936, 57936, 57936, 61190, 57936, 57936, 57936, 57936, 57936, 59978, 57909, 57909, 57909, 57909, 57909, 59983, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60006, 57936, 57936, 60010, 57936, 57936, 57936, 60014, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60024, 57936, 57936, 57936, 60027, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 4076, 0, 4078, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 60061, 57936, 57936, 57936, 57936, 57936, 60066, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2273, 0, 0, 0, 0, 0, 0, 0, 0, 2743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2826, 0, 0, 0, 0, 0, 0, 521, 521, 2833, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3465, 3467, 521, 521, 521, 3470, 521, 3472, 3473, 521, 57886, 57886, 57886, 57886, 57886, 57886, 60824, 57886, 57886, 57886, 57886, 57886, 2841, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2856, 521, 521, 521, 521, 2859, 521, 521, 2861, 521, 2862, 521, 521, 521, 521, 521, 521, 0, 0, 2472, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59834, 57886, 57886, 59838, 57886, 521, 521, 521, 521, 2870, 521, 521, 2874, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2883, 521, 521, 521, 2886, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3669, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58860, 57909, 57909, 57909, 57909, 57909, 58872, 0, 0, 57909, 57909, 60309, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60317, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61183, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60420, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59008, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59022, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57909, 60332, 57909, 57909, 57909, 57909, 60335, 57909, 57909, 60337, 57909, 60338, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60347, 57909, 57909, 60351, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60655, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 60666, 57936, 57936, 57936, 57936, 57936, 57936, 60673, 57909, 57909, 60360, 57909, 57909, 57909, 60363, 60364, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 60374, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 3096, 521, 521, 57886, 57886, 60443, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450560, 450560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 147456, 0, 0, 450560, 0, 0, 57936, 57936, 57936, 60382, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60397, 57936, 57936, 57936, 57936, 60400, 57936, 57936, 60402, 57936, 60403, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61272, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 3942, 3627, 0, 0, 0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, 0, 379, 381, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1885, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3794, 521, 521, 521, 3795, 3796, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2559, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60325, 57909, 57909, 57909, 57909, 57909, 57909, 3190, 521, 521, 521, 3193, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1917, 521, 521, 521, 521, 521, 57886, 60581, 57886, 57886, 57886, 60584, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60594, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60838, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2561, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60630, 57909, 57909, 57909, 60633, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60643, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 58417, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60920, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 60674, 57936, 57936, 57936, 57936, 60679, 57936, 57936, 57936, 60682, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60692, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 4072, 4073, 0, 0, 0, 0, 0, 4079, 4080, 4081, 521, 521, 521, 4084, 521, 4086, 521, 521, 521, 521, 61435, 61436, 61437, 3457, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3469, 521, 521, 521, 521, 521, 57886, 57886, 57886, 60821, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60587, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60595, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 2560, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60640, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60883, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60897, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 60905, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61201, 57936, 57936, 521, 521, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3784, 521, 521, 521, 57936, 60939, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 3610, 0, 0, 0, 0, 0, 0, 0, 3616, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 0, 0, 0, 0, 0, 0, 0, 0, 2824, 2782, 0, 0, 0, 0, 0, 2829, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 2838, 521, 521, 521, 521, 521, 0, 0, 0, 3640, 3641, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3651, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3671, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60612, 57886, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60620, 57909, 57909, 57909, 57909, 521, 3661, 521, 521, 521, 521, 521, 3666, 521, 3668, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61022, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60292, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60303, 57886, 57886, 57886, 57886, 57886, 0, 2962, 0, 0, 57909, 57909, 57909, 57909, 61051, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61061, 57909, 57909, 57909, 57909, 57909, 57909, 61067, 57909, 61069, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58884, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58894, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59938, 57909, 57909, 57909, 57909, 57909, 57909, 59943, 57909, 59945, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 61096, 57936, 61098, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 3765, 0, 0, 0, 0, 0, 0, 0, 0, 2363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 659, 660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3770, 0, 0, 0, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 3779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3786, 521, 521, 521, 3790, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3799, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 61148, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60867, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60880, 57909, 57909, 61152, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61161, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 61167, 57909, 57909, 57909, 61171, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61053, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59459, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61438, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61446, 57886, 57909, 57909, 57909, 61451, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61459, 57909, 57936, 57936, 57936, 61464, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59576, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57936, 57936, 57936, 57936, 57936, 61472, 57936, 0, 0, 0, 0, 4131, 0, 4133, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4139, 4140, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61445, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61458, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60919, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60929, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 4088, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 61490, 61491, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61498, 61499, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61506, 61507, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61415, 0, 0, 4074, 4075, 0, 0, 0, 521, 521, 521, 4082, 521, 521, 521, 521, 521, 521, 521, 521, 4090, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 60865, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61184, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61189, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 0, 521, 4220, 57886, 61565, 57909, 61566, 57936, 61567, 521, 57886, 57909, 57936, 521, 521, 521, 521, 521, 521, 521, 1899, 1900, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3800, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 425, 425, 0, 0, 131072, 425, 0, 0, 0, 425, 0, 0, 447, 0, 425, 0, 476, 476, 476, 0, 0, 361, 361, 361, 495, 361, 361, 361, 361, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 476, 539, 57905, 539, 57905, 539, 539, 57905, 539, 539, 57928, 57905, 539, 539, 57905, 57905, 57905, 57928, 57905, 57905, 57905, 57905, 57905, 57905, 57905, 57928, 57928, 57905, 57905, 57955, 57905, 57905, 57905, 57905, 57905, 57905, 57905, 57955, 57955, 57905, 57905, 57905, 57905, 57955, 57955, 57905, 539, 57905, 57905, 57905, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376832, 0, 376832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57909, 58369, 57909, 57909, 57909, 57909, 58387, 57909, 57909, 57909, 0, 0, 0, 0, 58293, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58425, 57936, 57936, 57936, 57936, 57936, 58444, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60069, 57936, 57936, 57936, 57936, 2729, 521, 521, 521, 521, 60078, 57886, 57886, 57886, 57886, 2739, 2266, 0, 2740, 2269, 0, 0, 2742, 57936, 58462, 57936, 57936, 57936, 521, 521, 521, 521, 892, 521, 0, 57886, 57886, 57886, 57886, 58311, 57886, 155941, 1138, 0, 1139, 0, 0, 1144, 0, 0, 0, 0, 0, 1150, 0, 0, 0, 0, 0, 5341184, 0, 5652480, 0, 0, 0, 0, 4759552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1827, 0, 0, 0, 0, 0, 0, 0, 1834, 0, 0, 0, 0, 0, 0, 1244, 0, 0, 0, 0, 1249, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 1253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466944, 0, 0, 0, 0, 0, 0, 0, 0, 1825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 354, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 521, 521, 521, 1327, 521, 521, 521, 1336, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2895, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60574, 57886, 57886, 60578, 57886, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58766, 57886, 57886, 57886, 58775, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61034, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 61042, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 61047, 57909, 57936, 57936, 57936, 57936, 57936, 58955, 57936, 57936, 57936, 58964, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59555, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 521, 1931, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1953, 521, 521, 521, 521, 521, 521, 0, 2470, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59839, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59333, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 60864, 57909, 57909, 57909, 57909, 60868, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60874, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 58402, 57936, 57936, 57936, 57936, 57936, 57936, 58433, 58435, 57936, 57936, 57936, 57936, 57936, 57936, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59433, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59986, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60001, 57936, 57936, 60004, 57936, 57936, 57909, 57909, 57909, 57909, 57909, 59474, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59486, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59497, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 57886, 59372, 57886, 57886, 59375, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59389, 57886, 57886, 57886, 57886, 57886, 57886, 59395, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59872, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 60304, 57886, 57886, 57886, 0, 2962, 0, 0, 57936, 57936, 57936, 57936, 59570, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59582, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59593, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 293, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3119, 0, 3120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3135, 0, 0, 0, 0, 2283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2301, 0, 0, 0, 0, 2359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 57886, 59841, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59863, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 59930, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 58947, 57936, 57936, 57936, 57936, 57936, 57936, 60013, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59589, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 0, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60313, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58931, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 0, 57886, 57936, 57936, 57936, 57936, 60626, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 1259, 57886, 57936, 57936, 57936, 57936, 57936, 60675, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59524, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57886, 57886, 57886, 61155, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 61174, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61193, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 61100, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 57886, 57886, 57886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 367, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 57936, 57936, 57936, 57936, 61471, 57936, 57936, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 57886, 57886, 57936, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57936, 57936, 57886, 57886, 57886, 57886, 57936, 57936, 57886, 521, 57886, 57886, 57886, 372, 372, 0, 0, 131072, 372, 0, 0, 0, 372, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57906, 57906, 57906, 57906, 57906, 57906, 57906, 57929, 57929, 57906, 57906, 57956, 57906, 57906, 57906, 57906, 57906, 57906, 57906, 57956, 57956, 57906, 57906, 57906, 57906, 57956, 57956, 57906, 540, 57906, 57906, 57906, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2334720, 0, 2334720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 2834, 2835, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 58267, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58343, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 61179, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 57936, 61187, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 301, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2758, 2759, 0, 0, 2762, 0, 2764, 0, 0, 0, 0, 0, 521, 521, 521, 58754, 901, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58780, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 57909, 59909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60658, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 57936, 57936, 60667, 57936, 60668, 57936, 57936, 57936, 57936, 58875, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59947, 57909, 57909, 57909, 57909, 57909, 0, 0, 0, 3771, 0, 3772, 0, 0, 0, 0, 3627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3657, 521, 521, 521, 521, 521, 521, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 0, 245760, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 364, 0, 0, 0, 0, 363, 0, 0, 0, 139264, 147456, 0, 0, 0, 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 131072, 0, 433, 433, 0, 0, 433, 0, 364, 433, 0, 459, 0, 0, 0, 487, 487, 490, 490, 490, 490, 496, 497, 490, 490, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 541, 57907, 541, 57907, 541, 541, 57907, 541, 541, 57930, 57907, 541, 541, 57907, 57907, 57907, 57930, 57907, 57907, 57907, 57907, 57907, 57907, 57907, 57930, 57930, 57907, 57907, 57957, 57907, 57907, 57907, 57907, 57907, 57907, 57907, 57957, 57957, 57907, 57907, 57907, 57907, 57957, 57957, 57907, 619, 57907, 57970, 57970, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 1806, 0, 0, 0, 0, 1246, 1246, 0, 0, 57909, 57909, 57909, 57909, 57909, 58383, 57909, 57909, 57909, 57909, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60688, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58458, 57936, 57936, 57936, 57936, 521, 521, 521, 888, 521, 521, 0, 57886, 57886, 57886, 58307, 57886, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1806, 0, 0, 0, 0, 0, 0, 0, 0, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3402, 2768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2318336, 57909, 57909, 57909, 57909, 57909, 60334, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60344, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57886, 57886, 57886, 58268, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 57909, 57909, 57909, 57909, 57909, 57909, 58344, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 58393, 0, 0, 0, 0, 57886, 57936, 57936, 57936, 57936, 58409, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59517, 59518, 57936, 57936, 57936, 57936, 59525, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2792, 0, 521, 1368, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1395, 521, 521, 521, 521, 521, 521, 521, 521, 2875, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 58834, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 50657, 58754, 977, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60895, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 60903, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 58996, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59024, 57936, 57936, 57936, 57936, 57936, 521, 521, 521, 521, 521, 521, 0, 57886, 57886, 57886, 57886, 57886, 57886, 155941, 1138, 0, 301, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 3178, 521, 3179, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2469, 0, 0, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59883, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 521, 521, 521, 2844, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2434, 521, 521, 57936, 57936, 57936, 57936, 57936, 57936, 60385, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 59522, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 640, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 893, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57909, 57909, 60862, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60879, 57909, 60881, 57909, 57936, 58463, 57936, 57936, 57936, 1126, 521, 521, 521, 893, 521, 0, 57886, 58477, 57886, 57886, 58312, 57886, 155941, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 0, 331, 521, 58754, 0, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 59326, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 0, 57909, 59908, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60343, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 50657, 0, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59426, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 59961, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 60346, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 521, 521, 521, 521, 2415, 521, 2417, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2432, 521, 521, 521, 521, 521, 521, 2867, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1923, 57936, 57936, 57936, 57936, 60409, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 60423, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 3660, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 57886, 0, 0, 0, 2562, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57909, 57936, 57936, 57936, 61185, 57936, 57936, 57936, 61188, 57936, 57936, 57936, 57936, 57936, 57936, 57936, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 2310560, 2310560, 0, 2310144, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310144, 0, 367, 0, 0, 0, 0, 0, 0, 0, 2310560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 0, 383, 0, 0, 0, 0, 0, 0, 2310144, 0, 0, 0, 2310144, 0, 0, 0, 0, 0, 2310144, 0, 0, 2310144, 0, 0, 2310144, 0, 2310144, 2310144, 0, 2310144, 0, 2310144, 2310144, 0, 0, 0, 0, 0, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 3445, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1347, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 1362, 521, 521, 2310144, 0, 0, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310733, 2310144, 2310733, 2310144, 2310144, 2310733, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2310, 0, 0, 0, 0, 0, 0, 0, 0, 2318, 0, 0, 0, 0, 0, 2322, 0, 0, 2324, 0, 0, 0, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 839, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 898, 57886, 57886, 57886, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 2335197, 2335197, 2335197, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 2335231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3399, 3400, 0, 3401, 0, 2335231, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2763, 0, 0, 0, 0, 0, 2767, 0, 0, 0, 0, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 0, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 2359296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359296, 1, 24578, 3, 0, 0, 4366336, 0, 0, 0, 0, 0, 301, 302, 0, 4268032, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2813, 0, 0, 0, 0, 2367488, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 0, 295, 0, 0, 0, 0, 0, 6275072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 976, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 521, 521, 521, 2391, 2392, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 2855, 521, 521, 521, 521, 521, 521, 521, 2860, 521, 521, 521, 521, 521, 521, 521, 521, 0, 1, 24578, 3, 155941, 155941, 295, 0, 0, 0, 0, 0, 301, 302, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3134, 0, 0, 212992, 0, 0, 0, 0, 0, 4366336, 0, 0, 0, 0, 0, 0, 0, 0, 4268032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 6258688, 6447104, 0, 0, 6127616, 0, 6348800, 5906432, 0, 5537792, 0, 0, 0, 0, 0, 5939200, 0, 0, 5677056, 6365184, 4866048, 0, 6070272, 5545984, 5152768, 0, 0, 6144000, 4358144, 4866048, 4882432, 4358144, 4358144, 4358144, 0, 1411, 0, 0, 0, 0, 0, 4857856, 4874240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5259264, 0, 0, 0, 0, 0, 0, 0, 0, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 900, 900, 900, 5537792, 5545984, 5586944, 5734400, 5971968, 4358144, 6045696, 4358144, 6070272, 4358144, 4358144, 4358144, 4358144, 6348800, 4358144, 6144000, 0, 6144000, 0, 4988928, 5005312, 0, 0, 0, 0, 5775360, 0, 0, 0, 0, 0, 0, 0, 750, 808, 0, 0, 0, 750, 0, 0, 811, 692, 0, 0, 0, 816, 0, 0, 0, 818, 0, 0, 0, 685, 692, 0, 0, 4358144, 5005312, 4358144, 4358144, 4358144, 5120000, 5136384, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 4358144, 6324224, 5914624, 5914624, 0, 0, 0, 0, 0, 5513216, 5783552, 0, 0, 0, 0, 0, 0, 656, 0, 779, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 0, 792, 0, 0, 0, 0, 0, 800, 0, 783, 0, 0
|
|
];
|
|
|
|
JSONiqParser.EXPECTED =
|
|
[ 166, 182, 211, 1104, 242, 1452, 1467, 273, 289, 712, 1117, 319, 349, 333, 365, 381, 397, 413, 195, 1866, 2240, 2243, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 429, 445, 461, 477, 2088, 226, 493, 2075, 939, 621, 523, 543, 1716, 559, 575, 591, 607, 1422, 650, 666, 1822, 697, 1565, 634, 728, 738, 754, 796, 812, 828, 844, 860, 876, 892, 908, 924, 955, 2180, 985, 681, 2211, 1015, 1044, 1028, 1060, 1090, 1133, 1320, 1149, 1165, 1551, 1181, 1197, 1213, 1229, 1259, 1904, 1365, 1375, 999, 969, 1762, 1289, 1305, 1336, 1351, 1488, 1391, 1407, 1504, 1623, 1520, 1536, 1581, 1273, 1610, 1639, 1655, 1671, 2118, 2149, 1687, 1703, 1437, 507, 1732, 1748, 1778, 1074, 780, 1809, 1838, 1854, 1890, 1920, 1936, 1952, 1968, 1984, 2000, 2016, 2032, 2061, 257, 2104, 303, 2045, 767, 1793, 1594, 2134, 1243, 2165, 2196, 2227, 2234, 1874, 1479, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 2234, 536, 2259, 2263, 2271, 2271, 2271, 2265, 2269, 2271, 2272, 2276, 2279, 2286, 2282, 2290, 2294, 2298, 2302, 2306, 2310, 2381, 2790, 2790, 4003, 4941, 2790, 2791, 2314, 3074, 2982, 2790, 2790, 2790, 2687, 2790, 5013, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2827, 2790, 2571, 3537, 4080, 2436, 2320, 2443, 2466, 2326, 2336, 2790, 2790, 2790, 2343, 2790, 2790, 2349, 3841, 2707, 2790, 2734, 2759, 2790, 2790, 2790, 2790, 4756, 2738, 2790, 2790, 2790, 2790, 4767, 2321, 2390, 2466, 2466, 2466, 2466, 2355, 2361, 2790, 2790, 2790, 2790, 2790, 2371, 4535, 2790, 2696, 4816, 2790, 2790, 2790, 2697, 4817, 2790, 2790, 2790, 4822, 4790, 2790, 2790, 3017, 3842, 2448, 2790, 2790, 3537, 4079, 4079, 4079, 4079, 4079, 4099, 2436, 2436, 2436, 2436, 2436, 2387, 2321, 2321, 2321, 2321, 2321, 2459, 2466, 2466, 2466, 2466, 2466, 2332, 2401, 2790, 2790, 2762, 4873, 2790, 2790, 2790, 2790, 2820, 4885, 2790, 2790, 2790, 2790, 3243, 4891, 3542, 4079, 4079, 4079, 4097, 2436, 2436, 2436, 2436, 2458, 2321, 2321, 2321, 2331, 2466, 2466, 2426, 2790, 2790, 3074, 4076, 4079, 4079, 2396, 2436, 2482, 2321, 2321, 2464, 2466, 2466, 2411, 2790, 2790, 4535, 2790, 4077, 4079, 4079, 2480, 2436, 2436, 2457, 2321, 2321, 2420, 2467, 2428, 2834, 3536, 4079, 2434, 2436, 2441, 2321, 2465, 2332, 2447, 4095, 4081, 2437, 2376, 2466, 2452, 4078, 2436, 2321, 2466, 4335, 4081, 2456, 2463, 2422, 4080, 2482, 2463, 2471, 4098, 2483, 2331, 2478, 2329, 2487, 2491, 2474, 2495, 2498, 2508, 2512, 2519, 2519, 2519, 2515, 2525, 2519, 2521, 2529, 2536, 2532, 2540, 2544, 2548, 2552, 2556, 2560, 4697, 2790, 2790, 2790, 4729, 2790, 4591, 2584, 2858, 2790, 2790, 2790, 3364, 2591, 2790, 3610, 2603, 2609, 2613, 2617, 2621, 2625, 2628, 2632, 2636, 4053, 2702, 2790, 2790, 2790, 2790, 3877, 2642, 2648, 2892, 4432, 2646, 2915, 2367, 2654, 3828, 2813, 2790, 2652, 3406, 2659, 2664, 2790, 2790, 2790, 2790, 2790, 2671, 4434, 2580, 4063, 2790, 2676, 2680, 2790, 2790, 2790, 3867, 2684, 2790, 2790, 2790, 3868, 2685, 2750, 2790, 2790, 2790, 2790, 2756, 2760, 2790, 2790, 2790, 2790, 2790, 2880, 2666, 2790, 2790, 2777, 4228, 3359, 2851, 4232, 4238, 2790, 4246, 4420, 4253, 3266, 4258, 4264, 3443, 2790, 4721, 2782, 2790, 2790, 2790, 3228, 3232, 2790, 2790, 2790, 2790, 4105, 2790, 2790, 2790, 2790, 2790, 2790, 3903, 3876, 2788, 4641, 2790, 2790, 2790, 3307, 2790, 2790, 2790, 4640, 2818, 2790, 2790, 3306, 2795, 2935, 2812, 2790, 2790, 2744, 2790, 3875, 3239, 2817, 2790, 4088, 2790, 2790, 2824, 2790, 3502, 2818, 2790, 3007, 2790, 3959, 3750, 2960, 2745, 3748, 2790, 4626, 2790, 4622, 2667, 2940, 2842, 3754, 2902, 4615, 2840, 3753, 3753, 3753, 4616, 2838, 4624, 4624, 3006, 3753, 2841, 2903, 2719, 3291, 3292, 3752, 2941, 2998, 3000, 2847, 2790, 2790, 2790, 2790, 2790, 3322, 3326, 2790, 2790, 2790, 3241, 4802, 2775, 4735, 2782, 2790, 2790, 2790, 4802, 3231, 2790, 2790, 2790, 2771, 4780, 3110, 4601, 2790, 3607, 2790, 3763, 3555, 2886, 2973, 2790, 3980, 2790, 3666, 2790, 4542, 2416, 2884, 2890, 2896, 2907, 4569, 2911, 2790, 2919, 5035, 2790, 2913, 2925, 2790, 4599, 2686, 2790, 3665, 2790, 4541, 3125, 4330, 4429, 2929, 2934, 2939, 3953, 2790, 2790, 4197, 3440, 2790, 2790, 2790, 2790, 4592, 3426, 2790, 2790, 2790, 2790, 2790, 4860, 2951, 2790, 3324, 2790, 2790, 3609, 3761, 2790, 4016, 2955, 2741, 2842, 2790, 4742, 2959, 2790, 2790, 4535, 2790, 2790, 4096, 4079, 4079, 4079, 4079, 2435, 2436, 2436, 2436, 2436, 2437, 2980, 2790, 2790, 2790, 2790, 2802, 2989, 2790, 2790, 2790, 2790, 2801, 2988, 2790, 2790, 2790, 4818, 4810, 3928, 2790, 3608, 3761, 2316, 2993, 3004, 2790, 3011, 3032, 2790, 2790, 2790, 4503, 3015, 2790, 2790, 2790, 2790, 3011, 3032, 2790, 2790, 2790, 2790, 2790, 3026, 4920, 2790, 2790, 2790, 2790, 3025, 4919, 2790, 2790, 2790, 2790, 2790, 4355, 3755, 4359, 2790, 2790, 3354, 3059, 4366, 4372, 4240, 2834, 4504, 3016, 2790, 2790, 3635, 3927, 3023, 3031, 4541, 3436, 3037, 3854, 3044, 2790, 2790, 3451, 3049, 2790, 2790, 3024, 3043, 2790, 2790, 2801, 3048, 2790, 2790, 3053, 3064, 3031, 4492, 3071, 2975, 3079, 2790, 3470, 3088, 2790, 3421, 3079, 2790, 2801, 3098, 2790, 4152, 3102, 3109, 2574, 3114, 3122, 2790, 4585, 3124, 2790, 3129, 2790, 4584, 3123, 2790, 4154, 3033, 3133, 4950, 3518, 3142, 4948, 4952, 3148, 2790, 4155, 3156, 3188, 3160, 3150, 4950, 3167, 3186, 3174, 3174, 3174, 3180, 3184, 3192, 3192, 3196, 3200, 3175, 3209, 3433, 3213, 3176, 3861, 3217, 3221, 4494, 3225, 3236, 3247, 2790, 2790, 2790, 2790, 3914, 2790, 2790, 3253, 3263, 3403, 3170, 3479, 3270, 3274, 3278, 3282, 3285, 3285, 3286, 2790, 2790, 3913, 2790, 3549, 3337, 3848, 3342, 3290, 3496, 2655, 3296, 3300, 3311, 3318, 4953, 3330, 4637, 2790, 3320, 2790, 2790, 3659, 2790, 2790, 3336, 2790, 2790, 4722, 2770, 2790, 2790, 2790, 2790, 4722, 2770, 2790, 2790, 2790, 2790, 2790, 4190, 3341, 3484, 3460, 3144, 3346, 3363, 3369, 2976, 3375, 2790, 2790, 2790, 3383, 3388, 2790, 2790, 2790, 3472, 2790, 2790, 2790, 4413, 2790, 4305, 3786, 4825, 2790, 2790, 2364, 2790, 3482, 3486, 2790, 3416, 3420, 2790, 4591, 3425, 2790, 2790, 2790, 2790, 2672, 3430, 2790, 2790, 2790, 3769, 2790, 2790, 2790, 2790, 3471, 3736, 2790, 2790, 2790, 2790, 3776, 2790, 3469, 2790, 2790, 2790, 2790, 4198, 3468, 2790, 2790, 2790, 2790, 4198, 3468, 2790, 2790, 2790, 2790, 2921, 3506, 2790, 2790, 2790, 4591, 3513, 2790, 2790, 2790, 3724, 2660, 2790, 4124, 3542, 3476, 3490, 3494, 3634, 3500, 2790, 2921, 3506, 2790, 2790, 2790, 2790, 3512, 3517, 3522, 2833, 3204, 2790, 3527, 2790, 2790, 2790, 4249, 2790, 2790, 2790, 3526, 2790, 2790, 2790, 3821, 2761, 2790, 2790, 2790, 2790, 4347, 2686, 2790, 2790, 2790, 2790, 4351, 2790, 4248, 2790, 2790, 2790, 3531, 3517, 3412, 2790, 2790, 4987, 2790, 2790, 2563, 2790, 2790, 2790, 4094, 4079, 4079, 4079, 4079, 2435, 2436, 2436, 2436, 2397, 2321, 2321, 2321, 2321, 2321, 2464, 2466, 2466, 2466, 2466, 2393, 2405, 2790, 2790, 2833, 2790, 4987, 2790, 2790, 4422, 2790, 2790, 4126, 4322, 3032, 2790, 4987, 2790, 3390, 4989, 2790, 2605, 2730, 2790, 3541, 3547, 4788, 3547, 2566, 2566, 2566, 4894, 4014, 4014, 4014, 4788, 2832, 3553, 2315, 4875, 2567, 4015, 4896, 2830, 2899, 3559, 3560, 3564, 2790, 2790, 2790, 2790, 2790, 3615, 3614, 2790, 2790, 4465, 3917, 2585, 3619, 3625, 3737, 4266, 4915, 3629, 3649, 4306, 3633, 3639, 3647, 3653, 2790, 2790, 4691, 3658, 2790, 4464, 3916, 2790, 3663, 2722, 3670, 3674, 4193, 4196, 2790, 3690, 2790, 2790, 2790, 2382, 3694, 2790, 2790, 2790, 2383, 3695, 2790, 2790, 2790, 2339, 3143, 2790, 2790, 2790, 4517, 2790, 2965, 4474, 4719, 4065, 4703, 2578, 3699, 3704, 2790, 2790, 3118, 2790, 2790, 2790, 4999, 2790, 4869, 4984, 5004, 2752, 2790, 2790, 3118, 2790, 4317, 3723, 2790, 2790, 2790, 2790, 4391, 3711, 2790, 2790, 2790, 2790, 3716, 3847, 2790, 2790, 3259, 2790, 2790, 2790, 2790, 2790, 3258, 2783, 2790, 2790, 2790, 2790, 3258, 2783, 3791, 2725, 2790, 3795, 2790, 2790, 3803, 2790, 2790, 3810, 2790, 2790, 2638, 2790, 4782, 3202, 2716, 3818, 2790, 3795, 2790, 4584, 3812, 2790, 2351, 2790, 2790, 3811, 2790, 3825, 3838, 2790, 2790, 4988, 2790, 3725, 4875, 2790, 2414, 2790, 3535, 4942, 2790, 2430, 2790, 4323, 4014, 3846, 3205, 3847, 4039, 2790, 2713, 2790, 3852, 3683, 3067, 3104, 2790, 3685, 4305, 3685, 3915, 3915, 3105, 3683, 3683, 3683, 3066, 3331, 3105, 3332, 3331, 3332, 3684, 3256, 2790, 2790, 3371, 3735, 2790, 2790, 2790, 2790, 3421, 3742, 2790, 2790, 2790, 2790, 2790, 3741, 2790, 2790, 2790, 2790, 3746, 2790, 3759, 2703, 3621, 4113, 3881, 3885, 3889, 3893, 3894, 3898, 3902, 2790, 2790, 3162, 2790, 2790, 3643, 2983, 4501, 4562, 3907, 3765, 4282, 3921, 2790, 4554, 4022, 2790, 3925, 3932, 4556, 3936, 2790, 4242, 3941, 2790, 2855, 2784, 3943, 4375, 4402, 2862, 2866, 2870, 2874, 2874, 2875, 2879, 2819, 3325, 2790, 2778, 2790, 4182, 4960, 4187, 2504, 5007, 4203, 4207, 4211, 4215, 4219, 4222, 4224, 2790, 2790, 4077, 4079, 4079, 4079, 4079, 4079, 2396, 2436, 2436, 2436, 2436, 2436, 2375, 2321, 2321, 2321, 2322, 2466, 2466, 2466, 2466, 2466, 2332, 2357, 2380, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3204, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3163, 2790, 2790, 2746, 3858, 4848, 4930, 3872, 3642, 4579, 2727, 4118, 2315, 3764, 3947, 3951, 2790, 2790, 3814, 3957, 2790, 2790, 2790, 3967, 3350, 2984, 2729, 3978, 3548, 3984, 3961, 2790, 2790, 3813, 3988, 2790, 2790, 2790, 2790, 3686, 4027, 2790, 2790, 2790, 2790, 3257, 4051, 2790, 3074, 2790, 2790, 4299, 3993, 2790, 4007, 2790, 2984, 2790, 3568, 3575, 4260, 3583, 3587, 3591, 3594, 3597, 3600, 3601, 3605, 2790, 2790, 2790, 4750, 2964, 2790, 2790, 2790, 2790, 2969, 2761, 2790, 2790, 2790, 2790, 4743, 2790, 4834, 2790, 3348, 4604, 4013, 4070, 4311, 4020, 2790, 2790, 2790, 4026, 2790, 2790, 2790, 2790, 3578, 4964, 2790, 2790, 2790, 2790, 4969, 2790, 2790, 2790, 2790, 3579, 2790, 4031, 2790, 4037, 2790, 4043, 2789, 4333, 4571, 4021, 2790, 2790, 4362, 2790, 2790, 2790, 2790, 3968, 4183, 2790, 2790, 4271, 3972, 4033, 2790, 2790, 4832, 2790, 2796, 2790, 4360, 3993, 2790, 2790, 2790, 2790, 4049, 2790, 2790, 2790, 2790, 4361, 2761, 4510, 4241, 4057, 4254, 4773, 4069, 4439, 2790, 2790, 4976, 2790, 2790, 2790, 4457, 2761, 2790, 2790, 4485, 3989, 2790, 2790, 4456, 4074, 3731, 4836, 4254, 4085, 4092, 3707, 2790, 4060, 2790, 2790, 4060, 4147, 4132, 4140, 4134, 4843, 2501, 4130, 4921, 4921, 4921, 4291, 4135, 4132, 4132, 4132, 4139, 4922, 4135, 4144, 4922, 4923, 4133, 4159, 4169, 4171, 4166, 4163, 4175, 4178, 2790, 2790, 2790, 2800, 2790, 2746, 3958, 4087, 2818, 2790, 3314, 2806, 2790, 3502, 2818, 2790, 2790, 4270, 3039, 4275, 2790, 2790, 2790, 4279, 3358, 2850, 4286, 4295, 2790, 3397, 3607, 4303, 4310, 2790, 2790, 4965, 4315, 2790, 2790, 2790, 3378, 4321, 2790, 2790, 2790, 3379, 2790, 2790, 3472, 2790, 2790, 2790, 2345, 3847, 2790, 2790, 3471, 3736, 2790, 4603, 2790, 4305, 2790, 4812, 4327, 4339, 2790, 2790, 3352, 3356, 2996, 4343, 3937, 4297, 4995, 4476, 2843, 2790, 3025, 4927, 2790, 2790, 4934, 2406, 2599, 4938, 5023, 4946, 2790, 2790, 2790, 2790, 4957, 4381, 4359, 2790, 2790, 2790, 3806, 4389, 2790, 2790, 2790, 2790, 3963, 4396, 2790, 2790, 2790, 2946, 2790, 2790, 2790, 3712, 2947, 2790, 2790, 2790, 4234, 3973, 2790, 2790, 2790, 3962, 4395, 2790, 2790, 2790, 2790, 3962, 4395, 3755, 4359, 2790, 3056, 3060, 4368, 3960, 4535, 4377, 2790, 2790, 2790, 2808, 4400, 2790, 2790, 2790, 2790, 4406, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 4708, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3152, 3203, 2790, 2790, 2790, 2790, 2790, 3963, 4411, 2790, 2790, 2790, 2807, 4407, 4446, 2790, 4417, 2942, 4426, 3654, 3761, 2790, 2790, 3720, 2790, 2790, 2790, 2790, 2790, 3729, 2790, 4472, 2790, 2586, 3787, 3138, 2790, 4862, 4438, 2790, 2790, 2807, 4451, 2790, 2790, 2790, 4443, 2790, 2790, 2790, 4450, 4689, 3400, 2942, 4455, 4536, 4484, 2790, 4461, 2790, 2790, 4469, 2790, 2790, 4480, 2790, 2790, 3779, 4523, 4489, 4498, 3654, 4483, 2790, 4508, 2790, 5040, 4002, 2790, 4514, 2790, 2790, 4521, 4525, 4529, 4540, 4384, 4590, 4385, 2790, 4514, 2790, 4547, 4551, 2790, 3997, 4560, 4566, 3999, 4575, 3995, 4009, 4009, 4009, 4583, 4589, 4001, 4001, 4596, 3680, 4608, 4879, 4613, 4620, 4609, 4877, 2407, 3782, 4792, 4793, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 3018, 4630, 4634, 4645, 4649, 4653, 4657, 4661, 4665, 4669, 4672, 4676, 4679, 4683, 2790, 2790, 2790, 3017, 4695, 4542, 4761, 4701, 4577, 4906, 4707, 4712, 4716, 4727, 2790, 3832, 2594, 3075, 4733, 3830, 4739, 2790, 2790, 2790, 3019, 4842, 2597, 4900, 4904, 4853, 4912, 2790, 2790, 2790, 2790, 2790, 3027, 4747, 4754, 4760, 4765, 4771, 4777, 4786, 4797, 4801, 2790, 2790, 2790, 2790, 4807, 2790, 2790, 3876, 4543, 4150, 2930, 2766, 2790, 2790, 2790, 2790, 2790, 4723, 2790, 2790, 2790, 2691, 2790, 2790, 2790, 3094, 2695, 2701, 2790, 2790, 2790, 2790, 3508, 2790, 4840, 2406, 4847, 4803, 4111, 4852, 4857, 4914, 2790, 2790, 2790, 2790, 2696, 4866, 2790, 2790, 3910, 2790, 2790, 4686, 4531, 4887, 3772, 3082, 3706, 2790, 4289, 2790, 3974, 3915, 4973, 2790, 4980, 4984, 5018, 4907, 4994, 2790, 2790, 2801, 4830, 2790, 2790, 2790, 5000, 2790, 3091, 2790, 2790, 4103, 4533, 4109, 3084, 2790, 4117, 4908, 2790, 3303, 2790, 4122, 3249, 2790, 4999, 2790, 2790, 4828, 2790, 2790, 3571, 2790, 5011, 5017, 5022, 2790, 2790, 3799, 2790, 3384, 3389, 2790, 2790, 5029, 3394, 2790, 2790, 2790, 2790, 4881, 2790, 3543, 3449, 3410, 3116, 5028, 2790, 3798, 2790, 2790, 5027, 3365, 3864, 2790, 4990, 2790, 4045, 2790, 2710, 2790, 3447, 4603, 3455, 3459, 3700, 3677, 2790, 2790, 3464, 2790, 2790, 2790, 2790, 2790, 4199, 5033, 3136, 2790, 4383, 5039, 2587, 3834, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2578, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 2790, 6090, 6563, 5044, 5057, 5054, 6594, 6596, 6596, 6596, 6591, 5074, 6595, 6596, 6596, 6596, 6596, 5087, 5061, 5074, 6596, 6596, 5067, 5062, 6596, 5078, 5084, 5080, 5066, 6594, 6163, 5071, 5091, 5094, 5094, 5094, 5095, 5099, 5099, 5103, 5107, 5114, 5111, 5118, 5122, 5134, 5137, 5129, 5130, 5127, 5125, 5141, 5145, 6561, 6446, 5234, 5173, 5635, 5635, 5635, 5219, 5598, 5503, 5251, 5251, 5251, 5251, 5252, 5196, 5267, 6248, 5502, 5251, 5251, 5196, 5196, 5196, 5266, 5202, 5212, 5632, 5635, 5050, 6519, 6509, 5635, 6818, 5635, 5635, 5146, 5150, 6535, 5218, 5635, 5635, 5147, 5154, 5196, 5267, 5268, 5502, 5213, 5214, 5232, 5214, 5631, 5635, 5146, 5151, 5635, 5155, 5619, 6297, 5635, 6532, 6536, 5244, 5250, 5251, 5251, 5251, 5295, 5631, 5633, 5635, 5635, 5635, 5049, 6518, 5502, 5502, 5293, 5251, 5251, 5226, 5196, 5196, 6247, 5270, 5502, 5502, 5502, 5504, 5268, 5502, 5214, 5633, 5282, 5635, 5635, 5635, 5273, 6084, 5196, 5267, 5271, 5635, 5166, 5635, 5635, 5749, 5219, 5251, 5296, 5196, 5196, 5306, 5635, 5196, 5265, 5269, 5273, 5635, 5635, 5165, 5635, 6247, 5268, 5502, 5502, 5502, 5502, 5251, 5502, 5251, 5251, 5251, 5186, 5193, 5272, 5635, 5635, 6261, 5635, 5298, 5635, 5635, 6262, 5502, 5502, 5294, 5251, 5251, 5251, 5296, 5251, 5251, 5264, 5196, 5196, 5196, 5196, 5265, 5196, 5197, 5635, 6245, 5269, 5293, 5296, 5306, 6246, 6247, 5502, 5502, 5502, 5292, 5251, 5251, 5196, 6255, 6247, 5270, 5292, 5251, 5264, 5197, 5198, 5302, 5297, 5312, 5312, 5304, 5635, 5179, 5635, 5643, 5168, 5635, 6860, 5329, 5590, 5333, 5336, 5339, 5343, 5362, 5419, 5347, 5351, 5404, 5419, 5419, 5419, 5419, 5368, 5384, 5393, 5355, 5359, 5418, 5367, 5372, 5346, 5420, 5381, 5390, 5397, 5377, 5386, 5419, 5376, 5401, 5416, 5424, 5428, 5430, 5430, 5434, 5436, 5440, 5473, 5444, 5446, 5365, 5407, 5450, 5454, 5458, 5466, 5464, 5466, 5462, 5470, 5477, 5635, 5181, 6353, 5635, 5219, 5635, 5635, 5219, 5635, 7266, 5635, 5904, 5635, 6256, 6080, 5635, 6853, 5635, 5635, 5169, 5672, 6820, 5635, 5635, 5635, 5275, 5635, 5635, 7112, 6346, 7172, 5635, 5220, 7282, 5635, 5273, 5642, 5635, 5635, 6879, 5246, 5891, 5635, 5635, 5182, 6258, 5523, 6083, 6080, 5977, 6569, 5635, 6877, 6875, 6150, 5527, 5530, 5531, 5535, 5538, 5542, 5547, 5545, 5551, 5553, 5554, 5558, 5561, 5569, 5562, 5566, 5562, 5572, 5574, 5578, 5635, 6820, 6222, 5635, 5975, 5635, 5635, 6702, 6210, 5614, 5635, 5635, 5189, 5635, 5635, 6773, 5656, 5635, 5635, 5635, 5307, 5668, 5635, 5635, 5635, 5315, 6779, 5662, 5666, 5635, 5635, 5635, 5582, 5675, 5635, 5635, 5635, 5320, 5679, 6567, 5635, 5683, 5691, 5698, 5706, 5734, 5699, 5707, 6568, 5635, 5635, 5635, 5491, 6736, 5694, 5700, 5708, 5162, 5635, 5635, 5635, 5513, 7310, 6318, 5664, 5635, 5635, 5635, 5277, 5746, 5635, 5712, 5635, 5274, 5273, 5635, 5274, 6223, 5635, 5275, 5635, 6695, 5635, 5635, 6694, 5823, 6568, 5635, 5322, 5635, 5635, 5910, 5635, 5635, 5635, 6618, 5236, 5635, 5717, 6739, 6745, 5731, 6568, 5635, 5324, 5635, 6335, 5811, 5635, 5635, 5635, 5675, 5701, 5732, 5635, 5635, 5318, 5635, 5635, 6736, 6740, 6744, 5730, 5734, 5635, 5635, 5635, 5514, 5768, 5701, 5775, 6568, 5776, 5635, 5635, 5635, 5615, 5747, 7254, 5635, 5635, 5512, 6989, 5208, 6448, 5733, 5635, 5635, 5635, 5625, 5788, 7253, 5635, 5635, 5635, 5635, 5159, 5797, 5635, 5635, 5635, 5638, 6319, 5635, 5635, 5635, 5640, 6027, 5799, 5635, 5635, 5635, 5646, 5650, 6805, 5635, 5635, 5635, 5655, 5805, 5798, 5635, 5635, 5635, 5636, 5515, 5803, 6804, 6568, 5635, 5496, 5048, 5635, 5219, 6618, 5635, 5635, 5635, 6260, 5635, 5583, 5635, 5635, 5819, 6695, 5635, 5635, 5635, 5724, 5819, 5635, 5821, 5819, 5635, 5635, 6934, 6878, 5756, 5815, 5829, 5635, 5508, 5204, 5664, 5842, 5846, 5854, 5858, 5862, 5866, 5866, 5868, 5870, 5870, 5870, 5870, 5874, 5874, 5874, 5874, 5877, 5879, 5635, 5635, 5635, 5738, 7116, 5885, 5635, 6258, 6080, 5635, 5899, 5917, 5635, 5635, 5594, 5635, 5324, 5635, 5635, 6618, 5635, 6618, 5635, 5582, 5635, 5635, 5819, 5921, 5635, 5635, 5487, 7303, 5485, 5635, 6834, 5635, 5635, 5612, 5635, 6832, 5932, 5635, 5635, 5635, 7178, 5635, 6696, 5635, 5937, 5325, 5635, 5635, 5635, 5761, 5969, 5635, 5635, 5635, 5804, 5984, 5635, 5635, 5635, 5819, 5635, 5850, 6339, 5992, 5606, 5635, 5635, 5635, 6696, 5635, 5938, 5635, 6256, 6930, 6081, 6015, 5635, 5635, 5635, 5895, 6016, 5635, 5635, 5635, 5902, 5640, 5999, 6005, 6011, 6261, 5635, 6095, 5635, 5635, 6088, 6289, 6037, 6042, 5635, 5635, 5635, 7255, 5635, 5635, 6027, 6032, 6038, 6043, 5635, 5635, 6256, 5635, 6082, 5635, 5820, 5635, 5820, 5635, 5635, 5821, 6261, 6335, 6695, 5635, 5635, 6692, 6568, 5923, 7028, 6032, 6058, 6033, 6059, 5635, 5635, 5635, 5908, 7128, 7132, 6613, 5635, 5635, 5635, 5923, 5517, 6786, 6790, 5635, 6564, 5635, 5635, 5635, 5907, 6260, 6318, 5635, 5635, 5635, 7259, 6072, 6033, 6064, 5635, 5635, 7027, 6032, 6063, 6564, 5635, 5635, 6260, 6261, 5636, 6988, 7255, 5678, 5635, 6082, 5635, 5821, 5945, 5412, 5635, 5635, 5635, 7285, 5635, 5635, 6257, 6081, 6261, 5635, 5635, 5635, 5221, 6071, 6711, 6064, 5635, 5635, 6838, 5635, 5589, 6617, 6072, 6712, 6065, 5635, 5635, 6844, 5635, 5635, 6851, 6568, 6070, 6710, 6063, 6564, 5943, 6983, 5635, 5635, 5635, 7286, 5635, 5756, 5635, 5635, 5635, 5943, 6260, 6094, 5635, 5635, 5635, 7332, 5720, 5635, 6821, 6073, 6109, 5635, 5635, 5635, 5956, 5635, 6099, 6107, 6066, 6256, 6081, 6337, 5635, 5635, 6852, 5635, 5320, 5635, 6075, 6079, 5635, 5635, 5635, 5958, 5635, 6820, 7158, 6077, 5635, 5635, 5635, 7346, 5635, 6131, 6821, 6074, 6076, 5635, 5635, 6820, 6708, 6127, 5635, 5635, 7156, 5634, 5905, 5635, 5228, 6053, 5274, 6116, 6079, 5635, 6981, 6142, 7156, 5822, 5635, 7157, 6118, 5635, 5635, 6115, 6078, 5635, 5635, 6114, 6078, 5635, 5635, 6115, 6078, 5635, 5674, 5285, 5674, 6117, 5635, 5635, 5636, 5635, 5635, 5635, 6221, 6118, 5635, 5635, 6116, 6139, 6079, 5635, 6139, 7083, 5674, 6617, 7134, 5635, 7134, 5635, 7134, 5635, 6616, 6614, 5635, 5635, 6878, 5764, 6744, 6449, 5734, 5635, 5287, 6614, 6614, 6614, 7253, 5635, 5674, 5635, 5635, 5512, 5516, 5635, 6392, 6392, 5635, 5636, 5642, 6257, 5635, 6085, 7286, 5635, 5635, 5635, 6481, 6485, 5733, 6255, 6840, 6147, 5635, 5635, 6940, 6946, 7286, 6617, 6879, 6154, 6160, 6167, 6156, 6171, 6175, 6179, 6183, 6184, 6189, 6189, 6185, 6193, 6193, 6193, 6193, 6196, 7276, 5635, 5583, 5635, 5635, 5582, 6208, 5635, 5635, 6214, 6197, 5278, 6228, 5635, 5635, 6975, 5635, 5635, 7001, 5769, 5797, 5308, 5635, 6961, 5635, 5635, 7001, 5770, 6236, 5635, 5980, 6254, 5635, 5635, 5636, 5945, 5412, 5951, 5635, 5635, 6252, 5635, 5635, 5635, 6053, 5635, 6255, 6086, 6855, 6868, 5635, 6399, 5635, 6614, 5635, 5635, 6273, 5635, 5635, 5638, 5964, 6676, 5635, 5635, 5636, 6988, 6994, 5635, 5678, 5635, 6081, 5635, 5819, 5972, 5635, 5635, 5635, 6082, 6085, 5635, 6281, 5635, 5635, 5640, 6573, 6802, 5206, 6295, 5635, 5635, 7007, 7016, 7041, 5635, 7144, 6290, 6803, 5207, 5207, 6296, 5635, 5635, 5635, 6084, 6291, 5771, 6995, 5635, 5635, 7034, 5635, 5635, 7152, 5635, 5635, 7253, 5635, 5635, 6954, 5657, 5635, 7252, 6400, 5635, 6670, 5635, 6259, 6209, 5635, 5639, 6347, 5635, 5635, 5635, 6088, 6309, 6301, 6325, 6329, 5635, 6310, 6302, 6326, 6079, 5635, 6982, 5907, 5635, 6258, 6081, 6311, 6801, 6327, 5635, 5635, 7257, 6960, 6255, 6086, 6856, 6869, 5635, 5635, 5640, 7027, 6400, 5635, 6735, 7277, 6693, 5635, 6671, 5635, 5635, 5320, 6310, 6323, 6327, 6324, 6328, 5635, 5635, 5635, 6089, 5149, 5153, 6086, 6866, 6567, 5635, 5635, 7287, 6616, 5635, 6879, 7278, 5582, 5635, 6769, 6564, 5635, 7252, 6400, 5288, 6079, 6695, 6669, 5635, 5635, 6201, 5635, 6344, 5635, 5635, 5674, 5805, 6351, 6357, 5635, 5635, 5676, 5635, 6820, 7179, 6366, 6329, 5635, 5260, 5635, 5635, 5635, 6122, 6399, 5635, 5635, 6671, 5635, 6259, 6365, 7255, 5635, 6021, 5635, 5635, 5315, 5167, 5635, 5635, 5635, 6247, 6247, 6619, 5635, 5635, 5635, 6255, 6086, 5635, 6620, 5635, 5635, 5635, 6256, 5219, 5635, 5635, 6619, 5904, 5748, 6771, 6620, 6618, 5635, 7096, 6618, 6618, 6618, 6770, 5901, 5511, 6370, 5635, 5635, 7333, 5721, 5635, 7255, 7154, 5635, 5635, 7349, 5518, 7319, 6209, 6384, 5635, 6372, 5985, 6719, 6390, 6396, 6404, 6408, 6411, 6413, 6417, 6418, 6418, 6422, 6424, 6425, 6429, 6429, 6429, 6429, 6430, 6429, 5635, 5635, 5755, 5635, 5635, 5635, 5888, 5635, 6604, 7326, 5635, 5635, 5635, 6616, 5635, 6692, 5635, 5824, 6457, 6568, 5635, 6852, 5635, 6948, 5635, 6949, 6455, 5635, 5635, 5635, 6261, 6260, 5635, 6462, 6456, 5635, 5637, 5640, 6675, 7115, 5635, 6467, 5635, 5658, 6453, 5635, 6463, 5635, 5635, 5635, 6262, 7328, 5635, 5635, 5635, 6267, 5277, 6615, 5635, 5635, 5755, 5818, 5635, 6819, 5635, 5635, 6494, 6473, 5635, 6477, 5635, 5638, 6346, 5635, 5635, 7275, 5635, 5635, 7287, 5635, 5635, 5635, 6480, 5635, 6498, 6507, 6513, 6518, 6508, 6514, 5635, 5635, 6523, 5635, 5635, 5635, 6315, 5635, 6540, 5635, 5635, 5783, 5635, 5635, 6554, 5635, 5635, 5635, 6339, 5635, 6263, 6549, 6503, 5635, 6547, 5176, 6553, 5635, 5635, 5635, 6334, 5635, 6558, 7327, 5635, 5635, 5784, 5635, 6578, 5153, 5635, 5635, 5635, 6439, 6088, 6574, 6579, 5154, 5635, 5635, 6583, 5635, 5635, 5894, 5810, 5635, 5635, 5581, 5635, 5635, 5635, 5725, 6054, 5637, 5635, 5635, 5900, 5635, 5635, 5635, 5904, 5635, 6088, 6588, 5153, 5635, 5638, 6826, 7252, 6088, 5148, 5152, 5635, 5640, 7087, 6772, 6084, 6772, 6084, 5275, 5635, 6694, 5904, 6338, 5277, 6693, 5635, 5825, 5635, 6821, 6600, 5635, 5640, 7334, 5907, 5635, 5635, 6822, 6224, 5635, 5644, 5648, 6102, 5635, 6821, 6223, 5635, 5635, 5635, 6479, 6762, 5824, 5635, 5321, 5635, 5647, 7054, 7038, 5635, 7255, 5637, 5635, 5654, 5635, 5635, 5222, 7284, 5635, 5635, 5276, 5635, 5277, 6695, 6337, 6260, 5635, 5635, 5635, 5256, 6220, 5154, 5635, 5635, 5635, 6399, 5638, 6692, 5635, 5635, 5923, 6072, 5638, 7024, 6610, 5635, 5674, 6141, 5635, 5635, 6854, 5635, 5635, 6878, 5693, 5699, 7255, 6216, 6771, 5635, 5677, 5635, 5635, 5635, 5587, 5911, 6624, 5628, 6630, 6638, 6641, 6645, 6648, 6656, 6656, 6656, 6656, 6651, 6652, 6652, 6652, 6660, 6660, 6660, 6660, 6662, 6666, 5635, 5635, 5635, 6566, 6048, 5635, 5622, 5635, 5686, 5838, 5635, 5686, 6053, 5635, 5635, 5635, 5985, 5635, 5589, 6694, 5939, 6617, 5912, 6686, 5635, 5635, 5944, 5411, 6052, 6691, 5635, 5635, 6756, 6701, 5635, 5635, 5635, 6567, 6125, 6772, 5635, 5635, 5987, 5635, 5635, 6723, 6729, 7278, 6695, 6734, 5635, 5635, 5991, 5605, 6749, 5635, 5635, 5635, 6615, 5635, 5635, 5635, 5645, 5649, 5635, 6480, 6763, 6750, 5635, 6764, 5607, 5635, 5635, 5635, 5835, 5635, 6717, 5635, 5635, 6026, 6031, 5608, 5635, 6730, 6143, 6483, 6487, 6568, 5635, 5635, 6486, 5734, 5635, 5635, 6133, 6881, 5635, 5635, 6133, 7095, 5635, 5635, 5635, 6816, 6204, 6203, 5635, 5635, 6134, 6772, 5909, 5635, 5635, 5635, 6620, 5635, 5597, 6879, 6795, 5635, 5635, 5635, 6685, 6480, 6484, 6488, 5635, 5635, 6616, 6615, 5635, 5635, 6204, 6202, 5274, 6126, 5635, 5635, 6220, 6224, 7347, 6777, 5635, 5635, 6230, 5635, 5635, 6230, 6485, 5733, 5635, 5635, 6054, 5204, 5635, 7269, 6772, 5635, 5687, 5952, 5635, 5713, 5635, 5635, 5276, 6615, 5635, 6277, 5635, 5635, 6619, 6809, 5734, 5635, 5635, 6246, 6247, 6247, 6247, 6247, 5270, 5502, 7114, 5635, 7254, 5635, 5674, 5805, 5798, 6276, 5748, 5635, 5635, 6255, 6247, 6247, 6247, 5269, 5502, 5502, 5835, 6053, 5635, 5635, 6318, 6568, 5635, 7347, 7114, 5635, 5635, 6819, 5321, 5635, 6845, 5635, 5635, 5635, 6716, 5635, 6974, 5635, 5635, 6333, 5635, 6256, 5317, 6285, 5635, 5635, 6966, 5635, 5635, 6965, 5635, 5635, 6257, 5635, 6961, 6053, 5635, 5635, 6967, 5635, 6255, 5589, 6617, 5635, 5753, 5635, 5635, 5323, 5635, 6113, 5634, 5904, 5635, 6256, 6961, 6053, 6255, 6965, 6965, 6965, 5635, 6967, 6965, 5635, 6965, 5635, 6258, 6967, 6965, 7286, 6269, 5741, 5741, 5741, 6053, 6849, 5635, 5635, 5635, 6754, 5635, 7342, 6334, 5635, 5780, 6568, 5635, 5492, 6542, 6492, 5635, 5635, 5635, 6307, 6311, 6324, 6936, 6083, 6873, 5319, 6886, 6892, 6890, 6896, 6900, 6900, 6902, 6908, 6906, 6906, 6908, 6916, 6915, 6912, 6920, 6921, 6921, 6921, 6921, 6925, 6928, 5208, 5635, 5635, 6855, 6526, 6380, 5635, 5635, 6340, 5993, 6565, 5635, 5635, 6617, 5635, 5635, 5635, 6706, 5635, 6239, 5635, 5635, 6364, 7154, 5635, 6242, 5635, 5635, 5637, 5965, 5635, 6953, 5635, 5635, 6376, 5635, 5635, 6958, 5635, 5635, 6443, 5589, 7258, 5635, 5635, 5635, 6760, 5635, 6971, 5635, 6979, 6987, 6993, 6329, 5635, 5832, 6260, 6680, 6878, 5791, 6543, 5635, 5836, 5635, 5635, 6284, 5635, 5635, 6567, 5635, 6616, 5635, 5635, 6469, 6482, 6999, 5635, 5639, 5635, 5635, 5635, 6461, 5725, 5635, 5635, 5635, 6768, 7012, 7040, 5635, 5635, 6547, 6501, 7041, 5635, 5635, 5635, 6769, 5635, 7008, 7017, 7042, 5635, 5848, 5748, 6255, 5483, 5635, 5635, 6245, 6247, 5635, 7021, 5933, 6053, 5904, 6935, 6879, 5792, 5644, 5648, 7055, 7046, 5645, 7052, 7056, 7047, 5646, 7053, 7057, 7048, 5724, 5635, 5635, 5635, 6783, 6486, 5734, 5820, 5635, 5904, 6935, 6879, 5748, 6879, 5793, 5635, 6566, 5635, 5757, 5635, 5635, 5724, 5756, 5635, 5277, 5635, 5635, 5635, 7176, 7094, 7061, 7048, 5635, 5635, 6548, 6502, 5649, 6103, 7067, 7048, 5635, 7061, 6564, 5635, 5635, 6568, 5635, 5646, 5650, 7066, 7124, 5635, 7065, 7123, 5635, 5635, 6584, 5635, 5635, 6987, 7154, 5635, 5881, 5635, 5635, 6365, 5635, 6878, 5318, 6615, 5635, 5899, 5962, 5635, 5602, 5635, 5635, 5188, 5635, 7077, 5635, 5635, 5635, 6794, 5647, 7076, 7069, 5635, 5900, 6053, 5726, 5646, 7075, 7068, 5635, 5635, 6879, 5635, 5635, 5635, 6799, 6809, 5635, 7176, 7081, 5635, 5901, 7114, 6434, 5635, 5635, 7176, 7089, 5635, 5902, 5511, 6435, 5635, 5635, 5757, 5274, 5635, 6088, 7088, 5635, 5902, 5635, 5635, 5635, 6800, 5635, 6088, 7154, 5635, 5903, 5635, 5906, 6616, 6614, 5820, 5904, 6880, 5635, 5908, 5635, 5635, 5924, 7029, 6033, 5640, 7178, 5635, 5635, 6614, 5635, 5635, 6088, 7093, 5635, 5908, 6605, 7327, 7177, 7095, 5635, 5901, 5902, 5635, 5640, 6218, 5821, 6880, 5635, 5635, 6615, 6616, 5635, 5635, 6259, 5635, 5635, 6259, 5635, 5903, 5635, 5635, 5635, 5745, 5640, 7178, 6772, 5238, 5635, 7100, 6880, 5635, 5913, 6687, 5635, 6700, 5635, 5635, 6135, 5635, 5635, 6681, 5635, 5635, 6820, 7094, 5635, 5928, 5635, 5635, 5608, 6878, 5635, 7100, 6881, 5635, 7115, 5635, 5635, 7254, 7106, 5635, 5635, 5635, 6821, 6073, 6820, 7275, 5635, 5635, 5635, 6820, 6309, 6133, 7095, 6880, 5635, 5943, 5410, 5949, 5635, 5635, 5635, 7252, 5635, 5635, 7120, 5635, 5635, 7273, 7120, 6878, 5635, 5635, 6693, 5635, 5635, 5635, 7274, 5635, 5635, 6695, 5635, 5635, 5819, 5809, 5635, 7138, 5635, 6963, 5905, 6209, 5635, 6961, 5635, 5979, 6253, 5635, 5635, 7002, 6744, 5798, 5240, 5635, 6021, 5499, 7109, 5673, 5635, 7142, 5635, 6962, 6021, 6964, 6625, 6022, 7174, 7271, 7149, 7162, 7166, 7170, 7183, 7187, 7191, 7194, 7202, 7197, 7198, 7206, 7208, 7212, 7218, 7217, 7213, 7222, 7232, 7232, 7225, 7231, 7227, 7236, 7240, 5635, 5985, 5837, 5635, 5723, 5635, 5635, 6602, 6606, 7128, 7132, 5904, 5635, 5910, 5481, 7100, 7241, 5635, 5635, 6695, 5824, 6360, 5635, 5635, 5635, 6853, 6259, 6079, 5635, 6529, 7245, 7247, 7251, 5635, 5986, 5635, 5635, 5763, 6743, 5702, 5776, 5635, 7263, 5635, 5635, 6725, 5492, 7283, 7255, 5635, 5635, 6737, 5769, 7291, 5635, 7292, 5635, 5997, 6003, 6009, 6015, 5635, 7296, 7130, 5635, 5998, 6004, 6010, 5907, 5903, 5635, 5635, 6737, 6741, 5635, 6086, 5641, 5635, 5635, 5635, 7100, 5635, 5635, 6738, 6742, 6879, 5635, 7114, 5635, 7252, 5635, 5635, 6853, 6855, 5635, 6020, 5635, 5635, 5635, 7254, 5635, 6337, 5635, 5635, 6770, 5635, 6772, 5635, 6086, 6084, 5635, 5635, 6259, 5635, 7301, 6386, 5635, 5635, 5635, 6878, 5635, 5512, 7309, 6633, 5635, 6047, 5635, 5635, 5635, 7256, 7310, 6634, 5635, 5635, 5635, 6882, 5635, 7307, 7311, 6338, 6853, 5320, 5635, 5640, 7334, 5722, 5635, 5635, 6821, 6126, 5635, 5635, 6021, 6772, 7128, 7132, 5258, 5635, 5635, 5635, 6966, 5642, 5635, 5635, 7101, 5635, 6850, 5635, 6336, 5635, 6260, 5635, 6261, 7102, 5985, 6334, 5635, 5635, 5644, 7073, 7315, 7319, 6338, 5635, 6080, 5906, 5903, 7316, 6788, 5635, 5635, 6772, 5635, 6084, 7095, 5635, 5635, 5686, 5635, 7317, 6789, 5635, 5635, 6813, 5635, 7318, 6790, 6770, 6769, 5635, 5635, 6619, 5635, 6769, 6820, 5635, 5635, 6881, 7115, 5635, 6852, 6855, 5635, 5635, 5635, 6845, 5635, 6718, 6694, 5635, 5635, 5635, 6942, 6786, 6790, 5635, 5635, 5635, 6967, 5635, 5635, 6786, 6790, 6770, 6769, 7254, 5635, 7101, 5635, 7297, 7132, 5258, 7113, 5635, 5635, 6819, 5635, 5635, 5635, 5166, 6379, 5048, 5635, 5635, 6821, 6074, 6078, 5635, 5635, 5635, 5978, 7350, 5519, 7320, 5635, 6081, 5678, 6626, 7319, 5635, 5635, 5635, 7006, 7348, 5517, 6786, 6617, 5635, 6772, 6771, 5635, 6084, 6303, 6488, 5635, 7324, 5906, 5903, 5635, 6085, 5641, 5635, 6084, 6352, 5635, 5635, 5635, 6231, 5047, 5635, 5635, 5635, 7033, 5635, 7348, 7335, 5903, 5635, 6879, 5635, 6851, 5678, 5909, 6855, 6864, 5635, 7340, 5635, 5635, 6829, 5635, 6087, 5635, 6881, 5635, 6852, 6819, 6850, 5635, 5635, 6261, 7332, 7336, 5635, 5635, 5635, 7145, 5635, 6232, 5635, 5635, 6833, 5635, 5274, 5635, 5635, 5635, 7177, 0, 0, 1075838976, 2097152, 16384, 0, 0, 0, 62, 64, 4194560, 4196352, 270532608, 2097152, 2097152, 268435456, 4194432, 541065216, 541065216, 541065216, 541065216, 4194304, 4194304, 4196352, -1606418432, -1606418432, 541065216, 541065216, 4194304, 4198144, 541065216, 541065216, -2143289344, -2143289344, 8425488, 4194304, 4194304, 4194304, 541065216, 37748736, 4194304, 541065216, 4194304, 4194304, 4194432, 37748736, -1606418432, 742391808, 239075328, 775946240, 171966464, 171966464, 171966464, 171966464, 239075328, 171966464, 775946240, 239075328, 239075328, 775946240, 775946240, 775946240, 4718592, 64, 4718592, 2097216, 4720640, 4194400, 4194368, -2142763008, 541589504, 4194368, 541589504, 541589504, 541065280, 4194368, 4194368, 541065312, 541065280, -2143289280, 4194368, -2143285440, -1605890240, -2142761152, -2109731008, -1606414528, -2143285440, -2143285440, -2143285440, -1605890240, -1606414528, -1606414528, -2143285440, -2143285408, -2143285440, -2143285440, -2142761152, 776470528, -1908404416, 775946304, 775946304, -1908404416, 2, 4, 8, 16, 512, 1024, 16777216, 33554432, 402653184, 0, 0, 0, -1979711488, 0, 8192, 8392704, 0, 0x80000000, 16777216, 0, 0, 1536, 32768, 0, 0, 128, 196608, 0, 16384, 1536, 1792, 8192, 16384, 131072, 131072, 0, 0, 64, 1536, 32768, 96, 96, 0, 0, 0x80000000, 16, 0, 0, 1536, 64, 524352, 524352, 524352, 524352, 0, 524288, 64, 64, 262144, 1048576, 4194304, 16777216, 33554432, 67108864, 134217728, 536870912, 0, 128, 128, 128, 128, 2048, 1536, 1024, 0, 0, 0, 15, 208, 15360, 96, 96, 0, 64, 64, 16392, 64, 1048576, 128, 128, 0, 256, 8192, 0, 8192, 0, 33554432, 0, 1024, 1024, 0, 0, 0x80000000, 65536, 32, 96, 96, 96, 96, 64, 0, 8388608, 4096, 0, 0, 8192, 2097152, 0x80000000, 96, 524352, 524352, 524352, 524288, 524288, 524288, 64, 64, 64, 0, 0, 0, 8, 0, 0, 0, 11, 64, 64, 128, 2048, 0, 4096, 0, 0, 131072, 128, 64, 64, 64, 96, 96, 96, 524352, 524352, 524288, 64, 524288, 64, 64, 96, 524352, 0, 0, 0, 18, 33554432, 64, 96, 524352, 524288, 0, 64, 0, 2097152, 0, 0, 4, 16, 0, 0, 16, 8388608, 0, 0, 4096, 536870912, 1073741824, 0, 4, 32, 32, 4, 1073872896, 32, 40, 96, 160, 1056, 262176, 1048608, 2097184, 32, 32, 32, 524320, 32, 1073872896, 40, 262176, 1120, 96, 4195360, 6291488, 2097184, 2097184, 4194336, 4194336, 536870944, 32, 32, 40, 262176, 32, 32, 40, 262184, 1120, 96, 6292512, 4195360, 56, 262184, 40, 262184, 40, 0, 4, 262184, 40, 40, 40, 40, 4195104, 6292512, 4196128, 32, 262184, 34, 34, 40, 48, 42, 32, 32, 327155712, 34, 1056, 1056, 32, 96, 32, 32, 41, 262184, 32, 64, 512, 2048, 16384, 67108864, 42, 1056, 4194336, 32, 32, 32, 32, 56, 2098208, 42, 4457568, -326784344, -322851160, -322851160, -322698144, -322698144, -322698144, -322698144, -322695456, -322695456, -322695456, -322695456, -322597152, -320598176, -322597152, -322597144, -321548576, -320598168, -321548568, -322597144, 32, 0, 96, 32, 42, 224, 40, 262176, 42, 106, 293601323, 293601323, 293863467, 293699627, 293617707, 293716011, 297896507, 293964347, 293702267, 297896507, 293702203, 293702203, 293702203, 293702203, 293964347, 297896507, 297896507, -322597144, -322588952, -321548568, -322588952, -37744981, -322597144, -321548568, -37482773, 0, 131072, 1048576, 2097152, 0, 0, -1744830464, 0, -1744830464, 0, 318767104, 0, 0, 0, 48, 0, 1, 285212672, 0, 0, 2048, 64, 64, 64, 64, 32, 96, 0, 32, 64, 65536, 0, 0, 1, 2, 12, 16, 64, 128, 1024, 2048, 4096, 0, 2, 65536, 262656, 5242880, -1842937664, 201330721, 201330721, -2111369023, -2111369023, -2111369023, -2111369023, -2111369023, -2111369023, -2111360575, -2111369023, -2111369023, -1977151295, -1977151293, -1910042431, -1893265183, -2111368509, -1893265183, -1893265183, -1893265183, -1893265183, -2111368509, -1893265183, -1893265183, -553689472, -553656704, -553689472, -553689472, -553656704, -553656704, -553656704, -553656704, -553656704, -553656704, -553656672, -553656672, -553656672, -553656672, -553656672, -553656670, -553656608, -553656672, -553656664, -553656664, -553656672, -553656670, -553656672, -553656672, -536912159, -553656671, -536879391, -536879391, -536879391, 0, 0, 2048, 4194304, 0, 0, 0, 262656, 0, 0, 0, 536870912, 1073741824, 458880, 2097152, -1845493760, 0, 0, 4096, 2097152, 0, 0, 1, 4096, 201326592, 805306368, -1073741824, 0, 0, 0, 24576, 471424, 0, -2113929216, 0, 0, 0, 220, -1912602624, 18874368, 463488, 0, 0, 9216, 0, 0, 16384, 8192, 8192, 32768, 2048, 2048, 2048, 2048, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 4, 16, 224, 256, 512, 32768, 0, 1040000, 15728640, -570425344, 0, 0, 0, 254, 4194304, 16777216, 33554432, 268435456, 536870912, 0x80000000, 0, 0, -570425344, 32505856, 2097152, 301989888, 0, 0, 0, 512, 0, 0, 0, 256, 12288, 0, 167772160, 234881024, 0, 0, 16384, 32768, 50331648, 0, 128, 512, 7168, 16384, 32768, 196608, 16384, 196608, 786432, 1048576, 2097152, 4194304, 8388608, 33554432, 2097152, 4194304, 8388608, 503316480, 1073741824, 0x80000000, 0, 4096, 201326592, 0, 0, 0, 167772160, 234881024, 128, 1024, 4096, 8192, 0, 0, 8192, 268435456, 0, 0, 4194304, 8388608, 234881024, 268435456, 1073741824, 0x80000000, 0, 0, 1048576, 4194304, 33554432, 268435456, 268435456, 268435456, 268435456, 0, 128, 131072, 2097152, 0, 0, 0, 520, 0, 201326592, 0, 0, 0, 1073741824, 0, 0, 0, 134217728, 128, 512, 3072, 16384, 32768, 3072, 16384, 131072, 524288, 1048576, 4194304, 16777216, 33554432, 201326592, 268435456, 1073741824, 0x80000000, 1048576, 4194304, 268435456, 536870912, 131072, 0, 0, 131072, 0, 131072, 2097152, 0, 0, 16384, 2097152, 0, 0, 2097152, 4194304, 134217728, 0x80000000, 0, 0, 0, 512, 3072, 131072, 524288, 1048576, 131072, 524288, 4194304, 0x80000000, 0, 0, 0, 16384, 16384, 18432, 0, 0, 0, 2048, 0, 0, 4096, 1048576, 0, 0, 67108864, 1073741824, 0x80000000, 0, 0, 29696, 0, 0, 32768, 50331648, 268435456, 0x80000000, 0, 0, 1, 1, 18952, 1024, 0, 65, 1024, 0, 4096, 32768, 0, 1024, 18952, 65, 268436480, 2101248, 524288, 1024, 19017, -1744550912, 8388624, 8388624, 8388624, -1739308032, -1739308032, -1739308032, -1739308032, -1736162288, -1736162288, -1736162288, -1736162288, -7868466, -7868466, -7868466, -7868466, -7868450, -7868450, -7868450, 0, 0, 0, 1610612736, 1024, 0, 2101248, 0, 0, 262144, 65536, 262144, 262144, 0, 0, 2048, 131072, 524288, 585, 0, 0, 0, 8192, 0, 0, 0, 4096, 0, 0, 0, 32, 0, 0, 0, 44, 64576, 0, 1024, 278528, -1744830464, 5521408, -1744830464, 0, 0, 2, 12, 64, 0, 1040, 8667136, -1744830464, -67108864, 0, 0, 0, 9728, 0, 2014, 0, 0, 0, 13312, 0, 1, 4, 8, 32, 64, 16384, 67108864, 134217728, 268435456, 0x80000000, 0, 0, 520, 1024, 0, 0, 2, 16, 0, 278528, 0, 0, 2, 67108864, 16384, 0, 5242880, 0x80000000, 0, 0, 327680, 0, 0, 328192, 0, 0, 0, 118, 577408, 22020096, 1040, 0, 0, 0, 16384, 0, 67108864, 1998, 518144, 8388608, 50331648, 201326592, 805306368, 0, 2, 204, 768, 1024, 10240, 1024, 10240, 16384, 32768, 458752, 8388608, 458752, 8388608, 50331648, 67108864, 134217728, 805306368, 134217728, 805306368, 1073741824, 0x80000000, 0, 220, 0, 0, 0, 32768, 33554436, 2, 12, 192, 768, 1024, 1024, 2048, 8192, 16384, 32768, 458752, 32768, 458752, 50331648, 67108864, 134217728, 134217728, 805306368, 1073741824, 0, 0, 208, 0, 0, 0, 34816, 67108864, 268435456, 0, 0, 0, 65536, 458752, 50331648, 67108864, 805306368, 1073741824, 458752, 50331648, 67108864, 536870912, 1073741824, 0, 0, 4, 8, 64, 128, 512, 2048, 196608, 262144, 33554432, 536870912, 0, 0, 0, 262144, 0, 0, 0, 64, 0, 0, 2, 4, 8, 262144, 0, 1048576, 4194304, 0, 0, 4, 8, 128, 512, 1024, 32768, 65536, 131072, 2048, 196608, 262144, 50331648, 536870912, 1073741824, 1, 4, 8, 512, 2048, 131072, 33554432, 536870912, 0, 0, 4, 8, 512, 2048, 8192, 32768, 8388608, 0, 524288, 262144, 0, 0, 4, 64, 128, 8388608, 0, 512, 2048, 131072, 536870912, 0, 0, 4194304, 8192, 2097152, 268435456, 0x80000000, 16, 33554432, -2147418112, 537395200, 537395200, 0, 4196352, 537427968, 4196352, 0, 537395200, 4196352, 4196352, 276901888, 8540160, -1606418432, 32768, 537395200, 4196352, 1082130432, 51380242, 51380242, 51380242, 22022147, 22349827, 22349827, 22349827, 22366219, 22349843, 22349827, 22349827, 22366219, 22349827, 55576594, 55576594, 55576594, 55576594, 1062785014, 324012114, 55576594, 55576594, 55576594, 1062785014, 1062785014, 1062785014, 1062785014, 0, 0, 0, 329728, 557056, 0, 0, 0, 393216, 0, 0, 17825792, 33554432, 0, 0, 0, 462976, 3, 22020096, 0, 0, 4, 134217728, 0, 0, 8, 16, 512, 402653184, 0, 0, 346112, 19, 0, 0, 8, 64, 0, 0, 0, 82, 301989888, 0, 0, 393232, 0, 0, 393240, 0, 0, 524288, 524288, 524288, 524288, 0, 577408, 22020096, 1040187392, 0, 0, 0, 524288, 0, 0, 0, 16, 0, 0, 0, 6, 16384, 32768, 268435456, 0, 268435456, 0, 1048576, 16777216, 33554432, 0, 0, 524288, 1048576, 2097152, 0, 80, 268435456, 0, 0, 524288, 536870912, 0, 112, 128, 256, 3584, 16384, 32768, 134217728, 805306368, 0, 0, 0, 1007232, 256, 1536, 2048, 16384, 32768, 262144, 0, 4, 16, 32, 64, 128, 256, 1536, 0, 16, 33554432, 0, 0, 1048576, 4194304, 0x80000000, 1536, 16384, 32768, 524288, 4194304, 33554432, 134217728, 536870912, 0, 0, 0, 32768, 0, 0, 0, 1048576, 0, 0, 0, 1998, 518144, 1, 0, 0, 65536, 262144, 0, 0, 256, 1536, 32768, 524288, 0, 0, 4194304, 134217728, 536870912, 0, 0, 1114112, 1073741824, 16, 64, 1536, 32768, 524288, 4194304, 67174400, 33554432, 1073741824, 0, 67174400, 0, 0, 16384, 1073741824, 0, 0, 2097152, 0, 1572864, 0, 1073741824, 16384, 0, 4194304, 0, 8, 0, 131072, 0, 131072, 0, 8, 131072, 131072, 134217728, 4096, 0, 8, 0, 8, 131072, 4194304, -2146430976, 131072, 134217736, 16908320, 547389524, 547389524, 555909216, 555909216, 555909216, 555909216, 564297840, 564297844, 564297844, 564297844, 564297844, 564297844, 564297844, 1001055742, 1001056254, 1001055742, 1001055742, 1001056254, 1001056254, 1001056254, 1001056254, 1001056254, 1001055742, 1, 0, 67108864, 1073741824, 0, 84, 2129920, 8388608, 536870912, 0, 96, 2260992, 0, 0, 2097152, 4194304, 8388608, 134217728, 268435456, 1280, 2809856, 58720256, 939524096, 0, 0, 0, 1052672, 0, 254, 1792, 2809856, 58720256, 939524096, 0, 939524096, 0, 0, 12, 16, 32768, 2097152, 8388608, 536870912, 0, 163840, 0, 0, 12, 32, 64, 1024, 2048, 57344, 262144, 50331648, 268435456, 1073741824, 0x80000000, 0, 52, 0, 0, 20, 64, 62, 64, 128, 1280, 8192, 16384, 131072, 524288, 58720256, 24576, 163840, 524288, 2097152, 58720256, 402653184, 58720256, 402653184, 536870912, 0, 0, 64, 128, 1792, 24576, 163840, 4, 16, 8388608, 0, 0, 2113536, 0, 0, 3735552, 0, 0, 8388608, 8388608, 4096, 4096, 4096, 4096, 0, 48, 25165824, 0, 0, 0, 1572864, 0, 6, 56, 128, 1792, 8192, 524288, 58720256, 402653184, 0, 0, 32, 128, 256, 262144, 262144, 1048576, 1073741824, 0, 0, 0, 0x80000000, 0, 0, 0, -2147483646, 4, 24, 32, 128, 1792, 1280, 8192, 524288, 16777216, 33554432, 0, 262144, 33554432, 134217728, 0, 8, 16, 1024, 16777216, 4194432, 3145728, 541065216, -2143289344, 4194304, 4194304, 4194304, 4194304, 16, 402653184, 0, 0, 32, 128, 256, 2048, 262144, 524288, 4, 16384, 65536, 67108864, 0, 0, 0, 131072, 0, 0, 0, 1024, 0, 0, 32768, 8192, 0, 2048, 0, 32, 8192, 3670016, 2048, 8192, 196608, 1048576, 0, 0, 34816, 9216, 4096, 4096, 29696, 29712, 29712, 29840, 29712, 29712, 29840, 536900624, 4224144, 144384, -754647956, -754647956, -754647956, -754647956, 144384, 144384, 144384, 144384, -754647940, -754647940, -754647940, -754647940, -754516884, -754647956, -754516884, -754516884, -754516884, 0, 0, 8388608, 1073741824, 0, 0, 67108864, 12, 16384, 0, 65536, 29824, 0, 0, 0, 3670016, 44, 64576, 319029248, -1073741824, 0, 0, 60, 0, 0, 0, 4194304, 0, 0, 0, 2014, 0, 319160320, 0, 0, 0, 5242880, 0, 4, 8, 256, 512, 2048, 8192, 16384, 458752, 50331648, 0, 524288, 3145728, 0, 0, 16384, 8, 0, 28672, 0, 0, 32, 524288, 0, 16, 0, 128, 0, 12288, 131072, 0, 0, 128, 512, 3072, 4096, 16384, 32768, 131072, 524288, 1048576, 2097152, 4194304, 262144, 318767104, -1073741824, 0, 0, 0, 28, 0, 0, 60, 64576, 28, 32, 64, 1024, 2048, 61440, 262144, 318767104, 24576, 0, 0, 0, 8388608, 0, 0, 0, 1040000, 67108864, 16384, 0, 65536, 262144, 1048576, 0, 8, 64, 2048, 4096, 8192, 65536, 131072, 1048576, 0, 0, 128, 536870912, 4194304, 131072, 0, 0, 64, 2048, 16384, 32768, 524288, 1048576, 4194304, 134217728, 0x80000000, 32768, 262144, 50331648, 268435456, 0, 32768, 8388608, 0, 0, 16777216, 16777216, 0, 0, 0, 4, 8, 16, 2, 67108864, 0, 65536, 201326592, 0x80000000, 0, 0, 1998, 59238400, -67108864, 0, 524288, 1048576, 0, 0, 64, 256, 32768, 50331648, 268435456, 0, 0, 1, 256, 0, 0, 0, 16777216, 0, 0, 256, 0, 8192, 0, 256, 262144, 2113536, 2097152, 135790592, 0, 256, 8192, 2097152, 0, 0x80000000, 0, 32768, 2097152, 0, 0x80000000, 5242880, 0, 0, 0, 128, 0, 0, 0, 208, 131073, 0, 0, 131073, 0, 135790592, 131073, 4, 0, 131073, 393233, 1610612736, 1610612736, 1610612736, 393241, 393241, 393241, 393241, 805707793, 805707793, 1879449617, 805708049, 1879449617, 1879449617, 1879449617, 1879449617, -483948553, -475559945, -475559945, -483948553, -483948553, -475559945, -483948553, -475559945, -483948553, -475559945, -475559945, -475559945, -475559945, -475559945, -215504905, -475559945, -207116297, -207116297, 0, 0, 72, 0, 4096, 4194304, 32768, 0, 0, 256, 401424, 805306368, 0, 0, 112, 25165824, 0, 1879048192, 0, 0, 116, 0, 0, 401680, 0, 0, 0, 32505856, 7, 19367920, -503316480, 0, 0, 0, 33554432, 0, 0, 33554432, 268435456, 0, 0, 0, 19376112, -234881024, 0, 0, 50331648, 268435456, 0, 27764720, -234881024, 0, 0, 512, 2048, 0, 0, 1, 2, 4, 32, 524288, 1048576, 524288, 1048576, 33554432, 67108864, 134217728, 805306368, 0, 24, 0, 0, 512, 3072, 16384, 0, 7, 16, 480, 1536, 32768, 1536, 32768, 65536, 2490368, 32768, 65536, 10878976, 16777216, 33554432, 0, 9728, 268435456, 0, 0, 67108866, 12, 64, 128, 512, 1024, 2048, 0, 16, 393216, 0, 0, 393216, 2097152, 16777216, 33554432, 536870912, -1073741824, 0, 0, 10485760, 16777216, 33554432, 1073741824, 0x80000000, 0, 16, 224, 256, 1536, 32768, 65536, 393216, 10485760, 16777216, 131072, 262144, 2097152, 16777216, 32768, 131072, 262144, 2097152, 8388608, 16777216, 0, 0, 4, 16, 224, 512, 32768, 131072, 2097152, 16777216, 192, 32768, 0, 0, 512, 4096, 4, 16, 192, 32768, 8388608, 0, 16, 64, 128, 8388608, 0, 0, 1024, 0, 4, 0, 0, 0, 3145728, 0, 4, 128, 0, 0, 268435456, 2, 0, 0, 65536, 0, 0, 0, 65, 0, 64, 128, 8388608, 16777216, 1073741824, 0, 0, 512, 2048, 32768, 262144, 524288, 8388608, 0, 0, 512, 131072, 524288, 8388608, 33554432, 0x80000000, 33554432, 33554432, 0, 2, 4, 112, 128, -2113929216, 100663296, 100663296, 2, 4, 524288, 134217728, 0, 0, 8, 512, 2048, 196608, 33554436, 0, 0, 33554436, 4224, 4224, 0, 65536, 100663296, 4224, 65536, 65536, 262144, 33554432, 0, 2, 4, 16, 64, 128, 256, 0, 4224, 65536, 16777216, 262400, 65536, 4224, -1072627712, 805306384, -1342177264, -1342177264, -1070006272, -1069989376, -1069989376, -1069989376, -258932720, -258932720, -258932720, -258932720, -1069989360, -1065795072, -1061600768, -1069989376, -225378288, -258932720, -258932720, -258932720, -225378288, 1260767, 1260767, 34815199, 1260767, 1260767, 1260767, 1260767, 34815199, 1260767, 34815199, 34815199, 34815199, 1260767, 1260767, 169032927, 1242774751, -1978450721, 169032927, -1978450721, -1978450721, -1978450721, 169032927, 169032927, 169032927, 169032927, -225231649, -1173144353, -225231649, -225231649, -91013921, 0, 0, 0, 67108864, 0, 3751936, 0, 0, 528, 7946240, 12140544, 0, 0, 0, 134217728, 0, 0, 0, 7, 27756528, -503316480, 0, 0, 9502720, 1610612736, 0, 0, 486539264, 0, 0, 2048, 32768, 0, 0, 64, 128, 0, 0, 536870912, 0, 0, 208, 15360, 1245184, 0, 0, 0, 268435456, 0, 0, 0, 15, 9633792, 0, 0, 0, 32, 512, 2048, 262144, 0, 3670016, 0, 0, 1040, 1040, 1, 2, 12, 80, 128, 7168, 8192, 196608, 16, 64, 128, 3072, 4096, 8192, 65536, 131072, 0, 0, 32, 262144, 524288, 33554432, 134217728, 0, 0, 0, 2, 8, 64, 128, 1024, 4096, 0, 0, 262144, 0, 4096, 4194304, 1, 1, 1, 0, 0, 2, 8, 16, 64
|
|
];
|
|
|
|
JSONiqParser.TOKEN =
|
|
[
|
|
"(0)",
|
|
"PragmaContents",
|
|
"DirCommentContents",
|
|
"DirPIContents",
|
|
"CDataSection",
|
|
"Wildcard",
|
|
"EQName",
|
|
"URILiteral",
|
|
"IntegerLiteral",
|
|
"DecimalLiteral",
|
|
"DoubleLiteral",
|
|
"StringLiteral",
|
|
"PredefinedEntityRef",
|
|
"'\"\"'",
|
|
"EscapeApos",
|
|
"ElementContentChar",
|
|
"QuotAttrContentChar",
|
|
"AposAttrContentChar",
|
|
"PITarget",
|
|
"NCName",
|
|
"QName",
|
|
"S",
|
|
"S",
|
|
"CharRef",
|
|
"CommentContents",
|
|
"EOF",
|
|
"'!'",
|
|
"'!='",
|
|
"'\"'",
|
|
"'#'",
|
|
"'#)'",
|
|
"'$'",
|
|
"'$$'",
|
|
"'%'",
|
|
"''''",
|
|
"'('",
|
|
"'(#'",
|
|
"'(:'",
|
|
"')'",
|
|
"'*'",
|
|
"'*'",
|
|
"'+'",
|
|
"','",
|
|
"'-'",
|
|
"'-->'",
|
|
"'.'",
|
|
"'..'",
|
|
"'/'",
|
|
"'//'",
|
|
"'/>'",
|
|
"':'",
|
|
"':)'",
|
|
"'::'",
|
|
"':='",
|
|
"';'",
|
|
"'<'",
|
|
"'<!--'",
|
|
"'</'",
|
|
"'<<'",
|
|
"'<='",
|
|
"'<?'",
|
|
"'='",
|
|
"'>'",
|
|
"'>='",
|
|
"'>>'",
|
|
"'?'",
|
|
"'?>'",
|
|
"'@'",
|
|
"'NaN'",
|
|
"'['",
|
|
"']'",
|
|
"'after'",
|
|
"'all'",
|
|
"'allowing'",
|
|
"'ancestor'",
|
|
"'ancestor-or-self'",
|
|
"'and'",
|
|
"'any'",
|
|
"'append'",
|
|
"'array'",
|
|
"'as'",
|
|
"'ascending'",
|
|
"'at'",
|
|
"'attribute'",
|
|
"'base-uri'",
|
|
"'before'",
|
|
"'boundary-space'",
|
|
"'break'",
|
|
"'by'",
|
|
"'case'",
|
|
"'cast'",
|
|
"'castable'",
|
|
"'catch'",
|
|
"'check'",
|
|
"'child'",
|
|
"'collation'",
|
|
"'collection'",
|
|
"'comment'",
|
|
"'constraint'",
|
|
"'construction'",
|
|
"'contains'",
|
|
"'content'",
|
|
"'context'",
|
|
"'continue'",
|
|
"'copy'",
|
|
"'copy-namespaces'",
|
|
"'count'",
|
|
"'decimal-format'",
|
|
"'decimal-separator'",
|
|
"'declare'",
|
|
"'default'",
|
|
"'delete'",
|
|
"'descendant'",
|
|
"'descendant-or-self'",
|
|
"'descending'",
|
|
"'diacritics'",
|
|
"'different'",
|
|
"'digit'",
|
|
"'distance'",
|
|
"'div'",
|
|
"'document'",
|
|
"'document-node'",
|
|
"'element'",
|
|
"'else'",
|
|
"'empty'",
|
|
"'empty-sequence'",
|
|
"'encoding'",
|
|
"'end'",
|
|
"'entire'",
|
|
"'eq'",
|
|
"'every'",
|
|
"'exactly'",
|
|
"'except'",
|
|
"'exit'",
|
|
"'external'",
|
|
"'false'",
|
|
"'first'",
|
|
"'following'",
|
|
"'following-sibling'",
|
|
"'for'",
|
|
"'foreach'",
|
|
"'foreign'",
|
|
"'from'",
|
|
"'ft-option'",
|
|
"'ftand'",
|
|
"'ftnot'",
|
|
"'ftor'",
|
|
"'function'",
|
|
"'ge'",
|
|
"'greatest'",
|
|
"'group'",
|
|
"'grouping-separator'",
|
|
"'gt'",
|
|
"'idiv'",
|
|
"'if'",
|
|
"'import'",
|
|
"'in'",
|
|
"'index'",
|
|
"'infinity'",
|
|
"'inherit'",
|
|
"'insensitive'",
|
|
"'insert'",
|
|
"'instance'",
|
|
"'integrity'",
|
|
"'intersect'",
|
|
"'into'",
|
|
"'is'",
|
|
"'item'",
|
|
"'json'",
|
|
"'json-item'",
|
|
"'jsoniq'",
|
|
"'key'",
|
|
"'language'",
|
|
"'last'",
|
|
"'lax'",
|
|
"'le'",
|
|
"'least'",
|
|
"'let'",
|
|
"'levels'",
|
|
"'loop'",
|
|
"'lowercase'",
|
|
"'lt'",
|
|
"'minus-sign'",
|
|
"'mod'",
|
|
"'modify'",
|
|
"'module'",
|
|
"'most'",
|
|
"'namespace'",
|
|
"'namespace-node'",
|
|
"'ne'",
|
|
"'next'",
|
|
"'no'",
|
|
"'no-inherit'",
|
|
"'no-preserve'",
|
|
"'node'",
|
|
"'nodes'",
|
|
"'not'",
|
|
"'null'",
|
|
"'object'",
|
|
"'occurs'",
|
|
"'of'",
|
|
"'on'",
|
|
"'only'",
|
|
"'option'",
|
|
"'or'",
|
|
"'order'",
|
|
"'ordered'",
|
|
"'ordering'",
|
|
"'paragraph'",
|
|
"'paragraphs'",
|
|
"'parent'",
|
|
"'pattern-separator'",
|
|
"'per-mille'",
|
|
"'percent'",
|
|
"'phrase'",
|
|
"'position'",
|
|
"'preceding'",
|
|
"'preceding-sibling'",
|
|
"'preserve'",
|
|
"'previous'",
|
|
"'processing-instruction'",
|
|
"'relationship'",
|
|
"'rename'",
|
|
"'replace'",
|
|
"'return'",
|
|
"'returning'",
|
|
"'revalidation'",
|
|
"'same'",
|
|
"'satisfies'",
|
|
"'schema'",
|
|
"'schema-attribute'",
|
|
"'schema-element'",
|
|
"'score'",
|
|
"'select'",
|
|
"'self'",
|
|
"'sensitive'",
|
|
"'sentence'",
|
|
"'sentences'",
|
|
"'skip'",
|
|
"'sliding'",
|
|
"'some'",
|
|
"'stable'",
|
|
"'start'",
|
|
"'stemming'",
|
|
"'stop'",
|
|
"'strict'",
|
|
"'strip'",
|
|
"'structured-item'",
|
|
"'switch'",
|
|
"'text'",
|
|
"'then'",
|
|
"'thesaurus'",
|
|
"'times'",
|
|
"'to'",
|
|
"'treat'",
|
|
"'true'",
|
|
"'try'",
|
|
"'tumbling'",
|
|
"'type'",
|
|
"'typeswitch'",
|
|
"'union'",
|
|
"'unique'",
|
|
"'unordered'",
|
|
"'updating'",
|
|
"'uppercase'",
|
|
"'using'",
|
|
"'validate'",
|
|
"'value'",
|
|
"'variable'",
|
|
"'version'",
|
|
"'weight'",
|
|
"'when'",
|
|
"'where'",
|
|
"'while'",
|
|
"'wildcards'",
|
|
"'window'",
|
|
"'with'",
|
|
"'without'",
|
|
"'word'",
|
|
"'words'",
|
|
"'zero-digit'",
|
|
"'{'",
|
|
"'{{'",
|
|
"'{|'",
|
|
"'|'",
|
|
"'||'",
|
|
"'|}'",
|
|
"'}'",
|
|
"'}}'"
|
|
];
|
|
|
|
},{}],"/node_modules/xqlint/lib/parsers/XQueryParser.js":[function(_dereq_,module,exports){
|
|
var XQueryParser = exports.XQueryParser = function XQueryParser(string, parsingEventHandler)
|
|
{
|
|
init(string, parsingEventHandler);
|
|
var self = this;
|
|
|
|
this.ParseException = function(b, e, s, o, x)
|
|
{
|
|
var
|
|
begin = b,
|
|
end = e,
|
|
state = s,
|
|
offending = o,
|
|
expected = x;
|
|
|
|
this.getBegin = function() {return begin;};
|
|
this.getEnd = function() {return end;};
|
|
this.getState = function() {return state;};
|
|
this.getExpected = function() {return expected;};
|
|
this.getOffending = function() {return offending;};
|
|
|
|
this.getMessage = function()
|
|
{
|
|
return offending < 0 ? "lexical analysis failed" : "syntax error";
|
|
};
|
|
};
|
|
|
|
function init(string, parsingEventHandler)
|
|
{
|
|
eventHandler = parsingEventHandler;
|
|
input = string;
|
|
size = string.length;
|
|
reset(0, 0, 0);
|
|
}
|
|
|
|
this.getInput = function()
|
|
{
|
|
return input;
|
|
};
|
|
|
|
function reset(l, b, e)
|
|
{
|
|
b0 = b; e0 = b;
|
|
l1 = l; b1 = b; e1 = e;
|
|
l2 = 0;
|
|
end = e;
|
|
ex = -1;
|
|
memo = {};
|
|
eventHandler.reset(input);
|
|
}
|
|
|
|
this.getOffendingToken = function(e)
|
|
{
|
|
var o = e.getOffending();
|
|
return o >= 0 ? XQueryParser.TOKEN[o] : null;
|
|
};
|
|
|
|
this.getExpectedTokenSet = function(e)
|
|
{
|
|
var expected;
|
|
if (e.getExpected() < 0)
|
|
{
|
|
expected = XQueryParser.getTokenSet(- e.getState());
|
|
}
|
|
else
|
|
{
|
|
expected = [XQueryParser.TOKEN[e.getExpected()]];
|
|
}
|
|
return expected;
|
|
};
|
|
|
|
this.getErrorMessage = function(e)
|
|
{
|
|
var tokenSet = this.getExpectedTokenSet(e);
|
|
var found = this.getOffendingToken(e);
|
|
var prefix = input.substring(0, e.getBegin());
|
|
var lines = prefix.split("\n");
|
|
var line = lines.length;
|
|
var column = lines[line - 1].length + 1;
|
|
var size = e.getEnd() - e.getBegin();
|
|
return e.getMessage()
|
|
+ (found == null ? "" : ", found " + found)
|
|
+ "\nwhile expecting "
|
|
+ (tokenSet.length == 1 ? tokenSet[0] : ("[" + tokenSet.join(", ") + "]"))
|
|
+ "\n"
|
|
+ (size == 0 || found != null ? "" : "after successfully scanning " + size + " characters beginning ")
|
|
+ "at line " + line + ", column " + column + ":\n..."
|
|
+ input.substring(e.getBegin(), Math.min(input.length, e.getBegin() + 64))
|
|
+ "...";
|
|
};
|
|
|
|
this.parse_XQuery = function()
|
|
{
|
|
eventHandler.startNonterminal("XQuery", e0);
|
|
lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Module();
|
|
shift(25); // EOF
|
|
eventHandler.endNonterminal("XQuery", e0);
|
|
};
|
|
|
|
function parse_Module()
|
|
{
|
|
eventHandler.startNonterminal("Module", e0);
|
|
switch (l1)
|
|
{
|
|
case 274: // 'xquery'
|
|
lookahead2W(198); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 64274 // 'xquery' 'encoding'
|
|
|| lk == 134930) // 'xquery' 'version'
|
|
{
|
|
parse_VersionDecl();
|
|
}
|
|
lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 182: // 'module'
|
|
lookahead2W(193); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 94390: // 'module' 'namespace'
|
|
whitespace();
|
|
parse_LibraryModule();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_MainModule();
|
|
}
|
|
eventHandler.endNonterminal("Module", e0);
|
|
}
|
|
|
|
function parse_VersionDecl()
|
|
{
|
|
eventHandler.startNonterminal("VersionDecl", e0);
|
|
shift(274); // 'xquery'
|
|
lookahead1W(116); // S^WS | '(:' | 'encoding' | 'version'
|
|
switch (l1)
|
|
{
|
|
case 125: // 'encoding'
|
|
shift(125); // 'encoding'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
break;
|
|
default:
|
|
shift(263); // 'version'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
lookahead1W(109); // S^WS | '(:' | ';' | 'encoding'
|
|
if (l1 == 125) // 'encoding'
|
|
{
|
|
shift(125); // 'encoding'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
eventHandler.endNonterminal("VersionDecl", e0);
|
|
}
|
|
|
|
function parse_LibraryModule()
|
|
{
|
|
eventHandler.startNonterminal("LibraryModule", e0);
|
|
parse_ModuleDecl();
|
|
lookahead1W(138); // S^WS | EOF | '(:' | 'declare' | 'import'
|
|
whitespace();
|
|
parse_Prolog();
|
|
eventHandler.endNonterminal("LibraryModule", e0);
|
|
}
|
|
|
|
function parse_ModuleDecl()
|
|
{
|
|
eventHandler.startNonterminal("ModuleDecl", e0);
|
|
shift(182); // 'module'
|
|
lookahead1W(61); // S^WS | '(:' | 'namespace'
|
|
shift(184); // 'namespace'
|
|
lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(29); // S^WS | '(:' | '='
|
|
shift(60); // '='
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
eventHandler.endNonterminal("ModuleDecl", e0);
|
|
}
|
|
|
|
function parse_Prolog()
|
|
{
|
|
eventHandler.startNonterminal("Prolog", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 108: // 'declare'
|
|
lookahead2W(213); // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 153: // 'import'
|
|
lookahead2W(201); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 42604 // 'declare' 'base-uri'
|
|
&& lk != 43628 // 'declare' 'boundary-space'
|
|
&& lk != 50284 // 'declare' 'construction'
|
|
&& lk != 53356 // 'declare' 'copy-namespaces'
|
|
&& lk != 54380 // 'declare' 'decimal-format'
|
|
&& lk != 55916 // 'declare' 'default'
|
|
&& lk != 72300 // 'declare' 'ft-option'
|
|
&& lk != 93337 // 'import' 'module'
|
|
&& lk != 94316 // 'declare' 'namespace'
|
|
&& lk != 104044 // 'declare' 'ordering'
|
|
&& lk != 113772 // 'declare' 'revalidation'
|
|
&& lk != 115353) // 'import' 'schema'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 108: // 'declare'
|
|
lookahead2W(178); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 55916) // 'declare' 'default'
|
|
{
|
|
lk = memoized(0, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_DefaultNamespaceDecl();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(0, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
whitespace();
|
|
parse_DefaultNamespaceDecl();
|
|
break;
|
|
case 94316: // 'declare' 'namespace'
|
|
whitespace();
|
|
parse_NamespaceDecl();
|
|
break;
|
|
case 153: // 'import'
|
|
whitespace();
|
|
parse_Import();
|
|
break;
|
|
case 72300: // 'declare' 'ft-option'
|
|
whitespace();
|
|
parse_FTOptionDecl();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_Setter();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(274); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 108: // 'declare'
|
|
lookahead2W(210); // S^WS | EOF | '!' | '!=' | '#' | '%' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 16492 // 'declare' '%'
|
|
&& lk != 48748 // 'declare' 'collection'
|
|
&& lk != 51820 // 'declare' 'context'
|
|
&& lk != 74348 // 'declare' 'function'
|
|
&& lk != 79468 // 'declare' 'index'
|
|
&& lk != 82540 // 'declare' 'integrity'
|
|
&& lk != 101996 // 'declare' 'option'
|
|
&& lk != 131692 // 'declare' 'updating'
|
|
&& lk != 134252) // 'declare' 'variable'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 108: // 'declare'
|
|
lookahead2W(175); // S^WS | '%' | '(:' | 'collection' | 'context' | 'function' | 'index' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 51820: // 'declare' 'context'
|
|
whitespace();
|
|
parse_ContextItemDecl();
|
|
break;
|
|
case 101996: // 'declare' 'option'
|
|
whitespace();
|
|
parse_OptionDecl();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_AnnotatedDecl();
|
|
}
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
whitespace();
|
|
parse_Separator();
|
|
}
|
|
eventHandler.endNonterminal("Prolog", e0);
|
|
}
|
|
|
|
function parse_Separator()
|
|
{
|
|
eventHandler.startNonterminal("Separator", e0);
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("Separator", e0);
|
|
}
|
|
|
|
function parse_Setter()
|
|
{
|
|
eventHandler.startNonterminal("Setter", e0);
|
|
switch (l1)
|
|
{
|
|
case 108: // 'declare'
|
|
lookahead2W(172); // S^WS | '(:' | 'base-uri' | 'boundary-space' | 'construction' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 55916) // 'declare' 'default'
|
|
{
|
|
lk = memoized(1, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_DefaultCollationDecl();
|
|
lk = -2;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_EmptyOrderDecl();
|
|
lk = -6;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
lk = -9;
|
|
}
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(1, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 43628: // 'declare' 'boundary-space'
|
|
parse_BoundarySpaceDecl();
|
|
break;
|
|
case -2:
|
|
parse_DefaultCollationDecl();
|
|
break;
|
|
case 42604: // 'declare' 'base-uri'
|
|
parse_BaseURIDecl();
|
|
break;
|
|
case 50284: // 'declare' 'construction'
|
|
parse_ConstructionDecl();
|
|
break;
|
|
case 104044: // 'declare' 'ordering'
|
|
parse_OrderingModeDecl();
|
|
break;
|
|
case -6:
|
|
parse_EmptyOrderDecl();
|
|
break;
|
|
case 113772: // 'declare' 'revalidation'
|
|
parse_RevalidationDecl();
|
|
break;
|
|
case 53356: // 'declare' 'copy-namespaces'
|
|
parse_CopyNamespacesDecl();
|
|
break;
|
|
default:
|
|
parse_DecimalFormatDecl();
|
|
}
|
|
eventHandler.endNonterminal("Setter", e0);
|
|
}
|
|
|
|
function parse_BoundarySpaceDecl()
|
|
{
|
|
eventHandler.startNonterminal("BoundarySpaceDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(33); // S^WS | '(:' | 'boundary-space'
|
|
shift(85); // 'boundary-space'
|
|
lookahead1W(133); // S^WS | '(:' | 'preserve' | 'strip'
|
|
switch (l1)
|
|
{
|
|
case 214: // 'preserve'
|
|
shift(214); // 'preserve'
|
|
break;
|
|
default:
|
|
shift(241); // 'strip'
|
|
}
|
|
eventHandler.endNonterminal("BoundarySpaceDecl", e0);
|
|
}
|
|
|
|
function parse_DefaultCollationDecl()
|
|
{
|
|
eventHandler.startNonterminal("DefaultCollationDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(46); // S^WS | '(:' | 'default'
|
|
shift(109); // 'default'
|
|
lookahead1W(38); // S^WS | '(:' | 'collation'
|
|
shift(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("DefaultCollationDecl", e0);
|
|
}
|
|
|
|
function try_DefaultCollationDecl()
|
|
{
|
|
shiftT(108); // 'declare'
|
|
lookahead1W(46); // S^WS | '(:' | 'default'
|
|
shiftT(109); // 'default'
|
|
lookahead1W(38); // S^WS | '(:' | 'collation'
|
|
shiftT(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
|
|
function parse_BaseURIDecl()
|
|
{
|
|
eventHandler.startNonterminal("BaseURIDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(32); // S^WS | '(:' | 'base-uri'
|
|
shift(83); // 'base-uri'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("BaseURIDecl", e0);
|
|
}
|
|
|
|
function parse_ConstructionDecl()
|
|
{
|
|
eventHandler.startNonterminal("ConstructionDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(41); // S^WS | '(:' | 'construction'
|
|
shift(98); // 'construction'
|
|
lookahead1W(133); // S^WS | '(:' | 'preserve' | 'strip'
|
|
switch (l1)
|
|
{
|
|
case 241: // 'strip'
|
|
shift(241); // 'strip'
|
|
break;
|
|
default:
|
|
shift(214); // 'preserve'
|
|
}
|
|
eventHandler.endNonterminal("ConstructionDecl", e0);
|
|
}
|
|
|
|
function parse_OrderingModeDecl()
|
|
{
|
|
eventHandler.startNonterminal("OrderingModeDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(68); // S^WS | '(:' | 'ordering'
|
|
shift(203); // 'ordering'
|
|
lookahead1W(131); // S^WS | '(:' | 'ordered' | 'unordered'
|
|
switch (l1)
|
|
{
|
|
case 202: // 'ordered'
|
|
shift(202); // 'ordered'
|
|
break;
|
|
default:
|
|
shift(256); // 'unordered'
|
|
}
|
|
eventHandler.endNonterminal("OrderingModeDecl", e0);
|
|
}
|
|
|
|
function parse_EmptyOrderDecl()
|
|
{
|
|
eventHandler.startNonterminal("EmptyOrderDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(46); // S^WS | '(:' | 'default'
|
|
shift(109); // 'default'
|
|
lookahead1W(67); // S^WS | '(:' | 'order'
|
|
shift(201); // 'order'
|
|
lookahead1W(49); // S^WS | '(:' | 'empty'
|
|
shift(123); // 'empty'
|
|
lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 147: // 'greatest'
|
|
shift(147); // 'greatest'
|
|
break;
|
|
default:
|
|
shift(173); // 'least'
|
|
}
|
|
eventHandler.endNonterminal("EmptyOrderDecl", e0);
|
|
}
|
|
|
|
function try_EmptyOrderDecl()
|
|
{
|
|
shiftT(108); // 'declare'
|
|
lookahead1W(46); // S^WS | '(:' | 'default'
|
|
shiftT(109); // 'default'
|
|
lookahead1W(67); // S^WS | '(:' | 'order'
|
|
shiftT(201); // 'order'
|
|
lookahead1W(49); // S^WS | '(:' | 'empty'
|
|
shiftT(123); // 'empty'
|
|
lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 147: // 'greatest'
|
|
shiftT(147); // 'greatest'
|
|
break;
|
|
default:
|
|
shiftT(173); // 'least'
|
|
}
|
|
}
|
|
|
|
function parse_CopyNamespacesDecl()
|
|
{
|
|
eventHandler.startNonterminal("CopyNamespacesDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(44); // S^WS | '(:' | 'copy-namespaces'
|
|
shift(104); // 'copy-namespaces'
|
|
lookahead1W(128); // S^WS | '(:' | 'no-preserve' | 'preserve'
|
|
whitespace();
|
|
parse_PreserveMode();
|
|
lookahead1W(25); // S^WS | '(:' | ','
|
|
shift(41); // ','
|
|
lookahead1W(123); // S^WS | '(:' | 'inherit' | 'no-inherit'
|
|
whitespace();
|
|
parse_InheritMode();
|
|
eventHandler.endNonterminal("CopyNamespacesDecl", e0);
|
|
}
|
|
|
|
function parse_PreserveMode()
|
|
{
|
|
eventHandler.startNonterminal("PreserveMode", e0);
|
|
switch (l1)
|
|
{
|
|
case 214: // 'preserve'
|
|
shift(214); // 'preserve'
|
|
break;
|
|
default:
|
|
shift(190); // 'no-preserve'
|
|
}
|
|
eventHandler.endNonterminal("PreserveMode", e0);
|
|
}
|
|
|
|
function parse_InheritMode()
|
|
{
|
|
eventHandler.startNonterminal("InheritMode", e0);
|
|
switch (l1)
|
|
{
|
|
case 157: // 'inherit'
|
|
shift(157); // 'inherit'
|
|
break;
|
|
default:
|
|
shift(189); // 'no-inherit'
|
|
}
|
|
eventHandler.endNonterminal("InheritMode", e0);
|
|
}
|
|
|
|
function parse_DecimalFormatDecl()
|
|
{
|
|
eventHandler.startNonterminal("DecimalFormatDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(114); // S^WS | '(:' | 'decimal-format' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 106: // 'decimal-format'
|
|
shift(106); // 'decimal-format'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
break;
|
|
default:
|
|
shift(109); // 'default'
|
|
lookahead1W(45); // S^WS | '(:' | 'decimal-format'
|
|
shift(106); // 'decimal-format'
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(180); // S^WS | '(:' | ';' | 'NaN' | 'decimal-separator' | 'digit' |
|
|
if (l1 == 53) // ';'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_DFPropertyName();
|
|
lookahead1W(29); // S^WS | '(:' | '='
|
|
shift(60); // '='
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
eventHandler.endNonterminal("DecimalFormatDecl", e0);
|
|
}
|
|
|
|
function parse_DFPropertyName()
|
|
{
|
|
eventHandler.startNonterminal("DFPropertyName", e0);
|
|
switch (l1)
|
|
{
|
|
case 107: // 'decimal-separator'
|
|
shift(107); // 'decimal-separator'
|
|
break;
|
|
case 149: // 'grouping-separator'
|
|
shift(149); // 'grouping-separator'
|
|
break;
|
|
case 156: // 'infinity'
|
|
shift(156); // 'infinity'
|
|
break;
|
|
case 179: // 'minus-sign'
|
|
shift(179); // 'minus-sign'
|
|
break;
|
|
case 67: // 'NaN'
|
|
shift(67); // 'NaN'
|
|
break;
|
|
case 209: // 'percent'
|
|
shift(209); // 'percent'
|
|
break;
|
|
case 208: // 'per-mille'
|
|
shift(208); // 'per-mille'
|
|
break;
|
|
case 275: // 'zero-digit'
|
|
shift(275); // 'zero-digit'
|
|
break;
|
|
case 116: // 'digit'
|
|
shift(116); // 'digit'
|
|
break;
|
|
default:
|
|
shift(207); // 'pattern-separator'
|
|
}
|
|
eventHandler.endNonterminal("DFPropertyName", e0);
|
|
}
|
|
|
|
function parse_Import()
|
|
{
|
|
eventHandler.startNonterminal("Import", e0);
|
|
switch (l1)
|
|
{
|
|
case 153: // 'import'
|
|
lookahead2W(126); // S^WS | '(:' | 'module' | 'schema'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 115353: // 'import' 'schema'
|
|
parse_SchemaImport();
|
|
break;
|
|
default:
|
|
parse_ModuleImport();
|
|
}
|
|
eventHandler.endNonterminal("Import", e0);
|
|
}
|
|
|
|
function parse_SchemaImport()
|
|
{
|
|
eventHandler.startNonterminal("SchemaImport", e0);
|
|
shift(153); // 'import'
|
|
lookahead1W(73); // S^WS | '(:' | 'schema'
|
|
shift(225); // 'schema'
|
|
lookahead1W(137); // URILiteral | S^WS | '(:' | 'default' | 'namespace'
|
|
if (l1 != 7) // URILiteral
|
|
{
|
|
whitespace();
|
|
parse_SchemaPrefix();
|
|
}
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(108); // S^WS | '(:' | ';' | 'at'
|
|
if (l1 == 81) // 'at'
|
|
{
|
|
shift(81); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(103); // S^WS | '(:' | ',' | ';'
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("SchemaImport", e0);
|
|
}
|
|
|
|
function parse_SchemaPrefix()
|
|
{
|
|
eventHandler.startNonterminal("SchemaPrefix", e0);
|
|
switch (l1)
|
|
{
|
|
case 184: // 'namespace'
|
|
shift(184); // 'namespace'
|
|
lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(29); // S^WS | '(:' | '='
|
|
shift(60); // '='
|
|
break;
|
|
default:
|
|
shift(109); // 'default'
|
|
lookahead1W(47); // S^WS | '(:' | 'element'
|
|
shift(121); // 'element'
|
|
lookahead1W(61); // S^WS | '(:' | 'namespace'
|
|
shift(184); // 'namespace'
|
|
}
|
|
eventHandler.endNonterminal("SchemaPrefix", e0);
|
|
}
|
|
|
|
function parse_ModuleImport()
|
|
{
|
|
eventHandler.startNonterminal("ModuleImport", e0);
|
|
shift(153); // 'import'
|
|
lookahead1W(60); // S^WS | '(:' | 'module'
|
|
shift(182); // 'module'
|
|
lookahead1W(90); // URILiteral | S^WS | '(:' | 'namespace'
|
|
if (l1 == 184) // 'namespace'
|
|
{
|
|
shift(184); // 'namespace'
|
|
lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(29); // S^WS | '(:' | '='
|
|
shift(60); // '='
|
|
}
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(108); // S^WS | '(:' | ';' | 'at'
|
|
if (l1 == 81) // 'at'
|
|
{
|
|
shift(81); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(103); // S^WS | '(:' | ',' | ';'
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("ModuleImport", e0);
|
|
}
|
|
|
|
function parse_NamespaceDecl()
|
|
{
|
|
eventHandler.startNonterminal("NamespaceDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(61); // S^WS | '(:' | 'namespace'
|
|
shift(184); // 'namespace'
|
|
lookahead1W(248); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NCName();
|
|
lookahead1W(29); // S^WS | '(:' | '='
|
|
shift(60); // '='
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("NamespaceDecl", e0);
|
|
}
|
|
|
|
function parse_DefaultNamespaceDecl()
|
|
{
|
|
eventHandler.startNonterminal("DefaultNamespaceDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(46); // S^WS | '(:' | 'default'
|
|
shift(109); // 'default'
|
|
lookahead1W(115); // S^WS | '(:' | 'element' | 'function'
|
|
switch (l1)
|
|
{
|
|
case 121: // 'element'
|
|
shift(121); // 'element'
|
|
break;
|
|
default:
|
|
shift(145); // 'function'
|
|
}
|
|
lookahead1W(61); // S^WS | '(:' | 'namespace'
|
|
shift(184); // 'namespace'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("DefaultNamespaceDecl", e0);
|
|
}
|
|
|
|
function try_DefaultNamespaceDecl()
|
|
{
|
|
shiftT(108); // 'declare'
|
|
lookahead1W(46); // S^WS | '(:' | 'default'
|
|
shiftT(109); // 'default'
|
|
lookahead1W(115); // S^WS | '(:' | 'element' | 'function'
|
|
switch (l1)
|
|
{
|
|
case 121: // 'element'
|
|
shiftT(121); // 'element'
|
|
break;
|
|
default:
|
|
shiftT(145); // 'function'
|
|
}
|
|
lookahead1W(61); // S^WS | '(:' | 'namespace'
|
|
shiftT(184); // 'namespace'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
|
|
function parse_FTOptionDecl()
|
|
{
|
|
eventHandler.startNonterminal("FTOptionDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(52); // S^WS | '(:' | 'ft-option'
|
|
shift(141); // 'ft-option'
|
|
lookahead1W(81); // S^WS | '(:' | 'using'
|
|
whitespace();
|
|
parse_FTMatchOptions();
|
|
eventHandler.endNonterminal("FTOptionDecl", e0);
|
|
}
|
|
|
|
function parse_AnnotatedDecl()
|
|
{
|
|
eventHandler.startNonterminal("AnnotatedDecl", e0);
|
|
shift(108); // 'declare'
|
|
for (;;)
|
|
{
|
|
lookahead1W(170); // S^WS | '%' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
|
|
if (l1 != 32 // '%'
|
|
&& l1 != 257) // 'updating'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 257: // 'updating'
|
|
whitespace();
|
|
parse_CompatibilityAnnotation();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 262: // 'variable'
|
|
whitespace();
|
|
parse_VarDecl();
|
|
break;
|
|
case 145: // 'function'
|
|
whitespace();
|
|
parse_FunctionDecl();
|
|
break;
|
|
case 95: // 'collection'
|
|
whitespace();
|
|
parse_CollectionDecl();
|
|
break;
|
|
case 155: // 'index'
|
|
whitespace();
|
|
parse_IndexDecl();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ICDecl();
|
|
}
|
|
eventHandler.endNonterminal("AnnotatedDecl", e0);
|
|
}
|
|
|
|
function parse_CompatibilityAnnotation()
|
|
{
|
|
eventHandler.startNonterminal("CompatibilityAnnotation", e0);
|
|
shift(257); // 'updating'
|
|
eventHandler.endNonterminal("CompatibilityAnnotation", e0);
|
|
}
|
|
|
|
function parse_Annotation()
|
|
{
|
|
eventHandler.startNonterminal("Annotation", e0);
|
|
shift(32); // '%'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(171); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
|
|
if (l1 == 34) // '('
|
|
{
|
|
shift(34); // '('
|
|
lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
|
|
whitespace();
|
|
parse_Literal();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
|
|
whitespace();
|
|
parse_Literal();
|
|
}
|
|
shift(37); // ')'
|
|
}
|
|
eventHandler.endNonterminal("Annotation", e0);
|
|
}
|
|
|
|
function try_Annotation()
|
|
{
|
|
shiftT(32); // '%'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_EQName();
|
|
lookahead1W(171); // S^WS | '%' | '(' | '(:' | 'collection' | 'function' | 'index' | 'integrity' |
|
|
if (l1 == 34) // '('
|
|
{
|
|
shiftT(34); // '('
|
|
lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
|
|
try_Literal();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(154); // IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral | S^WS | '(:'
|
|
try_Literal();
|
|
}
|
|
shiftT(37); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_VarDecl()
|
|
{
|
|
eventHandler.startNonterminal("VarDecl", e0);
|
|
shift(262); // 'variable'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(147); // S^WS | '(:' | ':=' | 'as' | 'external'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(106); // S^WS | '(:' | ':=' | 'external'
|
|
switch (l1)
|
|
{
|
|
case 52: // ':='
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_VarValue();
|
|
break;
|
|
default:
|
|
shift(133); // 'external'
|
|
lookahead1W(104); // S^WS | '(:' | ':=' | ';'
|
|
if (l1 == 52) // ':='
|
|
{
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_VarDefaultValue();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("VarDecl", e0);
|
|
}
|
|
|
|
function parse_VarValue()
|
|
{
|
|
eventHandler.startNonterminal("VarValue", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("VarValue", e0);
|
|
}
|
|
|
|
function parse_VarDefaultValue()
|
|
{
|
|
eventHandler.startNonterminal("VarDefaultValue", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("VarDefaultValue", e0);
|
|
}
|
|
|
|
function parse_ContextItemDecl()
|
|
{
|
|
eventHandler.startNonterminal("ContextItemDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(43); // S^WS | '(:' | 'context'
|
|
shift(101); // 'context'
|
|
lookahead1W(55); // S^WS | '(:' | 'item'
|
|
shift(165); // 'item'
|
|
lookahead1W(147); // S^WS | '(:' | ':=' | 'as' | 'external'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
shift(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ItemType();
|
|
}
|
|
lookahead1W(106); // S^WS | '(:' | ':=' | 'external'
|
|
switch (l1)
|
|
{
|
|
case 52: // ':='
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_VarValue();
|
|
break;
|
|
default:
|
|
shift(133); // 'external'
|
|
lookahead1W(104); // S^WS | '(:' | ':=' | ';'
|
|
if (l1 == 52) // ':='
|
|
{
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_VarDefaultValue();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("ContextItemDecl", e0);
|
|
}
|
|
|
|
function parse_ParamList()
|
|
{
|
|
eventHandler.startNonterminal("ParamList", e0);
|
|
parse_Param();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_Param();
|
|
}
|
|
eventHandler.endNonterminal("ParamList", e0);
|
|
}
|
|
|
|
function try_ParamList()
|
|
{
|
|
try_Param();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_Param();
|
|
}
|
|
}
|
|
|
|
function parse_Param()
|
|
{
|
|
eventHandler.startNonterminal("Param", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(143); // S^WS | '(:' | ')' | ',' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
eventHandler.endNonterminal("Param", e0);
|
|
}
|
|
|
|
function try_Param()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_EQName();
|
|
lookahead1W(143); // S^WS | '(:' | ')' | ',' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
}
|
|
|
|
function parse_FunctionBody()
|
|
{
|
|
eventHandler.startNonterminal("FunctionBody", e0);
|
|
parse_EnclosedExpr();
|
|
eventHandler.endNonterminal("FunctionBody", e0);
|
|
}
|
|
|
|
function try_FunctionBody()
|
|
{
|
|
try_EnclosedExpr();
|
|
}
|
|
|
|
function parse_EnclosedExpr()
|
|
{
|
|
eventHandler.startNonterminal("EnclosedExpr", e0);
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("EnclosedExpr", e0);
|
|
}
|
|
|
|
function try_EnclosedExpr()
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_OptionDecl()
|
|
{
|
|
eventHandler.startNonterminal("OptionDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(66); // S^WS | '(:' | 'option'
|
|
shift(199); // 'option'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
eventHandler.endNonterminal("OptionDecl", e0);
|
|
}
|
|
|
|
function parse_Expr()
|
|
{
|
|
eventHandler.startNonterminal("Expr", e0);
|
|
parse_ExprSingle();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("Expr", e0);
|
|
}
|
|
|
|
function try_Expr()
|
|
{
|
|
try_ExprSingle();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_FLWORExpr()
|
|
{
|
|
eventHandler.startNonterminal("FLWORExpr", e0);
|
|
parse_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 220) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_IntermediateClause();
|
|
}
|
|
whitespace();
|
|
parse_ReturnClause();
|
|
eventHandler.endNonterminal("FLWORExpr", e0);
|
|
}
|
|
|
|
function try_FLWORExpr()
|
|
{
|
|
try_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 220) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
try_IntermediateClause();
|
|
}
|
|
try_ReturnClause();
|
|
}
|
|
|
|
function parse_InitialClause()
|
|
{
|
|
eventHandler.startNonterminal("InitialClause", e0);
|
|
switch (l1)
|
|
{
|
|
case 137: // 'for'
|
|
lookahead2W(141); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16009: // 'for' '$'
|
|
parse_ForClause();
|
|
break;
|
|
case 174: // 'let'
|
|
parse_LetClause();
|
|
break;
|
|
default:
|
|
parse_WindowClause();
|
|
}
|
|
eventHandler.endNonterminal("InitialClause", e0);
|
|
}
|
|
|
|
function try_InitialClause()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 137: // 'for'
|
|
lookahead2W(141); // S^WS | '$' | '(:' | 'sliding' | 'tumbling'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16009: // 'for' '$'
|
|
try_ForClause();
|
|
break;
|
|
case 174: // 'let'
|
|
try_LetClause();
|
|
break;
|
|
default:
|
|
try_WindowClause();
|
|
}
|
|
}
|
|
|
|
function parse_IntermediateClause()
|
|
{
|
|
eventHandler.startNonterminal("IntermediateClause", e0);
|
|
switch (l1)
|
|
{
|
|
case 137: // 'for'
|
|
case 174: // 'let'
|
|
parse_InitialClause();
|
|
break;
|
|
case 266: // 'where'
|
|
parse_WhereClause();
|
|
break;
|
|
case 148: // 'group'
|
|
parse_GroupByClause();
|
|
break;
|
|
case 105: // 'count'
|
|
parse_CountClause();
|
|
break;
|
|
default:
|
|
parse_OrderByClause();
|
|
}
|
|
eventHandler.endNonterminal("IntermediateClause", e0);
|
|
}
|
|
|
|
function try_IntermediateClause()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 137: // 'for'
|
|
case 174: // 'let'
|
|
try_InitialClause();
|
|
break;
|
|
case 266: // 'where'
|
|
try_WhereClause();
|
|
break;
|
|
case 148: // 'group'
|
|
try_GroupByClause();
|
|
break;
|
|
case 105: // 'count'
|
|
try_CountClause();
|
|
break;
|
|
default:
|
|
try_OrderByClause();
|
|
}
|
|
}
|
|
|
|
function parse_ForClause()
|
|
{
|
|
eventHandler.startNonterminal("ForClause", e0);
|
|
shift(137); // 'for'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_ForBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_ForBinding();
|
|
}
|
|
eventHandler.endNonterminal("ForClause", e0);
|
|
}
|
|
|
|
function try_ForClause()
|
|
{
|
|
shiftT(137); // 'for'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_ForBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_ForBinding();
|
|
}
|
|
}
|
|
|
|
function parse_ForBinding()
|
|
{
|
|
eventHandler.startNonterminal("ForBinding", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(164); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(158); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
|
|
if (l1 == 72) // 'allowing'
|
|
{
|
|
whitespace();
|
|
parse_AllowingEmpty();
|
|
}
|
|
lookahead1W(150); // S^WS | '(:' | 'at' | 'in' | 'score'
|
|
if (l1 == 81) // 'at'
|
|
{
|
|
whitespace();
|
|
parse_PositionalVar();
|
|
}
|
|
lookahead1W(122); // S^WS | '(:' | 'in' | 'score'
|
|
if (l1 == 228) // 'score'
|
|
{
|
|
whitespace();
|
|
parse_FTScoreVar();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shift(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ForBinding", e0);
|
|
}
|
|
|
|
function try_ForBinding()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(164); // S^WS | '(:' | 'allowing' | 'as' | 'at' | 'in' | 'score'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(158); // S^WS | '(:' | 'allowing' | 'at' | 'in' | 'score'
|
|
if (l1 == 72) // 'allowing'
|
|
{
|
|
try_AllowingEmpty();
|
|
}
|
|
lookahead1W(150); // S^WS | '(:' | 'at' | 'in' | 'score'
|
|
if (l1 == 81) // 'at'
|
|
{
|
|
try_PositionalVar();
|
|
}
|
|
lookahead1W(122); // S^WS | '(:' | 'in' | 'score'
|
|
if (l1 == 228) // 'score'
|
|
{
|
|
try_FTScoreVar();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shiftT(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_AllowingEmpty()
|
|
{
|
|
eventHandler.startNonterminal("AllowingEmpty", e0);
|
|
shift(72); // 'allowing'
|
|
lookahead1W(49); // S^WS | '(:' | 'empty'
|
|
shift(123); // 'empty'
|
|
eventHandler.endNonterminal("AllowingEmpty", e0);
|
|
}
|
|
|
|
function try_AllowingEmpty()
|
|
{
|
|
shiftT(72); // 'allowing'
|
|
lookahead1W(49); // S^WS | '(:' | 'empty'
|
|
shiftT(123); // 'empty'
|
|
}
|
|
|
|
function parse_PositionalVar()
|
|
{
|
|
eventHandler.startNonterminal("PositionalVar", e0);
|
|
shift(81); // 'at'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("PositionalVar", e0);
|
|
}
|
|
|
|
function try_PositionalVar()
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_FTScoreVar()
|
|
{
|
|
eventHandler.startNonterminal("FTScoreVar", e0);
|
|
shift(228); // 'score'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("FTScoreVar", e0);
|
|
}
|
|
|
|
function try_FTScoreVar()
|
|
{
|
|
shiftT(228); // 'score'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_LetClause()
|
|
{
|
|
eventHandler.startNonterminal("LetClause", e0);
|
|
shift(174); // 'let'
|
|
lookahead1W(96); // S^WS | '$' | '(:' | 'score'
|
|
whitespace();
|
|
parse_LetBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(96); // S^WS | '$' | '(:' | 'score'
|
|
whitespace();
|
|
parse_LetBinding();
|
|
}
|
|
eventHandler.endNonterminal("LetClause", e0);
|
|
}
|
|
|
|
function try_LetClause()
|
|
{
|
|
shiftT(174); // 'let'
|
|
lookahead1W(96); // S^WS | '$' | '(:' | 'score'
|
|
try_LetBinding();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(96); // S^WS | '$' | '(:' | 'score'
|
|
try_LetBinding();
|
|
}
|
|
}
|
|
|
|
function parse_LetBinding()
|
|
{
|
|
eventHandler.startNonterminal("LetBinding", e0);
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(105); // S^WS | '(:' | ':=' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
break;
|
|
default:
|
|
parse_FTScoreVar();
|
|
}
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("LetBinding", e0);
|
|
}
|
|
|
|
function try_LetBinding()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(105); // S^WS | '(:' | ':=' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
break;
|
|
default:
|
|
try_FTScoreVar();
|
|
}
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_WindowClause()
|
|
{
|
|
eventHandler.startNonterminal("WindowClause", e0);
|
|
shift(137); // 'for'
|
|
lookahead1W(135); // S^WS | '(:' | 'sliding' | 'tumbling'
|
|
switch (l1)
|
|
{
|
|
case 251: // 'tumbling'
|
|
whitespace();
|
|
parse_TumblingWindowClause();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_SlidingWindowClause();
|
|
}
|
|
eventHandler.endNonterminal("WindowClause", e0);
|
|
}
|
|
|
|
function try_WindowClause()
|
|
{
|
|
shiftT(137); // 'for'
|
|
lookahead1W(135); // S^WS | '(:' | 'sliding' | 'tumbling'
|
|
switch (l1)
|
|
{
|
|
case 251: // 'tumbling'
|
|
try_TumblingWindowClause();
|
|
break;
|
|
default:
|
|
try_SlidingWindowClause();
|
|
}
|
|
}
|
|
|
|
function parse_TumblingWindowClause()
|
|
{
|
|
eventHandler.startNonterminal("TumblingWindowClause", e0);
|
|
shift(251); // 'tumbling'
|
|
lookahead1W(85); // S^WS | '(:' | 'window'
|
|
shift(269); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shift(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
whitespace();
|
|
parse_WindowStartCondition();
|
|
if (l1 == 126 // 'end'
|
|
|| l1 == 198) // 'only'
|
|
{
|
|
whitespace();
|
|
parse_WindowEndCondition();
|
|
}
|
|
eventHandler.endNonterminal("TumblingWindowClause", e0);
|
|
}
|
|
|
|
function try_TumblingWindowClause()
|
|
{
|
|
shiftT(251); // 'tumbling'
|
|
lookahead1W(85); // S^WS | '(:' | 'window'
|
|
shiftT(269); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shiftT(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
try_WindowStartCondition();
|
|
if (l1 == 126 // 'end'
|
|
|| l1 == 198) // 'only'
|
|
{
|
|
try_WindowEndCondition();
|
|
}
|
|
}
|
|
|
|
function parse_SlidingWindowClause()
|
|
{
|
|
eventHandler.startNonterminal("SlidingWindowClause", e0);
|
|
shift(234); // 'sliding'
|
|
lookahead1W(85); // S^WS | '(:' | 'window'
|
|
shift(269); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shift(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
whitespace();
|
|
parse_WindowStartCondition();
|
|
whitespace();
|
|
parse_WindowEndCondition();
|
|
eventHandler.endNonterminal("SlidingWindowClause", e0);
|
|
}
|
|
|
|
function try_SlidingWindowClause()
|
|
{
|
|
shiftT(234); // 'sliding'
|
|
lookahead1W(85); // S^WS | '(:' | 'window'
|
|
shiftT(269); // 'window'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shiftT(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
try_WindowStartCondition();
|
|
try_WindowEndCondition();
|
|
}
|
|
|
|
function parse_WindowStartCondition()
|
|
{
|
|
eventHandler.startNonterminal("WindowStartCondition", e0);
|
|
shift(237); // 'start'
|
|
lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
whitespace();
|
|
parse_WindowVars();
|
|
lookahead1W(83); // S^WS | '(:' | 'when'
|
|
shift(265); // 'when'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("WindowStartCondition", e0);
|
|
}
|
|
|
|
function try_WindowStartCondition()
|
|
{
|
|
shiftT(237); // 'start'
|
|
lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
try_WindowVars();
|
|
lookahead1W(83); // S^WS | '(:' | 'when'
|
|
shiftT(265); // 'when'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_WindowEndCondition()
|
|
{
|
|
eventHandler.startNonterminal("WindowEndCondition", e0);
|
|
if (l1 == 198) // 'only'
|
|
{
|
|
shift(198); // 'only'
|
|
}
|
|
lookahead1W(50); // S^WS | '(:' | 'end'
|
|
shift(126); // 'end'
|
|
lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
whitespace();
|
|
parse_WindowVars();
|
|
lookahead1W(83); // S^WS | '(:' | 'when'
|
|
shift(265); // 'when'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("WindowEndCondition", e0);
|
|
}
|
|
|
|
function try_WindowEndCondition()
|
|
{
|
|
if (l1 == 198) // 'only'
|
|
{
|
|
shiftT(198); // 'only'
|
|
}
|
|
lookahead1W(50); // S^WS | '(:' | 'end'
|
|
shiftT(126); // 'end'
|
|
lookahead1W(163); // S^WS | '$' | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
try_WindowVars();
|
|
lookahead1W(83); // S^WS | '(:' | 'when'
|
|
shiftT(265); // 'when'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_WindowVars()
|
|
{
|
|
eventHandler.startNonterminal("WindowVars", e0);
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_CurrentItem();
|
|
}
|
|
lookahead1W(159); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
if (l1 == 81) // 'at'
|
|
{
|
|
whitespace();
|
|
parse_PositionalVar();
|
|
}
|
|
lookahead1W(153); // S^WS | '(:' | 'next' | 'previous' | 'when'
|
|
if (l1 == 215) // 'previous'
|
|
{
|
|
shift(215); // 'previous'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_PreviousItem();
|
|
}
|
|
lookahead1W(127); // S^WS | '(:' | 'next' | 'when'
|
|
if (l1 == 187) // 'next'
|
|
{
|
|
shift(187); // 'next'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NextItem();
|
|
}
|
|
eventHandler.endNonterminal("WindowVars", e0);
|
|
}
|
|
|
|
function try_WindowVars()
|
|
{
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CurrentItem();
|
|
}
|
|
lookahead1W(159); // S^WS | '(:' | 'at' | 'next' | 'previous' | 'when'
|
|
if (l1 == 81) // 'at'
|
|
{
|
|
try_PositionalVar();
|
|
}
|
|
lookahead1W(153); // S^WS | '(:' | 'next' | 'previous' | 'when'
|
|
if (l1 == 215) // 'previous'
|
|
{
|
|
shiftT(215); // 'previous'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_PreviousItem();
|
|
}
|
|
lookahead1W(127); // S^WS | '(:' | 'next' | 'when'
|
|
if (l1 == 187) // 'next'
|
|
{
|
|
shiftT(187); // 'next'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NextItem();
|
|
}
|
|
}
|
|
|
|
function parse_CurrentItem()
|
|
{
|
|
eventHandler.startNonterminal("CurrentItem", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("CurrentItem", e0);
|
|
}
|
|
|
|
function try_CurrentItem()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_PreviousItem()
|
|
{
|
|
eventHandler.startNonterminal("PreviousItem", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("PreviousItem", e0);
|
|
}
|
|
|
|
function try_PreviousItem()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_NextItem()
|
|
{
|
|
eventHandler.startNonterminal("NextItem", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("NextItem", e0);
|
|
}
|
|
|
|
function try_NextItem()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_CountClause()
|
|
{
|
|
eventHandler.startNonterminal("CountClause", e0);
|
|
shift(105); // 'count'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("CountClause", e0);
|
|
}
|
|
|
|
function try_CountClause()
|
|
{
|
|
shiftT(105); // 'count'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_WhereClause()
|
|
{
|
|
eventHandler.startNonterminal("WhereClause", e0);
|
|
shift(266); // 'where'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("WhereClause", e0);
|
|
}
|
|
|
|
function try_WhereClause()
|
|
{
|
|
shiftT(266); // 'where'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_GroupByClause()
|
|
{
|
|
eventHandler.startNonterminal("GroupByClause", e0);
|
|
shift(148); // 'group'
|
|
lookahead1W(34); // S^WS | '(:' | 'by'
|
|
shift(87); // 'by'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_GroupingSpecList();
|
|
eventHandler.endNonterminal("GroupByClause", e0);
|
|
}
|
|
|
|
function try_GroupByClause()
|
|
{
|
|
shiftT(148); // 'group'
|
|
lookahead1W(34); // S^WS | '(:' | 'by'
|
|
shiftT(87); // 'by'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_GroupingSpecList();
|
|
}
|
|
|
|
function parse_GroupingSpecList()
|
|
{
|
|
eventHandler.startNonterminal("GroupingSpecList", e0);
|
|
parse_GroupingSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_GroupingSpec();
|
|
}
|
|
eventHandler.endNonterminal("GroupingSpecList", e0);
|
|
}
|
|
|
|
function try_GroupingSpecList()
|
|
{
|
|
try_GroupingSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_GroupingSpec();
|
|
}
|
|
}
|
|
|
|
function parse_GroupingSpec()
|
|
{
|
|
eventHandler.startNonterminal("GroupingSpec", e0);
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 3103 // '$' EQName^Token
|
|
|| lk == 35871 // '$' 'after'
|
|
|| lk == 36895 // '$' 'allowing'
|
|
|| lk == 37407 // '$' 'ancestor'
|
|
|| lk == 37919 // '$' 'ancestor-or-self'
|
|
|| lk == 38431 // '$' 'and'
|
|
|| lk == 39455 // '$' 'append'
|
|
|| lk == 39967 // '$' 'array'
|
|
|| lk == 40479 // '$' 'as'
|
|
|| lk == 40991 // '$' 'ascending'
|
|
|| lk == 41503 // '$' 'at'
|
|
|| lk == 42015 // '$' 'attribute'
|
|
|| lk == 42527 // '$' 'base-uri'
|
|
|| lk == 43039 // '$' 'before'
|
|
|| lk == 43551 // '$' 'boundary-space'
|
|
|| lk == 44063 // '$' 'break'
|
|
|| lk == 45087 // '$' 'case'
|
|
|| lk == 45599 // '$' 'cast'
|
|
|| lk == 46111 // '$' 'castable'
|
|
|| lk == 46623 // '$' 'catch'
|
|
|| lk == 47647 // '$' 'child'
|
|
|| lk == 48159 // '$' 'collation'
|
|
|| lk == 49183 // '$' 'comment'
|
|
|| lk == 49695 // '$' 'constraint'
|
|
|| lk == 50207 // '$' 'construction'
|
|
|| lk == 51743 // '$' 'context'
|
|
|| lk == 52255 // '$' 'continue'
|
|
|| lk == 52767 // '$' 'copy'
|
|
|| lk == 53279 // '$' 'copy-namespaces'
|
|
|| lk == 53791 // '$' 'count'
|
|
|| lk == 54303 // '$' 'decimal-format'
|
|
|| lk == 55327 // '$' 'declare'
|
|
|| lk == 55839 // '$' 'default'
|
|
|| lk == 56351 // '$' 'delete'
|
|
|| lk == 56863 // '$' 'descendant'
|
|
|| lk == 57375 // '$' 'descendant-or-self'
|
|
|| lk == 57887 // '$' 'descending'
|
|
|| lk == 60447 // '$' 'div'
|
|
|| lk == 60959 // '$' 'document'
|
|
|| lk == 61471 // '$' 'document-node'
|
|
|| lk == 61983 // '$' 'element'
|
|
|| lk == 62495 // '$' 'else'
|
|
|| lk == 63007 // '$' 'empty'
|
|
|| lk == 63519 // '$' 'empty-sequence'
|
|
|| lk == 64031 // '$' 'encoding'
|
|
|| lk == 64543 // '$' 'end'
|
|
|| lk == 65567 // '$' 'eq'
|
|
|| lk == 66079 // '$' 'every'
|
|
|| lk == 67103 // '$' 'except'
|
|
|| lk == 67615 // '$' 'exit'
|
|
|| lk == 68127 // '$' 'external'
|
|
|| lk == 68639 // '$' 'first'
|
|
|| lk == 69151 // '$' 'following'
|
|
|| lk == 69663 // '$' 'following-sibling'
|
|
|| lk == 70175 // '$' 'for'
|
|
|| lk == 72223 // '$' 'ft-option'
|
|
|| lk == 74271 // '$' 'function'
|
|
|| lk == 74783 // '$' 'ge'
|
|
|| lk == 75807 // '$' 'group'
|
|
|| lk == 76831 // '$' 'gt'
|
|
|| lk == 77343 // '$' 'idiv'
|
|
|| lk == 77855 // '$' 'if'
|
|
|| lk == 78367 // '$' 'import'
|
|
|| lk == 78879 // '$' 'in'
|
|
|| lk == 79391 // '$' 'index'
|
|
|| lk == 81439 // '$' 'insert'
|
|
|| lk == 81951 // '$' 'instance'
|
|
|| lk == 82463 // '$' 'integrity'
|
|
|| lk == 82975 // '$' 'intersect'
|
|
|| lk == 83487 // '$' 'into'
|
|
|| lk == 83999 // '$' 'is'
|
|
|| lk == 84511 // '$' 'item'
|
|
|| lk == 85023 // '$' 'json'
|
|
|| lk == 85535 // '$' 'json-item'
|
|
|| lk == 87071 // '$' 'last'
|
|
|| lk == 87583 // '$' 'lax'
|
|
|| lk == 88095 // '$' 'le'
|
|
|| lk == 89119 // '$' 'let'
|
|
|| lk == 90143 // '$' 'loop'
|
|
|| lk == 91167 // '$' 'lt'
|
|
|| lk == 92191 // '$' 'mod'
|
|
|| lk == 92703 // '$' 'modify'
|
|
|| lk == 93215 // '$' 'module'
|
|
|| lk == 94239 // '$' 'namespace'
|
|
|| lk == 94751 // '$' 'namespace-node'
|
|
|| lk == 95263 // '$' 'ne'
|
|
|| lk == 97823 // '$' 'node'
|
|
|| lk == 98335 // '$' 'nodes'
|
|
|| lk == 99359 // '$' 'object'
|
|
|| lk == 101407 // '$' 'only'
|
|
|| lk == 101919 // '$' 'option'
|
|
|| lk == 102431 // '$' 'or'
|
|
|| lk == 102943 // '$' 'order'
|
|
|| lk == 103455 // '$' 'ordered'
|
|
|| lk == 103967 // '$' 'ordering'
|
|
|| lk == 105503 // '$' 'parent'
|
|
|| lk == 108575 // '$' 'preceding'
|
|
|| lk == 109087 // '$' 'preceding-sibling'
|
|
|| lk == 110623 // '$' 'processing-instruction'
|
|
|| lk == 111647 // '$' 'rename'
|
|
|| lk == 112159 // '$' 'replace'
|
|
|| lk == 112671 // '$' 'return'
|
|
|| lk == 113183 // '$' 'returning'
|
|
|| lk == 113695 // '$' 'revalidation'
|
|
|| lk == 114719 // '$' 'satisfies'
|
|
|| lk == 115231 // '$' 'schema'
|
|
|| lk == 115743 // '$' 'schema-attribute'
|
|
|| lk == 116255 // '$' 'schema-element'
|
|
|| lk == 116767 // '$' 'score'
|
|
|| lk == 117279 // '$' 'self'
|
|
|| lk == 119839 // '$' 'sliding'
|
|
|| lk == 120351 // '$' 'some'
|
|
|| lk == 120863 // '$' 'stable'
|
|
|| lk == 121375 // '$' 'start'
|
|
|| lk == 122911 // '$' 'strict'
|
|
|| lk == 123935 // '$' 'structured-item'
|
|
|| lk == 124447 // '$' 'switch'
|
|
|| lk == 124959 // '$' 'text'
|
|
|| lk == 127007 // '$' 'to'
|
|
|| lk == 127519 // '$' 'treat'
|
|
|| lk == 128031 // '$' 'try'
|
|
|| lk == 128543 // '$' 'tumbling'
|
|
|| lk == 129055 // '$' 'type'
|
|
|| lk == 129567 // '$' 'typeswitch'
|
|
|| lk == 130079 // '$' 'union'
|
|
|| lk == 131103 // '$' 'unordered'
|
|
|| lk == 131615 // '$' 'updating'
|
|
|| lk == 133151 // '$' 'validate'
|
|
|| lk == 133663 // '$' 'value'
|
|
|| lk == 134175 // '$' 'variable'
|
|
|| lk == 134687 // '$' 'version'
|
|
|| lk == 136223 // '$' 'where'
|
|
|| lk == 136735 // '$' 'while'
|
|
|| lk == 138271 // '$' 'with'
|
|
|| lk == 140319) // '$' 'xquery'
|
|
{
|
|
lk = memoized(2, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_GroupingVariable();
|
|
lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 52 // ':='
|
|
|| l1 == 79) // 'as'
|
|
{
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
if (l1 == 94) // 'collation'
|
|
{
|
|
shiftT(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(2, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
parse_GroupingVariable();
|
|
lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 52 // ':='
|
|
|| l1 == 79) // 'as'
|
|
{
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
if (l1 == 94) // 'collation'
|
|
{
|
|
shift(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
break;
|
|
default:
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("GroupingSpec", e0);
|
|
}
|
|
|
|
function try_GroupingSpec()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 3103 // '$' EQName^Token
|
|
|| lk == 35871 // '$' 'after'
|
|
|| lk == 36895 // '$' 'allowing'
|
|
|| lk == 37407 // '$' 'ancestor'
|
|
|| lk == 37919 // '$' 'ancestor-or-self'
|
|
|| lk == 38431 // '$' 'and'
|
|
|| lk == 39455 // '$' 'append'
|
|
|| lk == 39967 // '$' 'array'
|
|
|| lk == 40479 // '$' 'as'
|
|
|| lk == 40991 // '$' 'ascending'
|
|
|| lk == 41503 // '$' 'at'
|
|
|| lk == 42015 // '$' 'attribute'
|
|
|| lk == 42527 // '$' 'base-uri'
|
|
|| lk == 43039 // '$' 'before'
|
|
|| lk == 43551 // '$' 'boundary-space'
|
|
|| lk == 44063 // '$' 'break'
|
|
|| lk == 45087 // '$' 'case'
|
|
|| lk == 45599 // '$' 'cast'
|
|
|| lk == 46111 // '$' 'castable'
|
|
|| lk == 46623 // '$' 'catch'
|
|
|| lk == 47647 // '$' 'child'
|
|
|| lk == 48159 // '$' 'collation'
|
|
|| lk == 49183 // '$' 'comment'
|
|
|| lk == 49695 // '$' 'constraint'
|
|
|| lk == 50207 // '$' 'construction'
|
|
|| lk == 51743 // '$' 'context'
|
|
|| lk == 52255 // '$' 'continue'
|
|
|| lk == 52767 // '$' 'copy'
|
|
|| lk == 53279 // '$' 'copy-namespaces'
|
|
|| lk == 53791 // '$' 'count'
|
|
|| lk == 54303 // '$' 'decimal-format'
|
|
|| lk == 55327 // '$' 'declare'
|
|
|| lk == 55839 // '$' 'default'
|
|
|| lk == 56351 // '$' 'delete'
|
|
|| lk == 56863 // '$' 'descendant'
|
|
|| lk == 57375 // '$' 'descendant-or-self'
|
|
|| lk == 57887 // '$' 'descending'
|
|
|| lk == 60447 // '$' 'div'
|
|
|| lk == 60959 // '$' 'document'
|
|
|| lk == 61471 // '$' 'document-node'
|
|
|| lk == 61983 // '$' 'element'
|
|
|| lk == 62495 // '$' 'else'
|
|
|| lk == 63007 // '$' 'empty'
|
|
|| lk == 63519 // '$' 'empty-sequence'
|
|
|| lk == 64031 // '$' 'encoding'
|
|
|| lk == 64543 // '$' 'end'
|
|
|| lk == 65567 // '$' 'eq'
|
|
|| lk == 66079 // '$' 'every'
|
|
|| lk == 67103 // '$' 'except'
|
|
|| lk == 67615 // '$' 'exit'
|
|
|| lk == 68127 // '$' 'external'
|
|
|| lk == 68639 // '$' 'first'
|
|
|| lk == 69151 // '$' 'following'
|
|
|| lk == 69663 // '$' 'following-sibling'
|
|
|| lk == 70175 // '$' 'for'
|
|
|| lk == 72223 // '$' 'ft-option'
|
|
|| lk == 74271 // '$' 'function'
|
|
|| lk == 74783 // '$' 'ge'
|
|
|| lk == 75807 // '$' 'group'
|
|
|| lk == 76831 // '$' 'gt'
|
|
|| lk == 77343 // '$' 'idiv'
|
|
|| lk == 77855 // '$' 'if'
|
|
|| lk == 78367 // '$' 'import'
|
|
|| lk == 78879 // '$' 'in'
|
|
|| lk == 79391 // '$' 'index'
|
|
|| lk == 81439 // '$' 'insert'
|
|
|| lk == 81951 // '$' 'instance'
|
|
|| lk == 82463 // '$' 'integrity'
|
|
|| lk == 82975 // '$' 'intersect'
|
|
|| lk == 83487 // '$' 'into'
|
|
|| lk == 83999 // '$' 'is'
|
|
|| lk == 84511 // '$' 'item'
|
|
|| lk == 85023 // '$' 'json'
|
|
|| lk == 85535 // '$' 'json-item'
|
|
|| lk == 87071 // '$' 'last'
|
|
|| lk == 87583 // '$' 'lax'
|
|
|| lk == 88095 // '$' 'le'
|
|
|| lk == 89119 // '$' 'let'
|
|
|| lk == 90143 // '$' 'loop'
|
|
|| lk == 91167 // '$' 'lt'
|
|
|| lk == 92191 // '$' 'mod'
|
|
|| lk == 92703 // '$' 'modify'
|
|
|| lk == 93215 // '$' 'module'
|
|
|| lk == 94239 // '$' 'namespace'
|
|
|| lk == 94751 // '$' 'namespace-node'
|
|
|| lk == 95263 // '$' 'ne'
|
|
|| lk == 97823 // '$' 'node'
|
|
|| lk == 98335 // '$' 'nodes'
|
|
|| lk == 99359 // '$' 'object'
|
|
|| lk == 101407 // '$' 'only'
|
|
|| lk == 101919 // '$' 'option'
|
|
|| lk == 102431 // '$' 'or'
|
|
|| lk == 102943 // '$' 'order'
|
|
|| lk == 103455 // '$' 'ordered'
|
|
|| lk == 103967 // '$' 'ordering'
|
|
|| lk == 105503 // '$' 'parent'
|
|
|| lk == 108575 // '$' 'preceding'
|
|
|| lk == 109087 // '$' 'preceding-sibling'
|
|
|| lk == 110623 // '$' 'processing-instruction'
|
|
|| lk == 111647 // '$' 'rename'
|
|
|| lk == 112159 // '$' 'replace'
|
|
|| lk == 112671 // '$' 'return'
|
|
|| lk == 113183 // '$' 'returning'
|
|
|| lk == 113695 // '$' 'revalidation'
|
|
|| lk == 114719 // '$' 'satisfies'
|
|
|| lk == 115231 // '$' 'schema'
|
|
|| lk == 115743 // '$' 'schema-attribute'
|
|
|| lk == 116255 // '$' 'schema-element'
|
|
|| lk == 116767 // '$' 'score'
|
|
|| lk == 117279 // '$' 'self'
|
|
|| lk == 119839 // '$' 'sliding'
|
|
|| lk == 120351 // '$' 'some'
|
|
|| lk == 120863 // '$' 'stable'
|
|
|| lk == 121375 // '$' 'start'
|
|
|| lk == 122911 // '$' 'strict'
|
|
|| lk == 123935 // '$' 'structured-item'
|
|
|| lk == 124447 // '$' 'switch'
|
|
|| lk == 124959 // '$' 'text'
|
|
|| lk == 127007 // '$' 'to'
|
|
|| lk == 127519 // '$' 'treat'
|
|
|| lk == 128031 // '$' 'try'
|
|
|| lk == 128543 // '$' 'tumbling'
|
|
|| lk == 129055 // '$' 'type'
|
|
|| lk == 129567 // '$' 'typeswitch'
|
|
|| lk == 130079 // '$' 'union'
|
|
|| lk == 131103 // '$' 'unordered'
|
|
|| lk == 131615 // '$' 'updating'
|
|
|| lk == 133151 // '$' 'validate'
|
|
|| lk == 133663 // '$' 'value'
|
|
|| lk == 134175 // '$' 'variable'
|
|
|| lk == 134687 // '$' 'version'
|
|
|| lk == 136223 // '$' 'where'
|
|
|| lk == 136735 // '$' 'while'
|
|
|| lk == 138271 // '$' 'with'
|
|
|| lk == 140319) // '$' 'xquery'
|
|
{
|
|
lk = memoized(2, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_GroupingVariable();
|
|
lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 52 // ':='
|
|
|| l1 == 79) // 'as'
|
|
{
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
if (l1 == 94) // 'collation'
|
|
{
|
|
shiftT(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
memoize(2, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(2, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
try_GroupingVariable();
|
|
lookahead1W(182); // S^WS | '(:' | ',' | ':=' | 'as' | 'collation' | 'count' | 'for' | 'group' |
|
|
if (l1 == 52 // ':='
|
|
|| l1 == 79) // 'as'
|
|
{
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
if (l1 == 94) // 'collation'
|
|
{
|
|
shiftT(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_GroupingVariable()
|
|
{
|
|
eventHandler.startNonterminal("GroupingVariable", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("GroupingVariable", e0);
|
|
}
|
|
|
|
function try_GroupingVariable()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_OrderByClause()
|
|
{
|
|
eventHandler.startNonterminal("OrderByClause", e0);
|
|
switch (l1)
|
|
{
|
|
case 201: // 'order'
|
|
shift(201); // 'order'
|
|
lookahead1W(34); // S^WS | '(:' | 'by'
|
|
shift(87); // 'by'
|
|
break;
|
|
default:
|
|
shift(236); // 'stable'
|
|
lookahead1W(67); // S^WS | '(:' | 'order'
|
|
shift(201); // 'order'
|
|
lookahead1W(34); // S^WS | '(:' | 'by'
|
|
shift(87); // 'by'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_OrderSpecList();
|
|
eventHandler.endNonterminal("OrderByClause", e0);
|
|
}
|
|
|
|
function try_OrderByClause()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 201: // 'order'
|
|
shiftT(201); // 'order'
|
|
lookahead1W(34); // S^WS | '(:' | 'by'
|
|
shiftT(87); // 'by'
|
|
break;
|
|
default:
|
|
shiftT(236); // 'stable'
|
|
lookahead1W(67); // S^WS | '(:' | 'order'
|
|
shiftT(201); // 'order'
|
|
lookahead1W(34); // S^WS | '(:' | 'by'
|
|
shiftT(87); // 'by'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_OrderSpecList();
|
|
}
|
|
|
|
function parse_OrderSpecList()
|
|
{
|
|
eventHandler.startNonterminal("OrderSpecList", e0);
|
|
parse_OrderSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_OrderSpec();
|
|
}
|
|
eventHandler.endNonterminal("OrderSpecList", e0);
|
|
}
|
|
|
|
function try_OrderSpecList()
|
|
{
|
|
try_OrderSpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(176); // S^WS | '(:' | ',' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' |
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_OrderSpec();
|
|
}
|
|
}
|
|
|
|
function parse_OrderSpec()
|
|
{
|
|
eventHandler.startNonterminal("OrderSpec", e0);
|
|
parse_ExprSingle();
|
|
whitespace();
|
|
parse_OrderModifier();
|
|
eventHandler.endNonterminal("OrderSpec", e0);
|
|
}
|
|
|
|
function try_OrderSpec()
|
|
{
|
|
try_ExprSingle();
|
|
try_OrderModifier();
|
|
}
|
|
|
|
function parse_OrderModifier()
|
|
{
|
|
eventHandler.startNonterminal("OrderModifier", e0);
|
|
if (l1 == 80 // 'ascending'
|
|
|| l1 == 113) // 'descending'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 80: // 'ascending'
|
|
shift(80); // 'ascending'
|
|
break;
|
|
default:
|
|
shift(113); // 'descending'
|
|
}
|
|
}
|
|
lookahead1W(179); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
|
|
if (l1 == 123) // 'empty'
|
|
{
|
|
shift(123); // 'empty'
|
|
lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 147: // 'greatest'
|
|
shift(147); // 'greatest'
|
|
break;
|
|
default:
|
|
shift(173); // 'least'
|
|
}
|
|
}
|
|
lookahead1W(177); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
|
|
if (l1 == 94) // 'collation'
|
|
{
|
|
shift(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
}
|
|
eventHandler.endNonterminal("OrderModifier", e0);
|
|
}
|
|
|
|
function try_OrderModifier()
|
|
{
|
|
if (l1 == 80 // 'ascending'
|
|
|| l1 == 113) // 'descending'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 80: // 'ascending'
|
|
shiftT(80); // 'ascending'
|
|
break;
|
|
default:
|
|
shiftT(113); // 'descending'
|
|
}
|
|
}
|
|
lookahead1W(179); // S^WS | '(:' | ',' | 'collation' | 'count' | 'empty' | 'for' | 'group' | 'let' |
|
|
if (l1 == 123) // 'empty'
|
|
{
|
|
shiftT(123); // 'empty'
|
|
lookahead1W(121); // S^WS | '(:' | 'greatest' | 'least'
|
|
switch (l1)
|
|
{
|
|
case 147: // 'greatest'
|
|
shiftT(147); // 'greatest'
|
|
break;
|
|
default:
|
|
shiftT(173); // 'least'
|
|
}
|
|
}
|
|
lookahead1W(177); // S^WS | '(:' | ',' | 'collation' | 'count' | 'for' | 'group' | 'let' | 'order' |
|
|
if (l1 == 94) // 'collation'
|
|
{
|
|
shiftT(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
}
|
|
}
|
|
|
|
function parse_ReturnClause()
|
|
{
|
|
eventHandler.startNonterminal("ReturnClause", e0);
|
|
shift(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ReturnClause", e0);
|
|
}
|
|
|
|
function try_ReturnClause()
|
|
{
|
|
shiftT(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_QuantifiedExpr()
|
|
{
|
|
eventHandler.startNonterminal("QuantifiedExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 235: // 'some'
|
|
shift(235); // 'some'
|
|
break;
|
|
default:
|
|
shift(129); // 'every'
|
|
}
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_QuantifiedVarDecl();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_QuantifiedVarDecl();
|
|
}
|
|
shift(224); // 'satisfies'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("QuantifiedExpr", e0);
|
|
}
|
|
|
|
function try_QuantifiedExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 235: // 'some'
|
|
shiftT(235); // 'some'
|
|
break;
|
|
default:
|
|
shiftT(129); // 'every'
|
|
}
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_QuantifiedVarDecl();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_QuantifiedVarDecl();
|
|
}
|
|
shiftT(224); // 'satisfies'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_QuantifiedVarDecl()
|
|
{
|
|
eventHandler.startNonterminal("QuantifiedVarDecl", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shift(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("QuantifiedVarDecl", e0);
|
|
}
|
|
|
|
function try_QuantifiedVarDecl()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(110); // S^WS | '(:' | 'as' | 'in'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shiftT(154); // 'in'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SwitchExpr()
|
|
{
|
|
eventHandler.startNonterminal("SwitchExpr", e0);
|
|
shift(243); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_SwitchCaseClause();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(109); // 'default'
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shift(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SwitchExpr", e0);
|
|
}
|
|
|
|
function try_SwitchExpr()
|
|
{
|
|
shiftT(243); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
try_SwitchCaseClause();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(109); // 'default'
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shiftT(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SwitchCaseClause()
|
|
{
|
|
eventHandler.startNonterminal("SwitchCaseClause", e0);
|
|
for (;;)
|
|
{
|
|
shift(88); // 'case'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_SwitchCaseOperand();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SwitchCaseClause", e0);
|
|
}
|
|
|
|
function try_SwitchCaseClause()
|
|
{
|
|
for (;;)
|
|
{
|
|
shiftT(88); // 'case'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_SwitchCaseOperand();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SwitchCaseOperand()
|
|
{
|
|
eventHandler.startNonterminal("SwitchCaseOperand", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SwitchCaseOperand", e0);
|
|
}
|
|
|
|
function try_SwitchCaseOperand()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TypeswitchExpr()
|
|
{
|
|
eventHandler.startNonterminal("TypeswitchExpr", e0);
|
|
shift(253); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_CaseClause();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(109); // 'default'
|
|
lookahead1W(95); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
}
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shift(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TypeswitchExpr", e0);
|
|
}
|
|
|
|
function try_TypeswitchExpr()
|
|
{
|
|
shiftT(253); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
try_CaseClause();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(109); // 'default'
|
|
lookahead1W(95); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shiftT(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_CaseClause()
|
|
{
|
|
eventHandler.startNonterminal("CaseClause", e0);
|
|
shift(88); // 'case'
|
|
lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shift(79); // 'as'
|
|
}
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceTypeUnion();
|
|
shift(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("CaseClause", e0);
|
|
}
|
|
|
|
function try_CaseClause()
|
|
{
|
|
shiftT(88); // 'case'
|
|
lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shiftT(79); // 'as'
|
|
}
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceTypeUnion();
|
|
shiftT(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_SequenceTypeUnion()
|
|
{
|
|
eventHandler.startNonterminal("SequenceTypeUnion", e0);
|
|
parse_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(134); // S^WS | '(:' | 'return' | '|'
|
|
if (l1 != 279) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shift(279); // '|'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
eventHandler.endNonterminal("SequenceTypeUnion", e0);
|
|
}
|
|
|
|
function try_SequenceTypeUnion()
|
|
{
|
|
try_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(134); // S^WS | '(:' | 'return' | '|'
|
|
if (l1 != 279) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(279); // '|'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
|
|
function parse_IfExpr()
|
|
{
|
|
eventHandler.startNonterminal("IfExpr", e0);
|
|
shift(152); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(37); // ')'
|
|
lookahead1W(77); // S^WS | '(:' | 'then'
|
|
shift(245); // 'then'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(122); // 'else'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("IfExpr", e0);
|
|
}
|
|
|
|
function try_IfExpr()
|
|
{
|
|
shiftT(152); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(37); // ')'
|
|
lookahead1W(77); // S^WS | '(:' | 'then'
|
|
shiftT(245); // 'then'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(122); // 'else'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TryCatchExpr()
|
|
{
|
|
eventHandler.startNonterminal("TryCatchExpr", e0);
|
|
parse_TryClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(36); // S^WS | '(:' | 'catch'
|
|
whitespace();
|
|
parse_CatchClause();
|
|
lookahead1W(183); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
|
|
if (l1 != 91) // 'catch'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("TryCatchExpr", e0);
|
|
}
|
|
|
|
function try_TryCatchExpr()
|
|
{
|
|
try_TryClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(36); // S^WS | '(:' | 'catch'
|
|
try_CatchClause();
|
|
lookahead1W(183); // S^WS | EOF | '(:' | ')' | ',' | ':' | ';' | ']' | 'after' | 'as' | 'ascending' |
|
|
if (l1 != 91) // 'catch'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_TryClause()
|
|
{
|
|
eventHandler.startNonterminal("TryClause", e0);
|
|
shift(250); // 'try'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_TryTargetExpr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("TryClause", e0);
|
|
}
|
|
|
|
function try_TryClause()
|
|
{
|
|
shiftT(250); // 'try'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_TryTargetExpr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_TryTargetExpr()
|
|
{
|
|
eventHandler.startNonterminal("TryTargetExpr", e0);
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("TryTargetExpr", e0);
|
|
}
|
|
|
|
function try_TryTargetExpr()
|
|
{
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_CatchClause()
|
|
{
|
|
eventHandler.startNonterminal("CatchClause", e0);
|
|
shift(91); // 'catch'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_CatchErrorList();
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("CatchClause", e0);
|
|
}
|
|
|
|
function try_CatchClause()
|
|
{
|
|
shiftT(91); // 'catch'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CatchErrorList();
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_CatchErrorList()
|
|
{
|
|
eventHandler.startNonterminal("CatchErrorList", e0);
|
|
parse_NameTest();
|
|
for (;;)
|
|
{
|
|
lookahead1W(136); // S^WS | '(:' | '{' | '|'
|
|
if (l1 != 279) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shift(279); // '|'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NameTest();
|
|
}
|
|
eventHandler.endNonterminal("CatchErrorList", e0);
|
|
}
|
|
|
|
function try_CatchErrorList()
|
|
{
|
|
try_NameTest();
|
|
for (;;)
|
|
{
|
|
lookahead1W(136); // S^WS | '(:' | '{' | '|'
|
|
if (l1 != 279) // '|'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(279); // '|'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NameTest();
|
|
}
|
|
}
|
|
|
|
function parse_OrExpr()
|
|
{
|
|
eventHandler.startNonterminal("OrExpr", e0);
|
|
parse_AndExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 200) // 'or'
|
|
{
|
|
break;
|
|
}
|
|
shift(200); // 'or'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AndExpr();
|
|
}
|
|
eventHandler.endNonterminal("OrExpr", e0);
|
|
}
|
|
|
|
function try_OrExpr()
|
|
{
|
|
try_AndExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 200) // 'or'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(200); // 'or'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AndExpr();
|
|
}
|
|
}
|
|
|
|
function parse_AndExpr()
|
|
{
|
|
eventHandler.startNonterminal("AndExpr", e0);
|
|
parse_ComparisonExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 75) // 'and'
|
|
{
|
|
break;
|
|
}
|
|
shift(75); // 'and'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ComparisonExpr();
|
|
}
|
|
eventHandler.endNonterminal("AndExpr", e0);
|
|
}
|
|
|
|
function try_AndExpr()
|
|
{
|
|
try_ComparisonExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 75) // 'and'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(75); // 'and'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ComparisonExpr();
|
|
}
|
|
}
|
|
|
|
function parse_ComparisonExpr()
|
|
{
|
|
eventHandler.startNonterminal("ComparisonExpr", e0);
|
|
parse_FTContainsExpr();
|
|
if (l1 == 27 // '!='
|
|
|| l1 == 54 // '<'
|
|
|| l1 == 57 // '<<'
|
|
|| l1 == 58 // '<='
|
|
|| l1 == 60 // '='
|
|
|| l1 == 61 // '>'
|
|
|| l1 == 62 // '>='
|
|
|| l1 == 63 // '>>'
|
|
|| l1 == 128 // 'eq'
|
|
|| l1 == 146 // 'ge'
|
|
|| l1 == 150 // 'gt'
|
|
|| l1 == 164 // 'is'
|
|
|| l1 == 172 // 'le'
|
|
|| l1 == 178 // 'lt'
|
|
|| l1 == 186) // 'ne'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 128: // 'eq'
|
|
case 146: // 'ge'
|
|
case 150: // 'gt'
|
|
case 172: // 'le'
|
|
case 178: // 'lt'
|
|
case 186: // 'ne'
|
|
whitespace();
|
|
parse_ValueComp();
|
|
break;
|
|
case 57: // '<<'
|
|
case 63: // '>>'
|
|
case 164: // 'is'
|
|
whitespace();
|
|
parse_NodeComp();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_GeneralComp();
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_FTContainsExpr();
|
|
}
|
|
eventHandler.endNonterminal("ComparisonExpr", e0);
|
|
}
|
|
|
|
function try_ComparisonExpr()
|
|
{
|
|
try_FTContainsExpr();
|
|
if (l1 == 27 // '!='
|
|
|| l1 == 54 // '<'
|
|
|| l1 == 57 // '<<'
|
|
|| l1 == 58 // '<='
|
|
|| l1 == 60 // '='
|
|
|| l1 == 61 // '>'
|
|
|| l1 == 62 // '>='
|
|
|| l1 == 63 // '>>'
|
|
|| l1 == 128 // 'eq'
|
|
|| l1 == 146 // 'ge'
|
|
|| l1 == 150 // 'gt'
|
|
|| l1 == 164 // 'is'
|
|
|| l1 == 172 // 'le'
|
|
|| l1 == 178 // 'lt'
|
|
|| l1 == 186) // 'ne'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 128: // 'eq'
|
|
case 146: // 'ge'
|
|
case 150: // 'gt'
|
|
case 172: // 'le'
|
|
case 178: // 'lt'
|
|
case 186: // 'ne'
|
|
try_ValueComp();
|
|
break;
|
|
case 57: // '<<'
|
|
case 63: // '>>'
|
|
case 164: // 'is'
|
|
try_NodeComp();
|
|
break;
|
|
default:
|
|
try_GeneralComp();
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_FTContainsExpr();
|
|
}
|
|
}
|
|
|
|
function parse_FTContainsExpr()
|
|
{
|
|
eventHandler.startNonterminal("FTContainsExpr", e0);
|
|
parse_StringConcatExpr();
|
|
if (l1 == 99) // 'contains'
|
|
{
|
|
shift(99); // 'contains'
|
|
lookahead1W(76); // S^WS | '(:' | 'text'
|
|
shift(244); // 'text'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTSelection();
|
|
if (l1 == 271) // 'without'
|
|
{
|
|
whitespace();
|
|
parse_FTIgnoreOption();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("FTContainsExpr", e0);
|
|
}
|
|
|
|
function try_FTContainsExpr()
|
|
{
|
|
try_StringConcatExpr();
|
|
if (l1 == 99) // 'contains'
|
|
{
|
|
shiftT(99); // 'contains'
|
|
lookahead1W(76); // S^WS | '(:' | 'text'
|
|
shiftT(244); // 'text'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTSelection();
|
|
if (l1 == 271) // 'without'
|
|
{
|
|
try_FTIgnoreOption();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_StringConcatExpr()
|
|
{
|
|
eventHandler.startNonterminal("StringConcatExpr", e0);
|
|
parse_RangeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 280) // '||'
|
|
{
|
|
break;
|
|
}
|
|
shift(280); // '||'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_RangeExpr();
|
|
}
|
|
eventHandler.endNonterminal("StringConcatExpr", e0);
|
|
}
|
|
|
|
function try_StringConcatExpr()
|
|
{
|
|
try_RangeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 280) // '||'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(280); // '||'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_RangeExpr();
|
|
}
|
|
}
|
|
|
|
function parse_RangeExpr()
|
|
{
|
|
eventHandler.startNonterminal("RangeExpr", e0);
|
|
parse_AdditiveExpr();
|
|
if (l1 == 248) // 'to'
|
|
{
|
|
shift(248); // 'to'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
}
|
|
eventHandler.endNonterminal("RangeExpr", e0);
|
|
}
|
|
|
|
function try_RangeExpr()
|
|
{
|
|
try_AdditiveExpr();
|
|
if (l1 == 248) // 'to'
|
|
{
|
|
shiftT(248); // 'to'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AdditiveExpr();
|
|
}
|
|
}
|
|
|
|
function parse_AdditiveExpr()
|
|
{
|
|
eventHandler.startNonterminal("AdditiveExpr", e0);
|
|
parse_MultiplicativeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 40 // '+'
|
|
&& l1 != 42) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 40: // '+'
|
|
shift(40); // '+'
|
|
break;
|
|
default:
|
|
shift(42); // '-'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_MultiplicativeExpr();
|
|
}
|
|
eventHandler.endNonterminal("AdditiveExpr", e0);
|
|
}
|
|
|
|
function try_AdditiveExpr()
|
|
{
|
|
try_MultiplicativeExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 40 // '+'
|
|
&& l1 != 42) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 40: // '+'
|
|
shiftT(40); // '+'
|
|
break;
|
|
default:
|
|
shiftT(42); // '-'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_MultiplicativeExpr();
|
|
}
|
|
}
|
|
|
|
function parse_MultiplicativeExpr()
|
|
{
|
|
eventHandler.startNonterminal("MultiplicativeExpr", e0);
|
|
parse_UnionExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 38 // '*'
|
|
&& l1 != 118 // 'div'
|
|
&& l1 != 151 // 'idiv'
|
|
&& l1 != 180) // 'mod'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 38: // '*'
|
|
shift(38); // '*'
|
|
break;
|
|
case 118: // 'div'
|
|
shift(118); // 'div'
|
|
break;
|
|
case 151: // 'idiv'
|
|
shift(151); // 'idiv'
|
|
break;
|
|
default:
|
|
shift(180); // 'mod'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_UnionExpr();
|
|
}
|
|
eventHandler.endNonterminal("MultiplicativeExpr", e0);
|
|
}
|
|
|
|
function try_MultiplicativeExpr()
|
|
{
|
|
try_UnionExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 38 // '*'
|
|
&& l1 != 118 // 'div'
|
|
&& l1 != 151 // 'idiv'
|
|
&& l1 != 180) // 'mod'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 38: // '*'
|
|
shiftT(38); // '*'
|
|
break;
|
|
case 118: // 'div'
|
|
shiftT(118); // 'div'
|
|
break;
|
|
case 151: // 'idiv'
|
|
shiftT(151); // 'idiv'
|
|
break;
|
|
default:
|
|
shiftT(180); // 'mod'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_UnionExpr();
|
|
}
|
|
}
|
|
|
|
function parse_UnionExpr()
|
|
{
|
|
eventHandler.startNonterminal("UnionExpr", e0);
|
|
parse_IntersectExceptExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 254 // 'union'
|
|
&& l1 != 279) // '|'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 254: // 'union'
|
|
shift(254); // 'union'
|
|
break;
|
|
default:
|
|
shift(279); // '|'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_IntersectExceptExpr();
|
|
}
|
|
eventHandler.endNonterminal("UnionExpr", e0);
|
|
}
|
|
|
|
function try_UnionExpr()
|
|
{
|
|
try_IntersectExceptExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 254 // 'union'
|
|
&& l1 != 279) // '|'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 254: // 'union'
|
|
shiftT(254); // 'union'
|
|
break;
|
|
default:
|
|
shiftT(279); // '|'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_IntersectExceptExpr();
|
|
}
|
|
}
|
|
|
|
function parse_IntersectExceptExpr()
|
|
{
|
|
eventHandler.startNonterminal("IntersectExceptExpr", e0);
|
|
parse_InstanceofExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 != 131 // 'except'
|
|
&& l1 != 162) // 'intersect'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 162: // 'intersect'
|
|
shift(162); // 'intersect'
|
|
break;
|
|
default:
|
|
shift(131); // 'except'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_InstanceofExpr();
|
|
}
|
|
eventHandler.endNonterminal("IntersectExceptExpr", e0);
|
|
}
|
|
|
|
function try_IntersectExceptExpr()
|
|
{
|
|
try_InstanceofExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(222); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 != 131 // 'except'
|
|
&& l1 != 162) // 'intersect'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 162: // 'intersect'
|
|
shiftT(162); // 'intersect'
|
|
break;
|
|
default:
|
|
shiftT(131); // 'except'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_InstanceofExpr();
|
|
}
|
|
}
|
|
|
|
function parse_InstanceofExpr()
|
|
{
|
|
eventHandler.startNonterminal("InstanceofExpr", e0);
|
|
parse_TreatExpr();
|
|
lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 160) // 'instance'
|
|
{
|
|
shift(160); // 'instance'
|
|
lookahead1W(64); // S^WS | '(:' | 'of'
|
|
shift(196); // 'of'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
eventHandler.endNonterminal("InstanceofExpr", e0);
|
|
}
|
|
|
|
function try_InstanceofExpr()
|
|
{
|
|
try_TreatExpr();
|
|
lookahead1W(223); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 160) // 'instance'
|
|
{
|
|
shiftT(160); // 'instance'
|
|
lookahead1W(64); // S^WS | '(:' | 'of'
|
|
shiftT(196); // 'of'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
|
|
function parse_TreatExpr()
|
|
{
|
|
eventHandler.startNonterminal("TreatExpr", e0);
|
|
parse_CastableExpr();
|
|
lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 249) // 'treat'
|
|
{
|
|
shift(249); // 'treat'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shift(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
eventHandler.endNonterminal("TreatExpr", e0);
|
|
}
|
|
|
|
function try_TreatExpr()
|
|
{
|
|
try_CastableExpr();
|
|
lookahead1W(224); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 249) // 'treat'
|
|
{
|
|
shiftT(249); // 'treat'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shiftT(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
|
|
function parse_CastableExpr()
|
|
{
|
|
eventHandler.startNonterminal("CastableExpr", e0);
|
|
parse_CastExpr();
|
|
lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 90) // 'castable'
|
|
{
|
|
shift(90); // 'castable'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shift(79); // 'as'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SingleType();
|
|
}
|
|
eventHandler.endNonterminal("CastableExpr", e0);
|
|
}
|
|
|
|
function try_CastableExpr()
|
|
{
|
|
try_CastExpr();
|
|
lookahead1W(225); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 90) // 'castable'
|
|
{
|
|
shiftT(90); // 'castable'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shiftT(79); // 'as'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SingleType();
|
|
}
|
|
}
|
|
|
|
function parse_CastExpr()
|
|
{
|
|
eventHandler.startNonterminal("CastExpr", e0);
|
|
parse_UnaryExpr();
|
|
lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 89) // 'cast'
|
|
{
|
|
shift(89); // 'cast'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shift(79); // 'as'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SingleType();
|
|
}
|
|
eventHandler.endNonterminal("CastExpr", e0);
|
|
}
|
|
|
|
function try_CastExpr()
|
|
{
|
|
try_UnaryExpr();
|
|
lookahead1W(227); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 89) // 'cast'
|
|
{
|
|
shiftT(89); // 'cast'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shiftT(79); // 'as'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SingleType();
|
|
}
|
|
}
|
|
|
|
function parse_UnaryExpr()
|
|
{
|
|
eventHandler.startNonterminal("UnaryExpr", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 40 // '+'
|
|
&& l1 != 42) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 42: // '-'
|
|
shift(42); // '-'
|
|
break;
|
|
default:
|
|
shift(40); // '+'
|
|
}
|
|
}
|
|
whitespace();
|
|
parse_ValueExpr();
|
|
eventHandler.endNonterminal("UnaryExpr", e0);
|
|
}
|
|
|
|
function try_UnaryExpr()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 40 // '+'
|
|
&& l1 != 42) // '-'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 42: // '-'
|
|
shiftT(42); // '-'
|
|
break;
|
|
default:
|
|
shiftT(40); // '+'
|
|
}
|
|
}
|
|
try_ValueExpr();
|
|
}
|
|
|
|
function parse_ValueExpr()
|
|
{
|
|
eventHandler.startNonterminal("ValueExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 260: // 'validate'
|
|
lookahead2W(247); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 87812: // 'validate' 'lax'
|
|
case 123140: // 'validate' 'strict'
|
|
case 129284: // 'validate' 'type'
|
|
case 141572: // 'validate' '{'
|
|
parse_ValidateExpr();
|
|
break;
|
|
case 35: // '(#'
|
|
parse_ExtensionExpr();
|
|
break;
|
|
default:
|
|
parse_SimpleMapExpr();
|
|
}
|
|
eventHandler.endNonterminal("ValueExpr", e0);
|
|
}
|
|
|
|
function try_ValueExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 260: // 'validate'
|
|
lookahead2W(247); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 87812: // 'validate' 'lax'
|
|
case 123140: // 'validate' 'strict'
|
|
case 129284: // 'validate' 'type'
|
|
case 141572: // 'validate' '{'
|
|
try_ValidateExpr();
|
|
break;
|
|
case 35: // '(#'
|
|
try_ExtensionExpr();
|
|
break;
|
|
default:
|
|
try_SimpleMapExpr();
|
|
}
|
|
}
|
|
|
|
function parse_SimpleMapExpr()
|
|
{
|
|
eventHandler.startNonterminal("SimpleMapExpr", e0);
|
|
parse_PathExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 26) // '!'
|
|
{
|
|
break;
|
|
}
|
|
shift(26); // '!'
|
|
lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_PathExpr();
|
|
}
|
|
eventHandler.endNonterminal("SimpleMapExpr", e0);
|
|
}
|
|
|
|
function try_SimpleMapExpr()
|
|
{
|
|
try_PathExpr();
|
|
for (;;)
|
|
{
|
|
if (l1 != 26) // '!'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(26); // '!'
|
|
lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_PathExpr();
|
|
}
|
|
}
|
|
|
|
function parse_GeneralComp()
|
|
{
|
|
eventHandler.startNonterminal("GeneralComp", e0);
|
|
switch (l1)
|
|
{
|
|
case 60: // '='
|
|
shift(60); // '='
|
|
break;
|
|
case 27: // '!='
|
|
shift(27); // '!='
|
|
break;
|
|
case 54: // '<'
|
|
shift(54); // '<'
|
|
break;
|
|
case 58: // '<='
|
|
shift(58); // '<='
|
|
break;
|
|
case 61: // '>'
|
|
shift(61); // '>'
|
|
break;
|
|
default:
|
|
shift(62); // '>='
|
|
}
|
|
eventHandler.endNonterminal("GeneralComp", e0);
|
|
}
|
|
|
|
function try_GeneralComp()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 60: // '='
|
|
shiftT(60); // '='
|
|
break;
|
|
case 27: // '!='
|
|
shiftT(27); // '!='
|
|
break;
|
|
case 54: // '<'
|
|
shiftT(54); // '<'
|
|
break;
|
|
case 58: // '<='
|
|
shiftT(58); // '<='
|
|
break;
|
|
case 61: // '>'
|
|
shiftT(61); // '>'
|
|
break;
|
|
default:
|
|
shiftT(62); // '>='
|
|
}
|
|
}
|
|
|
|
function parse_ValueComp()
|
|
{
|
|
eventHandler.startNonterminal("ValueComp", e0);
|
|
switch (l1)
|
|
{
|
|
case 128: // 'eq'
|
|
shift(128); // 'eq'
|
|
break;
|
|
case 186: // 'ne'
|
|
shift(186); // 'ne'
|
|
break;
|
|
case 178: // 'lt'
|
|
shift(178); // 'lt'
|
|
break;
|
|
case 172: // 'le'
|
|
shift(172); // 'le'
|
|
break;
|
|
case 150: // 'gt'
|
|
shift(150); // 'gt'
|
|
break;
|
|
default:
|
|
shift(146); // 'ge'
|
|
}
|
|
eventHandler.endNonterminal("ValueComp", e0);
|
|
}
|
|
|
|
function try_ValueComp()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 128: // 'eq'
|
|
shiftT(128); // 'eq'
|
|
break;
|
|
case 186: // 'ne'
|
|
shiftT(186); // 'ne'
|
|
break;
|
|
case 178: // 'lt'
|
|
shiftT(178); // 'lt'
|
|
break;
|
|
case 172: // 'le'
|
|
shiftT(172); // 'le'
|
|
break;
|
|
case 150: // 'gt'
|
|
shiftT(150); // 'gt'
|
|
break;
|
|
default:
|
|
shiftT(146); // 'ge'
|
|
}
|
|
}
|
|
|
|
function parse_NodeComp()
|
|
{
|
|
eventHandler.startNonterminal("NodeComp", e0);
|
|
switch (l1)
|
|
{
|
|
case 164: // 'is'
|
|
shift(164); // 'is'
|
|
break;
|
|
case 57: // '<<'
|
|
shift(57); // '<<'
|
|
break;
|
|
default:
|
|
shift(63); // '>>'
|
|
}
|
|
eventHandler.endNonterminal("NodeComp", e0);
|
|
}
|
|
|
|
function try_NodeComp()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 164: // 'is'
|
|
shiftT(164); // 'is'
|
|
break;
|
|
case 57: // '<<'
|
|
shiftT(57); // '<<'
|
|
break;
|
|
default:
|
|
shiftT(63); // '>>'
|
|
}
|
|
}
|
|
|
|
function parse_ValidateExpr()
|
|
{
|
|
eventHandler.startNonterminal("ValidateExpr", e0);
|
|
shift(260); // 'validate'
|
|
lookahead1W(160); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
if (l1 != 276) // '{'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 252: // 'type'
|
|
shift(252); // 'type'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_TypeName();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ValidationMode();
|
|
}
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("ValidateExpr", e0);
|
|
}
|
|
|
|
function try_ValidateExpr()
|
|
{
|
|
shiftT(260); // 'validate'
|
|
lookahead1W(160); // S^WS | '(:' | 'lax' | 'strict' | 'type' | '{'
|
|
if (l1 != 276) // '{'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 252: // 'type'
|
|
shiftT(252); // 'type'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_TypeName();
|
|
break;
|
|
default:
|
|
try_ValidationMode();
|
|
}
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_ValidationMode()
|
|
{
|
|
eventHandler.startNonterminal("ValidationMode", e0);
|
|
switch (l1)
|
|
{
|
|
case 171: // 'lax'
|
|
shift(171); // 'lax'
|
|
break;
|
|
default:
|
|
shift(240); // 'strict'
|
|
}
|
|
eventHandler.endNonterminal("ValidationMode", e0);
|
|
}
|
|
|
|
function try_ValidationMode()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 171: // 'lax'
|
|
shiftT(171); // 'lax'
|
|
break;
|
|
default:
|
|
shiftT(240); // 'strict'
|
|
}
|
|
}
|
|
|
|
function parse_ExtensionExpr()
|
|
{
|
|
eventHandler.startNonterminal("ExtensionExpr", e0);
|
|
for (;;)
|
|
{
|
|
whitespace();
|
|
parse_Pragma();
|
|
lookahead1W(100); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 35) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(276); // '{'
|
|
lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 282) // '}'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("ExtensionExpr", e0);
|
|
}
|
|
|
|
function try_ExtensionExpr()
|
|
{
|
|
for (;;)
|
|
{
|
|
try_Pragma();
|
|
lookahead1W(100); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 35) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(276); // '{'
|
|
lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 282) // '}'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_Pragma()
|
|
{
|
|
eventHandler.startNonterminal("Pragma", e0);
|
|
shift(35); // '(#'
|
|
lookahead1(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
parse_EQName();
|
|
lookahead1(10); // S | '#)'
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
lookahead1(0); // PragmaContents
|
|
shift(1); // PragmaContents
|
|
}
|
|
lookahead1(5); // '#)'
|
|
shift(30); // '#)'
|
|
eventHandler.endNonterminal("Pragma", e0);
|
|
}
|
|
|
|
function try_Pragma()
|
|
{
|
|
shiftT(35); // '(#'
|
|
lookahead1(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
try_EQName();
|
|
lookahead1(10); // S | '#)'
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
lookahead1(0); // PragmaContents
|
|
shiftT(1); // PragmaContents
|
|
}
|
|
lookahead1(5); // '#)'
|
|
shiftT(30); // '#)'
|
|
}
|
|
|
|
function parse_PathExpr()
|
|
{
|
|
eventHandler.startNonterminal("PathExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 46: // '/'
|
|
shift(46); // '/'
|
|
lookahead1W(285); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 25: // EOF
|
|
case 26: // '!'
|
|
case 27: // '!='
|
|
case 37: // ')'
|
|
case 38: // '*'
|
|
case 40: // '+'
|
|
case 41: // ','
|
|
case 42: // '-'
|
|
case 49: // ':'
|
|
case 53: // ';'
|
|
case 57: // '<<'
|
|
case 58: // '<='
|
|
case 60: // '='
|
|
case 61: // '>'
|
|
case 62: // '>='
|
|
case 63: // '>>'
|
|
case 69: // ']'
|
|
case 87: // 'by'
|
|
case 99: // 'contains'
|
|
case 205: // 'paragraphs'
|
|
case 232: // 'sentences'
|
|
case 247: // 'times'
|
|
case 273: // 'words'
|
|
case 279: // '|'
|
|
case 280: // '||'
|
|
case 281: // '|}'
|
|
case 282: // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_RelativePathExpr();
|
|
}
|
|
break;
|
|
case 47: // '//'
|
|
shift(47); // '//'
|
|
lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_RelativePathExpr();
|
|
break;
|
|
default:
|
|
parse_RelativePathExpr();
|
|
}
|
|
eventHandler.endNonterminal("PathExpr", e0);
|
|
}
|
|
|
|
function try_PathExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 46: // '/'
|
|
shiftT(46); // '/'
|
|
lookahead1W(285); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 25: // EOF
|
|
case 26: // '!'
|
|
case 27: // '!='
|
|
case 37: // ')'
|
|
case 38: // '*'
|
|
case 40: // '+'
|
|
case 41: // ','
|
|
case 42: // '-'
|
|
case 49: // ':'
|
|
case 53: // ';'
|
|
case 57: // '<<'
|
|
case 58: // '<='
|
|
case 60: // '='
|
|
case 61: // '>'
|
|
case 62: // '>='
|
|
case 63: // '>>'
|
|
case 69: // ']'
|
|
case 87: // 'by'
|
|
case 99: // 'contains'
|
|
case 205: // 'paragraphs'
|
|
case 232: // 'sentences'
|
|
case 247: // 'times'
|
|
case 273: // 'words'
|
|
case 279: // '|'
|
|
case 280: // '||'
|
|
case 281: // '|}'
|
|
case 282: // '}'
|
|
break;
|
|
default:
|
|
try_RelativePathExpr();
|
|
}
|
|
break;
|
|
case 47: // '//'
|
|
shiftT(47); // '//'
|
|
lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_RelativePathExpr();
|
|
break;
|
|
default:
|
|
try_RelativePathExpr();
|
|
}
|
|
}
|
|
|
|
function parse_RelativePathExpr()
|
|
{
|
|
eventHandler.startNonterminal("RelativePathExpr", e0);
|
|
parse_StepExpr();
|
|
for (;;)
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 26: // '!'
|
|
lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 27 // '!='
|
|
&& lk != 37 // ')'
|
|
&& lk != 38 // '*'
|
|
&& lk != 40 // '+'
|
|
&& lk != 41 // ','
|
|
&& lk != 42 // '-'
|
|
&& lk != 46 // '/'
|
|
&& lk != 47 // '//'
|
|
&& lk != 49 // ':'
|
|
&& lk != 53 // ';'
|
|
&& lk != 54 // '<'
|
|
&& lk != 57 // '<<'
|
|
&& lk != 58 // '<='
|
|
&& lk != 60 // '='
|
|
&& lk != 61 // '>'
|
|
&& lk != 62 // '>='
|
|
&& lk != 63 // '>>'
|
|
&& lk != 69 // ']'
|
|
&& lk != 70 // 'after'
|
|
&& lk != 75 // 'and'
|
|
&& lk != 79 // 'as'
|
|
&& lk != 80 // 'ascending'
|
|
&& lk != 81 // 'at'
|
|
&& lk != 84 // 'before'
|
|
&& lk != 87 // 'by'
|
|
&& lk != 88 // 'case'
|
|
&& lk != 89 // 'cast'
|
|
&& lk != 90 // 'castable'
|
|
&& lk != 94 // 'collation'
|
|
&& lk != 99 // 'contains'
|
|
&& lk != 105 // 'count'
|
|
&& lk != 109 // 'default'
|
|
&& lk != 113 // 'descending'
|
|
&& lk != 118 // 'div'
|
|
&& lk != 122 // 'else'
|
|
&& lk != 123 // 'empty'
|
|
&& lk != 126 // 'end'
|
|
&& lk != 128 // 'eq'
|
|
&& lk != 131 // 'except'
|
|
&& lk != 137 // 'for'
|
|
&& lk != 146 // 'ge'
|
|
&& lk != 148 // 'group'
|
|
&& lk != 150 // 'gt'
|
|
&& lk != 151 // 'idiv'
|
|
&& lk != 160 // 'instance'
|
|
&& lk != 162 // 'intersect'
|
|
&& lk != 163 // 'into'
|
|
&& lk != 164 // 'is'
|
|
&& lk != 172 // 'le'
|
|
&& lk != 174 // 'let'
|
|
&& lk != 178 // 'lt'
|
|
&& lk != 180 // 'mod'
|
|
&& lk != 181 // 'modify'
|
|
&& lk != 186 // 'ne'
|
|
&& lk != 198 // 'only'
|
|
&& lk != 200 // 'or'
|
|
&& lk != 201 // 'order'
|
|
&& lk != 205 // 'paragraphs'
|
|
&& lk != 220 // 'return'
|
|
&& lk != 224 // 'satisfies'
|
|
&& lk != 232 // 'sentences'
|
|
&& lk != 236 // 'stable'
|
|
&& lk != 237 // 'start'
|
|
&& lk != 247 // 'times'
|
|
&& lk != 248 // 'to'
|
|
&& lk != 249 // 'treat'
|
|
&& lk != 254 // 'union'
|
|
&& lk != 266 // 'where'
|
|
&& lk != 270 // 'with'
|
|
&& lk != 273 // 'words'
|
|
&& lk != 279 // '|'
|
|
&& lk != 280 // '||'
|
|
&& lk != 281 // '|}'
|
|
&& lk != 282 // '}'
|
|
&& lk != 23578 // '!' '/'
|
|
&& lk != 24090) // '!' '//'
|
|
{
|
|
lk = memoized(3, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 46: // '/'
|
|
shiftT(46); // '/'
|
|
break;
|
|
case 47: // '//'
|
|
shiftT(47); // '//'
|
|
break;
|
|
default:
|
|
shiftT(26); // '!'
|
|
}
|
|
lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_StepExpr();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(3, e0, lk);
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 46 // '/'
|
|
&& lk != 47) // '//'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 46: // '/'
|
|
shift(46); // '/'
|
|
break;
|
|
case 47: // '//'
|
|
shift(47); // '//'
|
|
break;
|
|
default:
|
|
shift(26); // '!'
|
|
}
|
|
lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_StepExpr();
|
|
}
|
|
eventHandler.endNonterminal("RelativePathExpr", e0);
|
|
}
|
|
|
|
function try_RelativePathExpr()
|
|
{
|
|
try_StepExpr();
|
|
for (;;)
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 26: // '!'
|
|
lookahead2W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 27 // '!='
|
|
&& lk != 37 // ')'
|
|
&& lk != 38 // '*'
|
|
&& lk != 40 // '+'
|
|
&& lk != 41 // ','
|
|
&& lk != 42 // '-'
|
|
&& lk != 46 // '/'
|
|
&& lk != 47 // '//'
|
|
&& lk != 49 // ':'
|
|
&& lk != 53 // ';'
|
|
&& lk != 54 // '<'
|
|
&& lk != 57 // '<<'
|
|
&& lk != 58 // '<='
|
|
&& lk != 60 // '='
|
|
&& lk != 61 // '>'
|
|
&& lk != 62 // '>='
|
|
&& lk != 63 // '>>'
|
|
&& lk != 69 // ']'
|
|
&& lk != 70 // 'after'
|
|
&& lk != 75 // 'and'
|
|
&& lk != 79 // 'as'
|
|
&& lk != 80 // 'ascending'
|
|
&& lk != 81 // 'at'
|
|
&& lk != 84 // 'before'
|
|
&& lk != 87 // 'by'
|
|
&& lk != 88 // 'case'
|
|
&& lk != 89 // 'cast'
|
|
&& lk != 90 // 'castable'
|
|
&& lk != 94 // 'collation'
|
|
&& lk != 99 // 'contains'
|
|
&& lk != 105 // 'count'
|
|
&& lk != 109 // 'default'
|
|
&& lk != 113 // 'descending'
|
|
&& lk != 118 // 'div'
|
|
&& lk != 122 // 'else'
|
|
&& lk != 123 // 'empty'
|
|
&& lk != 126 // 'end'
|
|
&& lk != 128 // 'eq'
|
|
&& lk != 131 // 'except'
|
|
&& lk != 137 // 'for'
|
|
&& lk != 146 // 'ge'
|
|
&& lk != 148 // 'group'
|
|
&& lk != 150 // 'gt'
|
|
&& lk != 151 // 'idiv'
|
|
&& lk != 160 // 'instance'
|
|
&& lk != 162 // 'intersect'
|
|
&& lk != 163 // 'into'
|
|
&& lk != 164 // 'is'
|
|
&& lk != 172 // 'le'
|
|
&& lk != 174 // 'let'
|
|
&& lk != 178 // 'lt'
|
|
&& lk != 180 // 'mod'
|
|
&& lk != 181 // 'modify'
|
|
&& lk != 186 // 'ne'
|
|
&& lk != 198 // 'only'
|
|
&& lk != 200 // 'or'
|
|
&& lk != 201 // 'order'
|
|
&& lk != 205 // 'paragraphs'
|
|
&& lk != 220 // 'return'
|
|
&& lk != 224 // 'satisfies'
|
|
&& lk != 232 // 'sentences'
|
|
&& lk != 236 // 'stable'
|
|
&& lk != 237 // 'start'
|
|
&& lk != 247 // 'times'
|
|
&& lk != 248 // 'to'
|
|
&& lk != 249 // 'treat'
|
|
&& lk != 254 // 'union'
|
|
&& lk != 266 // 'where'
|
|
&& lk != 270 // 'with'
|
|
&& lk != 273 // 'words'
|
|
&& lk != 279 // '|'
|
|
&& lk != 280 // '||'
|
|
&& lk != 281 // '|}'
|
|
&& lk != 282 // '}'
|
|
&& lk != 23578 // '!' '/'
|
|
&& lk != 24090) // '!' '//'
|
|
{
|
|
lk = memoized(3, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 46: // '/'
|
|
shiftT(46); // '/'
|
|
break;
|
|
case 47: // '//'
|
|
shiftT(47); // '//'
|
|
break;
|
|
default:
|
|
shiftT(26); // '!'
|
|
}
|
|
lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_StepExpr();
|
|
memoize(3, e0A, -1);
|
|
continue;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(3, e0A, -2);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 46 // '/'
|
|
&& lk != 47) // '//'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 46: // '/'
|
|
shiftT(46); // '/'
|
|
break;
|
|
case 47: // '//'
|
|
shiftT(47); // '//'
|
|
break;
|
|
default:
|
|
shiftT(26); // '!'
|
|
}
|
|
lookahead1W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_StepExpr();
|
|
}
|
|
}
|
|
|
|
function parse_StepExpr()
|
|
{
|
|
eventHandler.startNonterminal("StepExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
lookahead2W(284); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 121: // 'element'
|
|
lookahead2W(282); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 184: // 'namespace'
|
|
case 216: // 'processing-instruction'
|
|
lookahead2W(281); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 96: // 'comment'
|
|
case 119: // 'document'
|
|
case 202: // 'ordered'
|
|
case 244: // 'text'
|
|
case 256: // 'unordered'
|
|
lookahead2W(246); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 78: // 'array'
|
|
case 124: // 'empty-sequence'
|
|
case 152: // 'if'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 242: // 'structured-item'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
lookahead2W(239); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 93: // 'child'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
case 229: // 'self'
|
|
lookahead2W(245); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 70: // 'after'
|
|
case 72: // 'allowing'
|
|
case 75: // 'and'
|
|
case 77: // 'append'
|
|
case 79: // 'as'
|
|
case 80: // 'ascending'
|
|
case 81: // 'at'
|
|
case 83: // 'base-uri'
|
|
case 84: // 'before'
|
|
case 85: // 'boundary-space'
|
|
case 86: // 'break'
|
|
case 88: // 'case'
|
|
case 89: // 'cast'
|
|
case 90: // 'castable'
|
|
case 91: // 'catch'
|
|
case 94: // 'collation'
|
|
case 97: // 'constraint'
|
|
case 98: // 'construction'
|
|
case 101: // 'context'
|
|
case 102: // 'continue'
|
|
case 103: // 'copy'
|
|
case 104: // 'copy-namespaces'
|
|
case 105: // 'count'
|
|
case 106: // 'decimal-format'
|
|
case 108: // 'declare'
|
|
case 109: // 'default'
|
|
case 110: // 'delete'
|
|
case 113: // 'descending'
|
|
case 118: // 'div'
|
|
case 120: // 'document-node'
|
|
case 122: // 'else'
|
|
case 123: // 'empty'
|
|
case 125: // 'encoding'
|
|
case 126: // 'end'
|
|
case 128: // 'eq'
|
|
case 129: // 'every'
|
|
case 131: // 'except'
|
|
case 132: // 'exit'
|
|
case 133: // 'external'
|
|
case 134: // 'first'
|
|
case 137: // 'for'
|
|
case 141: // 'ft-option'
|
|
case 145: // 'function'
|
|
case 146: // 'ge'
|
|
case 148: // 'group'
|
|
case 150: // 'gt'
|
|
case 151: // 'idiv'
|
|
case 153: // 'import'
|
|
case 154: // 'in'
|
|
case 155: // 'index'
|
|
case 159: // 'insert'
|
|
case 160: // 'instance'
|
|
case 161: // 'integrity'
|
|
case 162: // 'intersect'
|
|
case 163: // 'into'
|
|
case 164: // 'is'
|
|
case 166: // 'json'
|
|
case 170: // 'last'
|
|
case 171: // 'lax'
|
|
case 172: // 'le'
|
|
case 174: // 'let'
|
|
case 176: // 'loop'
|
|
case 178: // 'lt'
|
|
case 180: // 'mod'
|
|
case 181: // 'modify'
|
|
case 182: // 'module'
|
|
case 185: // 'namespace-node'
|
|
case 186: // 'ne'
|
|
case 191: // 'node'
|
|
case 192: // 'nodes'
|
|
case 194: // 'object'
|
|
case 198: // 'only'
|
|
case 199: // 'option'
|
|
case 200: // 'or'
|
|
case 201: // 'order'
|
|
case 203: // 'ordering'
|
|
case 218: // 'rename'
|
|
case 219: // 'replace'
|
|
case 220: // 'return'
|
|
case 221: // 'returning'
|
|
case 222: // 'revalidation'
|
|
case 224: // 'satisfies'
|
|
case 225: // 'schema'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 228: // 'score'
|
|
case 234: // 'sliding'
|
|
case 235: // 'some'
|
|
case 236: // 'stable'
|
|
case 237: // 'start'
|
|
case 240: // 'strict'
|
|
case 248: // 'to'
|
|
case 249: // 'treat'
|
|
case 250: // 'try'
|
|
case 251: // 'tumbling'
|
|
case 252: // 'type'
|
|
case 254: // 'union'
|
|
case 257: // 'updating'
|
|
case 260: // 'validate'
|
|
case 261: // 'value'
|
|
case 262: // 'variable'
|
|
case 263: // 'version'
|
|
case 266: // 'where'
|
|
case 267: // 'while'
|
|
case 270: // 'with'
|
|
case 274: // 'xquery'
|
|
lookahead2W(243); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 35922 // 'attribute' 'after'
|
|
|| lk == 35961 // 'element' 'after'
|
|
|| lk == 36024 // 'namespace' 'after'
|
|
|| lk == 36056 // 'processing-instruction' 'after'
|
|
|| lk == 38482 // 'attribute' 'and'
|
|
|| lk == 38521 // 'element' 'and'
|
|
|| lk == 38584 // 'namespace' 'and'
|
|
|| lk == 38616 // 'processing-instruction' 'and'
|
|
|| lk == 40530 // 'attribute' 'as'
|
|
|| lk == 40569 // 'element' 'as'
|
|
|| lk == 40632 // 'namespace' 'as'
|
|
|| lk == 40664 // 'processing-instruction' 'as'
|
|
|| lk == 41042 // 'attribute' 'ascending'
|
|
|| lk == 41081 // 'element' 'ascending'
|
|
|| lk == 41144 // 'namespace' 'ascending'
|
|
|| lk == 41176 // 'processing-instruction' 'ascending'
|
|
|| lk == 41554 // 'attribute' 'at'
|
|
|| lk == 41593 // 'element' 'at'
|
|
|| lk == 41656 // 'namespace' 'at'
|
|
|| lk == 41688 // 'processing-instruction' 'at'
|
|
|| lk == 43090 // 'attribute' 'before'
|
|
|| lk == 43129 // 'element' 'before'
|
|
|| lk == 43192 // 'namespace' 'before'
|
|
|| lk == 43224 // 'processing-instruction' 'before'
|
|
|| lk == 45138 // 'attribute' 'case'
|
|
|| lk == 45177 // 'element' 'case'
|
|
|| lk == 45240 // 'namespace' 'case'
|
|
|| lk == 45272 // 'processing-instruction' 'case'
|
|
|| lk == 45650 // 'attribute' 'cast'
|
|
|| lk == 45689 // 'element' 'cast'
|
|
|| lk == 45752 // 'namespace' 'cast'
|
|
|| lk == 45784 // 'processing-instruction' 'cast'
|
|
|| lk == 46162 // 'attribute' 'castable'
|
|
|| lk == 46201 // 'element' 'castable'
|
|
|| lk == 46264 // 'namespace' 'castable'
|
|
|| lk == 46296 // 'processing-instruction' 'castable'
|
|
|| lk == 48210 // 'attribute' 'collation'
|
|
|| lk == 48249 // 'element' 'collation'
|
|
|| lk == 48312 // 'namespace' 'collation'
|
|
|| lk == 48344 // 'processing-instruction' 'collation'
|
|
|| lk == 53842 // 'attribute' 'count'
|
|
|| lk == 53881 // 'element' 'count'
|
|
|| lk == 53944 // 'namespace' 'count'
|
|
|| lk == 53976 // 'processing-instruction' 'count'
|
|
|| lk == 55890 // 'attribute' 'default'
|
|
|| lk == 55929 // 'element' 'default'
|
|
|| lk == 55992 // 'namespace' 'default'
|
|
|| lk == 56024 // 'processing-instruction' 'default'
|
|
|| lk == 57938 // 'attribute' 'descending'
|
|
|| lk == 57977 // 'element' 'descending'
|
|
|| lk == 58040 // 'namespace' 'descending'
|
|
|| lk == 58072 // 'processing-instruction' 'descending'
|
|
|| lk == 60498 // 'attribute' 'div'
|
|
|| lk == 60537 // 'element' 'div'
|
|
|| lk == 60600 // 'namespace' 'div'
|
|
|| lk == 60632 // 'processing-instruction' 'div'
|
|
|| lk == 62546 // 'attribute' 'else'
|
|
|| lk == 62585 // 'element' 'else'
|
|
|| lk == 62648 // 'namespace' 'else'
|
|
|| lk == 62680 // 'processing-instruction' 'else'
|
|
|| lk == 63058 // 'attribute' 'empty'
|
|
|| lk == 63097 // 'element' 'empty'
|
|
|| lk == 63160 // 'namespace' 'empty'
|
|
|| lk == 63192 // 'processing-instruction' 'empty'
|
|
|| lk == 64594 // 'attribute' 'end'
|
|
|| lk == 64633 // 'element' 'end'
|
|
|| lk == 64696 // 'namespace' 'end'
|
|
|| lk == 64728 // 'processing-instruction' 'end'
|
|
|| lk == 65618 // 'attribute' 'eq'
|
|
|| lk == 65657 // 'element' 'eq'
|
|
|| lk == 65720 // 'namespace' 'eq'
|
|
|| lk == 65752 // 'processing-instruction' 'eq'
|
|
|| lk == 67154 // 'attribute' 'except'
|
|
|| lk == 67193 // 'element' 'except'
|
|
|| lk == 67256 // 'namespace' 'except'
|
|
|| lk == 67288 // 'processing-instruction' 'except'
|
|
|| lk == 70226 // 'attribute' 'for'
|
|
|| lk == 70265 // 'element' 'for'
|
|
|| lk == 70328 // 'namespace' 'for'
|
|
|| lk == 70360 // 'processing-instruction' 'for'
|
|
|| lk == 74834 // 'attribute' 'ge'
|
|
|| lk == 74873 // 'element' 'ge'
|
|
|| lk == 74936 // 'namespace' 'ge'
|
|
|| lk == 74968 // 'processing-instruction' 'ge'
|
|
|| lk == 75858 // 'attribute' 'group'
|
|
|| lk == 75897 // 'element' 'group'
|
|
|| lk == 75960 // 'namespace' 'group'
|
|
|| lk == 75992 // 'processing-instruction' 'group'
|
|
|| lk == 76882 // 'attribute' 'gt'
|
|
|| lk == 76921 // 'element' 'gt'
|
|
|| lk == 76984 // 'namespace' 'gt'
|
|
|| lk == 77016 // 'processing-instruction' 'gt'
|
|
|| lk == 77394 // 'attribute' 'idiv'
|
|
|| lk == 77433 // 'element' 'idiv'
|
|
|| lk == 77496 // 'namespace' 'idiv'
|
|
|| lk == 77528 // 'processing-instruction' 'idiv'
|
|
|| lk == 82002 // 'attribute' 'instance'
|
|
|| lk == 82041 // 'element' 'instance'
|
|
|| lk == 82104 // 'namespace' 'instance'
|
|
|| lk == 82136 // 'processing-instruction' 'instance'
|
|
|| lk == 83026 // 'attribute' 'intersect'
|
|
|| lk == 83065 // 'element' 'intersect'
|
|
|| lk == 83128 // 'namespace' 'intersect'
|
|
|| lk == 83160 // 'processing-instruction' 'intersect'
|
|
|| lk == 83538 // 'attribute' 'into'
|
|
|| lk == 83577 // 'element' 'into'
|
|
|| lk == 83640 // 'namespace' 'into'
|
|
|| lk == 83672 // 'processing-instruction' 'into'
|
|
|| lk == 84050 // 'attribute' 'is'
|
|
|| lk == 84089 // 'element' 'is'
|
|
|| lk == 84152 // 'namespace' 'is'
|
|
|| lk == 84184 // 'processing-instruction' 'is'
|
|
|| lk == 88146 // 'attribute' 'le'
|
|
|| lk == 88185 // 'element' 'le'
|
|
|| lk == 88248 // 'namespace' 'le'
|
|
|| lk == 88280 // 'processing-instruction' 'le'
|
|
|| lk == 89170 // 'attribute' 'let'
|
|
|| lk == 89209 // 'element' 'let'
|
|
|| lk == 89272 // 'namespace' 'let'
|
|
|| lk == 89304 // 'processing-instruction' 'let'
|
|
|| lk == 91218 // 'attribute' 'lt'
|
|
|| lk == 91257 // 'element' 'lt'
|
|
|| lk == 91320 // 'namespace' 'lt'
|
|
|| lk == 91352 // 'processing-instruction' 'lt'
|
|
|| lk == 92242 // 'attribute' 'mod'
|
|
|| lk == 92281 // 'element' 'mod'
|
|
|| lk == 92344 // 'namespace' 'mod'
|
|
|| lk == 92376 // 'processing-instruction' 'mod'
|
|
|| lk == 92754 // 'attribute' 'modify'
|
|
|| lk == 92793 // 'element' 'modify'
|
|
|| lk == 92856 // 'namespace' 'modify'
|
|
|| lk == 92888 // 'processing-instruction' 'modify'
|
|
|| lk == 95314 // 'attribute' 'ne'
|
|
|| lk == 95353 // 'element' 'ne'
|
|
|| lk == 95416 // 'namespace' 'ne'
|
|
|| lk == 95448 // 'processing-instruction' 'ne'
|
|
|| lk == 101458 // 'attribute' 'only'
|
|
|| lk == 101497 // 'element' 'only'
|
|
|| lk == 101560 // 'namespace' 'only'
|
|
|| lk == 101592 // 'processing-instruction' 'only'
|
|
|| lk == 102482 // 'attribute' 'or'
|
|
|| lk == 102521 // 'element' 'or'
|
|
|| lk == 102584 // 'namespace' 'or'
|
|
|| lk == 102616 // 'processing-instruction' 'or'
|
|
|| lk == 102994 // 'attribute' 'order'
|
|
|| lk == 103033 // 'element' 'order'
|
|
|| lk == 103096 // 'namespace' 'order'
|
|
|| lk == 103128 // 'processing-instruction' 'order'
|
|
|| lk == 112722 // 'attribute' 'return'
|
|
|| lk == 112761 // 'element' 'return'
|
|
|| lk == 112824 // 'namespace' 'return'
|
|
|| lk == 112856 // 'processing-instruction' 'return'
|
|
|| lk == 114770 // 'attribute' 'satisfies'
|
|
|| lk == 114809 // 'element' 'satisfies'
|
|
|| lk == 114872 // 'namespace' 'satisfies'
|
|
|| lk == 114904 // 'processing-instruction' 'satisfies'
|
|
|| lk == 120914 // 'attribute' 'stable'
|
|
|| lk == 120953 // 'element' 'stable'
|
|
|| lk == 121016 // 'namespace' 'stable'
|
|
|| lk == 121048 // 'processing-instruction' 'stable'
|
|
|| lk == 121426 // 'attribute' 'start'
|
|
|| lk == 121465 // 'element' 'start'
|
|
|| lk == 121528 // 'namespace' 'start'
|
|
|| lk == 121560 // 'processing-instruction' 'start'
|
|
|| lk == 127058 // 'attribute' 'to'
|
|
|| lk == 127097 // 'element' 'to'
|
|
|| lk == 127160 // 'namespace' 'to'
|
|
|| lk == 127192 // 'processing-instruction' 'to'
|
|
|| lk == 127570 // 'attribute' 'treat'
|
|
|| lk == 127609 // 'element' 'treat'
|
|
|| lk == 127672 // 'namespace' 'treat'
|
|
|| lk == 127704 // 'processing-instruction' 'treat'
|
|
|| lk == 130130 // 'attribute' 'union'
|
|
|| lk == 130169 // 'element' 'union'
|
|
|| lk == 130232 // 'namespace' 'union'
|
|
|| lk == 130264 // 'processing-instruction' 'union'
|
|
|| lk == 136274 // 'attribute' 'where'
|
|
|| lk == 136313 // 'element' 'where'
|
|
|| lk == 136376 // 'namespace' 'where'
|
|
|| lk == 136408 // 'processing-instruction' 'where'
|
|
|| lk == 138322 // 'attribute' 'with'
|
|
|| lk == 138361 // 'element' 'with'
|
|
|| lk == 138424 // 'namespace' 'with'
|
|
|| lk == 138456) // 'processing-instruction' 'with'
|
|
{
|
|
lk = memoized(4, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_PostfixExpr();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(4, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 31: // '$'
|
|
case 32: // '%'
|
|
case 34: // '('
|
|
case 44: // '.'
|
|
case 54: // '<'
|
|
case 55: // '<!--'
|
|
case 59: // '<?'
|
|
case 68: // '['
|
|
case 276: // '{'
|
|
case 278: // '{|'
|
|
case 3154: // 'attribute' EQName^Token
|
|
case 3193: // 'element' EQName^Token
|
|
case 9912: // 'namespace' NCName^Token
|
|
case 9944: // 'processing-instruction' NCName^Token
|
|
case 14854: // EQName^Token '#'
|
|
case 14918: // 'after' '#'
|
|
case 14920: // 'allowing' '#'
|
|
case 14921: // 'ancestor' '#'
|
|
case 14922: // 'ancestor-or-self' '#'
|
|
case 14923: // 'and' '#'
|
|
case 14925: // 'append' '#'
|
|
case 14926: // 'array' '#'
|
|
case 14927: // 'as' '#'
|
|
case 14928: // 'ascending' '#'
|
|
case 14929: // 'at' '#'
|
|
case 14930: // 'attribute' '#'
|
|
case 14931: // 'base-uri' '#'
|
|
case 14932: // 'before' '#'
|
|
case 14933: // 'boundary-space' '#'
|
|
case 14934: // 'break' '#'
|
|
case 14936: // 'case' '#'
|
|
case 14937: // 'cast' '#'
|
|
case 14938: // 'castable' '#'
|
|
case 14939: // 'catch' '#'
|
|
case 14941: // 'child' '#'
|
|
case 14942: // 'collation' '#'
|
|
case 14944: // 'comment' '#'
|
|
case 14945: // 'constraint' '#'
|
|
case 14946: // 'construction' '#'
|
|
case 14949: // 'context' '#'
|
|
case 14950: // 'continue' '#'
|
|
case 14951: // 'copy' '#'
|
|
case 14952: // 'copy-namespaces' '#'
|
|
case 14953: // 'count' '#'
|
|
case 14954: // 'decimal-format' '#'
|
|
case 14956: // 'declare' '#'
|
|
case 14957: // 'default' '#'
|
|
case 14958: // 'delete' '#'
|
|
case 14959: // 'descendant' '#'
|
|
case 14960: // 'descendant-or-self' '#'
|
|
case 14961: // 'descending' '#'
|
|
case 14966: // 'div' '#'
|
|
case 14967: // 'document' '#'
|
|
case 14968: // 'document-node' '#'
|
|
case 14969: // 'element' '#'
|
|
case 14970: // 'else' '#'
|
|
case 14971: // 'empty' '#'
|
|
case 14972: // 'empty-sequence' '#'
|
|
case 14973: // 'encoding' '#'
|
|
case 14974: // 'end' '#'
|
|
case 14976: // 'eq' '#'
|
|
case 14977: // 'every' '#'
|
|
case 14979: // 'except' '#'
|
|
case 14980: // 'exit' '#'
|
|
case 14981: // 'external' '#'
|
|
case 14982: // 'first' '#'
|
|
case 14983: // 'following' '#'
|
|
case 14984: // 'following-sibling' '#'
|
|
case 14985: // 'for' '#'
|
|
case 14989: // 'ft-option' '#'
|
|
case 14993: // 'function' '#'
|
|
case 14994: // 'ge' '#'
|
|
case 14996: // 'group' '#'
|
|
case 14998: // 'gt' '#'
|
|
case 14999: // 'idiv' '#'
|
|
case 15000: // 'if' '#'
|
|
case 15001: // 'import' '#'
|
|
case 15002: // 'in' '#'
|
|
case 15003: // 'index' '#'
|
|
case 15007: // 'insert' '#'
|
|
case 15008: // 'instance' '#'
|
|
case 15009: // 'integrity' '#'
|
|
case 15010: // 'intersect' '#'
|
|
case 15011: // 'into' '#'
|
|
case 15012: // 'is' '#'
|
|
case 15013: // 'item' '#'
|
|
case 15014: // 'json' '#'
|
|
case 15015: // 'json-item' '#'
|
|
case 15018: // 'last' '#'
|
|
case 15019: // 'lax' '#'
|
|
case 15020: // 'le' '#'
|
|
case 15022: // 'let' '#'
|
|
case 15024: // 'loop' '#'
|
|
case 15026: // 'lt' '#'
|
|
case 15028: // 'mod' '#'
|
|
case 15029: // 'modify' '#'
|
|
case 15030: // 'module' '#'
|
|
case 15032: // 'namespace' '#'
|
|
case 15033: // 'namespace-node' '#'
|
|
case 15034: // 'ne' '#'
|
|
case 15039: // 'node' '#'
|
|
case 15040: // 'nodes' '#'
|
|
case 15042: // 'object' '#'
|
|
case 15046: // 'only' '#'
|
|
case 15047: // 'option' '#'
|
|
case 15048: // 'or' '#'
|
|
case 15049: // 'order' '#'
|
|
case 15050: // 'ordered' '#'
|
|
case 15051: // 'ordering' '#'
|
|
case 15054: // 'parent' '#'
|
|
case 15060: // 'preceding' '#'
|
|
case 15061: // 'preceding-sibling' '#'
|
|
case 15064: // 'processing-instruction' '#'
|
|
case 15066: // 'rename' '#'
|
|
case 15067: // 'replace' '#'
|
|
case 15068: // 'return' '#'
|
|
case 15069: // 'returning' '#'
|
|
case 15070: // 'revalidation' '#'
|
|
case 15072: // 'satisfies' '#'
|
|
case 15073: // 'schema' '#'
|
|
case 15074: // 'schema-attribute' '#'
|
|
case 15075: // 'schema-element' '#'
|
|
case 15076: // 'score' '#'
|
|
case 15077: // 'self' '#'
|
|
case 15082: // 'sliding' '#'
|
|
case 15083: // 'some' '#'
|
|
case 15084: // 'stable' '#'
|
|
case 15085: // 'start' '#'
|
|
case 15088: // 'strict' '#'
|
|
case 15090: // 'structured-item' '#'
|
|
case 15091: // 'switch' '#'
|
|
case 15092: // 'text' '#'
|
|
case 15096: // 'to' '#'
|
|
case 15097: // 'treat' '#'
|
|
case 15098: // 'try' '#'
|
|
case 15099: // 'tumbling' '#'
|
|
case 15100: // 'type' '#'
|
|
case 15101: // 'typeswitch' '#'
|
|
case 15102: // 'union' '#'
|
|
case 15104: // 'unordered' '#'
|
|
case 15105: // 'updating' '#'
|
|
case 15108: // 'validate' '#'
|
|
case 15109: // 'value' '#'
|
|
case 15110: // 'variable' '#'
|
|
case 15111: // 'version' '#'
|
|
case 15114: // 'where' '#'
|
|
case 15115: // 'while' '#'
|
|
case 15118: // 'with' '#'
|
|
case 15122: // 'xquery' '#'
|
|
case 17414: // EQName^Token '('
|
|
case 17478: // 'after' '('
|
|
case 17480: // 'allowing' '('
|
|
case 17481: // 'ancestor' '('
|
|
case 17482: // 'ancestor-or-self' '('
|
|
case 17483: // 'and' '('
|
|
case 17485: // 'append' '('
|
|
case 17487: // 'as' '('
|
|
case 17488: // 'ascending' '('
|
|
case 17489: // 'at' '('
|
|
case 17491: // 'base-uri' '('
|
|
case 17492: // 'before' '('
|
|
case 17493: // 'boundary-space' '('
|
|
case 17494: // 'break' '('
|
|
case 17496: // 'case' '('
|
|
case 17497: // 'cast' '('
|
|
case 17498: // 'castable' '('
|
|
case 17499: // 'catch' '('
|
|
case 17501: // 'child' '('
|
|
case 17502: // 'collation' '('
|
|
case 17505: // 'constraint' '('
|
|
case 17506: // 'construction' '('
|
|
case 17509: // 'context' '('
|
|
case 17510: // 'continue' '('
|
|
case 17511: // 'copy' '('
|
|
case 17512: // 'copy-namespaces' '('
|
|
case 17513: // 'count' '('
|
|
case 17514: // 'decimal-format' '('
|
|
case 17516: // 'declare' '('
|
|
case 17517: // 'default' '('
|
|
case 17518: // 'delete' '('
|
|
case 17519: // 'descendant' '('
|
|
case 17520: // 'descendant-or-self' '('
|
|
case 17521: // 'descending' '('
|
|
case 17526: // 'div' '('
|
|
case 17527: // 'document' '('
|
|
case 17530: // 'else' '('
|
|
case 17531: // 'empty' '('
|
|
case 17533: // 'encoding' '('
|
|
case 17534: // 'end' '('
|
|
case 17536: // 'eq' '('
|
|
case 17537: // 'every' '('
|
|
case 17539: // 'except' '('
|
|
case 17540: // 'exit' '('
|
|
case 17541: // 'external' '('
|
|
case 17542: // 'first' '('
|
|
case 17543: // 'following' '('
|
|
case 17544: // 'following-sibling' '('
|
|
case 17545: // 'for' '('
|
|
case 17549: // 'ft-option' '('
|
|
case 17553: // 'function' '('
|
|
case 17554: // 'ge' '('
|
|
case 17556: // 'group' '('
|
|
case 17558: // 'gt' '('
|
|
case 17559: // 'idiv' '('
|
|
case 17561: // 'import' '('
|
|
case 17562: // 'in' '('
|
|
case 17563: // 'index' '('
|
|
case 17567: // 'insert' '('
|
|
case 17568: // 'instance' '('
|
|
case 17569: // 'integrity' '('
|
|
case 17570: // 'intersect' '('
|
|
case 17571: // 'into' '('
|
|
case 17572: // 'is' '('
|
|
case 17574: // 'json' '('
|
|
case 17578: // 'last' '('
|
|
case 17579: // 'lax' '('
|
|
case 17580: // 'le' '('
|
|
case 17582: // 'let' '('
|
|
case 17584: // 'loop' '('
|
|
case 17586: // 'lt' '('
|
|
case 17588: // 'mod' '('
|
|
case 17589: // 'modify' '('
|
|
case 17590: // 'module' '('
|
|
case 17592: // 'namespace' '('
|
|
case 17594: // 'ne' '('
|
|
case 17600: // 'nodes' '('
|
|
case 17602: // 'object' '('
|
|
case 17606: // 'only' '('
|
|
case 17607: // 'option' '('
|
|
case 17608: // 'or' '('
|
|
case 17609: // 'order' '('
|
|
case 17610: // 'ordered' '('
|
|
case 17611: // 'ordering' '('
|
|
case 17614: // 'parent' '('
|
|
case 17620: // 'preceding' '('
|
|
case 17621: // 'preceding-sibling' '('
|
|
case 17626: // 'rename' '('
|
|
case 17627: // 'replace' '('
|
|
case 17628: // 'return' '('
|
|
case 17629: // 'returning' '('
|
|
case 17630: // 'revalidation' '('
|
|
case 17632: // 'satisfies' '('
|
|
case 17633: // 'schema' '('
|
|
case 17636: // 'score' '('
|
|
case 17637: // 'self' '('
|
|
case 17642: // 'sliding' '('
|
|
case 17643: // 'some' '('
|
|
case 17644: // 'stable' '('
|
|
case 17645: // 'start' '('
|
|
case 17648: // 'strict' '('
|
|
case 17656: // 'to' '('
|
|
case 17657: // 'treat' '('
|
|
case 17658: // 'try' '('
|
|
case 17659: // 'tumbling' '('
|
|
case 17660: // 'type' '('
|
|
case 17662: // 'union' '('
|
|
case 17664: // 'unordered' '('
|
|
case 17665: // 'updating' '('
|
|
case 17668: // 'validate' '('
|
|
case 17669: // 'value' '('
|
|
case 17670: // 'variable' '('
|
|
case 17671: // 'version' '('
|
|
case 17674: // 'where' '('
|
|
case 17675: // 'while' '('
|
|
case 17678: // 'with' '('
|
|
case 17682: // 'xquery' '('
|
|
case 36946: // 'attribute' 'allowing'
|
|
case 36985: // 'element' 'allowing'
|
|
case 37048: // 'namespace' 'allowing'
|
|
case 37080: // 'processing-instruction' 'allowing'
|
|
case 37458: // 'attribute' 'ancestor'
|
|
case 37497: // 'element' 'ancestor'
|
|
case 37560: // 'namespace' 'ancestor'
|
|
case 37592: // 'processing-instruction' 'ancestor'
|
|
case 37970: // 'attribute' 'ancestor-or-self'
|
|
case 38009: // 'element' 'ancestor-or-self'
|
|
case 38072: // 'namespace' 'ancestor-or-self'
|
|
case 38104: // 'processing-instruction' 'ancestor-or-self'
|
|
case 39506: // 'attribute' 'append'
|
|
case 39545: // 'element' 'append'
|
|
case 39608: // 'namespace' 'append'
|
|
case 39640: // 'processing-instruction' 'append'
|
|
case 40018: // 'attribute' 'array'
|
|
case 40057: // 'element' 'array'
|
|
case 42066: // 'attribute' 'attribute'
|
|
case 42105: // 'element' 'attribute'
|
|
case 42168: // 'namespace' 'attribute'
|
|
case 42200: // 'processing-instruction' 'attribute'
|
|
case 42578: // 'attribute' 'base-uri'
|
|
case 42617: // 'element' 'base-uri'
|
|
case 42680: // 'namespace' 'base-uri'
|
|
case 42712: // 'processing-instruction' 'base-uri'
|
|
case 43602: // 'attribute' 'boundary-space'
|
|
case 43641: // 'element' 'boundary-space'
|
|
case 43704: // 'namespace' 'boundary-space'
|
|
case 43736: // 'processing-instruction' 'boundary-space'
|
|
case 44114: // 'attribute' 'break'
|
|
case 44153: // 'element' 'break'
|
|
case 44216: // 'namespace' 'break'
|
|
case 44248: // 'processing-instruction' 'break'
|
|
case 46674: // 'attribute' 'catch'
|
|
case 46713: // 'element' 'catch'
|
|
case 46776: // 'namespace' 'catch'
|
|
case 46808: // 'processing-instruction' 'catch'
|
|
case 47698: // 'attribute' 'child'
|
|
case 47737: // 'element' 'child'
|
|
case 47800: // 'namespace' 'child'
|
|
case 47832: // 'processing-instruction' 'child'
|
|
case 49234: // 'attribute' 'comment'
|
|
case 49273: // 'element' 'comment'
|
|
case 49336: // 'namespace' 'comment'
|
|
case 49368: // 'processing-instruction' 'comment'
|
|
case 49746: // 'attribute' 'constraint'
|
|
case 49785: // 'element' 'constraint'
|
|
case 49848: // 'namespace' 'constraint'
|
|
case 49880: // 'processing-instruction' 'constraint'
|
|
case 50258: // 'attribute' 'construction'
|
|
case 50297: // 'element' 'construction'
|
|
case 50360: // 'namespace' 'construction'
|
|
case 50392: // 'processing-instruction' 'construction'
|
|
case 51794: // 'attribute' 'context'
|
|
case 51833: // 'element' 'context'
|
|
case 51896: // 'namespace' 'context'
|
|
case 51928: // 'processing-instruction' 'context'
|
|
case 52306: // 'attribute' 'continue'
|
|
case 52345: // 'element' 'continue'
|
|
case 52408: // 'namespace' 'continue'
|
|
case 52440: // 'processing-instruction' 'continue'
|
|
case 52818: // 'attribute' 'copy'
|
|
case 52857: // 'element' 'copy'
|
|
case 52920: // 'namespace' 'copy'
|
|
case 52952: // 'processing-instruction' 'copy'
|
|
case 53330: // 'attribute' 'copy-namespaces'
|
|
case 53369: // 'element' 'copy-namespaces'
|
|
case 53432: // 'namespace' 'copy-namespaces'
|
|
case 53464: // 'processing-instruction' 'copy-namespaces'
|
|
case 54354: // 'attribute' 'decimal-format'
|
|
case 54393: // 'element' 'decimal-format'
|
|
case 54456: // 'namespace' 'decimal-format'
|
|
case 54488: // 'processing-instruction' 'decimal-format'
|
|
case 55378: // 'attribute' 'declare'
|
|
case 55417: // 'element' 'declare'
|
|
case 55480: // 'namespace' 'declare'
|
|
case 55512: // 'processing-instruction' 'declare'
|
|
case 56402: // 'attribute' 'delete'
|
|
case 56441: // 'element' 'delete'
|
|
case 56504: // 'namespace' 'delete'
|
|
case 56536: // 'processing-instruction' 'delete'
|
|
case 56914: // 'attribute' 'descendant'
|
|
case 56953: // 'element' 'descendant'
|
|
case 57016: // 'namespace' 'descendant'
|
|
case 57048: // 'processing-instruction' 'descendant'
|
|
case 57426: // 'attribute' 'descendant-or-self'
|
|
case 57465: // 'element' 'descendant-or-self'
|
|
case 57528: // 'namespace' 'descendant-or-self'
|
|
case 57560: // 'processing-instruction' 'descendant-or-self'
|
|
case 61010: // 'attribute' 'document'
|
|
case 61049: // 'element' 'document'
|
|
case 61112: // 'namespace' 'document'
|
|
case 61144: // 'processing-instruction' 'document'
|
|
case 61522: // 'attribute' 'document-node'
|
|
case 61561: // 'element' 'document-node'
|
|
case 61624: // 'namespace' 'document-node'
|
|
case 61656: // 'processing-instruction' 'document-node'
|
|
case 62034: // 'attribute' 'element'
|
|
case 62073: // 'element' 'element'
|
|
case 62136: // 'namespace' 'element'
|
|
case 62168: // 'processing-instruction' 'element'
|
|
case 63570: // 'attribute' 'empty-sequence'
|
|
case 63609: // 'element' 'empty-sequence'
|
|
case 63672: // 'namespace' 'empty-sequence'
|
|
case 63704: // 'processing-instruction' 'empty-sequence'
|
|
case 64082: // 'attribute' 'encoding'
|
|
case 64121: // 'element' 'encoding'
|
|
case 64184: // 'namespace' 'encoding'
|
|
case 64216: // 'processing-instruction' 'encoding'
|
|
case 66130: // 'attribute' 'every'
|
|
case 66169: // 'element' 'every'
|
|
case 66232: // 'namespace' 'every'
|
|
case 66264: // 'processing-instruction' 'every'
|
|
case 67666: // 'attribute' 'exit'
|
|
case 67705: // 'element' 'exit'
|
|
case 67768: // 'namespace' 'exit'
|
|
case 67800: // 'processing-instruction' 'exit'
|
|
case 68178: // 'attribute' 'external'
|
|
case 68217: // 'element' 'external'
|
|
case 68280: // 'namespace' 'external'
|
|
case 68312: // 'processing-instruction' 'external'
|
|
case 68690: // 'attribute' 'first'
|
|
case 68729: // 'element' 'first'
|
|
case 68792: // 'namespace' 'first'
|
|
case 68824: // 'processing-instruction' 'first'
|
|
case 69202: // 'attribute' 'following'
|
|
case 69241: // 'element' 'following'
|
|
case 69304: // 'namespace' 'following'
|
|
case 69336: // 'processing-instruction' 'following'
|
|
case 69714: // 'attribute' 'following-sibling'
|
|
case 69753: // 'element' 'following-sibling'
|
|
case 69816: // 'namespace' 'following-sibling'
|
|
case 69848: // 'processing-instruction' 'following-sibling'
|
|
case 72274: // 'attribute' 'ft-option'
|
|
case 72313: // 'element' 'ft-option'
|
|
case 72376: // 'namespace' 'ft-option'
|
|
case 72408: // 'processing-instruction' 'ft-option'
|
|
case 74322: // 'attribute' 'function'
|
|
case 74361: // 'element' 'function'
|
|
case 74424: // 'namespace' 'function'
|
|
case 74456: // 'processing-instruction' 'function'
|
|
case 77906: // 'attribute' 'if'
|
|
case 77945: // 'element' 'if'
|
|
case 78008: // 'namespace' 'if'
|
|
case 78040: // 'processing-instruction' 'if'
|
|
case 78418: // 'attribute' 'import'
|
|
case 78457: // 'element' 'import'
|
|
case 78520: // 'namespace' 'import'
|
|
case 78552: // 'processing-instruction' 'import'
|
|
case 78930: // 'attribute' 'in'
|
|
case 78969: // 'element' 'in'
|
|
case 79032: // 'namespace' 'in'
|
|
case 79064: // 'processing-instruction' 'in'
|
|
case 79442: // 'attribute' 'index'
|
|
case 79481: // 'element' 'index'
|
|
case 79544: // 'namespace' 'index'
|
|
case 79576: // 'processing-instruction' 'index'
|
|
case 81490: // 'attribute' 'insert'
|
|
case 81529: // 'element' 'insert'
|
|
case 81592: // 'namespace' 'insert'
|
|
case 81624: // 'processing-instruction' 'insert'
|
|
case 82514: // 'attribute' 'integrity'
|
|
case 82553: // 'element' 'integrity'
|
|
case 82616: // 'namespace' 'integrity'
|
|
case 82648: // 'processing-instruction' 'integrity'
|
|
case 84562: // 'attribute' 'item'
|
|
case 84601: // 'element' 'item'
|
|
case 84664: // 'namespace' 'item'
|
|
case 84696: // 'processing-instruction' 'item'
|
|
case 85074: // 'attribute' 'json'
|
|
case 85113: // 'element' 'json'
|
|
case 85176: // 'namespace' 'json'
|
|
case 85208: // 'processing-instruction' 'json'
|
|
case 85586: // 'attribute' 'json-item'
|
|
case 85625: // 'element' 'json-item'
|
|
case 87122: // 'attribute' 'last'
|
|
case 87161: // 'element' 'last'
|
|
case 87224: // 'namespace' 'last'
|
|
case 87256: // 'processing-instruction' 'last'
|
|
case 87634: // 'attribute' 'lax'
|
|
case 87673: // 'element' 'lax'
|
|
case 87736: // 'namespace' 'lax'
|
|
case 87768: // 'processing-instruction' 'lax'
|
|
case 90194: // 'attribute' 'loop'
|
|
case 90233: // 'element' 'loop'
|
|
case 90296: // 'namespace' 'loop'
|
|
case 90328: // 'processing-instruction' 'loop'
|
|
case 93266: // 'attribute' 'module'
|
|
case 93305: // 'element' 'module'
|
|
case 93368: // 'namespace' 'module'
|
|
case 93400: // 'processing-instruction' 'module'
|
|
case 94290: // 'attribute' 'namespace'
|
|
case 94329: // 'element' 'namespace'
|
|
case 94392: // 'namespace' 'namespace'
|
|
case 94424: // 'processing-instruction' 'namespace'
|
|
case 94802: // 'attribute' 'namespace-node'
|
|
case 94841: // 'element' 'namespace-node'
|
|
case 94904: // 'namespace' 'namespace-node'
|
|
case 94936: // 'processing-instruction' 'namespace-node'
|
|
case 97874: // 'attribute' 'node'
|
|
case 97913: // 'element' 'node'
|
|
case 97976: // 'namespace' 'node'
|
|
case 98008: // 'processing-instruction' 'node'
|
|
case 98386: // 'attribute' 'nodes'
|
|
case 98425: // 'element' 'nodes'
|
|
case 98488: // 'namespace' 'nodes'
|
|
case 98520: // 'processing-instruction' 'nodes'
|
|
case 99410: // 'attribute' 'object'
|
|
case 99449: // 'element' 'object'
|
|
case 99512: // 'namespace' 'object'
|
|
case 99544: // 'processing-instruction' 'object'
|
|
case 101970: // 'attribute' 'option'
|
|
case 102009: // 'element' 'option'
|
|
case 102072: // 'namespace' 'option'
|
|
case 102104: // 'processing-instruction' 'option'
|
|
case 103506: // 'attribute' 'ordered'
|
|
case 103545: // 'element' 'ordered'
|
|
case 103608: // 'namespace' 'ordered'
|
|
case 103640: // 'processing-instruction' 'ordered'
|
|
case 104018: // 'attribute' 'ordering'
|
|
case 104057: // 'element' 'ordering'
|
|
case 104120: // 'namespace' 'ordering'
|
|
case 104152: // 'processing-instruction' 'ordering'
|
|
case 105554: // 'attribute' 'parent'
|
|
case 105593: // 'element' 'parent'
|
|
case 105656: // 'namespace' 'parent'
|
|
case 105688: // 'processing-instruction' 'parent'
|
|
case 108626: // 'attribute' 'preceding'
|
|
case 108665: // 'element' 'preceding'
|
|
case 108728: // 'namespace' 'preceding'
|
|
case 108760: // 'processing-instruction' 'preceding'
|
|
case 109138: // 'attribute' 'preceding-sibling'
|
|
case 109177: // 'element' 'preceding-sibling'
|
|
case 109240: // 'namespace' 'preceding-sibling'
|
|
case 109272: // 'processing-instruction' 'preceding-sibling'
|
|
case 110674: // 'attribute' 'processing-instruction'
|
|
case 110713: // 'element' 'processing-instruction'
|
|
case 110776: // 'namespace' 'processing-instruction'
|
|
case 110808: // 'processing-instruction' 'processing-instruction'
|
|
case 111698: // 'attribute' 'rename'
|
|
case 111737: // 'element' 'rename'
|
|
case 111800: // 'namespace' 'rename'
|
|
case 111832: // 'processing-instruction' 'rename'
|
|
case 112210: // 'attribute' 'replace'
|
|
case 112249: // 'element' 'replace'
|
|
case 112312: // 'namespace' 'replace'
|
|
case 112344: // 'processing-instruction' 'replace'
|
|
case 113234: // 'attribute' 'returning'
|
|
case 113273: // 'element' 'returning'
|
|
case 113336: // 'namespace' 'returning'
|
|
case 113368: // 'processing-instruction' 'returning'
|
|
case 113746: // 'attribute' 'revalidation'
|
|
case 113785: // 'element' 'revalidation'
|
|
case 113848: // 'namespace' 'revalidation'
|
|
case 113880: // 'processing-instruction' 'revalidation'
|
|
case 115282: // 'attribute' 'schema'
|
|
case 115321: // 'element' 'schema'
|
|
case 115384: // 'namespace' 'schema'
|
|
case 115416: // 'processing-instruction' 'schema'
|
|
case 115794: // 'attribute' 'schema-attribute'
|
|
case 115833: // 'element' 'schema-attribute'
|
|
case 115896: // 'namespace' 'schema-attribute'
|
|
case 115928: // 'processing-instruction' 'schema-attribute'
|
|
case 116306: // 'attribute' 'schema-element'
|
|
case 116345: // 'element' 'schema-element'
|
|
case 116408: // 'namespace' 'schema-element'
|
|
case 116440: // 'processing-instruction' 'schema-element'
|
|
case 116818: // 'attribute' 'score'
|
|
case 116857: // 'element' 'score'
|
|
case 116920: // 'namespace' 'score'
|
|
case 116952: // 'processing-instruction' 'score'
|
|
case 117330: // 'attribute' 'self'
|
|
case 117369: // 'element' 'self'
|
|
case 117432: // 'namespace' 'self'
|
|
case 117464: // 'processing-instruction' 'self'
|
|
case 119890: // 'attribute' 'sliding'
|
|
case 119929: // 'element' 'sliding'
|
|
case 119992: // 'namespace' 'sliding'
|
|
case 120024: // 'processing-instruction' 'sliding'
|
|
case 120402: // 'attribute' 'some'
|
|
case 120441: // 'element' 'some'
|
|
case 120504: // 'namespace' 'some'
|
|
case 120536: // 'processing-instruction' 'some'
|
|
case 122962: // 'attribute' 'strict'
|
|
case 123001: // 'element' 'strict'
|
|
case 123064: // 'namespace' 'strict'
|
|
case 123096: // 'processing-instruction' 'strict'
|
|
case 123986: // 'attribute' 'structured-item'
|
|
case 124025: // 'element' 'structured-item'
|
|
case 124498: // 'attribute' 'switch'
|
|
case 124537: // 'element' 'switch'
|
|
case 124600: // 'namespace' 'switch'
|
|
case 124632: // 'processing-instruction' 'switch'
|
|
case 125010: // 'attribute' 'text'
|
|
case 125049: // 'element' 'text'
|
|
case 125112: // 'namespace' 'text'
|
|
case 125144: // 'processing-instruction' 'text'
|
|
case 128082: // 'attribute' 'try'
|
|
case 128121: // 'element' 'try'
|
|
case 128184: // 'namespace' 'try'
|
|
case 128216: // 'processing-instruction' 'try'
|
|
case 128594: // 'attribute' 'tumbling'
|
|
case 128633: // 'element' 'tumbling'
|
|
case 128696: // 'namespace' 'tumbling'
|
|
case 128728: // 'processing-instruction' 'tumbling'
|
|
case 129106: // 'attribute' 'type'
|
|
case 129145: // 'element' 'type'
|
|
case 129208: // 'namespace' 'type'
|
|
case 129240: // 'processing-instruction' 'type'
|
|
case 129618: // 'attribute' 'typeswitch'
|
|
case 129657: // 'element' 'typeswitch'
|
|
case 129720: // 'namespace' 'typeswitch'
|
|
case 129752: // 'processing-instruction' 'typeswitch'
|
|
case 131154: // 'attribute' 'unordered'
|
|
case 131193: // 'element' 'unordered'
|
|
case 131256: // 'namespace' 'unordered'
|
|
case 131288: // 'processing-instruction' 'unordered'
|
|
case 131666: // 'attribute' 'updating'
|
|
case 131705: // 'element' 'updating'
|
|
case 131768: // 'namespace' 'updating'
|
|
case 131800: // 'processing-instruction' 'updating'
|
|
case 133202: // 'attribute' 'validate'
|
|
case 133241: // 'element' 'validate'
|
|
case 133304: // 'namespace' 'validate'
|
|
case 133336: // 'processing-instruction' 'validate'
|
|
case 133714: // 'attribute' 'value'
|
|
case 133753: // 'element' 'value'
|
|
case 133816: // 'namespace' 'value'
|
|
case 133848: // 'processing-instruction' 'value'
|
|
case 134226: // 'attribute' 'variable'
|
|
case 134265: // 'element' 'variable'
|
|
case 134328: // 'namespace' 'variable'
|
|
case 134360: // 'processing-instruction' 'variable'
|
|
case 134738: // 'attribute' 'version'
|
|
case 134777: // 'element' 'version'
|
|
case 134840: // 'namespace' 'version'
|
|
case 134872: // 'processing-instruction' 'version'
|
|
case 136786: // 'attribute' 'while'
|
|
case 136825: // 'element' 'while'
|
|
case 136888: // 'namespace' 'while'
|
|
case 136920: // 'processing-instruction' 'while'
|
|
case 140370: // 'attribute' 'xquery'
|
|
case 140409: // 'element' 'xquery'
|
|
case 140472: // 'namespace' 'xquery'
|
|
case 140504: // 'processing-instruction' 'xquery'
|
|
case 141394: // 'attribute' '{'
|
|
case 141408: // 'comment' '{'
|
|
case 141431: // 'document' '{'
|
|
case 141433: // 'element' '{'
|
|
case 141496: // 'namespace' '{'
|
|
case 141514: // 'ordered' '{'
|
|
case 141528: // 'processing-instruction' '{'
|
|
case 141556: // 'text' '{'
|
|
case 141568: // 'unordered' '{'
|
|
parse_PostfixExpr();
|
|
break;
|
|
default:
|
|
parse_AxisStep();
|
|
}
|
|
eventHandler.endNonterminal("StepExpr", e0);
|
|
}
|
|
|
|
function try_StepExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
lookahead2W(284); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 121: // 'element'
|
|
lookahead2W(282); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 184: // 'namespace'
|
|
case 216: // 'processing-instruction'
|
|
lookahead2W(281); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' |
|
|
break;
|
|
case 96: // 'comment'
|
|
case 119: // 'document'
|
|
case 202: // 'ordered'
|
|
case 244: // 'text'
|
|
case 256: // 'unordered'
|
|
lookahead2W(246); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 78: // 'array'
|
|
case 124: // 'empty-sequence'
|
|
case 152: // 'if'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 242: // 'structured-item'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
lookahead2W(239); // S^WS | EOF | '!' | '!=' | '#' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 93: // 'child'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
case 229: // 'self'
|
|
lookahead2W(245); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 70: // 'after'
|
|
case 72: // 'allowing'
|
|
case 75: // 'and'
|
|
case 77: // 'append'
|
|
case 79: // 'as'
|
|
case 80: // 'ascending'
|
|
case 81: // 'at'
|
|
case 83: // 'base-uri'
|
|
case 84: // 'before'
|
|
case 85: // 'boundary-space'
|
|
case 86: // 'break'
|
|
case 88: // 'case'
|
|
case 89: // 'cast'
|
|
case 90: // 'castable'
|
|
case 91: // 'catch'
|
|
case 94: // 'collation'
|
|
case 97: // 'constraint'
|
|
case 98: // 'construction'
|
|
case 101: // 'context'
|
|
case 102: // 'continue'
|
|
case 103: // 'copy'
|
|
case 104: // 'copy-namespaces'
|
|
case 105: // 'count'
|
|
case 106: // 'decimal-format'
|
|
case 108: // 'declare'
|
|
case 109: // 'default'
|
|
case 110: // 'delete'
|
|
case 113: // 'descending'
|
|
case 118: // 'div'
|
|
case 120: // 'document-node'
|
|
case 122: // 'else'
|
|
case 123: // 'empty'
|
|
case 125: // 'encoding'
|
|
case 126: // 'end'
|
|
case 128: // 'eq'
|
|
case 129: // 'every'
|
|
case 131: // 'except'
|
|
case 132: // 'exit'
|
|
case 133: // 'external'
|
|
case 134: // 'first'
|
|
case 137: // 'for'
|
|
case 141: // 'ft-option'
|
|
case 145: // 'function'
|
|
case 146: // 'ge'
|
|
case 148: // 'group'
|
|
case 150: // 'gt'
|
|
case 151: // 'idiv'
|
|
case 153: // 'import'
|
|
case 154: // 'in'
|
|
case 155: // 'index'
|
|
case 159: // 'insert'
|
|
case 160: // 'instance'
|
|
case 161: // 'integrity'
|
|
case 162: // 'intersect'
|
|
case 163: // 'into'
|
|
case 164: // 'is'
|
|
case 166: // 'json'
|
|
case 170: // 'last'
|
|
case 171: // 'lax'
|
|
case 172: // 'le'
|
|
case 174: // 'let'
|
|
case 176: // 'loop'
|
|
case 178: // 'lt'
|
|
case 180: // 'mod'
|
|
case 181: // 'modify'
|
|
case 182: // 'module'
|
|
case 185: // 'namespace-node'
|
|
case 186: // 'ne'
|
|
case 191: // 'node'
|
|
case 192: // 'nodes'
|
|
case 194: // 'object'
|
|
case 198: // 'only'
|
|
case 199: // 'option'
|
|
case 200: // 'or'
|
|
case 201: // 'order'
|
|
case 203: // 'ordering'
|
|
case 218: // 'rename'
|
|
case 219: // 'replace'
|
|
case 220: // 'return'
|
|
case 221: // 'returning'
|
|
case 222: // 'revalidation'
|
|
case 224: // 'satisfies'
|
|
case 225: // 'schema'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 228: // 'score'
|
|
case 234: // 'sliding'
|
|
case 235: // 'some'
|
|
case 236: // 'stable'
|
|
case 237: // 'start'
|
|
case 240: // 'strict'
|
|
case 248: // 'to'
|
|
case 249: // 'treat'
|
|
case 250: // 'try'
|
|
case 251: // 'tumbling'
|
|
case 252: // 'type'
|
|
case 254: // 'union'
|
|
case 257: // 'updating'
|
|
case 260: // 'validate'
|
|
case 261: // 'value'
|
|
case 262: // 'variable'
|
|
case 263: // 'version'
|
|
case 266: // 'where'
|
|
case 267: // 'while'
|
|
case 270: // 'with'
|
|
case 274: // 'xquery'
|
|
lookahead2W(243); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 35922 // 'attribute' 'after'
|
|
|| lk == 35961 // 'element' 'after'
|
|
|| lk == 36024 // 'namespace' 'after'
|
|
|| lk == 36056 // 'processing-instruction' 'after'
|
|
|| lk == 38482 // 'attribute' 'and'
|
|
|| lk == 38521 // 'element' 'and'
|
|
|| lk == 38584 // 'namespace' 'and'
|
|
|| lk == 38616 // 'processing-instruction' 'and'
|
|
|| lk == 40530 // 'attribute' 'as'
|
|
|| lk == 40569 // 'element' 'as'
|
|
|| lk == 40632 // 'namespace' 'as'
|
|
|| lk == 40664 // 'processing-instruction' 'as'
|
|
|| lk == 41042 // 'attribute' 'ascending'
|
|
|| lk == 41081 // 'element' 'ascending'
|
|
|| lk == 41144 // 'namespace' 'ascending'
|
|
|| lk == 41176 // 'processing-instruction' 'ascending'
|
|
|| lk == 41554 // 'attribute' 'at'
|
|
|| lk == 41593 // 'element' 'at'
|
|
|| lk == 41656 // 'namespace' 'at'
|
|
|| lk == 41688 // 'processing-instruction' 'at'
|
|
|| lk == 43090 // 'attribute' 'before'
|
|
|| lk == 43129 // 'element' 'before'
|
|
|| lk == 43192 // 'namespace' 'before'
|
|
|| lk == 43224 // 'processing-instruction' 'before'
|
|
|| lk == 45138 // 'attribute' 'case'
|
|
|| lk == 45177 // 'element' 'case'
|
|
|| lk == 45240 // 'namespace' 'case'
|
|
|| lk == 45272 // 'processing-instruction' 'case'
|
|
|| lk == 45650 // 'attribute' 'cast'
|
|
|| lk == 45689 // 'element' 'cast'
|
|
|| lk == 45752 // 'namespace' 'cast'
|
|
|| lk == 45784 // 'processing-instruction' 'cast'
|
|
|| lk == 46162 // 'attribute' 'castable'
|
|
|| lk == 46201 // 'element' 'castable'
|
|
|| lk == 46264 // 'namespace' 'castable'
|
|
|| lk == 46296 // 'processing-instruction' 'castable'
|
|
|| lk == 48210 // 'attribute' 'collation'
|
|
|| lk == 48249 // 'element' 'collation'
|
|
|| lk == 48312 // 'namespace' 'collation'
|
|
|| lk == 48344 // 'processing-instruction' 'collation'
|
|
|| lk == 53842 // 'attribute' 'count'
|
|
|| lk == 53881 // 'element' 'count'
|
|
|| lk == 53944 // 'namespace' 'count'
|
|
|| lk == 53976 // 'processing-instruction' 'count'
|
|
|| lk == 55890 // 'attribute' 'default'
|
|
|| lk == 55929 // 'element' 'default'
|
|
|| lk == 55992 // 'namespace' 'default'
|
|
|| lk == 56024 // 'processing-instruction' 'default'
|
|
|| lk == 57938 // 'attribute' 'descending'
|
|
|| lk == 57977 // 'element' 'descending'
|
|
|| lk == 58040 // 'namespace' 'descending'
|
|
|| lk == 58072 // 'processing-instruction' 'descending'
|
|
|| lk == 60498 // 'attribute' 'div'
|
|
|| lk == 60537 // 'element' 'div'
|
|
|| lk == 60600 // 'namespace' 'div'
|
|
|| lk == 60632 // 'processing-instruction' 'div'
|
|
|| lk == 62546 // 'attribute' 'else'
|
|
|| lk == 62585 // 'element' 'else'
|
|
|| lk == 62648 // 'namespace' 'else'
|
|
|| lk == 62680 // 'processing-instruction' 'else'
|
|
|| lk == 63058 // 'attribute' 'empty'
|
|
|| lk == 63097 // 'element' 'empty'
|
|
|| lk == 63160 // 'namespace' 'empty'
|
|
|| lk == 63192 // 'processing-instruction' 'empty'
|
|
|| lk == 64594 // 'attribute' 'end'
|
|
|| lk == 64633 // 'element' 'end'
|
|
|| lk == 64696 // 'namespace' 'end'
|
|
|| lk == 64728 // 'processing-instruction' 'end'
|
|
|| lk == 65618 // 'attribute' 'eq'
|
|
|| lk == 65657 // 'element' 'eq'
|
|
|| lk == 65720 // 'namespace' 'eq'
|
|
|| lk == 65752 // 'processing-instruction' 'eq'
|
|
|| lk == 67154 // 'attribute' 'except'
|
|
|| lk == 67193 // 'element' 'except'
|
|
|| lk == 67256 // 'namespace' 'except'
|
|
|| lk == 67288 // 'processing-instruction' 'except'
|
|
|| lk == 70226 // 'attribute' 'for'
|
|
|| lk == 70265 // 'element' 'for'
|
|
|| lk == 70328 // 'namespace' 'for'
|
|
|| lk == 70360 // 'processing-instruction' 'for'
|
|
|| lk == 74834 // 'attribute' 'ge'
|
|
|| lk == 74873 // 'element' 'ge'
|
|
|| lk == 74936 // 'namespace' 'ge'
|
|
|| lk == 74968 // 'processing-instruction' 'ge'
|
|
|| lk == 75858 // 'attribute' 'group'
|
|
|| lk == 75897 // 'element' 'group'
|
|
|| lk == 75960 // 'namespace' 'group'
|
|
|| lk == 75992 // 'processing-instruction' 'group'
|
|
|| lk == 76882 // 'attribute' 'gt'
|
|
|| lk == 76921 // 'element' 'gt'
|
|
|| lk == 76984 // 'namespace' 'gt'
|
|
|| lk == 77016 // 'processing-instruction' 'gt'
|
|
|| lk == 77394 // 'attribute' 'idiv'
|
|
|| lk == 77433 // 'element' 'idiv'
|
|
|| lk == 77496 // 'namespace' 'idiv'
|
|
|| lk == 77528 // 'processing-instruction' 'idiv'
|
|
|| lk == 82002 // 'attribute' 'instance'
|
|
|| lk == 82041 // 'element' 'instance'
|
|
|| lk == 82104 // 'namespace' 'instance'
|
|
|| lk == 82136 // 'processing-instruction' 'instance'
|
|
|| lk == 83026 // 'attribute' 'intersect'
|
|
|| lk == 83065 // 'element' 'intersect'
|
|
|| lk == 83128 // 'namespace' 'intersect'
|
|
|| lk == 83160 // 'processing-instruction' 'intersect'
|
|
|| lk == 83538 // 'attribute' 'into'
|
|
|| lk == 83577 // 'element' 'into'
|
|
|| lk == 83640 // 'namespace' 'into'
|
|
|| lk == 83672 // 'processing-instruction' 'into'
|
|
|| lk == 84050 // 'attribute' 'is'
|
|
|| lk == 84089 // 'element' 'is'
|
|
|| lk == 84152 // 'namespace' 'is'
|
|
|| lk == 84184 // 'processing-instruction' 'is'
|
|
|| lk == 88146 // 'attribute' 'le'
|
|
|| lk == 88185 // 'element' 'le'
|
|
|| lk == 88248 // 'namespace' 'le'
|
|
|| lk == 88280 // 'processing-instruction' 'le'
|
|
|| lk == 89170 // 'attribute' 'let'
|
|
|| lk == 89209 // 'element' 'let'
|
|
|| lk == 89272 // 'namespace' 'let'
|
|
|| lk == 89304 // 'processing-instruction' 'let'
|
|
|| lk == 91218 // 'attribute' 'lt'
|
|
|| lk == 91257 // 'element' 'lt'
|
|
|| lk == 91320 // 'namespace' 'lt'
|
|
|| lk == 91352 // 'processing-instruction' 'lt'
|
|
|| lk == 92242 // 'attribute' 'mod'
|
|
|| lk == 92281 // 'element' 'mod'
|
|
|| lk == 92344 // 'namespace' 'mod'
|
|
|| lk == 92376 // 'processing-instruction' 'mod'
|
|
|| lk == 92754 // 'attribute' 'modify'
|
|
|| lk == 92793 // 'element' 'modify'
|
|
|| lk == 92856 // 'namespace' 'modify'
|
|
|| lk == 92888 // 'processing-instruction' 'modify'
|
|
|| lk == 95314 // 'attribute' 'ne'
|
|
|| lk == 95353 // 'element' 'ne'
|
|
|| lk == 95416 // 'namespace' 'ne'
|
|
|| lk == 95448 // 'processing-instruction' 'ne'
|
|
|| lk == 101458 // 'attribute' 'only'
|
|
|| lk == 101497 // 'element' 'only'
|
|
|| lk == 101560 // 'namespace' 'only'
|
|
|| lk == 101592 // 'processing-instruction' 'only'
|
|
|| lk == 102482 // 'attribute' 'or'
|
|
|| lk == 102521 // 'element' 'or'
|
|
|| lk == 102584 // 'namespace' 'or'
|
|
|| lk == 102616 // 'processing-instruction' 'or'
|
|
|| lk == 102994 // 'attribute' 'order'
|
|
|| lk == 103033 // 'element' 'order'
|
|
|| lk == 103096 // 'namespace' 'order'
|
|
|| lk == 103128 // 'processing-instruction' 'order'
|
|
|| lk == 112722 // 'attribute' 'return'
|
|
|| lk == 112761 // 'element' 'return'
|
|
|| lk == 112824 // 'namespace' 'return'
|
|
|| lk == 112856 // 'processing-instruction' 'return'
|
|
|| lk == 114770 // 'attribute' 'satisfies'
|
|
|| lk == 114809 // 'element' 'satisfies'
|
|
|| lk == 114872 // 'namespace' 'satisfies'
|
|
|| lk == 114904 // 'processing-instruction' 'satisfies'
|
|
|| lk == 120914 // 'attribute' 'stable'
|
|
|| lk == 120953 // 'element' 'stable'
|
|
|| lk == 121016 // 'namespace' 'stable'
|
|
|| lk == 121048 // 'processing-instruction' 'stable'
|
|
|| lk == 121426 // 'attribute' 'start'
|
|
|| lk == 121465 // 'element' 'start'
|
|
|| lk == 121528 // 'namespace' 'start'
|
|
|| lk == 121560 // 'processing-instruction' 'start'
|
|
|| lk == 127058 // 'attribute' 'to'
|
|
|| lk == 127097 // 'element' 'to'
|
|
|| lk == 127160 // 'namespace' 'to'
|
|
|| lk == 127192 // 'processing-instruction' 'to'
|
|
|| lk == 127570 // 'attribute' 'treat'
|
|
|| lk == 127609 // 'element' 'treat'
|
|
|| lk == 127672 // 'namespace' 'treat'
|
|
|| lk == 127704 // 'processing-instruction' 'treat'
|
|
|| lk == 130130 // 'attribute' 'union'
|
|
|| lk == 130169 // 'element' 'union'
|
|
|| lk == 130232 // 'namespace' 'union'
|
|
|| lk == 130264 // 'processing-instruction' 'union'
|
|
|| lk == 136274 // 'attribute' 'where'
|
|
|| lk == 136313 // 'element' 'where'
|
|
|| lk == 136376 // 'namespace' 'where'
|
|
|| lk == 136408 // 'processing-instruction' 'where'
|
|
|| lk == 138322 // 'attribute' 'with'
|
|
|| lk == 138361 // 'element' 'with'
|
|
|| lk == 138424 // 'namespace' 'with'
|
|
|| lk == 138456) // 'processing-instruction' 'with'
|
|
{
|
|
lk = memoized(4, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_PostfixExpr();
|
|
memoize(4, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(4, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 31: // '$'
|
|
case 32: // '%'
|
|
case 34: // '('
|
|
case 44: // '.'
|
|
case 54: // '<'
|
|
case 55: // '<!--'
|
|
case 59: // '<?'
|
|
case 68: // '['
|
|
case 276: // '{'
|
|
case 278: // '{|'
|
|
case 3154: // 'attribute' EQName^Token
|
|
case 3193: // 'element' EQName^Token
|
|
case 9912: // 'namespace' NCName^Token
|
|
case 9944: // 'processing-instruction' NCName^Token
|
|
case 14854: // EQName^Token '#'
|
|
case 14918: // 'after' '#'
|
|
case 14920: // 'allowing' '#'
|
|
case 14921: // 'ancestor' '#'
|
|
case 14922: // 'ancestor-or-self' '#'
|
|
case 14923: // 'and' '#'
|
|
case 14925: // 'append' '#'
|
|
case 14926: // 'array' '#'
|
|
case 14927: // 'as' '#'
|
|
case 14928: // 'ascending' '#'
|
|
case 14929: // 'at' '#'
|
|
case 14930: // 'attribute' '#'
|
|
case 14931: // 'base-uri' '#'
|
|
case 14932: // 'before' '#'
|
|
case 14933: // 'boundary-space' '#'
|
|
case 14934: // 'break' '#'
|
|
case 14936: // 'case' '#'
|
|
case 14937: // 'cast' '#'
|
|
case 14938: // 'castable' '#'
|
|
case 14939: // 'catch' '#'
|
|
case 14941: // 'child' '#'
|
|
case 14942: // 'collation' '#'
|
|
case 14944: // 'comment' '#'
|
|
case 14945: // 'constraint' '#'
|
|
case 14946: // 'construction' '#'
|
|
case 14949: // 'context' '#'
|
|
case 14950: // 'continue' '#'
|
|
case 14951: // 'copy' '#'
|
|
case 14952: // 'copy-namespaces' '#'
|
|
case 14953: // 'count' '#'
|
|
case 14954: // 'decimal-format' '#'
|
|
case 14956: // 'declare' '#'
|
|
case 14957: // 'default' '#'
|
|
case 14958: // 'delete' '#'
|
|
case 14959: // 'descendant' '#'
|
|
case 14960: // 'descendant-or-self' '#'
|
|
case 14961: // 'descending' '#'
|
|
case 14966: // 'div' '#'
|
|
case 14967: // 'document' '#'
|
|
case 14968: // 'document-node' '#'
|
|
case 14969: // 'element' '#'
|
|
case 14970: // 'else' '#'
|
|
case 14971: // 'empty' '#'
|
|
case 14972: // 'empty-sequence' '#'
|
|
case 14973: // 'encoding' '#'
|
|
case 14974: // 'end' '#'
|
|
case 14976: // 'eq' '#'
|
|
case 14977: // 'every' '#'
|
|
case 14979: // 'except' '#'
|
|
case 14980: // 'exit' '#'
|
|
case 14981: // 'external' '#'
|
|
case 14982: // 'first' '#'
|
|
case 14983: // 'following' '#'
|
|
case 14984: // 'following-sibling' '#'
|
|
case 14985: // 'for' '#'
|
|
case 14989: // 'ft-option' '#'
|
|
case 14993: // 'function' '#'
|
|
case 14994: // 'ge' '#'
|
|
case 14996: // 'group' '#'
|
|
case 14998: // 'gt' '#'
|
|
case 14999: // 'idiv' '#'
|
|
case 15000: // 'if' '#'
|
|
case 15001: // 'import' '#'
|
|
case 15002: // 'in' '#'
|
|
case 15003: // 'index' '#'
|
|
case 15007: // 'insert' '#'
|
|
case 15008: // 'instance' '#'
|
|
case 15009: // 'integrity' '#'
|
|
case 15010: // 'intersect' '#'
|
|
case 15011: // 'into' '#'
|
|
case 15012: // 'is' '#'
|
|
case 15013: // 'item' '#'
|
|
case 15014: // 'json' '#'
|
|
case 15015: // 'json-item' '#'
|
|
case 15018: // 'last' '#'
|
|
case 15019: // 'lax' '#'
|
|
case 15020: // 'le' '#'
|
|
case 15022: // 'let' '#'
|
|
case 15024: // 'loop' '#'
|
|
case 15026: // 'lt' '#'
|
|
case 15028: // 'mod' '#'
|
|
case 15029: // 'modify' '#'
|
|
case 15030: // 'module' '#'
|
|
case 15032: // 'namespace' '#'
|
|
case 15033: // 'namespace-node' '#'
|
|
case 15034: // 'ne' '#'
|
|
case 15039: // 'node' '#'
|
|
case 15040: // 'nodes' '#'
|
|
case 15042: // 'object' '#'
|
|
case 15046: // 'only' '#'
|
|
case 15047: // 'option' '#'
|
|
case 15048: // 'or' '#'
|
|
case 15049: // 'order' '#'
|
|
case 15050: // 'ordered' '#'
|
|
case 15051: // 'ordering' '#'
|
|
case 15054: // 'parent' '#'
|
|
case 15060: // 'preceding' '#'
|
|
case 15061: // 'preceding-sibling' '#'
|
|
case 15064: // 'processing-instruction' '#'
|
|
case 15066: // 'rename' '#'
|
|
case 15067: // 'replace' '#'
|
|
case 15068: // 'return' '#'
|
|
case 15069: // 'returning' '#'
|
|
case 15070: // 'revalidation' '#'
|
|
case 15072: // 'satisfies' '#'
|
|
case 15073: // 'schema' '#'
|
|
case 15074: // 'schema-attribute' '#'
|
|
case 15075: // 'schema-element' '#'
|
|
case 15076: // 'score' '#'
|
|
case 15077: // 'self' '#'
|
|
case 15082: // 'sliding' '#'
|
|
case 15083: // 'some' '#'
|
|
case 15084: // 'stable' '#'
|
|
case 15085: // 'start' '#'
|
|
case 15088: // 'strict' '#'
|
|
case 15090: // 'structured-item' '#'
|
|
case 15091: // 'switch' '#'
|
|
case 15092: // 'text' '#'
|
|
case 15096: // 'to' '#'
|
|
case 15097: // 'treat' '#'
|
|
case 15098: // 'try' '#'
|
|
case 15099: // 'tumbling' '#'
|
|
case 15100: // 'type' '#'
|
|
case 15101: // 'typeswitch' '#'
|
|
case 15102: // 'union' '#'
|
|
case 15104: // 'unordered' '#'
|
|
case 15105: // 'updating' '#'
|
|
case 15108: // 'validate' '#'
|
|
case 15109: // 'value' '#'
|
|
case 15110: // 'variable' '#'
|
|
case 15111: // 'version' '#'
|
|
case 15114: // 'where' '#'
|
|
case 15115: // 'while' '#'
|
|
case 15118: // 'with' '#'
|
|
case 15122: // 'xquery' '#'
|
|
case 17414: // EQName^Token '('
|
|
case 17478: // 'after' '('
|
|
case 17480: // 'allowing' '('
|
|
case 17481: // 'ancestor' '('
|
|
case 17482: // 'ancestor-or-self' '('
|
|
case 17483: // 'and' '('
|
|
case 17485: // 'append' '('
|
|
case 17487: // 'as' '('
|
|
case 17488: // 'ascending' '('
|
|
case 17489: // 'at' '('
|
|
case 17491: // 'base-uri' '('
|
|
case 17492: // 'before' '('
|
|
case 17493: // 'boundary-space' '('
|
|
case 17494: // 'break' '('
|
|
case 17496: // 'case' '('
|
|
case 17497: // 'cast' '('
|
|
case 17498: // 'castable' '('
|
|
case 17499: // 'catch' '('
|
|
case 17501: // 'child' '('
|
|
case 17502: // 'collation' '('
|
|
case 17505: // 'constraint' '('
|
|
case 17506: // 'construction' '('
|
|
case 17509: // 'context' '('
|
|
case 17510: // 'continue' '('
|
|
case 17511: // 'copy' '('
|
|
case 17512: // 'copy-namespaces' '('
|
|
case 17513: // 'count' '('
|
|
case 17514: // 'decimal-format' '('
|
|
case 17516: // 'declare' '('
|
|
case 17517: // 'default' '('
|
|
case 17518: // 'delete' '('
|
|
case 17519: // 'descendant' '('
|
|
case 17520: // 'descendant-or-self' '('
|
|
case 17521: // 'descending' '('
|
|
case 17526: // 'div' '('
|
|
case 17527: // 'document' '('
|
|
case 17530: // 'else' '('
|
|
case 17531: // 'empty' '('
|
|
case 17533: // 'encoding' '('
|
|
case 17534: // 'end' '('
|
|
case 17536: // 'eq' '('
|
|
case 17537: // 'every' '('
|
|
case 17539: // 'except' '('
|
|
case 17540: // 'exit' '('
|
|
case 17541: // 'external' '('
|
|
case 17542: // 'first' '('
|
|
case 17543: // 'following' '('
|
|
case 17544: // 'following-sibling' '('
|
|
case 17545: // 'for' '('
|
|
case 17549: // 'ft-option' '('
|
|
case 17553: // 'function' '('
|
|
case 17554: // 'ge' '('
|
|
case 17556: // 'group' '('
|
|
case 17558: // 'gt' '('
|
|
case 17559: // 'idiv' '('
|
|
case 17561: // 'import' '('
|
|
case 17562: // 'in' '('
|
|
case 17563: // 'index' '('
|
|
case 17567: // 'insert' '('
|
|
case 17568: // 'instance' '('
|
|
case 17569: // 'integrity' '('
|
|
case 17570: // 'intersect' '('
|
|
case 17571: // 'into' '('
|
|
case 17572: // 'is' '('
|
|
case 17574: // 'json' '('
|
|
case 17578: // 'last' '('
|
|
case 17579: // 'lax' '('
|
|
case 17580: // 'le' '('
|
|
case 17582: // 'let' '('
|
|
case 17584: // 'loop' '('
|
|
case 17586: // 'lt' '('
|
|
case 17588: // 'mod' '('
|
|
case 17589: // 'modify' '('
|
|
case 17590: // 'module' '('
|
|
case 17592: // 'namespace' '('
|
|
case 17594: // 'ne' '('
|
|
case 17600: // 'nodes' '('
|
|
case 17602: // 'object' '('
|
|
case 17606: // 'only' '('
|
|
case 17607: // 'option' '('
|
|
case 17608: // 'or' '('
|
|
case 17609: // 'order' '('
|
|
case 17610: // 'ordered' '('
|
|
case 17611: // 'ordering' '('
|
|
case 17614: // 'parent' '('
|
|
case 17620: // 'preceding' '('
|
|
case 17621: // 'preceding-sibling' '('
|
|
case 17626: // 'rename' '('
|
|
case 17627: // 'replace' '('
|
|
case 17628: // 'return' '('
|
|
case 17629: // 'returning' '('
|
|
case 17630: // 'revalidation' '('
|
|
case 17632: // 'satisfies' '('
|
|
case 17633: // 'schema' '('
|
|
case 17636: // 'score' '('
|
|
case 17637: // 'self' '('
|
|
case 17642: // 'sliding' '('
|
|
case 17643: // 'some' '('
|
|
case 17644: // 'stable' '('
|
|
case 17645: // 'start' '('
|
|
case 17648: // 'strict' '('
|
|
case 17656: // 'to' '('
|
|
case 17657: // 'treat' '('
|
|
case 17658: // 'try' '('
|
|
case 17659: // 'tumbling' '('
|
|
case 17660: // 'type' '('
|
|
case 17662: // 'union' '('
|
|
case 17664: // 'unordered' '('
|
|
case 17665: // 'updating' '('
|
|
case 17668: // 'validate' '('
|
|
case 17669: // 'value' '('
|
|
case 17670: // 'variable' '('
|
|
case 17671: // 'version' '('
|
|
case 17674: // 'where' '('
|
|
case 17675: // 'while' '('
|
|
case 17678: // 'with' '('
|
|
case 17682: // 'xquery' '('
|
|
case 36946: // 'attribute' 'allowing'
|
|
case 36985: // 'element' 'allowing'
|
|
case 37048: // 'namespace' 'allowing'
|
|
case 37080: // 'processing-instruction' 'allowing'
|
|
case 37458: // 'attribute' 'ancestor'
|
|
case 37497: // 'element' 'ancestor'
|
|
case 37560: // 'namespace' 'ancestor'
|
|
case 37592: // 'processing-instruction' 'ancestor'
|
|
case 37970: // 'attribute' 'ancestor-or-self'
|
|
case 38009: // 'element' 'ancestor-or-self'
|
|
case 38072: // 'namespace' 'ancestor-or-self'
|
|
case 38104: // 'processing-instruction' 'ancestor-or-self'
|
|
case 39506: // 'attribute' 'append'
|
|
case 39545: // 'element' 'append'
|
|
case 39608: // 'namespace' 'append'
|
|
case 39640: // 'processing-instruction' 'append'
|
|
case 40018: // 'attribute' 'array'
|
|
case 40057: // 'element' 'array'
|
|
case 42066: // 'attribute' 'attribute'
|
|
case 42105: // 'element' 'attribute'
|
|
case 42168: // 'namespace' 'attribute'
|
|
case 42200: // 'processing-instruction' 'attribute'
|
|
case 42578: // 'attribute' 'base-uri'
|
|
case 42617: // 'element' 'base-uri'
|
|
case 42680: // 'namespace' 'base-uri'
|
|
case 42712: // 'processing-instruction' 'base-uri'
|
|
case 43602: // 'attribute' 'boundary-space'
|
|
case 43641: // 'element' 'boundary-space'
|
|
case 43704: // 'namespace' 'boundary-space'
|
|
case 43736: // 'processing-instruction' 'boundary-space'
|
|
case 44114: // 'attribute' 'break'
|
|
case 44153: // 'element' 'break'
|
|
case 44216: // 'namespace' 'break'
|
|
case 44248: // 'processing-instruction' 'break'
|
|
case 46674: // 'attribute' 'catch'
|
|
case 46713: // 'element' 'catch'
|
|
case 46776: // 'namespace' 'catch'
|
|
case 46808: // 'processing-instruction' 'catch'
|
|
case 47698: // 'attribute' 'child'
|
|
case 47737: // 'element' 'child'
|
|
case 47800: // 'namespace' 'child'
|
|
case 47832: // 'processing-instruction' 'child'
|
|
case 49234: // 'attribute' 'comment'
|
|
case 49273: // 'element' 'comment'
|
|
case 49336: // 'namespace' 'comment'
|
|
case 49368: // 'processing-instruction' 'comment'
|
|
case 49746: // 'attribute' 'constraint'
|
|
case 49785: // 'element' 'constraint'
|
|
case 49848: // 'namespace' 'constraint'
|
|
case 49880: // 'processing-instruction' 'constraint'
|
|
case 50258: // 'attribute' 'construction'
|
|
case 50297: // 'element' 'construction'
|
|
case 50360: // 'namespace' 'construction'
|
|
case 50392: // 'processing-instruction' 'construction'
|
|
case 51794: // 'attribute' 'context'
|
|
case 51833: // 'element' 'context'
|
|
case 51896: // 'namespace' 'context'
|
|
case 51928: // 'processing-instruction' 'context'
|
|
case 52306: // 'attribute' 'continue'
|
|
case 52345: // 'element' 'continue'
|
|
case 52408: // 'namespace' 'continue'
|
|
case 52440: // 'processing-instruction' 'continue'
|
|
case 52818: // 'attribute' 'copy'
|
|
case 52857: // 'element' 'copy'
|
|
case 52920: // 'namespace' 'copy'
|
|
case 52952: // 'processing-instruction' 'copy'
|
|
case 53330: // 'attribute' 'copy-namespaces'
|
|
case 53369: // 'element' 'copy-namespaces'
|
|
case 53432: // 'namespace' 'copy-namespaces'
|
|
case 53464: // 'processing-instruction' 'copy-namespaces'
|
|
case 54354: // 'attribute' 'decimal-format'
|
|
case 54393: // 'element' 'decimal-format'
|
|
case 54456: // 'namespace' 'decimal-format'
|
|
case 54488: // 'processing-instruction' 'decimal-format'
|
|
case 55378: // 'attribute' 'declare'
|
|
case 55417: // 'element' 'declare'
|
|
case 55480: // 'namespace' 'declare'
|
|
case 55512: // 'processing-instruction' 'declare'
|
|
case 56402: // 'attribute' 'delete'
|
|
case 56441: // 'element' 'delete'
|
|
case 56504: // 'namespace' 'delete'
|
|
case 56536: // 'processing-instruction' 'delete'
|
|
case 56914: // 'attribute' 'descendant'
|
|
case 56953: // 'element' 'descendant'
|
|
case 57016: // 'namespace' 'descendant'
|
|
case 57048: // 'processing-instruction' 'descendant'
|
|
case 57426: // 'attribute' 'descendant-or-self'
|
|
case 57465: // 'element' 'descendant-or-self'
|
|
case 57528: // 'namespace' 'descendant-or-self'
|
|
case 57560: // 'processing-instruction' 'descendant-or-self'
|
|
case 61010: // 'attribute' 'document'
|
|
case 61049: // 'element' 'document'
|
|
case 61112: // 'namespace' 'document'
|
|
case 61144: // 'processing-instruction' 'document'
|
|
case 61522: // 'attribute' 'document-node'
|
|
case 61561: // 'element' 'document-node'
|
|
case 61624: // 'namespace' 'document-node'
|
|
case 61656: // 'processing-instruction' 'document-node'
|
|
case 62034: // 'attribute' 'element'
|
|
case 62073: // 'element' 'element'
|
|
case 62136: // 'namespace' 'element'
|
|
case 62168: // 'processing-instruction' 'element'
|
|
case 63570: // 'attribute' 'empty-sequence'
|
|
case 63609: // 'element' 'empty-sequence'
|
|
case 63672: // 'namespace' 'empty-sequence'
|
|
case 63704: // 'processing-instruction' 'empty-sequence'
|
|
case 64082: // 'attribute' 'encoding'
|
|
case 64121: // 'element' 'encoding'
|
|
case 64184: // 'namespace' 'encoding'
|
|
case 64216: // 'processing-instruction' 'encoding'
|
|
case 66130: // 'attribute' 'every'
|
|
case 66169: // 'element' 'every'
|
|
case 66232: // 'namespace' 'every'
|
|
case 66264: // 'processing-instruction' 'every'
|
|
case 67666: // 'attribute' 'exit'
|
|
case 67705: // 'element' 'exit'
|
|
case 67768: // 'namespace' 'exit'
|
|
case 67800: // 'processing-instruction' 'exit'
|
|
case 68178: // 'attribute' 'external'
|
|
case 68217: // 'element' 'external'
|
|
case 68280: // 'namespace' 'external'
|
|
case 68312: // 'processing-instruction' 'external'
|
|
case 68690: // 'attribute' 'first'
|
|
case 68729: // 'element' 'first'
|
|
case 68792: // 'namespace' 'first'
|
|
case 68824: // 'processing-instruction' 'first'
|
|
case 69202: // 'attribute' 'following'
|
|
case 69241: // 'element' 'following'
|
|
case 69304: // 'namespace' 'following'
|
|
case 69336: // 'processing-instruction' 'following'
|
|
case 69714: // 'attribute' 'following-sibling'
|
|
case 69753: // 'element' 'following-sibling'
|
|
case 69816: // 'namespace' 'following-sibling'
|
|
case 69848: // 'processing-instruction' 'following-sibling'
|
|
case 72274: // 'attribute' 'ft-option'
|
|
case 72313: // 'element' 'ft-option'
|
|
case 72376: // 'namespace' 'ft-option'
|
|
case 72408: // 'processing-instruction' 'ft-option'
|
|
case 74322: // 'attribute' 'function'
|
|
case 74361: // 'element' 'function'
|
|
case 74424: // 'namespace' 'function'
|
|
case 74456: // 'processing-instruction' 'function'
|
|
case 77906: // 'attribute' 'if'
|
|
case 77945: // 'element' 'if'
|
|
case 78008: // 'namespace' 'if'
|
|
case 78040: // 'processing-instruction' 'if'
|
|
case 78418: // 'attribute' 'import'
|
|
case 78457: // 'element' 'import'
|
|
case 78520: // 'namespace' 'import'
|
|
case 78552: // 'processing-instruction' 'import'
|
|
case 78930: // 'attribute' 'in'
|
|
case 78969: // 'element' 'in'
|
|
case 79032: // 'namespace' 'in'
|
|
case 79064: // 'processing-instruction' 'in'
|
|
case 79442: // 'attribute' 'index'
|
|
case 79481: // 'element' 'index'
|
|
case 79544: // 'namespace' 'index'
|
|
case 79576: // 'processing-instruction' 'index'
|
|
case 81490: // 'attribute' 'insert'
|
|
case 81529: // 'element' 'insert'
|
|
case 81592: // 'namespace' 'insert'
|
|
case 81624: // 'processing-instruction' 'insert'
|
|
case 82514: // 'attribute' 'integrity'
|
|
case 82553: // 'element' 'integrity'
|
|
case 82616: // 'namespace' 'integrity'
|
|
case 82648: // 'processing-instruction' 'integrity'
|
|
case 84562: // 'attribute' 'item'
|
|
case 84601: // 'element' 'item'
|
|
case 84664: // 'namespace' 'item'
|
|
case 84696: // 'processing-instruction' 'item'
|
|
case 85074: // 'attribute' 'json'
|
|
case 85113: // 'element' 'json'
|
|
case 85176: // 'namespace' 'json'
|
|
case 85208: // 'processing-instruction' 'json'
|
|
case 85586: // 'attribute' 'json-item'
|
|
case 85625: // 'element' 'json-item'
|
|
case 87122: // 'attribute' 'last'
|
|
case 87161: // 'element' 'last'
|
|
case 87224: // 'namespace' 'last'
|
|
case 87256: // 'processing-instruction' 'last'
|
|
case 87634: // 'attribute' 'lax'
|
|
case 87673: // 'element' 'lax'
|
|
case 87736: // 'namespace' 'lax'
|
|
case 87768: // 'processing-instruction' 'lax'
|
|
case 90194: // 'attribute' 'loop'
|
|
case 90233: // 'element' 'loop'
|
|
case 90296: // 'namespace' 'loop'
|
|
case 90328: // 'processing-instruction' 'loop'
|
|
case 93266: // 'attribute' 'module'
|
|
case 93305: // 'element' 'module'
|
|
case 93368: // 'namespace' 'module'
|
|
case 93400: // 'processing-instruction' 'module'
|
|
case 94290: // 'attribute' 'namespace'
|
|
case 94329: // 'element' 'namespace'
|
|
case 94392: // 'namespace' 'namespace'
|
|
case 94424: // 'processing-instruction' 'namespace'
|
|
case 94802: // 'attribute' 'namespace-node'
|
|
case 94841: // 'element' 'namespace-node'
|
|
case 94904: // 'namespace' 'namespace-node'
|
|
case 94936: // 'processing-instruction' 'namespace-node'
|
|
case 97874: // 'attribute' 'node'
|
|
case 97913: // 'element' 'node'
|
|
case 97976: // 'namespace' 'node'
|
|
case 98008: // 'processing-instruction' 'node'
|
|
case 98386: // 'attribute' 'nodes'
|
|
case 98425: // 'element' 'nodes'
|
|
case 98488: // 'namespace' 'nodes'
|
|
case 98520: // 'processing-instruction' 'nodes'
|
|
case 99410: // 'attribute' 'object'
|
|
case 99449: // 'element' 'object'
|
|
case 99512: // 'namespace' 'object'
|
|
case 99544: // 'processing-instruction' 'object'
|
|
case 101970: // 'attribute' 'option'
|
|
case 102009: // 'element' 'option'
|
|
case 102072: // 'namespace' 'option'
|
|
case 102104: // 'processing-instruction' 'option'
|
|
case 103506: // 'attribute' 'ordered'
|
|
case 103545: // 'element' 'ordered'
|
|
case 103608: // 'namespace' 'ordered'
|
|
case 103640: // 'processing-instruction' 'ordered'
|
|
case 104018: // 'attribute' 'ordering'
|
|
case 104057: // 'element' 'ordering'
|
|
case 104120: // 'namespace' 'ordering'
|
|
case 104152: // 'processing-instruction' 'ordering'
|
|
case 105554: // 'attribute' 'parent'
|
|
case 105593: // 'element' 'parent'
|
|
case 105656: // 'namespace' 'parent'
|
|
case 105688: // 'processing-instruction' 'parent'
|
|
case 108626: // 'attribute' 'preceding'
|
|
case 108665: // 'element' 'preceding'
|
|
case 108728: // 'namespace' 'preceding'
|
|
case 108760: // 'processing-instruction' 'preceding'
|
|
case 109138: // 'attribute' 'preceding-sibling'
|
|
case 109177: // 'element' 'preceding-sibling'
|
|
case 109240: // 'namespace' 'preceding-sibling'
|
|
case 109272: // 'processing-instruction' 'preceding-sibling'
|
|
case 110674: // 'attribute' 'processing-instruction'
|
|
case 110713: // 'element' 'processing-instruction'
|
|
case 110776: // 'namespace' 'processing-instruction'
|
|
case 110808: // 'processing-instruction' 'processing-instruction'
|
|
case 111698: // 'attribute' 'rename'
|
|
case 111737: // 'element' 'rename'
|
|
case 111800: // 'namespace' 'rename'
|
|
case 111832: // 'processing-instruction' 'rename'
|
|
case 112210: // 'attribute' 'replace'
|
|
case 112249: // 'element' 'replace'
|
|
case 112312: // 'namespace' 'replace'
|
|
case 112344: // 'processing-instruction' 'replace'
|
|
case 113234: // 'attribute' 'returning'
|
|
case 113273: // 'element' 'returning'
|
|
case 113336: // 'namespace' 'returning'
|
|
case 113368: // 'processing-instruction' 'returning'
|
|
case 113746: // 'attribute' 'revalidation'
|
|
case 113785: // 'element' 'revalidation'
|
|
case 113848: // 'namespace' 'revalidation'
|
|
case 113880: // 'processing-instruction' 'revalidation'
|
|
case 115282: // 'attribute' 'schema'
|
|
case 115321: // 'element' 'schema'
|
|
case 115384: // 'namespace' 'schema'
|
|
case 115416: // 'processing-instruction' 'schema'
|
|
case 115794: // 'attribute' 'schema-attribute'
|
|
case 115833: // 'element' 'schema-attribute'
|
|
case 115896: // 'namespace' 'schema-attribute'
|
|
case 115928: // 'processing-instruction' 'schema-attribute'
|
|
case 116306: // 'attribute' 'schema-element'
|
|
case 116345: // 'element' 'schema-element'
|
|
case 116408: // 'namespace' 'schema-element'
|
|
case 116440: // 'processing-instruction' 'schema-element'
|
|
case 116818: // 'attribute' 'score'
|
|
case 116857: // 'element' 'score'
|
|
case 116920: // 'namespace' 'score'
|
|
case 116952: // 'processing-instruction' 'score'
|
|
case 117330: // 'attribute' 'self'
|
|
case 117369: // 'element' 'self'
|
|
case 117432: // 'namespace' 'self'
|
|
case 117464: // 'processing-instruction' 'self'
|
|
case 119890: // 'attribute' 'sliding'
|
|
case 119929: // 'element' 'sliding'
|
|
case 119992: // 'namespace' 'sliding'
|
|
case 120024: // 'processing-instruction' 'sliding'
|
|
case 120402: // 'attribute' 'some'
|
|
case 120441: // 'element' 'some'
|
|
case 120504: // 'namespace' 'some'
|
|
case 120536: // 'processing-instruction' 'some'
|
|
case 122962: // 'attribute' 'strict'
|
|
case 123001: // 'element' 'strict'
|
|
case 123064: // 'namespace' 'strict'
|
|
case 123096: // 'processing-instruction' 'strict'
|
|
case 123986: // 'attribute' 'structured-item'
|
|
case 124025: // 'element' 'structured-item'
|
|
case 124498: // 'attribute' 'switch'
|
|
case 124537: // 'element' 'switch'
|
|
case 124600: // 'namespace' 'switch'
|
|
case 124632: // 'processing-instruction' 'switch'
|
|
case 125010: // 'attribute' 'text'
|
|
case 125049: // 'element' 'text'
|
|
case 125112: // 'namespace' 'text'
|
|
case 125144: // 'processing-instruction' 'text'
|
|
case 128082: // 'attribute' 'try'
|
|
case 128121: // 'element' 'try'
|
|
case 128184: // 'namespace' 'try'
|
|
case 128216: // 'processing-instruction' 'try'
|
|
case 128594: // 'attribute' 'tumbling'
|
|
case 128633: // 'element' 'tumbling'
|
|
case 128696: // 'namespace' 'tumbling'
|
|
case 128728: // 'processing-instruction' 'tumbling'
|
|
case 129106: // 'attribute' 'type'
|
|
case 129145: // 'element' 'type'
|
|
case 129208: // 'namespace' 'type'
|
|
case 129240: // 'processing-instruction' 'type'
|
|
case 129618: // 'attribute' 'typeswitch'
|
|
case 129657: // 'element' 'typeswitch'
|
|
case 129720: // 'namespace' 'typeswitch'
|
|
case 129752: // 'processing-instruction' 'typeswitch'
|
|
case 131154: // 'attribute' 'unordered'
|
|
case 131193: // 'element' 'unordered'
|
|
case 131256: // 'namespace' 'unordered'
|
|
case 131288: // 'processing-instruction' 'unordered'
|
|
case 131666: // 'attribute' 'updating'
|
|
case 131705: // 'element' 'updating'
|
|
case 131768: // 'namespace' 'updating'
|
|
case 131800: // 'processing-instruction' 'updating'
|
|
case 133202: // 'attribute' 'validate'
|
|
case 133241: // 'element' 'validate'
|
|
case 133304: // 'namespace' 'validate'
|
|
case 133336: // 'processing-instruction' 'validate'
|
|
case 133714: // 'attribute' 'value'
|
|
case 133753: // 'element' 'value'
|
|
case 133816: // 'namespace' 'value'
|
|
case 133848: // 'processing-instruction' 'value'
|
|
case 134226: // 'attribute' 'variable'
|
|
case 134265: // 'element' 'variable'
|
|
case 134328: // 'namespace' 'variable'
|
|
case 134360: // 'processing-instruction' 'variable'
|
|
case 134738: // 'attribute' 'version'
|
|
case 134777: // 'element' 'version'
|
|
case 134840: // 'namespace' 'version'
|
|
case 134872: // 'processing-instruction' 'version'
|
|
case 136786: // 'attribute' 'while'
|
|
case 136825: // 'element' 'while'
|
|
case 136888: // 'namespace' 'while'
|
|
case 136920: // 'processing-instruction' 'while'
|
|
case 140370: // 'attribute' 'xquery'
|
|
case 140409: // 'element' 'xquery'
|
|
case 140472: // 'namespace' 'xquery'
|
|
case 140504: // 'processing-instruction' 'xquery'
|
|
case 141394: // 'attribute' '{'
|
|
case 141408: // 'comment' '{'
|
|
case 141431: // 'document' '{'
|
|
case 141433: // 'element' '{'
|
|
case 141496: // 'namespace' '{'
|
|
case 141514: // 'ordered' '{'
|
|
case 141528: // 'processing-instruction' '{'
|
|
case 141556: // 'text' '{'
|
|
case 141568: // 'unordered' '{'
|
|
try_PostfixExpr();
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_AxisStep();
|
|
}
|
|
}
|
|
|
|
function parse_AxisStep()
|
|
{
|
|
eventHandler.startNonterminal("AxisStep", e0);
|
|
switch (l1)
|
|
{
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 45: // '..'
|
|
case 26185: // 'ancestor' '::'
|
|
case 26186: // 'ancestor-or-self' '::'
|
|
case 26318: // 'parent' '::'
|
|
case 26324: // 'preceding' '::'
|
|
case 26325: // 'preceding-sibling' '::'
|
|
parse_ReverseStep();
|
|
break;
|
|
default:
|
|
parse_ForwardStep();
|
|
}
|
|
lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
whitespace();
|
|
parse_PredicateList();
|
|
eventHandler.endNonterminal("AxisStep", e0);
|
|
}
|
|
|
|
function try_AxisStep()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 45: // '..'
|
|
case 26185: // 'ancestor' '::'
|
|
case 26186: // 'ancestor-or-self' '::'
|
|
case 26318: // 'parent' '::'
|
|
case 26324: // 'preceding' '::'
|
|
case 26325: // 'preceding-sibling' '::'
|
|
try_ReverseStep();
|
|
break;
|
|
default:
|
|
try_ForwardStep();
|
|
}
|
|
lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
try_PredicateList();
|
|
}
|
|
|
|
function parse_ForwardStep()
|
|
{
|
|
eventHandler.startNonterminal("ForwardStep", e0);
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
lookahead2W(244); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 93: // 'child'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 229: // 'self'
|
|
lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 26194: // 'attribute' '::'
|
|
case 26205: // 'child' '::'
|
|
case 26223: // 'descendant' '::'
|
|
case 26224: // 'descendant-or-self' '::'
|
|
case 26247: // 'following' '::'
|
|
case 26248: // 'following-sibling' '::'
|
|
case 26341: // 'self' '::'
|
|
parse_ForwardAxis();
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NodeTest();
|
|
break;
|
|
default:
|
|
parse_AbbrevForwardStep();
|
|
}
|
|
eventHandler.endNonterminal("ForwardStep", e0);
|
|
}
|
|
|
|
function try_ForwardStep()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
lookahead2W(244); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 93: // 'child'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 229: // 'self'
|
|
lookahead2W(241); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 26194: // 'attribute' '::'
|
|
case 26205: // 'child' '::'
|
|
case 26223: // 'descendant' '::'
|
|
case 26224: // 'descendant-or-self' '::'
|
|
case 26247: // 'following' '::'
|
|
case 26248: // 'following-sibling' '::'
|
|
case 26341: // 'self' '::'
|
|
try_ForwardAxis();
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NodeTest();
|
|
break;
|
|
default:
|
|
try_AbbrevForwardStep();
|
|
}
|
|
}
|
|
|
|
function parse_ForwardAxis()
|
|
{
|
|
eventHandler.startNonterminal("ForwardAxis", e0);
|
|
switch (l1)
|
|
{
|
|
case 93: // 'child'
|
|
shift(93); // 'child'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 111: // 'descendant'
|
|
shift(111); // 'descendant'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 82: // 'attribute'
|
|
shift(82); // 'attribute'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 229: // 'self'
|
|
shift(229); // 'self'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 112: // 'descendant-or-self'
|
|
shift(112); // 'descendant-or-self'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 136: // 'following-sibling'
|
|
shift(136); // 'following-sibling'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
default:
|
|
shift(135); // 'following'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
}
|
|
eventHandler.endNonterminal("ForwardAxis", e0);
|
|
}
|
|
|
|
function try_ForwardAxis()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 93: // 'child'
|
|
shiftT(93); // 'child'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 111: // 'descendant'
|
|
shiftT(111); // 'descendant'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 82: // 'attribute'
|
|
shiftT(82); // 'attribute'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 229: // 'self'
|
|
shiftT(229); // 'self'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 112: // 'descendant-or-self'
|
|
shiftT(112); // 'descendant-or-self'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 136: // 'following-sibling'
|
|
shiftT(136); // 'following-sibling'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
default:
|
|
shiftT(135); // 'following'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
}
|
|
}
|
|
|
|
function parse_AbbrevForwardStep()
|
|
{
|
|
eventHandler.startNonterminal("AbbrevForwardStep", e0);
|
|
if (l1 == 66) // '@'
|
|
{
|
|
shift(66); // '@'
|
|
}
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NodeTest();
|
|
eventHandler.endNonterminal("AbbrevForwardStep", e0);
|
|
}
|
|
|
|
function try_AbbrevForwardStep()
|
|
{
|
|
if (l1 == 66) // '@'
|
|
{
|
|
shiftT(66); // '@'
|
|
}
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NodeTest();
|
|
}
|
|
|
|
function parse_ReverseStep()
|
|
{
|
|
eventHandler.startNonterminal("ReverseStep", e0);
|
|
switch (l1)
|
|
{
|
|
case 45: // '..'
|
|
parse_AbbrevReverseStep();
|
|
break;
|
|
default:
|
|
parse_ReverseAxis();
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_NodeTest();
|
|
}
|
|
eventHandler.endNonterminal("ReverseStep", e0);
|
|
}
|
|
|
|
function try_ReverseStep()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 45: // '..'
|
|
try_AbbrevReverseStep();
|
|
break;
|
|
default:
|
|
try_ReverseAxis();
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_NodeTest();
|
|
}
|
|
}
|
|
|
|
function parse_ReverseAxis()
|
|
{
|
|
eventHandler.startNonterminal("ReverseAxis", e0);
|
|
switch (l1)
|
|
{
|
|
case 206: // 'parent'
|
|
shift(206); // 'parent'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 73: // 'ancestor'
|
|
shift(73); // 'ancestor'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 213: // 'preceding-sibling'
|
|
shift(213); // 'preceding-sibling'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
case 212: // 'preceding'
|
|
shift(212); // 'preceding'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
break;
|
|
default:
|
|
shift(74); // 'ancestor-or-self'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shift(51); // '::'
|
|
}
|
|
eventHandler.endNonterminal("ReverseAxis", e0);
|
|
}
|
|
|
|
function try_ReverseAxis()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 206: // 'parent'
|
|
shiftT(206); // 'parent'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 73: // 'ancestor'
|
|
shiftT(73); // 'ancestor'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 213: // 'preceding-sibling'
|
|
shiftT(213); // 'preceding-sibling'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
case 212: // 'preceding'
|
|
shiftT(212); // 'preceding'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
break;
|
|
default:
|
|
shiftT(74); // 'ancestor-or-self'
|
|
lookahead1W(26); // S^WS | '(:' | '::'
|
|
shiftT(51); // '::'
|
|
}
|
|
}
|
|
|
|
function parse_AbbrevReverseStep()
|
|
{
|
|
eventHandler.startNonterminal("AbbrevReverseStep", e0);
|
|
shift(45); // '..'
|
|
eventHandler.endNonterminal("AbbrevReverseStep", e0);
|
|
}
|
|
|
|
function try_AbbrevReverseStep()
|
|
{
|
|
shiftT(45); // '..'
|
|
}
|
|
|
|
function parse_NodeTest()
|
|
{
|
|
eventHandler.startNonterminal("NodeTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
case 96: // 'comment'
|
|
case 120: // 'document-node'
|
|
case 121: // 'element'
|
|
case 185: // 'namespace-node'
|
|
case 191: // 'node'
|
|
case 216: // 'processing-instruction'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 244: // 'text'
|
|
lookahead2W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 17490: // 'attribute' '('
|
|
case 17504: // 'comment' '('
|
|
case 17528: // 'document-node' '('
|
|
case 17529: // 'element' '('
|
|
case 17593: // 'namespace-node' '('
|
|
case 17599: // 'node' '('
|
|
case 17624: // 'processing-instruction' '('
|
|
case 17634: // 'schema-attribute' '('
|
|
case 17635: // 'schema-element' '('
|
|
case 17652: // 'text' '('
|
|
parse_KindTest();
|
|
break;
|
|
default:
|
|
parse_NameTest();
|
|
}
|
|
eventHandler.endNonterminal("NodeTest", e0);
|
|
}
|
|
|
|
function try_NodeTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
case 96: // 'comment'
|
|
case 120: // 'document-node'
|
|
case 121: // 'element'
|
|
case 185: // 'namespace-node'
|
|
case 191: // 'node'
|
|
case 216: // 'processing-instruction'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 244: // 'text'
|
|
lookahead2W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 17490: // 'attribute' '('
|
|
case 17504: // 'comment' '('
|
|
case 17528: // 'document-node' '('
|
|
case 17529: // 'element' '('
|
|
case 17593: // 'namespace-node' '('
|
|
case 17599: // 'node' '('
|
|
case 17624: // 'processing-instruction' '('
|
|
case 17634: // 'schema-attribute' '('
|
|
case 17635: // 'schema-element' '('
|
|
case 17652: // 'text' '('
|
|
try_KindTest();
|
|
break;
|
|
default:
|
|
try_NameTest();
|
|
}
|
|
}
|
|
|
|
function parse_NameTest()
|
|
{
|
|
eventHandler.startNonterminal("NameTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 5: // Wildcard
|
|
shift(5); // Wildcard
|
|
break;
|
|
default:
|
|
parse_EQName();
|
|
}
|
|
eventHandler.endNonterminal("NameTest", e0);
|
|
}
|
|
|
|
function try_NameTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 5: // Wildcard
|
|
shiftT(5); // Wildcard
|
|
break;
|
|
default:
|
|
try_EQName();
|
|
}
|
|
}
|
|
|
|
function parse_PostfixExpr()
|
|
{
|
|
eventHandler.startNonterminal("PostfixExpr", e0);
|
|
parse_PrimaryExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
if (l1 != 34 // '('
|
|
&& l1 != 68) // '['
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 68: // '['
|
|
whitespace();
|
|
parse_Predicate();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ArgumentList();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("PostfixExpr", e0);
|
|
}
|
|
|
|
function try_PostfixExpr()
|
|
{
|
|
try_PrimaryExpr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(240); // S^WS | EOF | '!' | '!=' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
if (l1 != 34 // '('
|
|
&& l1 != 68) // '['
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 68: // '['
|
|
try_Predicate();
|
|
break;
|
|
default:
|
|
try_ArgumentList();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_ArgumentList()
|
|
{
|
|
eventHandler.startNonterminal("ArgumentList", e0);
|
|
shift(34); // '('
|
|
lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
whitespace();
|
|
parse_Argument();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Argument();
|
|
}
|
|
}
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("ArgumentList", e0);
|
|
}
|
|
|
|
function try_ArgumentList()
|
|
{
|
|
shiftT(34); // '('
|
|
lookahead1W(275); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
try_Argument();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(270); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Argument();
|
|
}
|
|
}
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_PredicateList()
|
|
{
|
|
eventHandler.startNonterminal("PredicateList", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
if (l1 != 68) // '['
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Predicate();
|
|
}
|
|
eventHandler.endNonterminal("PredicateList", e0);
|
|
}
|
|
|
|
function try_PredicateList()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(237); // S^WS | EOF | '!' | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' | '//' | ':' |
|
|
if (l1 != 68) // '['
|
|
{
|
|
break;
|
|
}
|
|
try_Predicate();
|
|
}
|
|
}
|
|
|
|
function parse_Predicate()
|
|
{
|
|
eventHandler.startNonterminal("Predicate", e0);
|
|
shift(68); // '['
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(69); // ']'
|
|
eventHandler.endNonterminal("Predicate", e0);
|
|
}
|
|
|
|
function try_Predicate()
|
|
{
|
|
shiftT(68); // '['
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(69); // ']'
|
|
}
|
|
|
|
function parse_Literal()
|
|
{
|
|
eventHandler.startNonterminal("Literal", e0);
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shift(11); // StringLiteral
|
|
break;
|
|
default:
|
|
parse_NumericLiteral();
|
|
}
|
|
eventHandler.endNonterminal("Literal", e0);
|
|
}
|
|
|
|
function try_Literal()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shiftT(11); // StringLiteral
|
|
break;
|
|
default:
|
|
try_NumericLiteral();
|
|
}
|
|
}
|
|
|
|
function parse_NumericLiteral()
|
|
{
|
|
eventHandler.startNonterminal("NumericLiteral", e0);
|
|
switch (l1)
|
|
{
|
|
case 8: // IntegerLiteral
|
|
shift(8); // IntegerLiteral
|
|
break;
|
|
case 9: // DecimalLiteral
|
|
shift(9); // DecimalLiteral
|
|
break;
|
|
default:
|
|
shift(10); // DoubleLiteral
|
|
}
|
|
eventHandler.endNonterminal("NumericLiteral", e0);
|
|
}
|
|
|
|
function try_NumericLiteral()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 8: // IntegerLiteral
|
|
shiftT(8); // IntegerLiteral
|
|
break;
|
|
case 9: // DecimalLiteral
|
|
shiftT(9); // DecimalLiteral
|
|
break;
|
|
default:
|
|
shiftT(10); // DoubleLiteral
|
|
}
|
|
}
|
|
|
|
function parse_VarRef()
|
|
{
|
|
eventHandler.startNonterminal("VarRef", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
eventHandler.endNonterminal("VarRef", e0);
|
|
}
|
|
|
|
function try_VarRef()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
|
|
function parse_VarName()
|
|
{
|
|
eventHandler.startNonterminal("VarName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("VarName", e0);
|
|
}
|
|
|
|
function try_VarName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_ParenthesizedExpr()
|
|
{
|
|
eventHandler.startNonterminal("ParenthesizedExpr", e0);
|
|
shift(34); // '('
|
|
lookahead1W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("ParenthesizedExpr", e0);
|
|
}
|
|
|
|
function try_ParenthesizedExpr()
|
|
{
|
|
shiftT(34); // '('
|
|
lookahead1W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_ContextItemExpr()
|
|
{
|
|
eventHandler.startNonterminal("ContextItemExpr", e0);
|
|
shift(44); // '.'
|
|
eventHandler.endNonterminal("ContextItemExpr", e0);
|
|
}
|
|
|
|
function try_ContextItemExpr()
|
|
{
|
|
shiftT(44); // '.'
|
|
}
|
|
|
|
function parse_OrderedExpr()
|
|
{
|
|
eventHandler.startNonterminal("OrderedExpr", e0);
|
|
shift(202); // 'ordered'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("OrderedExpr", e0);
|
|
}
|
|
|
|
function try_OrderedExpr()
|
|
{
|
|
shiftT(202); // 'ordered'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_UnorderedExpr()
|
|
{
|
|
eventHandler.startNonterminal("UnorderedExpr", e0);
|
|
shift(256); // 'unordered'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("UnorderedExpr", e0);
|
|
}
|
|
|
|
function try_UnorderedExpr()
|
|
{
|
|
shiftT(256); // 'unordered'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_FunctionCall()
|
|
{
|
|
eventHandler.startNonterminal("FunctionCall", e0);
|
|
parse_FunctionName();
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
whitespace();
|
|
parse_ArgumentList();
|
|
eventHandler.endNonterminal("FunctionCall", e0);
|
|
}
|
|
|
|
function try_FunctionCall()
|
|
{
|
|
try_FunctionName();
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
try_ArgumentList();
|
|
}
|
|
|
|
function parse_Argument()
|
|
{
|
|
eventHandler.startNonterminal("Argument", e0);
|
|
switch (l1)
|
|
{
|
|
case 64: // '?'
|
|
parse_ArgumentPlaceholder();
|
|
break;
|
|
default:
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("Argument", e0);
|
|
}
|
|
|
|
function try_Argument()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 64: // '?'
|
|
try_ArgumentPlaceholder();
|
|
break;
|
|
default:
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_ArgumentPlaceholder()
|
|
{
|
|
eventHandler.startNonterminal("ArgumentPlaceholder", e0);
|
|
shift(64); // '?'
|
|
eventHandler.endNonterminal("ArgumentPlaceholder", e0);
|
|
}
|
|
|
|
function try_ArgumentPlaceholder()
|
|
{
|
|
shiftT(64); // '?'
|
|
}
|
|
|
|
function parse_Constructor()
|
|
{
|
|
eventHandler.startNonterminal("Constructor", e0);
|
|
switch (l1)
|
|
{
|
|
case 54: // '<'
|
|
case 55: // '<!--'
|
|
case 59: // '<?'
|
|
parse_DirectConstructor();
|
|
break;
|
|
default:
|
|
parse_ComputedConstructor();
|
|
}
|
|
eventHandler.endNonterminal("Constructor", e0);
|
|
}
|
|
|
|
function try_Constructor()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 54: // '<'
|
|
case 55: // '<!--'
|
|
case 59: // '<?'
|
|
try_DirectConstructor();
|
|
break;
|
|
default:
|
|
try_ComputedConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_DirectConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirectConstructor", e0);
|
|
switch (l1)
|
|
{
|
|
case 54: // '<'
|
|
parse_DirElemConstructor();
|
|
break;
|
|
case 55: // '<!--'
|
|
parse_DirCommentConstructor();
|
|
break;
|
|
default:
|
|
parse_DirPIConstructor();
|
|
}
|
|
eventHandler.endNonterminal("DirectConstructor", e0);
|
|
}
|
|
|
|
function try_DirectConstructor()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 54: // '<'
|
|
try_DirElemConstructor();
|
|
break;
|
|
case 55: // '<!--'
|
|
try_DirCommentConstructor();
|
|
break;
|
|
default:
|
|
try_DirPIConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_DirElemConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirElemConstructor", e0);
|
|
shift(54); // '<'
|
|
lookahead1(4); // QName
|
|
shift(20); // QName
|
|
parse_DirAttributeList();
|
|
switch (l1)
|
|
{
|
|
case 48: // '/>'
|
|
shift(48); // '/>'
|
|
break;
|
|
default:
|
|
shift(61); // '>'
|
|
for (;;)
|
|
{
|
|
lookahead1(174); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
|
|
if (l1 == 56) // '</'
|
|
{
|
|
break;
|
|
}
|
|
parse_DirElemContent();
|
|
}
|
|
shift(56); // '</'
|
|
lookahead1(4); // QName
|
|
shift(20); // QName
|
|
lookahead1(12); // S | '>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
lookahead1(8); // '>'
|
|
shift(61); // '>'
|
|
}
|
|
eventHandler.endNonterminal("DirElemConstructor", e0);
|
|
}
|
|
|
|
function try_DirElemConstructor()
|
|
{
|
|
shiftT(54); // '<'
|
|
lookahead1(4); // QName
|
|
shiftT(20); // QName
|
|
try_DirAttributeList();
|
|
switch (l1)
|
|
{
|
|
case 48: // '/>'
|
|
shiftT(48); // '/>'
|
|
break;
|
|
default:
|
|
shiftT(61); // '>'
|
|
for (;;)
|
|
{
|
|
lookahead1(174); // CDataSection | PredefinedEntityRef | ElementContentChar | CharRef | '<' |
|
|
if (l1 == 56) // '</'
|
|
{
|
|
break;
|
|
}
|
|
try_DirElemContent();
|
|
}
|
|
shiftT(56); // '</'
|
|
lookahead1(4); // QName
|
|
shiftT(20); // QName
|
|
lookahead1(12); // S | '>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
lookahead1(8); // '>'
|
|
shiftT(61); // '>'
|
|
}
|
|
}
|
|
|
|
function parse_DirAttributeList()
|
|
{
|
|
eventHandler.startNonterminal("DirAttributeList", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1(19); // S | '/>' | '>'
|
|
if (l1 != 21) // S
|
|
{
|
|
break;
|
|
}
|
|
shift(21); // S
|
|
lookahead1(91); // QName | S | '/>' | '>'
|
|
if (l1 == 20) // QName
|
|
{
|
|
shift(20); // QName
|
|
lookahead1(11); // S | '='
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
lookahead1(7); // '='
|
|
shift(60); // '='
|
|
lookahead1(18); // S | '"' | "'"
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
}
|
|
parse_DirAttributeValue();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("DirAttributeList", e0);
|
|
}
|
|
|
|
function try_DirAttributeList()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1(19); // S | '/>' | '>'
|
|
if (l1 != 21) // S
|
|
{
|
|
break;
|
|
}
|
|
shiftT(21); // S
|
|
lookahead1(91); // QName | S | '/>' | '>'
|
|
if (l1 == 20) // QName
|
|
{
|
|
shiftT(20); // QName
|
|
lookahead1(11); // S | '='
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
lookahead1(7); // '='
|
|
shiftT(60); // '='
|
|
lookahead1(18); // S | '"' | "'"
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
}
|
|
try_DirAttributeValue();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_DirAttributeValue()
|
|
{
|
|
eventHandler.startNonterminal("DirAttributeValue", e0);
|
|
lookahead1(14); // '"' | "'"
|
|
switch (l1)
|
|
{
|
|
case 28: // '"'
|
|
shift(28); // '"'
|
|
for (;;)
|
|
{
|
|
lookahead1(167); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
|
|
if (l1 == 28) // '"'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 13: // EscapeQuot
|
|
shift(13); // EscapeQuot
|
|
break;
|
|
default:
|
|
parse_QuotAttrValueContent();
|
|
}
|
|
}
|
|
shift(28); // '"'
|
|
break;
|
|
default:
|
|
shift(33); // "'"
|
|
for (;;)
|
|
{
|
|
lookahead1(168); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
|
|
if (l1 == 33) // "'"
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 14: // EscapeApos
|
|
shift(14); // EscapeApos
|
|
break;
|
|
default:
|
|
parse_AposAttrValueContent();
|
|
}
|
|
}
|
|
shift(33); // "'"
|
|
}
|
|
eventHandler.endNonterminal("DirAttributeValue", e0);
|
|
}
|
|
|
|
function try_DirAttributeValue()
|
|
{
|
|
lookahead1(14); // '"' | "'"
|
|
switch (l1)
|
|
{
|
|
case 28: // '"'
|
|
shiftT(28); // '"'
|
|
for (;;)
|
|
{
|
|
lookahead1(167); // PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | CharRef | '"' | '{' |
|
|
if (l1 == 28) // '"'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 13: // EscapeQuot
|
|
shiftT(13); // EscapeQuot
|
|
break;
|
|
default:
|
|
try_QuotAttrValueContent();
|
|
}
|
|
}
|
|
shiftT(28); // '"'
|
|
break;
|
|
default:
|
|
shiftT(33); // "'"
|
|
for (;;)
|
|
{
|
|
lookahead1(168); // PredefinedEntityRef | EscapeApos | AposAttrContentChar | CharRef | "'" | '{' |
|
|
if (l1 == 33) // "'"
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 14: // EscapeApos
|
|
shiftT(14); // EscapeApos
|
|
break;
|
|
default:
|
|
try_AposAttrValueContent();
|
|
}
|
|
}
|
|
shiftT(33); // "'"
|
|
}
|
|
}
|
|
|
|
function parse_QuotAttrValueContent()
|
|
{
|
|
eventHandler.startNonterminal("QuotAttrValueContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 16: // QuotAttrContentChar
|
|
shift(16); // QuotAttrContentChar
|
|
break;
|
|
default:
|
|
parse_CommonContent();
|
|
}
|
|
eventHandler.endNonterminal("QuotAttrValueContent", e0);
|
|
}
|
|
|
|
function try_QuotAttrValueContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 16: // QuotAttrContentChar
|
|
shiftT(16); // QuotAttrContentChar
|
|
break;
|
|
default:
|
|
try_CommonContent();
|
|
}
|
|
}
|
|
|
|
function parse_AposAttrValueContent()
|
|
{
|
|
eventHandler.startNonterminal("AposAttrValueContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 17: // AposAttrContentChar
|
|
shift(17); // AposAttrContentChar
|
|
break;
|
|
default:
|
|
parse_CommonContent();
|
|
}
|
|
eventHandler.endNonterminal("AposAttrValueContent", e0);
|
|
}
|
|
|
|
function try_AposAttrValueContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 17: // AposAttrContentChar
|
|
shiftT(17); // AposAttrContentChar
|
|
break;
|
|
default:
|
|
try_CommonContent();
|
|
}
|
|
}
|
|
|
|
function parse_DirElemContent()
|
|
{
|
|
eventHandler.startNonterminal("DirElemContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 54: // '<'
|
|
case 55: // '<!--'
|
|
case 59: // '<?'
|
|
parse_DirectConstructor();
|
|
break;
|
|
case 4: // CDataSection
|
|
shift(4); // CDataSection
|
|
break;
|
|
case 15: // ElementContentChar
|
|
shift(15); // ElementContentChar
|
|
break;
|
|
default:
|
|
parse_CommonContent();
|
|
}
|
|
eventHandler.endNonterminal("DirElemContent", e0);
|
|
}
|
|
|
|
function try_DirElemContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 54: // '<'
|
|
case 55: // '<!--'
|
|
case 59: // '<?'
|
|
try_DirectConstructor();
|
|
break;
|
|
case 4: // CDataSection
|
|
shiftT(4); // CDataSection
|
|
break;
|
|
case 15: // ElementContentChar
|
|
shiftT(15); // ElementContentChar
|
|
break;
|
|
default:
|
|
try_CommonContent();
|
|
}
|
|
}
|
|
|
|
function parse_DirCommentConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirCommentConstructor", e0);
|
|
shift(55); // '<!--'
|
|
lookahead1(1); // DirCommentContents
|
|
shift(2); // DirCommentContents
|
|
lookahead1(6); // '-->'
|
|
shift(43); // '-->'
|
|
eventHandler.endNonterminal("DirCommentConstructor", e0);
|
|
}
|
|
|
|
function try_DirCommentConstructor()
|
|
{
|
|
shiftT(55); // '<!--'
|
|
lookahead1(1); // DirCommentContents
|
|
shiftT(2); // DirCommentContents
|
|
lookahead1(6); // '-->'
|
|
shiftT(43); // '-->'
|
|
}
|
|
|
|
function parse_DirPIConstructor()
|
|
{
|
|
eventHandler.startNonterminal("DirPIConstructor", e0);
|
|
shift(59); // '<?'
|
|
lookahead1(3); // PITarget
|
|
shift(18); // PITarget
|
|
lookahead1(13); // S | '?>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shift(21); // S
|
|
lookahead1(2); // DirPIContents
|
|
shift(3); // DirPIContents
|
|
}
|
|
lookahead1(9); // '?>'
|
|
shift(65); // '?>'
|
|
eventHandler.endNonterminal("DirPIConstructor", e0);
|
|
}
|
|
|
|
function try_DirPIConstructor()
|
|
{
|
|
shiftT(59); // '<?'
|
|
lookahead1(3); // PITarget
|
|
shiftT(18); // PITarget
|
|
lookahead1(13); // S | '?>'
|
|
if (l1 == 21) // S
|
|
{
|
|
shiftT(21); // S
|
|
lookahead1(2); // DirPIContents
|
|
shiftT(3); // DirPIContents
|
|
}
|
|
lookahead1(9); // '?>'
|
|
shiftT(65); // '?>'
|
|
}
|
|
|
|
function parse_ComputedConstructor()
|
|
{
|
|
eventHandler.startNonterminal("ComputedConstructor", e0);
|
|
switch (l1)
|
|
{
|
|
case 119: // 'document'
|
|
parse_CompDocConstructor();
|
|
break;
|
|
case 121: // 'element'
|
|
parse_CompElemConstructor();
|
|
break;
|
|
case 82: // 'attribute'
|
|
parse_CompAttrConstructor();
|
|
break;
|
|
case 184: // 'namespace'
|
|
parse_CompNamespaceConstructor();
|
|
break;
|
|
case 244: // 'text'
|
|
parse_CompTextConstructor();
|
|
break;
|
|
case 96: // 'comment'
|
|
parse_CompCommentConstructor();
|
|
break;
|
|
default:
|
|
parse_CompPIConstructor();
|
|
}
|
|
eventHandler.endNonterminal("ComputedConstructor", e0);
|
|
}
|
|
|
|
function try_ComputedConstructor()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 119: // 'document'
|
|
try_CompDocConstructor();
|
|
break;
|
|
case 121: // 'element'
|
|
try_CompElemConstructor();
|
|
break;
|
|
case 82: // 'attribute'
|
|
try_CompAttrConstructor();
|
|
break;
|
|
case 184: // 'namespace'
|
|
try_CompNamespaceConstructor();
|
|
break;
|
|
case 244: // 'text'
|
|
try_CompTextConstructor();
|
|
break;
|
|
case 96: // 'comment'
|
|
try_CompCommentConstructor();
|
|
break;
|
|
default:
|
|
try_CompPIConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_CompElemConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompElemConstructor", e0);
|
|
shift(121); // 'element'
|
|
lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_EQName();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shift(276); // '{'
|
|
lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 282) // '}'
|
|
{
|
|
whitespace();
|
|
parse_ContentExpr();
|
|
}
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("CompElemConstructor", e0);
|
|
}
|
|
|
|
function try_CompElemConstructor()
|
|
{
|
|
shiftT(121); // 'element'
|
|
lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
break;
|
|
default:
|
|
try_EQName();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 282) // '}'
|
|
{
|
|
try_ContentExpr();
|
|
}
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_CompNamespaceConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompNamespaceConstructor", e0);
|
|
shift(184); // 'namespace'
|
|
lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_PrefixExpr();
|
|
shift(282); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_Prefix();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_URIExpr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("CompNamespaceConstructor", e0);
|
|
}
|
|
|
|
function try_CompNamespaceConstructor()
|
|
{
|
|
shiftT(184); // 'namespace'
|
|
lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_PrefixExpr();
|
|
shiftT(282); // '}'
|
|
break;
|
|
default:
|
|
try_Prefix();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_URIExpr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_Prefix()
|
|
{
|
|
eventHandler.startNonterminal("Prefix", e0);
|
|
parse_NCName();
|
|
eventHandler.endNonterminal("Prefix", e0);
|
|
}
|
|
|
|
function try_Prefix()
|
|
{
|
|
try_NCName();
|
|
}
|
|
|
|
function parse_PrefixExpr()
|
|
{
|
|
eventHandler.startNonterminal("PrefixExpr", e0);
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("PrefixExpr", e0);
|
|
}
|
|
|
|
function try_PrefixExpr()
|
|
{
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_URIExpr()
|
|
{
|
|
eventHandler.startNonterminal("URIExpr", e0);
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("URIExpr", e0);
|
|
}
|
|
|
|
function try_URIExpr()
|
|
{
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_FunctionItemExpr()
|
|
{
|
|
eventHandler.startNonterminal("FunctionItemExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 145: // 'function'
|
|
lookahead2W(92); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 32: // '%'
|
|
case 17553: // 'function' '('
|
|
parse_InlineFunctionExpr();
|
|
break;
|
|
default:
|
|
parse_NamedFunctionRef();
|
|
}
|
|
eventHandler.endNonterminal("FunctionItemExpr", e0);
|
|
}
|
|
|
|
function try_FunctionItemExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 145: // 'function'
|
|
lookahead2W(92); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 32: // '%'
|
|
case 17553: // 'function' '('
|
|
try_InlineFunctionExpr();
|
|
break;
|
|
default:
|
|
try_NamedFunctionRef();
|
|
}
|
|
}
|
|
|
|
function parse_NamedFunctionRef()
|
|
{
|
|
eventHandler.startNonterminal("NamedFunctionRef", e0);
|
|
parse_EQName();
|
|
lookahead1W(20); // S^WS | '#' | '(:'
|
|
shift(29); // '#'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
eventHandler.endNonterminal("NamedFunctionRef", e0);
|
|
}
|
|
|
|
function try_NamedFunctionRef()
|
|
{
|
|
try_EQName();
|
|
lookahead1W(20); // S^WS | '#' | '(:'
|
|
shiftT(29); // '#'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
}
|
|
|
|
function parse_InlineFunctionExpr()
|
|
{
|
|
eventHandler.startNonterminal("InlineFunctionExpr", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(97); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 32) // '%'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
shift(145); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(94); // S^WS | '$' | '(:' | ')'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
whitespace();
|
|
parse_ParamList();
|
|
}
|
|
shift(37); // ')'
|
|
lookahead1W(111); // S^WS | '(:' | 'as' | '{'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
shift(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_FunctionBody();
|
|
eventHandler.endNonterminal("InlineFunctionExpr", e0);
|
|
}
|
|
|
|
function try_InlineFunctionExpr()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(97); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 32) // '%'
|
|
{
|
|
break;
|
|
}
|
|
try_Annotation();
|
|
}
|
|
shiftT(145); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(94); // S^WS | '$' | '(:' | ')'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
try_ParamList();
|
|
}
|
|
shiftT(37); // ')'
|
|
lookahead1W(111); // S^WS | '(:' | 'as' | '{'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
shiftT(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
try_FunctionBody();
|
|
}
|
|
|
|
function parse_SingleType()
|
|
{
|
|
eventHandler.startNonterminal("SingleType", e0);
|
|
parse_SimpleTypeName();
|
|
lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 64) // '?'
|
|
{
|
|
shift(64); // '?'
|
|
}
|
|
eventHandler.endNonterminal("SingleType", e0);
|
|
}
|
|
|
|
function try_SingleType()
|
|
{
|
|
try_SimpleTypeName();
|
|
lookahead1W(226); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '+' | ',' | '-' | ':' | ';' | '<' | '<<' |
|
|
if (l1 == 64) // '?'
|
|
{
|
|
shiftT(64); // '?'
|
|
}
|
|
}
|
|
|
|
function parse_TypeDeclaration()
|
|
{
|
|
eventHandler.startNonterminal("TypeDeclaration", e0);
|
|
shift(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
eventHandler.endNonterminal("TypeDeclaration", e0);
|
|
}
|
|
|
|
function try_TypeDeclaration()
|
|
{
|
|
shiftT(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
|
|
function parse_SequenceType()
|
|
{
|
|
eventHandler.startNonterminal("SequenceType", e0);
|
|
switch (l1)
|
|
{
|
|
case 124: // 'empty-sequence'
|
|
lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 17532: // 'empty-sequence' '('
|
|
shift(124); // 'empty-sequence'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
break;
|
|
default:
|
|
parse_ItemType();
|
|
lookahead1W(238); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
case 40: // '+'
|
|
case 64: // '?'
|
|
whitespace();
|
|
parse_OccurrenceIndicator();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("SequenceType", e0);
|
|
}
|
|
|
|
function try_SequenceType()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 124: // 'empty-sequence'
|
|
lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 17532: // 'empty-sequence' '('
|
|
shiftT(124); // 'empty-sequence'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
break;
|
|
default:
|
|
try_ItemType();
|
|
lookahead1W(238); // S^WS | EOF | '!=' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' | ';' |
|
|
switch (l1)
|
|
{
|
|
case 39: // '*'
|
|
case 40: // '+'
|
|
case 64: // '?'
|
|
try_OccurrenceIndicator();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_OccurrenceIndicator()
|
|
{
|
|
eventHandler.startNonterminal("OccurrenceIndicator", e0);
|
|
switch (l1)
|
|
{
|
|
case 64: // '?'
|
|
shift(64); // '?'
|
|
break;
|
|
case 39: // '*'
|
|
shift(39); // '*'
|
|
break;
|
|
default:
|
|
shift(40); // '+'
|
|
}
|
|
eventHandler.endNonterminal("OccurrenceIndicator", e0);
|
|
}
|
|
|
|
function try_OccurrenceIndicator()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 64: // '?'
|
|
shiftT(64); // '?'
|
|
break;
|
|
case 39: // '*'
|
|
shiftT(39); // '*'
|
|
break;
|
|
default:
|
|
shiftT(40); // '+'
|
|
}
|
|
}
|
|
|
|
function parse_ItemType()
|
|
{
|
|
eventHandler.startNonterminal("ItemType", e0);
|
|
switch (l1)
|
|
{
|
|
case 78: // 'array'
|
|
case 82: // 'attribute'
|
|
case 96: // 'comment'
|
|
case 120: // 'document-node'
|
|
case 121: // 'element'
|
|
case 145: // 'function'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 185: // 'namespace-node'
|
|
case 191: // 'node'
|
|
case 194: // 'object'
|
|
case 216: // 'processing-instruction'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 242: // 'structured-item'
|
|
case 244: // 'text'
|
|
lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 17490: // 'attribute' '('
|
|
case 17504: // 'comment' '('
|
|
case 17528: // 'document-node' '('
|
|
case 17529: // 'element' '('
|
|
case 17593: // 'namespace-node' '('
|
|
case 17599: // 'node' '('
|
|
case 17624: // 'processing-instruction' '('
|
|
case 17634: // 'schema-attribute' '('
|
|
case 17635: // 'schema-element' '('
|
|
case 17652: // 'text' '('
|
|
parse_KindTest();
|
|
break;
|
|
case 17573: // 'item' '('
|
|
shift(165); // 'item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
break;
|
|
case 32: // '%'
|
|
case 17553: // 'function' '('
|
|
parse_FunctionTest();
|
|
break;
|
|
case 34: // '('
|
|
parse_ParenthesizedItemType();
|
|
break;
|
|
case 17486: // 'array' '('
|
|
case 17575: // 'json-item' '('
|
|
case 17602: // 'object' '('
|
|
parse_JSONTest();
|
|
break;
|
|
case 17650: // 'structured-item' '('
|
|
parse_StructuredItemTest();
|
|
break;
|
|
default:
|
|
parse_AtomicOrUnionType();
|
|
}
|
|
eventHandler.endNonterminal("ItemType", e0);
|
|
}
|
|
|
|
function try_ItemType()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 78: // 'array'
|
|
case 82: // 'attribute'
|
|
case 96: // 'comment'
|
|
case 120: // 'document-node'
|
|
case 121: // 'element'
|
|
case 145: // 'function'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 185: // 'namespace-node'
|
|
case 191: // 'node'
|
|
case 194: // 'object'
|
|
case 216: // 'processing-instruction'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 242: // 'structured-item'
|
|
case 244: // 'text'
|
|
lookahead2W(242); // S^WS | EOF | '!=' | '(' | '(:' | ')' | '*' | '*' | '+' | ',' | '-' | ':' | ':=' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 17490: // 'attribute' '('
|
|
case 17504: // 'comment' '('
|
|
case 17528: // 'document-node' '('
|
|
case 17529: // 'element' '('
|
|
case 17593: // 'namespace-node' '('
|
|
case 17599: // 'node' '('
|
|
case 17624: // 'processing-instruction' '('
|
|
case 17634: // 'schema-attribute' '('
|
|
case 17635: // 'schema-element' '('
|
|
case 17652: // 'text' '('
|
|
try_KindTest();
|
|
break;
|
|
case 17573: // 'item' '('
|
|
shiftT(165); // 'item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
break;
|
|
case 32: // '%'
|
|
case 17553: // 'function' '('
|
|
try_FunctionTest();
|
|
break;
|
|
case 34: // '('
|
|
try_ParenthesizedItemType();
|
|
break;
|
|
case 17486: // 'array' '('
|
|
case 17575: // 'json-item' '('
|
|
case 17602: // 'object' '('
|
|
try_JSONTest();
|
|
break;
|
|
case 17650: // 'structured-item' '('
|
|
try_StructuredItemTest();
|
|
break;
|
|
default:
|
|
try_AtomicOrUnionType();
|
|
}
|
|
}
|
|
|
|
function parse_JSONTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 167: // 'json-item'
|
|
parse_JSONItemTest();
|
|
break;
|
|
case 194: // 'object'
|
|
parse_JSONObjectTest();
|
|
break;
|
|
default:
|
|
parse_JSONArrayTest();
|
|
}
|
|
eventHandler.endNonterminal("JSONTest", e0);
|
|
}
|
|
|
|
function try_JSONTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 167: // 'json-item'
|
|
try_JSONItemTest();
|
|
break;
|
|
case 194: // 'object'
|
|
try_JSONObjectTest();
|
|
break;
|
|
default:
|
|
try_JSONArrayTest();
|
|
}
|
|
}
|
|
|
|
function parse_StructuredItemTest()
|
|
{
|
|
eventHandler.startNonterminal("StructuredItemTest", e0);
|
|
shift(242); // 'structured-item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("StructuredItemTest", e0);
|
|
}
|
|
|
|
function try_StructuredItemTest()
|
|
{
|
|
shiftT(242); // 'structured-item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_JSONItemTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONItemTest", e0);
|
|
shift(167); // 'json-item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("JSONItemTest", e0);
|
|
}
|
|
|
|
function try_JSONItemTest()
|
|
{
|
|
shiftT(167); // 'json-item'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_JSONObjectTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONObjectTest", e0);
|
|
shift(194); // 'object'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("JSONObjectTest", e0);
|
|
}
|
|
|
|
function try_JSONObjectTest()
|
|
{
|
|
shiftT(194); // 'object'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_JSONArrayTest()
|
|
{
|
|
eventHandler.startNonterminal("JSONArrayTest", e0);
|
|
shift(78); // 'array'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("JSONArrayTest", e0);
|
|
}
|
|
|
|
function try_JSONArrayTest()
|
|
{
|
|
shiftT(78); // 'array'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_AtomicOrUnionType()
|
|
{
|
|
eventHandler.startNonterminal("AtomicOrUnionType", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("AtomicOrUnionType", e0);
|
|
}
|
|
|
|
function try_AtomicOrUnionType()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_KindTest()
|
|
{
|
|
eventHandler.startNonterminal("KindTest", e0);
|
|
switch (l1)
|
|
{
|
|
case 120: // 'document-node'
|
|
parse_DocumentTest();
|
|
break;
|
|
case 121: // 'element'
|
|
parse_ElementTest();
|
|
break;
|
|
case 82: // 'attribute'
|
|
parse_AttributeTest();
|
|
break;
|
|
case 227: // 'schema-element'
|
|
parse_SchemaElementTest();
|
|
break;
|
|
case 226: // 'schema-attribute'
|
|
parse_SchemaAttributeTest();
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
parse_PITest();
|
|
break;
|
|
case 96: // 'comment'
|
|
parse_CommentTest();
|
|
break;
|
|
case 244: // 'text'
|
|
parse_TextTest();
|
|
break;
|
|
case 185: // 'namespace-node'
|
|
parse_NamespaceNodeTest();
|
|
break;
|
|
default:
|
|
parse_AnyKindTest();
|
|
}
|
|
eventHandler.endNonterminal("KindTest", e0);
|
|
}
|
|
|
|
function try_KindTest()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 120: // 'document-node'
|
|
try_DocumentTest();
|
|
break;
|
|
case 121: // 'element'
|
|
try_ElementTest();
|
|
break;
|
|
case 82: // 'attribute'
|
|
try_AttributeTest();
|
|
break;
|
|
case 227: // 'schema-element'
|
|
try_SchemaElementTest();
|
|
break;
|
|
case 226: // 'schema-attribute'
|
|
try_SchemaAttributeTest();
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
try_PITest();
|
|
break;
|
|
case 96: // 'comment'
|
|
try_CommentTest();
|
|
break;
|
|
case 244: // 'text'
|
|
try_TextTest();
|
|
break;
|
|
case 185: // 'namespace-node'
|
|
try_NamespaceNodeTest();
|
|
break;
|
|
default:
|
|
try_AnyKindTest();
|
|
}
|
|
}
|
|
|
|
function parse_AnyKindTest()
|
|
{
|
|
eventHandler.startNonterminal("AnyKindTest", e0);
|
|
shift(191); // 'node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("AnyKindTest", e0);
|
|
}
|
|
|
|
function try_AnyKindTest()
|
|
{
|
|
shiftT(191); // 'node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_DocumentTest()
|
|
{
|
|
eventHandler.startNonterminal("DocumentTest", e0);
|
|
shift(120); // 'document-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(144); // S^WS | '(:' | ')' | 'element' | 'schema-element'
|
|
if (l1 != 37) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 121: // 'element'
|
|
whitespace();
|
|
parse_ElementTest();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_SchemaElementTest();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("DocumentTest", e0);
|
|
}
|
|
|
|
function try_DocumentTest()
|
|
{
|
|
shiftT(120); // 'document-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(144); // S^WS | '(:' | ')' | 'element' | 'schema-element'
|
|
if (l1 != 37) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 121: // 'element'
|
|
try_ElementTest();
|
|
break;
|
|
default:
|
|
try_SchemaElementTest();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_TextTest()
|
|
{
|
|
eventHandler.startNonterminal("TextTest", e0);
|
|
shift(244); // 'text'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("TextTest", e0);
|
|
}
|
|
|
|
function try_TextTest()
|
|
{
|
|
shiftT(244); // 'text'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_CommentTest()
|
|
{
|
|
eventHandler.startNonterminal("CommentTest", e0);
|
|
shift(96); // 'comment'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("CommentTest", e0);
|
|
}
|
|
|
|
function try_CommentTest()
|
|
{
|
|
shiftT(96); // 'comment'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_NamespaceNodeTest()
|
|
{
|
|
eventHandler.startNonterminal("NamespaceNodeTest", e0);
|
|
shift(185); // 'namespace-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("NamespaceNodeTest", e0);
|
|
}
|
|
|
|
function try_NamespaceNodeTest()
|
|
{
|
|
shiftT(185); // 'namespace-node'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_PITest()
|
|
{
|
|
eventHandler.startNonterminal("PITest", e0);
|
|
shift(216); // 'processing-instruction'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(252); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shift(11); // StringLiteral
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_NCName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("PITest", e0);
|
|
}
|
|
|
|
function try_PITest()
|
|
{
|
|
shiftT(216); // 'processing-instruction'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(252); // StringLiteral | NCName^Token | S^WS | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shiftT(11); // StringLiteral
|
|
break;
|
|
default:
|
|
try_NCName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_AttributeTest()
|
|
{
|
|
eventHandler.startNonterminal("AttributeTest", e0);
|
|
shift(82); // 'attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
whitespace();
|
|
parse_AttribNameOrWildcard();
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 41) // ','
|
|
{
|
|
shift(41); // ','
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_TypeName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("AttributeTest", e0);
|
|
}
|
|
|
|
function try_AttributeTest()
|
|
{
|
|
shiftT(82); // 'attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
try_AttribNameOrWildcard();
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 41) // ','
|
|
{
|
|
shiftT(41); // ','
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_TypeName();
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_AttribNameOrWildcard()
|
|
{
|
|
eventHandler.startNonterminal("AttribNameOrWildcard", e0);
|
|
switch (l1)
|
|
{
|
|
case 38: // '*'
|
|
shift(38); // '*'
|
|
break;
|
|
default:
|
|
parse_AttributeName();
|
|
}
|
|
eventHandler.endNonterminal("AttribNameOrWildcard", e0);
|
|
}
|
|
|
|
function try_AttribNameOrWildcard()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 38: // '*'
|
|
shiftT(38); // '*'
|
|
break;
|
|
default:
|
|
try_AttributeName();
|
|
}
|
|
}
|
|
|
|
function parse_SchemaAttributeTest()
|
|
{
|
|
eventHandler.startNonterminal("SchemaAttributeTest", e0);
|
|
shift(226); // 'schema-attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_AttributeDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("SchemaAttributeTest", e0);
|
|
}
|
|
|
|
function try_SchemaAttributeTest()
|
|
{
|
|
shiftT(226); // 'schema-attribute'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_AttributeDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_AttributeDeclaration()
|
|
{
|
|
eventHandler.startNonterminal("AttributeDeclaration", e0);
|
|
parse_AttributeName();
|
|
eventHandler.endNonterminal("AttributeDeclaration", e0);
|
|
}
|
|
|
|
function try_AttributeDeclaration()
|
|
{
|
|
try_AttributeName();
|
|
}
|
|
|
|
function parse_ElementTest()
|
|
{
|
|
eventHandler.startNonterminal("ElementTest", e0);
|
|
shift(121); // 'element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
whitespace();
|
|
parse_ElementNameOrWildcard();
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 41) // ','
|
|
{
|
|
shift(41); // ','
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_TypeName();
|
|
lookahead1W(102); // S^WS | '(:' | ')' | '?'
|
|
if (l1 == 64) // '?'
|
|
{
|
|
shift(64); // '?'
|
|
}
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("ElementTest", e0);
|
|
}
|
|
|
|
function try_ElementTest()
|
|
{
|
|
shiftT(121); // 'element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(260); // EQName^Token | S^WS | '(:' | ')' | '*' | 'after' | 'allowing' | 'ancestor' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
try_ElementNameOrWildcard();
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 == 41) // ','
|
|
{
|
|
shiftT(41); // ','
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_TypeName();
|
|
lookahead1W(102); // S^WS | '(:' | ')' | '?'
|
|
if (l1 == 64) // '?'
|
|
{
|
|
shiftT(64); // '?'
|
|
}
|
|
}
|
|
}
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_ElementNameOrWildcard()
|
|
{
|
|
eventHandler.startNonterminal("ElementNameOrWildcard", e0);
|
|
switch (l1)
|
|
{
|
|
case 38: // '*'
|
|
shift(38); // '*'
|
|
break;
|
|
default:
|
|
parse_ElementName();
|
|
}
|
|
eventHandler.endNonterminal("ElementNameOrWildcard", e0);
|
|
}
|
|
|
|
function try_ElementNameOrWildcard()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 38: // '*'
|
|
shiftT(38); // '*'
|
|
break;
|
|
default:
|
|
try_ElementName();
|
|
}
|
|
}
|
|
|
|
function parse_SchemaElementTest()
|
|
{
|
|
eventHandler.startNonterminal("SchemaElementTest", e0);
|
|
shift(227); // 'schema-element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ElementDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("SchemaElementTest", e0);
|
|
}
|
|
|
|
function try_SchemaElementTest()
|
|
{
|
|
shiftT(227); // 'schema-element'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_ElementDeclaration();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_ElementDeclaration()
|
|
{
|
|
eventHandler.startNonterminal("ElementDeclaration", e0);
|
|
parse_ElementName();
|
|
eventHandler.endNonterminal("ElementDeclaration", e0);
|
|
}
|
|
|
|
function try_ElementDeclaration()
|
|
{
|
|
try_ElementName();
|
|
}
|
|
|
|
function parse_AttributeName()
|
|
{
|
|
eventHandler.startNonterminal("AttributeName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("AttributeName", e0);
|
|
}
|
|
|
|
function try_AttributeName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_ElementName()
|
|
{
|
|
eventHandler.startNonterminal("ElementName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("ElementName", e0);
|
|
}
|
|
|
|
function try_ElementName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_SimpleTypeName()
|
|
{
|
|
eventHandler.startNonterminal("SimpleTypeName", e0);
|
|
parse_TypeName();
|
|
eventHandler.endNonterminal("SimpleTypeName", e0);
|
|
}
|
|
|
|
function try_SimpleTypeName()
|
|
{
|
|
try_TypeName();
|
|
}
|
|
|
|
function parse_TypeName()
|
|
{
|
|
eventHandler.startNonterminal("TypeName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("TypeName", e0);
|
|
}
|
|
|
|
function try_TypeName()
|
|
{
|
|
try_EQName();
|
|
}
|
|
|
|
function parse_FunctionTest()
|
|
{
|
|
eventHandler.startNonterminal("FunctionTest", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(97); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 32) // '%'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 145: // 'function'
|
|
lookahead2W(22); // S^WS | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
lk = memoized(5, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_AnyFunctionTest();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(5, e0, lk);
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
whitespace();
|
|
parse_AnyFunctionTest();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_TypedFunctionTest();
|
|
}
|
|
eventHandler.endNonterminal("FunctionTest", e0);
|
|
}
|
|
|
|
function try_FunctionTest()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(97); // S^WS | '%' | '(:' | 'function'
|
|
if (l1 != 32) // '%'
|
|
{
|
|
break;
|
|
}
|
|
try_Annotation();
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 145: // 'function'
|
|
lookahead2W(22); // S^WS | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
lk = memoized(5, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_AnyFunctionTest();
|
|
memoize(5, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(5, e0A, -2);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
try_AnyFunctionTest();
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_TypedFunctionTest();
|
|
}
|
|
}
|
|
|
|
function parse_AnyFunctionTest()
|
|
{
|
|
eventHandler.startNonterminal("AnyFunctionTest", e0);
|
|
shift(145); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(24); // S^WS | '(:' | '*'
|
|
shift(38); // '*'
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("AnyFunctionTest", e0);
|
|
}
|
|
|
|
function try_AnyFunctionTest()
|
|
{
|
|
shiftT(145); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(24); // S^WS | '(:' | '*'
|
|
shiftT(38); // '*'
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_TypedFunctionTest()
|
|
{
|
|
eventHandler.startNonterminal("TypedFunctionTest", e0);
|
|
shift(145); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(262); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
whitespace();
|
|
parse_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
}
|
|
}
|
|
shift(37); // ')'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shift(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
eventHandler.endNonterminal("TypedFunctionTest", e0);
|
|
}
|
|
|
|
function try_TypedFunctionTest()
|
|
{
|
|
shiftT(145); // 'function'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(262); // EQName^Token | S^WS | '%' | '(' | '(:' | ')' | 'after' | 'allowing' |
|
|
if (l1 != 37) // ')'
|
|
{
|
|
try_SequenceType();
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
}
|
|
shiftT(37); // ')'
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shiftT(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
}
|
|
|
|
function parse_ParenthesizedItemType()
|
|
{
|
|
eventHandler.startNonterminal("ParenthesizedItemType", e0);
|
|
shift(34); // '('
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ItemType();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shift(37); // ')'
|
|
eventHandler.endNonterminal("ParenthesizedItemType", e0);
|
|
}
|
|
|
|
function try_ParenthesizedItemType()
|
|
{
|
|
shiftT(34); // '('
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_ItemType();
|
|
lookahead1W(23); // S^WS | '(:' | ')'
|
|
shiftT(37); // ')'
|
|
}
|
|
|
|
function parse_RevalidationDecl()
|
|
{
|
|
eventHandler.startNonterminal("RevalidationDecl", e0);
|
|
shift(108); // 'declare'
|
|
lookahead1W(72); // S^WS | '(:' | 'revalidation'
|
|
shift(222); // 'revalidation'
|
|
lookahead1W(152); // S^WS | '(:' | 'lax' | 'skip' | 'strict'
|
|
switch (l1)
|
|
{
|
|
case 240: // 'strict'
|
|
shift(240); // 'strict'
|
|
break;
|
|
case 171: // 'lax'
|
|
shift(171); // 'lax'
|
|
break;
|
|
default:
|
|
shift(233); // 'skip'
|
|
}
|
|
eventHandler.endNonterminal("RevalidationDecl", e0);
|
|
}
|
|
|
|
function parse_InsertExprTargetChoice()
|
|
{
|
|
eventHandler.startNonterminal("InsertExprTargetChoice", e0);
|
|
switch (l1)
|
|
{
|
|
case 70: // 'after'
|
|
shift(70); // 'after'
|
|
break;
|
|
case 84: // 'before'
|
|
shift(84); // 'before'
|
|
break;
|
|
default:
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
shift(79); // 'as'
|
|
lookahead1W(119); // S^WS | '(:' | 'first' | 'last'
|
|
switch (l1)
|
|
{
|
|
case 134: // 'first'
|
|
shift(134); // 'first'
|
|
break;
|
|
default:
|
|
shift(170); // 'last'
|
|
}
|
|
}
|
|
lookahead1W(54); // S^WS | '(:' | 'into'
|
|
shift(163); // 'into'
|
|
}
|
|
eventHandler.endNonterminal("InsertExprTargetChoice", e0);
|
|
}
|
|
|
|
function try_InsertExprTargetChoice()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 70: // 'after'
|
|
shiftT(70); // 'after'
|
|
break;
|
|
case 84: // 'before'
|
|
shiftT(84); // 'before'
|
|
break;
|
|
default:
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
shiftT(79); // 'as'
|
|
lookahead1W(119); // S^WS | '(:' | 'first' | 'last'
|
|
switch (l1)
|
|
{
|
|
case 134: // 'first'
|
|
shiftT(134); // 'first'
|
|
break;
|
|
default:
|
|
shiftT(170); // 'last'
|
|
}
|
|
}
|
|
lookahead1W(54); // S^WS | '(:' | 'into'
|
|
shiftT(163); // 'into'
|
|
}
|
|
}
|
|
|
|
function parse_InsertExpr()
|
|
{
|
|
eventHandler.startNonterminal("InsertExpr", e0);
|
|
shift(159); // 'insert'
|
|
lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 191: // 'node'
|
|
shift(191); // 'node'
|
|
break;
|
|
default:
|
|
shift(192); // 'nodes'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_SourceExpr();
|
|
whitespace();
|
|
parse_InsertExprTargetChoice();
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
eventHandler.endNonterminal("InsertExpr", e0);
|
|
}
|
|
|
|
function try_InsertExpr()
|
|
{
|
|
shiftT(159); // 'insert'
|
|
lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 191: // 'node'
|
|
shiftT(191); // 'node'
|
|
break;
|
|
default:
|
|
shiftT(192); // 'nodes'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_SourceExpr();
|
|
try_InsertExprTargetChoice();
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_TargetExpr();
|
|
}
|
|
|
|
function parse_DeleteExpr()
|
|
{
|
|
eventHandler.startNonterminal("DeleteExpr", e0);
|
|
shift(110); // 'delete'
|
|
lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 191: // 'node'
|
|
shift(191); // 'node'
|
|
break;
|
|
default:
|
|
shift(192); // 'nodes'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
eventHandler.endNonterminal("DeleteExpr", e0);
|
|
}
|
|
|
|
function try_DeleteExpr()
|
|
{
|
|
shiftT(110); // 'delete'
|
|
lookahead1W(129); // S^WS | '(:' | 'node' | 'nodes'
|
|
switch (l1)
|
|
{
|
|
case 191: // 'node'
|
|
shiftT(191); // 'node'
|
|
break;
|
|
default:
|
|
shiftT(192); // 'nodes'
|
|
}
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_TargetExpr();
|
|
}
|
|
|
|
function parse_ReplaceExpr()
|
|
{
|
|
eventHandler.startNonterminal("ReplaceExpr", e0);
|
|
shift(219); // 'replace'
|
|
lookahead1W(130); // S^WS | '(:' | 'node' | 'value'
|
|
if (l1 == 261) // 'value'
|
|
{
|
|
shift(261); // 'value'
|
|
lookahead1W(64); // S^WS | '(:' | 'of'
|
|
shift(196); // 'of'
|
|
}
|
|
lookahead1W(62); // S^WS | '(:' | 'node'
|
|
shift(191); // 'node'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
shift(270); // 'with'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ReplaceExpr", e0);
|
|
}
|
|
|
|
function try_ReplaceExpr()
|
|
{
|
|
shiftT(219); // 'replace'
|
|
lookahead1W(130); // S^WS | '(:' | 'node' | 'value'
|
|
if (l1 == 261) // 'value'
|
|
{
|
|
shiftT(261); // 'value'
|
|
lookahead1W(64); // S^WS | '(:' | 'of'
|
|
shiftT(196); // 'of'
|
|
}
|
|
lookahead1W(62); // S^WS | '(:' | 'node'
|
|
shiftT(191); // 'node'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_TargetExpr();
|
|
shiftT(270); // 'with'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_RenameExpr()
|
|
{
|
|
eventHandler.startNonterminal("RenameExpr", e0);
|
|
shift(218); // 'rename'
|
|
lookahead1W(62); // S^WS | '(:' | 'node'
|
|
shift(191); // 'node'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_TargetExpr();
|
|
shift(79); // 'as'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_NewNameExpr();
|
|
eventHandler.endNonterminal("RenameExpr", e0);
|
|
}
|
|
|
|
function try_RenameExpr()
|
|
{
|
|
shiftT(218); // 'rename'
|
|
lookahead1W(62); // S^WS | '(:' | 'node'
|
|
shiftT(191); // 'node'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_TargetExpr();
|
|
shiftT(79); // 'as'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_NewNameExpr();
|
|
}
|
|
|
|
function parse_SourceExpr()
|
|
{
|
|
eventHandler.startNonterminal("SourceExpr", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("SourceExpr", e0);
|
|
}
|
|
|
|
function try_SourceExpr()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TargetExpr()
|
|
{
|
|
eventHandler.startNonterminal("TargetExpr", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TargetExpr", e0);
|
|
}
|
|
|
|
function try_TargetExpr()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_NewNameExpr()
|
|
{
|
|
eventHandler.startNonterminal("NewNameExpr", e0);
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("NewNameExpr", e0);
|
|
}
|
|
|
|
function try_NewNameExpr()
|
|
{
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TransformExpr()
|
|
{
|
|
eventHandler.startNonterminal("TransformExpr", e0);
|
|
shift(103); // 'copy'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_TransformSpec();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_TransformSpec();
|
|
}
|
|
shift(181); // 'modify'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TransformExpr", e0);
|
|
}
|
|
|
|
function try_TransformExpr()
|
|
{
|
|
shiftT(103); // 'copy'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_TransformSpec();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
try_TransformSpec();
|
|
}
|
|
shiftT(181); // 'modify'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(220); // 'return'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_TransformSpec()
|
|
{
|
|
eventHandler.startNonterminal("TransformSpec", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("TransformSpec", e0);
|
|
}
|
|
|
|
function try_TransformSpec()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_FTSelection()
|
|
{
|
|
eventHandler.startNonterminal("FTSelection", e0);
|
|
parse_FTOr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(151); // S^WS | '(:' | 'end' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 115 // 'different'
|
|
&& lk != 117 // 'distance'
|
|
&& lk != 127 // 'entire'
|
|
&& lk != 202 // 'ordered'
|
|
&& lk != 223 // 'same'
|
|
&& lk != 269 // 'window'
|
|
&& lk != 64593 // 'at' 'end'
|
|
&& lk != 121425) // 'at' 'start'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_FTPosFilter();
|
|
}
|
|
eventHandler.endNonterminal("FTSelection", e0);
|
|
}
|
|
|
|
function try_FTSelection()
|
|
{
|
|
try_FTOr();
|
|
for (;;)
|
|
{
|
|
lookahead1W(211); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(151); // S^WS | '(:' | 'end' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 115 // 'different'
|
|
&& lk != 117 // 'distance'
|
|
&& lk != 127 // 'entire'
|
|
&& lk != 202 // 'ordered'
|
|
&& lk != 223 // 'same'
|
|
&& lk != 269 // 'window'
|
|
&& lk != 64593 // 'at' 'end'
|
|
&& lk != 121425) // 'at' 'start'
|
|
{
|
|
break;
|
|
}
|
|
try_FTPosFilter();
|
|
}
|
|
}
|
|
|
|
function parse_FTWeight()
|
|
{
|
|
eventHandler.startNonterminal("FTWeight", e0);
|
|
shift(264); // 'weight'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("FTWeight", e0);
|
|
}
|
|
|
|
function try_FTWeight()
|
|
{
|
|
shiftT(264); // 'weight'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_FTOr()
|
|
{
|
|
eventHandler.startNonterminal("FTOr", e0);
|
|
parse_FTAnd();
|
|
for (;;)
|
|
{
|
|
if (l1 != 144) // 'ftor'
|
|
{
|
|
break;
|
|
}
|
|
shift(144); // 'ftor'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTAnd();
|
|
}
|
|
eventHandler.endNonterminal("FTOr", e0);
|
|
}
|
|
|
|
function try_FTOr()
|
|
{
|
|
try_FTAnd();
|
|
for (;;)
|
|
{
|
|
if (l1 != 144) // 'ftor'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(144); // 'ftor'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTAnd();
|
|
}
|
|
}
|
|
|
|
function parse_FTAnd()
|
|
{
|
|
eventHandler.startNonterminal("FTAnd", e0);
|
|
parse_FTMildNot();
|
|
for (;;)
|
|
{
|
|
if (l1 != 142) // 'ftand'
|
|
{
|
|
break;
|
|
}
|
|
shift(142); // 'ftand'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTMildNot();
|
|
}
|
|
eventHandler.endNonterminal("FTAnd", e0);
|
|
}
|
|
|
|
function try_FTAnd()
|
|
{
|
|
try_FTMildNot();
|
|
for (;;)
|
|
{
|
|
if (l1 != 142) // 'ftand'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(142); // 'ftand'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTMildNot();
|
|
}
|
|
}
|
|
|
|
function parse_FTMildNot()
|
|
{
|
|
eventHandler.startNonterminal("FTMildNot", e0);
|
|
parse_FTUnaryNot();
|
|
for (;;)
|
|
{
|
|
lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 193) // 'not'
|
|
{
|
|
break;
|
|
}
|
|
shift(193); // 'not'
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shift(154); // 'in'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTUnaryNot();
|
|
}
|
|
eventHandler.endNonterminal("FTMildNot", e0);
|
|
}
|
|
|
|
function try_FTMildNot()
|
|
{
|
|
try_FTUnaryNot();
|
|
for (;;)
|
|
{
|
|
lookahead1W(212); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 193) // 'not'
|
|
{
|
|
break;
|
|
}
|
|
shiftT(193); // 'not'
|
|
lookahead1W(53); // S^WS | '(:' | 'in'
|
|
shiftT(154); // 'in'
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTUnaryNot();
|
|
}
|
|
}
|
|
|
|
function parse_FTUnaryNot()
|
|
{
|
|
eventHandler.startNonterminal("FTUnaryNot", e0);
|
|
if (l1 == 143) // 'ftnot'
|
|
{
|
|
shift(143); // 'ftnot'
|
|
}
|
|
lookahead1W(155); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
|
|
whitespace();
|
|
parse_FTPrimaryWithOptions();
|
|
eventHandler.endNonterminal("FTUnaryNot", e0);
|
|
}
|
|
|
|
function try_FTUnaryNot()
|
|
{
|
|
if (l1 == 143) // 'ftnot'
|
|
{
|
|
shiftT(143); // 'ftnot'
|
|
}
|
|
lookahead1W(155); // StringLiteral | S^WS | '(' | '(#' | '(:' | '{'
|
|
try_FTPrimaryWithOptions();
|
|
}
|
|
|
|
function parse_FTPrimaryWithOptions()
|
|
{
|
|
eventHandler.startNonterminal("FTPrimaryWithOptions", e0);
|
|
parse_FTPrimary();
|
|
lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 259) // 'using'
|
|
{
|
|
whitespace();
|
|
parse_FTMatchOptions();
|
|
}
|
|
if (l1 == 264) // 'weight'
|
|
{
|
|
whitespace();
|
|
parse_FTWeight();
|
|
}
|
|
eventHandler.endNonterminal("FTPrimaryWithOptions", e0);
|
|
}
|
|
|
|
function try_FTPrimaryWithOptions()
|
|
{
|
|
try_FTPrimary();
|
|
lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 259) // 'using'
|
|
{
|
|
try_FTMatchOptions();
|
|
}
|
|
if (l1 == 264) // 'weight'
|
|
{
|
|
try_FTWeight();
|
|
}
|
|
}
|
|
|
|
function parse_FTPrimary()
|
|
{
|
|
eventHandler.startNonterminal("FTPrimary", e0);
|
|
switch (l1)
|
|
{
|
|
case 34: // '('
|
|
shift(34); // '('
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
whitespace();
|
|
parse_FTSelection();
|
|
shift(37); // ')'
|
|
break;
|
|
case 35: // '(#'
|
|
parse_FTExtensionSelection();
|
|
break;
|
|
default:
|
|
parse_FTWords();
|
|
lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 195) // 'occurs'
|
|
{
|
|
whitespace();
|
|
parse_FTTimes();
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("FTPrimary", e0);
|
|
}
|
|
|
|
function try_FTPrimary()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 34: // '('
|
|
shiftT(34); // '('
|
|
lookahead1W(162); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{'
|
|
try_FTSelection();
|
|
shiftT(37); // ')'
|
|
break;
|
|
case 35: // '(#'
|
|
try_FTExtensionSelection();
|
|
break;
|
|
default:
|
|
try_FTWords();
|
|
lookahead1W(215); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 195) // 'occurs'
|
|
{
|
|
try_FTTimes();
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_FTWords()
|
|
{
|
|
eventHandler.startNonterminal("FTWords", e0);
|
|
parse_FTWordsValue();
|
|
lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 71 // 'all'
|
|
|| l1 == 76 // 'any'
|
|
|| l1 == 210) // 'phrase'
|
|
{
|
|
whitespace();
|
|
parse_FTAnyallOption();
|
|
}
|
|
eventHandler.endNonterminal("FTWords", e0);
|
|
}
|
|
|
|
function try_FTWords()
|
|
{
|
|
try_FTWordsValue();
|
|
lookahead1W(221); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 71 // 'all'
|
|
|| l1 == 76 // 'any'
|
|
|| l1 == 210) // 'phrase'
|
|
{
|
|
try_FTAnyallOption();
|
|
}
|
|
}
|
|
|
|
function parse_FTWordsValue()
|
|
{
|
|
eventHandler.startNonterminal("FTWordsValue", e0);
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shift(11); // StringLiteral
|
|
break;
|
|
default:
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
}
|
|
eventHandler.endNonterminal("FTWordsValue", e0);
|
|
}
|
|
|
|
function try_FTWordsValue()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 11: // StringLiteral
|
|
shiftT(11); // StringLiteral
|
|
break;
|
|
default:
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
}
|
|
}
|
|
|
|
function parse_FTExtensionSelection()
|
|
{
|
|
eventHandler.startNonterminal("FTExtensionSelection", e0);
|
|
for (;;)
|
|
{
|
|
whitespace();
|
|
parse_Pragma();
|
|
lookahead1W(100); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 35) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(276); // '{'
|
|
lookahead1W(166); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
|
|
if (l1 != 282) // '}'
|
|
{
|
|
whitespace();
|
|
parse_FTSelection();
|
|
}
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("FTExtensionSelection", e0);
|
|
}
|
|
|
|
function try_FTExtensionSelection()
|
|
{
|
|
for (;;)
|
|
{
|
|
try_Pragma();
|
|
lookahead1W(100); // S^WS | '(#' | '(:' | '{'
|
|
if (l1 != 35) // '(#'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(276); // '{'
|
|
lookahead1W(166); // StringLiteral | S^WS | '(' | '(#' | '(:' | 'ftnot' | '{' | '}'
|
|
if (l1 != 282) // '}'
|
|
{
|
|
try_FTSelection();
|
|
}
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_FTAnyallOption()
|
|
{
|
|
eventHandler.startNonterminal("FTAnyallOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 76: // 'any'
|
|
shift(76); // 'any'
|
|
lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 272) // 'word'
|
|
{
|
|
shift(272); // 'word'
|
|
}
|
|
break;
|
|
case 71: // 'all'
|
|
shift(71); // 'all'
|
|
lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 273) // 'words'
|
|
{
|
|
shift(273); // 'words'
|
|
}
|
|
break;
|
|
default:
|
|
shift(210); // 'phrase'
|
|
}
|
|
eventHandler.endNonterminal("FTAnyallOption", e0);
|
|
}
|
|
|
|
function try_FTAnyallOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 76: // 'any'
|
|
shiftT(76); // 'any'
|
|
lookahead1W(218); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 272) // 'word'
|
|
{
|
|
shiftT(272); // 'word'
|
|
}
|
|
break;
|
|
case 71: // 'all'
|
|
shiftT(71); // 'all'
|
|
lookahead1W(219); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 273) // 'words'
|
|
{
|
|
shiftT(273); // 'words'
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(210); // 'phrase'
|
|
}
|
|
}
|
|
|
|
function parse_FTTimes()
|
|
{
|
|
eventHandler.startNonterminal("FTTimes", e0);
|
|
shift(195); // 'occurs'
|
|
lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
whitespace();
|
|
parse_FTRange();
|
|
shift(247); // 'times'
|
|
eventHandler.endNonterminal("FTTimes", e0);
|
|
}
|
|
|
|
function try_FTTimes()
|
|
{
|
|
shiftT(195); // 'occurs'
|
|
lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
try_FTRange();
|
|
shiftT(247); // 'times'
|
|
}
|
|
|
|
function parse_FTRange()
|
|
{
|
|
eventHandler.startNonterminal("FTRange", e0);
|
|
switch (l1)
|
|
{
|
|
case 130: // 'exactly'
|
|
shift(130); // 'exactly'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
break;
|
|
case 81: // 'at'
|
|
shift(81); // 'at'
|
|
lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 173: // 'least'
|
|
shift(173); // 'least'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
break;
|
|
default:
|
|
shift(183); // 'most'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
}
|
|
break;
|
|
default:
|
|
shift(140); // 'from'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
shift(248); // 'to'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
}
|
|
eventHandler.endNonterminal("FTRange", e0);
|
|
}
|
|
|
|
function try_FTRange()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 130: // 'exactly'
|
|
shiftT(130); // 'exactly'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AdditiveExpr();
|
|
break;
|
|
case 81: // 'at'
|
|
shiftT(81); // 'at'
|
|
lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 173: // 'least'
|
|
shiftT(173); // 'least'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AdditiveExpr();
|
|
break;
|
|
default:
|
|
shiftT(183); // 'most'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AdditiveExpr();
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(140); // 'from'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AdditiveExpr();
|
|
shiftT(248); // 'to'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AdditiveExpr();
|
|
}
|
|
}
|
|
|
|
function parse_FTPosFilter()
|
|
{
|
|
eventHandler.startNonterminal("FTPosFilter", e0);
|
|
switch (l1)
|
|
{
|
|
case 202: // 'ordered'
|
|
parse_FTOrder();
|
|
break;
|
|
case 269: // 'window'
|
|
parse_FTWindow();
|
|
break;
|
|
case 117: // 'distance'
|
|
parse_FTDistance();
|
|
break;
|
|
case 115: // 'different'
|
|
case 223: // 'same'
|
|
parse_FTScope();
|
|
break;
|
|
default:
|
|
parse_FTContent();
|
|
}
|
|
eventHandler.endNonterminal("FTPosFilter", e0);
|
|
}
|
|
|
|
function try_FTPosFilter()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 202: // 'ordered'
|
|
try_FTOrder();
|
|
break;
|
|
case 269: // 'window'
|
|
try_FTWindow();
|
|
break;
|
|
case 117: // 'distance'
|
|
try_FTDistance();
|
|
break;
|
|
case 115: // 'different'
|
|
case 223: // 'same'
|
|
try_FTScope();
|
|
break;
|
|
default:
|
|
try_FTContent();
|
|
}
|
|
}
|
|
|
|
function parse_FTOrder()
|
|
{
|
|
eventHandler.startNonterminal("FTOrder", e0);
|
|
shift(202); // 'ordered'
|
|
eventHandler.endNonterminal("FTOrder", e0);
|
|
}
|
|
|
|
function try_FTOrder()
|
|
{
|
|
shiftT(202); // 'ordered'
|
|
}
|
|
|
|
function parse_FTWindow()
|
|
{
|
|
eventHandler.startNonterminal("FTWindow", e0);
|
|
shift(269); // 'window'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_AdditiveExpr();
|
|
whitespace();
|
|
parse_FTUnit();
|
|
eventHandler.endNonterminal("FTWindow", e0);
|
|
}
|
|
|
|
function try_FTWindow()
|
|
{
|
|
shiftT(269); // 'window'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_AdditiveExpr();
|
|
try_FTUnit();
|
|
}
|
|
|
|
function parse_FTDistance()
|
|
{
|
|
eventHandler.startNonterminal("FTDistance", e0);
|
|
shift(117); // 'distance'
|
|
lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
whitespace();
|
|
parse_FTRange();
|
|
whitespace();
|
|
parse_FTUnit();
|
|
eventHandler.endNonterminal("FTDistance", e0);
|
|
}
|
|
|
|
function try_FTDistance()
|
|
{
|
|
shiftT(117); // 'distance'
|
|
lookahead1W(149); // S^WS | '(:' | 'at' | 'exactly' | 'from'
|
|
try_FTRange();
|
|
try_FTUnit();
|
|
}
|
|
|
|
function parse_FTUnit()
|
|
{
|
|
eventHandler.startNonterminal("FTUnit", e0);
|
|
switch (l1)
|
|
{
|
|
case 273: // 'words'
|
|
shift(273); // 'words'
|
|
break;
|
|
case 232: // 'sentences'
|
|
shift(232); // 'sentences'
|
|
break;
|
|
default:
|
|
shift(205); // 'paragraphs'
|
|
}
|
|
eventHandler.endNonterminal("FTUnit", e0);
|
|
}
|
|
|
|
function try_FTUnit()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 273: // 'words'
|
|
shiftT(273); // 'words'
|
|
break;
|
|
case 232: // 'sentences'
|
|
shiftT(232); // 'sentences'
|
|
break;
|
|
default:
|
|
shiftT(205); // 'paragraphs'
|
|
}
|
|
}
|
|
|
|
function parse_FTScope()
|
|
{
|
|
eventHandler.startNonterminal("FTScope", e0);
|
|
switch (l1)
|
|
{
|
|
case 223: // 'same'
|
|
shift(223); // 'same'
|
|
break;
|
|
default:
|
|
shift(115); // 'different'
|
|
}
|
|
lookahead1W(132); // S^WS | '(:' | 'paragraph' | 'sentence'
|
|
whitespace();
|
|
parse_FTBigUnit();
|
|
eventHandler.endNonterminal("FTScope", e0);
|
|
}
|
|
|
|
function try_FTScope()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 223: // 'same'
|
|
shiftT(223); // 'same'
|
|
break;
|
|
default:
|
|
shiftT(115); // 'different'
|
|
}
|
|
lookahead1W(132); // S^WS | '(:' | 'paragraph' | 'sentence'
|
|
try_FTBigUnit();
|
|
}
|
|
|
|
function parse_FTBigUnit()
|
|
{
|
|
eventHandler.startNonterminal("FTBigUnit", e0);
|
|
switch (l1)
|
|
{
|
|
case 231: // 'sentence'
|
|
shift(231); // 'sentence'
|
|
break;
|
|
default:
|
|
shift(204); // 'paragraph'
|
|
}
|
|
eventHandler.endNonterminal("FTBigUnit", e0);
|
|
}
|
|
|
|
function try_FTBigUnit()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 231: // 'sentence'
|
|
shiftT(231); // 'sentence'
|
|
break;
|
|
default:
|
|
shiftT(204); // 'paragraph'
|
|
}
|
|
}
|
|
|
|
function parse_FTContent()
|
|
{
|
|
eventHandler.startNonterminal("FTContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
shift(81); // 'at'
|
|
lookahead1W(117); // S^WS | '(:' | 'end' | 'start'
|
|
switch (l1)
|
|
{
|
|
case 237: // 'start'
|
|
shift(237); // 'start'
|
|
break;
|
|
default:
|
|
shift(126); // 'end'
|
|
}
|
|
break;
|
|
default:
|
|
shift(127); // 'entire'
|
|
lookahead1W(42); // S^WS | '(:' | 'content'
|
|
shift(100); // 'content'
|
|
}
|
|
eventHandler.endNonterminal("FTContent", e0);
|
|
}
|
|
|
|
function try_FTContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
shiftT(81); // 'at'
|
|
lookahead1W(117); // S^WS | '(:' | 'end' | 'start'
|
|
switch (l1)
|
|
{
|
|
case 237: // 'start'
|
|
shiftT(237); // 'start'
|
|
break;
|
|
default:
|
|
shiftT(126); // 'end'
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(127); // 'entire'
|
|
lookahead1W(42); // S^WS | '(:' | 'content'
|
|
shiftT(100); // 'content'
|
|
}
|
|
}
|
|
|
|
function parse_FTMatchOptions()
|
|
{
|
|
eventHandler.startNonterminal("FTMatchOptions", e0);
|
|
for (;;)
|
|
{
|
|
shift(259); // 'using'
|
|
lookahead1W(181); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
|
|
whitespace();
|
|
parse_FTMatchOption();
|
|
lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 259) // 'using'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("FTMatchOptions", e0);
|
|
}
|
|
|
|
function try_FTMatchOptions()
|
|
{
|
|
for (;;)
|
|
{
|
|
shiftT(259); // 'using'
|
|
lookahead1W(181); // S^WS | '(:' | 'case' | 'diacritics' | 'language' | 'lowercase' | 'no' |
|
|
try_FTMatchOption();
|
|
lookahead1W(214); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 259) // 'using'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
function parse_FTMatchOption()
|
|
{
|
|
eventHandler.startNonterminal("FTMatchOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 188: // 'no'
|
|
lookahead2W(161); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 169: // 'language'
|
|
parse_FTLanguageOption();
|
|
break;
|
|
case 268: // 'wildcards'
|
|
case 137404: // 'no' 'wildcards'
|
|
parse_FTWildCardOption();
|
|
break;
|
|
case 246: // 'thesaurus'
|
|
case 126140: // 'no' 'thesaurus'
|
|
parse_FTThesaurusOption();
|
|
break;
|
|
case 238: // 'stemming'
|
|
case 122044: // 'no' 'stemming'
|
|
parse_FTStemOption();
|
|
break;
|
|
case 114: // 'diacritics'
|
|
parse_FTDiacriticsOption();
|
|
break;
|
|
case 239: // 'stop'
|
|
case 122556: // 'no' 'stop'
|
|
parse_FTStopWordOption();
|
|
break;
|
|
case 199: // 'option'
|
|
parse_FTExtensionOption();
|
|
break;
|
|
default:
|
|
parse_FTCaseOption();
|
|
}
|
|
eventHandler.endNonterminal("FTMatchOption", e0);
|
|
}
|
|
|
|
function try_FTMatchOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 188: // 'no'
|
|
lookahead2W(161); // S^WS | '(:' | 'stemming' | 'stop' | 'thesaurus' | 'wildcards'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 169: // 'language'
|
|
try_FTLanguageOption();
|
|
break;
|
|
case 268: // 'wildcards'
|
|
case 137404: // 'no' 'wildcards'
|
|
try_FTWildCardOption();
|
|
break;
|
|
case 246: // 'thesaurus'
|
|
case 126140: // 'no' 'thesaurus'
|
|
try_FTThesaurusOption();
|
|
break;
|
|
case 238: // 'stemming'
|
|
case 122044: // 'no' 'stemming'
|
|
try_FTStemOption();
|
|
break;
|
|
case 114: // 'diacritics'
|
|
try_FTDiacriticsOption();
|
|
break;
|
|
case 239: // 'stop'
|
|
case 122556: // 'no' 'stop'
|
|
try_FTStopWordOption();
|
|
break;
|
|
case 199: // 'option'
|
|
try_FTExtensionOption();
|
|
break;
|
|
default:
|
|
try_FTCaseOption();
|
|
}
|
|
}
|
|
|
|
function parse_FTCaseOption()
|
|
{
|
|
eventHandler.startNonterminal("FTCaseOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 88: // 'case'
|
|
shift(88); // 'case'
|
|
lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 158: // 'insensitive'
|
|
shift(158); // 'insensitive'
|
|
break;
|
|
default:
|
|
shift(230); // 'sensitive'
|
|
}
|
|
break;
|
|
case 177: // 'lowercase'
|
|
shift(177); // 'lowercase'
|
|
break;
|
|
default:
|
|
shift(258); // 'uppercase'
|
|
}
|
|
eventHandler.endNonterminal("FTCaseOption", e0);
|
|
}
|
|
|
|
function try_FTCaseOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 88: // 'case'
|
|
shiftT(88); // 'case'
|
|
lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 158: // 'insensitive'
|
|
shiftT(158); // 'insensitive'
|
|
break;
|
|
default:
|
|
shiftT(230); // 'sensitive'
|
|
}
|
|
break;
|
|
case 177: // 'lowercase'
|
|
shiftT(177); // 'lowercase'
|
|
break;
|
|
default:
|
|
shiftT(258); // 'uppercase'
|
|
}
|
|
}
|
|
|
|
function parse_FTDiacriticsOption()
|
|
{
|
|
eventHandler.startNonterminal("FTDiacriticsOption", e0);
|
|
shift(114); // 'diacritics'
|
|
lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 158: // 'insensitive'
|
|
shift(158); // 'insensitive'
|
|
break;
|
|
default:
|
|
shift(230); // 'sensitive'
|
|
}
|
|
eventHandler.endNonterminal("FTDiacriticsOption", e0);
|
|
}
|
|
|
|
function try_FTDiacriticsOption()
|
|
{
|
|
shiftT(114); // 'diacritics'
|
|
lookahead1W(124); // S^WS | '(:' | 'insensitive' | 'sensitive'
|
|
switch (l1)
|
|
{
|
|
case 158: // 'insensitive'
|
|
shiftT(158); // 'insensitive'
|
|
break;
|
|
default:
|
|
shiftT(230); // 'sensitive'
|
|
}
|
|
}
|
|
|
|
function parse_FTStemOption()
|
|
{
|
|
eventHandler.startNonterminal("FTStemOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 238: // 'stemming'
|
|
shift(238); // 'stemming'
|
|
break;
|
|
default:
|
|
shift(188); // 'no'
|
|
lookahead1W(74); // S^WS | '(:' | 'stemming'
|
|
shift(238); // 'stemming'
|
|
}
|
|
eventHandler.endNonterminal("FTStemOption", e0);
|
|
}
|
|
|
|
function try_FTStemOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 238: // 'stemming'
|
|
shiftT(238); // 'stemming'
|
|
break;
|
|
default:
|
|
shiftT(188); // 'no'
|
|
lookahead1W(74); // S^WS | '(:' | 'stemming'
|
|
shiftT(238); // 'stemming'
|
|
}
|
|
}
|
|
|
|
function parse_FTThesaurusOption()
|
|
{
|
|
eventHandler.startNonterminal("FTThesaurusOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 246: // 'thesaurus'
|
|
shift(246); // 'thesaurus'
|
|
lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
whitespace();
|
|
parse_FTThesaurusID();
|
|
break;
|
|
case 109: // 'default'
|
|
shift(109); // 'default'
|
|
break;
|
|
default:
|
|
shift(34); // '('
|
|
lookahead1W(112); // S^WS | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
whitespace();
|
|
parse_FTThesaurusID();
|
|
break;
|
|
default:
|
|
shift(109); // 'default'
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(31); // S^WS | '(:' | 'at'
|
|
whitespace();
|
|
parse_FTThesaurusID();
|
|
}
|
|
shift(37); // ')'
|
|
}
|
|
break;
|
|
default:
|
|
shift(188); // 'no'
|
|
lookahead1W(78); // S^WS | '(:' | 'thesaurus'
|
|
shift(246); // 'thesaurus'
|
|
}
|
|
eventHandler.endNonterminal("FTThesaurusOption", e0);
|
|
}
|
|
|
|
function try_FTThesaurusOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 246: // 'thesaurus'
|
|
shiftT(246); // 'thesaurus'
|
|
lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
try_FTThesaurusID();
|
|
break;
|
|
case 109: // 'default'
|
|
shiftT(109); // 'default'
|
|
break;
|
|
default:
|
|
shiftT(34); // '('
|
|
lookahead1W(112); // S^WS | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
try_FTThesaurusID();
|
|
break;
|
|
default:
|
|
shiftT(109); // 'default'
|
|
}
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(31); // S^WS | '(:' | 'at'
|
|
try_FTThesaurusID();
|
|
}
|
|
shiftT(37); // ')'
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(188); // 'no'
|
|
lookahead1W(78); // S^WS | '(:' | 'thesaurus'
|
|
shiftT(246); // 'thesaurus'
|
|
}
|
|
}
|
|
|
|
function parse_FTThesaurusID()
|
|
{
|
|
eventHandler.startNonterminal("FTThesaurusID", e0);
|
|
shift(81); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 217) // 'relationship'
|
|
{
|
|
shift(217); // 'relationship'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(165); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 130 // 'exactly'
|
|
|| lk == 140 // 'from'
|
|
|| lk == 88657 // 'at' 'least'
|
|
|| lk == 93777) // 'at' 'most'
|
|
{
|
|
whitespace();
|
|
parse_FTLiteralRange();
|
|
lookahead1W(58); // S^WS | '(:' | 'levels'
|
|
shift(175); // 'levels'
|
|
}
|
|
eventHandler.endNonterminal("FTThesaurusID", e0);
|
|
}
|
|
|
|
function try_FTThesaurusID()
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
lookahead1W(220); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 == 217) // 'relationship'
|
|
{
|
|
shiftT(217); // 'relationship'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
lookahead1W(216); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(165); // S^WS | '(:' | 'end' | 'least' | 'most' | 'position' | 'start'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 130 // 'exactly'
|
|
|| lk == 140 // 'from'
|
|
|| lk == 88657 // 'at' 'least'
|
|
|| lk == 93777) // 'at' 'most'
|
|
{
|
|
try_FTLiteralRange();
|
|
lookahead1W(58); // S^WS | '(:' | 'levels'
|
|
shiftT(175); // 'levels'
|
|
}
|
|
}
|
|
|
|
function parse_FTLiteralRange()
|
|
{
|
|
eventHandler.startNonterminal("FTLiteralRange", e0);
|
|
switch (l1)
|
|
{
|
|
case 130: // 'exactly'
|
|
shift(130); // 'exactly'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
break;
|
|
case 81: // 'at'
|
|
shift(81); // 'at'
|
|
lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 173: // 'least'
|
|
shift(173); // 'least'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
break;
|
|
default:
|
|
shift(183); // 'most'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
}
|
|
break;
|
|
default:
|
|
shift(140); // 'from'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
lookahead1W(79); // S^WS | '(:' | 'to'
|
|
shift(248); // 'to'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shift(8); // IntegerLiteral
|
|
}
|
|
eventHandler.endNonterminal("FTLiteralRange", e0);
|
|
}
|
|
|
|
function try_FTLiteralRange()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 130: // 'exactly'
|
|
shiftT(130); // 'exactly'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
break;
|
|
case 81: // 'at'
|
|
shiftT(81); // 'at'
|
|
lookahead1W(125); // S^WS | '(:' | 'least' | 'most'
|
|
switch (l1)
|
|
{
|
|
case 173: // 'least'
|
|
shiftT(173); // 'least'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
break;
|
|
default:
|
|
shiftT(183); // 'most'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(140); // 'from'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
lookahead1W(79); // S^WS | '(:' | 'to'
|
|
shiftT(248); // 'to'
|
|
lookahead1W(16); // IntegerLiteral | S^WS | '(:'
|
|
shiftT(8); // IntegerLiteral
|
|
}
|
|
}
|
|
|
|
function parse_FTStopWordOption()
|
|
{
|
|
eventHandler.startNonterminal("FTStopWordOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 239: // 'stop'
|
|
shift(239); // 'stop'
|
|
lookahead1W(86); // S^WS | '(:' | 'words'
|
|
shift(273); // 'words'
|
|
lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 109: // 'default'
|
|
shift(109); // 'default'
|
|
for (;;)
|
|
{
|
|
lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 131 // 'except'
|
|
&& l1 != 254) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_FTStopWordsInclExcl();
|
|
}
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_FTStopWords();
|
|
for (;;)
|
|
{
|
|
lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 131 // 'except'
|
|
&& l1 != 254) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_FTStopWordsInclExcl();
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
shift(188); // 'no'
|
|
lookahead1W(75); // S^WS | '(:' | 'stop'
|
|
shift(239); // 'stop'
|
|
lookahead1W(86); // S^WS | '(:' | 'words'
|
|
shift(273); // 'words'
|
|
}
|
|
eventHandler.endNonterminal("FTStopWordOption", e0);
|
|
}
|
|
|
|
function try_FTStopWordOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 239: // 'stop'
|
|
shiftT(239); // 'stop'
|
|
lookahead1W(86); // S^WS | '(:' | 'words'
|
|
shiftT(273); // 'words'
|
|
lookahead1W(142); // S^WS | '(' | '(:' | 'at' | 'default'
|
|
switch (l1)
|
|
{
|
|
case 109: // 'default'
|
|
shiftT(109); // 'default'
|
|
for (;;)
|
|
{
|
|
lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 131 // 'except'
|
|
&& l1 != 254) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
try_FTStopWordsInclExcl();
|
|
}
|
|
break;
|
|
default:
|
|
try_FTStopWords();
|
|
for (;;)
|
|
{
|
|
lookahead1W(217); // S^WS | EOF | '!=' | '(:' | ')' | ',' | ':' | ';' | '<' | '<<' | '<=' | '=' |
|
|
if (l1 != 131 // 'except'
|
|
&& l1 != 254) // 'union'
|
|
{
|
|
break;
|
|
}
|
|
try_FTStopWordsInclExcl();
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
shiftT(188); // 'no'
|
|
lookahead1W(75); // S^WS | '(:' | 'stop'
|
|
shiftT(239); // 'stop'
|
|
lookahead1W(86); // S^WS | '(:' | 'words'
|
|
shiftT(273); // 'words'
|
|
}
|
|
}
|
|
|
|
function parse_FTStopWords()
|
|
{
|
|
eventHandler.startNonterminal("FTStopWords", e0);
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
shift(81); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
break;
|
|
default:
|
|
shift(34); // '('
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
}
|
|
shift(37); // ')'
|
|
}
|
|
eventHandler.endNonterminal("FTStopWords", e0);
|
|
}
|
|
|
|
function try_FTStopWords()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
shiftT(81); // 'at'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shiftT(7); // URILiteral
|
|
break;
|
|
default:
|
|
shiftT(34); // '('
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
for (;;)
|
|
{
|
|
lookahead1W(101); // S^WS | '(:' | ')' | ','
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
shiftT(37); // ')'
|
|
}
|
|
}
|
|
|
|
function parse_FTStopWordsInclExcl()
|
|
{
|
|
eventHandler.startNonterminal("FTStopWordsInclExcl", e0);
|
|
switch (l1)
|
|
{
|
|
case 254: // 'union'
|
|
shift(254); // 'union'
|
|
break;
|
|
default:
|
|
shift(131); // 'except'
|
|
}
|
|
lookahead1W(99); // S^WS | '(' | '(:' | 'at'
|
|
whitespace();
|
|
parse_FTStopWords();
|
|
eventHandler.endNonterminal("FTStopWordsInclExcl", e0);
|
|
}
|
|
|
|
function try_FTStopWordsInclExcl()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 254: // 'union'
|
|
shiftT(254); // 'union'
|
|
break;
|
|
default:
|
|
shiftT(131); // 'except'
|
|
}
|
|
lookahead1W(99); // S^WS | '(' | '(:' | 'at'
|
|
try_FTStopWords();
|
|
}
|
|
|
|
function parse_FTLanguageOption()
|
|
{
|
|
eventHandler.startNonterminal("FTLanguageOption", e0);
|
|
shift(169); // 'language'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
eventHandler.endNonterminal("FTLanguageOption", e0);
|
|
}
|
|
|
|
function try_FTLanguageOption()
|
|
{
|
|
shiftT(169); // 'language'
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
|
|
function parse_FTWildCardOption()
|
|
{
|
|
eventHandler.startNonterminal("FTWildCardOption", e0);
|
|
switch (l1)
|
|
{
|
|
case 268: // 'wildcards'
|
|
shift(268); // 'wildcards'
|
|
break;
|
|
default:
|
|
shift(188); // 'no'
|
|
lookahead1W(84); // S^WS | '(:' | 'wildcards'
|
|
shift(268); // 'wildcards'
|
|
}
|
|
eventHandler.endNonterminal("FTWildCardOption", e0);
|
|
}
|
|
|
|
function try_FTWildCardOption()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 268: // 'wildcards'
|
|
shiftT(268); // 'wildcards'
|
|
break;
|
|
default:
|
|
shiftT(188); // 'no'
|
|
lookahead1W(84); // S^WS | '(:' | 'wildcards'
|
|
shiftT(268); // 'wildcards'
|
|
}
|
|
}
|
|
|
|
function parse_FTExtensionOption()
|
|
{
|
|
eventHandler.startNonterminal("FTExtensionOption", e0);
|
|
shift(199); // 'option'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shift(11); // StringLiteral
|
|
eventHandler.endNonterminal("FTExtensionOption", e0);
|
|
}
|
|
|
|
function try_FTExtensionOption()
|
|
{
|
|
shiftT(199); // 'option'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_EQName();
|
|
lookahead1W(17); // StringLiteral | S^WS | '(:'
|
|
shiftT(11); // StringLiteral
|
|
}
|
|
|
|
function parse_FTIgnoreOption()
|
|
{
|
|
eventHandler.startNonterminal("FTIgnoreOption", e0);
|
|
shift(271); // 'without'
|
|
lookahead1W(42); // S^WS | '(:' | 'content'
|
|
shift(100); // 'content'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_UnionExpr();
|
|
eventHandler.endNonterminal("FTIgnoreOption", e0);
|
|
}
|
|
|
|
function try_FTIgnoreOption()
|
|
{
|
|
shiftT(271); // 'without'
|
|
lookahead1W(42); // S^WS | '(:' | 'content'
|
|
shiftT(100); // 'content'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_UnionExpr();
|
|
}
|
|
|
|
function parse_CollectionDecl()
|
|
{
|
|
eventHandler.startNonterminal("CollectionDecl", e0);
|
|
shift(95); // 'collection'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(107); // S^WS | '(:' | ';' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_CollectionTypeDecl();
|
|
}
|
|
eventHandler.endNonterminal("CollectionDecl", e0);
|
|
}
|
|
|
|
function parse_CollectionTypeDecl()
|
|
{
|
|
eventHandler.startNonterminal("CollectionTypeDecl", e0);
|
|
shift(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_ItemType();
|
|
lookahead1W(156); // S^WS | '(:' | '*' | '+' | ';' | '?'
|
|
if (l1 != 53) // ';'
|
|
{
|
|
whitespace();
|
|
parse_OccurrenceIndicator();
|
|
}
|
|
eventHandler.endNonterminal("CollectionTypeDecl", e0);
|
|
}
|
|
|
|
function parse_IndexName()
|
|
{
|
|
eventHandler.startNonterminal("IndexName", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("IndexName", e0);
|
|
}
|
|
|
|
function parse_IndexDomainExpr()
|
|
{
|
|
eventHandler.startNonterminal("IndexDomainExpr", e0);
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("IndexDomainExpr", e0);
|
|
}
|
|
|
|
function parse_IndexKeySpec()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeySpec", e0);
|
|
parse_IndexKeyExpr();
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_IndexKeyTypeDecl();
|
|
}
|
|
lookahead1W(146); // S^WS | '(:' | ',' | ';' | 'collation'
|
|
if (l1 == 94) // 'collation'
|
|
{
|
|
whitespace();
|
|
parse_IndexKeyCollation();
|
|
}
|
|
eventHandler.endNonterminal("IndexKeySpec", e0);
|
|
}
|
|
|
|
function parse_IndexKeyExpr()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeyExpr", e0);
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("IndexKeyExpr", e0);
|
|
}
|
|
|
|
function parse_IndexKeyTypeDecl()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeyTypeDecl", e0);
|
|
shift(79); // 'as'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_AtomicType();
|
|
lookahead1W(169); // S^WS | '(:' | '*' | '+' | ',' | ';' | '?' | 'collation'
|
|
if (l1 == 39 // '*'
|
|
|| l1 == 40 // '+'
|
|
|| l1 == 64) // '?'
|
|
{
|
|
whitespace();
|
|
parse_OccurrenceIndicator();
|
|
}
|
|
eventHandler.endNonterminal("IndexKeyTypeDecl", e0);
|
|
}
|
|
|
|
function parse_AtomicType()
|
|
{
|
|
eventHandler.startNonterminal("AtomicType", e0);
|
|
parse_EQName();
|
|
eventHandler.endNonterminal("AtomicType", e0);
|
|
}
|
|
|
|
function parse_IndexKeyCollation()
|
|
{
|
|
eventHandler.startNonterminal("IndexKeyCollation", e0);
|
|
shift(94); // 'collation'
|
|
lookahead1W(15); // URILiteral | S^WS | '(:'
|
|
shift(7); // URILiteral
|
|
eventHandler.endNonterminal("IndexKeyCollation", e0);
|
|
}
|
|
|
|
function parse_IndexDecl()
|
|
{
|
|
eventHandler.startNonterminal("IndexDecl", e0);
|
|
shift(155); // 'index'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_IndexName();
|
|
lookahead1W(65); // S^WS | '(:' | 'on'
|
|
shift(197); // 'on'
|
|
lookahead1W(63); // S^WS | '(:' | 'nodes'
|
|
shift(192); // 'nodes'
|
|
lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_IndexDomainExpr();
|
|
shift(87); // 'by'
|
|
lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_IndexKeySpec();
|
|
for (;;)
|
|
{
|
|
lookahead1W(103); // S^WS | '(:' | ',' | ';'
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_IndexKeySpec();
|
|
}
|
|
eventHandler.endNonterminal("IndexDecl", e0);
|
|
}
|
|
|
|
function parse_ICDecl()
|
|
{
|
|
eventHandler.startNonterminal("ICDecl", e0);
|
|
shift(161); // 'integrity'
|
|
lookahead1W(40); // S^WS | '(:' | 'constraint'
|
|
shift(97); // 'constraint'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(120); // S^WS | '(:' | 'foreign' | 'on'
|
|
switch (l1)
|
|
{
|
|
case 197: // 'on'
|
|
whitespace();
|
|
parse_ICCollection();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ICForeignKey();
|
|
}
|
|
eventHandler.endNonterminal("ICDecl", e0);
|
|
}
|
|
|
|
function parse_ICCollection()
|
|
{
|
|
eventHandler.startNonterminal("ICCollection", e0);
|
|
shift(197); // 'on'
|
|
lookahead1W(39); // S^WS | '(:' | 'collection'
|
|
shift(95); // 'collection'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(140); // S^WS | '$' | '(:' | 'foreach' | 'node'
|
|
switch (l1)
|
|
{
|
|
case 31: // '$'
|
|
whitespace();
|
|
parse_ICCollSequence();
|
|
break;
|
|
case 191: // 'node'
|
|
whitespace();
|
|
parse_ICCollSequenceUnique();
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_ICCollNode();
|
|
}
|
|
eventHandler.endNonterminal("ICCollection", e0);
|
|
}
|
|
|
|
function parse_ICCollSequence()
|
|
{
|
|
eventHandler.startNonterminal("ICCollSequence", e0);
|
|
parse_VarRef();
|
|
lookahead1W(37); // S^WS | '(:' | 'check'
|
|
shift(92); // 'check'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ICCollSequence", e0);
|
|
}
|
|
|
|
function parse_ICCollSequenceUnique()
|
|
{
|
|
eventHandler.startNonterminal("ICCollSequenceUnique", e0);
|
|
shift(191); // 'node'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_VarRef();
|
|
lookahead1W(37); // S^WS | '(:' | 'check'
|
|
shift(92); // 'check'
|
|
lookahead1W(80); // S^WS | '(:' | 'unique'
|
|
shift(255); // 'unique'
|
|
lookahead1W(57); // S^WS | '(:' | 'key'
|
|
shift(168); // 'key'
|
|
lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("ICCollSequenceUnique", e0);
|
|
}
|
|
|
|
function parse_ICCollNode()
|
|
{
|
|
eventHandler.startNonterminal("ICCollNode", e0);
|
|
shift(138); // 'foreach'
|
|
lookahead1W(62); // S^WS | '(:' | 'node'
|
|
shift(191); // 'node'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_VarRef();
|
|
lookahead1W(37); // S^WS | '(:' | 'check'
|
|
shift(92); // 'check'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("ICCollNode", e0);
|
|
}
|
|
|
|
function parse_ICForeignKey()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKey", e0);
|
|
shift(139); // 'foreign'
|
|
lookahead1W(57); // S^WS | '(:' | 'key'
|
|
shift(168); // 'key'
|
|
lookahead1W(51); // S^WS | '(:' | 'from'
|
|
whitespace();
|
|
parse_ICForeignKeySource();
|
|
whitespace();
|
|
parse_ICForeignKeyTarget();
|
|
eventHandler.endNonterminal("ICForeignKey", e0);
|
|
}
|
|
|
|
function parse_ICForeignKeySource()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKeySource", e0);
|
|
shift(140); // 'from'
|
|
lookahead1W(39); // S^WS | '(:' | 'collection'
|
|
whitespace();
|
|
parse_ICForeignKeyValues();
|
|
eventHandler.endNonterminal("ICForeignKeySource", e0);
|
|
}
|
|
|
|
function parse_ICForeignKeyTarget()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKeyTarget", e0);
|
|
shift(248); // 'to'
|
|
lookahead1W(39); // S^WS | '(:' | 'collection'
|
|
whitespace();
|
|
parse_ICForeignKeyValues();
|
|
eventHandler.endNonterminal("ICForeignKeyTarget", e0);
|
|
}
|
|
|
|
function parse_ICForeignKeyValues()
|
|
{
|
|
eventHandler.startNonterminal("ICForeignKeyValues", e0);
|
|
shift(95); // 'collection'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(62); // S^WS | '(:' | 'node'
|
|
shift(191); // 'node'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
whitespace();
|
|
parse_VarRef();
|
|
lookahead1W(57); // S^WS | '(:' | 'key'
|
|
shift(168); // 'key'
|
|
lookahead1W(265); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_PathExpr();
|
|
eventHandler.endNonterminal("ICForeignKeyValues", e0);
|
|
}
|
|
|
|
function try_Comment()
|
|
{
|
|
shiftT(36); // '(:'
|
|
for (;;)
|
|
{
|
|
lookahead1(89); // CommentContents | '(:' | ':)'
|
|
if (l1 == 50) // ':)'
|
|
{
|
|
break;
|
|
}
|
|
switch (l1)
|
|
{
|
|
case 24: // CommentContents
|
|
shiftT(24); // CommentContents
|
|
break;
|
|
default:
|
|
try_Comment();
|
|
}
|
|
}
|
|
shiftT(50); // ':)'
|
|
}
|
|
|
|
function try_Whitespace()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 22: // S^WS
|
|
shiftT(22); // S^WS
|
|
break;
|
|
default:
|
|
try_Comment();
|
|
}
|
|
}
|
|
|
|
function parse_EQName()
|
|
{
|
|
eventHandler.startNonterminal("EQName", e0);
|
|
lookahead1(249); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
shift(82); // 'attribute'
|
|
break;
|
|
case 96: // 'comment'
|
|
shift(96); // 'comment'
|
|
break;
|
|
case 120: // 'document-node'
|
|
shift(120); // 'document-node'
|
|
break;
|
|
case 121: // 'element'
|
|
shift(121); // 'element'
|
|
break;
|
|
case 124: // 'empty-sequence'
|
|
shift(124); // 'empty-sequence'
|
|
break;
|
|
case 145: // 'function'
|
|
shift(145); // 'function'
|
|
break;
|
|
case 152: // 'if'
|
|
shift(152); // 'if'
|
|
break;
|
|
case 165: // 'item'
|
|
shift(165); // 'item'
|
|
break;
|
|
case 185: // 'namespace-node'
|
|
shift(185); // 'namespace-node'
|
|
break;
|
|
case 191: // 'node'
|
|
shift(191); // 'node'
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
shift(216); // 'processing-instruction'
|
|
break;
|
|
case 226: // 'schema-attribute'
|
|
shift(226); // 'schema-attribute'
|
|
break;
|
|
case 227: // 'schema-element'
|
|
shift(227); // 'schema-element'
|
|
break;
|
|
case 243: // 'switch'
|
|
shift(243); // 'switch'
|
|
break;
|
|
case 244: // 'text'
|
|
shift(244); // 'text'
|
|
break;
|
|
case 253: // 'typeswitch'
|
|
shift(253); // 'typeswitch'
|
|
break;
|
|
case 78: // 'array'
|
|
shift(78); // 'array'
|
|
break;
|
|
case 167: // 'json-item'
|
|
shift(167); // 'json-item'
|
|
break;
|
|
case 242: // 'structured-item'
|
|
shift(242); // 'structured-item'
|
|
break;
|
|
default:
|
|
parse_FunctionName();
|
|
}
|
|
eventHandler.endNonterminal("EQName", e0);
|
|
}
|
|
|
|
function try_EQName()
|
|
{
|
|
lookahead1(249); // EQName^Token | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' | 'and' |
|
|
switch (l1)
|
|
{
|
|
case 82: // 'attribute'
|
|
shiftT(82); // 'attribute'
|
|
break;
|
|
case 96: // 'comment'
|
|
shiftT(96); // 'comment'
|
|
break;
|
|
case 120: // 'document-node'
|
|
shiftT(120); // 'document-node'
|
|
break;
|
|
case 121: // 'element'
|
|
shiftT(121); // 'element'
|
|
break;
|
|
case 124: // 'empty-sequence'
|
|
shiftT(124); // 'empty-sequence'
|
|
break;
|
|
case 145: // 'function'
|
|
shiftT(145); // 'function'
|
|
break;
|
|
case 152: // 'if'
|
|
shiftT(152); // 'if'
|
|
break;
|
|
case 165: // 'item'
|
|
shiftT(165); // 'item'
|
|
break;
|
|
case 185: // 'namespace-node'
|
|
shiftT(185); // 'namespace-node'
|
|
break;
|
|
case 191: // 'node'
|
|
shiftT(191); // 'node'
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
shiftT(216); // 'processing-instruction'
|
|
break;
|
|
case 226: // 'schema-attribute'
|
|
shiftT(226); // 'schema-attribute'
|
|
break;
|
|
case 227: // 'schema-element'
|
|
shiftT(227); // 'schema-element'
|
|
break;
|
|
case 243: // 'switch'
|
|
shiftT(243); // 'switch'
|
|
break;
|
|
case 244: // 'text'
|
|
shiftT(244); // 'text'
|
|
break;
|
|
case 253: // 'typeswitch'
|
|
shiftT(253); // 'typeswitch'
|
|
break;
|
|
case 78: // 'array'
|
|
shiftT(78); // 'array'
|
|
break;
|
|
case 167: // 'json-item'
|
|
shiftT(167); // 'json-item'
|
|
break;
|
|
case 242: // 'structured-item'
|
|
shiftT(242); // 'structured-item'
|
|
break;
|
|
default:
|
|
try_FunctionName();
|
|
}
|
|
}
|
|
|
|
function parse_FunctionName()
|
|
{
|
|
eventHandler.startNonterminal("FunctionName", e0);
|
|
switch (l1)
|
|
{
|
|
case 6: // EQName^Token
|
|
shift(6); // EQName^Token
|
|
break;
|
|
case 70: // 'after'
|
|
shift(70); // 'after'
|
|
break;
|
|
case 73: // 'ancestor'
|
|
shift(73); // 'ancestor'
|
|
break;
|
|
case 74: // 'ancestor-or-self'
|
|
shift(74); // 'ancestor-or-self'
|
|
break;
|
|
case 75: // 'and'
|
|
shift(75); // 'and'
|
|
break;
|
|
case 79: // 'as'
|
|
shift(79); // 'as'
|
|
break;
|
|
case 80: // 'ascending'
|
|
shift(80); // 'ascending'
|
|
break;
|
|
case 84: // 'before'
|
|
shift(84); // 'before'
|
|
break;
|
|
case 88: // 'case'
|
|
shift(88); // 'case'
|
|
break;
|
|
case 89: // 'cast'
|
|
shift(89); // 'cast'
|
|
break;
|
|
case 90: // 'castable'
|
|
shift(90); // 'castable'
|
|
break;
|
|
case 93: // 'child'
|
|
shift(93); // 'child'
|
|
break;
|
|
case 94: // 'collation'
|
|
shift(94); // 'collation'
|
|
break;
|
|
case 103: // 'copy'
|
|
shift(103); // 'copy'
|
|
break;
|
|
case 105: // 'count'
|
|
shift(105); // 'count'
|
|
break;
|
|
case 108: // 'declare'
|
|
shift(108); // 'declare'
|
|
break;
|
|
case 109: // 'default'
|
|
shift(109); // 'default'
|
|
break;
|
|
case 110: // 'delete'
|
|
shift(110); // 'delete'
|
|
break;
|
|
case 111: // 'descendant'
|
|
shift(111); // 'descendant'
|
|
break;
|
|
case 112: // 'descendant-or-self'
|
|
shift(112); // 'descendant-or-self'
|
|
break;
|
|
case 113: // 'descending'
|
|
shift(113); // 'descending'
|
|
break;
|
|
case 118: // 'div'
|
|
shift(118); // 'div'
|
|
break;
|
|
case 119: // 'document'
|
|
shift(119); // 'document'
|
|
break;
|
|
case 122: // 'else'
|
|
shift(122); // 'else'
|
|
break;
|
|
case 123: // 'empty'
|
|
shift(123); // 'empty'
|
|
break;
|
|
case 126: // 'end'
|
|
shift(126); // 'end'
|
|
break;
|
|
case 128: // 'eq'
|
|
shift(128); // 'eq'
|
|
break;
|
|
case 129: // 'every'
|
|
shift(129); // 'every'
|
|
break;
|
|
case 131: // 'except'
|
|
shift(131); // 'except'
|
|
break;
|
|
case 134: // 'first'
|
|
shift(134); // 'first'
|
|
break;
|
|
case 135: // 'following'
|
|
shift(135); // 'following'
|
|
break;
|
|
case 136: // 'following-sibling'
|
|
shift(136); // 'following-sibling'
|
|
break;
|
|
case 137: // 'for'
|
|
shift(137); // 'for'
|
|
break;
|
|
case 146: // 'ge'
|
|
shift(146); // 'ge'
|
|
break;
|
|
case 148: // 'group'
|
|
shift(148); // 'group'
|
|
break;
|
|
case 150: // 'gt'
|
|
shift(150); // 'gt'
|
|
break;
|
|
case 151: // 'idiv'
|
|
shift(151); // 'idiv'
|
|
break;
|
|
case 153: // 'import'
|
|
shift(153); // 'import'
|
|
break;
|
|
case 159: // 'insert'
|
|
shift(159); // 'insert'
|
|
break;
|
|
case 160: // 'instance'
|
|
shift(160); // 'instance'
|
|
break;
|
|
case 162: // 'intersect'
|
|
shift(162); // 'intersect'
|
|
break;
|
|
case 163: // 'into'
|
|
shift(163); // 'into'
|
|
break;
|
|
case 164: // 'is'
|
|
shift(164); // 'is'
|
|
break;
|
|
case 170: // 'last'
|
|
shift(170); // 'last'
|
|
break;
|
|
case 172: // 'le'
|
|
shift(172); // 'le'
|
|
break;
|
|
case 174: // 'let'
|
|
shift(174); // 'let'
|
|
break;
|
|
case 178: // 'lt'
|
|
shift(178); // 'lt'
|
|
break;
|
|
case 180: // 'mod'
|
|
shift(180); // 'mod'
|
|
break;
|
|
case 181: // 'modify'
|
|
shift(181); // 'modify'
|
|
break;
|
|
case 182: // 'module'
|
|
shift(182); // 'module'
|
|
break;
|
|
case 184: // 'namespace'
|
|
shift(184); // 'namespace'
|
|
break;
|
|
case 186: // 'ne'
|
|
shift(186); // 'ne'
|
|
break;
|
|
case 198: // 'only'
|
|
shift(198); // 'only'
|
|
break;
|
|
case 200: // 'or'
|
|
shift(200); // 'or'
|
|
break;
|
|
case 201: // 'order'
|
|
shift(201); // 'order'
|
|
break;
|
|
case 202: // 'ordered'
|
|
shift(202); // 'ordered'
|
|
break;
|
|
case 206: // 'parent'
|
|
shift(206); // 'parent'
|
|
break;
|
|
case 212: // 'preceding'
|
|
shift(212); // 'preceding'
|
|
break;
|
|
case 213: // 'preceding-sibling'
|
|
shift(213); // 'preceding-sibling'
|
|
break;
|
|
case 218: // 'rename'
|
|
shift(218); // 'rename'
|
|
break;
|
|
case 219: // 'replace'
|
|
shift(219); // 'replace'
|
|
break;
|
|
case 220: // 'return'
|
|
shift(220); // 'return'
|
|
break;
|
|
case 224: // 'satisfies'
|
|
shift(224); // 'satisfies'
|
|
break;
|
|
case 229: // 'self'
|
|
shift(229); // 'self'
|
|
break;
|
|
case 235: // 'some'
|
|
shift(235); // 'some'
|
|
break;
|
|
case 236: // 'stable'
|
|
shift(236); // 'stable'
|
|
break;
|
|
case 237: // 'start'
|
|
shift(237); // 'start'
|
|
break;
|
|
case 248: // 'to'
|
|
shift(248); // 'to'
|
|
break;
|
|
case 249: // 'treat'
|
|
shift(249); // 'treat'
|
|
break;
|
|
case 250: // 'try'
|
|
shift(250); // 'try'
|
|
break;
|
|
case 254: // 'union'
|
|
shift(254); // 'union'
|
|
break;
|
|
case 256: // 'unordered'
|
|
shift(256); // 'unordered'
|
|
break;
|
|
case 260: // 'validate'
|
|
shift(260); // 'validate'
|
|
break;
|
|
case 266: // 'where'
|
|
shift(266); // 'where'
|
|
break;
|
|
case 270: // 'with'
|
|
shift(270); // 'with'
|
|
break;
|
|
case 274: // 'xquery'
|
|
shift(274); // 'xquery'
|
|
break;
|
|
case 72: // 'allowing'
|
|
shift(72); // 'allowing'
|
|
break;
|
|
case 81: // 'at'
|
|
shift(81); // 'at'
|
|
break;
|
|
case 83: // 'base-uri'
|
|
shift(83); // 'base-uri'
|
|
break;
|
|
case 85: // 'boundary-space'
|
|
shift(85); // 'boundary-space'
|
|
break;
|
|
case 86: // 'break'
|
|
shift(86); // 'break'
|
|
break;
|
|
case 91: // 'catch'
|
|
shift(91); // 'catch'
|
|
break;
|
|
case 98: // 'construction'
|
|
shift(98); // 'construction'
|
|
break;
|
|
case 101: // 'context'
|
|
shift(101); // 'context'
|
|
break;
|
|
case 102: // 'continue'
|
|
shift(102); // 'continue'
|
|
break;
|
|
case 104: // 'copy-namespaces'
|
|
shift(104); // 'copy-namespaces'
|
|
break;
|
|
case 106: // 'decimal-format'
|
|
shift(106); // 'decimal-format'
|
|
break;
|
|
case 125: // 'encoding'
|
|
shift(125); // 'encoding'
|
|
break;
|
|
case 132: // 'exit'
|
|
shift(132); // 'exit'
|
|
break;
|
|
case 133: // 'external'
|
|
shift(133); // 'external'
|
|
break;
|
|
case 141: // 'ft-option'
|
|
shift(141); // 'ft-option'
|
|
break;
|
|
case 154: // 'in'
|
|
shift(154); // 'in'
|
|
break;
|
|
case 155: // 'index'
|
|
shift(155); // 'index'
|
|
break;
|
|
case 161: // 'integrity'
|
|
shift(161); // 'integrity'
|
|
break;
|
|
case 171: // 'lax'
|
|
shift(171); // 'lax'
|
|
break;
|
|
case 192: // 'nodes'
|
|
shift(192); // 'nodes'
|
|
break;
|
|
case 199: // 'option'
|
|
shift(199); // 'option'
|
|
break;
|
|
case 203: // 'ordering'
|
|
shift(203); // 'ordering'
|
|
break;
|
|
case 222: // 'revalidation'
|
|
shift(222); // 'revalidation'
|
|
break;
|
|
case 225: // 'schema'
|
|
shift(225); // 'schema'
|
|
break;
|
|
case 228: // 'score'
|
|
shift(228); // 'score'
|
|
break;
|
|
case 234: // 'sliding'
|
|
shift(234); // 'sliding'
|
|
break;
|
|
case 240: // 'strict'
|
|
shift(240); // 'strict'
|
|
break;
|
|
case 251: // 'tumbling'
|
|
shift(251); // 'tumbling'
|
|
break;
|
|
case 252: // 'type'
|
|
shift(252); // 'type'
|
|
break;
|
|
case 257: // 'updating'
|
|
shift(257); // 'updating'
|
|
break;
|
|
case 261: // 'value'
|
|
shift(261); // 'value'
|
|
break;
|
|
case 262: // 'variable'
|
|
shift(262); // 'variable'
|
|
break;
|
|
case 263: // 'version'
|
|
shift(263); // 'version'
|
|
break;
|
|
case 267: // 'while'
|
|
shift(267); // 'while'
|
|
break;
|
|
case 97: // 'constraint'
|
|
shift(97); // 'constraint'
|
|
break;
|
|
case 176: // 'loop'
|
|
shift(176); // 'loop'
|
|
break;
|
|
case 221: // 'returning'
|
|
shift(221); // 'returning'
|
|
break;
|
|
case 77: // 'append'
|
|
shift(77); // 'append'
|
|
break;
|
|
case 166: // 'json'
|
|
shift(166); // 'json'
|
|
break;
|
|
default:
|
|
shift(194); // 'object'
|
|
}
|
|
eventHandler.endNonterminal("FunctionName", e0);
|
|
}
|
|
|
|
function try_FunctionName()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 6: // EQName^Token
|
|
shiftT(6); // EQName^Token
|
|
break;
|
|
case 70: // 'after'
|
|
shiftT(70); // 'after'
|
|
break;
|
|
case 73: // 'ancestor'
|
|
shiftT(73); // 'ancestor'
|
|
break;
|
|
case 74: // 'ancestor-or-self'
|
|
shiftT(74); // 'ancestor-or-self'
|
|
break;
|
|
case 75: // 'and'
|
|
shiftT(75); // 'and'
|
|
break;
|
|
case 79: // 'as'
|
|
shiftT(79); // 'as'
|
|
break;
|
|
case 80: // 'ascending'
|
|
shiftT(80); // 'ascending'
|
|
break;
|
|
case 84: // 'before'
|
|
shiftT(84); // 'before'
|
|
break;
|
|
case 88: // 'case'
|
|
shiftT(88); // 'case'
|
|
break;
|
|
case 89: // 'cast'
|
|
shiftT(89); // 'cast'
|
|
break;
|
|
case 90: // 'castable'
|
|
shiftT(90); // 'castable'
|
|
break;
|
|
case 93: // 'child'
|
|
shiftT(93); // 'child'
|
|
break;
|
|
case 94: // 'collation'
|
|
shiftT(94); // 'collation'
|
|
break;
|
|
case 103: // 'copy'
|
|
shiftT(103); // 'copy'
|
|
break;
|
|
case 105: // 'count'
|
|
shiftT(105); // 'count'
|
|
break;
|
|
case 108: // 'declare'
|
|
shiftT(108); // 'declare'
|
|
break;
|
|
case 109: // 'default'
|
|
shiftT(109); // 'default'
|
|
break;
|
|
case 110: // 'delete'
|
|
shiftT(110); // 'delete'
|
|
break;
|
|
case 111: // 'descendant'
|
|
shiftT(111); // 'descendant'
|
|
break;
|
|
case 112: // 'descendant-or-self'
|
|
shiftT(112); // 'descendant-or-self'
|
|
break;
|
|
case 113: // 'descending'
|
|
shiftT(113); // 'descending'
|
|
break;
|
|
case 118: // 'div'
|
|
shiftT(118); // 'div'
|
|
break;
|
|
case 119: // 'document'
|
|
shiftT(119); // 'document'
|
|
break;
|
|
case 122: // 'else'
|
|
shiftT(122); // 'else'
|
|
break;
|
|
case 123: // 'empty'
|
|
shiftT(123); // 'empty'
|
|
break;
|
|
case 126: // 'end'
|
|
shiftT(126); // 'end'
|
|
break;
|
|
case 128: // 'eq'
|
|
shiftT(128); // 'eq'
|
|
break;
|
|
case 129: // 'every'
|
|
shiftT(129); // 'every'
|
|
break;
|
|
case 131: // 'except'
|
|
shiftT(131); // 'except'
|
|
break;
|
|
case 134: // 'first'
|
|
shiftT(134); // 'first'
|
|
break;
|
|
case 135: // 'following'
|
|
shiftT(135); // 'following'
|
|
break;
|
|
case 136: // 'following-sibling'
|
|
shiftT(136); // 'following-sibling'
|
|
break;
|
|
case 137: // 'for'
|
|
shiftT(137); // 'for'
|
|
break;
|
|
case 146: // 'ge'
|
|
shiftT(146); // 'ge'
|
|
break;
|
|
case 148: // 'group'
|
|
shiftT(148); // 'group'
|
|
break;
|
|
case 150: // 'gt'
|
|
shiftT(150); // 'gt'
|
|
break;
|
|
case 151: // 'idiv'
|
|
shiftT(151); // 'idiv'
|
|
break;
|
|
case 153: // 'import'
|
|
shiftT(153); // 'import'
|
|
break;
|
|
case 159: // 'insert'
|
|
shiftT(159); // 'insert'
|
|
break;
|
|
case 160: // 'instance'
|
|
shiftT(160); // 'instance'
|
|
break;
|
|
case 162: // 'intersect'
|
|
shiftT(162); // 'intersect'
|
|
break;
|
|
case 163: // 'into'
|
|
shiftT(163); // 'into'
|
|
break;
|
|
case 164: // 'is'
|
|
shiftT(164); // 'is'
|
|
break;
|
|
case 170: // 'last'
|
|
shiftT(170); // 'last'
|
|
break;
|
|
case 172: // 'le'
|
|
shiftT(172); // 'le'
|
|
break;
|
|
case 174: // 'let'
|
|
shiftT(174); // 'let'
|
|
break;
|
|
case 178: // 'lt'
|
|
shiftT(178); // 'lt'
|
|
break;
|
|
case 180: // 'mod'
|
|
shiftT(180); // 'mod'
|
|
break;
|
|
case 181: // 'modify'
|
|
shiftT(181); // 'modify'
|
|
break;
|
|
case 182: // 'module'
|
|
shiftT(182); // 'module'
|
|
break;
|
|
case 184: // 'namespace'
|
|
shiftT(184); // 'namespace'
|
|
break;
|
|
case 186: // 'ne'
|
|
shiftT(186); // 'ne'
|
|
break;
|
|
case 198: // 'only'
|
|
shiftT(198); // 'only'
|
|
break;
|
|
case 200: // 'or'
|
|
shiftT(200); // 'or'
|
|
break;
|
|
case 201: // 'order'
|
|
shiftT(201); // 'order'
|
|
break;
|
|
case 202: // 'ordered'
|
|
shiftT(202); // 'ordered'
|
|
break;
|
|
case 206: // 'parent'
|
|
shiftT(206); // 'parent'
|
|
break;
|
|
case 212: // 'preceding'
|
|
shiftT(212); // 'preceding'
|
|
break;
|
|
case 213: // 'preceding-sibling'
|
|
shiftT(213); // 'preceding-sibling'
|
|
break;
|
|
case 218: // 'rename'
|
|
shiftT(218); // 'rename'
|
|
break;
|
|
case 219: // 'replace'
|
|
shiftT(219); // 'replace'
|
|
break;
|
|
case 220: // 'return'
|
|
shiftT(220); // 'return'
|
|
break;
|
|
case 224: // 'satisfies'
|
|
shiftT(224); // 'satisfies'
|
|
break;
|
|
case 229: // 'self'
|
|
shiftT(229); // 'self'
|
|
break;
|
|
case 235: // 'some'
|
|
shiftT(235); // 'some'
|
|
break;
|
|
case 236: // 'stable'
|
|
shiftT(236); // 'stable'
|
|
break;
|
|
case 237: // 'start'
|
|
shiftT(237); // 'start'
|
|
break;
|
|
case 248: // 'to'
|
|
shiftT(248); // 'to'
|
|
break;
|
|
case 249: // 'treat'
|
|
shiftT(249); // 'treat'
|
|
break;
|
|
case 250: // 'try'
|
|
shiftT(250); // 'try'
|
|
break;
|
|
case 254: // 'union'
|
|
shiftT(254); // 'union'
|
|
break;
|
|
case 256: // 'unordered'
|
|
shiftT(256); // 'unordered'
|
|
break;
|
|
case 260: // 'validate'
|
|
shiftT(260); // 'validate'
|
|
break;
|
|
case 266: // 'where'
|
|
shiftT(266); // 'where'
|
|
break;
|
|
case 270: // 'with'
|
|
shiftT(270); // 'with'
|
|
break;
|
|
case 274: // 'xquery'
|
|
shiftT(274); // 'xquery'
|
|
break;
|
|
case 72: // 'allowing'
|
|
shiftT(72); // 'allowing'
|
|
break;
|
|
case 81: // 'at'
|
|
shiftT(81); // 'at'
|
|
break;
|
|
case 83: // 'base-uri'
|
|
shiftT(83); // 'base-uri'
|
|
break;
|
|
case 85: // 'boundary-space'
|
|
shiftT(85); // 'boundary-space'
|
|
break;
|
|
case 86: // 'break'
|
|
shiftT(86); // 'break'
|
|
break;
|
|
case 91: // 'catch'
|
|
shiftT(91); // 'catch'
|
|
break;
|
|
case 98: // 'construction'
|
|
shiftT(98); // 'construction'
|
|
break;
|
|
case 101: // 'context'
|
|
shiftT(101); // 'context'
|
|
break;
|
|
case 102: // 'continue'
|
|
shiftT(102); // 'continue'
|
|
break;
|
|
case 104: // 'copy-namespaces'
|
|
shiftT(104); // 'copy-namespaces'
|
|
break;
|
|
case 106: // 'decimal-format'
|
|
shiftT(106); // 'decimal-format'
|
|
break;
|
|
case 125: // 'encoding'
|
|
shiftT(125); // 'encoding'
|
|
break;
|
|
case 132: // 'exit'
|
|
shiftT(132); // 'exit'
|
|
break;
|
|
case 133: // 'external'
|
|
shiftT(133); // 'external'
|
|
break;
|
|
case 141: // 'ft-option'
|
|
shiftT(141); // 'ft-option'
|
|
break;
|
|
case 154: // 'in'
|
|
shiftT(154); // 'in'
|
|
break;
|
|
case 155: // 'index'
|
|
shiftT(155); // 'index'
|
|
break;
|
|
case 161: // 'integrity'
|
|
shiftT(161); // 'integrity'
|
|
break;
|
|
case 171: // 'lax'
|
|
shiftT(171); // 'lax'
|
|
break;
|
|
case 192: // 'nodes'
|
|
shiftT(192); // 'nodes'
|
|
break;
|
|
case 199: // 'option'
|
|
shiftT(199); // 'option'
|
|
break;
|
|
case 203: // 'ordering'
|
|
shiftT(203); // 'ordering'
|
|
break;
|
|
case 222: // 'revalidation'
|
|
shiftT(222); // 'revalidation'
|
|
break;
|
|
case 225: // 'schema'
|
|
shiftT(225); // 'schema'
|
|
break;
|
|
case 228: // 'score'
|
|
shiftT(228); // 'score'
|
|
break;
|
|
case 234: // 'sliding'
|
|
shiftT(234); // 'sliding'
|
|
break;
|
|
case 240: // 'strict'
|
|
shiftT(240); // 'strict'
|
|
break;
|
|
case 251: // 'tumbling'
|
|
shiftT(251); // 'tumbling'
|
|
break;
|
|
case 252: // 'type'
|
|
shiftT(252); // 'type'
|
|
break;
|
|
case 257: // 'updating'
|
|
shiftT(257); // 'updating'
|
|
break;
|
|
case 261: // 'value'
|
|
shiftT(261); // 'value'
|
|
break;
|
|
case 262: // 'variable'
|
|
shiftT(262); // 'variable'
|
|
break;
|
|
case 263: // 'version'
|
|
shiftT(263); // 'version'
|
|
break;
|
|
case 267: // 'while'
|
|
shiftT(267); // 'while'
|
|
break;
|
|
case 97: // 'constraint'
|
|
shiftT(97); // 'constraint'
|
|
break;
|
|
case 176: // 'loop'
|
|
shiftT(176); // 'loop'
|
|
break;
|
|
case 221: // 'returning'
|
|
shiftT(221); // 'returning'
|
|
break;
|
|
case 77: // 'append'
|
|
shiftT(77); // 'append'
|
|
break;
|
|
case 166: // 'json'
|
|
shiftT(166); // 'json'
|
|
break;
|
|
default:
|
|
shiftT(194); // 'object'
|
|
}
|
|
}
|
|
|
|
function parse_NCName()
|
|
{
|
|
eventHandler.startNonterminal("NCName", e0);
|
|
switch (l1)
|
|
{
|
|
case 19: // NCName^Token
|
|
shift(19); // NCName^Token
|
|
break;
|
|
case 70: // 'after'
|
|
shift(70); // 'after'
|
|
break;
|
|
case 75: // 'and'
|
|
shift(75); // 'and'
|
|
break;
|
|
case 79: // 'as'
|
|
shift(79); // 'as'
|
|
break;
|
|
case 80: // 'ascending'
|
|
shift(80); // 'ascending'
|
|
break;
|
|
case 84: // 'before'
|
|
shift(84); // 'before'
|
|
break;
|
|
case 88: // 'case'
|
|
shift(88); // 'case'
|
|
break;
|
|
case 89: // 'cast'
|
|
shift(89); // 'cast'
|
|
break;
|
|
case 90: // 'castable'
|
|
shift(90); // 'castable'
|
|
break;
|
|
case 94: // 'collation'
|
|
shift(94); // 'collation'
|
|
break;
|
|
case 105: // 'count'
|
|
shift(105); // 'count'
|
|
break;
|
|
case 109: // 'default'
|
|
shift(109); // 'default'
|
|
break;
|
|
case 113: // 'descending'
|
|
shift(113); // 'descending'
|
|
break;
|
|
case 118: // 'div'
|
|
shift(118); // 'div'
|
|
break;
|
|
case 122: // 'else'
|
|
shift(122); // 'else'
|
|
break;
|
|
case 123: // 'empty'
|
|
shift(123); // 'empty'
|
|
break;
|
|
case 126: // 'end'
|
|
shift(126); // 'end'
|
|
break;
|
|
case 128: // 'eq'
|
|
shift(128); // 'eq'
|
|
break;
|
|
case 131: // 'except'
|
|
shift(131); // 'except'
|
|
break;
|
|
case 137: // 'for'
|
|
shift(137); // 'for'
|
|
break;
|
|
case 146: // 'ge'
|
|
shift(146); // 'ge'
|
|
break;
|
|
case 148: // 'group'
|
|
shift(148); // 'group'
|
|
break;
|
|
case 150: // 'gt'
|
|
shift(150); // 'gt'
|
|
break;
|
|
case 151: // 'idiv'
|
|
shift(151); // 'idiv'
|
|
break;
|
|
case 160: // 'instance'
|
|
shift(160); // 'instance'
|
|
break;
|
|
case 162: // 'intersect'
|
|
shift(162); // 'intersect'
|
|
break;
|
|
case 163: // 'into'
|
|
shift(163); // 'into'
|
|
break;
|
|
case 164: // 'is'
|
|
shift(164); // 'is'
|
|
break;
|
|
case 172: // 'le'
|
|
shift(172); // 'le'
|
|
break;
|
|
case 174: // 'let'
|
|
shift(174); // 'let'
|
|
break;
|
|
case 178: // 'lt'
|
|
shift(178); // 'lt'
|
|
break;
|
|
case 180: // 'mod'
|
|
shift(180); // 'mod'
|
|
break;
|
|
case 181: // 'modify'
|
|
shift(181); // 'modify'
|
|
break;
|
|
case 186: // 'ne'
|
|
shift(186); // 'ne'
|
|
break;
|
|
case 198: // 'only'
|
|
shift(198); // 'only'
|
|
break;
|
|
case 200: // 'or'
|
|
shift(200); // 'or'
|
|
break;
|
|
case 201: // 'order'
|
|
shift(201); // 'order'
|
|
break;
|
|
case 220: // 'return'
|
|
shift(220); // 'return'
|
|
break;
|
|
case 224: // 'satisfies'
|
|
shift(224); // 'satisfies'
|
|
break;
|
|
case 236: // 'stable'
|
|
shift(236); // 'stable'
|
|
break;
|
|
case 237: // 'start'
|
|
shift(237); // 'start'
|
|
break;
|
|
case 248: // 'to'
|
|
shift(248); // 'to'
|
|
break;
|
|
case 249: // 'treat'
|
|
shift(249); // 'treat'
|
|
break;
|
|
case 254: // 'union'
|
|
shift(254); // 'union'
|
|
break;
|
|
case 266: // 'where'
|
|
shift(266); // 'where'
|
|
break;
|
|
case 270: // 'with'
|
|
shift(270); // 'with'
|
|
break;
|
|
case 73: // 'ancestor'
|
|
shift(73); // 'ancestor'
|
|
break;
|
|
case 74: // 'ancestor-or-self'
|
|
shift(74); // 'ancestor-or-self'
|
|
break;
|
|
case 82: // 'attribute'
|
|
shift(82); // 'attribute'
|
|
break;
|
|
case 93: // 'child'
|
|
shift(93); // 'child'
|
|
break;
|
|
case 96: // 'comment'
|
|
shift(96); // 'comment'
|
|
break;
|
|
case 103: // 'copy'
|
|
shift(103); // 'copy'
|
|
break;
|
|
case 108: // 'declare'
|
|
shift(108); // 'declare'
|
|
break;
|
|
case 110: // 'delete'
|
|
shift(110); // 'delete'
|
|
break;
|
|
case 111: // 'descendant'
|
|
shift(111); // 'descendant'
|
|
break;
|
|
case 112: // 'descendant-or-self'
|
|
shift(112); // 'descendant-or-self'
|
|
break;
|
|
case 119: // 'document'
|
|
shift(119); // 'document'
|
|
break;
|
|
case 120: // 'document-node'
|
|
shift(120); // 'document-node'
|
|
break;
|
|
case 121: // 'element'
|
|
shift(121); // 'element'
|
|
break;
|
|
case 124: // 'empty-sequence'
|
|
shift(124); // 'empty-sequence'
|
|
break;
|
|
case 129: // 'every'
|
|
shift(129); // 'every'
|
|
break;
|
|
case 134: // 'first'
|
|
shift(134); // 'first'
|
|
break;
|
|
case 135: // 'following'
|
|
shift(135); // 'following'
|
|
break;
|
|
case 136: // 'following-sibling'
|
|
shift(136); // 'following-sibling'
|
|
break;
|
|
case 145: // 'function'
|
|
shift(145); // 'function'
|
|
break;
|
|
case 152: // 'if'
|
|
shift(152); // 'if'
|
|
break;
|
|
case 153: // 'import'
|
|
shift(153); // 'import'
|
|
break;
|
|
case 159: // 'insert'
|
|
shift(159); // 'insert'
|
|
break;
|
|
case 165: // 'item'
|
|
shift(165); // 'item'
|
|
break;
|
|
case 170: // 'last'
|
|
shift(170); // 'last'
|
|
break;
|
|
case 182: // 'module'
|
|
shift(182); // 'module'
|
|
break;
|
|
case 184: // 'namespace'
|
|
shift(184); // 'namespace'
|
|
break;
|
|
case 185: // 'namespace-node'
|
|
shift(185); // 'namespace-node'
|
|
break;
|
|
case 191: // 'node'
|
|
shift(191); // 'node'
|
|
break;
|
|
case 202: // 'ordered'
|
|
shift(202); // 'ordered'
|
|
break;
|
|
case 206: // 'parent'
|
|
shift(206); // 'parent'
|
|
break;
|
|
case 212: // 'preceding'
|
|
shift(212); // 'preceding'
|
|
break;
|
|
case 213: // 'preceding-sibling'
|
|
shift(213); // 'preceding-sibling'
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
shift(216); // 'processing-instruction'
|
|
break;
|
|
case 218: // 'rename'
|
|
shift(218); // 'rename'
|
|
break;
|
|
case 219: // 'replace'
|
|
shift(219); // 'replace'
|
|
break;
|
|
case 226: // 'schema-attribute'
|
|
shift(226); // 'schema-attribute'
|
|
break;
|
|
case 227: // 'schema-element'
|
|
shift(227); // 'schema-element'
|
|
break;
|
|
case 229: // 'self'
|
|
shift(229); // 'self'
|
|
break;
|
|
case 235: // 'some'
|
|
shift(235); // 'some'
|
|
break;
|
|
case 243: // 'switch'
|
|
shift(243); // 'switch'
|
|
break;
|
|
case 244: // 'text'
|
|
shift(244); // 'text'
|
|
break;
|
|
case 250: // 'try'
|
|
shift(250); // 'try'
|
|
break;
|
|
case 253: // 'typeswitch'
|
|
shift(253); // 'typeswitch'
|
|
break;
|
|
case 256: // 'unordered'
|
|
shift(256); // 'unordered'
|
|
break;
|
|
case 260: // 'validate'
|
|
shift(260); // 'validate'
|
|
break;
|
|
case 262: // 'variable'
|
|
shift(262); // 'variable'
|
|
break;
|
|
case 274: // 'xquery'
|
|
shift(274); // 'xquery'
|
|
break;
|
|
case 72: // 'allowing'
|
|
shift(72); // 'allowing'
|
|
break;
|
|
case 81: // 'at'
|
|
shift(81); // 'at'
|
|
break;
|
|
case 83: // 'base-uri'
|
|
shift(83); // 'base-uri'
|
|
break;
|
|
case 85: // 'boundary-space'
|
|
shift(85); // 'boundary-space'
|
|
break;
|
|
case 86: // 'break'
|
|
shift(86); // 'break'
|
|
break;
|
|
case 91: // 'catch'
|
|
shift(91); // 'catch'
|
|
break;
|
|
case 98: // 'construction'
|
|
shift(98); // 'construction'
|
|
break;
|
|
case 101: // 'context'
|
|
shift(101); // 'context'
|
|
break;
|
|
case 102: // 'continue'
|
|
shift(102); // 'continue'
|
|
break;
|
|
case 104: // 'copy-namespaces'
|
|
shift(104); // 'copy-namespaces'
|
|
break;
|
|
case 106: // 'decimal-format'
|
|
shift(106); // 'decimal-format'
|
|
break;
|
|
case 125: // 'encoding'
|
|
shift(125); // 'encoding'
|
|
break;
|
|
case 132: // 'exit'
|
|
shift(132); // 'exit'
|
|
break;
|
|
case 133: // 'external'
|
|
shift(133); // 'external'
|
|
break;
|
|
case 141: // 'ft-option'
|
|
shift(141); // 'ft-option'
|
|
break;
|
|
case 154: // 'in'
|
|
shift(154); // 'in'
|
|
break;
|
|
case 155: // 'index'
|
|
shift(155); // 'index'
|
|
break;
|
|
case 161: // 'integrity'
|
|
shift(161); // 'integrity'
|
|
break;
|
|
case 171: // 'lax'
|
|
shift(171); // 'lax'
|
|
break;
|
|
case 192: // 'nodes'
|
|
shift(192); // 'nodes'
|
|
break;
|
|
case 199: // 'option'
|
|
shift(199); // 'option'
|
|
break;
|
|
case 203: // 'ordering'
|
|
shift(203); // 'ordering'
|
|
break;
|
|
case 222: // 'revalidation'
|
|
shift(222); // 'revalidation'
|
|
break;
|
|
case 225: // 'schema'
|
|
shift(225); // 'schema'
|
|
break;
|
|
case 228: // 'score'
|
|
shift(228); // 'score'
|
|
break;
|
|
case 234: // 'sliding'
|
|
shift(234); // 'sliding'
|
|
break;
|
|
case 240: // 'strict'
|
|
shift(240); // 'strict'
|
|
break;
|
|
case 251: // 'tumbling'
|
|
shift(251); // 'tumbling'
|
|
break;
|
|
case 252: // 'type'
|
|
shift(252); // 'type'
|
|
break;
|
|
case 257: // 'updating'
|
|
shift(257); // 'updating'
|
|
break;
|
|
case 261: // 'value'
|
|
shift(261); // 'value'
|
|
break;
|
|
case 263: // 'version'
|
|
shift(263); // 'version'
|
|
break;
|
|
case 267: // 'while'
|
|
shift(267); // 'while'
|
|
break;
|
|
case 97: // 'constraint'
|
|
shift(97); // 'constraint'
|
|
break;
|
|
case 176: // 'loop'
|
|
shift(176); // 'loop'
|
|
break;
|
|
case 221: // 'returning'
|
|
shift(221); // 'returning'
|
|
break;
|
|
case 77: // 'append'
|
|
shift(77); // 'append'
|
|
break;
|
|
case 166: // 'json'
|
|
shift(166); // 'json'
|
|
break;
|
|
default:
|
|
shift(194); // 'object'
|
|
}
|
|
eventHandler.endNonterminal("NCName", e0);
|
|
}
|
|
|
|
function try_NCName()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 19: // NCName^Token
|
|
shiftT(19); // NCName^Token
|
|
break;
|
|
case 70: // 'after'
|
|
shiftT(70); // 'after'
|
|
break;
|
|
case 75: // 'and'
|
|
shiftT(75); // 'and'
|
|
break;
|
|
case 79: // 'as'
|
|
shiftT(79); // 'as'
|
|
break;
|
|
case 80: // 'ascending'
|
|
shiftT(80); // 'ascending'
|
|
break;
|
|
case 84: // 'before'
|
|
shiftT(84); // 'before'
|
|
break;
|
|
case 88: // 'case'
|
|
shiftT(88); // 'case'
|
|
break;
|
|
case 89: // 'cast'
|
|
shiftT(89); // 'cast'
|
|
break;
|
|
case 90: // 'castable'
|
|
shiftT(90); // 'castable'
|
|
break;
|
|
case 94: // 'collation'
|
|
shiftT(94); // 'collation'
|
|
break;
|
|
case 105: // 'count'
|
|
shiftT(105); // 'count'
|
|
break;
|
|
case 109: // 'default'
|
|
shiftT(109); // 'default'
|
|
break;
|
|
case 113: // 'descending'
|
|
shiftT(113); // 'descending'
|
|
break;
|
|
case 118: // 'div'
|
|
shiftT(118); // 'div'
|
|
break;
|
|
case 122: // 'else'
|
|
shiftT(122); // 'else'
|
|
break;
|
|
case 123: // 'empty'
|
|
shiftT(123); // 'empty'
|
|
break;
|
|
case 126: // 'end'
|
|
shiftT(126); // 'end'
|
|
break;
|
|
case 128: // 'eq'
|
|
shiftT(128); // 'eq'
|
|
break;
|
|
case 131: // 'except'
|
|
shiftT(131); // 'except'
|
|
break;
|
|
case 137: // 'for'
|
|
shiftT(137); // 'for'
|
|
break;
|
|
case 146: // 'ge'
|
|
shiftT(146); // 'ge'
|
|
break;
|
|
case 148: // 'group'
|
|
shiftT(148); // 'group'
|
|
break;
|
|
case 150: // 'gt'
|
|
shiftT(150); // 'gt'
|
|
break;
|
|
case 151: // 'idiv'
|
|
shiftT(151); // 'idiv'
|
|
break;
|
|
case 160: // 'instance'
|
|
shiftT(160); // 'instance'
|
|
break;
|
|
case 162: // 'intersect'
|
|
shiftT(162); // 'intersect'
|
|
break;
|
|
case 163: // 'into'
|
|
shiftT(163); // 'into'
|
|
break;
|
|
case 164: // 'is'
|
|
shiftT(164); // 'is'
|
|
break;
|
|
case 172: // 'le'
|
|
shiftT(172); // 'le'
|
|
break;
|
|
case 174: // 'let'
|
|
shiftT(174); // 'let'
|
|
break;
|
|
case 178: // 'lt'
|
|
shiftT(178); // 'lt'
|
|
break;
|
|
case 180: // 'mod'
|
|
shiftT(180); // 'mod'
|
|
break;
|
|
case 181: // 'modify'
|
|
shiftT(181); // 'modify'
|
|
break;
|
|
case 186: // 'ne'
|
|
shiftT(186); // 'ne'
|
|
break;
|
|
case 198: // 'only'
|
|
shiftT(198); // 'only'
|
|
break;
|
|
case 200: // 'or'
|
|
shiftT(200); // 'or'
|
|
break;
|
|
case 201: // 'order'
|
|
shiftT(201); // 'order'
|
|
break;
|
|
case 220: // 'return'
|
|
shiftT(220); // 'return'
|
|
break;
|
|
case 224: // 'satisfies'
|
|
shiftT(224); // 'satisfies'
|
|
break;
|
|
case 236: // 'stable'
|
|
shiftT(236); // 'stable'
|
|
break;
|
|
case 237: // 'start'
|
|
shiftT(237); // 'start'
|
|
break;
|
|
case 248: // 'to'
|
|
shiftT(248); // 'to'
|
|
break;
|
|
case 249: // 'treat'
|
|
shiftT(249); // 'treat'
|
|
break;
|
|
case 254: // 'union'
|
|
shiftT(254); // 'union'
|
|
break;
|
|
case 266: // 'where'
|
|
shiftT(266); // 'where'
|
|
break;
|
|
case 270: // 'with'
|
|
shiftT(270); // 'with'
|
|
break;
|
|
case 73: // 'ancestor'
|
|
shiftT(73); // 'ancestor'
|
|
break;
|
|
case 74: // 'ancestor-or-self'
|
|
shiftT(74); // 'ancestor-or-self'
|
|
break;
|
|
case 82: // 'attribute'
|
|
shiftT(82); // 'attribute'
|
|
break;
|
|
case 93: // 'child'
|
|
shiftT(93); // 'child'
|
|
break;
|
|
case 96: // 'comment'
|
|
shiftT(96); // 'comment'
|
|
break;
|
|
case 103: // 'copy'
|
|
shiftT(103); // 'copy'
|
|
break;
|
|
case 108: // 'declare'
|
|
shiftT(108); // 'declare'
|
|
break;
|
|
case 110: // 'delete'
|
|
shiftT(110); // 'delete'
|
|
break;
|
|
case 111: // 'descendant'
|
|
shiftT(111); // 'descendant'
|
|
break;
|
|
case 112: // 'descendant-or-self'
|
|
shiftT(112); // 'descendant-or-self'
|
|
break;
|
|
case 119: // 'document'
|
|
shiftT(119); // 'document'
|
|
break;
|
|
case 120: // 'document-node'
|
|
shiftT(120); // 'document-node'
|
|
break;
|
|
case 121: // 'element'
|
|
shiftT(121); // 'element'
|
|
break;
|
|
case 124: // 'empty-sequence'
|
|
shiftT(124); // 'empty-sequence'
|
|
break;
|
|
case 129: // 'every'
|
|
shiftT(129); // 'every'
|
|
break;
|
|
case 134: // 'first'
|
|
shiftT(134); // 'first'
|
|
break;
|
|
case 135: // 'following'
|
|
shiftT(135); // 'following'
|
|
break;
|
|
case 136: // 'following-sibling'
|
|
shiftT(136); // 'following-sibling'
|
|
break;
|
|
case 145: // 'function'
|
|
shiftT(145); // 'function'
|
|
break;
|
|
case 152: // 'if'
|
|
shiftT(152); // 'if'
|
|
break;
|
|
case 153: // 'import'
|
|
shiftT(153); // 'import'
|
|
break;
|
|
case 159: // 'insert'
|
|
shiftT(159); // 'insert'
|
|
break;
|
|
case 165: // 'item'
|
|
shiftT(165); // 'item'
|
|
break;
|
|
case 170: // 'last'
|
|
shiftT(170); // 'last'
|
|
break;
|
|
case 182: // 'module'
|
|
shiftT(182); // 'module'
|
|
break;
|
|
case 184: // 'namespace'
|
|
shiftT(184); // 'namespace'
|
|
break;
|
|
case 185: // 'namespace-node'
|
|
shiftT(185); // 'namespace-node'
|
|
break;
|
|
case 191: // 'node'
|
|
shiftT(191); // 'node'
|
|
break;
|
|
case 202: // 'ordered'
|
|
shiftT(202); // 'ordered'
|
|
break;
|
|
case 206: // 'parent'
|
|
shiftT(206); // 'parent'
|
|
break;
|
|
case 212: // 'preceding'
|
|
shiftT(212); // 'preceding'
|
|
break;
|
|
case 213: // 'preceding-sibling'
|
|
shiftT(213); // 'preceding-sibling'
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
shiftT(216); // 'processing-instruction'
|
|
break;
|
|
case 218: // 'rename'
|
|
shiftT(218); // 'rename'
|
|
break;
|
|
case 219: // 'replace'
|
|
shiftT(219); // 'replace'
|
|
break;
|
|
case 226: // 'schema-attribute'
|
|
shiftT(226); // 'schema-attribute'
|
|
break;
|
|
case 227: // 'schema-element'
|
|
shiftT(227); // 'schema-element'
|
|
break;
|
|
case 229: // 'self'
|
|
shiftT(229); // 'self'
|
|
break;
|
|
case 235: // 'some'
|
|
shiftT(235); // 'some'
|
|
break;
|
|
case 243: // 'switch'
|
|
shiftT(243); // 'switch'
|
|
break;
|
|
case 244: // 'text'
|
|
shiftT(244); // 'text'
|
|
break;
|
|
case 250: // 'try'
|
|
shiftT(250); // 'try'
|
|
break;
|
|
case 253: // 'typeswitch'
|
|
shiftT(253); // 'typeswitch'
|
|
break;
|
|
case 256: // 'unordered'
|
|
shiftT(256); // 'unordered'
|
|
break;
|
|
case 260: // 'validate'
|
|
shiftT(260); // 'validate'
|
|
break;
|
|
case 262: // 'variable'
|
|
shiftT(262); // 'variable'
|
|
break;
|
|
case 274: // 'xquery'
|
|
shiftT(274); // 'xquery'
|
|
break;
|
|
case 72: // 'allowing'
|
|
shiftT(72); // 'allowing'
|
|
break;
|
|
case 81: // 'at'
|
|
shiftT(81); // 'at'
|
|
break;
|
|
case 83: // 'base-uri'
|
|
shiftT(83); // 'base-uri'
|
|
break;
|
|
case 85: // 'boundary-space'
|
|
shiftT(85); // 'boundary-space'
|
|
break;
|
|
case 86: // 'break'
|
|
shiftT(86); // 'break'
|
|
break;
|
|
case 91: // 'catch'
|
|
shiftT(91); // 'catch'
|
|
break;
|
|
case 98: // 'construction'
|
|
shiftT(98); // 'construction'
|
|
break;
|
|
case 101: // 'context'
|
|
shiftT(101); // 'context'
|
|
break;
|
|
case 102: // 'continue'
|
|
shiftT(102); // 'continue'
|
|
break;
|
|
case 104: // 'copy-namespaces'
|
|
shiftT(104); // 'copy-namespaces'
|
|
break;
|
|
case 106: // 'decimal-format'
|
|
shiftT(106); // 'decimal-format'
|
|
break;
|
|
case 125: // 'encoding'
|
|
shiftT(125); // 'encoding'
|
|
break;
|
|
case 132: // 'exit'
|
|
shiftT(132); // 'exit'
|
|
break;
|
|
case 133: // 'external'
|
|
shiftT(133); // 'external'
|
|
break;
|
|
case 141: // 'ft-option'
|
|
shiftT(141); // 'ft-option'
|
|
break;
|
|
case 154: // 'in'
|
|
shiftT(154); // 'in'
|
|
break;
|
|
case 155: // 'index'
|
|
shiftT(155); // 'index'
|
|
break;
|
|
case 161: // 'integrity'
|
|
shiftT(161); // 'integrity'
|
|
break;
|
|
case 171: // 'lax'
|
|
shiftT(171); // 'lax'
|
|
break;
|
|
case 192: // 'nodes'
|
|
shiftT(192); // 'nodes'
|
|
break;
|
|
case 199: // 'option'
|
|
shiftT(199); // 'option'
|
|
break;
|
|
case 203: // 'ordering'
|
|
shiftT(203); // 'ordering'
|
|
break;
|
|
case 222: // 'revalidation'
|
|
shiftT(222); // 'revalidation'
|
|
break;
|
|
case 225: // 'schema'
|
|
shiftT(225); // 'schema'
|
|
break;
|
|
case 228: // 'score'
|
|
shiftT(228); // 'score'
|
|
break;
|
|
case 234: // 'sliding'
|
|
shiftT(234); // 'sliding'
|
|
break;
|
|
case 240: // 'strict'
|
|
shiftT(240); // 'strict'
|
|
break;
|
|
case 251: // 'tumbling'
|
|
shiftT(251); // 'tumbling'
|
|
break;
|
|
case 252: // 'type'
|
|
shiftT(252); // 'type'
|
|
break;
|
|
case 257: // 'updating'
|
|
shiftT(257); // 'updating'
|
|
break;
|
|
case 261: // 'value'
|
|
shiftT(261); // 'value'
|
|
break;
|
|
case 263: // 'version'
|
|
shiftT(263); // 'version'
|
|
break;
|
|
case 267: // 'while'
|
|
shiftT(267); // 'while'
|
|
break;
|
|
case 97: // 'constraint'
|
|
shiftT(97); // 'constraint'
|
|
break;
|
|
case 176: // 'loop'
|
|
shiftT(176); // 'loop'
|
|
break;
|
|
case 221: // 'returning'
|
|
shiftT(221); // 'returning'
|
|
break;
|
|
case 77: // 'append'
|
|
shiftT(77); // 'append'
|
|
break;
|
|
case 166: // 'json'
|
|
shiftT(166); // 'json'
|
|
break;
|
|
default:
|
|
shiftT(194); // 'object'
|
|
}
|
|
}
|
|
|
|
function parse_MainModule()
|
|
{
|
|
eventHandler.startNonterminal("MainModule", e0);
|
|
parse_Prolog();
|
|
whitespace();
|
|
parse_Program();
|
|
eventHandler.endNonterminal("MainModule", e0);
|
|
}
|
|
|
|
function parse_Program()
|
|
{
|
|
eventHandler.startNonterminal("Program", e0);
|
|
parse_StatementsAndOptionalExpr();
|
|
eventHandler.endNonterminal("Program", e0);
|
|
}
|
|
|
|
function parse_Statements()
|
|
{
|
|
eventHandler.startNonterminal("Statements", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 34: // '('
|
|
lookahead2W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 35: // '(#'
|
|
lookahead2(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
break;
|
|
case 46: // '/'
|
|
lookahead2W(283); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 47: // '//'
|
|
lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 54: // '<'
|
|
lookahead2(4); // QName
|
|
break;
|
|
case 55: // '<!--'
|
|
lookahead2(1); // DirCommentContents
|
|
break;
|
|
case 59: // '<?'
|
|
lookahead2(3); // PITarget
|
|
break;
|
|
case 66: // '@'
|
|
lookahead2W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 68: // '['
|
|
lookahead2W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 77: // 'append'
|
|
lookahead2W(199); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 82: // 'attribute'
|
|
lookahead2W(280); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
|
|
break;
|
|
case 121: // 'element'
|
|
lookahead2W(279); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
|
|
break;
|
|
case 132: // 'exit'
|
|
lookahead2W(202); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 137: // 'for'
|
|
lookahead2W(207); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 174: // 'let'
|
|
lookahead2W(204); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 218: // 'rename'
|
|
lookahead2W(205); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 219: // 'replace'
|
|
lookahead2W(206); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 260: // 'validate'
|
|
lookahead2W(209); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 278: // '{|'
|
|
lookahead2W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 5: // Wildcard
|
|
case 45: // '..'
|
|
lookahead2W(185); // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 31: // '$'
|
|
case 32: // '%'
|
|
lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 40: // '+'
|
|
case 42: // '-'
|
|
lookahead2W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 86: // 'break'
|
|
case 102: // 'continue'
|
|
lookahead2W(200); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 110: // 'delete'
|
|
case 159: // 'insert'
|
|
lookahead2W(208); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 184: // 'namespace'
|
|
case 216: // 'processing-instruction'
|
|
lookahead2W(267); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
|
|
break;
|
|
case 103: // 'copy'
|
|
case 129: // 'every'
|
|
case 235: // 'some'
|
|
case 262: // 'variable'
|
|
lookahead2W(196); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 44: // '.'
|
|
lookahead2W(191); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 78: // 'array'
|
|
case 124: // 'empty-sequence'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 242: // 'structured-item'
|
|
lookahead2W(190); // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 96: // 'comment'
|
|
case 119: // 'document'
|
|
case 202: // 'ordered'
|
|
case 244: // 'text'
|
|
case 250: // 'try'
|
|
case 256: // 'unordered'
|
|
lookahead2W(203); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 93: // 'child'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
case 229: // 'self'
|
|
lookahead2W(197); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 70: // 'after'
|
|
case 72: // 'allowing'
|
|
case 75: // 'and'
|
|
case 79: // 'as'
|
|
case 80: // 'ascending'
|
|
case 81: // 'at'
|
|
case 83: // 'base-uri'
|
|
case 84: // 'before'
|
|
case 85: // 'boundary-space'
|
|
case 88: // 'case'
|
|
case 89: // 'cast'
|
|
case 90: // 'castable'
|
|
case 91: // 'catch'
|
|
case 94: // 'collation'
|
|
case 97: // 'constraint'
|
|
case 98: // 'construction'
|
|
case 101: // 'context'
|
|
case 104: // 'copy-namespaces'
|
|
case 105: // 'count'
|
|
case 106: // 'decimal-format'
|
|
case 108: // 'declare'
|
|
case 109: // 'default'
|
|
case 113: // 'descending'
|
|
case 118: // 'div'
|
|
case 120: // 'document-node'
|
|
case 122: // 'else'
|
|
case 123: // 'empty'
|
|
case 125: // 'encoding'
|
|
case 126: // 'end'
|
|
case 128: // 'eq'
|
|
case 131: // 'except'
|
|
case 133: // 'external'
|
|
case 134: // 'first'
|
|
case 141: // 'ft-option'
|
|
case 145: // 'function'
|
|
case 146: // 'ge'
|
|
case 148: // 'group'
|
|
case 150: // 'gt'
|
|
case 151: // 'idiv'
|
|
case 152: // 'if'
|
|
case 153: // 'import'
|
|
case 154: // 'in'
|
|
case 155: // 'index'
|
|
case 160: // 'instance'
|
|
case 161: // 'integrity'
|
|
case 162: // 'intersect'
|
|
case 163: // 'into'
|
|
case 164: // 'is'
|
|
case 166: // 'json'
|
|
case 170: // 'last'
|
|
case 171: // 'lax'
|
|
case 172: // 'le'
|
|
case 176: // 'loop'
|
|
case 178: // 'lt'
|
|
case 180: // 'mod'
|
|
case 181: // 'modify'
|
|
case 182: // 'module'
|
|
case 185: // 'namespace-node'
|
|
case 186: // 'ne'
|
|
case 191: // 'node'
|
|
case 192: // 'nodes'
|
|
case 194: // 'object'
|
|
case 198: // 'only'
|
|
case 199: // 'option'
|
|
case 200: // 'or'
|
|
case 201: // 'order'
|
|
case 203: // 'ordering'
|
|
case 220: // 'return'
|
|
case 221: // 'returning'
|
|
case 222: // 'revalidation'
|
|
case 224: // 'satisfies'
|
|
case 225: // 'schema'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 228: // 'score'
|
|
case 234: // 'sliding'
|
|
case 236: // 'stable'
|
|
case 237: // 'start'
|
|
case 240: // 'strict'
|
|
case 243: // 'switch'
|
|
case 248: // 'to'
|
|
case 249: // 'treat'
|
|
case 251: // 'tumbling'
|
|
case 252: // 'type'
|
|
case 253: // 'typeswitch'
|
|
case 254: // 'union'
|
|
case 257: // 'updating'
|
|
case 261: // 'value'
|
|
case 263: // 'version'
|
|
case 266: // 'where'
|
|
case 267: // 'while'
|
|
case 270: // 'with'
|
|
case 274: // 'xquery'
|
|
lookahead2W(194); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 53 // ';'
|
|
&& lk != 282 // '}'
|
|
&& lk != 12805 // Wildcard EOF
|
|
&& lk != 12806 // EQName^Token EOF
|
|
&& lk != 12808 // IntegerLiteral EOF
|
|
&& lk != 12809 // DecimalLiteral EOF
|
|
&& lk != 12810 // DoubleLiteral EOF
|
|
&& lk != 12811 // StringLiteral EOF
|
|
&& lk != 12844 // '.' EOF
|
|
&& lk != 12845 // '..' EOF
|
|
&& lk != 12846 // '/' EOF
|
|
&& lk != 12870 // 'after' EOF
|
|
&& lk != 12872 // 'allowing' EOF
|
|
&& lk != 12873 // 'ancestor' EOF
|
|
&& lk != 12874 // 'ancestor-or-self' EOF
|
|
&& lk != 12875 // 'and' EOF
|
|
&& lk != 12877 // 'append' EOF
|
|
&& lk != 12878 // 'array' EOF
|
|
&& lk != 12879 // 'as' EOF
|
|
&& lk != 12880 // 'ascending' EOF
|
|
&& lk != 12881 // 'at' EOF
|
|
&& lk != 12882 // 'attribute' EOF
|
|
&& lk != 12883 // 'base-uri' EOF
|
|
&& lk != 12884 // 'before' EOF
|
|
&& lk != 12885 // 'boundary-space' EOF
|
|
&& lk != 12886 // 'break' EOF
|
|
&& lk != 12888 // 'case' EOF
|
|
&& lk != 12889 // 'cast' EOF
|
|
&& lk != 12890 // 'castable' EOF
|
|
&& lk != 12891 // 'catch' EOF
|
|
&& lk != 12893 // 'child' EOF
|
|
&& lk != 12894 // 'collation' EOF
|
|
&& lk != 12896 // 'comment' EOF
|
|
&& lk != 12897 // 'constraint' EOF
|
|
&& lk != 12898 // 'construction' EOF
|
|
&& lk != 12901 // 'context' EOF
|
|
&& lk != 12902 // 'continue' EOF
|
|
&& lk != 12903 // 'copy' EOF
|
|
&& lk != 12904 // 'copy-namespaces' EOF
|
|
&& lk != 12905 // 'count' EOF
|
|
&& lk != 12906 // 'decimal-format' EOF
|
|
&& lk != 12908 // 'declare' EOF
|
|
&& lk != 12909 // 'default' EOF
|
|
&& lk != 12910 // 'delete' EOF
|
|
&& lk != 12911 // 'descendant' EOF
|
|
&& lk != 12912 // 'descendant-or-self' EOF
|
|
&& lk != 12913 // 'descending' EOF
|
|
&& lk != 12918 // 'div' EOF
|
|
&& lk != 12919 // 'document' EOF
|
|
&& lk != 12920 // 'document-node' EOF
|
|
&& lk != 12921 // 'element' EOF
|
|
&& lk != 12922 // 'else' EOF
|
|
&& lk != 12923 // 'empty' EOF
|
|
&& lk != 12924 // 'empty-sequence' EOF
|
|
&& lk != 12925 // 'encoding' EOF
|
|
&& lk != 12926 // 'end' EOF
|
|
&& lk != 12928 // 'eq' EOF
|
|
&& lk != 12929 // 'every' EOF
|
|
&& lk != 12931 // 'except' EOF
|
|
&& lk != 12932 // 'exit' EOF
|
|
&& lk != 12933 // 'external' EOF
|
|
&& lk != 12934 // 'first' EOF
|
|
&& lk != 12935 // 'following' EOF
|
|
&& lk != 12936 // 'following-sibling' EOF
|
|
&& lk != 12937 // 'for' EOF
|
|
&& lk != 12941 // 'ft-option' EOF
|
|
&& lk != 12945 // 'function' EOF
|
|
&& lk != 12946 // 'ge' EOF
|
|
&& lk != 12948 // 'group' EOF
|
|
&& lk != 12950 // 'gt' EOF
|
|
&& lk != 12951 // 'idiv' EOF
|
|
&& lk != 12952 // 'if' EOF
|
|
&& lk != 12953 // 'import' EOF
|
|
&& lk != 12954 // 'in' EOF
|
|
&& lk != 12955 // 'index' EOF
|
|
&& lk != 12959 // 'insert' EOF
|
|
&& lk != 12960 // 'instance' EOF
|
|
&& lk != 12961 // 'integrity' EOF
|
|
&& lk != 12962 // 'intersect' EOF
|
|
&& lk != 12963 // 'into' EOF
|
|
&& lk != 12964 // 'is' EOF
|
|
&& lk != 12965 // 'item' EOF
|
|
&& lk != 12966 // 'json' EOF
|
|
&& lk != 12967 // 'json-item' EOF
|
|
&& lk != 12970 // 'last' EOF
|
|
&& lk != 12971 // 'lax' EOF
|
|
&& lk != 12972 // 'le' EOF
|
|
&& lk != 12974 // 'let' EOF
|
|
&& lk != 12976 // 'loop' EOF
|
|
&& lk != 12978 // 'lt' EOF
|
|
&& lk != 12980 // 'mod' EOF
|
|
&& lk != 12981 // 'modify' EOF
|
|
&& lk != 12982 // 'module' EOF
|
|
&& lk != 12984 // 'namespace' EOF
|
|
&& lk != 12985 // 'namespace-node' EOF
|
|
&& lk != 12986 // 'ne' EOF
|
|
&& lk != 12991 // 'node' EOF
|
|
&& lk != 12992 // 'nodes' EOF
|
|
&& lk != 12994 // 'object' EOF
|
|
&& lk != 12998 // 'only' EOF
|
|
&& lk != 12999 // 'option' EOF
|
|
&& lk != 13000 // 'or' EOF
|
|
&& lk != 13001 // 'order' EOF
|
|
&& lk != 13002 // 'ordered' EOF
|
|
&& lk != 13003 // 'ordering' EOF
|
|
&& lk != 13006 // 'parent' EOF
|
|
&& lk != 13012 // 'preceding' EOF
|
|
&& lk != 13013 // 'preceding-sibling' EOF
|
|
&& lk != 13016 // 'processing-instruction' EOF
|
|
&& lk != 13018 // 'rename' EOF
|
|
&& lk != 13019 // 'replace' EOF
|
|
&& lk != 13020 // 'return' EOF
|
|
&& lk != 13021 // 'returning' EOF
|
|
&& lk != 13022 // 'revalidation' EOF
|
|
&& lk != 13024 // 'satisfies' EOF
|
|
&& lk != 13025 // 'schema' EOF
|
|
&& lk != 13026 // 'schema-attribute' EOF
|
|
&& lk != 13027 // 'schema-element' EOF
|
|
&& lk != 13028 // 'score' EOF
|
|
&& lk != 13029 // 'self' EOF
|
|
&& lk != 13034 // 'sliding' EOF
|
|
&& lk != 13035 // 'some' EOF
|
|
&& lk != 13036 // 'stable' EOF
|
|
&& lk != 13037 // 'start' EOF
|
|
&& lk != 13040 // 'strict' EOF
|
|
&& lk != 13042 // 'structured-item' EOF
|
|
&& lk != 13043 // 'switch' EOF
|
|
&& lk != 13044 // 'text' EOF
|
|
&& lk != 13048 // 'to' EOF
|
|
&& lk != 13049 // 'treat' EOF
|
|
&& lk != 13050 // 'try' EOF
|
|
&& lk != 13051 // 'tumbling' EOF
|
|
&& lk != 13052 // 'type' EOF
|
|
&& lk != 13053 // 'typeswitch' EOF
|
|
&& lk != 13054 // 'union' EOF
|
|
&& lk != 13056 // 'unordered' EOF
|
|
&& lk != 13057 // 'updating' EOF
|
|
&& lk != 13060 // 'validate' EOF
|
|
&& lk != 13061 // 'value' EOF
|
|
&& lk != 13062 // 'variable' EOF
|
|
&& lk != 13063 // 'version' EOF
|
|
&& lk != 13066 // 'where' EOF
|
|
&& lk != 13067 // 'while' EOF
|
|
&& lk != 13070 // 'with' EOF
|
|
&& lk != 13074 // 'xquery' EOF
|
|
&& lk != 16134 // 'variable' '$'
|
|
&& lk != 20997 // Wildcard ','
|
|
&& lk != 20998 // EQName^Token ','
|
|
&& lk != 21000 // IntegerLiteral ','
|
|
&& lk != 21001 // DecimalLiteral ','
|
|
&& lk != 21002 // DoubleLiteral ','
|
|
&& lk != 21003 // StringLiteral ','
|
|
&& lk != 21036 // '.' ','
|
|
&& lk != 21037 // '..' ','
|
|
&& lk != 21038 // '/' ','
|
|
&& lk != 21062 // 'after' ','
|
|
&& lk != 21064 // 'allowing' ','
|
|
&& lk != 21065 // 'ancestor' ','
|
|
&& lk != 21066 // 'ancestor-or-self' ','
|
|
&& lk != 21067 // 'and' ','
|
|
&& lk != 21069 // 'append' ','
|
|
&& lk != 21070 // 'array' ','
|
|
&& lk != 21071 // 'as' ','
|
|
&& lk != 21072 // 'ascending' ','
|
|
&& lk != 21073 // 'at' ','
|
|
&& lk != 21074 // 'attribute' ','
|
|
&& lk != 21075 // 'base-uri' ','
|
|
&& lk != 21076 // 'before' ','
|
|
&& lk != 21077 // 'boundary-space' ','
|
|
&& lk != 21078 // 'break' ','
|
|
&& lk != 21080 // 'case' ','
|
|
&& lk != 21081 // 'cast' ','
|
|
&& lk != 21082 // 'castable' ','
|
|
&& lk != 21083 // 'catch' ','
|
|
&& lk != 21085 // 'child' ','
|
|
&& lk != 21086 // 'collation' ','
|
|
&& lk != 21088 // 'comment' ','
|
|
&& lk != 21089 // 'constraint' ','
|
|
&& lk != 21090 // 'construction' ','
|
|
&& lk != 21093 // 'context' ','
|
|
&& lk != 21094 // 'continue' ','
|
|
&& lk != 21095 // 'copy' ','
|
|
&& lk != 21096 // 'copy-namespaces' ','
|
|
&& lk != 21097 // 'count' ','
|
|
&& lk != 21098 // 'decimal-format' ','
|
|
&& lk != 21100 // 'declare' ','
|
|
&& lk != 21101 // 'default' ','
|
|
&& lk != 21102 // 'delete' ','
|
|
&& lk != 21103 // 'descendant' ','
|
|
&& lk != 21104 // 'descendant-or-self' ','
|
|
&& lk != 21105 // 'descending' ','
|
|
&& lk != 21110 // 'div' ','
|
|
&& lk != 21111 // 'document' ','
|
|
&& lk != 21112 // 'document-node' ','
|
|
&& lk != 21113 // 'element' ','
|
|
&& lk != 21114 // 'else' ','
|
|
&& lk != 21115 // 'empty' ','
|
|
&& lk != 21116 // 'empty-sequence' ','
|
|
&& lk != 21117 // 'encoding' ','
|
|
&& lk != 21118 // 'end' ','
|
|
&& lk != 21120 // 'eq' ','
|
|
&& lk != 21121 // 'every' ','
|
|
&& lk != 21123 // 'except' ','
|
|
&& lk != 21124 // 'exit' ','
|
|
&& lk != 21125 // 'external' ','
|
|
&& lk != 21126 // 'first' ','
|
|
&& lk != 21127 // 'following' ','
|
|
&& lk != 21128 // 'following-sibling' ','
|
|
&& lk != 21129 // 'for' ','
|
|
&& lk != 21133 // 'ft-option' ','
|
|
&& lk != 21137 // 'function' ','
|
|
&& lk != 21138 // 'ge' ','
|
|
&& lk != 21140 // 'group' ','
|
|
&& lk != 21142 // 'gt' ','
|
|
&& lk != 21143 // 'idiv' ','
|
|
&& lk != 21144 // 'if' ','
|
|
&& lk != 21145 // 'import' ','
|
|
&& lk != 21146 // 'in' ','
|
|
&& lk != 21147 // 'index' ','
|
|
&& lk != 21151 // 'insert' ','
|
|
&& lk != 21152 // 'instance' ','
|
|
&& lk != 21153 // 'integrity' ','
|
|
&& lk != 21154 // 'intersect' ','
|
|
&& lk != 21155 // 'into' ','
|
|
&& lk != 21156 // 'is' ','
|
|
&& lk != 21157 // 'item' ','
|
|
&& lk != 21158 // 'json' ','
|
|
&& lk != 21159 // 'json-item' ','
|
|
&& lk != 21162 // 'last' ','
|
|
&& lk != 21163 // 'lax' ','
|
|
&& lk != 21164 // 'le' ','
|
|
&& lk != 21166 // 'let' ','
|
|
&& lk != 21168 // 'loop' ','
|
|
&& lk != 21170 // 'lt' ','
|
|
&& lk != 21172 // 'mod' ','
|
|
&& lk != 21173 // 'modify' ','
|
|
&& lk != 21174 // 'module' ','
|
|
&& lk != 21176 // 'namespace' ','
|
|
&& lk != 21177 // 'namespace-node' ','
|
|
&& lk != 21178 // 'ne' ','
|
|
&& lk != 21183 // 'node' ','
|
|
&& lk != 21184 // 'nodes' ','
|
|
&& lk != 21186 // 'object' ','
|
|
&& lk != 21190 // 'only' ','
|
|
&& lk != 21191 // 'option' ','
|
|
&& lk != 21192 // 'or' ','
|
|
&& lk != 21193 // 'order' ','
|
|
&& lk != 21194 // 'ordered' ','
|
|
&& lk != 21195 // 'ordering' ','
|
|
&& lk != 21198 // 'parent' ','
|
|
&& lk != 21204 // 'preceding' ','
|
|
&& lk != 21205 // 'preceding-sibling' ','
|
|
&& lk != 21208 // 'processing-instruction' ','
|
|
&& lk != 21210 // 'rename' ','
|
|
&& lk != 21211 // 'replace' ','
|
|
&& lk != 21212 // 'return' ','
|
|
&& lk != 21213 // 'returning' ','
|
|
&& lk != 21214 // 'revalidation' ','
|
|
&& lk != 21216 // 'satisfies' ','
|
|
&& lk != 21217 // 'schema' ','
|
|
&& lk != 21218 // 'schema-attribute' ','
|
|
&& lk != 21219 // 'schema-element' ','
|
|
&& lk != 21220 // 'score' ','
|
|
&& lk != 21221 // 'self' ','
|
|
&& lk != 21226 // 'sliding' ','
|
|
&& lk != 21227 // 'some' ','
|
|
&& lk != 21228 // 'stable' ','
|
|
&& lk != 21229 // 'start' ','
|
|
&& lk != 21232 // 'strict' ','
|
|
&& lk != 21234 // 'structured-item' ','
|
|
&& lk != 21235 // 'switch' ','
|
|
&& lk != 21236 // 'text' ','
|
|
&& lk != 21240 // 'to' ','
|
|
&& lk != 21241 // 'treat' ','
|
|
&& lk != 21242 // 'try' ','
|
|
&& lk != 21243 // 'tumbling' ','
|
|
&& lk != 21244 // 'type' ','
|
|
&& lk != 21245 // 'typeswitch' ','
|
|
&& lk != 21246 // 'union' ','
|
|
&& lk != 21248 // 'unordered' ','
|
|
&& lk != 21249 // 'updating' ','
|
|
&& lk != 21252 // 'validate' ','
|
|
&& lk != 21253 // 'value' ','
|
|
&& lk != 21254 // 'variable' ','
|
|
&& lk != 21255 // 'version' ','
|
|
&& lk != 21258 // 'where' ','
|
|
&& lk != 21259 // 'while' ','
|
|
&& lk != 21262 // 'with' ','
|
|
&& lk != 21266 // 'xquery' ','
|
|
&& lk != 27141 // Wildcard ';'
|
|
&& lk != 27142 // EQName^Token ';'
|
|
&& lk != 27144 // IntegerLiteral ';'
|
|
&& lk != 27145 // DecimalLiteral ';'
|
|
&& lk != 27146 // DoubleLiteral ';'
|
|
&& lk != 27147 // StringLiteral ';'
|
|
&& lk != 27180 // '.' ';'
|
|
&& lk != 27181 // '..' ';'
|
|
&& lk != 27182 // '/' ';'
|
|
&& lk != 27206 // 'after' ';'
|
|
&& lk != 27208 // 'allowing' ';'
|
|
&& lk != 27209 // 'ancestor' ';'
|
|
&& lk != 27210 // 'ancestor-or-self' ';'
|
|
&& lk != 27211 // 'and' ';'
|
|
&& lk != 27213 // 'append' ';'
|
|
&& lk != 27214 // 'array' ';'
|
|
&& lk != 27215 // 'as' ';'
|
|
&& lk != 27216 // 'ascending' ';'
|
|
&& lk != 27217 // 'at' ';'
|
|
&& lk != 27218 // 'attribute' ';'
|
|
&& lk != 27219 // 'base-uri' ';'
|
|
&& lk != 27220 // 'before' ';'
|
|
&& lk != 27221 // 'boundary-space' ';'
|
|
&& lk != 27222 // 'break' ';'
|
|
&& lk != 27224 // 'case' ';'
|
|
&& lk != 27225 // 'cast' ';'
|
|
&& lk != 27226 // 'castable' ';'
|
|
&& lk != 27227 // 'catch' ';'
|
|
&& lk != 27229 // 'child' ';'
|
|
&& lk != 27230 // 'collation' ';'
|
|
&& lk != 27232 // 'comment' ';'
|
|
&& lk != 27233 // 'constraint' ';'
|
|
&& lk != 27234 // 'construction' ';'
|
|
&& lk != 27237 // 'context' ';'
|
|
&& lk != 27238 // 'continue' ';'
|
|
&& lk != 27239 // 'copy' ';'
|
|
&& lk != 27240 // 'copy-namespaces' ';'
|
|
&& lk != 27241 // 'count' ';'
|
|
&& lk != 27242 // 'decimal-format' ';'
|
|
&& lk != 27244 // 'declare' ';'
|
|
&& lk != 27245 // 'default' ';'
|
|
&& lk != 27246 // 'delete' ';'
|
|
&& lk != 27247 // 'descendant' ';'
|
|
&& lk != 27248 // 'descendant-or-self' ';'
|
|
&& lk != 27249 // 'descending' ';'
|
|
&& lk != 27254 // 'div' ';'
|
|
&& lk != 27255 // 'document' ';'
|
|
&& lk != 27256 // 'document-node' ';'
|
|
&& lk != 27257 // 'element' ';'
|
|
&& lk != 27258 // 'else' ';'
|
|
&& lk != 27259 // 'empty' ';'
|
|
&& lk != 27260 // 'empty-sequence' ';'
|
|
&& lk != 27261 // 'encoding' ';'
|
|
&& lk != 27262 // 'end' ';'
|
|
&& lk != 27264 // 'eq' ';'
|
|
&& lk != 27265 // 'every' ';'
|
|
&& lk != 27267 // 'except' ';'
|
|
&& lk != 27268 // 'exit' ';'
|
|
&& lk != 27269 // 'external' ';'
|
|
&& lk != 27270 // 'first' ';'
|
|
&& lk != 27271 // 'following' ';'
|
|
&& lk != 27272 // 'following-sibling' ';'
|
|
&& lk != 27273 // 'for' ';'
|
|
&& lk != 27277 // 'ft-option' ';'
|
|
&& lk != 27281 // 'function' ';'
|
|
&& lk != 27282 // 'ge' ';'
|
|
&& lk != 27284 // 'group' ';'
|
|
&& lk != 27286 // 'gt' ';'
|
|
&& lk != 27287 // 'idiv' ';'
|
|
&& lk != 27288 // 'if' ';'
|
|
&& lk != 27289 // 'import' ';'
|
|
&& lk != 27290 // 'in' ';'
|
|
&& lk != 27291 // 'index' ';'
|
|
&& lk != 27295 // 'insert' ';'
|
|
&& lk != 27296 // 'instance' ';'
|
|
&& lk != 27297 // 'integrity' ';'
|
|
&& lk != 27298 // 'intersect' ';'
|
|
&& lk != 27299 // 'into' ';'
|
|
&& lk != 27300 // 'is' ';'
|
|
&& lk != 27301 // 'item' ';'
|
|
&& lk != 27302 // 'json' ';'
|
|
&& lk != 27303 // 'json-item' ';'
|
|
&& lk != 27306 // 'last' ';'
|
|
&& lk != 27307 // 'lax' ';'
|
|
&& lk != 27308 // 'le' ';'
|
|
&& lk != 27310 // 'let' ';'
|
|
&& lk != 27312 // 'loop' ';'
|
|
&& lk != 27314 // 'lt' ';'
|
|
&& lk != 27316 // 'mod' ';'
|
|
&& lk != 27317 // 'modify' ';'
|
|
&& lk != 27318 // 'module' ';'
|
|
&& lk != 27320 // 'namespace' ';'
|
|
&& lk != 27321 // 'namespace-node' ';'
|
|
&& lk != 27322 // 'ne' ';'
|
|
&& lk != 27327 // 'node' ';'
|
|
&& lk != 27328 // 'nodes' ';'
|
|
&& lk != 27330 // 'object' ';'
|
|
&& lk != 27334 // 'only' ';'
|
|
&& lk != 27335 // 'option' ';'
|
|
&& lk != 27336 // 'or' ';'
|
|
&& lk != 27337 // 'order' ';'
|
|
&& lk != 27338 // 'ordered' ';'
|
|
&& lk != 27339 // 'ordering' ';'
|
|
&& lk != 27342 // 'parent' ';'
|
|
&& lk != 27348 // 'preceding' ';'
|
|
&& lk != 27349 // 'preceding-sibling' ';'
|
|
&& lk != 27352 // 'processing-instruction' ';'
|
|
&& lk != 27354 // 'rename' ';'
|
|
&& lk != 27355 // 'replace' ';'
|
|
&& lk != 27356 // 'return' ';'
|
|
&& lk != 27357 // 'returning' ';'
|
|
&& lk != 27358 // 'revalidation' ';'
|
|
&& lk != 27360 // 'satisfies' ';'
|
|
&& lk != 27361 // 'schema' ';'
|
|
&& lk != 27362 // 'schema-attribute' ';'
|
|
&& lk != 27363 // 'schema-element' ';'
|
|
&& lk != 27364 // 'score' ';'
|
|
&& lk != 27365 // 'self' ';'
|
|
&& lk != 27370 // 'sliding' ';'
|
|
&& lk != 27371 // 'some' ';'
|
|
&& lk != 27372 // 'stable' ';'
|
|
&& lk != 27373 // 'start' ';'
|
|
&& lk != 27376 // 'strict' ';'
|
|
&& lk != 27378 // 'structured-item' ';'
|
|
&& lk != 27379 // 'switch' ';'
|
|
&& lk != 27380 // 'text' ';'
|
|
&& lk != 27384 // 'to' ';'
|
|
&& lk != 27385 // 'treat' ';'
|
|
&& lk != 27386 // 'try' ';'
|
|
&& lk != 27387 // 'tumbling' ';'
|
|
&& lk != 27388 // 'type' ';'
|
|
&& lk != 27389 // 'typeswitch' ';'
|
|
&& lk != 27390 // 'union' ';'
|
|
&& lk != 27392 // 'unordered' ';'
|
|
&& lk != 27393 // 'updating' ';'
|
|
&& lk != 27396 // 'validate' ';'
|
|
&& lk != 27397 // 'value' ';'
|
|
&& lk != 27398 // 'variable' ';'
|
|
&& lk != 27399 // 'version' ';'
|
|
&& lk != 27402 // 'where' ';'
|
|
&& lk != 27403 // 'while' ';'
|
|
&& lk != 27406 // 'with' ';'
|
|
&& lk != 27410 // 'xquery' ';'
|
|
&& lk != 90198 // 'break' 'loop'
|
|
&& lk != 90214 // 'continue' 'loop'
|
|
&& lk != 113284 // 'exit' 'returning'
|
|
&& lk != 144389 // Wildcard '}'
|
|
&& lk != 144390 // EQName^Token '}'
|
|
&& lk != 144392 // IntegerLiteral '}'
|
|
&& lk != 144393 // DecimalLiteral '}'
|
|
&& lk != 144394 // DoubleLiteral '}'
|
|
&& lk != 144395 // StringLiteral '}'
|
|
&& lk != 144428 // '.' '}'
|
|
&& lk != 144429 // '..' '}'
|
|
&& lk != 144430 // '/' '}'
|
|
&& lk != 144454 // 'after' '}'
|
|
&& lk != 144456 // 'allowing' '}'
|
|
&& lk != 144457 // 'ancestor' '}'
|
|
&& lk != 144458 // 'ancestor-or-self' '}'
|
|
&& lk != 144459 // 'and' '}'
|
|
&& lk != 144461 // 'append' '}'
|
|
&& lk != 144462 // 'array' '}'
|
|
&& lk != 144463 // 'as' '}'
|
|
&& lk != 144464 // 'ascending' '}'
|
|
&& lk != 144465 // 'at' '}'
|
|
&& lk != 144466 // 'attribute' '}'
|
|
&& lk != 144467 // 'base-uri' '}'
|
|
&& lk != 144468 // 'before' '}'
|
|
&& lk != 144469 // 'boundary-space' '}'
|
|
&& lk != 144470 // 'break' '}'
|
|
&& lk != 144472 // 'case' '}'
|
|
&& lk != 144473 // 'cast' '}'
|
|
&& lk != 144474 // 'castable' '}'
|
|
&& lk != 144475 // 'catch' '}'
|
|
&& lk != 144477 // 'child' '}'
|
|
&& lk != 144478 // 'collation' '}'
|
|
&& lk != 144480 // 'comment' '}'
|
|
&& lk != 144481 // 'constraint' '}'
|
|
&& lk != 144482 // 'construction' '}'
|
|
&& lk != 144485 // 'context' '}'
|
|
&& lk != 144486 // 'continue' '}'
|
|
&& lk != 144487 // 'copy' '}'
|
|
&& lk != 144488 // 'copy-namespaces' '}'
|
|
&& lk != 144489 // 'count' '}'
|
|
&& lk != 144490 // 'decimal-format' '}'
|
|
&& lk != 144492 // 'declare' '}'
|
|
&& lk != 144493 // 'default' '}'
|
|
&& lk != 144494 // 'delete' '}'
|
|
&& lk != 144495 // 'descendant' '}'
|
|
&& lk != 144496 // 'descendant-or-self' '}'
|
|
&& lk != 144497 // 'descending' '}'
|
|
&& lk != 144502 // 'div' '}'
|
|
&& lk != 144503 // 'document' '}'
|
|
&& lk != 144504 // 'document-node' '}'
|
|
&& lk != 144505 // 'element' '}'
|
|
&& lk != 144506 // 'else' '}'
|
|
&& lk != 144507 // 'empty' '}'
|
|
&& lk != 144508 // 'empty-sequence' '}'
|
|
&& lk != 144509 // 'encoding' '}'
|
|
&& lk != 144510 // 'end' '}'
|
|
&& lk != 144512 // 'eq' '}'
|
|
&& lk != 144513 // 'every' '}'
|
|
&& lk != 144515 // 'except' '}'
|
|
&& lk != 144516 // 'exit' '}'
|
|
&& lk != 144517 // 'external' '}'
|
|
&& lk != 144518 // 'first' '}'
|
|
&& lk != 144519 // 'following' '}'
|
|
&& lk != 144520 // 'following-sibling' '}'
|
|
&& lk != 144521 // 'for' '}'
|
|
&& lk != 144525 // 'ft-option' '}'
|
|
&& lk != 144529 // 'function' '}'
|
|
&& lk != 144530 // 'ge' '}'
|
|
&& lk != 144532 // 'group' '}'
|
|
&& lk != 144534 // 'gt' '}'
|
|
&& lk != 144535 // 'idiv' '}'
|
|
&& lk != 144536 // 'if' '}'
|
|
&& lk != 144537 // 'import' '}'
|
|
&& lk != 144538 // 'in' '}'
|
|
&& lk != 144539 // 'index' '}'
|
|
&& lk != 144543 // 'insert' '}'
|
|
&& lk != 144544 // 'instance' '}'
|
|
&& lk != 144545 // 'integrity' '}'
|
|
&& lk != 144546 // 'intersect' '}'
|
|
&& lk != 144547 // 'into' '}'
|
|
&& lk != 144548 // 'is' '}'
|
|
&& lk != 144549 // 'item' '}'
|
|
&& lk != 144550 // 'json' '}'
|
|
&& lk != 144551 // 'json-item' '}'
|
|
&& lk != 144554 // 'last' '}'
|
|
&& lk != 144555 // 'lax' '}'
|
|
&& lk != 144556 // 'le' '}'
|
|
&& lk != 144558 // 'let' '}'
|
|
&& lk != 144560 // 'loop' '}'
|
|
&& lk != 144562 // 'lt' '}'
|
|
&& lk != 144564 // 'mod' '}'
|
|
&& lk != 144565 // 'modify' '}'
|
|
&& lk != 144566 // 'module' '}'
|
|
&& lk != 144568 // 'namespace' '}'
|
|
&& lk != 144569 // 'namespace-node' '}'
|
|
&& lk != 144570 // 'ne' '}'
|
|
&& lk != 144575 // 'node' '}'
|
|
&& lk != 144576 // 'nodes' '}'
|
|
&& lk != 144578 // 'object' '}'
|
|
&& lk != 144582 // 'only' '}'
|
|
&& lk != 144583 // 'option' '}'
|
|
&& lk != 144584 // 'or' '}'
|
|
&& lk != 144585 // 'order' '}'
|
|
&& lk != 144586 // 'ordered' '}'
|
|
&& lk != 144587 // 'ordering' '}'
|
|
&& lk != 144590 // 'parent' '}'
|
|
&& lk != 144596 // 'preceding' '}'
|
|
&& lk != 144597 // 'preceding-sibling' '}'
|
|
&& lk != 144600 // 'processing-instruction' '}'
|
|
&& lk != 144602 // 'rename' '}'
|
|
&& lk != 144603 // 'replace' '}'
|
|
&& lk != 144604 // 'return' '}'
|
|
&& lk != 144605 // 'returning' '}'
|
|
&& lk != 144606 // 'revalidation' '}'
|
|
&& lk != 144608 // 'satisfies' '}'
|
|
&& lk != 144609 // 'schema' '}'
|
|
&& lk != 144610 // 'schema-attribute' '}'
|
|
&& lk != 144611 // 'schema-element' '}'
|
|
&& lk != 144612 // 'score' '}'
|
|
&& lk != 144613 // 'self' '}'
|
|
&& lk != 144618 // 'sliding' '}'
|
|
&& lk != 144619 // 'some' '}'
|
|
&& lk != 144620 // 'stable' '}'
|
|
&& lk != 144621 // 'start' '}'
|
|
&& lk != 144624 // 'strict' '}'
|
|
&& lk != 144626 // 'structured-item' '}'
|
|
&& lk != 144627 // 'switch' '}'
|
|
&& lk != 144628 // 'text' '}'
|
|
&& lk != 144632 // 'to' '}'
|
|
&& lk != 144633 // 'treat' '}'
|
|
&& lk != 144634 // 'try' '}'
|
|
&& lk != 144635 // 'tumbling' '}'
|
|
&& lk != 144636 // 'type' '}'
|
|
&& lk != 144637 // 'typeswitch' '}'
|
|
&& lk != 144638 // 'union' '}'
|
|
&& lk != 144640 // 'unordered' '}'
|
|
&& lk != 144641 // 'updating' '}'
|
|
&& lk != 144644 // 'validate' '}'
|
|
&& lk != 144645 // 'value' '}'
|
|
&& lk != 144646 // 'variable' '}'
|
|
&& lk != 144647 // 'version' '}'
|
|
&& lk != 144650 // 'where' '}'
|
|
&& lk != 144651 // 'while' '}'
|
|
&& lk != 144654 // 'with' '}'
|
|
&& lk != 144658) // 'xquery' '}'
|
|
{
|
|
lk = memoized(6, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Statement();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(6, e0, lk);
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 53 // ';'
|
|
&& lk != 16134 // 'variable' '$'
|
|
&& lk != 27141 // Wildcard ';'
|
|
&& lk != 27142 // EQName^Token ';'
|
|
&& lk != 27144 // IntegerLiteral ';'
|
|
&& lk != 27145 // DecimalLiteral ';'
|
|
&& lk != 27146 // DoubleLiteral ';'
|
|
&& lk != 27147 // StringLiteral ';'
|
|
&& lk != 27180 // '.' ';'
|
|
&& lk != 27181 // '..' ';'
|
|
&& lk != 27182 // '/' ';'
|
|
&& lk != 27206 // 'after' ';'
|
|
&& lk != 27208 // 'allowing' ';'
|
|
&& lk != 27209 // 'ancestor' ';'
|
|
&& lk != 27210 // 'ancestor-or-self' ';'
|
|
&& lk != 27211 // 'and' ';'
|
|
&& lk != 27213 // 'append' ';'
|
|
&& lk != 27214 // 'array' ';'
|
|
&& lk != 27215 // 'as' ';'
|
|
&& lk != 27216 // 'ascending' ';'
|
|
&& lk != 27217 // 'at' ';'
|
|
&& lk != 27218 // 'attribute' ';'
|
|
&& lk != 27219 // 'base-uri' ';'
|
|
&& lk != 27220 // 'before' ';'
|
|
&& lk != 27221 // 'boundary-space' ';'
|
|
&& lk != 27222 // 'break' ';'
|
|
&& lk != 27224 // 'case' ';'
|
|
&& lk != 27225 // 'cast' ';'
|
|
&& lk != 27226 // 'castable' ';'
|
|
&& lk != 27227 // 'catch' ';'
|
|
&& lk != 27229 // 'child' ';'
|
|
&& lk != 27230 // 'collation' ';'
|
|
&& lk != 27232 // 'comment' ';'
|
|
&& lk != 27233 // 'constraint' ';'
|
|
&& lk != 27234 // 'construction' ';'
|
|
&& lk != 27237 // 'context' ';'
|
|
&& lk != 27238 // 'continue' ';'
|
|
&& lk != 27239 // 'copy' ';'
|
|
&& lk != 27240 // 'copy-namespaces' ';'
|
|
&& lk != 27241 // 'count' ';'
|
|
&& lk != 27242 // 'decimal-format' ';'
|
|
&& lk != 27244 // 'declare' ';'
|
|
&& lk != 27245 // 'default' ';'
|
|
&& lk != 27246 // 'delete' ';'
|
|
&& lk != 27247 // 'descendant' ';'
|
|
&& lk != 27248 // 'descendant-or-self' ';'
|
|
&& lk != 27249 // 'descending' ';'
|
|
&& lk != 27254 // 'div' ';'
|
|
&& lk != 27255 // 'document' ';'
|
|
&& lk != 27256 // 'document-node' ';'
|
|
&& lk != 27257 // 'element' ';'
|
|
&& lk != 27258 // 'else' ';'
|
|
&& lk != 27259 // 'empty' ';'
|
|
&& lk != 27260 // 'empty-sequence' ';'
|
|
&& lk != 27261 // 'encoding' ';'
|
|
&& lk != 27262 // 'end' ';'
|
|
&& lk != 27264 // 'eq' ';'
|
|
&& lk != 27265 // 'every' ';'
|
|
&& lk != 27267 // 'except' ';'
|
|
&& lk != 27268 // 'exit' ';'
|
|
&& lk != 27269 // 'external' ';'
|
|
&& lk != 27270 // 'first' ';'
|
|
&& lk != 27271 // 'following' ';'
|
|
&& lk != 27272 // 'following-sibling' ';'
|
|
&& lk != 27273 // 'for' ';'
|
|
&& lk != 27277 // 'ft-option' ';'
|
|
&& lk != 27281 // 'function' ';'
|
|
&& lk != 27282 // 'ge' ';'
|
|
&& lk != 27284 // 'group' ';'
|
|
&& lk != 27286 // 'gt' ';'
|
|
&& lk != 27287 // 'idiv' ';'
|
|
&& lk != 27288 // 'if' ';'
|
|
&& lk != 27289 // 'import' ';'
|
|
&& lk != 27290 // 'in' ';'
|
|
&& lk != 27291 // 'index' ';'
|
|
&& lk != 27295 // 'insert' ';'
|
|
&& lk != 27296 // 'instance' ';'
|
|
&& lk != 27297 // 'integrity' ';'
|
|
&& lk != 27298 // 'intersect' ';'
|
|
&& lk != 27299 // 'into' ';'
|
|
&& lk != 27300 // 'is' ';'
|
|
&& lk != 27301 // 'item' ';'
|
|
&& lk != 27302 // 'json' ';'
|
|
&& lk != 27303 // 'json-item' ';'
|
|
&& lk != 27306 // 'last' ';'
|
|
&& lk != 27307 // 'lax' ';'
|
|
&& lk != 27308 // 'le' ';'
|
|
&& lk != 27310 // 'let' ';'
|
|
&& lk != 27312 // 'loop' ';'
|
|
&& lk != 27314 // 'lt' ';'
|
|
&& lk != 27316 // 'mod' ';'
|
|
&& lk != 27317 // 'modify' ';'
|
|
&& lk != 27318 // 'module' ';'
|
|
&& lk != 27320 // 'namespace' ';'
|
|
&& lk != 27321 // 'namespace-node' ';'
|
|
&& lk != 27322 // 'ne' ';'
|
|
&& lk != 27327 // 'node' ';'
|
|
&& lk != 27328 // 'nodes' ';'
|
|
&& lk != 27330 // 'object' ';'
|
|
&& lk != 27334 // 'only' ';'
|
|
&& lk != 27335 // 'option' ';'
|
|
&& lk != 27336 // 'or' ';'
|
|
&& lk != 27337 // 'order' ';'
|
|
&& lk != 27338 // 'ordered' ';'
|
|
&& lk != 27339 // 'ordering' ';'
|
|
&& lk != 27342 // 'parent' ';'
|
|
&& lk != 27348 // 'preceding' ';'
|
|
&& lk != 27349 // 'preceding-sibling' ';'
|
|
&& lk != 27352 // 'processing-instruction' ';'
|
|
&& lk != 27354 // 'rename' ';'
|
|
&& lk != 27355 // 'replace' ';'
|
|
&& lk != 27356 // 'return' ';'
|
|
&& lk != 27357 // 'returning' ';'
|
|
&& lk != 27358 // 'revalidation' ';'
|
|
&& lk != 27360 // 'satisfies' ';'
|
|
&& lk != 27361 // 'schema' ';'
|
|
&& lk != 27362 // 'schema-attribute' ';'
|
|
&& lk != 27363 // 'schema-element' ';'
|
|
&& lk != 27364 // 'score' ';'
|
|
&& lk != 27365 // 'self' ';'
|
|
&& lk != 27370 // 'sliding' ';'
|
|
&& lk != 27371 // 'some' ';'
|
|
&& lk != 27372 // 'stable' ';'
|
|
&& lk != 27373 // 'start' ';'
|
|
&& lk != 27376 // 'strict' ';'
|
|
&& lk != 27378 // 'structured-item' ';'
|
|
&& lk != 27379 // 'switch' ';'
|
|
&& lk != 27380 // 'text' ';'
|
|
&& lk != 27384 // 'to' ';'
|
|
&& lk != 27385 // 'treat' ';'
|
|
&& lk != 27386 // 'try' ';'
|
|
&& lk != 27387 // 'tumbling' ';'
|
|
&& lk != 27388 // 'type' ';'
|
|
&& lk != 27389 // 'typeswitch' ';'
|
|
&& lk != 27390 // 'union' ';'
|
|
&& lk != 27392 // 'unordered' ';'
|
|
&& lk != 27393 // 'updating' ';'
|
|
&& lk != 27396 // 'validate' ';'
|
|
&& lk != 27397 // 'value' ';'
|
|
&& lk != 27398 // 'variable' ';'
|
|
&& lk != 27399 // 'version' ';'
|
|
&& lk != 27402 // 'where' ';'
|
|
&& lk != 27403 // 'while' ';'
|
|
&& lk != 27406 // 'with' ';'
|
|
&& lk != 27410 // 'xquery' ';'
|
|
&& lk != 90198 // 'break' 'loop'
|
|
&& lk != 90214 // 'continue' 'loop'
|
|
&& lk != 113284) // 'exit' 'returning'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Statement();
|
|
}
|
|
eventHandler.endNonterminal("Statements", e0);
|
|
}
|
|
|
|
function try_Statements()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 34: // '('
|
|
lookahead2W(268); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 35: // '(#'
|
|
lookahead2(251); // EQName^Token | S | 'after' | 'allowing' | 'ancestor' | 'ancestor-or-self' |
|
|
break;
|
|
case 46: // '/'
|
|
lookahead2W(283); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 47: // '//'
|
|
lookahead2W(264); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 54: // '<'
|
|
lookahead2(4); // QName
|
|
break;
|
|
case 55: // '<!--'
|
|
lookahead2(1); // DirCommentContents
|
|
break;
|
|
case 59: // '<?'
|
|
lookahead2(3); // PITarget
|
|
break;
|
|
case 66: // '@'
|
|
lookahead2W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 68: // '['
|
|
lookahead2W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 77: // 'append'
|
|
lookahead2W(199); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 82: // 'attribute'
|
|
lookahead2W(280); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
|
|
break;
|
|
case 121: // 'element'
|
|
lookahead2W(279); // EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
|
|
break;
|
|
case 132: // 'exit'
|
|
lookahead2W(202); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 137: // 'for'
|
|
lookahead2W(207); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 174: // 'let'
|
|
lookahead2W(204); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 218: // 'rename'
|
|
lookahead2W(205); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 219: // 'replace'
|
|
lookahead2W(206); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 260: // 'validate'
|
|
lookahead2W(209); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 278: // '{|'
|
|
lookahead2W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 5: // Wildcard
|
|
case 45: // '..'
|
|
lookahead2W(185); // S^WS | EOF | '!' | '!=' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 31: // '$'
|
|
case 32: // '%'
|
|
lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 40: // '+'
|
|
case 42: // '-'
|
|
lookahead2W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 86: // 'break'
|
|
case 102: // 'continue'
|
|
lookahead2W(200); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 110: // 'delete'
|
|
case 159: // 'insert'
|
|
lookahead2W(208); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 184: // 'namespace'
|
|
case 216: // 'processing-instruction'
|
|
lookahead2W(267); // NCName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' |
|
|
break;
|
|
case 103: // 'copy'
|
|
case 129: // 'every'
|
|
case 235: // 'some'
|
|
case 262: // 'variable'
|
|
lookahead2W(196); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
case 44: // '.'
|
|
lookahead2W(191); // S^WS | EOF | '!' | '!=' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 78: // 'array'
|
|
case 124: // 'empty-sequence'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 242: // 'structured-item'
|
|
lookahead2W(190); // S^WS | EOF | '!' | '!=' | '#' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 96: // 'comment'
|
|
case 119: // 'document'
|
|
case 202: // 'ordered'
|
|
case 244: // 'text'
|
|
case 250: // 'try'
|
|
case 256: // 'unordered'
|
|
lookahead2W(203); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 93: // 'child'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
case 229: // 'self'
|
|
lookahead2W(197); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 70: // 'after'
|
|
case 72: // 'allowing'
|
|
case 75: // 'and'
|
|
case 79: // 'as'
|
|
case 80: // 'ascending'
|
|
case 81: // 'at'
|
|
case 83: // 'base-uri'
|
|
case 84: // 'before'
|
|
case 85: // 'boundary-space'
|
|
case 88: // 'case'
|
|
case 89: // 'cast'
|
|
case 90: // 'castable'
|
|
case 91: // 'catch'
|
|
case 94: // 'collation'
|
|
case 97: // 'constraint'
|
|
case 98: // 'construction'
|
|
case 101: // 'context'
|
|
case 104: // 'copy-namespaces'
|
|
case 105: // 'count'
|
|
case 106: // 'decimal-format'
|
|
case 108: // 'declare'
|
|
case 109: // 'default'
|
|
case 113: // 'descending'
|
|
case 118: // 'div'
|
|
case 120: // 'document-node'
|
|
case 122: // 'else'
|
|
case 123: // 'empty'
|
|
case 125: // 'encoding'
|
|
case 126: // 'end'
|
|
case 128: // 'eq'
|
|
case 131: // 'except'
|
|
case 133: // 'external'
|
|
case 134: // 'first'
|
|
case 141: // 'ft-option'
|
|
case 145: // 'function'
|
|
case 146: // 'ge'
|
|
case 148: // 'group'
|
|
case 150: // 'gt'
|
|
case 151: // 'idiv'
|
|
case 152: // 'if'
|
|
case 153: // 'import'
|
|
case 154: // 'in'
|
|
case 155: // 'index'
|
|
case 160: // 'instance'
|
|
case 161: // 'integrity'
|
|
case 162: // 'intersect'
|
|
case 163: // 'into'
|
|
case 164: // 'is'
|
|
case 166: // 'json'
|
|
case 170: // 'last'
|
|
case 171: // 'lax'
|
|
case 172: // 'le'
|
|
case 176: // 'loop'
|
|
case 178: // 'lt'
|
|
case 180: // 'mod'
|
|
case 181: // 'modify'
|
|
case 182: // 'module'
|
|
case 185: // 'namespace-node'
|
|
case 186: // 'ne'
|
|
case 191: // 'node'
|
|
case 192: // 'nodes'
|
|
case 194: // 'object'
|
|
case 198: // 'only'
|
|
case 199: // 'option'
|
|
case 200: // 'or'
|
|
case 201: // 'order'
|
|
case 203: // 'ordering'
|
|
case 220: // 'return'
|
|
case 221: // 'returning'
|
|
case 222: // 'revalidation'
|
|
case 224: // 'satisfies'
|
|
case 225: // 'schema'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 228: // 'score'
|
|
case 234: // 'sliding'
|
|
case 236: // 'stable'
|
|
case 237: // 'start'
|
|
case 240: // 'strict'
|
|
case 243: // 'switch'
|
|
case 248: // 'to'
|
|
case 249: // 'treat'
|
|
case 251: // 'tumbling'
|
|
case 252: // 'type'
|
|
case 253: // 'typeswitch'
|
|
case 254: // 'union'
|
|
case 257: // 'updating'
|
|
case 261: // 'value'
|
|
case 263: // 'version'
|
|
case 266: // 'where'
|
|
case 267: // 'while'
|
|
case 270: // 'with'
|
|
case 274: // 'xquery'
|
|
lookahead2W(194); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | ',' | '-' | '/' | '//' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk != 25 // EOF
|
|
&& lk != 53 // ';'
|
|
&& lk != 282 // '}'
|
|
&& lk != 12805 // Wildcard EOF
|
|
&& lk != 12806 // EQName^Token EOF
|
|
&& lk != 12808 // IntegerLiteral EOF
|
|
&& lk != 12809 // DecimalLiteral EOF
|
|
&& lk != 12810 // DoubleLiteral EOF
|
|
&& lk != 12811 // StringLiteral EOF
|
|
&& lk != 12844 // '.' EOF
|
|
&& lk != 12845 // '..' EOF
|
|
&& lk != 12846 // '/' EOF
|
|
&& lk != 12870 // 'after' EOF
|
|
&& lk != 12872 // 'allowing' EOF
|
|
&& lk != 12873 // 'ancestor' EOF
|
|
&& lk != 12874 // 'ancestor-or-self' EOF
|
|
&& lk != 12875 // 'and' EOF
|
|
&& lk != 12877 // 'append' EOF
|
|
&& lk != 12878 // 'array' EOF
|
|
&& lk != 12879 // 'as' EOF
|
|
&& lk != 12880 // 'ascending' EOF
|
|
&& lk != 12881 // 'at' EOF
|
|
&& lk != 12882 // 'attribute' EOF
|
|
&& lk != 12883 // 'base-uri' EOF
|
|
&& lk != 12884 // 'before' EOF
|
|
&& lk != 12885 // 'boundary-space' EOF
|
|
&& lk != 12886 // 'break' EOF
|
|
&& lk != 12888 // 'case' EOF
|
|
&& lk != 12889 // 'cast' EOF
|
|
&& lk != 12890 // 'castable' EOF
|
|
&& lk != 12891 // 'catch' EOF
|
|
&& lk != 12893 // 'child' EOF
|
|
&& lk != 12894 // 'collation' EOF
|
|
&& lk != 12896 // 'comment' EOF
|
|
&& lk != 12897 // 'constraint' EOF
|
|
&& lk != 12898 // 'construction' EOF
|
|
&& lk != 12901 // 'context' EOF
|
|
&& lk != 12902 // 'continue' EOF
|
|
&& lk != 12903 // 'copy' EOF
|
|
&& lk != 12904 // 'copy-namespaces' EOF
|
|
&& lk != 12905 // 'count' EOF
|
|
&& lk != 12906 // 'decimal-format' EOF
|
|
&& lk != 12908 // 'declare' EOF
|
|
&& lk != 12909 // 'default' EOF
|
|
&& lk != 12910 // 'delete' EOF
|
|
&& lk != 12911 // 'descendant' EOF
|
|
&& lk != 12912 // 'descendant-or-self' EOF
|
|
&& lk != 12913 // 'descending' EOF
|
|
&& lk != 12918 // 'div' EOF
|
|
&& lk != 12919 // 'document' EOF
|
|
&& lk != 12920 // 'document-node' EOF
|
|
&& lk != 12921 // 'element' EOF
|
|
&& lk != 12922 // 'else' EOF
|
|
&& lk != 12923 // 'empty' EOF
|
|
&& lk != 12924 // 'empty-sequence' EOF
|
|
&& lk != 12925 // 'encoding' EOF
|
|
&& lk != 12926 // 'end' EOF
|
|
&& lk != 12928 // 'eq' EOF
|
|
&& lk != 12929 // 'every' EOF
|
|
&& lk != 12931 // 'except' EOF
|
|
&& lk != 12932 // 'exit' EOF
|
|
&& lk != 12933 // 'external' EOF
|
|
&& lk != 12934 // 'first' EOF
|
|
&& lk != 12935 // 'following' EOF
|
|
&& lk != 12936 // 'following-sibling' EOF
|
|
&& lk != 12937 // 'for' EOF
|
|
&& lk != 12941 // 'ft-option' EOF
|
|
&& lk != 12945 // 'function' EOF
|
|
&& lk != 12946 // 'ge' EOF
|
|
&& lk != 12948 // 'group' EOF
|
|
&& lk != 12950 // 'gt' EOF
|
|
&& lk != 12951 // 'idiv' EOF
|
|
&& lk != 12952 // 'if' EOF
|
|
&& lk != 12953 // 'import' EOF
|
|
&& lk != 12954 // 'in' EOF
|
|
&& lk != 12955 // 'index' EOF
|
|
&& lk != 12959 // 'insert' EOF
|
|
&& lk != 12960 // 'instance' EOF
|
|
&& lk != 12961 // 'integrity' EOF
|
|
&& lk != 12962 // 'intersect' EOF
|
|
&& lk != 12963 // 'into' EOF
|
|
&& lk != 12964 // 'is' EOF
|
|
&& lk != 12965 // 'item' EOF
|
|
&& lk != 12966 // 'json' EOF
|
|
&& lk != 12967 // 'json-item' EOF
|
|
&& lk != 12970 // 'last' EOF
|
|
&& lk != 12971 // 'lax' EOF
|
|
&& lk != 12972 // 'le' EOF
|
|
&& lk != 12974 // 'let' EOF
|
|
&& lk != 12976 // 'loop' EOF
|
|
&& lk != 12978 // 'lt' EOF
|
|
&& lk != 12980 // 'mod' EOF
|
|
&& lk != 12981 // 'modify' EOF
|
|
&& lk != 12982 // 'module' EOF
|
|
&& lk != 12984 // 'namespace' EOF
|
|
&& lk != 12985 // 'namespace-node' EOF
|
|
&& lk != 12986 // 'ne' EOF
|
|
&& lk != 12991 // 'node' EOF
|
|
&& lk != 12992 // 'nodes' EOF
|
|
&& lk != 12994 // 'object' EOF
|
|
&& lk != 12998 // 'only' EOF
|
|
&& lk != 12999 // 'option' EOF
|
|
&& lk != 13000 // 'or' EOF
|
|
&& lk != 13001 // 'order' EOF
|
|
&& lk != 13002 // 'ordered' EOF
|
|
&& lk != 13003 // 'ordering' EOF
|
|
&& lk != 13006 // 'parent' EOF
|
|
&& lk != 13012 // 'preceding' EOF
|
|
&& lk != 13013 // 'preceding-sibling' EOF
|
|
&& lk != 13016 // 'processing-instruction' EOF
|
|
&& lk != 13018 // 'rename' EOF
|
|
&& lk != 13019 // 'replace' EOF
|
|
&& lk != 13020 // 'return' EOF
|
|
&& lk != 13021 // 'returning' EOF
|
|
&& lk != 13022 // 'revalidation' EOF
|
|
&& lk != 13024 // 'satisfies' EOF
|
|
&& lk != 13025 // 'schema' EOF
|
|
&& lk != 13026 // 'schema-attribute' EOF
|
|
&& lk != 13027 // 'schema-element' EOF
|
|
&& lk != 13028 // 'score' EOF
|
|
&& lk != 13029 // 'self' EOF
|
|
&& lk != 13034 // 'sliding' EOF
|
|
&& lk != 13035 // 'some' EOF
|
|
&& lk != 13036 // 'stable' EOF
|
|
&& lk != 13037 // 'start' EOF
|
|
&& lk != 13040 // 'strict' EOF
|
|
&& lk != 13042 // 'structured-item' EOF
|
|
&& lk != 13043 // 'switch' EOF
|
|
&& lk != 13044 // 'text' EOF
|
|
&& lk != 13048 // 'to' EOF
|
|
&& lk != 13049 // 'treat' EOF
|
|
&& lk != 13050 // 'try' EOF
|
|
&& lk != 13051 // 'tumbling' EOF
|
|
&& lk != 13052 // 'type' EOF
|
|
&& lk != 13053 // 'typeswitch' EOF
|
|
&& lk != 13054 // 'union' EOF
|
|
&& lk != 13056 // 'unordered' EOF
|
|
&& lk != 13057 // 'updating' EOF
|
|
&& lk != 13060 // 'validate' EOF
|
|
&& lk != 13061 // 'value' EOF
|
|
&& lk != 13062 // 'variable' EOF
|
|
&& lk != 13063 // 'version' EOF
|
|
&& lk != 13066 // 'where' EOF
|
|
&& lk != 13067 // 'while' EOF
|
|
&& lk != 13070 // 'with' EOF
|
|
&& lk != 13074 // 'xquery' EOF
|
|
&& lk != 16134 // 'variable' '$'
|
|
&& lk != 20997 // Wildcard ','
|
|
&& lk != 20998 // EQName^Token ','
|
|
&& lk != 21000 // IntegerLiteral ','
|
|
&& lk != 21001 // DecimalLiteral ','
|
|
&& lk != 21002 // DoubleLiteral ','
|
|
&& lk != 21003 // StringLiteral ','
|
|
&& lk != 21036 // '.' ','
|
|
&& lk != 21037 // '..' ','
|
|
&& lk != 21038 // '/' ','
|
|
&& lk != 21062 // 'after' ','
|
|
&& lk != 21064 // 'allowing' ','
|
|
&& lk != 21065 // 'ancestor' ','
|
|
&& lk != 21066 // 'ancestor-or-self' ','
|
|
&& lk != 21067 // 'and' ','
|
|
&& lk != 21069 // 'append' ','
|
|
&& lk != 21070 // 'array' ','
|
|
&& lk != 21071 // 'as' ','
|
|
&& lk != 21072 // 'ascending' ','
|
|
&& lk != 21073 // 'at' ','
|
|
&& lk != 21074 // 'attribute' ','
|
|
&& lk != 21075 // 'base-uri' ','
|
|
&& lk != 21076 // 'before' ','
|
|
&& lk != 21077 // 'boundary-space' ','
|
|
&& lk != 21078 // 'break' ','
|
|
&& lk != 21080 // 'case' ','
|
|
&& lk != 21081 // 'cast' ','
|
|
&& lk != 21082 // 'castable' ','
|
|
&& lk != 21083 // 'catch' ','
|
|
&& lk != 21085 // 'child' ','
|
|
&& lk != 21086 // 'collation' ','
|
|
&& lk != 21088 // 'comment' ','
|
|
&& lk != 21089 // 'constraint' ','
|
|
&& lk != 21090 // 'construction' ','
|
|
&& lk != 21093 // 'context' ','
|
|
&& lk != 21094 // 'continue' ','
|
|
&& lk != 21095 // 'copy' ','
|
|
&& lk != 21096 // 'copy-namespaces' ','
|
|
&& lk != 21097 // 'count' ','
|
|
&& lk != 21098 // 'decimal-format' ','
|
|
&& lk != 21100 // 'declare' ','
|
|
&& lk != 21101 // 'default' ','
|
|
&& lk != 21102 // 'delete' ','
|
|
&& lk != 21103 // 'descendant' ','
|
|
&& lk != 21104 // 'descendant-or-self' ','
|
|
&& lk != 21105 // 'descending' ','
|
|
&& lk != 21110 // 'div' ','
|
|
&& lk != 21111 // 'document' ','
|
|
&& lk != 21112 // 'document-node' ','
|
|
&& lk != 21113 // 'element' ','
|
|
&& lk != 21114 // 'else' ','
|
|
&& lk != 21115 // 'empty' ','
|
|
&& lk != 21116 // 'empty-sequence' ','
|
|
&& lk != 21117 // 'encoding' ','
|
|
&& lk != 21118 // 'end' ','
|
|
&& lk != 21120 // 'eq' ','
|
|
&& lk != 21121 // 'every' ','
|
|
&& lk != 21123 // 'except' ','
|
|
&& lk != 21124 // 'exit' ','
|
|
&& lk != 21125 // 'external' ','
|
|
&& lk != 21126 // 'first' ','
|
|
&& lk != 21127 // 'following' ','
|
|
&& lk != 21128 // 'following-sibling' ','
|
|
&& lk != 21129 // 'for' ','
|
|
&& lk != 21133 // 'ft-option' ','
|
|
&& lk != 21137 // 'function' ','
|
|
&& lk != 21138 // 'ge' ','
|
|
&& lk != 21140 // 'group' ','
|
|
&& lk != 21142 // 'gt' ','
|
|
&& lk != 21143 // 'idiv' ','
|
|
&& lk != 21144 // 'if' ','
|
|
&& lk != 21145 // 'import' ','
|
|
&& lk != 21146 // 'in' ','
|
|
&& lk != 21147 // 'index' ','
|
|
&& lk != 21151 // 'insert' ','
|
|
&& lk != 21152 // 'instance' ','
|
|
&& lk != 21153 // 'integrity' ','
|
|
&& lk != 21154 // 'intersect' ','
|
|
&& lk != 21155 // 'into' ','
|
|
&& lk != 21156 // 'is' ','
|
|
&& lk != 21157 // 'item' ','
|
|
&& lk != 21158 // 'json' ','
|
|
&& lk != 21159 // 'json-item' ','
|
|
&& lk != 21162 // 'last' ','
|
|
&& lk != 21163 // 'lax' ','
|
|
&& lk != 21164 // 'le' ','
|
|
&& lk != 21166 // 'let' ','
|
|
&& lk != 21168 // 'loop' ','
|
|
&& lk != 21170 // 'lt' ','
|
|
&& lk != 21172 // 'mod' ','
|
|
&& lk != 21173 // 'modify' ','
|
|
&& lk != 21174 // 'module' ','
|
|
&& lk != 21176 // 'namespace' ','
|
|
&& lk != 21177 // 'namespace-node' ','
|
|
&& lk != 21178 // 'ne' ','
|
|
&& lk != 21183 // 'node' ','
|
|
&& lk != 21184 // 'nodes' ','
|
|
&& lk != 21186 // 'object' ','
|
|
&& lk != 21190 // 'only' ','
|
|
&& lk != 21191 // 'option' ','
|
|
&& lk != 21192 // 'or' ','
|
|
&& lk != 21193 // 'order' ','
|
|
&& lk != 21194 // 'ordered' ','
|
|
&& lk != 21195 // 'ordering' ','
|
|
&& lk != 21198 // 'parent' ','
|
|
&& lk != 21204 // 'preceding' ','
|
|
&& lk != 21205 // 'preceding-sibling' ','
|
|
&& lk != 21208 // 'processing-instruction' ','
|
|
&& lk != 21210 // 'rename' ','
|
|
&& lk != 21211 // 'replace' ','
|
|
&& lk != 21212 // 'return' ','
|
|
&& lk != 21213 // 'returning' ','
|
|
&& lk != 21214 // 'revalidation' ','
|
|
&& lk != 21216 // 'satisfies' ','
|
|
&& lk != 21217 // 'schema' ','
|
|
&& lk != 21218 // 'schema-attribute' ','
|
|
&& lk != 21219 // 'schema-element' ','
|
|
&& lk != 21220 // 'score' ','
|
|
&& lk != 21221 // 'self' ','
|
|
&& lk != 21226 // 'sliding' ','
|
|
&& lk != 21227 // 'some' ','
|
|
&& lk != 21228 // 'stable' ','
|
|
&& lk != 21229 // 'start' ','
|
|
&& lk != 21232 // 'strict' ','
|
|
&& lk != 21234 // 'structured-item' ','
|
|
&& lk != 21235 // 'switch' ','
|
|
&& lk != 21236 // 'text' ','
|
|
&& lk != 21240 // 'to' ','
|
|
&& lk != 21241 // 'treat' ','
|
|
&& lk != 21242 // 'try' ','
|
|
&& lk != 21243 // 'tumbling' ','
|
|
&& lk != 21244 // 'type' ','
|
|
&& lk != 21245 // 'typeswitch' ','
|
|
&& lk != 21246 // 'union' ','
|
|
&& lk != 21248 // 'unordered' ','
|
|
&& lk != 21249 // 'updating' ','
|
|
&& lk != 21252 // 'validate' ','
|
|
&& lk != 21253 // 'value' ','
|
|
&& lk != 21254 // 'variable' ','
|
|
&& lk != 21255 // 'version' ','
|
|
&& lk != 21258 // 'where' ','
|
|
&& lk != 21259 // 'while' ','
|
|
&& lk != 21262 // 'with' ','
|
|
&& lk != 21266 // 'xquery' ','
|
|
&& lk != 27141 // Wildcard ';'
|
|
&& lk != 27142 // EQName^Token ';'
|
|
&& lk != 27144 // IntegerLiteral ';'
|
|
&& lk != 27145 // DecimalLiteral ';'
|
|
&& lk != 27146 // DoubleLiteral ';'
|
|
&& lk != 27147 // StringLiteral ';'
|
|
&& lk != 27180 // '.' ';'
|
|
&& lk != 27181 // '..' ';'
|
|
&& lk != 27182 // '/' ';'
|
|
&& lk != 27206 // 'after' ';'
|
|
&& lk != 27208 // 'allowing' ';'
|
|
&& lk != 27209 // 'ancestor' ';'
|
|
&& lk != 27210 // 'ancestor-or-self' ';'
|
|
&& lk != 27211 // 'and' ';'
|
|
&& lk != 27213 // 'append' ';'
|
|
&& lk != 27214 // 'array' ';'
|
|
&& lk != 27215 // 'as' ';'
|
|
&& lk != 27216 // 'ascending' ';'
|
|
&& lk != 27217 // 'at' ';'
|
|
&& lk != 27218 // 'attribute' ';'
|
|
&& lk != 27219 // 'base-uri' ';'
|
|
&& lk != 27220 // 'before' ';'
|
|
&& lk != 27221 // 'boundary-space' ';'
|
|
&& lk != 27222 // 'break' ';'
|
|
&& lk != 27224 // 'case' ';'
|
|
&& lk != 27225 // 'cast' ';'
|
|
&& lk != 27226 // 'castable' ';'
|
|
&& lk != 27227 // 'catch' ';'
|
|
&& lk != 27229 // 'child' ';'
|
|
&& lk != 27230 // 'collation' ';'
|
|
&& lk != 27232 // 'comment' ';'
|
|
&& lk != 27233 // 'constraint' ';'
|
|
&& lk != 27234 // 'construction' ';'
|
|
&& lk != 27237 // 'context' ';'
|
|
&& lk != 27238 // 'continue' ';'
|
|
&& lk != 27239 // 'copy' ';'
|
|
&& lk != 27240 // 'copy-namespaces' ';'
|
|
&& lk != 27241 // 'count' ';'
|
|
&& lk != 27242 // 'decimal-format' ';'
|
|
&& lk != 27244 // 'declare' ';'
|
|
&& lk != 27245 // 'default' ';'
|
|
&& lk != 27246 // 'delete' ';'
|
|
&& lk != 27247 // 'descendant' ';'
|
|
&& lk != 27248 // 'descendant-or-self' ';'
|
|
&& lk != 27249 // 'descending' ';'
|
|
&& lk != 27254 // 'div' ';'
|
|
&& lk != 27255 // 'document' ';'
|
|
&& lk != 27256 // 'document-node' ';'
|
|
&& lk != 27257 // 'element' ';'
|
|
&& lk != 27258 // 'else' ';'
|
|
&& lk != 27259 // 'empty' ';'
|
|
&& lk != 27260 // 'empty-sequence' ';'
|
|
&& lk != 27261 // 'encoding' ';'
|
|
&& lk != 27262 // 'end' ';'
|
|
&& lk != 27264 // 'eq' ';'
|
|
&& lk != 27265 // 'every' ';'
|
|
&& lk != 27267 // 'except' ';'
|
|
&& lk != 27268 // 'exit' ';'
|
|
&& lk != 27269 // 'external' ';'
|
|
&& lk != 27270 // 'first' ';'
|
|
&& lk != 27271 // 'following' ';'
|
|
&& lk != 27272 // 'following-sibling' ';'
|
|
&& lk != 27273 // 'for' ';'
|
|
&& lk != 27277 // 'ft-option' ';'
|
|
&& lk != 27281 // 'function' ';'
|
|
&& lk != 27282 // 'ge' ';'
|
|
&& lk != 27284 // 'group' ';'
|
|
&& lk != 27286 // 'gt' ';'
|
|
&& lk != 27287 // 'idiv' ';'
|
|
&& lk != 27288 // 'if' ';'
|
|
&& lk != 27289 // 'import' ';'
|
|
&& lk != 27290 // 'in' ';'
|
|
&& lk != 27291 // 'index' ';'
|
|
&& lk != 27295 // 'insert' ';'
|
|
&& lk != 27296 // 'instance' ';'
|
|
&& lk != 27297 // 'integrity' ';'
|
|
&& lk != 27298 // 'intersect' ';'
|
|
&& lk != 27299 // 'into' ';'
|
|
&& lk != 27300 // 'is' ';'
|
|
&& lk != 27301 // 'item' ';'
|
|
&& lk != 27302 // 'json' ';'
|
|
&& lk != 27303 // 'json-item' ';'
|
|
&& lk != 27306 // 'last' ';'
|
|
&& lk != 27307 // 'lax' ';'
|
|
&& lk != 27308 // 'le' ';'
|
|
&& lk != 27310 // 'let' ';'
|
|
&& lk != 27312 // 'loop' ';'
|
|
&& lk != 27314 // 'lt' ';'
|
|
&& lk != 27316 // 'mod' ';'
|
|
&& lk != 27317 // 'modify' ';'
|
|
&& lk != 27318 // 'module' ';'
|
|
&& lk != 27320 // 'namespace' ';'
|
|
&& lk != 27321 // 'namespace-node' ';'
|
|
&& lk != 27322 // 'ne' ';'
|
|
&& lk != 27327 // 'node' ';'
|
|
&& lk != 27328 // 'nodes' ';'
|
|
&& lk != 27330 // 'object' ';'
|
|
&& lk != 27334 // 'only' ';'
|
|
&& lk != 27335 // 'option' ';'
|
|
&& lk != 27336 // 'or' ';'
|
|
&& lk != 27337 // 'order' ';'
|
|
&& lk != 27338 // 'ordered' ';'
|
|
&& lk != 27339 // 'ordering' ';'
|
|
&& lk != 27342 // 'parent' ';'
|
|
&& lk != 27348 // 'preceding' ';'
|
|
&& lk != 27349 // 'preceding-sibling' ';'
|
|
&& lk != 27352 // 'processing-instruction' ';'
|
|
&& lk != 27354 // 'rename' ';'
|
|
&& lk != 27355 // 'replace' ';'
|
|
&& lk != 27356 // 'return' ';'
|
|
&& lk != 27357 // 'returning' ';'
|
|
&& lk != 27358 // 'revalidation' ';'
|
|
&& lk != 27360 // 'satisfies' ';'
|
|
&& lk != 27361 // 'schema' ';'
|
|
&& lk != 27362 // 'schema-attribute' ';'
|
|
&& lk != 27363 // 'schema-element' ';'
|
|
&& lk != 27364 // 'score' ';'
|
|
&& lk != 27365 // 'self' ';'
|
|
&& lk != 27370 // 'sliding' ';'
|
|
&& lk != 27371 // 'some' ';'
|
|
&& lk != 27372 // 'stable' ';'
|
|
&& lk != 27373 // 'start' ';'
|
|
&& lk != 27376 // 'strict' ';'
|
|
&& lk != 27378 // 'structured-item' ';'
|
|
&& lk != 27379 // 'switch' ';'
|
|
&& lk != 27380 // 'text' ';'
|
|
&& lk != 27384 // 'to' ';'
|
|
&& lk != 27385 // 'treat' ';'
|
|
&& lk != 27386 // 'try' ';'
|
|
&& lk != 27387 // 'tumbling' ';'
|
|
&& lk != 27388 // 'type' ';'
|
|
&& lk != 27389 // 'typeswitch' ';'
|
|
&& lk != 27390 // 'union' ';'
|
|
&& lk != 27392 // 'unordered' ';'
|
|
&& lk != 27393 // 'updating' ';'
|
|
&& lk != 27396 // 'validate' ';'
|
|
&& lk != 27397 // 'value' ';'
|
|
&& lk != 27398 // 'variable' ';'
|
|
&& lk != 27399 // 'version' ';'
|
|
&& lk != 27402 // 'where' ';'
|
|
&& lk != 27403 // 'while' ';'
|
|
&& lk != 27406 // 'with' ';'
|
|
&& lk != 27410 // 'xquery' ';'
|
|
&& lk != 90198 // 'break' 'loop'
|
|
&& lk != 90214 // 'continue' 'loop'
|
|
&& lk != 113284 // 'exit' 'returning'
|
|
&& lk != 144389 // Wildcard '}'
|
|
&& lk != 144390 // EQName^Token '}'
|
|
&& lk != 144392 // IntegerLiteral '}'
|
|
&& lk != 144393 // DecimalLiteral '}'
|
|
&& lk != 144394 // DoubleLiteral '}'
|
|
&& lk != 144395 // StringLiteral '}'
|
|
&& lk != 144428 // '.' '}'
|
|
&& lk != 144429 // '..' '}'
|
|
&& lk != 144430 // '/' '}'
|
|
&& lk != 144454 // 'after' '}'
|
|
&& lk != 144456 // 'allowing' '}'
|
|
&& lk != 144457 // 'ancestor' '}'
|
|
&& lk != 144458 // 'ancestor-or-self' '}'
|
|
&& lk != 144459 // 'and' '}'
|
|
&& lk != 144461 // 'append' '}'
|
|
&& lk != 144462 // 'array' '}'
|
|
&& lk != 144463 // 'as' '}'
|
|
&& lk != 144464 // 'ascending' '}'
|
|
&& lk != 144465 // 'at' '}'
|
|
&& lk != 144466 // 'attribute' '}'
|
|
&& lk != 144467 // 'base-uri' '}'
|
|
&& lk != 144468 // 'before' '}'
|
|
&& lk != 144469 // 'boundary-space' '}'
|
|
&& lk != 144470 // 'break' '}'
|
|
&& lk != 144472 // 'case' '}'
|
|
&& lk != 144473 // 'cast' '}'
|
|
&& lk != 144474 // 'castable' '}'
|
|
&& lk != 144475 // 'catch' '}'
|
|
&& lk != 144477 // 'child' '}'
|
|
&& lk != 144478 // 'collation' '}'
|
|
&& lk != 144480 // 'comment' '}'
|
|
&& lk != 144481 // 'constraint' '}'
|
|
&& lk != 144482 // 'construction' '}'
|
|
&& lk != 144485 // 'context' '}'
|
|
&& lk != 144486 // 'continue' '}'
|
|
&& lk != 144487 // 'copy' '}'
|
|
&& lk != 144488 // 'copy-namespaces' '}'
|
|
&& lk != 144489 // 'count' '}'
|
|
&& lk != 144490 // 'decimal-format' '}'
|
|
&& lk != 144492 // 'declare' '}'
|
|
&& lk != 144493 // 'default' '}'
|
|
&& lk != 144494 // 'delete' '}'
|
|
&& lk != 144495 // 'descendant' '}'
|
|
&& lk != 144496 // 'descendant-or-self' '}'
|
|
&& lk != 144497 // 'descending' '}'
|
|
&& lk != 144502 // 'div' '}'
|
|
&& lk != 144503 // 'document' '}'
|
|
&& lk != 144504 // 'document-node' '}'
|
|
&& lk != 144505 // 'element' '}'
|
|
&& lk != 144506 // 'else' '}'
|
|
&& lk != 144507 // 'empty' '}'
|
|
&& lk != 144508 // 'empty-sequence' '}'
|
|
&& lk != 144509 // 'encoding' '}'
|
|
&& lk != 144510 // 'end' '}'
|
|
&& lk != 144512 // 'eq' '}'
|
|
&& lk != 144513 // 'every' '}'
|
|
&& lk != 144515 // 'except' '}'
|
|
&& lk != 144516 // 'exit' '}'
|
|
&& lk != 144517 // 'external' '}'
|
|
&& lk != 144518 // 'first' '}'
|
|
&& lk != 144519 // 'following' '}'
|
|
&& lk != 144520 // 'following-sibling' '}'
|
|
&& lk != 144521 // 'for' '}'
|
|
&& lk != 144525 // 'ft-option' '}'
|
|
&& lk != 144529 // 'function' '}'
|
|
&& lk != 144530 // 'ge' '}'
|
|
&& lk != 144532 // 'group' '}'
|
|
&& lk != 144534 // 'gt' '}'
|
|
&& lk != 144535 // 'idiv' '}'
|
|
&& lk != 144536 // 'if' '}'
|
|
&& lk != 144537 // 'import' '}'
|
|
&& lk != 144538 // 'in' '}'
|
|
&& lk != 144539 // 'index' '}'
|
|
&& lk != 144543 // 'insert' '}'
|
|
&& lk != 144544 // 'instance' '}'
|
|
&& lk != 144545 // 'integrity' '}'
|
|
&& lk != 144546 // 'intersect' '}'
|
|
&& lk != 144547 // 'into' '}'
|
|
&& lk != 144548 // 'is' '}'
|
|
&& lk != 144549 // 'item' '}'
|
|
&& lk != 144550 // 'json' '}'
|
|
&& lk != 144551 // 'json-item' '}'
|
|
&& lk != 144554 // 'last' '}'
|
|
&& lk != 144555 // 'lax' '}'
|
|
&& lk != 144556 // 'le' '}'
|
|
&& lk != 144558 // 'let' '}'
|
|
&& lk != 144560 // 'loop' '}'
|
|
&& lk != 144562 // 'lt' '}'
|
|
&& lk != 144564 // 'mod' '}'
|
|
&& lk != 144565 // 'modify' '}'
|
|
&& lk != 144566 // 'module' '}'
|
|
&& lk != 144568 // 'namespace' '}'
|
|
&& lk != 144569 // 'namespace-node' '}'
|
|
&& lk != 144570 // 'ne' '}'
|
|
&& lk != 144575 // 'node' '}'
|
|
&& lk != 144576 // 'nodes' '}'
|
|
&& lk != 144578 // 'object' '}'
|
|
&& lk != 144582 // 'only' '}'
|
|
&& lk != 144583 // 'option' '}'
|
|
&& lk != 144584 // 'or' '}'
|
|
&& lk != 144585 // 'order' '}'
|
|
&& lk != 144586 // 'ordered' '}'
|
|
&& lk != 144587 // 'ordering' '}'
|
|
&& lk != 144590 // 'parent' '}'
|
|
&& lk != 144596 // 'preceding' '}'
|
|
&& lk != 144597 // 'preceding-sibling' '}'
|
|
&& lk != 144600 // 'processing-instruction' '}'
|
|
&& lk != 144602 // 'rename' '}'
|
|
&& lk != 144603 // 'replace' '}'
|
|
&& lk != 144604 // 'return' '}'
|
|
&& lk != 144605 // 'returning' '}'
|
|
&& lk != 144606 // 'revalidation' '}'
|
|
&& lk != 144608 // 'satisfies' '}'
|
|
&& lk != 144609 // 'schema' '}'
|
|
&& lk != 144610 // 'schema-attribute' '}'
|
|
&& lk != 144611 // 'schema-element' '}'
|
|
&& lk != 144612 // 'score' '}'
|
|
&& lk != 144613 // 'self' '}'
|
|
&& lk != 144618 // 'sliding' '}'
|
|
&& lk != 144619 // 'some' '}'
|
|
&& lk != 144620 // 'stable' '}'
|
|
&& lk != 144621 // 'start' '}'
|
|
&& lk != 144624 // 'strict' '}'
|
|
&& lk != 144626 // 'structured-item' '}'
|
|
&& lk != 144627 // 'switch' '}'
|
|
&& lk != 144628 // 'text' '}'
|
|
&& lk != 144632 // 'to' '}'
|
|
&& lk != 144633 // 'treat' '}'
|
|
&& lk != 144634 // 'try' '}'
|
|
&& lk != 144635 // 'tumbling' '}'
|
|
&& lk != 144636 // 'type' '}'
|
|
&& lk != 144637 // 'typeswitch' '}'
|
|
&& lk != 144638 // 'union' '}'
|
|
&& lk != 144640 // 'unordered' '}'
|
|
&& lk != 144641 // 'updating' '}'
|
|
&& lk != 144644 // 'validate' '}'
|
|
&& lk != 144645 // 'value' '}'
|
|
&& lk != 144646 // 'variable' '}'
|
|
&& lk != 144647 // 'version' '}'
|
|
&& lk != 144650 // 'where' '}'
|
|
&& lk != 144651 // 'while' '}'
|
|
&& lk != 144654 // 'with' '}'
|
|
&& lk != 144658) // 'xquery' '}'
|
|
{
|
|
lk = memoized(6, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_Statement();
|
|
memoize(6, e0A, -1);
|
|
continue;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(6, e0A, -2);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 53 // ';'
|
|
&& lk != 16134 // 'variable' '$'
|
|
&& lk != 27141 // Wildcard ';'
|
|
&& lk != 27142 // EQName^Token ';'
|
|
&& lk != 27144 // IntegerLiteral ';'
|
|
&& lk != 27145 // DecimalLiteral ';'
|
|
&& lk != 27146 // DoubleLiteral ';'
|
|
&& lk != 27147 // StringLiteral ';'
|
|
&& lk != 27180 // '.' ';'
|
|
&& lk != 27181 // '..' ';'
|
|
&& lk != 27182 // '/' ';'
|
|
&& lk != 27206 // 'after' ';'
|
|
&& lk != 27208 // 'allowing' ';'
|
|
&& lk != 27209 // 'ancestor' ';'
|
|
&& lk != 27210 // 'ancestor-or-self' ';'
|
|
&& lk != 27211 // 'and' ';'
|
|
&& lk != 27213 // 'append' ';'
|
|
&& lk != 27214 // 'array' ';'
|
|
&& lk != 27215 // 'as' ';'
|
|
&& lk != 27216 // 'ascending' ';'
|
|
&& lk != 27217 // 'at' ';'
|
|
&& lk != 27218 // 'attribute' ';'
|
|
&& lk != 27219 // 'base-uri' ';'
|
|
&& lk != 27220 // 'before' ';'
|
|
&& lk != 27221 // 'boundary-space' ';'
|
|
&& lk != 27222 // 'break' ';'
|
|
&& lk != 27224 // 'case' ';'
|
|
&& lk != 27225 // 'cast' ';'
|
|
&& lk != 27226 // 'castable' ';'
|
|
&& lk != 27227 // 'catch' ';'
|
|
&& lk != 27229 // 'child' ';'
|
|
&& lk != 27230 // 'collation' ';'
|
|
&& lk != 27232 // 'comment' ';'
|
|
&& lk != 27233 // 'constraint' ';'
|
|
&& lk != 27234 // 'construction' ';'
|
|
&& lk != 27237 // 'context' ';'
|
|
&& lk != 27238 // 'continue' ';'
|
|
&& lk != 27239 // 'copy' ';'
|
|
&& lk != 27240 // 'copy-namespaces' ';'
|
|
&& lk != 27241 // 'count' ';'
|
|
&& lk != 27242 // 'decimal-format' ';'
|
|
&& lk != 27244 // 'declare' ';'
|
|
&& lk != 27245 // 'default' ';'
|
|
&& lk != 27246 // 'delete' ';'
|
|
&& lk != 27247 // 'descendant' ';'
|
|
&& lk != 27248 // 'descendant-or-self' ';'
|
|
&& lk != 27249 // 'descending' ';'
|
|
&& lk != 27254 // 'div' ';'
|
|
&& lk != 27255 // 'document' ';'
|
|
&& lk != 27256 // 'document-node' ';'
|
|
&& lk != 27257 // 'element' ';'
|
|
&& lk != 27258 // 'else' ';'
|
|
&& lk != 27259 // 'empty' ';'
|
|
&& lk != 27260 // 'empty-sequence' ';'
|
|
&& lk != 27261 // 'encoding' ';'
|
|
&& lk != 27262 // 'end' ';'
|
|
&& lk != 27264 // 'eq' ';'
|
|
&& lk != 27265 // 'every' ';'
|
|
&& lk != 27267 // 'except' ';'
|
|
&& lk != 27268 // 'exit' ';'
|
|
&& lk != 27269 // 'external' ';'
|
|
&& lk != 27270 // 'first' ';'
|
|
&& lk != 27271 // 'following' ';'
|
|
&& lk != 27272 // 'following-sibling' ';'
|
|
&& lk != 27273 // 'for' ';'
|
|
&& lk != 27277 // 'ft-option' ';'
|
|
&& lk != 27281 // 'function' ';'
|
|
&& lk != 27282 // 'ge' ';'
|
|
&& lk != 27284 // 'group' ';'
|
|
&& lk != 27286 // 'gt' ';'
|
|
&& lk != 27287 // 'idiv' ';'
|
|
&& lk != 27288 // 'if' ';'
|
|
&& lk != 27289 // 'import' ';'
|
|
&& lk != 27290 // 'in' ';'
|
|
&& lk != 27291 // 'index' ';'
|
|
&& lk != 27295 // 'insert' ';'
|
|
&& lk != 27296 // 'instance' ';'
|
|
&& lk != 27297 // 'integrity' ';'
|
|
&& lk != 27298 // 'intersect' ';'
|
|
&& lk != 27299 // 'into' ';'
|
|
&& lk != 27300 // 'is' ';'
|
|
&& lk != 27301 // 'item' ';'
|
|
&& lk != 27302 // 'json' ';'
|
|
&& lk != 27303 // 'json-item' ';'
|
|
&& lk != 27306 // 'last' ';'
|
|
&& lk != 27307 // 'lax' ';'
|
|
&& lk != 27308 // 'le' ';'
|
|
&& lk != 27310 // 'let' ';'
|
|
&& lk != 27312 // 'loop' ';'
|
|
&& lk != 27314 // 'lt' ';'
|
|
&& lk != 27316 // 'mod' ';'
|
|
&& lk != 27317 // 'modify' ';'
|
|
&& lk != 27318 // 'module' ';'
|
|
&& lk != 27320 // 'namespace' ';'
|
|
&& lk != 27321 // 'namespace-node' ';'
|
|
&& lk != 27322 // 'ne' ';'
|
|
&& lk != 27327 // 'node' ';'
|
|
&& lk != 27328 // 'nodes' ';'
|
|
&& lk != 27330 // 'object' ';'
|
|
&& lk != 27334 // 'only' ';'
|
|
&& lk != 27335 // 'option' ';'
|
|
&& lk != 27336 // 'or' ';'
|
|
&& lk != 27337 // 'order' ';'
|
|
&& lk != 27338 // 'ordered' ';'
|
|
&& lk != 27339 // 'ordering' ';'
|
|
&& lk != 27342 // 'parent' ';'
|
|
&& lk != 27348 // 'preceding' ';'
|
|
&& lk != 27349 // 'preceding-sibling' ';'
|
|
&& lk != 27352 // 'processing-instruction' ';'
|
|
&& lk != 27354 // 'rename' ';'
|
|
&& lk != 27355 // 'replace' ';'
|
|
&& lk != 27356 // 'return' ';'
|
|
&& lk != 27357 // 'returning' ';'
|
|
&& lk != 27358 // 'revalidation' ';'
|
|
&& lk != 27360 // 'satisfies' ';'
|
|
&& lk != 27361 // 'schema' ';'
|
|
&& lk != 27362 // 'schema-attribute' ';'
|
|
&& lk != 27363 // 'schema-element' ';'
|
|
&& lk != 27364 // 'score' ';'
|
|
&& lk != 27365 // 'self' ';'
|
|
&& lk != 27370 // 'sliding' ';'
|
|
&& lk != 27371 // 'some' ';'
|
|
&& lk != 27372 // 'stable' ';'
|
|
&& lk != 27373 // 'start' ';'
|
|
&& lk != 27376 // 'strict' ';'
|
|
&& lk != 27378 // 'structured-item' ';'
|
|
&& lk != 27379 // 'switch' ';'
|
|
&& lk != 27380 // 'text' ';'
|
|
&& lk != 27384 // 'to' ';'
|
|
&& lk != 27385 // 'treat' ';'
|
|
&& lk != 27386 // 'try' ';'
|
|
&& lk != 27387 // 'tumbling' ';'
|
|
&& lk != 27388 // 'type' ';'
|
|
&& lk != 27389 // 'typeswitch' ';'
|
|
&& lk != 27390 // 'union' ';'
|
|
&& lk != 27392 // 'unordered' ';'
|
|
&& lk != 27393 // 'updating' ';'
|
|
&& lk != 27396 // 'validate' ';'
|
|
&& lk != 27397 // 'value' ';'
|
|
&& lk != 27398 // 'variable' ';'
|
|
&& lk != 27399 // 'version' ';'
|
|
&& lk != 27402 // 'where' ';'
|
|
&& lk != 27403 // 'while' ';'
|
|
&& lk != 27406 // 'with' ';'
|
|
&& lk != 27410 // 'xquery' ';'
|
|
&& lk != 90198 // 'break' 'loop'
|
|
&& lk != 90214 // 'continue' 'loop'
|
|
&& lk != 113284) // 'exit' 'returning'
|
|
{
|
|
break;
|
|
}
|
|
try_Statement();
|
|
}
|
|
}
|
|
|
|
function parse_StatementsAndExpr()
|
|
{
|
|
eventHandler.startNonterminal("StatementsAndExpr", e0);
|
|
parse_Statements();
|
|
whitespace();
|
|
parse_Expr();
|
|
eventHandler.endNonterminal("StatementsAndExpr", e0);
|
|
}
|
|
|
|
function try_StatementsAndExpr()
|
|
{
|
|
try_Statements();
|
|
try_Expr();
|
|
}
|
|
|
|
function parse_StatementsAndOptionalExpr()
|
|
{
|
|
eventHandler.startNonterminal("StatementsAndOptionalExpr", e0);
|
|
parse_Statements();
|
|
if (l1 != 25 // EOF
|
|
&& l1 != 282) // '}'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
eventHandler.endNonterminal("StatementsAndOptionalExpr", e0);
|
|
}
|
|
|
|
function try_StatementsAndOptionalExpr()
|
|
{
|
|
try_Statements();
|
|
if (l1 != 25 // EOF
|
|
&& l1 != 282) // '}'
|
|
{
|
|
try_Expr();
|
|
}
|
|
}
|
|
|
|
function parse_Statement()
|
|
{
|
|
eventHandler.startNonterminal("Statement", e0);
|
|
switch (l1)
|
|
{
|
|
case 132: // 'exit'
|
|
lookahead2W(188); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 137: // 'for'
|
|
lookahead2W(195); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 174: // 'let'
|
|
lookahead2W(192); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 250: // 'try'
|
|
lookahead2W(189); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 262: // 'variable'
|
|
lookahead2W(186); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 31: // '$'
|
|
case 32: // '%'
|
|
lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 86: // 'break'
|
|
case 102: // 'continue'
|
|
lookahead2W(187); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 152: // 'if'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
case 267: // 'while'
|
|
lookahead2W(184); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 2836 // '{' Wildcard
|
|
|| lk == 3103 // '$' EQName^Token
|
|
|| lk == 3104 // '%' EQName^Token
|
|
|| lk == 3348 // '{' EQName^Token
|
|
|| lk == 4372 // '{' IntegerLiteral
|
|
|| lk == 4884 // '{' DecimalLiteral
|
|
|| lk == 5396 // '{' DoubleLiteral
|
|
|| lk == 5908 // '{' StringLiteral
|
|
|| lk == 16148 // '{' '$'
|
|
|| lk == 16660 // '{' '%'
|
|
|| lk == 17675 // 'while' '('
|
|
|| lk == 17684 // '{' '('
|
|
|| lk == 18196 // '{' '(#'
|
|
|| lk == 20756 // '{' '+'
|
|
|| lk == 21780 // '{' '-'
|
|
|| lk == 22804 // '{' '.'
|
|
|| lk == 23316 // '{' '..'
|
|
|| lk == 23828 // '{' '/'
|
|
|| lk == 24340 // '{' '//'
|
|
|| lk == 27412 // '{' ';'
|
|
|| lk == 27924 // '{' '<'
|
|
|| lk == 28436 // '{' '<!--'
|
|
|| lk == 30484 // '{' '<?'
|
|
|| lk == 34068 // '{' '@'
|
|
|| lk == 35092 // '{' '['
|
|
|| lk == 35871 // '$' 'after'
|
|
|| lk == 35872 // '%' 'after'
|
|
|| lk == 36116 // '{' 'after'
|
|
|| lk == 36895 // '$' 'allowing'
|
|
|| lk == 36896 // '%' 'allowing'
|
|
|| lk == 37140 // '{' 'allowing'
|
|
|| lk == 37407 // '$' 'ancestor'
|
|
|| lk == 37408 // '%' 'ancestor'
|
|
|| lk == 37652 // '{' 'ancestor'
|
|
|| lk == 37919 // '$' 'ancestor-or-self'
|
|
|| lk == 37920 // '%' 'ancestor-or-self'
|
|
|| lk == 38164 // '{' 'ancestor-or-self'
|
|
|| lk == 38431 // '$' 'and'
|
|
|| lk == 38432 // '%' 'and'
|
|
|| lk == 38676 // '{' 'and'
|
|
|| lk == 39455 // '$' 'append'
|
|
|| lk == 39456 // '%' 'append'
|
|
|| lk == 39700 // '{' 'append'
|
|
|| lk == 39967 // '$' 'array'
|
|
|| lk == 39968 // '%' 'array'
|
|
|| lk == 40212 // '{' 'array'
|
|
|| lk == 40479 // '$' 'as'
|
|
|| lk == 40480 // '%' 'as'
|
|
|| lk == 40724 // '{' 'as'
|
|
|| lk == 40991 // '$' 'ascending'
|
|
|| lk == 40992 // '%' 'ascending'
|
|
|| lk == 41236 // '{' 'ascending'
|
|
|| lk == 41503 // '$' 'at'
|
|
|| lk == 41504 // '%' 'at'
|
|
|| lk == 41748 // '{' 'at'
|
|
|| lk == 42015 // '$' 'attribute'
|
|
|| lk == 42016 // '%' 'attribute'
|
|
|| lk == 42260 // '{' 'attribute'
|
|
|| lk == 42527 // '$' 'base-uri'
|
|
|| lk == 42528 // '%' 'base-uri'
|
|
|| lk == 42772 // '{' 'base-uri'
|
|
|| lk == 43039 // '$' 'before'
|
|
|| lk == 43040 // '%' 'before'
|
|
|| lk == 43284 // '{' 'before'
|
|
|| lk == 43551 // '$' 'boundary-space'
|
|
|| lk == 43552 // '%' 'boundary-space'
|
|
|| lk == 43796 // '{' 'boundary-space'
|
|
|| lk == 44063 // '$' 'break'
|
|
|| lk == 44064 // '%' 'break'
|
|
|| lk == 44308 // '{' 'break'
|
|
|| lk == 45087 // '$' 'case'
|
|
|| lk == 45088 // '%' 'case'
|
|
|| lk == 45332 // '{' 'case'
|
|
|| lk == 45599 // '$' 'cast'
|
|
|| lk == 45600 // '%' 'cast'
|
|
|| lk == 45844 // '{' 'cast'
|
|
|| lk == 46111 // '$' 'castable'
|
|
|| lk == 46112 // '%' 'castable'
|
|
|| lk == 46356 // '{' 'castable'
|
|
|| lk == 46623 // '$' 'catch'
|
|
|| lk == 46624 // '%' 'catch'
|
|
|| lk == 46868 // '{' 'catch'
|
|
|| lk == 47647 // '$' 'child'
|
|
|| lk == 47648 // '%' 'child'
|
|
|| lk == 47892 // '{' 'child'
|
|
|| lk == 48159 // '$' 'collation'
|
|
|| lk == 48160 // '%' 'collation'
|
|
|| lk == 48404 // '{' 'collation'
|
|
|| lk == 49183 // '$' 'comment'
|
|
|| lk == 49184 // '%' 'comment'
|
|
|| lk == 49428 // '{' 'comment'
|
|
|| lk == 49695 // '$' 'constraint'
|
|
|| lk == 49696 // '%' 'constraint'
|
|
|| lk == 49940 // '{' 'constraint'
|
|
|| lk == 50207 // '$' 'construction'
|
|
|| lk == 50208 // '%' 'construction'
|
|
|| lk == 50452 // '{' 'construction'
|
|
|| lk == 51743 // '$' 'context'
|
|
|| lk == 51744 // '%' 'context'
|
|
|| lk == 51988 // '{' 'context'
|
|
|| lk == 52255 // '$' 'continue'
|
|
|| lk == 52256 // '%' 'continue'
|
|
|| lk == 52500 // '{' 'continue'
|
|
|| lk == 52767 // '$' 'copy'
|
|
|| lk == 52768 // '%' 'copy'
|
|
|| lk == 53012 // '{' 'copy'
|
|
|| lk == 53279 // '$' 'copy-namespaces'
|
|
|| lk == 53280 // '%' 'copy-namespaces'
|
|
|| lk == 53524 // '{' 'copy-namespaces'
|
|
|| lk == 53791 // '$' 'count'
|
|
|| lk == 53792 // '%' 'count'
|
|
|| lk == 54036 // '{' 'count'
|
|
|| lk == 54303 // '$' 'decimal-format'
|
|
|| lk == 54304 // '%' 'decimal-format'
|
|
|| lk == 54548 // '{' 'decimal-format'
|
|
|| lk == 55327 // '$' 'declare'
|
|
|| lk == 55328 // '%' 'declare'
|
|
|| lk == 55572 // '{' 'declare'
|
|
|| lk == 55839 // '$' 'default'
|
|
|| lk == 55840 // '%' 'default'
|
|
|| lk == 56084 // '{' 'default'
|
|
|| lk == 56351 // '$' 'delete'
|
|
|| lk == 56352 // '%' 'delete'
|
|
|| lk == 56596 // '{' 'delete'
|
|
|| lk == 56863 // '$' 'descendant'
|
|
|| lk == 56864 // '%' 'descendant'
|
|
|| lk == 57108 // '{' 'descendant'
|
|
|| lk == 57375 // '$' 'descendant-or-self'
|
|
|| lk == 57376 // '%' 'descendant-or-self'
|
|
|| lk == 57620 // '{' 'descendant-or-self'
|
|
|| lk == 57887 // '$' 'descending'
|
|
|| lk == 57888 // '%' 'descending'
|
|
|| lk == 58132 // '{' 'descending'
|
|
|| lk == 60447 // '$' 'div'
|
|
|| lk == 60448 // '%' 'div'
|
|
|| lk == 60692 // '{' 'div'
|
|
|| lk == 60959 // '$' 'document'
|
|
|| lk == 60960 // '%' 'document'
|
|
|| lk == 61204 // '{' 'document'
|
|
|| lk == 61471 // '$' 'document-node'
|
|
|| lk == 61472 // '%' 'document-node'
|
|
|| lk == 61716 // '{' 'document-node'
|
|
|| lk == 61983 // '$' 'element'
|
|
|| lk == 61984 // '%' 'element'
|
|
|| lk == 62228 // '{' 'element'
|
|
|| lk == 62495 // '$' 'else'
|
|
|| lk == 62496 // '%' 'else'
|
|
|| lk == 62740 // '{' 'else'
|
|
|| lk == 63007 // '$' 'empty'
|
|
|| lk == 63008 // '%' 'empty'
|
|
|| lk == 63252 // '{' 'empty'
|
|
|| lk == 63519 // '$' 'empty-sequence'
|
|
|| lk == 63520 // '%' 'empty-sequence'
|
|
|| lk == 63764 // '{' 'empty-sequence'
|
|
|| lk == 64031 // '$' 'encoding'
|
|
|| lk == 64032 // '%' 'encoding'
|
|
|| lk == 64276 // '{' 'encoding'
|
|
|| lk == 64543 // '$' 'end'
|
|
|| lk == 64544 // '%' 'end'
|
|
|| lk == 64788 // '{' 'end'
|
|
|| lk == 65567 // '$' 'eq'
|
|
|| lk == 65568 // '%' 'eq'
|
|
|| lk == 65812 // '{' 'eq'
|
|
|| lk == 66079 // '$' 'every'
|
|
|| lk == 66080 // '%' 'every'
|
|
|| lk == 66324 // '{' 'every'
|
|
|| lk == 67103 // '$' 'except'
|
|
|| lk == 67104 // '%' 'except'
|
|
|| lk == 67348 // '{' 'except'
|
|
|| lk == 67615 // '$' 'exit'
|
|
|| lk == 67616 // '%' 'exit'
|
|
|| lk == 67860 // '{' 'exit'
|
|
|| lk == 68127 // '$' 'external'
|
|
|| lk == 68128 // '%' 'external'
|
|
|| lk == 68372 // '{' 'external'
|
|
|| lk == 68639 // '$' 'first'
|
|
|| lk == 68640 // '%' 'first'
|
|
|| lk == 68884 // '{' 'first'
|
|
|| lk == 69151 // '$' 'following'
|
|
|| lk == 69152 // '%' 'following'
|
|
|| lk == 69396 // '{' 'following'
|
|
|| lk == 69663 // '$' 'following-sibling'
|
|
|| lk == 69664 // '%' 'following-sibling'
|
|
|| lk == 69908 // '{' 'following-sibling'
|
|
|| lk == 70175 // '$' 'for'
|
|
|| lk == 70176 // '%' 'for'
|
|
|| lk == 70420 // '{' 'for'
|
|
|| lk == 72223 // '$' 'ft-option'
|
|
|| lk == 72224 // '%' 'ft-option'
|
|
|| lk == 72468 // '{' 'ft-option'
|
|
|| lk == 74271 // '$' 'function'
|
|
|| lk == 74272 // '%' 'function'
|
|
|| lk == 74516 // '{' 'function'
|
|
|| lk == 74783 // '$' 'ge'
|
|
|| lk == 74784 // '%' 'ge'
|
|
|| lk == 75028 // '{' 'ge'
|
|
|| lk == 75807 // '$' 'group'
|
|
|| lk == 75808 // '%' 'group'
|
|
|| lk == 76052 // '{' 'group'
|
|
|| lk == 76831 // '$' 'gt'
|
|
|| lk == 76832 // '%' 'gt'
|
|
|| lk == 77076 // '{' 'gt'
|
|
|| lk == 77343 // '$' 'idiv'
|
|
|| lk == 77344 // '%' 'idiv'
|
|
|| lk == 77588 // '{' 'idiv'
|
|
|| lk == 77855 // '$' 'if'
|
|
|| lk == 77856 // '%' 'if'
|
|
|| lk == 78100 // '{' 'if'
|
|
|| lk == 78367 // '$' 'import'
|
|
|| lk == 78368 // '%' 'import'
|
|
|| lk == 78612 // '{' 'import'
|
|
|| lk == 78879 // '$' 'in'
|
|
|| lk == 78880 // '%' 'in'
|
|
|| lk == 79124 // '{' 'in'
|
|
|| lk == 79391 // '$' 'index'
|
|
|| lk == 79392 // '%' 'index'
|
|
|| lk == 79636 // '{' 'index'
|
|
|| lk == 81439 // '$' 'insert'
|
|
|| lk == 81440 // '%' 'insert'
|
|
|| lk == 81684 // '{' 'insert'
|
|
|| lk == 81951 // '$' 'instance'
|
|
|| lk == 81952 // '%' 'instance'
|
|
|| lk == 82196 // '{' 'instance'
|
|
|| lk == 82463 // '$' 'integrity'
|
|
|| lk == 82464 // '%' 'integrity'
|
|
|| lk == 82708 // '{' 'integrity'
|
|
|| lk == 82975 // '$' 'intersect'
|
|
|| lk == 82976 // '%' 'intersect'
|
|
|| lk == 83220 // '{' 'intersect'
|
|
|| lk == 83487 // '$' 'into'
|
|
|| lk == 83488 // '%' 'into'
|
|
|| lk == 83732 // '{' 'into'
|
|
|| lk == 83999 // '$' 'is'
|
|
|| lk == 84000 // '%' 'is'
|
|
|| lk == 84244 // '{' 'is'
|
|
|| lk == 84511 // '$' 'item'
|
|
|| lk == 84512 // '%' 'item'
|
|
|| lk == 84756 // '{' 'item'
|
|
|| lk == 85023 // '$' 'json'
|
|
|| lk == 85024 // '%' 'json'
|
|
|| lk == 85268 // '{' 'json'
|
|
|| lk == 85535 // '$' 'json-item'
|
|
|| lk == 85536 // '%' 'json-item'
|
|
|| lk == 85780 // '{' 'json-item'
|
|
|| lk == 87071 // '$' 'last'
|
|
|| lk == 87072 // '%' 'last'
|
|
|| lk == 87316 // '{' 'last'
|
|
|| lk == 87583 // '$' 'lax'
|
|
|| lk == 87584 // '%' 'lax'
|
|
|| lk == 87828 // '{' 'lax'
|
|
|| lk == 88095 // '$' 'le'
|
|
|| lk == 88096 // '%' 'le'
|
|
|| lk == 88340 // '{' 'le'
|
|
|| lk == 89119 // '$' 'let'
|
|
|| lk == 89120 // '%' 'let'
|
|
|| lk == 89364 // '{' 'let'
|
|
|| lk == 90143 // '$' 'loop'
|
|
|| lk == 90144 // '%' 'loop'
|
|
|| lk == 90388 // '{' 'loop'
|
|
|| lk == 91167 // '$' 'lt'
|
|
|| lk == 91168 // '%' 'lt'
|
|
|| lk == 91412 // '{' 'lt'
|
|
|| lk == 92191 // '$' 'mod'
|
|
|| lk == 92192 // '%' 'mod'
|
|
|| lk == 92436 // '{' 'mod'
|
|
|| lk == 92703 // '$' 'modify'
|
|
|| lk == 92704 // '%' 'modify'
|
|
|| lk == 92948 // '{' 'modify'
|
|
|| lk == 93215 // '$' 'module'
|
|
|| lk == 93216 // '%' 'module'
|
|
|| lk == 93460 // '{' 'module'
|
|
|| lk == 94239 // '$' 'namespace'
|
|
|| lk == 94240 // '%' 'namespace'
|
|
|| lk == 94484 // '{' 'namespace'
|
|
|| lk == 94751 // '$' 'namespace-node'
|
|
|| lk == 94752 // '%' 'namespace-node'
|
|
|| lk == 94996 // '{' 'namespace-node'
|
|
|| lk == 95263 // '$' 'ne'
|
|
|| lk == 95264 // '%' 'ne'
|
|
|| lk == 95508 // '{' 'ne'
|
|
|| lk == 97823 // '$' 'node'
|
|
|| lk == 97824 // '%' 'node'
|
|
|| lk == 98068 // '{' 'node'
|
|
|| lk == 98335 // '$' 'nodes'
|
|
|| lk == 98336 // '%' 'nodes'
|
|
|| lk == 98580 // '{' 'nodes'
|
|
|| lk == 99359 // '$' 'object'
|
|
|| lk == 99360 // '%' 'object'
|
|
|| lk == 99604 // '{' 'object'
|
|
|| lk == 101407 // '$' 'only'
|
|
|| lk == 101408 // '%' 'only'
|
|
|| lk == 101652 // '{' 'only'
|
|
|| lk == 101919 // '$' 'option'
|
|
|| lk == 101920 // '%' 'option'
|
|
|| lk == 102164 // '{' 'option'
|
|
|| lk == 102431 // '$' 'or'
|
|
|| lk == 102432 // '%' 'or'
|
|
|| lk == 102676 // '{' 'or'
|
|
|| lk == 102943 // '$' 'order'
|
|
|| lk == 102944 // '%' 'order'
|
|
|| lk == 103188 // '{' 'order'
|
|
|| lk == 103455 // '$' 'ordered'
|
|
|| lk == 103456 // '%' 'ordered'
|
|
|| lk == 103700 // '{' 'ordered'
|
|
|| lk == 103967 // '$' 'ordering'
|
|
|| lk == 103968 // '%' 'ordering'
|
|
|| lk == 104212 // '{' 'ordering'
|
|
|| lk == 105503 // '$' 'parent'
|
|
|| lk == 105504 // '%' 'parent'
|
|
|| lk == 105748 // '{' 'parent'
|
|
|| lk == 108575 // '$' 'preceding'
|
|
|| lk == 108576 // '%' 'preceding'
|
|
|| lk == 108820 // '{' 'preceding'
|
|
|| lk == 109087 // '$' 'preceding-sibling'
|
|
|| lk == 109088 // '%' 'preceding-sibling'
|
|
|| lk == 109332 // '{' 'preceding-sibling'
|
|
|| lk == 110623 // '$' 'processing-instruction'
|
|
|| lk == 110624 // '%' 'processing-instruction'
|
|
|| lk == 110868 // '{' 'processing-instruction'
|
|
|| lk == 111647 // '$' 'rename'
|
|
|| lk == 111648 // '%' 'rename'
|
|
|| lk == 111892 // '{' 'rename'
|
|
|| lk == 112159 // '$' 'replace'
|
|
|| lk == 112160 // '%' 'replace'
|
|
|| lk == 112404 // '{' 'replace'
|
|
|| lk == 112671 // '$' 'return'
|
|
|| lk == 112672 // '%' 'return'
|
|
|| lk == 112916 // '{' 'return'
|
|
|| lk == 113183 // '$' 'returning'
|
|
|| lk == 113184 // '%' 'returning'
|
|
|| lk == 113428 // '{' 'returning'
|
|
|| lk == 113695 // '$' 'revalidation'
|
|
|| lk == 113696 // '%' 'revalidation'
|
|
|| lk == 113940 // '{' 'revalidation'
|
|
|| lk == 114719 // '$' 'satisfies'
|
|
|| lk == 114720 // '%' 'satisfies'
|
|
|| lk == 114964 // '{' 'satisfies'
|
|
|| lk == 115231 // '$' 'schema'
|
|
|| lk == 115232 // '%' 'schema'
|
|
|| lk == 115476 // '{' 'schema'
|
|
|| lk == 115743 // '$' 'schema-attribute'
|
|
|| lk == 115744 // '%' 'schema-attribute'
|
|
|| lk == 115988 // '{' 'schema-attribute'
|
|
|| lk == 116255 // '$' 'schema-element'
|
|
|| lk == 116256 // '%' 'schema-element'
|
|
|| lk == 116500 // '{' 'schema-element'
|
|
|| lk == 116767 // '$' 'score'
|
|
|| lk == 116768 // '%' 'score'
|
|
|| lk == 117012 // '{' 'score'
|
|
|| lk == 117279 // '$' 'self'
|
|
|| lk == 117280 // '%' 'self'
|
|
|| lk == 117524 // '{' 'self'
|
|
|| lk == 119839 // '$' 'sliding'
|
|
|| lk == 119840 // '%' 'sliding'
|
|
|| lk == 120084 // '{' 'sliding'
|
|
|| lk == 120351 // '$' 'some'
|
|
|| lk == 120352 // '%' 'some'
|
|
|| lk == 120596 // '{' 'some'
|
|
|| lk == 120863 // '$' 'stable'
|
|
|| lk == 120864 // '%' 'stable'
|
|
|| lk == 121108 // '{' 'stable'
|
|
|| lk == 121375 // '$' 'start'
|
|
|| lk == 121376 // '%' 'start'
|
|
|| lk == 121620 // '{' 'start'
|
|
|| lk == 122911 // '$' 'strict'
|
|
|| lk == 122912 // '%' 'strict'
|
|
|| lk == 123156 // '{' 'strict'
|
|
|| lk == 123935 // '$' 'structured-item'
|
|
|| lk == 123936 // '%' 'structured-item'
|
|
|| lk == 124180 // '{' 'structured-item'
|
|
|| lk == 124447 // '$' 'switch'
|
|
|| lk == 124448 // '%' 'switch'
|
|
|| lk == 124692 // '{' 'switch'
|
|
|| lk == 124959 // '$' 'text'
|
|
|| lk == 124960 // '%' 'text'
|
|
|| lk == 125204 // '{' 'text'
|
|
|| lk == 127007 // '$' 'to'
|
|
|| lk == 127008 // '%' 'to'
|
|
|| lk == 127252 // '{' 'to'
|
|
|| lk == 127519 // '$' 'treat'
|
|
|| lk == 127520 // '%' 'treat'
|
|
|| lk == 127764 // '{' 'treat'
|
|
|| lk == 128031 // '$' 'try'
|
|
|| lk == 128032 // '%' 'try'
|
|
|| lk == 128276 // '{' 'try'
|
|
|| lk == 128543 // '$' 'tumbling'
|
|
|| lk == 128544 // '%' 'tumbling'
|
|
|| lk == 128788 // '{' 'tumbling'
|
|
|| lk == 129055 // '$' 'type'
|
|
|| lk == 129056 // '%' 'type'
|
|
|| lk == 129300 // '{' 'type'
|
|
|| lk == 129567 // '$' 'typeswitch'
|
|
|| lk == 129568 // '%' 'typeswitch'
|
|
|| lk == 129812 // '{' 'typeswitch'
|
|
|| lk == 130079 // '$' 'union'
|
|
|| lk == 130080 // '%' 'union'
|
|
|| lk == 130324 // '{' 'union'
|
|
|| lk == 131103 // '$' 'unordered'
|
|
|| lk == 131104 // '%' 'unordered'
|
|
|| lk == 131348 // '{' 'unordered'
|
|
|| lk == 131615 // '$' 'updating'
|
|
|| lk == 131616 // '%' 'updating'
|
|
|| lk == 131860 // '{' 'updating'
|
|
|| lk == 133151 // '$' 'validate'
|
|
|| lk == 133152 // '%' 'validate'
|
|
|| lk == 133396 // '{' 'validate'
|
|
|| lk == 133663 // '$' 'value'
|
|
|| lk == 133664 // '%' 'value'
|
|
|| lk == 133908 // '{' 'value'
|
|
|| lk == 134175 // '$' 'variable'
|
|
|| lk == 134176 // '%' 'variable'
|
|
|| lk == 134420 // '{' 'variable'
|
|
|| lk == 134687 // '$' 'version'
|
|
|| lk == 134688 // '%' 'version'
|
|
|| lk == 134932 // '{' 'version'
|
|
|| lk == 136223 // '$' 'where'
|
|
|| lk == 136224 // '%' 'where'
|
|
|| lk == 136468 // '{' 'where'
|
|
|| lk == 136735 // '$' 'while'
|
|
|| lk == 136736 // '%' 'while'
|
|
|| lk == 136980 // '{' 'while'
|
|
|| lk == 138271 // '$' 'with'
|
|
|| lk == 138272 // '%' 'with'
|
|
|| lk == 138516 // '{' 'with'
|
|
|| lk == 140319 // '$' 'xquery'
|
|
|| lk == 140320 // '%' 'xquery'
|
|
|| lk == 140564 // '{' 'xquery'
|
|
|| lk == 141588 // '{' '{'
|
|
|| lk == 142612 // '{' '{|'
|
|
|| lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(7, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ApplyStatement();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_AssignStatement();
|
|
lk = -2;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_BlockStatement();
|
|
lk = -3;
|
|
}
|
|
catch (p3A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_VarDeclStatement();
|
|
lk = -12;
|
|
}
|
|
catch (p12A)
|
|
{
|
|
lk = -13;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(7, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -2:
|
|
parse_AssignStatement();
|
|
break;
|
|
case -3:
|
|
parse_BlockStatement();
|
|
break;
|
|
case 90198: // 'break' 'loop'
|
|
parse_BreakStatement();
|
|
break;
|
|
case 90214: // 'continue' 'loop'
|
|
parse_ContinueStatement();
|
|
break;
|
|
case 113284: // 'exit' 'returning'
|
|
parse_ExitStatement();
|
|
break;
|
|
case 16009: // 'for' '$'
|
|
case 16046: // 'let' '$'
|
|
case 116910: // 'let' 'score'
|
|
case 119945: // 'for' 'sliding'
|
|
case 128649: // 'for' 'tumbling'
|
|
parse_FLWORStatement();
|
|
break;
|
|
case 17560: // 'if' '('
|
|
parse_IfStatement();
|
|
break;
|
|
case 17651: // 'switch' '('
|
|
parse_SwitchStatement();
|
|
break;
|
|
case 141562: // 'try' '{'
|
|
parse_TryCatchStatement();
|
|
break;
|
|
case 17661: // 'typeswitch' '('
|
|
parse_TypeswitchStatement();
|
|
break;
|
|
case -12:
|
|
case 16134: // 'variable' '$'
|
|
parse_VarDeclStatement();
|
|
break;
|
|
case -13:
|
|
parse_WhileStatement();
|
|
break;
|
|
case 53: // ';'
|
|
parse_VoidStatement();
|
|
break;
|
|
default:
|
|
parse_ApplyStatement();
|
|
}
|
|
eventHandler.endNonterminal("Statement", e0);
|
|
}
|
|
|
|
function try_Statement()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 132: // 'exit'
|
|
lookahead2W(188); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 137: // 'for'
|
|
lookahead2W(195); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 174: // 'let'
|
|
lookahead2W(192); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 250: // 'try'
|
|
lookahead2W(189); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 262: // 'variable'
|
|
lookahead2W(186); // S^WS | '!' | '!=' | '#' | '$' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' |
|
|
break;
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 31: // '$'
|
|
case 32: // '%'
|
|
lookahead2W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 86: // 'break'
|
|
case 102: // 'continue'
|
|
lookahead2W(187); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
case 152: // 'if'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
case 267: // 'while'
|
|
lookahead2W(184); // S^WS | '!' | '!=' | '#' | '(' | '(:' | '*' | '+' | '-' | '/' | '//' | ';' | '<' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 2836 // '{' Wildcard
|
|
|| lk == 3103 // '$' EQName^Token
|
|
|| lk == 3104 // '%' EQName^Token
|
|
|| lk == 3348 // '{' EQName^Token
|
|
|| lk == 4372 // '{' IntegerLiteral
|
|
|| lk == 4884 // '{' DecimalLiteral
|
|
|| lk == 5396 // '{' DoubleLiteral
|
|
|| lk == 5908 // '{' StringLiteral
|
|
|| lk == 16148 // '{' '$'
|
|
|| lk == 16660 // '{' '%'
|
|
|| lk == 17675 // 'while' '('
|
|
|| lk == 17684 // '{' '('
|
|
|| lk == 18196 // '{' '(#'
|
|
|| lk == 20756 // '{' '+'
|
|
|| lk == 21780 // '{' '-'
|
|
|| lk == 22804 // '{' '.'
|
|
|| lk == 23316 // '{' '..'
|
|
|| lk == 23828 // '{' '/'
|
|
|| lk == 24340 // '{' '//'
|
|
|| lk == 27412 // '{' ';'
|
|
|| lk == 27924 // '{' '<'
|
|
|| lk == 28436 // '{' '<!--'
|
|
|| lk == 30484 // '{' '<?'
|
|
|| lk == 34068 // '{' '@'
|
|
|| lk == 35092 // '{' '['
|
|
|| lk == 35871 // '$' 'after'
|
|
|| lk == 35872 // '%' 'after'
|
|
|| lk == 36116 // '{' 'after'
|
|
|| lk == 36895 // '$' 'allowing'
|
|
|| lk == 36896 // '%' 'allowing'
|
|
|| lk == 37140 // '{' 'allowing'
|
|
|| lk == 37407 // '$' 'ancestor'
|
|
|| lk == 37408 // '%' 'ancestor'
|
|
|| lk == 37652 // '{' 'ancestor'
|
|
|| lk == 37919 // '$' 'ancestor-or-self'
|
|
|| lk == 37920 // '%' 'ancestor-or-self'
|
|
|| lk == 38164 // '{' 'ancestor-or-self'
|
|
|| lk == 38431 // '$' 'and'
|
|
|| lk == 38432 // '%' 'and'
|
|
|| lk == 38676 // '{' 'and'
|
|
|| lk == 39455 // '$' 'append'
|
|
|| lk == 39456 // '%' 'append'
|
|
|| lk == 39700 // '{' 'append'
|
|
|| lk == 39967 // '$' 'array'
|
|
|| lk == 39968 // '%' 'array'
|
|
|| lk == 40212 // '{' 'array'
|
|
|| lk == 40479 // '$' 'as'
|
|
|| lk == 40480 // '%' 'as'
|
|
|| lk == 40724 // '{' 'as'
|
|
|| lk == 40991 // '$' 'ascending'
|
|
|| lk == 40992 // '%' 'ascending'
|
|
|| lk == 41236 // '{' 'ascending'
|
|
|| lk == 41503 // '$' 'at'
|
|
|| lk == 41504 // '%' 'at'
|
|
|| lk == 41748 // '{' 'at'
|
|
|| lk == 42015 // '$' 'attribute'
|
|
|| lk == 42016 // '%' 'attribute'
|
|
|| lk == 42260 // '{' 'attribute'
|
|
|| lk == 42527 // '$' 'base-uri'
|
|
|| lk == 42528 // '%' 'base-uri'
|
|
|| lk == 42772 // '{' 'base-uri'
|
|
|| lk == 43039 // '$' 'before'
|
|
|| lk == 43040 // '%' 'before'
|
|
|| lk == 43284 // '{' 'before'
|
|
|| lk == 43551 // '$' 'boundary-space'
|
|
|| lk == 43552 // '%' 'boundary-space'
|
|
|| lk == 43796 // '{' 'boundary-space'
|
|
|| lk == 44063 // '$' 'break'
|
|
|| lk == 44064 // '%' 'break'
|
|
|| lk == 44308 // '{' 'break'
|
|
|| lk == 45087 // '$' 'case'
|
|
|| lk == 45088 // '%' 'case'
|
|
|| lk == 45332 // '{' 'case'
|
|
|| lk == 45599 // '$' 'cast'
|
|
|| lk == 45600 // '%' 'cast'
|
|
|| lk == 45844 // '{' 'cast'
|
|
|| lk == 46111 // '$' 'castable'
|
|
|| lk == 46112 // '%' 'castable'
|
|
|| lk == 46356 // '{' 'castable'
|
|
|| lk == 46623 // '$' 'catch'
|
|
|| lk == 46624 // '%' 'catch'
|
|
|| lk == 46868 // '{' 'catch'
|
|
|| lk == 47647 // '$' 'child'
|
|
|| lk == 47648 // '%' 'child'
|
|
|| lk == 47892 // '{' 'child'
|
|
|| lk == 48159 // '$' 'collation'
|
|
|| lk == 48160 // '%' 'collation'
|
|
|| lk == 48404 // '{' 'collation'
|
|
|| lk == 49183 // '$' 'comment'
|
|
|| lk == 49184 // '%' 'comment'
|
|
|| lk == 49428 // '{' 'comment'
|
|
|| lk == 49695 // '$' 'constraint'
|
|
|| lk == 49696 // '%' 'constraint'
|
|
|| lk == 49940 // '{' 'constraint'
|
|
|| lk == 50207 // '$' 'construction'
|
|
|| lk == 50208 // '%' 'construction'
|
|
|| lk == 50452 // '{' 'construction'
|
|
|| lk == 51743 // '$' 'context'
|
|
|| lk == 51744 // '%' 'context'
|
|
|| lk == 51988 // '{' 'context'
|
|
|| lk == 52255 // '$' 'continue'
|
|
|| lk == 52256 // '%' 'continue'
|
|
|| lk == 52500 // '{' 'continue'
|
|
|| lk == 52767 // '$' 'copy'
|
|
|| lk == 52768 // '%' 'copy'
|
|
|| lk == 53012 // '{' 'copy'
|
|
|| lk == 53279 // '$' 'copy-namespaces'
|
|
|| lk == 53280 // '%' 'copy-namespaces'
|
|
|| lk == 53524 // '{' 'copy-namespaces'
|
|
|| lk == 53791 // '$' 'count'
|
|
|| lk == 53792 // '%' 'count'
|
|
|| lk == 54036 // '{' 'count'
|
|
|| lk == 54303 // '$' 'decimal-format'
|
|
|| lk == 54304 // '%' 'decimal-format'
|
|
|| lk == 54548 // '{' 'decimal-format'
|
|
|| lk == 55327 // '$' 'declare'
|
|
|| lk == 55328 // '%' 'declare'
|
|
|| lk == 55572 // '{' 'declare'
|
|
|| lk == 55839 // '$' 'default'
|
|
|| lk == 55840 // '%' 'default'
|
|
|| lk == 56084 // '{' 'default'
|
|
|| lk == 56351 // '$' 'delete'
|
|
|| lk == 56352 // '%' 'delete'
|
|
|| lk == 56596 // '{' 'delete'
|
|
|| lk == 56863 // '$' 'descendant'
|
|
|| lk == 56864 // '%' 'descendant'
|
|
|| lk == 57108 // '{' 'descendant'
|
|
|| lk == 57375 // '$' 'descendant-or-self'
|
|
|| lk == 57376 // '%' 'descendant-or-self'
|
|
|| lk == 57620 // '{' 'descendant-or-self'
|
|
|| lk == 57887 // '$' 'descending'
|
|
|| lk == 57888 // '%' 'descending'
|
|
|| lk == 58132 // '{' 'descending'
|
|
|| lk == 60447 // '$' 'div'
|
|
|| lk == 60448 // '%' 'div'
|
|
|| lk == 60692 // '{' 'div'
|
|
|| lk == 60959 // '$' 'document'
|
|
|| lk == 60960 // '%' 'document'
|
|
|| lk == 61204 // '{' 'document'
|
|
|| lk == 61471 // '$' 'document-node'
|
|
|| lk == 61472 // '%' 'document-node'
|
|
|| lk == 61716 // '{' 'document-node'
|
|
|| lk == 61983 // '$' 'element'
|
|
|| lk == 61984 // '%' 'element'
|
|
|| lk == 62228 // '{' 'element'
|
|
|| lk == 62495 // '$' 'else'
|
|
|| lk == 62496 // '%' 'else'
|
|
|| lk == 62740 // '{' 'else'
|
|
|| lk == 63007 // '$' 'empty'
|
|
|| lk == 63008 // '%' 'empty'
|
|
|| lk == 63252 // '{' 'empty'
|
|
|| lk == 63519 // '$' 'empty-sequence'
|
|
|| lk == 63520 // '%' 'empty-sequence'
|
|
|| lk == 63764 // '{' 'empty-sequence'
|
|
|| lk == 64031 // '$' 'encoding'
|
|
|| lk == 64032 // '%' 'encoding'
|
|
|| lk == 64276 // '{' 'encoding'
|
|
|| lk == 64543 // '$' 'end'
|
|
|| lk == 64544 // '%' 'end'
|
|
|| lk == 64788 // '{' 'end'
|
|
|| lk == 65567 // '$' 'eq'
|
|
|| lk == 65568 // '%' 'eq'
|
|
|| lk == 65812 // '{' 'eq'
|
|
|| lk == 66079 // '$' 'every'
|
|
|| lk == 66080 // '%' 'every'
|
|
|| lk == 66324 // '{' 'every'
|
|
|| lk == 67103 // '$' 'except'
|
|
|| lk == 67104 // '%' 'except'
|
|
|| lk == 67348 // '{' 'except'
|
|
|| lk == 67615 // '$' 'exit'
|
|
|| lk == 67616 // '%' 'exit'
|
|
|| lk == 67860 // '{' 'exit'
|
|
|| lk == 68127 // '$' 'external'
|
|
|| lk == 68128 // '%' 'external'
|
|
|| lk == 68372 // '{' 'external'
|
|
|| lk == 68639 // '$' 'first'
|
|
|| lk == 68640 // '%' 'first'
|
|
|| lk == 68884 // '{' 'first'
|
|
|| lk == 69151 // '$' 'following'
|
|
|| lk == 69152 // '%' 'following'
|
|
|| lk == 69396 // '{' 'following'
|
|
|| lk == 69663 // '$' 'following-sibling'
|
|
|| lk == 69664 // '%' 'following-sibling'
|
|
|| lk == 69908 // '{' 'following-sibling'
|
|
|| lk == 70175 // '$' 'for'
|
|
|| lk == 70176 // '%' 'for'
|
|
|| lk == 70420 // '{' 'for'
|
|
|| lk == 72223 // '$' 'ft-option'
|
|
|| lk == 72224 // '%' 'ft-option'
|
|
|| lk == 72468 // '{' 'ft-option'
|
|
|| lk == 74271 // '$' 'function'
|
|
|| lk == 74272 // '%' 'function'
|
|
|| lk == 74516 // '{' 'function'
|
|
|| lk == 74783 // '$' 'ge'
|
|
|| lk == 74784 // '%' 'ge'
|
|
|| lk == 75028 // '{' 'ge'
|
|
|| lk == 75807 // '$' 'group'
|
|
|| lk == 75808 // '%' 'group'
|
|
|| lk == 76052 // '{' 'group'
|
|
|| lk == 76831 // '$' 'gt'
|
|
|| lk == 76832 // '%' 'gt'
|
|
|| lk == 77076 // '{' 'gt'
|
|
|| lk == 77343 // '$' 'idiv'
|
|
|| lk == 77344 // '%' 'idiv'
|
|
|| lk == 77588 // '{' 'idiv'
|
|
|| lk == 77855 // '$' 'if'
|
|
|| lk == 77856 // '%' 'if'
|
|
|| lk == 78100 // '{' 'if'
|
|
|| lk == 78367 // '$' 'import'
|
|
|| lk == 78368 // '%' 'import'
|
|
|| lk == 78612 // '{' 'import'
|
|
|| lk == 78879 // '$' 'in'
|
|
|| lk == 78880 // '%' 'in'
|
|
|| lk == 79124 // '{' 'in'
|
|
|| lk == 79391 // '$' 'index'
|
|
|| lk == 79392 // '%' 'index'
|
|
|| lk == 79636 // '{' 'index'
|
|
|| lk == 81439 // '$' 'insert'
|
|
|| lk == 81440 // '%' 'insert'
|
|
|| lk == 81684 // '{' 'insert'
|
|
|| lk == 81951 // '$' 'instance'
|
|
|| lk == 81952 // '%' 'instance'
|
|
|| lk == 82196 // '{' 'instance'
|
|
|| lk == 82463 // '$' 'integrity'
|
|
|| lk == 82464 // '%' 'integrity'
|
|
|| lk == 82708 // '{' 'integrity'
|
|
|| lk == 82975 // '$' 'intersect'
|
|
|| lk == 82976 // '%' 'intersect'
|
|
|| lk == 83220 // '{' 'intersect'
|
|
|| lk == 83487 // '$' 'into'
|
|
|| lk == 83488 // '%' 'into'
|
|
|| lk == 83732 // '{' 'into'
|
|
|| lk == 83999 // '$' 'is'
|
|
|| lk == 84000 // '%' 'is'
|
|
|| lk == 84244 // '{' 'is'
|
|
|| lk == 84511 // '$' 'item'
|
|
|| lk == 84512 // '%' 'item'
|
|
|| lk == 84756 // '{' 'item'
|
|
|| lk == 85023 // '$' 'json'
|
|
|| lk == 85024 // '%' 'json'
|
|
|| lk == 85268 // '{' 'json'
|
|
|| lk == 85535 // '$' 'json-item'
|
|
|| lk == 85536 // '%' 'json-item'
|
|
|| lk == 85780 // '{' 'json-item'
|
|
|| lk == 87071 // '$' 'last'
|
|
|| lk == 87072 // '%' 'last'
|
|
|| lk == 87316 // '{' 'last'
|
|
|| lk == 87583 // '$' 'lax'
|
|
|| lk == 87584 // '%' 'lax'
|
|
|| lk == 87828 // '{' 'lax'
|
|
|| lk == 88095 // '$' 'le'
|
|
|| lk == 88096 // '%' 'le'
|
|
|| lk == 88340 // '{' 'le'
|
|
|| lk == 89119 // '$' 'let'
|
|
|| lk == 89120 // '%' 'let'
|
|
|| lk == 89364 // '{' 'let'
|
|
|| lk == 90143 // '$' 'loop'
|
|
|| lk == 90144 // '%' 'loop'
|
|
|| lk == 90388 // '{' 'loop'
|
|
|| lk == 91167 // '$' 'lt'
|
|
|| lk == 91168 // '%' 'lt'
|
|
|| lk == 91412 // '{' 'lt'
|
|
|| lk == 92191 // '$' 'mod'
|
|
|| lk == 92192 // '%' 'mod'
|
|
|| lk == 92436 // '{' 'mod'
|
|
|| lk == 92703 // '$' 'modify'
|
|
|| lk == 92704 // '%' 'modify'
|
|
|| lk == 92948 // '{' 'modify'
|
|
|| lk == 93215 // '$' 'module'
|
|
|| lk == 93216 // '%' 'module'
|
|
|| lk == 93460 // '{' 'module'
|
|
|| lk == 94239 // '$' 'namespace'
|
|
|| lk == 94240 // '%' 'namespace'
|
|
|| lk == 94484 // '{' 'namespace'
|
|
|| lk == 94751 // '$' 'namespace-node'
|
|
|| lk == 94752 // '%' 'namespace-node'
|
|
|| lk == 94996 // '{' 'namespace-node'
|
|
|| lk == 95263 // '$' 'ne'
|
|
|| lk == 95264 // '%' 'ne'
|
|
|| lk == 95508 // '{' 'ne'
|
|
|| lk == 97823 // '$' 'node'
|
|
|| lk == 97824 // '%' 'node'
|
|
|| lk == 98068 // '{' 'node'
|
|
|| lk == 98335 // '$' 'nodes'
|
|
|| lk == 98336 // '%' 'nodes'
|
|
|| lk == 98580 // '{' 'nodes'
|
|
|| lk == 99359 // '$' 'object'
|
|
|| lk == 99360 // '%' 'object'
|
|
|| lk == 99604 // '{' 'object'
|
|
|| lk == 101407 // '$' 'only'
|
|
|| lk == 101408 // '%' 'only'
|
|
|| lk == 101652 // '{' 'only'
|
|
|| lk == 101919 // '$' 'option'
|
|
|| lk == 101920 // '%' 'option'
|
|
|| lk == 102164 // '{' 'option'
|
|
|| lk == 102431 // '$' 'or'
|
|
|| lk == 102432 // '%' 'or'
|
|
|| lk == 102676 // '{' 'or'
|
|
|| lk == 102943 // '$' 'order'
|
|
|| lk == 102944 // '%' 'order'
|
|
|| lk == 103188 // '{' 'order'
|
|
|| lk == 103455 // '$' 'ordered'
|
|
|| lk == 103456 // '%' 'ordered'
|
|
|| lk == 103700 // '{' 'ordered'
|
|
|| lk == 103967 // '$' 'ordering'
|
|
|| lk == 103968 // '%' 'ordering'
|
|
|| lk == 104212 // '{' 'ordering'
|
|
|| lk == 105503 // '$' 'parent'
|
|
|| lk == 105504 // '%' 'parent'
|
|
|| lk == 105748 // '{' 'parent'
|
|
|| lk == 108575 // '$' 'preceding'
|
|
|| lk == 108576 // '%' 'preceding'
|
|
|| lk == 108820 // '{' 'preceding'
|
|
|| lk == 109087 // '$' 'preceding-sibling'
|
|
|| lk == 109088 // '%' 'preceding-sibling'
|
|
|| lk == 109332 // '{' 'preceding-sibling'
|
|
|| lk == 110623 // '$' 'processing-instruction'
|
|
|| lk == 110624 // '%' 'processing-instruction'
|
|
|| lk == 110868 // '{' 'processing-instruction'
|
|
|| lk == 111647 // '$' 'rename'
|
|
|| lk == 111648 // '%' 'rename'
|
|
|| lk == 111892 // '{' 'rename'
|
|
|| lk == 112159 // '$' 'replace'
|
|
|| lk == 112160 // '%' 'replace'
|
|
|| lk == 112404 // '{' 'replace'
|
|
|| lk == 112671 // '$' 'return'
|
|
|| lk == 112672 // '%' 'return'
|
|
|| lk == 112916 // '{' 'return'
|
|
|| lk == 113183 // '$' 'returning'
|
|
|| lk == 113184 // '%' 'returning'
|
|
|| lk == 113428 // '{' 'returning'
|
|
|| lk == 113695 // '$' 'revalidation'
|
|
|| lk == 113696 // '%' 'revalidation'
|
|
|| lk == 113940 // '{' 'revalidation'
|
|
|| lk == 114719 // '$' 'satisfies'
|
|
|| lk == 114720 // '%' 'satisfies'
|
|
|| lk == 114964 // '{' 'satisfies'
|
|
|| lk == 115231 // '$' 'schema'
|
|
|| lk == 115232 // '%' 'schema'
|
|
|| lk == 115476 // '{' 'schema'
|
|
|| lk == 115743 // '$' 'schema-attribute'
|
|
|| lk == 115744 // '%' 'schema-attribute'
|
|
|| lk == 115988 // '{' 'schema-attribute'
|
|
|| lk == 116255 // '$' 'schema-element'
|
|
|| lk == 116256 // '%' 'schema-element'
|
|
|| lk == 116500 // '{' 'schema-element'
|
|
|| lk == 116767 // '$' 'score'
|
|
|| lk == 116768 // '%' 'score'
|
|
|| lk == 117012 // '{' 'score'
|
|
|| lk == 117279 // '$' 'self'
|
|
|| lk == 117280 // '%' 'self'
|
|
|| lk == 117524 // '{' 'self'
|
|
|| lk == 119839 // '$' 'sliding'
|
|
|| lk == 119840 // '%' 'sliding'
|
|
|| lk == 120084 // '{' 'sliding'
|
|
|| lk == 120351 // '$' 'some'
|
|
|| lk == 120352 // '%' 'some'
|
|
|| lk == 120596 // '{' 'some'
|
|
|| lk == 120863 // '$' 'stable'
|
|
|| lk == 120864 // '%' 'stable'
|
|
|| lk == 121108 // '{' 'stable'
|
|
|| lk == 121375 // '$' 'start'
|
|
|| lk == 121376 // '%' 'start'
|
|
|| lk == 121620 // '{' 'start'
|
|
|| lk == 122911 // '$' 'strict'
|
|
|| lk == 122912 // '%' 'strict'
|
|
|| lk == 123156 // '{' 'strict'
|
|
|| lk == 123935 // '$' 'structured-item'
|
|
|| lk == 123936 // '%' 'structured-item'
|
|
|| lk == 124180 // '{' 'structured-item'
|
|
|| lk == 124447 // '$' 'switch'
|
|
|| lk == 124448 // '%' 'switch'
|
|
|| lk == 124692 // '{' 'switch'
|
|
|| lk == 124959 // '$' 'text'
|
|
|| lk == 124960 // '%' 'text'
|
|
|| lk == 125204 // '{' 'text'
|
|
|| lk == 127007 // '$' 'to'
|
|
|| lk == 127008 // '%' 'to'
|
|
|| lk == 127252 // '{' 'to'
|
|
|| lk == 127519 // '$' 'treat'
|
|
|| lk == 127520 // '%' 'treat'
|
|
|| lk == 127764 // '{' 'treat'
|
|
|| lk == 128031 // '$' 'try'
|
|
|| lk == 128032 // '%' 'try'
|
|
|| lk == 128276 // '{' 'try'
|
|
|| lk == 128543 // '$' 'tumbling'
|
|
|| lk == 128544 // '%' 'tumbling'
|
|
|| lk == 128788 // '{' 'tumbling'
|
|
|| lk == 129055 // '$' 'type'
|
|
|| lk == 129056 // '%' 'type'
|
|
|| lk == 129300 // '{' 'type'
|
|
|| lk == 129567 // '$' 'typeswitch'
|
|
|| lk == 129568 // '%' 'typeswitch'
|
|
|| lk == 129812 // '{' 'typeswitch'
|
|
|| lk == 130079 // '$' 'union'
|
|
|| lk == 130080 // '%' 'union'
|
|
|| lk == 130324 // '{' 'union'
|
|
|| lk == 131103 // '$' 'unordered'
|
|
|| lk == 131104 // '%' 'unordered'
|
|
|| lk == 131348 // '{' 'unordered'
|
|
|| lk == 131615 // '$' 'updating'
|
|
|| lk == 131616 // '%' 'updating'
|
|
|| lk == 131860 // '{' 'updating'
|
|
|| lk == 133151 // '$' 'validate'
|
|
|| lk == 133152 // '%' 'validate'
|
|
|| lk == 133396 // '{' 'validate'
|
|
|| lk == 133663 // '$' 'value'
|
|
|| lk == 133664 // '%' 'value'
|
|
|| lk == 133908 // '{' 'value'
|
|
|| lk == 134175 // '$' 'variable'
|
|
|| lk == 134176 // '%' 'variable'
|
|
|| lk == 134420 // '{' 'variable'
|
|
|| lk == 134687 // '$' 'version'
|
|
|| lk == 134688 // '%' 'version'
|
|
|| lk == 134932 // '{' 'version'
|
|
|| lk == 136223 // '$' 'where'
|
|
|| lk == 136224 // '%' 'where'
|
|
|| lk == 136468 // '{' 'where'
|
|
|| lk == 136735 // '$' 'while'
|
|
|| lk == 136736 // '%' 'while'
|
|
|| lk == 136980 // '{' 'while'
|
|
|| lk == 138271 // '$' 'with'
|
|
|| lk == 138272 // '%' 'with'
|
|
|| lk == 138516 // '{' 'with'
|
|
|| lk == 140319 // '$' 'xquery'
|
|
|| lk == 140320 // '%' 'xquery'
|
|
|| lk == 140564 // '{' 'xquery'
|
|
|| lk == 141588 // '{' '{'
|
|
|| lk == 142612 // '{' '{|'
|
|
|| lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(7, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ApplyStatement();
|
|
memoize(7, e0A, -1);
|
|
lk = -15;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_AssignStatement();
|
|
memoize(7, e0A, -2);
|
|
lk = -15;
|
|
}
|
|
catch (p2A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_BlockStatement();
|
|
memoize(7, e0A, -3);
|
|
lk = -15;
|
|
}
|
|
catch (p3A)
|
|
{
|
|
try
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
try_VarDeclStatement();
|
|
memoize(7, e0A, -12);
|
|
lk = -15;
|
|
}
|
|
catch (p12A)
|
|
{
|
|
lk = -13;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(7, e0A, -13);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -2:
|
|
try_AssignStatement();
|
|
break;
|
|
case -3:
|
|
try_BlockStatement();
|
|
break;
|
|
case 90198: // 'break' 'loop'
|
|
try_BreakStatement();
|
|
break;
|
|
case 90214: // 'continue' 'loop'
|
|
try_ContinueStatement();
|
|
break;
|
|
case 113284: // 'exit' 'returning'
|
|
try_ExitStatement();
|
|
break;
|
|
case 16009: // 'for' '$'
|
|
case 16046: // 'let' '$'
|
|
case 116910: // 'let' 'score'
|
|
case 119945: // 'for' 'sliding'
|
|
case 128649: // 'for' 'tumbling'
|
|
try_FLWORStatement();
|
|
break;
|
|
case 17560: // 'if' '('
|
|
try_IfStatement();
|
|
break;
|
|
case 17651: // 'switch' '('
|
|
try_SwitchStatement();
|
|
break;
|
|
case 141562: // 'try' '{'
|
|
try_TryCatchStatement();
|
|
break;
|
|
case 17661: // 'typeswitch' '('
|
|
try_TypeswitchStatement();
|
|
break;
|
|
case -12:
|
|
case 16134: // 'variable' '$'
|
|
try_VarDeclStatement();
|
|
break;
|
|
case -13:
|
|
try_WhileStatement();
|
|
break;
|
|
case 53: // ';'
|
|
try_VoidStatement();
|
|
break;
|
|
case -15:
|
|
break;
|
|
default:
|
|
try_ApplyStatement();
|
|
}
|
|
}
|
|
|
|
function parse_ApplyStatement()
|
|
{
|
|
eventHandler.startNonterminal("ApplyStatement", e0);
|
|
parse_ExprSimple();
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("ApplyStatement", e0);
|
|
}
|
|
|
|
function try_ApplyStatement()
|
|
{
|
|
try_ExprSimple();
|
|
shiftT(53); // ';'
|
|
}
|
|
|
|
function parse_AssignStatement()
|
|
{
|
|
eventHandler.startNonterminal("AssignStatement", e0);
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("AssignStatement", e0);
|
|
}
|
|
|
|
function try_AssignStatement()
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(27); // S^WS | '(:' | ':='
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(53); // ';'
|
|
}
|
|
|
|
function parse_BlockStatement()
|
|
{
|
|
eventHandler.startNonterminal("BlockStatement", e0);
|
|
shift(276); // '{'
|
|
lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statements();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("BlockStatement", e0);
|
|
}
|
|
|
|
function try_BlockStatement()
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statements();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_BreakStatement()
|
|
{
|
|
eventHandler.startNonterminal("BreakStatement", e0);
|
|
shift(86); // 'break'
|
|
lookahead1W(59); // S^WS | '(:' | 'loop'
|
|
shift(176); // 'loop'
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("BreakStatement", e0);
|
|
}
|
|
|
|
function try_BreakStatement()
|
|
{
|
|
shiftT(86); // 'break'
|
|
lookahead1W(59); // S^WS | '(:' | 'loop'
|
|
shiftT(176); // 'loop'
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
shiftT(53); // ';'
|
|
}
|
|
|
|
function parse_ContinueStatement()
|
|
{
|
|
eventHandler.startNonterminal("ContinueStatement", e0);
|
|
shift(102); // 'continue'
|
|
lookahead1W(59); // S^WS | '(:' | 'loop'
|
|
shift(176); // 'loop'
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("ContinueStatement", e0);
|
|
}
|
|
|
|
function try_ContinueStatement()
|
|
{
|
|
shiftT(102); // 'continue'
|
|
lookahead1W(59); // S^WS | '(:' | 'loop'
|
|
shiftT(176); // 'loop'
|
|
lookahead1W(28); // S^WS | '(:' | ';'
|
|
shiftT(53); // ';'
|
|
}
|
|
|
|
function parse_ExitStatement()
|
|
{
|
|
eventHandler.startNonterminal("ExitStatement", e0);
|
|
shift(132); // 'exit'
|
|
lookahead1W(71); // S^WS | '(:' | 'returning'
|
|
shift(221); // 'returning'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("ExitStatement", e0);
|
|
}
|
|
|
|
function try_ExitStatement()
|
|
{
|
|
shiftT(132); // 'exit'
|
|
lookahead1W(71); // S^WS | '(:' | 'returning'
|
|
shiftT(221); // 'returning'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(53); // ';'
|
|
}
|
|
|
|
function parse_FLWORStatement()
|
|
{
|
|
eventHandler.startNonterminal("FLWORStatement", e0);
|
|
parse_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 220) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_IntermediateClause();
|
|
}
|
|
whitespace();
|
|
parse_ReturnStatement();
|
|
eventHandler.endNonterminal("FLWORStatement", e0);
|
|
}
|
|
|
|
function try_FLWORStatement()
|
|
{
|
|
try_InitialClause();
|
|
for (;;)
|
|
{
|
|
lookahead1W(173); // S^WS | '(:' | 'count' | 'for' | 'group' | 'let' | 'order' | 'return' | 'stable' |
|
|
if (l1 == 220) // 'return'
|
|
{
|
|
break;
|
|
}
|
|
try_IntermediateClause();
|
|
}
|
|
try_ReturnStatement();
|
|
}
|
|
|
|
function parse_ReturnStatement()
|
|
{
|
|
eventHandler.startNonterminal("ReturnStatement", e0);
|
|
shift(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("ReturnStatement", e0);
|
|
}
|
|
|
|
function try_ReturnStatement()
|
|
{
|
|
shiftT(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_IfStatement()
|
|
{
|
|
eventHandler.startNonterminal("IfStatement", e0);
|
|
shift(152); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(37); // ')'
|
|
lookahead1W(77); // S^WS | '(:' | 'then'
|
|
shift(245); // 'then'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
lookahead1W(48); // S^WS | '(:' | 'else'
|
|
shift(122); // 'else'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("IfStatement", e0);
|
|
}
|
|
|
|
function try_IfStatement()
|
|
{
|
|
shiftT(152); // 'if'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(37); // ')'
|
|
lookahead1W(77); // S^WS | '(:' | 'then'
|
|
shiftT(245); // 'then'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
lookahead1W(48); // S^WS | '(:' | 'else'
|
|
shiftT(122); // 'else'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_SwitchStatement()
|
|
{
|
|
eventHandler.startNonterminal("SwitchStatement", e0);
|
|
shift(243); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_SwitchCaseStatement();
|
|
lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(109); // 'default'
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shift(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("SwitchStatement", e0);
|
|
}
|
|
|
|
function try_SwitchStatement()
|
|
{
|
|
shiftT(243); // 'switch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
try_SwitchCaseStatement();
|
|
lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(109); // 'default'
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shiftT(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_SwitchCaseStatement()
|
|
{
|
|
eventHandler.startNonterminal("SwitchCaseStatement", e0);
|
|
for (;;)
|
|
{
|
|
shift(88); // 'case'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_SwitchCaseOperand();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("SwitchCaseStatement", e0);
|
|
}
|
|
|
|
function try_SwitchCaseStatement()
|
|
{
|
|
for (;;)
|
|
{
|
|
shiftT(88); // 'case'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_SwitchCaseOperand();
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_TryCatchStatement()
|
|
{
|
|
eventHandler.startNonterminal("TryCatchStatement", e0);
|
|
shift(250); // 'try'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockStatement();
|
|
for (;;)
|
|
{
|
|
lookahead1W(36); // S^WS | '(:' | 'catch'
|
|
shift(91); // 'catch'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_CatchErrorList();
|
|
whitespace();
|
|
parse_BlockStatement();
|
|
lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 91: // 'catch'
|
|
lookahead2W(278); // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 38491 // 'catch' 'and'
|
|
|| lk == 45659 // 'catch' 'cast'
|
|
|| lk == 46171 // 'catch' 'castable'
|
|
|| lk == 60507 // 'catch' 'div'
|
|
|| lk == 65627 // 'catch' 'eq'
|
|
|| lk == 67163 // 'catch' 'except'
|
|
|| lk == 74843 // 'catch' 'ge'
|
|
|| lk == 76891 // 'catch' 'gt'
|
|
|| lk == 77403 // 'catch' 'idiv'
|
|
|| lk == 82011 // 'catch' 'instance'
|
|
|| lk == 83035 // 'catch' 'intersect'
|
|
|| lk == 84059 // 'catch' 'is'
|
|
|| lk == 88155 // 'catch' 'le'
|
|
|| lk == 91227 // 'catch' 'lt'
|
|
|| lk == 92251 // 'catch' 'mod'
|
|
|| lk == 95323 // 'catch' 'ne'
|
|
|| lk == 102491 // 'catch' 'or'
|
|
|| lk == 127067 // 'catch' 'to'
|
|
|| lk == 127579 // 'catch' 'treat'
|
|
|| lk == 130139) // 'catch' 'union'
|
|
{
|
|
lk = memoized(8, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
lookahead1W(36); // S^WS | '(:' | 'catch'
|
|
shiftT(91); // 'catch'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CatchErrorList();
|
|
try_BlockStatement();
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(8, e0, lk);
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 2651 // 'catch' Wildcard
|
|
&& lk != 3163 // 'catch' EQName^Token
|
|
&& lk != 35931 // 'catch' 'after'
|
|
&& lk != 36955 // 'catch' 'allowing'
|
|
&& lk != 37467 // 'catch' 'ancestor'
|
|
&& lk != 37979 // 'catch' 'ancestor-or-self'
|
|
&& lk != 39515 // 'catch' 'append'
|
|
&& lk != 40027 // 'catch' 'array'
|
|
&& lk != 40539 // 'catch' 'as'
|
|
&& lk != 41051 // 'catch' 'ascending'
|
|
&& lk != 41563 // 'catch' 'at'
|
|
&& lk != 42075 // 'catch' 'attribute'
|
|
&& lk != 42587 // 'catch' 'base-uri'
|
|
&& lk != 43099 // 'catch' 'before'
|
|
&& lk != 43611 // 'catch' 'boundary-space'
|
|
&& lk != 44123 // 'catch' 'break'
|
|
&& lk != 45147 // 'catch' 'case'
|
|
&& lk != 46683 // 'catch' 'catch'
|
|
&& lk != 47707 // 'catch' 'child'
|
|
&& lk != 48219 // 'catch' 'collation'
|
|
&& lk != 49243 // 'catch' 'comment'
|
|
&& lk != 49755 // 'catch' 'constraint'
|
|
&& lk != 50267 // 'catch' 'construction'
|
|
&& lk != 51803 // 'catch' 'context'
|
|
&& lk != 52315 // 'catch' 'continue'
|
|
&& lk != 52827 // 'catch' 'copy'
|
|
&& lk != 53339 // 'catch' 'copy-namespaces'
|
|
&& lk != 53851 // 'catch' 'count'
|
|
&& lk != 54363 // 'catch' 'decimal-format'
|
|
&& lk != 55387 // 'catch' 'declare'
|
|
&& lk != 55899 // 'catch' 'default'
|
|
&& lk != 56411 // 'catch' 'delete'
|
|
&& lk != 56923 // 'catch' 'descendant'
|
|
&& lk != 57435 // 'catch' 'descendant-or-self'
|
|
&& lk != 57947 // 'catch' 'descending'
|
|
&& lk != 61019 // 'catch' 'document'
|
|
&& lk != 61531 // 'catch' 'document-node'
|
|
&& lk != 62043 // 'catch' 'element'
|
|
&& lk != 62555 // 'catch' 'else'
|
|
&& lk != 63067 // 'catch' 'empty'
|
|
&& lk != 63579 // 'catch' 'empty-sequence'
|
|
&& lk != 64091 // 'catch' 'encoding'
|
|
&& lk != 64603 // 'catch' 'end'
|
|
&& lk != 66139 // 'catch' 'every'
|
|
&& lk != 67675 // 'catch' 'exit'
|
|
&& lk != 68187 // 'catch' 'external'
|
|
&& lk != 68699 // 'catch' 'first'
|
|
&& lk != 69211 // 'catch' 'following'
|
|
&& lk != 69723 // 'catch' 'following-sibling'
|
|
&& lk != 70235 // 'catch' 'for'
|
|
&& lk != 72283 // 'catch' 'ft-option'
|
|
&& lk != 74331 // 'catch' 'function'
|
|
&& lk != 75867 // 'catch' 'group'
|
|
&& lk != 77915 // 'catch' 'if'
|
|
&& lk != 78427 // 'catch' 'import'
|
|
&& lk != 78939 // 'catch' 'in'
|
|
&& lk != 79451 // 'catch' 'index'
|
|
&& lk != 81499 // 'catch' 'insert'
|
|
&& lk != 82523 // 'catch' 'integrity'
|
|
&& lk != 83547 // 'catch' 'into'
|
|
&& lk != 84571 // 'catch' 'item'
|
|
&& lk != 85083 // 'catch' 'json'
|
|
&& lk != 85595 // 'catch' 'json-item'
|
|
&& lk != 87131 // 'catch' 'last'
|
|
&& lk != 87643 // 'catch' 'lax'
|
|
&& lk != 89179 // 'catch' 'let'
|
|
&& lk != 90203 // 'catch' 'loop'
|
|
&& lk != 92763 // 'catch' 'modify'
|
|
&& lk != 93275 // 'catch' 'module'
|
|
&& lk != 94299 // 'catch' 'namespace'
|
|
&& lk != 94811 // 'catch' 'namespace-node'
|
|
&& lk != 97883 // 'catch' 'node'
|
|
&& lk != 98395 // 'catch' 'nodes'
|
|
&& lk != 99419 // 'catch' 'object'
|
|
&& lk != 101467 // 'catch' 'only'
|
|
&& lk != 101979 // 'catch' 'option'
|
|
&& lk != 103003 // 'catch' 'order'
|
|
&& lk != 103515 // 'catch' 'ordered'
|
|
&& lk != 104027 // 'catch' 'ordering'
|
|
&& lk != 105563 // 'catch' 'parent'
|
|
&& lk != 108635 // 'catch' 'preceding'
|
|
&& lk != 109147 // 'catch' 'preceding-sibling'
|
|
&& lk != 110683 // 'catch' 'processing-instruction'
|
|
&& lk != 111707 // 'catch' 'rename'
|
|
&& lk != 112219 // 'catch' 'replace'
|
|
&& lk != 112731 // 'catch' 'return'
|
|
&& lk != 113243 // 'catch' 'returning'
|
|
&& lk != 113755 // 'catch' 'revalidation'
|
|
&& lk != 114779 // 'catch' 'satisfies'
|
|
&& lk != 115291 // 'catch' 'schema'
|
|
&& lk != 115803 // 'catch' 'schema-attribute'
|
|
&& lk != 116315 // 'catch' 'schema-element'
|
|
&& lk != 116827 // 'catch' 'score'
|
|
&& lk != 117339 // 'catch' 'self'
|
|
&& lk != 119899 // 'catch' 'sliding'
|
|
&& lk != 120411 // 'catch' 'some'
|
|
&& lk != 120923 // 'catch' 'stable'
|
|
&& lk != 121435 // 'catch' 'start'
|
|
&& lk != 122971 // 'catch' 'strict'
|
|
&& lk != 123995 // 'catch' 'structured-item'
|
|
&& lk != 124507 // 'catch' 'switch'
|
|
&& lk != 125019 // 'catch' 'text'
|
|
&& lk != 128091 // 'catch' 'try'
|
|
&& lk != 128603 // 'catch' 'tumbling'
|
|
&& lk != 129115 // 'catch' 'type'
|
|
&& lk != 129627 // 'catch' 'typeswitch'
|
|
&& lk != 131163 // 'catch' 'unordered'
|
|
&& lk != 131675 // 'catch' 'updating'
|
|
&& lk != 133211 // 'catch' 'validate'
|
|
&& lk != 133723 // 'catch' 'value'
|
|
&& lk != 134235 // 'catch' 'variable'
|
|
&& lk != 134747 // 'catch' 'version'
|
|
&& lk != 136283 // 'catch' 'where'
|
|
&& lk != 136795 // 'catch' 'while'
|
|
&& lk != 138331 // 'catch' 'with'
|
|
&& lk != 140379) // 'catch' 'xquery'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
eventHandler.endNonterminal("TryCatchStatement", e0);
|
|
}
|
|
|
|
function try_TryCatchStatement()
|
|
{
|
|
shiftT(250); // 'try'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
try_BlockStatement();
|
|
lookahead1W(36); // S^WS | '(:' | 'catch'
|
|
shiftT(91); // 'catch'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CatchErrorList();
|
|
try_BlockStatement();
|
|
for (;;)
|
|
{
|
|
lookahead1W(277); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
switch (l1)
|
|
{
|
|
case 91: // 'catch'
|
|
lookahead2W(278); // Wildcard | EQName^Token | S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | '*' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 38491 // 'catch' 'and'
|
|
|| lk == 45659 // 'catch' 'cast'
|
|
|| lk == 46171 // 'catch' 'castable'
|
|
|| lk == 60507 // 'catch' 'div'
|
|
|| lk == 65627 // 'catch' 'eq'
|
|
|| lk == 67163 // 'catch' 'except'
|
|
|| lk == 74843 // 'catch' 'ge'
|
|
|| lk == 76891 // 'catch' 'gt'
|
|
|| lk == 77403 // 'catch' 'idiv'
|
|
|| lk == 82011 // 'catch' 'instance'
|
|
|| lk == 83035 // 'catch' 'intersect'
|
|
|| lk == 84059 // 'catch' 'is'
|
|
|| lk == 88155 // 'catch' 'le'
|
|
|| lk == 91227 // 'catch' 'lt'
|
|
|| lk == 92251 // 'catch' 'mod'
|
|
|| lk == 95323 // 'catch' 'ne'
|
|
|| lk == 102491 // 'catch' 'or'
|
|
|| lk == 127067 // 'catch' 'to'
|
|
|| lk == 127579 // 'catch' 'treat'
|
|
|| lk == 130139) // 'catch' 'union'
|
|
{
|
|
lk = memoized(8, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
lookahead1W(36); // S^WS | '(:' | 'catch'
|
|
shiftT(91); // 'catch'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CatchErrorList();
|
|
try_BlockStatement();
|
|
memoize(8, e0A, -1);
|
|
continue;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(8, e0A, -2);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (lk != -1
|
|
&& lk != 2651 // 'catch' Wildcard
|
|
&& lk != 3163 // 'catch' EQName^Token
|
|
&& lk != 35931 // 'catch' 'after'
|
|
&& lk != 36955 // 'catch' 'allowing'
|
|
&& lk != 37467 // 'catch' 'ancestor'
|
|
&& lk != 37979 // 'catch' 'ancestor-or-self'
|
|
&& lk != 39515 // 'catch' 'append'
|
|
&& lk != 40027 // 'catch' 'array'
|
|
&& lk != 40539 // 'catch' 'as'
|
|
&& lk != 41051 // 'catch' 'ascending'
|
|
&& lk != 41563 // 'catch' 'at'
|
|
&& lk != 42075 // 'catch' 'attribute'
|
|
&& lk != 42587 // 'catch' 'base-uri'
|
|
&& lk != 43099 // 'catch' 'before'
|
|
&& lk != 43611 // 'catch' 'boundary-space'
|
|
&& lk != 44123 // 'catch' 'break'
|
|
&& lk != 45147 // 'catch' 'case'
|
|
&& lk != 46683 // 'catch' 'catch'
|
|
&& lk != 47707 // 'catch' 'child'
|
|
&& lk != 48219 // 'catch' 'collation'
|
|
&& lk != 49243 // 'catch' 'comment'
|
|
&& lk != 49755 // 'catch' 'constraint'
|
|
&& lk != 50267 // 'catch' 'construction'
|
|
&& lk != 51803 // 'catch' 'context'
|
|
&& lk != 52315 // 'catch' 'continue'
|
|
&& lk != 52827 // 'catch' 'copy'
|
|
&& lk != 53339 // 'catch' 'copy-namespaces'
|
|
&& lk != 53851 // 'catch' 'count'
|
|
&& lk != 54363 // 'catch' 'decimal-format'
|
|
&& lk != 55387 // 'catch' 'declare'
|
|
&& lk != 55899 // 'catch' 'default'
|
|
&& lk != 56411 // 'catch' 'delete'
|
|
&& lk != 56923 // 'catch' 'descendant'
|
|
&& lk != 57435 // 'catch' 'descendant-or-self'
|
|
&& lk != 57947 // 'catch' 'descending'
|
|
&& lk != 61019 // 'catch' 'document'
|
|
&& lk != 61531 // 'catch' 'document-node'
|
|
&& lk != 62043 // 'catch' 'element'
|
|
&& lk != 62555 // 'catch' 'else'
|
|
&& lk != 63067 // 'catch' 'empty'
|
|
&& lk != 63579 // 'catch' 'empty-sequence'
|
|
&& lk != 64091 // 'catch' 'encoding'
|
|
&& lk != 64603 // 'catch' 'end'
|
|
&& lk != 66139 // 'catch' 'every'
|
|
&& lk != 67675 // 'catch' 'exit'
|
|
&& lk != 68187 // 'catch' 'external'
|
|
&& lk != 68699 // 'catch' 'first'
|
|
&& lk != 69211 // 'catch' 'following'
|
|
&& lk != 69723 // 'catch' 'following-sibling'
|
|
&& lk != 70235 // 'catch' 'for'
|
|
&& lk != 72283 // 'catch' 'ft-option'
|
|
&& lk != 74331 // 'catch' 'function'
|
|
&& lk != 75867 // 'catch' 'group'
|
|
&& lk != 77915 // 'catch' 'if'
|
|
&& lk != 78427 // 'catch' 'import'
|
|
&& lk != 78939 // 'catch' 'in'
|
|
&& lk != 79451 // 'catch' 'index'
|
|
&& lk != 81499 // 'catch' 'insert'
|
|
&& lk != 82523 // 'catch' 'integrity'
|
|
&& lk != 83547 // 'catch' 'into'
|
|
&& lk != 84571 // 'catch' 'item'
|
|
&& lk != 85083 // 'catch' 'json'
|
|
&& lk != 85595 // 'catch' 'json-item'
|
|
&& lk != 87131 // 'catch' 'last'
|
|
&& lk != 87643 // 'catch' 'lax'
|
|
&& lk != 89179 // 'catch' 'let'
|
|
&& lk != 90203 // 'catch' 'loop'
|
|
&& lk != 92763 // 'catch' 'modify'
|
|
&& lk != 93275 // 'catch' 'module'
|
|
&& lk != 94299 // 'catch' 'namespace'
|
|
&& lk != 94811 // 'catch' 'namespace-node'
|
|
&& lk != 97883 // 'catch' 'node'
|
|
&& lk != 98395 // 'catch' 'nodes'
|
|
&& lk != 99419 // 'catch' 'object'
|
|
&& lk != 101467 // 'catch' 'only'
|
|
&& lk != 101979 // 'catch' 'option'
|
|
&& lk != 103003 // 'catch' 'order'
|
|
&& lk != 103515 // 'catch' 'ordered'
|
|
&& lk != 104027 // 'catch' 'ordering'
|
|
&& lk != 105563 // 'catch' 'parent'
|
|
&& lk != 108635 // 'catch' 'preceding'
|
|
&& lk != 109147 // 'catch' 'preceding-sibling'
|
|
&& lk != 110683 // 'catch' 'processing-instruction'
|
|
&& lk != 111707 // 'catch' 'rename'
|
|
&& lk != 112219 // 'catch' 'replace'
|
|
&& lk != 112731 // 'catch' 'return'
|
|
&& lk != 113243 // 'catch' 'returning'
|
|
&& lk != 113755 // 'catch' 'revalidation'
|
|
&& lk != 114779 // 'catch' 'satisfies'
|
|
&& lk != 115291 // 'catch' 'schema'
|
|
&& lk != 115803 // 'catch' 'schema-attribute'
|
|
&& lk != 116315 // 'catch' 'schema-element'
|
|
&& lk != 116827 // 'catch' 'score'
|
|
&& lk != 117339 // 'catch' 'self'
|
|
&& lk != 119899 // 'catch' 'sliding'
|
|
&& lk != 120411 // 'catch' 'some'
|
|
&& lk != 120923 // 'catch' 'stable'
|
|
&& lk != 121435 // 'catch' 'start'
|
|
&& lk != 122971 // 'catch' 'strict'
|
|
&& lk != 123995 // 'catch' 'structured-item'
|
|
&& lk != 124507 // 'catch' 'switch'
|
|
&& lk != 125019 // 'catch' 'text'
|
|
&& lk != 128091 // 'catch' 'try'
|
|
&& lk != 128603 // 'catch' 'tumbling'
|
|
&& lk != 129115 // 'catch' 'type'
|
|
&& lk != 129627 // 'catch' 'typeswitch'
|
|
&& lk != 131163 // 'catch' 'unordered'
|
|
&& lk != 131675 // 'catch' 'updating'
|
|
&& lk != 133211 // 'catch' 'validate'
|
|
&& lk != 133723 // 'catch' 'value'
|
|
&& lk != 134235 // 'catch' 'variable'
|
|
&& lk != 134747 // 'catch' 'version'
|
|
&& lk != 136283 // 'catch' 'where'
|
|
&& lk != 136795 // 'catch' 'while'
|
|
&& lk != 138331 // 'catch' 'with'
|
|
&& lk != 140379) // 'catch' 'xquery'
|
|
{
|
|
break;
|
|
}
|
|
lookahead1W(36); // S^WS | '(:' | 'catch'
|
|
shiftT(91); // 'catch'
|
|
lookahead1W(256); // Wildcard | EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_CatchErrorList();
|
|
try_BlockStatement();
|
|
}
|
|
}
|
|
|
|
function parse_TypeswitchStatement()
|
|
{
|
|
eventHandler.startNonterminal("TypeswitchStatement", e0);
|
|
shift(253); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
whitespace();
|
|
parse_CaseStatement();
|
|
lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shift(109); // 'default'
|
|
lookahead1W(95); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
}
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shift(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("TypeswitchStatement", e0);
|
|
}
|
|
|
|
function try_TypeswitchStatement()
|
|
{
|
|
shiftT(253); // 'typeswitch'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(37); // ')'
|
|
for (;;)
|
|
{
|
|
lookahead1W(35); // S^WS | '(:' | 'case'
|
|
try_CaseStatement();
|
|
lookahead1W(113); // S^WS | '(:' | 'case' | 'default'
|
|
if (l1 != 88) // 'case'
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
shiftT(109); // 'default'
|
|
lookahead1W(95); // S^WS | '$' | '(:' | 'return'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
}
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shiftT(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_CaseStatement()
|
|
{
|
|
eventHandler.startNonterminal("CaseStatement", e0);
|
|
shift(88); // 'case'
|
|
lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shift(79); // 'as'
|
|
}
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shift(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("CaseStatement", e0);
|
|
}
|
|
|
|
function try_CaseStatement()
|
|
{
|
|
shiftT(88); // 'case'
|
|
lookahead1W(261); // EQName^Token | S^WS | '$' | '%' | '(' | '(:' | 'after' | 'allowing' |
|
|
if (l1 == 31) // '$'
|
|
{
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(30); // S^WS | '(:' | 'as'
|
|
shiftT(79); // 'as'
|
|
}
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_SequenceType();
|
|
lookahead1W(70); // S^WS | '(:' | 'return'
|
|
shiftT(220); // 'return'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_VarDeclStatement()
|
|
{
|
|
eventHandler.startNonterminal("VarDeclStatement", e0);
|
|
for (;;)
|
|
{
|
|
lookahead1W(98); // S^WS | '%' | '(:' | 'variable'
|
|
if (l1 != 32) // '%'
|
|
{
|
|
break;
|
|
}
|
|
whitespace();
|
|
parse_Annotation();
|
|
}
|
|
shift(262); // 'variable'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 52) // ':='
|
|
{
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shift(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_VarName();
|
|
lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_TypeDeclaration();
|
|
}
|
|
lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 52) // ':='
|
|
{
|
|
shift(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
}
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("VarDeclStatement", e0);
|
|
}
|
|
|
|
function try_VarDeclStatement()
|
|
{
|
|
for (;;)
|
|
{
|
|
lookahead1W(98); // S^WS | '%' | '(:' | 'variable'
|
|
if (l1 != 32) // '%'
|
|
{
|
|
break;
|
|
}
|
|
try_Annotation();
|
|
}
|
|
shiftT(262); // 'variable'
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 52) // ':='
|
|
{
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(21); // S^WS | '$' | '(:'
|
|
shiftT(31); // '$'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
try_VarName();
|
|
lookahead1W(157); // S^WS | '(:' | ',' | ':=' | ';' | 'as'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
try_TypeDeclaration();
|
|
}
|
|
lookahead1W(145); // S^WS | '(:' | ',' | ':=' | ';'
|
|
if (l1 == 52) // ':='
|
|
{
|
|
shiftT(52); // ':='
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
shiftT(53); // ';'
|
|
}
|
|
|
|
function parse_WhileStatement()
|
|
{
|
|
eventHandler.startNonterminal("WhileStatement", e0);
|
|
shift(267); // 'while'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(37); // ')'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Statement();
|
|
eventHandler.endNonterminal("WhileStatement", e0);
|
|
}
|
|
|
|
function try_WhileStatement()
|
|
{
|
|
shiftT(267); // 'while'
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shiftT(34); // '('
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(37); // ')'
|
|
lookahead1W(269); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Statement();
|
|
}
|
|
|
|
function parse_VoidStatement()
|
|
{
|
|
eventHandler.startNonterminal("VoidStatement", e0);
|
|
shift(53); // ';'
|
|
eventHandler.endNonterminal("VoidStatement", e0);
|
|
}
|
|
|
|
function try_VoidStatement()
|
|
{
|
|
shiftT(53); // ';'
|
|
}
|
|
|
|
function parse_ExprSingle()
|
|
{
|
|
eventHandler.startNonterminal("ExprSingle", e0);
|
|
switch (l1)
|
|
{
|
|
case 137: // 'for'
|
|
lookahead2W(235); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
|
|
break;
|
|
case 174: // 'let'
|
|
lookahead2W(232); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
|
|
break;
|
|
case 250: // 'try'
|
|
lookahead2W(231); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 152: // 'if'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
lookahead2W(228); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16009: // 'for' '$'
|
|
case 16046: // 'let' '$'
|
|
case 116910: // 'let' 'score'
|
|
case 119945: // 'for' 'sliding'
|
|
case 128649: // 'for' 'tumbling'
|
|
parse_FLWORExpr();
|
|
break;
|
|
case 17560: // 'if' '('
|
|
parse_IfExpr();
|
|
break;
|
|
case 17651: // 'switch' '('
|
|
parse_SwitchExpr();
|
|
break;
|
|
case 141562: // 'try' '{'
|
|
parse_TryCatchExpr();
|
|
break;
|
|
case 17661: // 'typeswitch' '('
|
|
parse_TypeswitchExpr();
|
|
break;
|
|
default:
|
|
parse_ExprSimple();
|
|
}
|
|
eventHandler.endNonterminal("ExprSingle", e0);
|
|
}
|
|
|
|
function try_ExprSingle()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 137: // 'for'
|
|
lookahead2W(235); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
|
|
break;
|
|
case 174: // 'let'
|
|
lookahead2W(232); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
|
|
break;
|
|
case 250: // 'try'
|
|
lookahead2W(231); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 152: // 'if'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
lookahead2W(228); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16009: // 'for' '$'
|
|
case 16046: // 'let' '$'
|
|
case 116910: // 'let' 'score'
|
|
case 119945: // 'for' 'sliding'
|
|
case 128649: // 'for' 'tumbling'
|
|
try_FLWORExpr();
|
|
break;
|
|
case 17560: // 'if' '('
|
|
try_IfExpr();
|
|
break;
|
|
case 17651: // 'switch' '('
|
|
try_SwitchExpr();
|
|
break;
|
|
case 141562: // 'try' '{'
|
|
try_TryCatchExpr();
|
|
break;
|
|
case 17661: // 'typeswitch' '('
|
|
try_TypeswitchExpr();
|
|
break;
|
|
default:
|
|
try_ExprSimple();
|
|
}
|
|
}
|
|
|
|
function parse_ExprSimple()
|
|
{
|
|
eventHandler.startNonterminal("ExprSimple", e0);
|
|
switch (l1)
|
|
{
|
|
case 77: // 'append'
|
|
lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 218: // 'rename'
|
|
lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 219: // 'replace'
|
|
lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 110: // 'delete'
|
|
case 159: // 'insert'
|
|
lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 103: // 'copy'
|
|
case 129: // 'every'
|
|
case 235: // 'some'
|
|
lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 133851) // 'replace' 'value'
|
|
{
|
|
lk = memoized(9, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ReplaceExpr();
|
|
lk = -6;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
lk = -11;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(9, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16001: // 'every' '$'
|
|
case 16107: // 'some' '$'
|
|
parse_QuantifiedExpr();
|
|
break;
|
|
case 97951: // 'insert' 'node'
|
|
case 98463: // 'insert' 'nodes'
|
|
parse_InsertExpr();
|
|
break;
|
|
case 97902: // 'delete' 'node'
|
|
case 98414: // 'delete' 'nodes'
|
|
parse_DeleteExpr();
|
|
break;
|
|
case 98010: // 'rename' 'node'
|
|
parse_RenameExpr();
|
|
break;
|
|
case -6:
|
|
case 98011: // 'replace' 'node'
|
|
parse_ReplaceExpr();
|
|
break;
|
|
case 15975: // 'copy' '$'
|
|
parse_TransformExpr();
|
|
break;
|
|
case 85102: // 'delete' 'json'
|
|
parse_JSONDeleteExpr();
|
|
break;
|
|
case 85151: // 'insert' 'json'
|
|
parse_JSONInsertExpr();
|
|
break;
|
|
case 85210: // 'rename' 'json'
|
|
parse_JSONRenameExpr();
|
|
break;
|
|
case -11:
|
|
parse_JSONReplaceExpr();
|
|
break;
|
|
case 85069: // 'append' 'json'
|
|
parse_JSONAppendExpr();
|
|
break;
|
|
default:
|
|
parse_OrExpr();
|
|
}
|
|
eventHandler.endNonterminal("ExprSimple", e0);
|
|
}
|
|
|
|
function try_ExprSimple()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 77: // 'append'
|
|
lookahead2W(230); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 218: // 'rename'
|
|
lookahead2W(233); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 219: // 'replace'
|
|
lookahead2W(234); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 110: // 'delete'
|
|
case 159: // 'insert'
|
|
lookahead2W(236); // S^WS | EOF | '!' | '!=' | '#' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' | '/' |
|
|
break;
|
|
case 103: // 'copy'
|
|
case 129: // 'every'
|
|
case 235: // 'some'
|
|
lookahead2W(229); // S^WS | EOF | '!' | '!=' | '#' | '$' | '(' | '(:' | ')' | '*' | '+' | ',' | '-' |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 133851) // 'replace' 'value'
|
|
{
|
|
lk = memoized(9, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_ReplaceExpr();
|
|
memoize(9, e0A, -6);
|
|
lk = -13;
|
|
}
|
|
catch (p6A)
|
|
{
|
|
lk = -11;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(9, e0A, -11);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 16001: // 'every' '$'
|
|
case 16107: // 'some' '$'
|
|
try_QuantifiedExpr();
|
|
break;
|
|
case 97951: // 'insert' 'node'
|
|
case 98463: // 'insert' 'nodes'
|
|
try_InsertExpr();
|
|
break;
|
|
case 97902: // 'delete' 'node'
|
|
case 98414: // 'delete' 'nodes'
|
|
try_DeleteExpr();
|
|
break;
|
|
case 98010: // 'rename' 'node'
|
|
try_RenameExpr();
|
|
break;
|
|
case -6:
|
|
case 98011: // 'replace' 'node'
|
|
try_ReplaceExpr();
|
|
break;
|
|
case 15975: // 'copy' '$'
|
|
try_TransformExpr();
|
|
break;
|
|
case 85102: // 'delete' 'json'
|
|
try_JSONDeleteExpr();
|
|
break;
|
|
case 85151: // 'insert' 'json'
|
|
try_JSONInsertExpr();
|
|
break;
|
|
case 85210: // 'rename' 'json'
|
|
try_JSONRenameExpr();
|
|
break;
|
|
case -11:
|
|
try_JSONReplaceExpr();
|
|
break;
|
|
case 85069: // 'append' 'json'
|
|
try_JSONAppendExpr();
|
|
break;
|
|
case -13:
|
|
break;
|
|
default:
|
|
try_OrExpr();
|
|
}
|
|
}
|
|
|
|
function parse_JSONDeleteExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONDeleteExpr", e0);
|
|
shift(110); // 'delete'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shift(166); // 'json'
|
|
lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PostfixExpr();
|
|
eventHandler.endNonterminal("JSONDeleteExpr", e0);
|
|
}
|
|
|
|
function try_JSONDeleteExpr()
|
|
{
|
|
shiftT(110); // 'delete'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PostfixExpr();
|
|
}
|
|
|
|
function parse_JSONInsertExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONInsertExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 159: // 'insert'
|
|
lookahead2W(56); // S^WS | '(:' | 'json'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
lk = memoized(10, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(159); // 'insert'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(69); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 108113) // 'at' 'position'
|
|
{
|
|
lk = memoized(11, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shiftT(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
memoize(11, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(11, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shiftT(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(10, e0, lk);
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shift(159); // 'insert'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shift(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(69); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 108113) // 'at' 'position'
|
|
{
|
|
lk = memoized(11, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shiftT(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
lk = -1;
|
|
}
|
|
catch (p1B)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(11, e0, lk);
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shift(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shift(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
break;
|
|
default:
|
|
shift(159); // 'insert'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shift(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_PairConstructorList();
|
|
shift(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
}
|
|
eventHandler.endNonterminal("JSONInsertExpr", e0);
|
|
}
|
|
|
|
function try_JSONInsertExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 159: // 'insert'
|
|
lookahead2W(56); // S^WS | '(:' | 'json'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
lk = memoized(10, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(159); // 'insert'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(69); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 108113) // 'at' 'position'
|
|
{
|
|
lk = memoized(11, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shiftT(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
memoize(11, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(11, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shiftT(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
memoize(10, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(10, e0A, -2);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shiftT(159); // 'insert'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
switch (l1)
|
|
{
|
|
case 81: // 'at'
|
|
lookahead2W(69); // S^WS | '(:' | 'position'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 108113) // 'at' 'position'
|
|
{
|
|
lk = memoized(11, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0B = b0; var e0B = e0; var l1B = l1;
|
|
var b1B = b1; var e1B = e1; var l2B = l2;
|
|
var b2B = b2; var e2B = e2;
|
|
try
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shiftT(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
memoize(11, e0B, -1);
|
|
}
|
|
catch (p1B)
|
|
{
|
|
b0 = b0B; e0 = e0B; l1 = l1B; if (l1 == 0) {end = e0B;} else {
|
|
b1 = b1B; e1 = e1B; l2 = l2B; if (l2 == 0) {end = e1B;} else {
|
|
b2 = b2B; e2 = e2B; end = e2B; }}
|
|
memoize(11, e0B, -2);
|
|
}
|
|
lk = -2;
|
|
}
|
|
}
|
|
if (lk == -1)
|
|
{
|
|
shiftT(81); // 'at'
|
|
lookahead1W(69); // S^WS | '(:' | 'position'
|
|
shiftT(211); // 'position'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
shiftT(159); // 'insert'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_PairConstructorList();
|
|
shiftT(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
}
|
|
|
|
function parse_JSONRenameExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONRenameExpr", e0);
|
|
shift(218); // 'rename'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shift(166); // 'json'
|
|
lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PostfixExpr();
|
|
shift(79); // 'as'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("JSONRenameExpr", e0);
|
|
}
|
|
|
|
function try_JSONRenameExpr()
|
|
{
|
|
shiftT(218); // 'rename'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PostfixExpr();
|
|
shiftT(79); // 'as'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_JSONReplaceExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONReplaceExpr", e0);
|
|
shift(219); // 'replace'
|
|
lookahead1W(82); // S^WS | '(:' | 'value'
|
|
shift(261); // 'value'
|
|
lookahead1W(64); // S^WS | '(:' | 'of'
|
|
shift(196); // 'of'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shift(166); // 'json'
|
|
lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
whitespace();
|
|
parse_PostfixExpr();
|
|
shift(270); // 'with'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("JSONReplaceExpr", e0);
|
|
}
|
|
|
|
function try_JSONReplaceExpr()
|
|
{
|
|
shiftT(219); // 'replace'
|
|
lookahead1W(82); // S^WS | '(:' | 'value'
|
|
shiftT(261); // 'value'
|
|
lookahead1W(64); // S^WS | '(:' | 'of'
|
|
shiftT(196); // 'of'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(263); // EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral | StringLiteral |
|
|
try_PostfixExpr();
|
|
shiftT(270); // 'with'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_JSONAppendExpr()
|
|
{
|
|
eventHandler.startNonterminal("JSONAppendExpr", e0);
|
|
shift(77); // 'append'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shift(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
shift(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("JSONAppendExpr", e0);
|
|
}
|
|
|
|
function try_JSONAppendExpr()
|
|
{
|
|
shiftT(77); // 'append'
|
|
lookahead1W(56); // S^WS | '(:' | 'json'
|
|
shiftT(166); // 'json'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
shiftT(163); // 'into'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_CommonContent()
|
|
{
|
|
eventHandler.startNonterminal("CommonContent", e0);
|
|
switch (l1)
|
|
{
|
|
case 12: // PredefinedEntityRef
|
|
shift(12); // PredefinedEntityRef
|
|
break;
|
|
case 23: // CharRef
|
|
shift(23); // CharRef
|
|
break;
|
|
case 277: // '{{'
|
|
shift(277); // '{{'
|
|
break;
|
|
case 283: // '}}'
|
|
shift(283); // '}}'
|
|
break;
|
|
default:
|
|
parse_BlockExpr();
|
|
}
|
|
eventHandler.endNonterminal("CommonContent", e0);
|
|
}
|
|
|
|
function try_CommonContent()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 12: // PredefinedEntityRef
|
|
shiftT(12); // PredefinedEntityRef
|
|
break;
|
|
case 23: // CharRef
|
|
shiftT(23); // CharRef
|
|
break;
|
|
case 277: // '{{'
|
|
shiftT(277); // '{{'
|
|
break;
|
|
case 283: // '}}'
|
|
shiftT(283); // '}}'
|
|
break;
|
|
default:
|
|
try_BlockExpr();
|
|
}
|
|
}
|
|
|
|
function parse_ContentExpr()
|
|
{
|
|
eventHandler.startNonterminal("ContentExpr", e0);
|
|
parse_StatementsAndExpr();
|
|
eventHandler.endNonterminal("ContentExpr", e0);
|
|
}
|
|
|
|
function try_ContentExpr()
|
|
{
|
|
try_StatementsAndExpr();
|
|
}
|
|
|
|
function parse_CompDocConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompDocConstructor", e0);
|
|
shift(119); // 'document'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
eventHandler.endNonterminal("CompDocConstructor", e0);
|
|
}
|
|
|
|
function try_CompDocConstructor()
|
|
{
|
|
shiftT(119); // 'document'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
try_BlockExpr();
|
|
}
|
|
|
|
function parse_CompAttrConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompAttrConstructor", e0);
|
|
shift(82); // 'attribute'
|
|
lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_EQName();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(12, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shiftT(282); // '}'
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(12, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shift(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shift(282); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
}
|
|
eventHandler.endNonterminal("CompAttrConstructor", e0);
|
|
}
|
|
|
|
function try_CompAttrConstructor()
|
|
{
|
|
shiftT(82); // 'attribute'
|
|
lookahead1W(257); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
break;
|
|
default:
|
|
try_EQName();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(12, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shiftT(282); // '}'
|
|
memoize(12, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(12, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shiftT(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shiftT(282); // '}'
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_BlockExpr();
|
|
}
|
|
}
|
|
|
|
function parse_CompPIConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompPIConstructor", e0);
|
|
shift(216); // 'processing-instruction'
|
|
lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shift(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_Expr();
|
|
shift(282); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_NCName();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(13, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shiftT(282); // '}'
|
|
lk = -1;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(13, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shift(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shift(282); // '}'
|
|
break;
|
|
default:
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
}
|
|
eventHandler.endNonterminal("CompPIConstructor", e0);
|
|
}
|
|
|
|
function try_CompPIConstructor()
|
|
{
|
|
shiftT(216); // 'processing-instruction'
|
|
lookahead1W(250); // NCName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shiftT(276); // '{'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_Expr();
|
|
shiftT(282); // '}'
|
|
break;
|
|
default:
|
|
try_NCName();
|
|
}
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(13, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shiftT(282); // '}'
|
|
memoize(13, e0A, -1);
|
|
lk = -3;
|
|
}
|
|
catch (p1A)
|
|
{
|
|
lk = -2;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(13, e0A, -2);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case -1:
|
|
shiftT(276); // '{'
|
|
lookahead1W(88); // S^WS | '(:' | '}'
|
|
shiftT(282); // '}'
|
|
break;
|
|
case -3:
|
|
break;
|
|
default:
|
|
try_BlockExpr();
|
|
}
|
|
}
|
|
|
|
function parse_CompCommentConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompCommentConstructor", e0);
|
|
shift(96); // 'comment'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
eventHandler.endNonterminal("CompCommentConstructor", e0);
|
|
}
|
|
|
|
function try_CompCommentConstructor()
|
|
{
|
|
shiftT(96); // 'comment'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
try_BlockExpr();
|
|
}
|
|
|
|
function parse_CompTextConstructor()
|
|
{
|
|
eventHandler.startNonterminal("CompTextConstructor", e0);
|
|
shift(244); // 'text'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
whitespace();
|
|
parse_BlockExpr();
|
|
eventHandler.endNonterminal("CompTextConstructor", e0);
|
|
}
|
|
|
|
function try_CompTextConstructor()
|
|
{
|
|
shiftT(244); // 'text'
|
|
lookahead1W(87); // S^WS | '(:' | '{'
|
|
try_BlockExpr();
|
|
}
|
|
|
|
function parse_PrimaryExpr()
|
|
{
|
|
eventHandler.startNonterminal("PrimaryExpr", e0);
|
|
switch (l1)
|
|
{
|
|
case 184: // 'namespace'
|
|
lookahead2W(255); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
lookahead2W(253); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 82: // 'attribute'
|
|
case 121: // 'element'
|
|
lookahead2W(258); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 96: // 'comment'
|
|
case 244: // 'text'
|
|
lookahead2W(93); // S^WS | '#' | '(:' | '{'
|
|
break;
|
|
case 119: // 'document'
|
|
case 202: // 'ordered'
|
|
case 256: // 'unordered'
|
|
lookahead2W(139); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 70: // 'after'
|
|
case 72: // 'allowing'
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 75: // 'and'
|
|
case 77: // 'append'
|
|
case 79: // 'as'
|
|
case 80: // 'ascending'
|
|
case 81: // 'at'
|
|
case 83: // 'base-uri'
|
|
case 84: // 'before'
|
|
case 85: // 'boundary-space'
|
|
case 86: // 'break'
|
|
case 88: // 'case'
|
|
case 89: // 'cast'
|
|
case 90: // 'castable'
|
|
case 91: // 'catch'
|
|
case 93: // 'child'
|
|
case 94: // 'collation'
|
|
case 97: // 'constraint'
|
|
case 98: // 'construction'
|
|
case 101: // 'context'
|
|
case 102: // 'continue'
|
|
case 103: // 'copy'
|
|
case 104: // 'copy-namespaces'
|
|
case 105: // 'count'
|
|
case 106: // 'decimal-format'
|
|
case 108: // 'declare'
|
|
case 109: // 'default'
|
|
case 110: // 'delete'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 113: // 'descending'
|
|
case 118: // 'div'
|
|
case 122: // 'else'
|
|
case 123: // 'empty'
|
|
case 125: // 'encoding'
|
|
case 126: // 'end'
|
|
case 128: // 'eq'
|
|
case 129: // 'every'
|
|
case 131: // 'except'
|
|
case 132: // 'exit'
|
|
case 133: // 'external'
|
|
case 134: // 'first'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 137: // 'for'
|
|
case 141: // 'ft-option'
|
|
case 146: // 'ge'
|
|
case 148: // 'group'
|
|
case 150: // 'gt'
|
|
case 151: // 'idiv'
|
|
case 153: // 'import'
|
|
case 154: // 'in'
|
|
case 155: // 'index'
|
|
case 159: // 'insert'
|
|
case 160: // 'instance'
|
|
case 161: // 'integrity'
|
|
case 162: // 'intersect'
|
|
case 163: // 'into'
|
|
case 164: // 'is'
|
|
case 166: // 'json'
|
|
case 170: // 'last'
|
|
case 171: // 'lax'
|
|
case 172: // 'le'
|
|
case 174: // 'let'
|
|
case 176: // 'loop'
|
|
case 178: // 'lt'
|
|
case 180: // 'mod'
|
|
case 181: // 'modify'
|
|
case 182: // 'module'
|
|
case 186: // 'ne'
|
|
case 192: // 'nodes'
|
|
case 194: // 'object'
|
|
case 198: // 'only'
|
|
case 199: // 'option'
|
|
case 200: // 'or'
|
|
case 201: // 'order'
|
|
case 203: // 'ordering'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
case 218: // 'rename'
|
|
case 219: // 'replace'
|
|
case 220: // 'return'
|
|
case 221: // 'returning'
|
|
case 222: // 'revalidation'
|
|
case 224: // 'satisfies'
|
|
case 225: // 'schema'
|
|
case 228: // 'score'
|
|
case 229: // 'self'
|
|
case 234: // 'sliding'
|
|
case 235: // 'some'
|
|
case 236: // 'stable'
|
|
case 237: // 'start'
|
|
case 240: // 'strict'
|
|
case 248: // 'to'
|
|
case 249: // 'treat'
|
|
case 250: // 'try'
|
|
case 251: // 'tumbling'
|
|
case 252: // 'type'
|
|
case 254: // 'union'
|
|
case 257: // 'updating'
|
|
case 260: // 'validate'
|
|
case 261: // 'value'
|
|
case 262: // 'variable'
|
|
case 263: // 'version'
|
|
case 266: // 'where'
|
|
case 267: // 'while'
|
|
case 270: // 'with'
|
|
case 274: // 'xquery'
|
|
lookahead2W(92); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 2836 // '{' Wildcard
|
|
|| lk == 3348 // '{' EQName^Token
|
|
|| lk == 4372 // '{' IntegerLiteral
|
|
|| lk == 4884 // '{' DecimalLiteral
|
|
|| lk == 5396 // '{' DoubleLiteral
|
|
|| lk == 5908 // '{' StringLiteral
|
|
|| lk == 16148 // '{' '$'
|
|
|| lk == 16660 // '{' '%'
|
|
|| lk == 17684 // '{' '('
|
|
|| lk == 18196 // '{' '(#'
|
|
|| lk == 20756 // '{' '+'
|
|
|| lk == 21780 // '{' '-'
|
|
|| lk == 22804 // '{' '.'
|
|
|| lk == 23316 // '{' '..'
|
|
|| lk == 23828 // '{' '/'
|
|
|| lk == 24340 // '{' '//'
|
|
|| lk == 27924 // '{' '<'
|
|
|| lk == 28436 // '{' '<!--'
|
|
|| lk == 30484 // '{' '<?'
|
|
|| lk == 34068 // '{' '@'
|
|
|| lk == 35092 // '{' '['
|
|
|| lk == 36116 // '{' 'after'
|
|
|| lk == 37140 // '{' 'allowing'
|
|
|| lk == 37652 // '{' 'ancestor'
|
|
|| lk == 38164 // '{' 'ancestor-or-self'
|
|
|| lk == 38676 // '{' 'and'
|
|
|| lk == 39700 // '{' 'append'
|
|
|| lk == 40212 // '{' 'array'
|
|
|| lk == 40724 // '{' 'as'
|
|
|| lk == 41236 // '{' 'ascending'
|
|
|| lk == 41748 // '{' 'at'
|
|
|| lk == 42260 // '{' 'attribute'
|
|
|| lk == 42772 // '{' 'base-uri'
|
|
|| lk == 43284 // '{' 'before'
|
|
|| lk == 43796 // '{' 'boundary-space'
|
|
|| lk == 44308 // '{' 'break'
|
|
|| lk == 45332 // '{' 'case'
|
|
|| lk == 45844 // '{' 'cast'
|
|
|| lk == 46356 // '{' 'castable'
|
|
|| lk == 46868 // '{' 'catch'
|
|
|| lk == 47892 // '{' 'child'
|
|
|| lk == 48404 // '{' 'collation'
|
|
|| lk == 49428 // '{' 'comment'
|
|
|| lk == 49940 // '{' 'constraint'
|
|
|| lk == 50452 // '{' 'construction'
|
|
|| lk == 51988 // '{' 'context'
|
|
|| lk == 52500 // '{' 'continue'
|
|
|| lk == 53012 // '{' 'copy'
|
|
|| lk == 53524 // '{' 'copy-namespaces'
|
|
|| lk == 54036 // '{' 'count'
|
|
|| lk == 54548 // '{' 'decimal-format'
|
|
|| lk == 55572 // '{' 'declare'
|
|
|| lk == 56084 // '{' 'default'
|
|
|| lk == 56596 // '{' 'delete'
|
|
|| lk == 57108 // '{' 'descendant'
|
|
|| lk == 57620 // '{' 'descendant-or-self'
|
|
|| lk == 58132 // '{' 'descending'
|
|
|| lk == 60692 // '{' 'div'
|
|
|| lk == 61204 // '{' 'document'
|
|
|| lk == 61716 // '{' 'document-node'
|
|
|| lk == 62228 // '{' 'element'
|
|
|| lk == 62740 // '{' 'else'
|
|
|| lk == 63252 // '{' 'empty'
|
|
|| lk == 63764 // '{' 'empty-sequence'
|
|
|| lk == 64276 // '{' 'encoding'
|
|
|| lk == 64788 // '{' 'end'
|
|
|| lk == 65812 // '{' 'eq'
|
|
|| lk == 66324 // '{' 'every'
|
|
|| lk == 67348 // '{' 'except'
|
|
|| lk == 67860 // '{' 'exit'
|
|
|| lk == 68372 // '{' 'external'
|
|
|| lk == 68884 // '{' 'first'
|
|
|| lk == 69396 // '{' 'following'
|
|
|| lk == 69908 // '{' 'following-sibling'
|
|
|| lk == 70420 // '{' 'for'
|
|
|| lk == 72468 // '{' 'ft-option'
|
|
|| lk == 74516 // '{' 'function'
|
|
|| lk == 75028 // '{' 'ge'
|
|
|| lk == 76052 // '{' 'group'
|
|
|| lk == 77076 // '{' 'gt'
|
|
|| lk == 77588 // '{' 'idiv'
|
|
|| lk == 78100 // '{' 'if'
|
|
|| lk == 78612 // '{' 'import'
|
|
|| lk == 79124 // '{' 'in'
|
|
|| lk == 79636 // '{' 'index'
|
|
|| lk == 81684 // '{' 'insert'
|
|
|| lk == 82196 // '{' 'instance'
|
|
|| lk == 82708 // '{' 'integrity'
|
|
|| lk == 83220 // '{' 'intersect'
|
|
|| lk == 83732 // '{' 'into'
|
|
|| lk == 84244 // '{' 'is'
|
|
|| lk == 84756 // '{' 'item'
|
|
|| lk == 85268 // '{' 'json'
|
|
|| lk == 85780 // '{' 'json-item'
|
|
|| lk == 87316 // '{' 'last'
|
|
|| lk == 87828 // '{' 'lax'
|
|
|| lk == 88340 // '{' 'le'
|
|
|| lk == 89364 // '{' 'let'
|
|
|| lk == 90388 // '{' 'loop'
|
|
|| lk == 91412 // '{' 'lt'
|
|
|| lk == 92436 // '{' 'mod'
|
|
|| lk == 92948 // '{' 'modify'
|
|
|| lk == 93460 // '{' 'module'
|
|
|| lk == 94484 // '{' 'namespace'
|
|
|| lk == 94996 // '{' 'namespace-node'
|
|
|| lk == 95508 // '{' 'ne'
|
|
|| lk == 98068 // '{' 'node'
|
|
|| lk == 98580 // '{' 'nodes'
|
|
|| lk == 99604 // '{' 'object'
|
|
|| lk == 101652 // '{' 'only'
|
|
|| lk == 102164 // '{' 'option'
|
|
|| lk == 102676 // '{' 'or'
|
|
|| lk == 103188 // '{' 'order'
|
|
|| lk == 103700 // '{' 'ordered'
|
|
|| lk == 104212 // '{' 'ordering'
|
|
|| lk == 105748 // '{' 'parent'
|
|
|| lk == 108820 // '{' 'preceding'
|
|
|| lk == 109332 // '{' 'preceding-sibling'
|
|
|| lk == 110868 // '{' 'processing-instruction'
|
|
|| lk == 111892 // '{' 'rename'
|
|
|| lk == 112404 // '{' 'replace'
|
|
|| lk == 112916 // '{' 'return'
|
|
|| lk == 113428 // '{' 'returning'
|
|
|| lk == 113940 // '{' 'revalidation'
|
|
|| lk == 114964 // '{' 'satisfies'
|
|
|| lk == 115476 // '{' 'schema'
|
|
|| lk == 115988 // '{' 'schema-attribute'
|
|
|| lk == 116500 // '{' 'schema-element'
|
|
|| lk == 117012 // '{' 'score'
|
|
|| lk == 117524 // '{' 'self'
|
|
|| lk == 120084 // '{' 'sliding'
|
|
|| lk == 120596 // '{' 'some'
|
|
|| lk == 121108 // '{' 'stable'
|
|
|| lk == 121620 // '{' 'start'
|
|
|| lk == 123156 // '{' 'strict'
|
|
|| lk == 124180 // '{' 'structured-item'
|
|
|| lk == 124692 // '{' 'switch'
|
|
|| lk == 125204 // '{' 'text'
|
|
|| lk == 127252 // '{' 'to'
|
|
|| lk == 127764 // '{' 'treat'
|
|
|| lk == 128276 // '{' 'try'
|
|
|| lk == 128788 // '{' 'tumbling'
|
|
|| lk == 129300 // '{' 'type'
|
|
|| lk == 129812 // '{' 'typeswitch'
|
|
|| lk == 130324 // '{' 'union'
|
|
|| lk == 131348 // '{' 'unordered'
|
|
|| lk == 131860 // '{' 'updating'
|
|
|| lk == 133396 // '{' 'validate'
|
|
|| lk == 133908 // '{' 'value'
|
|
|| lk == 134420 // '{' 'variable'
|
|
|| lk == 134932 // '{' 'version'
|
|
|| lk == 136468 // '{' 'where'
|
|
|| lk == 136980 // '{' 'while'
|
|
|| lk == 138516 // '{' 'with'
|
|
|| lk == 140564 // '{' 'xquery'
|
|
|| lk == 141588 // '{' '{'
|
|
|| lk == 142612 // '{' '{|'
|
|
|| lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(14, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_BlockExpr();
|
|
lk = -10;
|
|
}
|
|
catch (p10A)
|
|
{
|
|
lk = -11;
|
|
}
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(14, e0, lk);
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
parse_Literal();
|
|
break;
|
|
case 31: // '$'
|
|
parse_VarRef();
|
|
break;
|
|
case 34: // '('
|
|
parse_ParenthesizedExpr();
|
|
break;
|
|
case 44: // '.'
|
|
parse_ContextItemExpr();
|
|
break;
|
|
case 17414: // EQName^Token '('
|
|
case 17478: // 'after' '('
|
|
case 17480: // 'allowing' '('
|
|
case 17481: // 'ancestor' '('
|
|
case 17482: // 'ancestor-or-self' '('
|
|
case 17483: // 'and' '('
|
|
case 17485: // 'append' '('
|
|
case 17487: // 'as' '('
|
|
case 17488: // 'ascending' '('
|
|
case 17489: // 'at' '('
|
|
case 17491: // 'base-uri' '('
|
|
case 17492: // 'before' '('
|
|
case 17493: // 'boundary-space' '('
|
|
case 17494: // 'break' '('
|
|
case 17496: // 'case' '('
|
|
case 17497: // 'cast' '('
|
|
case 17498: // 'castable' '('
|
|
case 17499: // 'catch' '('
|
|
case 17501: // 'child' '('
|
|
case 17502: // 'collation' '('
|
|
case 17505: // 'constraint' '('
|
|
case 17506: // 'construction' '('
|
|
case 17509: // 'context' '('
|
|
case 17510: // 'continue' '('
|
|
case 17511: // 'copy' '('
|
|
case 17512: // 'copy-namespaces' '('
|
|
case 17513: // 'count' '('
|
|
case 17514: // 'decimal-format' '('
|
|
case 17516: // 'declare' '('
|
|
case 17517: // 'default' '('
|
|
case 17518: // 'delete' '('
|
|
case 17519: // 'descendant' '('
|
|
case 17520: // 'descendant-or-self' '('
|
|
case 17521: // 'descending' '('
|
|
case 17526: // 'div' '('
|
|
case 17527: // 'document' '('
|
|
case 17530: // 'else' '('
|
|
case 17531: // 'empty' '('
|
|
case 17533: // 'encoding' '('
|
|
case 17534: // 'end' '('
|
|
case 17536: // 'eq' '('
|
|
case 17537: // 'every' '('
|
|
case 17539: // 'except' '('
|
|
case 17540: // 'exit' '('
|
|
case 17541: // 'external' '('
|
|
case 17542: // 'first' '('
|
|
case 17543: // 'following' '('
|
|
case 17544: // 'following-sibling' '('
|
|
case 17545: // 'for' '('
|
|
case 17549: // 'ft-option' '('
|
|
case 17554: // 'ge' '('
|
|
case 17556: // 'group' '('
|
|
case 17558: // 'gt' '('
|
|
case 17559: // 'idiv' '('
|
|
case 17561: // 'import' '('
|
|
case 17562: // 'in' '('
|
|
case 17563: // 'index' '('
|
|
case 17567: // 'insert' '('
|
|
case 17568: // 'instance' '('
|
|
case 17569: // 'integrity' '('
|
|
case 17570: // 'intersect' '('
|
|
case 17571: // 'into' '('
|
|
case 17572: // 'is' '('
|
|
case 17574: // 'json' '('
|
|
case 17578: // 'last' '('
|
|
case 17579: // 'lax' '('
|
|
case 17580: // 'le' '('
|
|
case 17582: // 'let' '('
|
|
case 17584: // 'loop' '('
|
|
case 17586: // 'lt' '('
|
|
case 17588: // 'mod' '('
|
|
case 17589: // 'modify' '('
|
|
case 17590: // 'module' '('
|
|
case 17592: // 'namespace' '('
|
|
case 17594: // 'ne' '('
|
|
case 17600: // 'nodes' '('
|
|
case 17602: // 'object' '('
|
|
case 17606: // 'only' '('
|
|
case 17607: // 'option' '('
|
|
case 17608: // 'or' '('
|
|
case 17609: // 'order' '('
|
|
case 17610: // 'ordered' '('
|
|
case 17611: // 'ordering' '('
|
|
case 17614: // 'parent' '('
|
|
case 17620: // 'preceding' '('
|
|
case 17621: // 'preceding-sibling' '('
|
|
case 17626: // 'rename' '('
|
|
case 17627: // 'replace' '('
|
|
case 17628: // 'return' '('
|
|
case 17629: // 'returning' '('
|
|
case 17630: // 'revalidation' '('
|
|
case 17632: // 'satisfies' '('
|
|
case 17633: // 'schema' '('
|
|
case 17636: // 'score' '('
|
|
case 17637: // 'self' '('
|
|
case 17642: // 'sliding' '('
|
|
case 17643: // 'some' '('
|
|
case 17644: // 'stable' '('
|
|
case 17645: // 'start' '('
|
|
case 17648: // 'strict' '('
|
|
case 17656: // 'to' '('
|
|
case 17657: // 'treat' '('
|
|
case 17658: // 'try' '('
|
|
case 17659: // 'tumbling' '('
|
|
case 17660: // 'type' '('
|
|
case 17662: // 'union' '('
|
|
case 17664: // 'unordered' '('
|
|
case 17665: // 'updating' '('
|
|
case 17668: // 'validate' '('
|
|
case 17669: // 'value' '('
|
|
case 17670: // 'variable' '('
|
|
case 17671: // 'version' '('
|
|
case 17674: // 'where' '('
|
|
case 17675: // 'while' '('
|
|
case 17678: // 'with' '('
|
|
case 17682: // 'xquery' '('
|
|
parse_FunctionCall();
|
|
break;
|
|
case 141514: // 'ordered' '{'
|
|
parse_OrderedExpr();
|
|
break;
|
|
case 141568: // 'unordered' '{'
|
|
parse_UnorderedExpr();
|
|
break;
|
|
case 32: // '%'
|
|
case 78: // 'array'
|
|
case 120: // 'document-node'
|
|
case 124: // 'empty-sequence'
|
|
case 145: // 'function'
|
|
case 152: // 'if'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 185: // 'namespace-node'
|
|
case 191: // 'node'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 242: // 'structured-item'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
case 14854: // EQName^Token '#'
|
|
case 14918: // 'after' '#'
|
|
case 14920: // 'allowing' '#'
|
|
case 14921: // 'ancestor' '#'
|
|
case 14922: // 'ancestor-or-self' '#'
|
|
case 14923: // 'and' '#'
|
|
case 14925: // 'append' '#'
|
|
case 14927: // 'as' '#'
|
|
case 14928: // 'ascending' '#'
|
|
case 14929: // 'at' '#'
|
|
case 14930: // 'attribute' '#'
|
|
case 14931: // 'base-uri' '#'
|
|
case 14932: // 'before' '#'
|
|
case 14933: // 'boundary-space' '#'
|
|
case 14934: // 'break' '#'
|
|
case 14936: // 'case' '#'
|
|
case 14937: // 'cast' '#'
|
|
case 14938: // 'castable' '#'
|
|
case 14939: // 'catch' '#'
|
|
case 14941: // 'child' '#'
|
|
case 14942: // 'collation' '#'
|
|
case 14944: // 'comment' '#'
|
|
case 14945: // 'constraint' '#'
|
|
case 14946: // 'construction' '#'
|
|
case 14949: // 'context' '#'
|
|
case 14950: // 'continue' '#'
|
|
case 14951: // 'copy' '#'
|
|
case 14952: // 'copy-namespaces' '#'
|
|
case 14953: // 'count' '#'
|
|
case 14954: // 'decimal-format' '#'
|
|
case 14956: // 'declare' '#'
|
|
case 14957: // 'default' '#'
|
|
case 14958: // 'delete' '#'
|
|
case 14959: // 'descendant' '#'
|
|
case 14960: // 'descendant-or-self' '#'
|
|
case 14961: // 'descending' '#'
|
|
case 14966: // 'div' '#'
|
|
case 14967: // 'document' '#'
|
|
case 14969: // 'element' '#'
|
|
case 14970: // 'else' '#'
|
|
case 14971: // 'empty' '#'
|
|
case 14973: // 'encoding' '#'
|
|
case 14974: // 'end' '#'
|
|
case 14976: // 'eq' '#'
|
|
case 14977: // 'every' '#'
|
|
case 14979: // 'except' '#'
|
|
case 14980: // 'exit' '#'
|
|
case 14981: // 'external' '#'
|
|
case 14982: // 'first' '#'
|
|
case 14983: // 'following' '#'
|
|
case 14984: // 'following-sibling' '#'
|
|
case 14985: // 'for' '#'
|
|
case 14989: // 'ft-option' '#'
|
|
case 14994: // 'ge' '#'
|
|
case 14996: // 'group' '#'
|
|
case 14998: // 'gt' '#'
|
|
case 14999: // 'idiv' '#'
|
|
case 15001: // 'import' '#'
|
|
case 15002: // 'in' '#'
|
|
case 15003: // 'index' '#'
|
|
case 15007: // 'insert' '#'
|
|
case 15008: // 'instance' '#'
|
|
case 15009: // 'integrity' '#'
|
|
case 15010: // 'intersect' '#'
|
|
case 15011: // 'into' '#'
|
|
case 15012: // 'is' '#'
|
|
case 15014: // 'json' '#'
|
|
case 15018: // 'last' '#'
|
|
case 15019: // 'lax' '#'
|
|
case 15020: // 'le' '#'
|
|
case 15022: // 'let' '#'
|
|
case 15024: // 'loop' '#'
|
|
case 15026: // 'lt' '#'
|
|
case 15028: // 'mod' '#'
|
|
case 15029: // 'modify' '#'
|
|
case 15030: // 'module' '#'
|
|
case 15032: // 'namespace' '#'
|
|
case 15034: // 'ne' '#'
|
|
case 15040: // 'nodes' '#'
|
|
case 15042: // 'object' '#'
|
|
case 15046: // 'only' '#'
|
|
case 15047: // 'option' '#'
|
|
case 15048: // 'or' '#'
|
|
case 15049: // 'order' '#'
|
|
case 15050: // 'ordered' '#'
|
|
case 15051: // 'ordering' '#'
|
|
case 15054: // 'parent' '#'
|
|
case 15060: // 'preceding' '#'
|
|
case 15061: // 'preceding-sibling' '#'
|
|
case 15064: // 'processing-instruction' '#'
|
|
case 15066: // 'rename' '#'
|
|
case 15067: // 'replace' '#'
|
|
case 15068: // 'return' '#'
|
|
case 15069: // 'returning' '#'
|
|
case 15070: // 'revalidation' '#'
|
|
case 15072: // 'satisfies' '#'
|
|
case 15073: // 'schema' '#'
|
|
case 15076: // 'score' '#'
|
|
case 15077: // 'self' '#'
|
|
case 15082: // 'sliding' '#'
|
|
case 15083: // 'some' '#'
|
|
case 15084: // 'stable' '#'
|
|
case 15085: // 'start' '#'
|
|
case 15088: // 'strict' '#'
|
|
case 15092: // 'text' '#'
|
|
case 15096: // 'to' '#'
|
|
case 15097: // 'treat' '#'
|
|
case 15098: // 'try' '#'
|
|
case 15099: // 'tumbling' '#'
|
|
case 15100: // 'type' '#'
|
|
case 15102: // 'union' '#'
|
|
case 15104: // 'unordered' '#'
|
|
case 15105: // 'updating' '#'
|
|
case 15108: // 'validate' '#'
|
|
case 15109: // 'value' '#'
|
|
case 15110: // 'variable' '#'
|
|
case 15111: // 'version' '#'
|
|
case 15114: // 'where' '#'
|
|
case 15115: // 'while' '#'
|
|
case 15118: // 'with' '#'
|
|
case 15122: // 'xquery' '#'
|
|
parse_FunctionItemExpr();
|
|
break;
|
|
case -10:
|
|
case 27412: // '{' ';'
|
|
parse_BlockExpr();
|
|
break;
|
|
case -11:
|
|
parse_ObjectConstructor();
|
|
break;
|
|
case 68: // '['
|
|
parse_ArrayConstructor();
|
|
break;
|
|
case 278: // '{|'
|
|
parse_JSONSimpleObjectUnion();
|
|
break;
|
|
default:
|
|
parse_Constructor();
|
|
}
|
|
eventHandler.endNonterminal("PrimaryExpr", e0);
|
|
}
|
|
|
|
function try_PrimaryExpr()
|
|
{
|
|
switch (l1)
|
|
{
|
|
case 184: // 'namespace'
|
|
lookahead2W(255); // NCName^Token | S^WS | '#' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 216: // 'processing-instruction'
|
|
lookahead2W(253); // NCName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 276: // '{'
|
|
lookahead2W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
break;
|
|
case 82: // 'attribute'
|
|
case 121: // 'element'
|
|
lookahead2W(258); // EQName^Token | S^WS | '#' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
break;
|
|
case 96: // 'comment'
|
|
case 244: // 'text'
|
|
lookahead2W(93); // S^WS | '#' | '(:' | '{'
|
|
break;
|
|
case 119: // 'document'
|
|
case 202: // 'ordered'
|
|
case 256: // 'unordered'
|
|
lookahead2W(139); // S^WS | '#' | '(' | '(:' | '{'
|
|
break;
|
|
case 6: // EQName^Token
|
|
case 70: // 'after'
|
|
case 72: // 'allowing'
|
|
case 73: // 'ancestor'
|
|
case 74: // 'ancestor-or-self'
|
|
case 75: // 'and'
|
|
case 77: // 'append'
|
|
case 79: // 'as'
|
|
case 80: // 'ascending'
|
|
case 81: // 'at'
|
|
case 83: // 'base-uri'
|
|
case 84: // 'before'
|
|
case 85: // 'boundary-space'
|
|
case 86: // 'break'
|
|
case 88: // 'case'
|
|
case 89: // 'cast'
|
|
case 90: // 'castable'
|
|
case 91: // 'catch'
|
|
case 93: // 'child'
|
|
case 94: // 'collation'
|
|
case 97: // 'constraint'
|
|
case 98: // 'construction'
|
|
case 101: // 'context'
|
|
case 102: // 'continue'
|
|
case 103: // 'copy'
|
|
case 104: // 'copy-namespaces'
|
|
case 105: // 'count'
|
|
case 106: // 'decimal-format'
|
|
case 108: // 'declare'
|
|
case 109: // 'default'
|
|
case 110: // 'delete'
|
|
case 111: // 'descendant'
|
|
case 112: // 'descendant-or-self'
|
|
case 113: // 'descending'
|
|
case 118: // 'div'
|
|
case 122: // 'else'
|
|
case 123: // 'empty'
|
|
case 125: // 'encoding'
|
|
case 126: // 'end'
|
|
case 128: // 'eq'
|
|
case 129: // 'every'
|
|
case 131: // 'except'
|
|
case 132: // 'exit'
|
|
case 133: // 'external'
|
|
case 134: // 'first'
|
|
case 135: // 'following'
|
|
case 136: // 'following-sibling'
|
|
case 137: // 'for'
|
|
case 141: // 'ft-option'
|
|
case 146: // 'ge'
|
|
case 148: // 'group'
|
|
case 150: // 'gt'
|
|
case 151: // 'idiv'
|
|
case 153: // 'import'
|
|
case 154: // 'in'
|
|
case 155: // 'index'
|
|
case 159: // 'insert'
|
|
case 160: // 'instance'
|
|
case 161: // 'integrity'
|
|
case 162: // 'intersect'
|
|
case 163: // 'into'
|
|
case 164: // 'is'
|
|
case 166: // 'json'
|
|
case 170: // 'last'
|
|
case 171: // 'lax'
|
|
case 172: // 'le'
|
|
case 174: // 'let'
|
|
case 176: // 'loop'
|
|
case 178: // 'lt'
|
|
case 180: // 'mod'
|
|
case 181: // 'modify'
|
|
case 182: // 'module'
|
|
case 186: // 'ne'
|
|
case 192: // 'nodes'
|
|
case 194: // 'object'
|
|
case 198: // 'only'
|
|
case 199: // 'option'
|
|
case 200: // 'or'
|
|
case 201: // 'order'
|
|
case 203: // 'ordering'
|
|
case 206: // 'parent'
|
|
case 212: // 'preceding'
|
|
case 213: // 'preceding-sibling'
|
|
case 218: // 'rename'
|
|
case 219: // 'replace'
|
|
case 220: // 'return'
|
|
case 221: // 'returning'
|
|
case 222: // 'revalidation'
|
|
case 224: // 'satisfies'
|
|
case 225: // 'schema'
|
|
case 228: // 'score'
|
|
case 229: // 'self'
|
|
case 234: // 'sliding'
|
|
case 235: // 'some'
|
|
case 236: // 'stable'
|
|
case 237: // 'start'
|
|
case 240: // 'strict'
|
|
case 248: // 'to'
|
|
case 249: // 'treat'
|
|
case 250: // 'try'
|
|
case 251: // 'tumbling'
|
|
case 252: // 'type'
|
|
case 254: // 'union'
|
|
case 257: // 'updating'
|
|
case 260: // 'validate'
|
|
case 261: // 'value'
|
|
case 262: // 'variable'
|
|
case 263: // 'version'
|
|
case 266: // 'where'
|
|
case 267: // 'while'
|
|
case 270: // 'with'
|
|
case 274: // 'xquery'
|
|
lookahead2W(92); // S^WS | '#' | '(' | '(:'
|
|
break;
|
|
default:
|
|
lk = l1;
|
|
}
|
|
if (lk == 2836 // '{' Wildcard
|
|
|| lk == 3348 // '{' EQName^Token
|
|
|| lk == 4372 // '{' IntegerLiteral
|
|
|| lk == 4884 // '{' DecimalLiteral
|
|
|| lk == 5396 // '{' DoubleLiteral
|
|
|| lk == 5908 // '{' StringLiteral
|
|
|| lk == 16148 // '{' '$'
|
|
|| lk == 16660 // '{' '%'
|
|
|| lk == 17684 // '{' '('
|
|
|| lk == 18196 // '{' '(#'
|
|
|| lk == 20756 // '{' '+'
|
|
|| lk == 21780 // '{' '-'
|
|
|| lk == 22804 // '{' '.'
|
|
|| lk == 23316 // '{' '..'
|
|
|| lk == 23828 // '{' '/'
|
|
|| lk == 24340 // '{' '//'
|
|
|| lk == 27924 // '{' '<'
|
|
|| lk == 28436 // '{' '<!--'
|
|
|| lk == 30484 // '{' '<?'
|
|
|| lk == 34068 // '{' '@'
|
|
|| lk == 35092 // '{' '['
|
|
|| lk == 36116 // '{' 'after'
|
|
|| lk == 37140 // '{' 'allowing'
|
|
|| lk == 37652 // '{' 'ancestor'
|
|
|| lk == 38164 // '{' 'ancestor-or-self'
|
|
|| lk == 38676 // '{' 'and'
|
|
|| lk == 39700 // '{' 'append'
|
|
|| lk == 40212 // '{' 'array'
|
|
|| lk == 40724 // '{' 'as'
|
|
|| lk == 41236 // '{' 'ascending'
|
|
|| lk == 41748 // '{' 'at'
|
|
|| lk == 42260 // '{' 'attribute'
|
|
|| lk == 42772 // '{' 'base-uri'
|
|
|| lk == 43284 // '{' 'before'
|
|
|| lk == 43796 // '{' 'boundary-space'
|
|
|| lk == 44308 // '{' 'break'
|
|
|| lk == 45332 // '{' 'case'
|
|
|| lk == 45844 // '{' 'cast'
|
|
|| lk == 46356 // '{' 'castable'
|
|
|| lk == 46868 // '{' 'catch'
|
|
|| lk == 47892 // '{' 'child'
|
|
|| lk == 48404 // '{' 'collation'
|
|
|| lk == 49428 // '{' 'comment'
|
|
|| lk == 49940 // '{' 'constraint'
|
|
|| lk == 50452 // '{' 'construction'
|
|
|| lk == 51988 // '{' 'context'
|
|
|| lk == 52500 // '{' 'continue'
|
|
|| lk == 53012 // '{' 'copy'
|
|
|| lk == 53524 // '{' 'copy-namespaces'
|
|
|| lk == 54036 // '{' 'count'
|
|
|| lk == 54548 // '{' 'decimal-format'
|
|
|| lk == 55572 // '{' 'declare'
|
|
|| lk == 56084 // '{' 'default'
|
|
|| lk == 56596 // '{' 'delete'
|
|
|| lk == 57108 // '{' 'descendant'
|
|
|| lk == 57620 // '{' 'descendant-or-self'
|
|
|| lk == 58132 // '{' 'descending'
|
|
|| lk == 60692 // '{' 'div'
|
|
|| lk == 61204 // '{' 'document'
|
|
|| lk == 61716 // '{' 'document-node'
|
|
|| lk == 62228 // '{' 'element'
|
|
|| lk == 62740 // '{' 'else'
|
|
|| lk == 63252 // '{' 'empty'
|
|
|| lk == 63764 // '{' 'empty-sequence'
|
|
|| lk == 64276 // '{' 'encoding'
|
|
|| lk == 64788 // '{' 'end'
|
|
|| lk == 65812 // '{' 'eq'
|
|
|| lk == 66324 // '{' 'every'
|
|
|| lk == 67348 // '{' 'except'
|
|
|| lk == 67860 // '{' 'exit'
|
|
|| lk == 68372 // '{' 'external'
|
|
|| lk == 68884 // '{' 'first'
|
|
|| lk == 69396 // '{' 'following'
|
|
|| lk == 69908 // '{' 'following-sibling'
|
|
|| lk == 70420 // '{' 'for'
|
|
|| lk == 72468 // '{' 'ft-option'
|
|
|| lk == 74516 // '{' 'function'
|
|
|| lk == 75028 // '{' 'ge'
|
|
|| lk == 76052 // '{' 'group'
|
|
|| lk == 77076 // '{' 'gt'
|
|
|| lk == 77588 // '{' 'idiv'
|
|
|| lk == 78100 // '{' 'if'
|
|
|| lk == 78612 // '{' 'import'
|
|
|| lk == 79124 // '{' 'in'
|
|
|| lk == 79636 // '{' 'index'
|
|
|| lk == 81684 // '{' 'insert'
|
|
|| lk == 82196 // '{' 'instance'
|
|
|| lk == 82708 // '{' 'integrity'
|
|
|| lk == 83220 // '{' 'intersect'
|
|
|| lk == 83732 // '{' 'into'
|
|
|| lk == 84244 // '{' 'is'
|
|
|| lk == 84756 // '{' 'item'
|
|
|| lk == 85268 // '{' 'json'
|
|
|| lk == 85780 // '{' 'json-item'
|
|
|| lk == 87316 // '{' 'last'
|
|
|| lk == 87828 // '{' 'lax'
|
|
|| lk == 88340 // '{' 'le'
|
|
|| lk == 89364 // '{' 'let'
|
|
|| lk == 90388 // '{' 'loop'
|
|
|| lk == 91412 // '{' 'lt'
|
|
|| lk == 92436 // '{' 'mod'
|
|
|| lk == 92948 // '{' 'modify'
|
|
|| lk == 93460 // '{' 'module'
|
|
|| lk == 94484 // '{' 'namespace'
|
|
|| lk == 94996 // '{' 'namespace-node'
|
|
|| lk == 95508 // '{' 'ne'
|
|
|| lk == 98068 // '{' 'node'
|
|
|| lk == 98580 // '{' 'nodes'
|
|
|| lk == 99604 // '{' 'object'
|
|
|| lk == 101652 // '{' 'only'
|
|
|| lk == 102164 // '{' 'option'
|
|
|| lk == 102676 // '{' 'or'
|
|
|| lk == 103188 // '{' 'order'
|
|
|| lk == 103700 // '{' 'ordered'
|
|
|| lk == 104212 // '{' 'ordering'
|
|
|| lk == 105748 // '{' 'parent'
|
|
|| lk == 108820 // '{' 'preceding'
|
|
|| lk == 109332 // '{' 'preceding-sibling'
|
|
|| lk == 110868 // '{' 'processing-instruction'
|
|
|| lk == 111892 // '{' 'rename'
|
|
|| lk == 112404 // '{' 'replace'
|
|
|| lk == 112916 // '{' 'return'
|
|
|| lk == 113428 // '{' 'returning'
|
|
|| lk == 113940 // '{' 'revalidation'
|
|
|| lk == 114964 // '{' 'satisfies'
|
|
|| lk == 115476 // '{' 'schema'
|
|
|| lk == 115988 // '{' 'schema-attribute'
|
|
|| lk == 116500 // '{' 'schema-element'
|
|
|| lk == 117012 // '{' 'score'
|
|
|| lk == 117524 // '{' 'self'
|
|
|| lk == 120084 // '{' 'sliding'
|
|
|| lk == 120596 // '{' 'some'
|
|
|| lk == 121108 // '{' 'stable'
|
|
|| lk == 121620 // '{' 'start'
|
|
|| lk == 123156 // '{' 'strict'
|
|
|| lk == 124180 // '{' 'structured-item'
|
|
|| lk == 124692 // '{' 'switch'
|
|
|| lk == 125204 // '{' 'text'
|
|
|| lk == 127252 // '{' 'to'
|
|
|| lk == 127764 // '{' 'treat'
|
|
|| lk == 128276 // '{' 'try'
|
|
|| lk == 128788 // '{' 'tumbling'
|
|
|| lk == 129300 // '{' 'type'
|
|
|| lk == 129812 // '{' 'typeswitch'
|
|
|| lk == 130324 // '{' 'union'
|
|
|| lk == 131348 // '{' 'unordered'
|
|
|| lk == 131860 // '{' 'updating'
|
|
|| lk == 133396 // '{' 'validate'
|
|
|| lk == 133908 // '{' 'value'
|
|
|| lk == 134420 // '{' 'variable'
|
|
|| lk == 134932 // '{' 'version'
|
|
|| lk == 136468 // '{' 'where'
|
|
|| lk == 136980 // '{' 'while'
|
|
|| lk == 138516 // '{' 'with'
|
|
|| lk == 140564 // '{' 'xquery'
|
|
|| lk == 141588 // '{' '{'
|
|
|| lk == 142612 // '{' '{|'
|
|
|| lk == 144660) // '{' '}'
|
|
{
|
|
lk = memoized(14, e0);
|
|
if (lk == 0)
|
|
{
|
|
var b0A = b0; var e0A = e0; var l1A = l1;
|
|
var b1A = b1; var e1A = e1; var l2A = l2;
|
|
var b2A = b2; var e2A = e2;
|
|
try
|
|
{
|
|
try_BlockExpr();
|
|
memoize(14, e0A, -10);
|
|
lk = -14;
|
|
}
|
|
catch (p10A)
|
|
{
|
|
lk = -11;
|
|
b0 = b0A; e0 = e0A; l1 = l1A; if (l1 == 0) {end = e0A;} else {
|
|
b1 = b1A; e1 = e1A; l2 = l2A; if (l2 == 0) {end = e1A;} else {
|
|
b2 = b2A; e2 = e2A; end = e2A; }}
|
|
memoize(14, e0A, -11);
|
|
}
|
|
}
|
|
}
|
|
switch (lk)
|
|
{
|
|
case 8: // IntegerLiteral
|
|
case 9: // DecimalLiteral
|
|
case 10: // DoubleLiteral
|
|
case 11: // StringLiteral
|
|
try_Literal();
|
|
break;
|
|
case 31: // '$'
|
|
try_VarRef();
|
|
break;
|
|
case 34: // '('
|
|
try_ParenthesizedExpr();
|
|
break;
|
|
case 44: // '.'
|
|
try_ContextItemExpr();
|
|
break;
|
|
case 17414: // EQName^Token '('
|
|
case 17478: // 'after' '('
|
|
case 17480: // 'allowing' '('
|
|
case 17481: // 'ancestor' '('
|
|
case 17482: // 'ancestor-or-self' '('
|
|
case 17483: // 'and' '('
|
|
case 17485: // 'append' '('
|
|
case 17487: // 'as' '('
|
|
case 17488: // 'ascending' '('
|
|
case 17489: // 'at' '('
|
|
case 17491: // 'base-uri' '('
|
|
case 17492: // 'before' '('
|
|
case 17493: // 'boundary-space' '('
|
|
case 17494: // 'break' '('
|
|
case 17496: // 'case' '('
|
|
case 17497: // 'cast' '('
|
|
case 17498: // 'castable' '('
|
|
case 17499: // 'catch' '('
|
|
case 17501: // 'child' '('
|
|
case 17502: // 'collation' '('
|
|
case 17505: // 'constraint' '('
|
|
case 17506: // 'construction' '('
|
|
case 17509: // 'context' '('
|
|
case 17510: // 'continue' '('
|
|
case 17511: // 'copy' '('
|
|
case 17512: // 'copy-namespaces' '('
|
|
case 17513: // 'count' '('
|
|
case 17514: // 'decimal-format' '('
|
|
case 17516: // 'declare' '('
|
|
case 17517: // 'default' '('
|
|
case 17518: // 'delete' '('
|
|
case 17519: // 'descendant' '('
|
|
case 17520: // 'descendant-or-self' '('
|
|
case 17521: // 'descending' '('
|
|
case 17526: // 'div' '('
|
|
case 17527: // 'document' '('
|
|
case 17530: // 'else' '('
|
|
case 17531: // 'empty' '('
|
|
case 17533: // 'encoding' '('
|
|
case 17534: // 'end' '('
|
|
case 17536: // 'eq' '('
|
|
case 17537: // 'every' '('
|
|
case 17539: // 'except' '('
|
|
case 17540: // 'exit' '('
|
|
case 17541: // 'external' '('
|
|
case 17542: // 'first' '('
|
|
case 17543: // 'following' '('
|
|
case 17544: // 'following-sibling' '('
|
|
case 17545: // 'for' '('
|
|
case 17549: // 'ft-option' '('
|
|
case 17554: // 'ge' '('
|
|
case 17556: // 'group' '('
|
|
case 17558: // 'gt' '('
|
|
case 17559: // 'idiv' '('
|
|
case 17561: // 'import' '('
|
|
case 17562: // 'in' '('
|
|
case 17563: // 'index' '('
|
|
case 17567: // 'insert' '('
|
|
case 17568: // 'instance' '('
|
|
case 17569: // 'integrity' '('
|
|
case 17570: // 'intersect' '('
|
|
case 17571: // 'into' '('
|
|
case 17572: // 'is' '('
|
|
case 17574: // 'json' '('
|
|
case 17578: // 'last' '('
|
|
case 17579: // 'lax' '('
|
|
case 17580: // 'le' '('
|
|
case 17582: // 'let' '('
|
|
case 17584: // 'loop' '('
|
|
case 17586: // 'lt' '('
|
|
case 17588: // 'mod' '('
|
|
case 17589: // 'modify' '('
|
|
case 17590: // 'module' '('
|
|
case 17592: // 'namespace' '('
|
|
case 17594: // 'ne' '('
|
|
case 17600: // 'nodes' '('
|
|
case 17602: // 'object' '('
|
|
case 17606: // 'only' '('
|
|
case 17607: // 'option' '('
|
|
case 17608: // 'or' '('
|
|
case 17609: // 'order' '('
|
|
case 17610: // 'ordered' '('
|
|
case 17611: // 'ordering' '('
|
|
case 17614: // 'parent' '('
|
|
case 17620: // 'preceding' '('
|
|
case 17621: // 'preceding-sibling' '('
|
|
case 17626: // 'rename' '('
|
|
case 17627: // 'replace' '('
|
|
case 17628: // 'return' '('
|
|
case 17629: // 'returning' '('
|
|
case 17630: // 'revalidation' '('
|
|
case 17632: // 'satisfies' '('
|
|
case 17633: // 'schema' '('
|
|
case 17636: // 'score' '('
|
|
case 17637: // 'self' '('
|
|
case 17642: // 'sliding' '('
|
|
case 17643: // 'some' '('
|
|
case 17644: // 'stable' '('
|
|
case 17645: // 'start' '('
|
|
case 17648: // 'strict' '('
|
|
case 17656: // 'to' '('
|
|
case 17657: // 'treat' '('
|
|
case 17658: // 'try' '('
|
|
case 17659: // 'tumbling' '('
|
|
case 17660: // 'type' '('
|
|
case 17662: // 'union' '('
|
|
case 17664: // 'unordered' '('
|
|
case 17665: // 'updating' '('
|
|
case 17668: // 'validate' '('
|
|
case 17669: // 'value' '('
|
|
case 17670: // 'variable' '('
|
|
case 17671: // 'version' '('
|
|
case 17674: // 'where' '('
|
|
case 17675: // 'while' '('
|
|
case 17678: // 'with' '('
|
|
case 17682: // 'xquery' '('
|
|
try_FunctionCall();
|
|
break;
|
|
case 141514: // 'ordered' '{'
|
|
try_OrderedExpr();
|
|
break;
|
|
case 141568: // 'unordered' '{'
|
|
try_UnorderedExpr();
|
|
break;
|
|
case 32: // '%'
|
|
case 78: // 'array'
|
|
case 120: // 'document-node'
|
|
case 124: // 'empty-sequence'
|
|
case 145: // 'function'
|
|
case 152: // 'if'
|
|
case 165: // 'item'
|
|
case 167: // 'json-item'
|
|
case 185: // 'namespace-node'
|
|
case 191: // 'node'
|
|
case 226: // 'schema-attribute'
|
|
case 227: // 'schema-element'
|
|
case 242: // 'structured-item'
|
|
case 243: // 'switch'
|
|
case 253: // 'typeswitch'
|
|
case 14854: // EQName^Token '#'
|
|
case 14918: // 'after' '#'
|
|
case 14920: // 'allowing' '#'
|
|
case 14921: // 'ancestor' '#'
|
|
case 14922: // 'ancestor-or-self' '#'
|
|
case 14923: // 'and' '#'
|
|
case 14925: // 'append' '#'
|
|
case 14927: // 'as' '#'
|
|
case 14928: // 'ascending' '#'
|
|
case 14929: // 'at' '#'
|
|
case 14930: // 'attribute' '#'
|
|
case 14931: // 'base-uri' '#'
|
|
case 14932: // 'before' '#'
|
|
case 14933: // 'boundary-space' '#'
|
|
case 14934: // 'break' '#'
|
|
case 14936: // 'case' '#'
|
|
case 14937: // 'cast' '#'
|
|
case 14938: // 'castable' '#'
|
|
case 14939: // 'catch' '#'
|
|
case 14941: // 'child' '#'
|
|
case 14942: // 'collation' '#'
|
|
case 14944: // 'comment' '#'
|
|
case 14945: // 'constraint' '#'
|
|
case 14946: // 'construction' '#'
|
|
case 14949: // 'context' '#'
|
|
case 14950: // 'continue' '#'
|
|
case 14951: // 'copy' '#'
|
|
case 14952: // 'copy-namespaces' '#'
|
|
case 14953: // 'count' '#'
|
|
case 14954: // 'decimal-format' '#'
|
|
case 14956: // 'declare' '#'
|
|
case 14957: // 'default' '#'
|
|
case 14958: // 'delete' '#'
|
|
case 14959: // 'descendant' '#'
|
|
case 14960: // 'descendant-or-self' '#'
|
|
case 14961: // 'descending' '#'
|
|
case 14966: // 'div' '#'
|
|
case 14967: // 'document' '#'
|
|
case 14969: // 'element' '#'
|
|
case 14970: // 'else' '#'
|
|
case 14971: // 'empty' '#'
|
|
case 14973: // 'encoding' '#'
|
|
case 14974: // 'end' '#'
|
|
case 14976: // 'eq' '#'
|
|
case 14977: // 'every' '#'
|
|
case 14979: // 'except' '#'
|
|
case 14980: // 'exit' '#'
|
|
case 14981: // 'external' '#'
|
|
case 14982: // 'first' '#'
|
|
case 14983: // 'following' '#'
|
|
case 14984: // 'following-sibling' '#'
|
|
case 14985: // 'for' '#'
|
|
case 14989: // 'ft-option' '#'
|
|
case 14994: // 'ge' '#'
|
|
case 14996: // 'group' '#'
|
|
case 14998: // 'gt' '#'
|
|
case 14999: // 'idiv' '#'
|
|
case 15001: // 'import' '#'
|
|
case 15002: // 'in' '#'
|
|
case 15003: // 'index' '#'
|
|
case 15007: // 'insert' '#'
|
|
case 15008: // 'instance' '#'
|
|
case 15009: // 'integrity' '#'
|
|
case 15010: // 'intersect' '#'
|
|
case 15011: // 'into' '#'
|
|
case 15012: // 'is' '#'
|
|
case 15014: // 'json' '#'
|
|
case 15018: // 'last' '#'
|
|
case 15019: // 'lax' '#'
|
|
case 15020: // 'le' '#'
|
|
case 15022: // 'let' '#'
|
|
case 15024: // 'loop' '#'
|
|
case 15026: // 'lt' '#'
|
|
case 15028: // 'mod' '#'
|
|
case 15029: // 'modify' '#'
|
|
case 15030: // 'module' '#'
|
|
case 15032: // 'namespace' '#'
|
|
case 15034: // 'ne' '#'
|
|
case 15040: // 'nodes' '#'
|
|
case 15042: // 'object' '#'
|
|
case 15046: // 'only' '#'
|
|
case 15047: // 'option' '#'
|
|
case 15048: // 'or' '#'
|
|
case 15049: // 'order' '#'
|
|
case 15050: // 'ordered' '#'
|
|
case 15051: // 'ordering' '#'
|
|
case 15054: // 'parent' '#'
|
|
case 15060: // 'preceding' '#'
|
|
case 15061: // 'preceding-sibling' '#'
|
|
case 15064: // 'processing-instruction' '#'
|
|
case 15066: // 'rename' '#'
|
|
case 15067: // 'replace' '#'
|
|
case 15068: // 'return' '#'
|
|
case 15069: // 'returning' '#'
|
|
case 15070: // 'revalidation' '#'
|
|
case 15072: // 'satisfies' '#'
|
|
case 15073: // 'schema' '#'
|
|
case 15076: // 'score' '#'
|
|
case 15077: // 'self' '#'
|
|
case 15082: // 'sliding' '#'
|
|
case 15083: // 'some' '#'
|
|
case 15084: // 'stable' '#'
|
|
case 15085: // 'start' '#'
|
|
case 15088: // 'strict' '#'
|
|
case 15092: // 'text' '#'
|
|
case 15096: // 'to' '#'
|
|
case 15097: // 'treat' '#'
|
|
case 15098: // 'try' '#'
|
|
case 15099: // 'tumbling' '#'
|
|
case 15100: // 'type' '#'
|
|
case 15102: // 'union' '#'
|
|
case 15104: // 'unordered' '#'
|
|
case 15105: // 'updating' '#'
|
|
case 15108: // 'validate' '#'
|
|
case 15109: // 'value' '#'
|
|
case 15110: // 'variable' '#'
|
|
case 15111: // 'version' '#'
|
|
case 15114: // 'where' '#'
|
|
case 15115: // 'while' '#'
|
|
case 15118: // 'with' '#'
|
|
case 15122: // 'xquery' '#'
|
|
try_FunctionItemExpr();
|
|
break;
|
|
case -10:
|
|
case 27412: // '{' ';'
|
|
try_BlockExpr();
|
|
break;
|
|
case -11:
|
|
try_ObjectConstructor();
|
|
break;
|
|
case 68: // '['
|
|
try_ArrayConstructor();
|
|
break;
|
|
case 278: // '{|'
|
|
try_JSONSimpleObjectUnion();
|
|
break;
|
|
case -14:
|
|
break;
|
|
default:
|
|
try_Constructor();
|
|
}
|
|
}
|
|
|
|
function parse_JSONSimpleObjectUnion()
|
|
{
|
|
eventHandler.startNonterminal("JSONSimpleObjectUnion", e0);
|
|
shift(278); // '{|'
|
|
lookahead1W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 281) // '|}'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(281); // '|}'
|
|
eventHandler.endNonterminal("JSONSimpleObjectUnion", e0);
|
|
}
|
|
|
|
function try_JSONSimpleObjectUnion()
|
|
{
|
|
shiftT(278); // '{|'
|
|
lookahead1W(272); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 281) // '|}'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(281); // '|}'
|
|
}
|
|
|
|
function parse_ObjectConstructor()
|
|
{
|
|
eventHandler.startNonterminal("ObjectConstructor", e0);
|
|
shift(276); // '{'
|
|
lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 282) // '}'
|
|
{
|
|
whitespace();
|
|
parse_PairConstructorList();
|
|
}
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("ObjectConstructor", e0);
|
|
}
|
|
|
|
function try_ObjectConstructor()
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(273); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 282) // '}'
|
|
{
|
|
try_PairConstructorList();
|
|
}
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_PairConstructorList()
|
|
{
|
|
eventHandler.startNonterminal("PairConstructorList", e0);
|
|
parse_PairConstructor();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shift(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_PairConstructor();
|
|
}
|
|
eventHandler.endNonterminal("PairConstructorList", e0);
|
|
}
|
|
|
|
function try_PairConstructorList()
|
|
{
|
|
try_PairConstructor();
|
|
for (;;)
|
|
{
|
|
if (l1 != 41) // ','
|
|
{
|
|
break;
|
|
}
|
|
shiftT(41); // ','
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_PairConstructor();
|
|
}
|
|
}
|
|
|
|
function parse_PairConstructor()
|
|
{
|
|
eventHandler.startNonterminal("PairConstructor", e0);
|
|
parse_ExprSingle();
|
|
shift(49); // ':'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_ExprSingle();
|
|
eventHandler.endNonterminal("PairConstructor", e0);
|
|
}
|
|
|
|
function try_PairConstructor()
|
|
{
|
|
try_ExprSingle();
|
|
shiftT(49); // ':'
|
|
lookahead1W(266); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_ExprSingle();
|
|
}
|
|
|
|
function parse_ArrayConstructor()
|
|
{
|
|
eventHandler.startNonterminal("ArrayConstructor", e0);
|
|
shift(68); // '['
|
|
lookahead1W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 69) // ']'
|
|
{
|
|
whitespace();
|
|
parse_Expr();
|
|
}
|
|
shift(69); // ']'
|
|
eventHandler.endNonterminal("ArrayConstructor", e0);
|
|
}
|
|
|
|
function try_ArrayConstructor()
|
|
{
|
|
shiftT(68); // '['
|
|
lookahead1W(271); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
if (l1 != 69) // ']'
|
|
{
|
|
try_Expr();
|
|
}
|
|
shiftT(69); // ']'
|
|
}
|
|
|
|
function parse_BlockExpr()
|
|
{
|
|
eventHandler.startNonterminal("BlockExpr", e0);
|
|
shift(276); // '{'
|
|
lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_StatementsAndOptionalExpr();
|
|
shift(282); // '}'
|
|
eventHandler.endNonterminal("BlockExpr", e0);
|
|
}
|
|
|
|
function try_BlockExpr()
|
|
{
|
|
shiftT(276); // '{'
|
|
lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
try_StatementsAndOptionalExpr();
|
|
shiftT(282); // '}'
|
|
}
|
|
|
|
function parse_FunctionDecl()
|
|
{
|
|
eventHandler.startNonterminal("FunctionDecl", e0);
|
|
shift(145); // 'function'
|
|
lookahead1W(254); // EQName^Token | S^WS | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_EQName();
|
|
lookahead1W(22); // S^WS | '(' | '(:'
|
|
shift(34); // '('
|
|
lookahead1W(94); // S^WS | '$' | '(:' | ')'
|
|
if (l1 == 31) // '$'
|
|
{
|
|
whitespace();
|
|
parse_ParamList();
|
|
}
|
|
shift(37); // ')'
|
|
lookahead1W(148); // S^WS | '(:' | 'as' | 'external' | '{'
|
|
if (l1 == 79) // 'as'
|
|
{
|
|
whitespace();
|
|
parse_ReturnType();
|
|
}
|
|
lookahead1W(118); // S^WS | '(:' | 'external' | '{'
|
|
switch (l1)
|
|
{
|
|
case 276: // '{'
|
|
shift(276); // '{'
|
|
lookahead1W(276); // Wildcard | EQName^Token | IntegerLiteral | DecimalLiteral | DoubleLiteral |
|
|
whitespace();
|
|
parse_StatementsAndOptionalExpr();
|
|
shift(282); // '}'
|
|
break;
|
|
default:
|
|
shift(133); // 'external'
|
|
}
|
|
eventHandler.endNonterminal("FunctionDecl", e0);
|
|
}
|
|
|
|
function parse_ReturnType()
|
|
{
|
|
eventHandler.startNonterminal("ReturnType", e0);
|
|
shift(79); // 'as'
|
|
lookahead1W(259); // EQName^Token | S^WS | '%' | '(' | '(:' | 'after' | 'allowing' | 'ancestor' |
|
|
whitespace();
|
|
parse_SequenceType();
|
|
eventHandler.endNonterminal("ReturnType", e0);
|
|
}
|
|
|
|
function shift(t)
|
|
{
|
|
if (l1 == t)
|
|
{
|
|
whitespace();
|
|
eventHandler.terminal(XQueryParser.TOKEN[l1], b1, e1 > size ? size : e1);
|
|
b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
|
|
b1 = b2; e1 = e2; l2 = 0; }
|
|
}
|
|
else
|
|
{
|
|
error(b1, e1, 0, l1, t);
|
|
}
|
|
}
|
|
|
|
function shiftT(t)
|
|
{
|
|
if (l1 == t)
|
|
{
|
|
b0 = b1; e0 = e1; l1 = l2; if (l1 != 0) {
|
|
b1 = b2; e1 = e2; l2 = 0; }
|
|
}
|
|
else
|
|
{
|
|
error(b1, e1, 0, l1, t);
|
|
}
|
|
}
|
|
|
|
function skip(code)
|
|
{
|
|
var b0W = b0; var e0W = e0; var l1W = l1;
|
|
var b1W = b1; var e1W = e1;
|
|
|
|
l1 = code; b1 = begin; e1 = end;
|
|
l2 = 0;
|
|
|
|
try_Whitespace();
|
|
|
|
b0 = b0W; e0 = e0W; l1 = l1W; if (l1 != 0) {
|
|
b1 = b1W; e1 = e1W; }
|
|
}
|
|
|
|
function whitespace()
|
|
{
|
|
if (e0 != b1)
|
|
{
|
|
eventHandler.whitespace(e0, b1);
|
|
e0 = b1;
|
|
}
|
|
}
|
|
|
|
function matchW(set)
|
|
{
|
|
var code;
|
|
for (;;)
|
|
{
|
|
code = match(set);
|
|
if (code != 22) // S^WS
|
|
{
|
|
if (code != 36) // '(:'
|
|
{
|
|
break;
|
|
}
|
|
skip(code);
|
|
}
|
|
}
|
|
return code;
|
|
}
|
|
|
|
function lookahead1W(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = matchW(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function lookahead2W(set)
|
|
{
|
|
if (l2 == 0)
|
|
{
|
|
l2 = matchW(set);
|
|
b2 = begin;
|
|
e2 = end;
|
|
}
|
|
lk = (l2 << 9) | l1;
|
|
}
|
|
|
|
function lookahead1(set)
|
|
{
|
|
if (l1 == 0)
|
|
{
|
|
l1 = match(set);
|
|
b1 = begin;
|
|
e1 = end;
|
|
}
|
|
}
|
|
|
|
function lookahead2(set)
|
|
{
|
|
if (l2 == 0)
|
|
{
|
|
l2 = match(set);
|
|
b2 = begin;
|
|
e2 = end;
|
|
}
|
|
lk = (l2 << 9) | l1;
|
|
}
|
|
|
|
function error(b, e, s, l, t)
|
|
{
|
|
if (e >= ex)
|
|
{
|
|
bx = b;
|
|
ex = e;
|
|
sx = s;
|
|
lx = l;
|
|
tx = t;
|
|
}
|
|
throw new self.ParseException(bx, ex, sx, lx, tx);
|
|
}
|
|
|
|
var lk, b0, e0;
|
|
var l1, b1, e1;
|
|
var l2, b2, e2;
|
|
var bx, ex, sx, lx, tx;
|
|
var eventHandler;
|
|
var memo;
|
|
|
|
function memoize(i, e, v)
|
|
{
|
|
memo[(e << 4) + i] = v;
|
|
}
|
|
|
|
function memoized(i, e)
|
|
{
|
|
var v = memo[(e << 4) + i];
|
|
return typeof v != "undefined" ? v : 0;
|
|
}
|
|
|
|
var input;
|
|
var size;
|
|
var begin;
|
|
var end;
|
|
|
|
function match(tokenSetId)
|
|
{
|
|
var nonbmp = false;
|
|
begin = end;
|
|
var current = end;
|
|
var result = XQueryParser.INITIAL[tokenSetId];
|
|
var state = 0;
|
|
|
|
for (var code = result & 4095; code != 0; )
|
|
{
|
|
var charclass;
|
|
var c0 = current < size ? input.charCodeAt(current) : 0;
|
|
++current;
|
|
if (c0 < 0x80)
|
|
{
|
|
charclass = XQueryParser.MAP0[c0];
|
|
}
|
|
else if (c0 < 0xd800)
|
|
{
|
|
var c1 = c0 >> 4;
|
|
charclass = XQueryParser.MAP1[(c0 & 15) + XQueryParser.MAP1[(c1 & 31) + XQueryParser.MAP1[c1 >> 5]]];
|
|
}
|
|
else
|
|
{
|
|
if (c0 < 0xdc00)
|
|
{
|
|
var c1 = current < size ? input.charCodeAt(current) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000)
|
|
{
|
|
++current;
|
|
c0 = ((c0 & 0x3ff) << 10) + (c1 & 0x3ff) + 0x10000;
|
|
nonbmp = true;
|
|
}
|
|
}
|
|
var lo = 0, hi = 5;
|
|
for (var m = 3; ; m = (hi + lo) >> 1)
|
|
{
|
|
if (XQueryParser.MAP2[m] > c0) hi = m - 1;
|
|
else if (XQueryParser.MAP2[6 + m] < c0) lo = m + 1;
|
|
else {charclass = XQueryParser.MAP2[12 + m]; break;}
|
|
if (lo > hi) {charclass = 0; break;}
|
|
}
|
|
}
|
|
|
|
state = code;
|
|
var i0 = (charclass << 12) + code - 1;
|
|
code = XQueryParser.TRANSITION[(i0 & 15) + XQueryParser.TRANSITION[i0 >> 4]];
|
|
|
|
if (code > 4095)
|
|
{
|
|
result = code;
|
|
code &= 4095;
|
|
end = current;
|
|
}
|
|
}
|
|
|
|
result >>= 12;
|
|
if (result == 0)
|
|
{
|
|
end = current - 1;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
return error(begin, end, state, -1, -1);
|
|
}
|
|
|
|
if (nonbmp)
|
|
{
|
|
for (var i = result >> 9; i > 0; --i)
|
|
{
|
|
--end;
|
|
var c1 = end < size ? input.charCodeAt(end) : 0;
|
|
if (c1 >= 0xdc00 && c1 < 0xe000) --end;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
end -= result >> 9;
|
|
}
|
|
|
|
return (result & 511) - 1;
|
|
}
|
|
}
|
|
|
|
XQueryParser.getTokenSet = function(tokenSetId)
|
|
{
|
|
var set = [];
|
|
var s = tokenSetId < 0 ? - tokenSetId : XQueryParser.INITIAL[tokenSetId] & 4095;
|
|
for (var i = 0; i < 284; i += 32)
|
|
{
|
|
var j = i;
|
|
var i0 = (i >> 5) * 3612 + s - 1;
|
|
var i1 = i0 >> 2;
|
|
var i2 = i1 >> 2;
|
|
var f = XQueryParser.EXPECTED[(i0 & 3) + XQueryParser.EXPECTED[(i1 & 3) + XQueryParser.EXPECTED[(i2 & 15) + XQueryParser.EXPECTED[i2 >> 4]]]];
|
|
for ( ; f != 0; f >>>= 1, ++j)
|
|
{
|
|
if ((f & 1) != 0)
|
|
{
|
|
set.push(XQueryParser.TOKEN[j]);
|
|
}
|
|
}
|
|
}
|
|
return set;
|
|
};
|
|
|
|
XQueryParser.MAP0 =
|
|
[ 70, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 38, 30, 38, 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, 38, 38
|
|
];
|
|
|
|
XQueryParser.MAP1 =
|
|
[ 108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, 215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 355, 371, 387, 423, 423, 423, 415, 339, 331, 339, 331, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 440, 440, 440, 440, 440, 440, 440, 324, 339, 339, 339, 339, 339, 339, 339, 339, 401, 423, 423, 424, 422, 423, 423, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 338, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 339, 423, 70, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 38, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 34, 30, 30, 35, 30, 30, 30, 36, 30, 30, 37, 38, 39, 38, 30, 38, 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, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 30, 30, 38, 38, 38, 38, 38, 38, 38, 69, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69
|
|
];
|
|
|
|
XQueryParser.MAP2 =
|
|
[ 57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 38, 30, 38, 30, 30, 38
|
|
];
|
|
|
|
XQueryParser.INITIAL =
|
|
[ 1, 12290, 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, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286
|
|
];
|
|
|
|
XQueryParser.TRANSITION =
|
|
[ 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25307, 18176, 18180, 18180, 18180, 18210, 18180, 18180, 18180, 18180, 18222, 18180, 18180, 18180, 18180, 18198, 18180, 18182, 18238, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38623, 20771, 20784, 20796, 20808, 43870, 38625, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 28718, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19553, 19028, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22954, 20869, 38672, 38672, 38672, 37958, 38672, 38672, 36976, 20909, 20888, 38672, 38672, 38672, 38672, 39926, 20282, 20925, 20958, 38672, 38672, 38672, 43215, 38672, 38672, 25928, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 20997, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 21013, 21118, 38672, 38672, 38672, 24651, 38672, 38672, 44696, 38672, 42922, 38824, 21095, 21058, 21048, 21080, 21111, 48022, 20832, 38672, 38672, 38672, 43215, 21139, 38672, 25530, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 21157, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 18776, 18792, 20360, 18810, 18830, 18835, 19257, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38666, 38672, 38672, 38672, 21880, 38671, 38672, 36460, 38672, 21173, 38661, 21224, 38672, 21231, 38672, 42738, 42750, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 21247, 38672, 38672, 38672, 28875, 38672, 38672, 21266, 38672, 38672, 21288, 21300, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 31059, 38672, 38672, 38672, 38672, 38672, 38672, 24860, 21316, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 18988, 50434, 18503, 18525, 21353, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 24749, 21390, 38672, 38672, 38672, 23220, 38672, 38672, 49687, 45814, 21411, 38672, 38672, 38672, 38672, 41859, 18366, 21448, 21478, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 21515, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 46185, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 21462, 21573, 21537, 21537, 21537, 21580, 21532, 21537, 21542, 21615, 21558, 21644, 21596, 21609, 21631, 21657, 21669, 21681, 20832, 38672, 38672, 38672, 21337, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 21697, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 30462, 38672, 38672, 38672, 22025, 23251, 38672, 22249, 23257, 42922, 30462, 38672, 21719, 21725, 21741, 21766, 21750, 21795, 38672, 38672, 38672, 46035, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 30475, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 24785, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 37115, 50393, 21856, 21832, 21850, 21834, 21872, 21896, 21908, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 21924, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 37301, 25812, 27394, 21985, 22003, 21985, 22017, 27392, 21987, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 42072, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 20981, 38672, 38672, 38672, 30470, 24643, 38672, 48413, 22054, 26165, 22041, 22070, 22074, 22074, 22090, 20979, 48442, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22114, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 47221, 22137, 22155, 22137, 22169, 47219, 22139, 22193, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 22230, 38672, 22247, 38672, 29641, 22265, 42072, 33771, 38672, 38672, 38672, 38672, 26929, 22475, 35267, 22475, 22475, 36544, 42277, 22411, 22411, 33858, 26727, 37227, 26727, 26727, 35540, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 18609, 24891, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 21432, 38031, 38672, 38672, 38672, 38672, 38672, 22291, 38672, 26931, 22311, 22475, 22475, 22475, 22475, 33849, 22352, 22411, 35447, 22411, 22411, 33324, 22381, 26727, 45449, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 30028, 38672, 38672, 22475, 36607, 22475, 22475, 28015, 33854, 22411, 22410, 22411, 22411, 27851, 26727, 45441, 26727, 26727, 22521, 33795, 38672, 38672, 22807, 38672, 38672, 28255, 22475, 22475, 38505, 29442, 22411, 22411, 34626, 26485, 26727, 26727, 26860, 26998, 22647, 38672, 38672, 22428, 26931, 48359, 22475, 42142, 32794, 22411, 28347, 37402, 26727, 22521, 32486, 38672, 18915, 38672, 22451, 22474, 36860, 37042, 22411, 22492, 22517, 22520, 26312, 34036, 26929, 42625, 42144, 35207, 26975, 22537, 26310, 35759, 22589, 36765, 22624, 22640, 22663, 22685, 22706, 39617, 42139, 28345, 26456, 39814, 47009, 22727, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 23092, 42922, 38672, 38672, 38672, 38672, 38672, 31140, 31152, 22751, 38672, 38672, 38672, 43215, 38672, 38672, 26131, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 27937, 27268, 22230, 38672, 38672, 38672, 29641, 38672, 40144, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 36544, 22411, 22411, 22411, 33858, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 18609, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 22803, 38672, 38672, 38672, 22886, 38672, 38672, 38672, 38672, 42922, 36439, 22823, 22844, 22866, 22878, 36438, 22828, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 41329, 38672, 22902, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 22923, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 23115, 42922, 38672, 38672, 38672, 38672, 38672, 26339, 22940, 22970, 38672, 38672, 38672, 43215, 38672, 38672, 23007, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 47631, 27268, 22230, 38672, 38672, 38672, 29641, 38672, 48650, 23029, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 36544, 22411, 22411, 22411, 33858, 26727, 26727, 26727, 26727, 30990, 42723, 23085, 38672, 38672, 38672, 38672, 38672, 23048, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 23072, 23108, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 46833, 22411, 22411, 22411, 22411, 22411, 47864, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 43252, 33854, 22411, 22411, 22411, 22411, 48185, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 18878, 38672, 38672, 38672, 35592, 32963, 38672, 38672, 23153, 42922, 37950, 35335, 23190, 23196, 23212, 38672, 41919, 23236, 23274, 38672, 38672, 45078, 23291, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 25157, 23483, 23350, 24209, 23309, 45351, 38672, 18269, 42564, 28228, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19821, 23376, 23336, 23369, 23392, 24203, 23434, 23465, 24172, 23726, 19833, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 18729, 23481, 23642, 24581, 23499, 23504, 24048, 23353, 23520, 23933, 23353, 24164, 23917, 24518, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 23536, 23854, 23815, 23561, 23577, 23632, 24450, 24255, 23689, 23658, 23674, 23716, 23742, 24268, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 23773, 23804, 23842, 24040, 23870, 23886, 23449, 23700, 23902, 23320, 23949, 23992, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 24027, 23545, 23592, 24064, 24137, 24459, 24094, 24110, 23407, 20069, 47383, 20010, 46515, 35979, 20039, 20679, 24126, 24567, 24482, 24153, 24188, 23616, 24225, 20191, 20207, 20223, 20259, 20298, 20337, 24284, 24078, 24374, 24300, 24330, 24314, 23418, 20424, 20452, 20468, 24361, 23826, 23606, 24390, 24419, 20532, 24435, 24475, 24498, 24628, 20608, 23750, 23928, 24403, 20644, 23757, 24508, 20660, 20054, 24345, 20695, 24537, 24597, 24613, 24552, 23788, 24240, 23964, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 39906, 38672, 38672, 38672, 30470, 24672, 38672, 38672, 24667, 26611, 24688, 24695, 24695, 24695, 24711, 26910, 24735, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 24765, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 20739, 24828, 48943, 18855, 18871, 18894, 40258, 24858, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19087, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 24876, 24922, 24938, 19905, 19631, 19046, 24954, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 24970, 18446, 19976, 19994, 19525, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 21250, 35576, 24999, 24999, 24999, 35584, 31668, 31680, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 25271, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 19887, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 50381, 27744, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 40452, 25015, 25015, 25015, 25023, 27746, 40454, 20832, 25047, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 25065, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 20310, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 50286, 50295, 38672, 38672, 38672, 23056, 38672, 38672, 38672, 38672, 42922, 44048, 25088, 25088, 25088, 25096, 46630, 44050, 25120, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 18699, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 25136, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 25152, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25173, 38672, 38672, 38672, 38672, 30470, 25218, 38672, 38672, 21395, 32346, 38672, 38672, 38672, 25210, 25237, 21393, 25221, 25256, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 22214, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19206, 20349, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 38672, 41563, 25293, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 34976, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 25437, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 30057, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 25455, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 40102, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 49130, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33754, 33854, 22411, 22411, 22411, 22411, 31454, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25482, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25500, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38220, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 25563, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 28464, 25582, 25594, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 21426, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25610, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 44752, 25631, 25649, 25671, 25683, 44753, 25633, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 35735, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 25717, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 38672, 38672, 24860, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 31997, 38672, 25754, 25760, 25776, 23293, 41839, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 25800, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 25828, 20548, 20592, 20589, 50171, 25844, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 25049, 38672, 38672, 38672, 22098, 25865, 25896, 25377, 25881, 25913, 30410, 30418, 25964, 25978, 25990, 26006, 26018, 25344, 45647, 38672, 26034, 48091, 26052, 33210, 26086, 26116, 26153, 26223, 35321, 26181, 25701, 26211, 26248, 26264, 43583, 44602, 26280, 26296, 26329, 38672, 38672, 38672, 30176, 26355, 38925, 41958, 22850, 24803, 38672, 44654, 30480, 22475, 22475, 22475, 36601, 25393, 22411, 22411, 43601, 22690, 26727, 26727, 26727, 39641, 30990, 39463, 38672, 43148, 28319, 38672, 29724, 26374, 19326, 38672, 38672, 32428, 40296, 38574, 45608, 22475, 22475, 26394, 26439, 26475, 26509, 22411, 37859, 28780, 26529, 38451, 26727, 26727, 43300, 45056, 22573, 30349, 25414, 26545, 38672, 26563, 38672, 40287, 48411, 38672, 26599, 35364, 28653, 26627, 31403, 45616, 49789, 33849, 44356, 22411, 30609, 28411, 41138, 33324, 35718, 26727, 47625, 44193, 29223, 41749, 42781, 38094, 28940, 38672, 21816, 21032, 26644, 38672, 47420, 26664, 22475, 41307, 22336, 31195, 39296, 22411, 22411, 26685, 31454, 47988, 26726, 26727, 30787, 32911, 36940, 26744, 38697, 46064, 38672, 26779, 26799, 26821, 22787, 22475, 23131, 26837, 37515, 22411, 36778, 26853, 26876, 26727, 33519, 46887, 26926, 38672, 38672, 26931, 37355, 35081, 26947, 38899, 38878, 26969, 48550, 26727, 26994, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 38555, 27014, 22600, 47761, 48246, 27057, 27076, 27094, 27113, 28343, 26456, 27133, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 27153, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 39378, 27172, 38672, 27196, 27202, 27218, 27234, 27246, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 27262, 42259, 26453, 27284, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 46100, 48405, 27326, 25277, 38672, 38672, 28258, 22475, 22475, 22475, 37137, 27346, 22411, 22411, 22411, 22411, 39760, 37334, 26727, 26727, 26727, 26727, 27410, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 41804, 38672, 38672, 27435, 38672, 38672, 33108, 38672, 49441, 22475, 22475, 22475, 38002, 42895, 22411, 22411, 22411, 22411, 27454, 27481, 26727, 26727, 26727, 43058, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 46997, 37168, 35831, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 27504, 38672, 38672, 22098, 38672, 27541, 38672, 27559, 23976, 27578, 27586, 27602, 27617, 27629, 27645, 27657, 25344, 38672, 38672, 27676, 44992, 38672, 22924, 38672, 38672, 38672, 38672, 38672, 38672, 27673, 50511, 27692, 47251, 26513, 26453, 41246, 27710, 25375, 29768, 38672, 38672, 32334, 38672, 27740, 38672, 27762, 27784, 38672, 25948, 27789, 27805, 27821, 22475, 22475, 27840, 27878, 22411, 22411, 22690, 27915, 27931, 26727, 26727, 30990, 39463, 44557, 38672, 38672, 44934, 38672, 38225, 48405, 33126, 27953, 38672, 38672, 27694, 47073, 35424, 37245, 22475, 35786, 48497, 47338, 42686, 30280, 22411, 37334, 37394, 27977, 27995, 43743, 26727, 32919, 30349, 25414, 38672, 38672, 24003, 38672, 30096, 48411, 38672, 38672, 26931, 22475, 22475, 22475, 28013, 28031, 33849, 22411, 22411, 22411, 28053, 28070, 33324, 26727, 26727, 26727, 28092, 28109, 32918, 41804, 28131, 38672, 38672, 49206, 38672, 28149, 38672, 22475, 22475, 22475, 22780, 33754, 33854, 22411, 22411, 42031, 22411, 31454, 26727, 26727, 26727, 28171, 22521, 33795, 38672, 38672, 31346, 38672, 46687, 21493, 22475, 28191, 22475, 23131, 22411, 30274, 22411, 36778, 26727, 35228, 26727, 31599, 28213, 38672, 38672, 38672, 28250, 28274, 47411, 42142, 28296, 31494, 28347, 36728, 31954, 22521, 26313, 38672, 38672, 28317, 27136, 22475, 28335, 22411, 36897, 26977, 26727, 22564, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 28363, 28379, 28427, 28480, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 28504, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 24521, 38672, 38672, 22098, 38672, 28530, 45484, 38672, 46575, 28549, 28557, 28573, 28587, 28595, 28611, 28623, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 19750, 26547, 38672, 26546, 19755, 28639, 42141, 48492, 27360, 44280, 27268, 25375, 29257, 27180, 28679, 29641, 21703, 38672, 25730, 38672, 38083, 42329, 28697, 28734, 27137, 27824, 36531, 43498, 28750, 22608, 46434, 28774, 46408, 28796, 28814, 28833, 26727, 28849, 39463, 38672, 38672, 38672, 25738, 38672, 29761, 48405, 38672, 38672, 38672, 19698, 28258, 22475, 22475, 22475, 27023, 35786, 22411, 22411, 22411, 22411, 28891, 37334, 26727, 26727, 26727, 26727, 28912, 43066, 28929, 28956, 38672, 38672, 33876, 38672, 28992, 48411, 38672, 38672, 29009, 29030, 27032, 22475, 22475, 22669, 33849, 29109, 45393, 22411, 22411, 32729, 33324, 29133, 37067, 26727, 26727, 34717, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 29157, 38672, 29181, 22475, 22475, 29202, 33754, 43112, 22411, 22411, 32083, 22411, 34472, 29222, 26727, 26727, 29239, 22521, 33795, 38672, 29256, 29273, 38672, 29294, 28255, 32383, 27117, 29315, 23131, 44876, 34578, 42252, 36778, 44915, 26727, 29337, 26998, 46887, 21810, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 29370, 38672, 27136, 22475, 29387, 22411, 41041, 26977, 26727, 43751, 26312, 34036, 26929, 22475, 42144, 22411, 29411, 29240, 26310, 35759, 22476, 22411, 26978, 48196, 29430, 26953, 38544, 39617, 34809, 33567, 37775, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38673, 29464, 38672, 22098, 22435, 29483, 38672, 29506, 26195, 29530, 29540, 29556, 29570, 29582, 29598, 29610, 25344, 38672, 29626, 25072, 29668, 50094, 29711, 40102, 40331, 29748, 21064, 29784, 29812, 29843, 29873, 29903, 29919, 29957, 26423, 29973, 30010, 25375, 30044, 30091, 38782, 30112, 30134, 26137, 30161, 38672, 38672, 26583, 38672, 26929, 39099, 30212, 36878, 44806, 30228, 43650, 28758, 46842, 30244, 46765, 30296, 30317, 30336, 30384, 39463, 20089, 31354, 30434, 38799, 41183, 30450, 30496, 38672, 30542, 30564, 29278, 30580, 39823, 30631, 28663, 42103, 30647, 30685, 30712, 30766, 30811, 30837, 34161, 30878, 30901, 34681, 30930, 30980, 31006, 31022, 25414, 31049, 38672, 18321, 49090, 31075, 31094, 31128, 34195, 32584, 46802, 31168, 22475, 33645, 42347, 31190, 47486, 31211, 22411, 47598, 49959, 31232, 32841, 31257, 26727, 39569, 42011, 31278, 31335, 49499, 35851, 39273, 31370, 43966, 34186, 21188, 33468, 37601, 29186, 31389, 31426, 42239, 40895, 22411, 31442, 31481, 31454, 31519, 31539, 30795, 31561, 31595, 33795, 38672, 48757, 39401, 38672, 30196, 28255, 39519, 43549, 31615, 23131, 34822, 47675, 31635, 36778, 22546, 47769, 31572, 26998, 46887, 39201, 31656, 18290, 31696, 31734, 31750, 31772, 31808, 31845, 31869, 31903, 37385, 31919, 31970, 26378, 18593, 32021, 48908, 39526, 44237, 32042, 32063, 32099, 48723, 41712, 26312, 41270, 26929, 22475, 32144, 22411, 32167, 44894, 26310, 32185, 46276, 40692, 44326, 31465, 20435, 32208, 32228, 32248, 32274, 32295, 32319, 32362, 32399, 32415, 28257, 28345, 26459, 32457, 32473, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 32509, 38672, 22098, 32530, 32548, 43771, 30190, 32600, 32630, 38672, 32616, 32654, 32662, 32678, 32690, 25344, 38672, 38672, 48277, 43215, 38672, 38672, 38672, 38672, 29732, 38672, 38672, 32706, 29731, 26036, 33631, 42208, 32724, 38438, 44280, 27268, 25375, 21272, 38672, 38672, 31985, 38672, 38672, 38672, 26576, 32745, 36837, 38672, 26929, 32766, 22475, 22475, 22475, 32810, 32857, 22411, 22411, 22690, 27419, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 48405, 38672, 38672, 40108, 38672, 28258, 22475, 22475, 22475, 42113, 35786, 22411, 22411, 22411, 22411, 32877, 37334, 26727, 26727, 26727, 26728, 26727, 32919, 30349, 25414, 38672, 38672, 38672, 38672, 38672, 48411, 32026, 38672, 26931, 22475, 22475, 46869, 22475, 22475, 33849, 22411, 22411, 39678, 22411, 22411, 33324, 26727, 26727, 41099, 26727, 26727, 32918, 41804, 38672, 38672, 38672, 38672, 38672, 30118, 38672, 22475, 22475, 22475, 42121, 33754, 33854, 22411, 22411, 48685, 22411, 31454, 26727, 26727, 26727, 46758, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 23131, 22411, 22411, 22411, 36778, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 36404, 38672, 38672, 38672, 44299, 22475, 42143, 31823, 22411, 32169, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 27097, 32897, 36362, 47020, 32935, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 25031, 38672, 38672, 43445, 32979, 32987, 33003, 33009, 33025, 33041, 33053, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 29467, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 33069, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 33103, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 33124, 38672, 18284, 28258, 22475, 22475, 22475, 22475, 40837, 22411, 22411, 22411, 22411, 22411, 34394, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 33142, 38672, 33163, 42808, 38672, 42803, 38566, 22475, 22475, 37994, 22475, 22475, 33849, 22411, 22411, 47479, 22411, 22411, 33324, 26727, 26727, 31312, 26727, 26727, 41720, 33181, 38672, 38672, 34958, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 34949, 49071, 38672, 28255, 22475, 22475, 29048, 29442, 22411, 22411, 43834, 26485, 26727, 26727, 49882, 26998, 33184, 33200, 40222, 33234, 22991, 22475, 33277, 33313, 50063, 43479, 33349, 26727, 33377, 32128, 26313, 33405, 26648, 22985, 33423, 33443, 35387, 48797, 34523, 33492, 40922, 33514, 26312, 34036, 46959, 32375, 33535, 33554, 33575, 35236, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 28488, 33591, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 32005, 38672, 38672, 33617, 38672, 38672, 38672, 30064, 38672, 30073, 38672, 30064, 33661, 30069, 38721, 42958, 22411, 33692, 33700, 33716, 25375, 38672, 38672, 25941, 29641, 33732, 20082, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 33752, 25393, 22411, 22411, 23137, 22690, 26727, 26727, 26727, 49362, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25615, 38672, 33770, 28258, 22475, 22475, 22475, 22475, 40491, 22411, 22411, 22411, 22411, 22411, 40736, 26727, 26727, 26727, 26727, 26727, 33787, 33803, 33407, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 33819, 48351, 22475, 22475, 22475, 22475, 33849, 46363, 22411, 22411, 22411, 22411, 33324, 48523, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 48282, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 33840, 33854, 22411, 22411, 22411, 28403, 27851, 26727, 26727, 26727, 43360, 22521, 33795, 38672, 38672, 42813, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 33874, 21141, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 33892, 34036, 21208, 22475, 46215, 22411, 33914, 26727, 33935, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 42795, 38672, 22098, 25439, 25194, 32493, 40646, 40656, 38304, 38312, 33959, 33974, 33986, 34002, 34014, 25344, 38672, 38672, 38672, 49261, 33079, 38672, 38672, 23275, 34030, 34052, 38672, 34078, 34127, 34177, 34211, 38408, 34239, 34258, 29354, 34285, 25375, 38672, 38672, 36069, 29641, 38672, 34301, 38672, 38672, 38672, 34327, 24011, 26929, 47957, 34366, 22475, 34410, 34439, 34460, 34488, 32881, 44853, 22711, 39788, 26727, 49664, 34508, 39463, 38672, 28969, 45656, 28681, 19706, 18253, 38672, 26070, 26232, 47650, 46594, 28258, 42618, 22475, 45107, 34547, 44588, 22411, 34575, 22411, 34594, 34618, 34642, 27997, 26727, 35481, 34668, 34697, 32919, 33803, 38672, 38672, 38672, 44387, 34733, 34759, 38672, 38672, 38672, 26931, 34796, 22475, 22475, 22475, 34845, 34862, 31216, 22411, 22411, 37262, 22411, 34878, 31262, 26727, 26727, 28913, 26727, 34894, 33802, 38672, 34931, 35005, 30145, 35033, 35049, 30548, 35079, 26669, 35097, 35117, 35142, 44418, 22411, 35167, 35192, 43624, 31718, 26727, 43013, 39321, 47169, 35252, 30750, 31033, 38672, 35289, 35307, 35357, 32192, 22475, 35380, 35403, 34559, 22411, 35440, 35463, 30821, 35479, 35497, 35530, 35556, 35608, 38672, 38672, 24906, 47811, 35630, 37839, 28037, 35670, 48379, 27078, 35705, 48704, 22521, 26313, 33898, 38672, 35734, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 28514, 35751, 26929, 35782, 35802, 36916, 32303, 49941, 26310, 49171, 22476, 22411, 26978, 48196, 35867, 35883, 35899, 35915, 42139, 28345, 26456, 28257, 28343, 26456, 35951, 36348, 35941, 33538, 36362, 36357, 34905, 35967, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 33252, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 20573, 33260, 46302, 45557, 36019, 36031, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 34780, 22475, 25393, 22411, 22411, 36047, 22690, 26727, 26727, 36130, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 20243, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 36066, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 45849, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 36085, 22475, 22475, 22475, 22475, 33849, 36106, 22411, 22411, 22411, 22411, 33324, 36126, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 19729, 38672, 22098, 38672, 39473, 38672, 44217, 36146, 36184, 36196, 36212, 36218, 36234, 36250, 36262, 25344, 38672, 36278, 38672, 43215, 38672, 25421, 18575, 38672, 27438, 38672, 38672, 46139, 36299, 48111, 34141, 26409, 36335, 39145, 44169, 36378, 36420, 36455, 38672, 29371, 36476, 38672, 27543, 38672, 36498, 35844, 31373, 34743, 36516, 40527, 36565, 29321, 36586, 36623, 36646, 22411, 36676, 29093, 36714, 29346, 28817, 43388, 36750, 36802, 37724, 36836, 38672, 38672, 38672, 26061, 38672, 38672, 38672, 38672, 38672, 28258, 36853, 42951, 22475, 36876, 38513, 34492, 36894, 36913, 40984, 22411, 43282, 35514, 28798, 26727, 43717, 26727, 36932, 33803, 38672, 38672, 36956, 38672, 38672, 18909, 32575, 38672, 38672, 26931, 22475, 22475, 41976, 35273, 36992, 33849, 22411, 22411, 45307, 44424, 37025, 33324, 26727, 26727, 40875, 39885, 37058, 32918, 33802, 34967, 38672, 38672, 32750, 38672, 38672, 38672, 22475, 38401, 22475, 22475, 28015, 33854, 34444, 22411, 22411, 22411, 27851, 26727, 37091, 26727, 26727, 22521, 33795, 37110, 34940, 38672, 46173, 45770, 29014, 37131, 22475, 22475, 37153, 29988, 22411, 22411, 37195, 37219, 26727, 26727, 36392, 46887, 38346, 38672, 39265, 26931, 22475, 37243, 42142, 22411, 37261, 28347, 26727, 37278, 22521, 26313, 38672, 37296, 38672, 27136, 22475, 37317, 22411, 48861, 26977, 26727, 48595, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 35925, 29395, 39608, 37350, 37371, 26459, 33538, 37783, 48331, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 41939, 38672, 22098, 38672, 25566, 38672, 38672, 29887, 39046, 39054, 37418, 37432, 37440, 37456, 37468, 25500, 38672, 37493, 38672, 43215, 38672, 28533, 38672, 38672, 27562, 38672, 38672, 37494, 37484, 23258, 20853, 42141, 37510, 47612, 44280, 27268, 25375, 38672, 29490, 38672, 29641, 38672, 37531, 37550, 38672, 38672, 38672, 37570, 27517, 39732, 22475, 40520, 37590, 25393, 37627, 22412, 37898, 37646, 31523, 26727, 48530, 31241, 31792, 37683, 37699, 24812, 38672, 37723, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 37740, 22475, 37799, 22475, 35786, 45030, 31853, 36110, 22411, 22411, 37334, 31545, 34712, 40790, 26727, 26727, 32919, 33803, 38672, 21024, 48965, 38672, 38672, 33943, 28155, 37816, 38672, 26931, 46335, 37834, 22475, 27041, 22475, 34377, 49011, 37855, 22411, 33297, 22411, 27890, 39339, 37875, 26727, 27899, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 48203, 38672, 38672, 38672, 26931, 29057, 22475, 42142, 32786, 22411, 28347, 22555, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 37895, 26977, 49110, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 37914, 31619, 41895, 26978, 37938, 37974, 41757, 45432, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 36549, 37075, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 25240, 38672, 24719, 38672, 46651, 38018, 25104, 38054, 38118, 38157, 38142, 38161, 38126, 38177, 38189, 25344, 38672, 45759, 49561, 49547, 38205, 49199, 38672, 38241, 38259, 34062, 38289, 38328, 38371, 38273, 38387, 38424, 38467, 39556, 38529, 27268, 25375, 40213, 38672, 38672, 38590, 21779, 38672, 38614, 38641, 21123, 43234, 38689, 38713, 41522, 39725, 26628, 22475, 25393, 38737, 22411, 29117, 22690, 32232, 31319, 26727, 38753, 34652, 38772, 35341, 38672, 38798, 38815, 38672, 38672, 40618, 38672, 38672, 38672, 38840, 33601, 40485, 22475, 38858, 22475, 35786, 47683, 38876, 40856, 22411, 22411, 37334, 32114, 26727, 42187, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 24776, 38672, 36500, 33087, 26755, 48300, 22475, 22475, 22475, 46796, 41600, 49410, 22411, 22411, 22411, 38894, 29994, 47730, 26727, 26727, 26727, 46465, 44085, 32918, 33802, 38915, 38949, 38972, 38992, 38672, 39015, 39031, 44824, 39070, 29039, 39086, 28015, 33854, 39115, 39131, 22365, 39171, 27851, 40395, 48234, 48581, 49654, 22521, 39190, 33147, 39225, 26763, 39254, 38337, 41515, 31410, 48668, 36570, 39289, 44624, 49920, 36050, 39312, 46490, 26727, 39337, 39355, 46887, 39394, 38672, 20942, 22766, 22475, 39417, 21499, 22411, 39448, 25398, 26727, 39489, 22521, 47568, 38672, 38672, 46680, 45512, 39505, 42143, 39542, 32076, 39585, 39633, 39657, 35567, 35614, 26929, 29075, 42144, 39674, 26975, 39694, 26310, 35759, 35126, 47451, 29414, 27465, 39712, 39748, 39776, 39804, 46246, 41657, 47873, 28257, 28343, 26456, 28257, 28345, 26459, 39839, 39865, 36357, 34905, 30398, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 39901, 22098, 38672, 30368, 39922, 38672, 45211, 39942, 39950, 39966, 39980, 39988, 40004, 40016, 25344, 35063, 40032, 40048, 40074, 25784, 40124, 38672, 40160, 20023, 50351, 40199, 40238, 40274, 40312, 49237, 40347, 40363, 36660, 40411, 40427, 25375, 38672, 40443, 18661, 36161, 37534, 38672, 18669, 43864, 38672, 38672, 44690, 26929, 22475, 37009, 40470, 40507, 25393, 22411, 40543, 31503, 45950, 26727, 47993, 40578, 40601, 30990, 39463, 38672, 44715, 38672, 38672, 40617, 29165, 40634, 41441, 21201, 19353, 22907, 40672, 45368, 47429, 22475, 22475, 40708, 37034, 28896, 40724, 22411, 47891, 41633, 40762, 35506, 40782, 26727, 47175, 32919, 22394, 40806, 38672, 38654, 32566, 38672, 38672, 38672, 38672, 48740, 26931, 22475, 38860, 22475, 40833, 22475, 33849, 22411, 41060, 22411, 40853, 22411, 33324, 26727, 38756, 26727, 40872, 26727, 32918, 33802, 38672, 38672, 20973, 45998, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 22458, 40891, 22411, 22411, 22411, 22411, 40911, 26727, 26727, 26727, 26727, 22501, 33795, 23174, 18332, 38672, 38672, 38672, 40938, 22475, 40962, 22475, 40684, 22411, 40981, 22411, 31782, 26727, 49841, 26727, 26998, 28442, 38672, 38672, 38672, 26931, 41000, 41019, 42142, 41039, 41057, 28347, 41076, 41095, 22521, 44039, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 34915, 34036, 27330, 41115, 29084, 41137, 35817, 26727, 27724, 35759, 41154, 41218, 41701, 41262, 41286, 47258, 44155, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 28115, 33538, 27862, 36357, 34905, 46290, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 26904, 22098, 38672, 38672, 41323, 22275, 41345, 40139, 38672, 26358, 41381, 41394, 41410, 41422, 25344, 38672, 38672, 45842, 43215, 38672, 38672, 38672, 41438, 50256, 38672, 22231, 41440, 45848, 38672, 34773, 41457, 34829, 39879, 41487, 27268, 25375, 38102, 38672, 38672, 29641, 38672, 41538, 41554, 33261, 38672, 38672, 36430, 26929, 41579, 35101, 34846, 45533, 41616, 41649, 40556, 45401, 41673, 41736, 41773, 26727, 41789, 40746, 42656, 41831, 38672, 41855, 41875, 32532, 32708, 46542, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 41594, 22475, 35786, 22411, 22411, 22411, 41893, 22411, 37334, 26727, 26727, 37094, 26727, 26727, 32919, 27373, 41911, 29299, 38672, 38672, 38672, 41935, 25466, 38672, 41955, 26931, 22475, 41121, 41974, 22475, 22475, 34152, 22411, 46370, 41992, 22411, 22411, 30778, 26727, 31887, 42009, 26727, 26727, 32918, 33802, 38243, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 48461, 22475, 28015, 42027, 22411, 22411, 42047, 22411, 37764, 26727, 26727, 48819, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 22208, 38672, 18340, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 28175, 42067, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 30944, 42088, 42137, 42160, 42180, 48196, 42203, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 31078, 38672, 38672, 32435, 32438, 32441, 42224, 25897, 46967, 28280, 42275, 42293, 31579, 27268, 42319, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 46624, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 41023, 22411, 22411, 22411, 22411, 22411, 42864, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 42345, 42143, 29941, 22411, 26977, 42363, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 44743, 22177, 38672, 38672, 27385, 38672, 45876, 42383, 22121, 42412, 42425, 42433, 42449, 42461, 25344, 38672, 32955, 42527, 43215, 18706, 42477, 42499, 33244, 42519, 38672, 42543, 40174, 42559, 42580, 42605, 42641, 42672, 40377, 42708, 42766, 25375, 38672, 38672, 38672, 42829, 42880, 42911, 43973, 27961, 38672, 38672, 23013, 42938, 22475, 42974, 41003, 39432, 42995, 32861, 22411, 36698, 35176, 43029, 43292, 26727, 43049, 43082, 43138, 38672, 38672, 38672, 25328, 43172, 43191, 38672, 43210, 28234, 38672, 43231, 48341, 22475, 43250, 22475, 22325, 43268, 47118, 39174, 22411, 22411, 43316, 43332, 43358, 40585, 26727, 37280, 43376, 43410, 33803, 38672, 38672, 41815, 45184, 39238, 30360, 38672, 43434, 50186, 43461, 43495, 48777, 43514, 43538, 22475, 43573, 43599, 31640, 43617, 43640, 22411, 43666, 43692, 49367, 43710, 43733, 26727, 47922, 33802, 43767, 38672, 38672, 43787, 43812, 38672, 43850, 50024, 43886, 43557, 22475, 28015, 33854, 43908, 34242, 22411, 22411, 27851, 46470, 43935, 44079, 26727, 39658, 43953, 38672, 43989, 21331, 38672, 38672, 33824, 22475, 22475, 49385, 34223, 22411, 22411, 22411, 44011, 26727, 26727, 26727, 44027, 46887, 19958, 38672, 38672, 50007, 22475, 22475, 28197, 22411, 22411, 44066, 26727, 26727, 44101, 26313, 20872, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26890, 47793, 44124, 44140, 44185, 44209, 20435, 28340, 26976, 33389, 44233, 44253, 44277, 44296, 28343, 26456, 28257, 28345, 26459, 44315, 44342, 38482, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 18636, 22098, 44386, 29857, 38069, 44372, 44403, 44440, 44464, 44480, 44494, 44510, 44526, 44538, 25344, 44554, 46908, 38672, 40088, 38672, 38672, 41365, 38672, 43156, 26783, 26781, 47212, 47203, 34311, 44573, 42979, 44618, 41232, 44280, 27268, 44640, 44676, 38672, 44712, 29827, 28456, 38672, 38672, 38672, 44731, 44769, 38672, 40058, 44785, 40965, 44822, 22475, 44840, 44869, 48063, 22411, 22690, 39155, 44892, 44910, 26727, 30990, 39463, 38672, 44931, 38672, 44950, 44971, 38672, 38672, 38672, 38672, 38672, 44987, 28258, 45008, 41301, 22475, 22475, 37611, 28054, 22411, 45028, 22411, 22411, 45046, 30301, 30320, 26727, 26727, 28093, 30742, 33803, 38672, 38672, 45072, 32638, 30075, 38672, 46548, 37818, 38672, 42396, 22475, 22475, 47037, 45094, 33476, 49452, 22411, 22411, 49585, 32047, 36630, 35654, 26727, 26727, 39696, 33919, 26493, 44108, 45157, 32514, 38672, 49604, 38672, 38672, 38672, 45200, 22475, 22475, 43892, 45227, 28015, 33854, 22411, 41993, 40562, 22411, 27851, 26727, 26727, 32834, 45248, 22521, 33795, 38672, 22295, 45267, 19361, 38672, 28255, 36090, 22475, 45286, 43473, 42051, 22411, 45304, 43005, 43694, 26727, 49877, 26998, 46887, 38672, 50299, 46144, 45323, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 49054, 26313, 45345, 36168, 40817, 45367, 22475, 45384, 22411, 30669, 26977, 26727, 45417, 45465, 36482, 45500, 45528, 32279, 22411, 44261, 26727, 45549, 35759, 34423, 35689, 37179, 48196, 20435, 28340, 26976, 27310, 33427, 47309, 26456, 32258, 46222, 29141, 45599, 45573, 45589, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 42503, 22098, 38672, 38672, 19843, 38672, 45632, 29682, 29695, 45672, 45688, 45703, 45719, 45731, 25344, 25697, 36820, 25484, 43215, 48936, 33218, 45747, 38933, 25691, 45794, 45830, 45905, 45865, 45892, 45921, 30595, 45937, 41471, 45980, 45966, 25375, 45996, 46014, 46030, 34093, 38672, 38672, 46051, 24794, 46090, 46124, 46160, 46201, 46238, 46262, 46318, 46334, 46351, 46386, 26710, 46424, 30615, 39597, 40389, 46450, 46486, 30259, 41502, 46506, 46564, 38672, 46591, 46610, 46646, 38672, 45270, 33165, 46667, 46703, 46719, 46781, 46818, 46866, 45012, 35786, 47344, 42692, 28076, 22411, 34531, 37334, 42303, 43342, 43676, 26727, 37661, 41688, 46885, 38672, 46904, 39209, 44660, 46924, 28976, 46946, 38672, 30957, 20847, 49903, 46983, 47036, 22475, 47053, 33288, 31829, 47089, 22411, 22411, 47105, 35219, 43394, 47140, 26727, 26727, 47156, 32918, 33802, 47191, 38672, 41877, 37707, 38672, 50210, 38598, 47237, 45288, 47274, 47290, 28015, 43827, 47306, 47325, 28394, 29934, 30696, 36786, 37667, 47360, 43033, 22521, 43418, 47376, 50112, 38672, 38355, 49147, 28255, 47399, 22475, 22475, 47445, 47467, 34602, 22411, 47502, 47526, 50046, 26727, 47556, 46887, 36283, 49516, 38672, 48840, 29206, 44799, 47584, 47703, 30662, 30727, 45251, 31880, 34269, 39367, 47647, 38672, 49567, 38494, 40946, 47666, 47699, 47719, 39849, 48630, 47746, 32945, 47785, 47809, 47827, 47850, 47889, 47907, 48880, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 49752, 49772, 47949, 47973, 48009, 48038, 49034, 30862, 33538, 36362, 36357, 47933, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 48079, 38672, 38672, 48107, 38672, 19671, 30510, 30518, 48127, 30518, 30526, 48143, 48155, 25344, 38672, 38672, 38672, 44955, 38672, 29647, 38672, 38672, 38672, 38672, 29652, 46888, 38672, 38672, 45329, 35643, 48171, 30851, 45141, 48219, 48262, 38672, 38672, 38672, 29641, 38672, 38672, 50200, 50208, 38672, 38672, 38672, 48298, 33458, 22475, 22475, 22475, 48316, 48375, 22411, 22411, 28301, 37203, 26727, 26727, 26727, 30914, 41169, 48395, 38672, 34989, 34103, 38672, 38672, 38672, 48429, 38672, 34985, 36969, 28258, 49732, 31174, 47066, 48458, 46734, 22411, 37326, 35682, 48477, 41625, 48513, 26727, 48546, 48566, 33498, 48611, 32919, 33803, 38672, 32557, 38672, 48646, 38672, 38672, 38672, 19786, 38672, 26931, 22475, 48666, 22475, 22475, 22475, 32777, 22411, 48684, 22411, 22411, 22411, 31945, 26727, 48701, 26727, 26727, 26727, 32918, 33361, 38672, 45778, 38672, 38672, 38672, 38672, 41194, 35417, 22475, 22475, 22475, 28015, 42844, 22411, 22411, 22411, 22411, 27851, 48720, 26727, 26727, 26727, 22521, 33795, 48739, 38672, 38672, 48756, 38672, 35766, 48773, 22475, 22475, 45119, 48793, 22411, 42164, 43122, 48813, 26727, 43937, 26998, 46887, 48835, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 43522, 42144, 48856, 26975, 48877, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 20436, 32151, 30885, 28257, 28345, 26459, 33538, 22735, 48896, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 48924, 48962, 36314, 45181, 38672, 50538, 38672, 45169, 48959, 38038, 34111, 48981, 48993, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 27525, 42141, 49009, 31292, 44280, 27268, 25375, 38672, 36812, 40252, 29641, 38672, 38672, 38672, 38672, 43194, 38672, 38672, 26929, 45232, 22475, 37800, 22475, 25393, 49027, 22411, 46850, 22690, 27979, 26727, 26727, 49050, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 49070, 38672, 38672, 49087, 38672, 28258, 22475, 49810, 22475, 22475, 35786, 22411, 22411, 34386, 22411, 22411, 37334, 26727, 26727, 49106, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 49126, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 49146, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 49163, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 49187, 38672, 21516, 38672, 20816, 49222, 49253, 38672, 49277, 49291, 49304, 49320, 49332, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 31934, 32212, 26453, 47540, 49348, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 43175, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 35291, 38672, 38672, 38672, 36319, 22475, 22475, 22475, 22475, 22475, 31707, 22411, 22411, 22411, 22411, 22411, 45130, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38842, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 49383, 22475, 49401, 33854, 22411, 42856, 22411, 47124, 27851, 26727, 41079, 26727, 26727, 49426, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25610, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 41202, 49468, 49480, 25344, 38672, 38672, 38672, 43215, 49496, 38672, 49515, 38672, 38672, 46071, 46074, 38672, 49532, 28993, 37922, 42141, 49583, 32824, 44280, 27268, 25375, 38672, 38672, 46108, 29641, 46524, 46533, 49601, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 49620, 37001, 25393, 22411, 29448, 22411, 49639, 26727, 26727, 48625, 36734, 30990, 43097, 49680, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 49703, 38672, 38672, 26931, 22475, 22475, 49727, 22475, 22475, 48053, 22411, 22411, 49748, 22411, 22411, 46748, 26727, 26727, 49768, 26727, 26727, 32918, 33802, 20903, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 49788, 22475, 22475, 28015, 33854, 26700, 22411, 22411, 22411, 27851, 42367, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 45477, 38672, 38672, 43215, 38672, 38672, 49711, 38672, 38672, 38672, 49707, 38672, 38672, 27156, 49805, 37753, 37630, 26453, 49986, 49826, 25375, 38672, 20236, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 28133, 26929, 22475, 22475, 22475, 47834, 25393, 22411, 22411, 22411, 49862, 26727, 26727, 26727, 37879, 30990, 39463, 38672, 45808, 38672, 38672, 38672, 38672, 38672, 38672, 29514, 38672, 38672, 28258, 49898, 22475, 31756, 22475, 35786, 22411, 49919, 22411, 36688, 22411, 37334, 40766, 26727, 26727, 49936, 26727, 32919, 33803, 38672, 25655, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 37984, 22475, 22475, 22475, 35151, 22411, 46398, 22411, 22411, 22411, 43919, 26727, 31302, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38999, 38672, 22475, 22475, 26805, 22475, 49623, 33854, 22411, 22411, 49957, 22411, 49975, 26727, 26727, 47510, 26727, 49846, 33795, 38672, 38672, 18612, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 30025, 38672, 38672, 50002, 26931, 50023, 22475, 27060, 22411, 22411, 28347, 50040, 26727, 22521, 26313, 38672, 40323, 38672, 27136, 29066, 42143, 22411, 50062, 26977, 27488, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 25323, 38672, 38672, 38672, 38672, 22098, 38672, 38672, 38672, 38672, 42922, 41360, 38672, 38672, 38672, 44448, 27298, 33333, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 25375, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 25393, 22411, 22411, 22411, 22690, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 34339, 19585, 19583, 40183, 33676, 50079, 27766, 27768, 50110, 33673, 34350, 50128, 50140, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 25515, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 20613, 18794, 19200, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 18475, 50434, 18503, 18525, 50156, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 20273, 38672, 42922, 31104, 31112, 50226, 50240, 50248, 42483, 50272, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 50505, 38672, 38672, 38672, 25547, 38672, 38672, 25544, 18953, 18958, 18794, 35998, 18531, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19406, 50434, 18503, 18525, 18547, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 42589, 38672, 38672, 38672, 38672, 24842, 35017, 50315, 50319, 50335, 50343, 43995, 50367, 20832, 38672, 38672, 38672, 43215, 38672, 38672, 25359, 38672, 38672, 23171, 38672, 38672, 38672, 23167, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 29641, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 19075, 50434, 18503, 18525, 50409, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 20424, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 20532, 20548, 20592, 20589, 50171, 20608, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 20939, 38672, 38672, 38672, 38672, 30470, 38672, 38672, 38672, 38672, 42922, 38672, 38672, 38672, 38672, 38672, 38672, 24860, 25344, 38672, 38672, 38672, 43215, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28256, 42141, 22411, 26453, 44280, 27268, 22230, 38672, 38672, 38672, 29641, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26929, 22475, 22475, 22475, 22475, 36544, 22411, 22411, 22411, 33858, 26727, 26727, 26727, 26727, 30990, 39463, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 28258, 22475, 22475, 22475, 22475, 35786, 22411, 22411, 22411, 22411, 22411, 37334, 26727, 26727, 26727, 26727, 26727, 32919, 33803, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 26931, 22475, 22475, 22475, 22475, 22475, 33849, 22411, 22411, 22411, 22411, 22411, 33324, 26727, 26727, 26727, 26727, 26727, 32918, 33802, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 22475, 22475, 22475, 22475, 28015, 33854, 22411, 22411, 22411, 22411, 27851, 26727, 26727, 26727, 26727, 22521, 33795, 38672, 38672, 38672, 38672, 38672, 28255, 22475, 22475, 22475, 29442, 22411, 22411, 22411, 26485, 26727, 26727, 26727, 26998, 46887, 38672, 38672, 38672, 26931, 22475, 22475, 42142, 22411, 22411, 28347, 26727, 26727, 22521, 26313, 38672, 38672, 38672, 27136, 22475, 42143, 22411, 22411, 26977, 26727, 22520, 26312, 34036, 26929, 22475, 42144, 22411, 26975, 26727, 26310, 35759, 22476, 22411, 26978, 48196, 20435, 28340, 26976, 39617, 42139, 28345, 26456, 28257, 28343, 26456, 28257, 28345, 26459, 33538, 36362, 36357, 34905, 28863, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38956, 38672, 38672, 29796, 50456, 50460, 50460, 50482, 38955, 50476, 50498, 38672, 38672, 38672, 38672, 38672, 38672, 50505, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 18953, 18958, 18794, 35998, 19418, 35990, 45351, 38672, 18269, 42564, 38672, 38672, 40144, 38672, 23032, 18306, 18356, 18382, 18387, 18403, 18422, 18462, 20670, 18475, 50434, 18503, 18525, 50156, 19412, 50440, 18509, 36003, 19232, 20563, 38672, 46930, 18591, 38672, 38672, 37574, 18609, 18628, 33736, 18652, 18685, 18722, 18753, 18745, 18769, 18406, 25849, 18792, 20360, 18810, 18830, 18835, 19138, 18794, 20364, 18814, 18794, 18839, 19540, 19955, 37554, 48943, 18855, 18871, 18894, 40258, 38672, 38976, 18931, 18947, 18974, 19016, 19062, 19169, 19103, 19129, 20726, 19934, 19154, 19185, 19222, 19248, 20726, 19934, 19154, 19185, 19222, 19273, 19000, 30964, 19299, 19315, 28712, 19342, 25187, 19377, 19393, 19434, 19464, 19495, 19569, 19608, 24938, 19905, 19631, 19046, 19601, 24931, 19898, 19624, 19039, 19647, 19687, 43796, 19722, 19792, 19745, 19771, 19808, 19113, 19859, 19875, 19921, 18446, 19976, 19994, 24983, 18444, 19974, 19992, 20321, 18562, 47383, 20010, 46515, 35979, 20039, 20679, 20105, 20160, 20116, 20132, 20159, 20115, 20176, 19479, 20207, 20223, 20259, 20298, 20337, 20380, 20402, 21368, 20386, 20408, 21374, 19283, 50527, 20452, 20468, 20484, 20497, 50424, 20500, 20516, 26100, 20548, 20592, 20589, 50171, 18953, 19547, 18794, 18487, 20629, 20143, 19945, 20660, 18437, 21954, 20695, 20711, 21969, 19448, 21939, 20755, 19510, 19659, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 38672, 94505, 94505, 90408, 90408, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 1, 12290, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 0, 94505, 90408, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 364, 94505, 90408, 94505, 94505, 94505, 94505, 94505, 94505, 94505, 69632, 73728, 94505, 94505, 94505, 94505, 94505, 65536, 94505, 3, 0, 0, 2183168, 0, 0, 0, 90408, 94505, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 1636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1645, 0, 0, 2732032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2904064, 2908160, 0, 0, 0, 0, 0, 1699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2963, 0, 0, 0, 0, 0, 2424832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2625536, 0, 0, 0, 0, 0, 2045, 0, 0, 0, 0, 2049, 0, 0, 0, 0, 0, 0, 0, 2711, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2976, 0, 534, 534, 534, 534, 534, 2699264, 2715648, 0, 0, 2772992, 2805760, 2830336, 0, 2863104, 2920448, 0, 0, 0, 0, 0, 0, 0, 303, 303, 303, 303, 0, 303, 303, 303, 303, 0, 2805760, 2920448, 0, 0, 0, 0, 0, 2920448, 0, 0, 0, 0, 0, 0, 0, 2732032, 0, 2179072, 2179072, 2179072, 2179072, 2424832, 2433024, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3125248, 2625536, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2699264, 2179072, 2715648, 2179072, 2723840, 2179072, 2732032, 2772992, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2551808, 2125824, 2125824, 2125824, 2125824, 2125824, 2637824, 2125824, 2179072, 2179072, 2805760, 2179072, 2830336, 2179072, 2179072, 2863104, 2179072, 2179072, 2179072, 2179072, 2920448, 2179072, 2179072, 2179072, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 0, 2502656, 0, 0, 3010560, 0, 0, 0, 0, 2990080, 2179072, 2179072, 2699264, 2125824, 2715648, 2125824, 2723840, 2125824, 2732032, 2772992, 2125824, 2125824, 2125824, 2805760, 2125824, 2830336, 2125824, 2125824, 2863104, 2125824, 2125824, 2125824, 2125824, 2920448, 2863104, 2125824, 2125824, 2125824, 2125824, 2920448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 1142784, 0, 2179072, 2125824, 2125824, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 975, 2125824, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2547712, 2596864, 0, 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, 735, 0, 741, 0, 0, 0, 2789376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3137, 0, 0, 2142208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2733, 0, 2662400, 0, 2813952, 0, 0, 0, 0, 2375680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 351, 352, 0, 0, 0, 0, 2584576, 0, 0, 0, 0, 2838528, 0, 0, 2838528, 0, 0, 0, 0, 0, 0, 0, 0, 1122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1186, 0, 0, 0, 0, 0, 0, 0, 2891776, 0, 0, 0, 0, 0, 2392064, 2412544, 0, 0, 2838528, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 706, 0, 0, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2408448, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 0, 2126724, 2126724, 2617344, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2662400, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2584576, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2801664, 2813952, 2179072, 2838528, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 1798, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2662400, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2801664, 2813952, 2125824, 2838528, 2125824, 2813952, 2125824, 2838528, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3125248, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2822144, 0, 0, 2883584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3080192, 3100672, 3104768, 0, 0, 0, 0, 3186688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 306, 0, 0, 0, 0, 0, 0, 2797568, 0, 0, 0, 0, 0, 0, 0, 2850816, 2867200, 0, 0, 2883584, 0, 0, 0, 0, 0, 2072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3134, 0, 0, 0, 0, 2465792, 0, 0, 2719744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3014656, 3207168, 0, 2691072, 0, 0, 3215360, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2179072, 2461696, 2465792, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2523136, 2179072, 2179072, 2179072, 0, 1342, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473984, 2478080, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2600960, 2179072, 2179072, 2179072, 2179072, 2641920, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 1047, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3035136, 2125824, 2125824, 3072000, 2125824, 2125824, 2125824, 3121152, 2125824, 2125824, 3141632, 2125824, 2125824, 2125824, 3170304, 2179072, 2179072, 2719744, 2179072, 2179072, 2179072, 2179072, 2179072, 2768896, 2777088, 2781184, 2797568, 2822144, 2179072, 2179072, 2179072, 0, 900, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 298, 0, 299, 0, 302, 0, 303, 0, 0, 0, 2473984, 2478080, 2179072, 3063808, 2179072, 2179072, 2179072, 2179072, 3100672, 2179072, 2179072, 3133440, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2551808, 2179072, 2179072, 2179072, 2179072, 2179072, 2637824, 2179072, 2179072, 2179072, 2179072, 3207168, 2179072, 0, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2719744, 2125824, 2125824, 2125824, 2125824, 2125824, 2768896, 2777088, 2781184, 2797568, 2822144, 2125824, 2125824, 2125824, 2883584, 2179072, 2912256, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3039232, 2125824, 2912256, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3039232, 2125824, 2125824, 0, 2125824, 2126799, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 245760, 0, 0, 2179072, 2125824, 2125824, 3063808, 2125824, 2125824, 2125824, 2125824, 2125824, 3100672, 2125824, 2125824, 3133440, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2179072, 2125824, 2125824, 2457600, 2179072, 2179072, 2179072, 2179072, 2457600, 2125824, 2125824, 2125824, 3207168, 2125824, 0, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 1894, 2125824, 2125824, 2125824, 2408448, 2125824, 2125824, 2125824, 2125824, 2125824, 3207168, 2125824, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 0, 2924544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162112, 3170304, 0, 0, 3219456, 3035136, 0, 0, 0, 0, 0, 3072000, 2650112, 0, 0, 2809856, 0, 0, 0, 0, 0, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 1654, 0, 2686976, 2736128, 0, 0, 2531328, 2707456, 0, 3190784, 0, 0, 2576384, 0, 0, 0, 0, 0, 0, 0, 1688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 3121152, 3141632, 0, 0, 0, 2924544, 0, 2682880, 0, 0, 0, 0, 0, 0, 3112960, 2387968, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2453504, 2179072, 2473984, 2482176, 2179072, 2179072, 2179072, 0, 901, 2125824, 2125824, 2125824, 2125824, 2125824, 2424832, 2433024, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2531328, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2605056, 2179072, 2629632, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2527232, 2125824, 2125824, 2125824, 2125824, 2125824, 3092480, 2125824, 2527232, 2125824, 2650112, 2179072, 2179072, 2179072, 2707456, 2179072, 2736128, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2887680, 2179072, 2125824, 2125824, 2125824, 2125824, 2441216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2932736, 2179072, 2924544, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3035136, 2179072, 2179072, 3072000, 2179072, 2125824, 2658304, 2973696, 2125824, 2125824, 2658304, 2973696, 2125824, 2711552, 2560000, 2179072, 2560000, 2125824, 2560000, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 975, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2179072, 2125824, 2125824, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 1047, 0, 0, 2179072, 2125824, 2125824, 2179072, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 2125824, 2125824, 3190784, 3194880, 2125824, 0, 0, 0, 0, 0, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2453504, 2125824, 2707456, 2125824, 2736128, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2887680, 2125824, 2125824, 2924544, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3141632, 2125824, 2125824, 2125824, 3170304, 2125824, 2125824, 3190784, 3194880, 2125824, 2179072, 2125824, 2125824, 2179072, 2125824, 2125824, 2179072, 2125824, 2125824, 2985984, 2985984, 2985984, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 419, 419, 0, 0, 65536, 419, 2179072, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 2125824, 2125824, 3112960, 3219456, 0, 0, 0, 0, 0, 0, 0, 1701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1624, 0, 0, 0, 0, 0, 0, 0, 3022848, 0, 0, 3145728, 0, 3203072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 336, 0, 0, 0, 0, 0, 0, 0, 0, 3067904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445312, 0, 2842624, 0, 0, 0, 2637824, 0, 0, 0, 0, 2621440, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727936, 0, 0, 0, 3084288, 3182592, 2899968, 0, 2961408, 0, 0, 2179072, 2179072, 2416640, 2179072, 2179072, 2179072, 2445312, 2179072, 2179072, 2179072, 0, 901, 2126724, 2126724, 2126724, 2126724, 2126724, 2425732, 2433924, 2126724, 2126724, 2126724, 2126724, 2458574, 2126798, 2126798, 2126798, 2126798, 2183168, 0, 0, 0, 0, 0, 0, 0, 396, 0, 0, 0, 0, 0, 396, 0, 0, 2179072, 2179072, 2179072, 2727936, 2752512, 2179072, 2179072, 2179072, 2842624, 2846720, 2179072, 2895872, 2916352, 2179072, 2179072, 2945024, 2179072, 2179072, 2994176, 2179072, 3002368, 2179072, 2179072, 3022848, 2179072, 3067904, 3084288, 3096576, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 237568, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2605056, 2125824, 2629632, 2125824, 2125824, 2650112, 2125824, 2125824, 2125824, 2707456, 2125824, 2736128, 2125824, 2125824, 2125824, 2125824, 2179072, 2179072, 2179072, 3223552, 0, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2125824, 2600960, 2125824, 2125824, 2125824, 2125824, 2641920, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2940, 0, 2637824, 2125824, 2125824, 2125824, 2125824, 2727936, 2752512, 2125824, 2125824, 2125824, 2125824, 2842624, 2846720, 2125824, 2895872, 2916352, 2125824, 2125824, 2125824, 2125824, 2945024, 2125824, 2125824, 2994176, 2125824, 3002368, 2125824, 2125824, 3022848, 2125824, 3067904, 3084288, 2125824, 3096576, 2125824, 2125824, 0, 0, 0, 2928640, 0, 0, 0, 3059712, 0, 2543616, 2666496, 0, 2633728, 0, 0, 0, 0, 0, 0, 766, 767, 0, 0, 0, 754, 0, 0, 774, 0, 2179072, 2179072, 2179072, 2494464, 2179072, 2179072, 2514944, 2179072, 2179072, 2179072, 2543616, 2547712, 2179072, 2179072, 2596864, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 2593668, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126798, 0, 0, 0, 0, 0, 0, 2510848, 2514944, 0, 0, 2547712, 2596864, 0, 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0, 1566, 0, 0, 0, 2179072, 2179072, 3059712, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2928640, 2125824, 2125824, 2125824, 2998272, 2125824, 2125824, 2125824, 2125824, 3059712, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3178496, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3010560, 2125824, 2125824, 2125824, 2125824, 2125824, 2502656, 2125824, 2125824, 2125824, 2494464, 2125824, 2125824, 2514944, 2125824, 2125824, 2125824, 2543616, 2547712, 2125824, 2125824, 2596864, 2125824, 2125824, 2125824, 2125824, 2125824, 3059712, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3178496, 2179072, 2125824, 2125824, 2179072, 2126724, 2126724, 2126798, 2126798, 2441216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2932736, 2965504, 0, 0, 3076096, 0, 0, 2695168, 3174400, 2646016, 2613248, 2703360, 0, 0, 0, 0, 2977792, 0, 0, 3047424, 3129344, 0, 2981888, 2396160, 0, 3153920, 0, 0, 0, 2740224, 0, 0, 0, 0, 0, 0, 1106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 0, 2793472, 0, 0, 0, 0, 0, 2469888, 2506752, 2756608, 0, 0, 2580480, 0, 0, 0, 0, 0, 0, 1146880, 0, 1146880, 0, 0, 0, 0, 0, 0, 0, 302, 302, 302, 302, 0, 302, 302, 302, 302, 0, 2396160, 2400256, 2179072, 2179072, 2441216, 2179072, 2469888, 2179072, 2179072, 2179072, 2519040, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 241664, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 2179072, 2125824, 2125824, 2179072, 2179072, 2125824, 2125824, 2125824, 2588672, 2179072, 2613248, 2646016, 2179072, 2179072, 2695168, 2756608, 2179072, 2179072, 2179072, 2932736, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 245760, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2584576, 2125824, 2125824, 2125824, 2125824, 2125824, 2617344, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2662400, 2179072, 2179072, 2179072, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2396160, 2400256, 2125824, 2125824, 2441216, 2125824, 2469888, 2125824, 2125824, 2125824, 2519040, 2125824, 2125824, 2125824, 2125824, 2125824, 2519040, 2125824, 2125824, 2125824, 2125824, 2588672, 2125824, 2613248, 2646016, 2125824, 2125824, 2695168, 2756608, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3503, 2953216, 0, 0, 2826240, 3158016, 2428928, 0, 3018752, 2764800, 2572288, 0, 0, 3051520, 2179072, 2428928, 2437120, 2179072, 2486272, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2654208, 2678784, 2760704, 2764800, 2854912, 2969600, 2179072, 3006464, 2179072, 3018752, 2179072, 2179072, 2179072, 3149824, 2125824, 2428928, 2437120, 2125824, 2486272, 2125824, 2125824, 2125824, 2125824, 2125824, 2654208, 2678784, 2760704, 2764800, 2785280, 2854912, 2969600, 2125824, 3006464, 2125824, 3018752, 2125824, 2125824, 2125824, 2125824, 3149824, 2179072, 3051520, 2125824, 3051520, 2125824, 3051520, 0, 2490368, 2498560, 0, 0, 0, 0, 2875392, 0, 0, 0, 3132, 0, 0, 2834432, 0, 3227648, 2568192, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 2179072, 2179072, 2179072, 2555904, 2564096, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3137536, 2125824, 2125824, 2125824, 2125824, 2457600, 2125824, 2125824, 2125824, 2125824, 2183168, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 333, 0, 0, 2125824, 3137536, 2125824, 2125824, 2498560, 2125824, 2125824, 2125824, 2555904, 2564096, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3132, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2126725, 2125824, 2125824, 2125824, 2502656, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2125824, 2125824, 2502656, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3010560, 2179072, 2179072, 2126724, 2126724, 2503556, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2592768, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3117056, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2928640, 2179072, 2179072, 2179072, 2998272, 2179072, 2179072, 3031040, 0, 0, 0, 2179072, 2449408, 2179072, 2535424, 2179072, 2609152, 2179072, 2859008, 2179072, 2179072, 2179072, 3031040, 2125824, 2449408, 2125824, 2535424, 2125824, 2609152, 2125824, 2859008, 2125824, 2125824, 2125824, 3031040, 2125824, 2125824, 2449408, 2125824, 2125824, 2125824, 2125824, 2461696, 2465792, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2523136, 2125824, 2125824, 2125824, 298, 0, 0, 0, 298, 0, 299, 0, 0, 0, 299, 0, 302, 2125824, 2125824, 2125824, 3026944, 2404352, 2125824, 2125824, 2125824, 2125824, 3026944, 2539520, 0, 2949120, 2179072, 2658304, 2973696, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 452, 452, 111044, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 452, 111044, 111044, 111044, 111044, 111044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 360, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2124, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 847, 534, 534, 861, 534, 534, 0, 302, 118784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3127, 0, 0, 0, 302, 0, 0, 0, 302, 119197, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 302, 0, 0, 0, 0, 302, 302, 302, 302, 302, 302, 0, 0, 0, 0, 0, 302, 0, 302, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2966, 0, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 33396, 299, 0, 2134016, 49784, 303, 0, 0, 0, 0, 0, 2428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 302, 0, 0, 0, 2424832, 2433024, 0, 0, 2457600, 2105631, 12290, 3, 0, 0, 293, 0, 0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 2024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, 0, 790, 0, 793, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 0, 0, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 147456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3148, 0, 0, 0, 0, 1067, 1071, 0, 0, 1075, 1079, 0, 2424832, 2433024, 0, 0, 2457600, 0, 0, 0, 131072, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2479, 2437, 0, 0, 0, 0, 0, 2484, 0, 0, 0, 0, 0, 0, 1675, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3260, 0, 0, 534, 534, 534, 131072, 0, 0, 131072, 131072, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 131072, 0, 0, 131072, 0, 0, 0, 0, 0, 135168, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225708, 0, 0, 0, 135168, 0, 0, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 135168, 0, 135168, 135168, 135168, 135168, 135168, 135168, 0, 135168, 135168, 135168, 135168, 135168, 135168, 0, 0, 0, 0, 0, 135168, 0, 135168, 1, 12290, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 629, 630, 0, 2134016, 633, 634, 0, 0, 0, 0, 0, 2725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200245, 2200245, 2200245, 0, 0, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 1434, 2125824, 2125824, 2125824, 2125824, 2932736, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3129344, 2125824, 2125824, 3153920, 3166208, 3174400, 2506752, 2506752, 2506752, 0, 303, 139264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 303, 0, 0, 0, 303, 69632, 139681, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2013, 0, 0, 0, 0, 303, 303, 303, 303, 303, 303, 0, 0, 0, 0, 0, 303, 0, 303, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 3, 0, 0, 2183168, 0, 0, 0, 0, 0, 298, 33399, 0, 2134016, 302, 49787, 0, 0, 0, 0, 0, 2763, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 3020, 556, 556, 556, 61440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 300, 300, 300, 143660, 370, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 143660, 300, 300, 143660, 300, 300, 300, 143730, 300, 300, 300, 143730, 69632, 73728, 300, 300, 143660, 300, 300, 65536, 300, 300, 0, 0, 300, 300, 143660, 300, 300, 300, 300, 300, 300, 300, 300, 300, 365, 300, 0, 143660, 300, 300, 300, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 300, 300, 143660, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 143730, 300, 300, 300, 300, 300, 300, 300, 300, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 300, 300, 300, 300, 300, 300, 300, 300, 143660, 300, 143660, 143660, 143660, 143660, 300, 143660, 143660, 143660, 143660, 143660, 143660, 300, 0, 300, 0, 300, 300, 300, 143660, 300, 143660, 143660, 143660, 143660, 143660, 143730, 143660, 143730, 143730, 143730, 143730, 143730, 143730, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 143660, 1, 12290, 0, 0, 0, 0, 2200245, 2200245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1153, 1154, 0, 0, 0, 0, 0, 0, 155648, 155648, 0, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 155648, 155648, 0, 155648, 155648, 0, 12290, 0, 0, 0, 0, 155648, 0, 155648, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 1148, 0, 0, 0, 0, 0, 0, 0, 0, 1157, 3, 0, 0, 2183168, 126976, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2446, 0, 0, 0, 0, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 163840, 159744, 159744, 159744, 159744, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 159744, 163840, 159744, 159744, 159744, 159744, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 131072, 131072, 25155, 0, 0, 0, 159744, 0, 0, 0, 25155, 25155, 25155, 159744, 25155, 25155, 25155, 25155, 25155, 25155, 25155, 159744, 159744, 159744, 159744, 25155, 159744, 25155, 1, 12290, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 24576, 975, 2125824, 2125824, 2125824, 2125824, 3092480, 0, 0, 0, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2404352, 2125824, 2125824, 2125824, 2125824, 2592768, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2449408, 0, 2535424, 2125824, 2609152, 2125824, 2859008, 2125824, 2125824, 2125824, 3031040, 2125824, 2527232, 0, 0, 0, 2179072, 2527232, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 1, 12290, 167936, 167936, 167936, 0, 0, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 155648, 0, 172032, 172032, 0, 172032, 0, 0, 172032, 172032, 0, 172032, 0, 0, 0, 0, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 172032, 172032, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 0, 1, 288, 3, 0, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 1, 0, 176128, 176128, 176128, 0, 0, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 347, 3, 78114, 78114, 292, 0, 627, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 0, 0, 78114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, 1102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 1146, 0, 0, 0, 0, 1151, 0, 0, 0, 0, 0, 0, 0, 346, 0, 404, 0, 0, 0, 0, 0, 404, 0, 0, 0, 2098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2717, 0, 0, 534, 2135, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2147, 534, 534, 534, 534, 534, 534, 1775, 534, 534, 534, 1780, 534, 534, 534, 534, 534, 534, 534, 2545, 534, 534, 534, 534, 534, 534, 0, 2549, 2220, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2232, 556, 556, 556, 556, 556, 556, 2590, 556, 556, 556, 556, 556, 556, 2598, 556, 556, 2307, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2319, 580, 580, 580, 0, 0, 0, 2006, 0, 1069, 0, 0, 0, 2008, 0, 1073, 0, 2573, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1396, 0, 0, 2955, 0, 0, 0, 2959, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 0, 372, 0, 0, 0, 534, 3150, 534, 534, 534, 3153, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2547, 534, 534, 534, 0, 0, 3161, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 580, 3206, 580, 580, 580, 3209, 580, 580, 580, 580, 580, 580, 580, 580, 2679, 580, 580, 580, 534, 580, 556, 534, 580, 580, 3217, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 580, 580, 3309, 580, 580, 580, 580, 3310, 3311, 580, 580, 580, 580, 580, 580, 580, 580, 2875, 580, 580, 580, 580, 580, 580, 580, 580, 3071, 580, 580, 580, 580, 580, 580, 580, 580, 3233, 580, 580, 580, 580, 534, 580, 556, 1993, 534, 534, 534, 1997, 556, 556, 556, 2001, 534, 534, 534, 3339, 534, 534, 534, 534, 534, 534, 3345, 534, 534, 534, 534, 556, 3407, 556, 3409, 556, 556, 556, 556, 556, 556, 556, 556, 1373, 556, 556, 556, 556, 556, 556, 556, 3364, 556, 580, 580, 580, 580, 580, 580, 3370, 580, 580, 580, 580, 580, 580, 3376, 580, 580, 580, 3380, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2925, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 3391, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2198, 534, 2200, 534, 534, 534, 534, 534, 534, 3406, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 556, 556, 556, 556, 3422, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1449, 580, 580, 580, 580, 580, 580, 580, 3522, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 3585, 534, 556, 556, 3, 78114, 78114, 292, 0, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 2973, 0, 0, 2975, 0, 0, 534, 534, 2980, 534, 534, 534, 534, 534, 534, 2532, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2793, 534, 534, 534, 534, 534, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732, 0, 0, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 0, 192965, 0, 1, 12290, 192965, 192965, 192965, 0, 0, 192965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 0, 192965, 192965, 192965, 192965, 192965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1582, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 727, 406, 406, 406, 406, 406, 406, 0, 0, 0, 0, 0, 406, 0, 406, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118784, 298, 3, 78114, 78114, 292, 0, 0, 0, 0, 0, 298, 299, 0, 301, 302, 303, 0, 0, 0, 0, 0, 3142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2978, 534, 534, 534, 534, 0, 0, 0, 0, 733, 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 0, 0, 0, 1244, 0, 0, 1175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2871296, 0, 0, 1171, 1171, 0, 0, 0, 1175, 1650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 253952, 0, 0, 0, 0, 580, 580, 580, 1540, 2005, 0, 0, 0, 0, 1546, 2007, 0, 0, 0, 0, 1552, 0, 0, 0, 1558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 2009, 0, 0, 0, 0, 1558, 2011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2549, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1410, 556, 556, 556, 556, 556, 0, 306, 0, 306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, 1155072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2705, 0, 0, 0, 0, 0, 204800, 204800, 0, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 204800, 205106, 204800, 204800, 205105, 205106, 204800, 205105, 205105, 204800, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 299, 0, 0, 0, 0, 0, 3, 0, 0, 2183794, 0, 0, 0, 0, 0, 298, 299, 151552, 2134016, 302, 303, 0, 0, 0, 0, 0, 155648, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 757, 0, 151552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 2179072, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 0, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3036110, 2126798, 2126798, 3072974, 2126798, 2126798, 2126798, 3122126, 2700164, 2126724, 2716548, 2126724, 2724740, 2126724, 2732932, 2773892, 2126724, 2126724, 2126724, 2806660, 2126724, 2831236, 2126724, 2126724, 973, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2864004, 2126724, 2126724, 2126724, 2126724, 2921348, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2626436, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3117956, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 0, 0, 975, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3224526, 2179072, 2126798, 2126724, 2179072, 2179072, 2126724, 2126724, 2126798, 2126798, 0, 2486272, 0, 0, 0, 0, 0, 2678784, 2854912, 3006464, 2126798, 2126798, 2126798, 2626510, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2700238, 2126798, 2716622, 2126798, 2724814, 2126798, 2126798, 2126798, 2126798, 2126798, 2454478, 2126798, 2474958, 2483150, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2532302, 2733006, 2773966, 2126798, 2126798, 2126798, 2806734, 2126798, 2831310, 2126798, 2126798, 2864078, 2126798, 2126798, 2126798, 2126798, 2921422, 2126724, 2409348, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2814852, 2126724, 2839428, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3126148, 2126724, 2126724, 2126724, 2126724, 2126798, 2126798, 2585550, 2126798, 2126798, 2126798, 2126798, 2126798, 2618318, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2663374, 2179072, 2179072, 2179072, 3207168, 2179072, 0, 0, 0, 0, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2552708, 2126724, 2126724, 2126724, 2126724, 2126724, 2638724, 2126724, 2126724, 2720644, 2126724, 2126724, 2126724, 2126724, 2126724, 2769796, 2777988, 2782084, 2798468, 2823044, 2126724, 2126724, 2126724, 2884484, 2126724, 2913156, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3040132, 2126724, 2126724, 2126724, 2728836, 2753412, 2126724, 2126724, 2126724, 2126724, 2843524, 2847620, 2126724, 2896772, 2917252, 2126724, 2126724, 2126724, 2126724, 3150724, 2126798, 2429902, 2438094, 2126798, 2487246, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2929614, 2126798, 2126798, 2126798, 2999246, 2126798, 3064708, 2126724, 2126724, 2126724, 2126724, 2126724, 3101572, 2126724, 2126724, 3134340, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2585476, 2126724, 2126724, 2126724, 2126724, 2126724, 2618244, 2126724, 2126724, 2126724, 2126798, 2720718, 2126798, 2126798, 2126798, 2126798, 2126798, 2769870, 2778062, 2782158, 2798542, 2823118, 2126798, 2126798, 2126798, 2884558, 2126798, 2913230, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3040206, 2126798, 2126798, 2126798, 2126798, 2126798, 2601934, 2126798, 2126798, 2126798, 2126798, 2642894, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2606030, 2126798, 2630606, 2126798, 2126798, 2651086, 2126798, 2126798, 2126798, 3064782, 2126798, 2126798, 2126798, 2126798, 2126798, 3101646, 2126798, 2126798, 3134414, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 0, 2179072, 2126798, 2126724, 2457600, 2179072, 2179072, 2179072, 2179072, 2458500, 2126798, 2126798, 2126798, 3208142, 2126798, 2179072, 2126798, 2126724, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3011460, 2126724, 2126724, 2126724, 2126798, 2126798, 2503630, 0, 0, 0, 0, 2388868, 2126724, 2126724, 2126724, 2421636, 2126724, 2126724, 2126724, 2126724, 2126724, 2454404, 2126724, 2126724, 2126724, 3027844, 2405326, 2126798, 2126798, 2126798, 2126798, 3027918, 2539520, 0, 2949120, 2179072, 2658304, 2973696, 2474884, 2483076, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2532228, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2601860, 2126724, 2126724, 2126724, 2126724, 2642820, 2126724, 2126724, 2126724, 2126724, 2126724, 2655108, 2679684, 2761604, 2765700, 2786180, 2855812, 2970500, 2126724, 3007364, 2126724, 3019652, 2605956, 2126724, 2630532, 2126724, 2126724, 2651012, 2126724, 2126724, 2126724, 2708356, 2126724, 2737028, 2126724, 2126724, 2126724, 2126724, 2462596, 2466692, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2524036, 2126724, 2126724, 2126724, 2126724, 3036036, 2126724, 2126724, 3072900, 2126724, 2126724, 2126724, 3122052, 2126724, 2126724, 3142532, 2126724, 2126724, 2126724, 3171204, 2126724, 2126724, 3191684, 3195780, 2126724, 0, 0, 0, 0, 0, 0, 2388942, 2126798, 2126798, 2126798, 2421710, 2708430, 2126798, 2737102, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2888654, 2126798, 2126798, 2925518, 2126798, 2126798, 2126798, 2126798, 2179072, 2126798, 2126724, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2802638, 2814926, 2126798, 2839502, 2126798, 2126798, 2126798, 3142606, 2126798, 2126798, 2126798, 3171278, 2126798, 2126798, 3191758, 3195854, 2126798, 2179072, 2126798, 2126724, 2179072, 2126724, 2126798, 2179072, 2126724, 2126798, 2179072, 2126724, 2126798, 2985984, 2986884, 2986958, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 315, 316, 316, 421, 422, 65536, 429, 2179072, 3112960, 3219456, 2126724, 2126724, 3113860, 3220356, 2126798, 2126798, 3113934, 3220430, 0, 0, 0, 0, 0, 0, 0, 2046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238, 0, 0, 0, 0, 0, 0, 2179072, 2179072, 2179072, 3223552, 0, 0, 2126724, 2126724, 2417540, 2126724, 2126724, 2126724, 2446212, 2126724, 2126724, 2126724, 2126724, 2888580, 2126724, 2126724, 2925444, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 0, 0, 2126798, 2126798, 2126798, 2409422, 2126798, 2126798, 2945924, 2126724, 2126724, 2995076, 2126724, 3003268, 2126724, 2126724, 3023748, 2126724, 3068804, 3085188, 2126724, 3097476, 2126724, 2126724, 2126724, 2519940, 2126724, 2126724, 2126724, 2126724, 2589572, 2126724, 2614148, 2646916, 2126724, 2126724, 2696068, 2757508, 2638798, 2126798, 2126798, 2126798, 2126798, 2728910, 2753486, 2126798, 2126798, 2126798, 2126798, 2843598, 2847694, 2126798, 2896846, 2917326, 2126798, 2126798, 2945998, 2126798, 2126798, 2995150, 2126798, 3003342, 2126798, 2126798, 3023822, 2126798, 3068878, 3085262, 2126798, 3097550, 2179072, 2179072, 3059712, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3178496, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3224452, 0, 0, 2126798, 2126798, 2417614, 2126798, 2126798, 2126798, 2446286, 2126798, 2126724, 2126724, 3060612, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3179396, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3126222, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3118030, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2495438, 2126798, 2126798, 2515918, 2126798, 2126798, 2126798, 2544590, 2548686, 2126798, 2126798, 2597838, 2126798, 2126798, 2126798, 2126798, 2425806, 2433998, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 0, 0, 0, 2179072, 2126798, 2126724, 2126798, 2126798, 2126798, 3060686, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3179470, 2179072, 2126798, 2126724, 2179072, 2126724, 2659204, 2974596, 2126724, 2126798, 2659278, 2974670, 2126798, 2711552, 2560000, 2179072, 2560900, 2126724, 2560974, 2126798, 2126798, 2126798, 2126798, 2462670, 2466766, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2524110, 2126798, 2126798, 2126798, 2126798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473984, 2478080, 2179072, 2179072, 2179072, 3129344, 2179072, 2179072, 3153920, 3166208, 3174400, 2397060, 2401156, 2126724, 2126724, 2442116, 2126724, 2470788, 3154820, 3167108, 3175300, 2397134, 2401230, 2126798, 2126798, 2442190, 2126798, 2470862, 2126798, 2126798, 2126798, 2520014, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3130318, 2126798, 2126798, 3154894, 3167182, 3175374, 2506752, 2507726, 2507652, 2126798, 2126798, 2589646, 2126798, 2614222, 2646990, 2126798, 2126798, 2696142, 2757582, 2126798, 2126798, 2126798, 2126798, 2933710, 2126798, 2126798, 2126798, 2126798, 2593742, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2449408, 0, 2535424, 2179072, 3006464, 2179072, 3018752, 2179072, 2179072, 2179072, 3149824, 2126724, 2429828, 2438020, 2126724, 2487172, 2126724, 2126724, 2126724, 2126724, 2933636, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 3130244, 2126724, 2126724, 2126798, 2126798, 2655182, 2679758, 2761678, 2765774, 2786254, 2855886, 2970574, 2126798, 3007438, 2126798, 3019726, 2126798, 2126798, 2126798, 2126798, 0, 2502656, 0, 0, 3010560, 0, 0, 0, 0, 2990080, 2179072, 2179072, 2126798, 3150798, 2179072, 3051520, 2126724, 3052420, 2126798, 3052494, 0, 2490368, 2498560, 0, 0, 0, 0, 2875392, 2179072, 2179072, 2179072, 2555904, 2564096, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 3137536, 2126724, 2126724, 2126724, 3208068, 2126724, 0, 0, 0, 0, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2552782, 2126798, 2126798, 2126798, 2126798, 2126798, 2126724, 2499460, 2126724, 2126724, 2126724, 2556804, 2564996, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2929540, 2126724, 2126724, 2126724, 2999172, 2126724, 2126724, 2126724, 3138436, 2126798, 2126798, 2499534, 2126798, 2126798, 2126798, 2556878, 2565070, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 2126798, 3011534, 2126798, 2126798, 2126798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 323, 0, 2126724, 2450308, 2126724, 2536324, 2126724, 2610052, 2126724, 2859908, 2126724, 2126724, 2126724, 3031940, 2126724, 2126798, 2450382, 2126798, 2126798, 2126798, 2126798, 3093454, 0, 0, 0, 2404352, 2179072, 2179072, 2179072, 2179072, 3026944, 2405252, 2126724, 2126724, 2495364, 2126724, 2126724, 2515844, 2126724, 2126724, 2126724, 2544516, 2548612, 2126724, 2126724, 2597764, 2126724, 2126724, 2126724, 2663300, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2126724, 2802564, 2536398, 2126798, 2610126, 2126798, 2859982, 2126798, 2126798, 2126798, 3032014, 2126798, 2527232, 0, 0, 0, 2179072, 2527232, 2179072, 2179072, 2179072, 2179072, 2179072, 2126724, 2528132, 2126724, 2126724, 2126724, 2126724, 2126724, 3093380, 2126798, 2528206, 2126798, 2126798, 2126798, 2126798, 3138510, 2940928, 2941828, 2941902, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 0, 0, 0, 0, 172032, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 122880, 122880, 0, 0, 0, 221184, 221184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 221184, 0, 0, 221184, 221184, 221184, 0, 0, 0, 0, 0, 0, 221184, 0, 0, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 338, 292, 0, 0, 0, 0, 0, 0, 221184, 0, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 221184, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 299, 0, 0, 2142208, 0, 0, 0, 98304, 0, 0, 0, 53248, 0, 0, 0, 0, 0, 0, 0, 2061, 2062, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 577536, 0, 0, 1583, 0, 0, 0, 302, 0, 303, 0, 0, 0, 303, 0, 0, 0, 2461696, 0, 0, 0, 0, 0, 0, 1159168, 416, 416, 0, 0, 0, 0, 0, 416, 0, 0, 98304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12290, 2179072, 3121152, 2179072, 2179072, 3141632, 2179072, 2179072, 2179072, 3170304, 2179072, 2179072, 3190784, 3194880, 2179072, 901, 0, 0, 0, 0, 0, 229376, 0, 0, 0, 0, 0, 0, 0, 0, 1666, 0, 0, 0, 0, 0, 2958, 0, 0, 0, 0, 2962, 0, 0, 0, 0, 2967, 0, 0, 901, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2125824, 2125824, 2125824, 2125824, 2125824, 2453504, 2125824, 2473984, 2482176, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2531328, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3190784, 3194880, 2125824, 975, 0, 0, 0, 975, 0, 2387968, 2125824, 2125824, 2125824, 2420736, 2179072, 2179072, 2179072, 3223552, 901, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 2125824, 2125824, 2125824, 2125824, 3223552, 0, 0, 2125824, 2125824, 2416640, 2125824, 2125824, 2125824, 2445312, 2125824, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 0, 0, 217088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 308, 0, 0, 0, 114688, 0, 241664, 258048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 677, 678, 0, 0, 0, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 386, 0, 0, 0, 2183168, 0, 0, 270336, 0, 0, 298, 299, 0, 2134016, 302, 303, 200704, 0, 0, 180224, 0, 0, 0, 0, 0, 0, 0, 0, 2424832, 2433024, 0, 0, 2457600, 20480, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2126724, 2126724, 2126724, 2126724, 2126724, 1, 12290, 2113825, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0, 295, 0, 0, 0, 0, 0, 0, 2387968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 381, 383, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12290, 0, 0, 266240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 339, 340, 2113825, 0, 0, 2183168, 0, 0, 0, 0, 0, 298, 299, 0, 2134016, 302, 303, 0, 0, 0, 0, 0, 237568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1657, 0, 0, 0, 0, 274432, 274432, 274432, 274432, 274432, 274432, 0, 0, 0, 0, 0, 274432, 0, 274432, 1, 12290, 3, 0, 0, 0, 0, 0, 0, 0, 90408, 90408, 90408, 90408, 0, 94505, 1, 12290, 3, 78114, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1611, 0, 0, 0, 3, 78114, 78114, 292, 0, 0, 0, 0, 0, 298, 299, 0, 0, 302, 303, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163264, 78114, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 307, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 3062, 580, 580, 2009, 0, 0, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 0, 0, 0, 0, 0, 2954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 0, 0, 2089, 0, 0, 0, 0, 0, 0, 0, 2086, 0, 0, 0, 0, 0, 2092, 0, 0, 290, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, 681, 3, 78114, 78449, 292, 0, 0, 0, 0, 0, 298, 299, 0, 0, 302, 303, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 1138688, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 1150976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 337, 0, 581, 557, 557, 557, 557, 557, 557, 557, 581, 581, 581, 534, 581, 581, 581, 581, 581, 581, 581, 557, 557, 534, 557, 581, 557, 581, 1, 12290, 1, 12290, 3, 78115, 292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1680, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 1, 12290, 282624, 282624, 282624, 0, 0, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2027, 0, 0, 0, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 0, 282624, 282624, 282624, 282624, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, 3047424, 3129344, 0, 2981888, 2396160, 0, 3153920, 3132, 0, 0, 2740224, 0, 0, 0, 0, 0, 0, 1181, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1608, 1609, 1610, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, 0, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 705, 0, 0, 0, 709, 0, 0, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 3252, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 167936, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 3329, 0, 0, 2834432, 0, 3227648, 2568192, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 3329, 0, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 0, 2125824, 2125824, 0, 0, 0, 308, 0, 0, 0, 0, 0, 307, 0, 307, 308, 0, 307, 307, 0, 0, 0, 307, 307, 308, 308, 0, 0, 0, 0, 0, 0, 307, 407, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 308, 412, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 57344, 0, 0, 0, 0, 0, 0, 1120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1239, 0, 0, 0, 0, 0, 456, 456, 456, 482, 482, 456, 482, 482, 482, 482, 482, 482, 482, 507, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 527, 482, 482, 482, 482, 482, 535, 558, 535, 558, 535, 535, 558, 535, 582, 558, 558, 558, 558, 558, 558, 558, 582, 582, 582, 535, 582, 582, 582, 582, 582, 582, 582, 558, 558, 535, 558, 582, 558, 582, 1, 12290, 0, 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 0, 697, 0, 0, 0, 0, 0, 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, 0, 1639, 0, 0, 0, 0, 0, 0, 0, 0, 1660, 1661, 0, 1663, 0, 0, 0, 0, 0, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 740, 0, 0, 0, 0, 0, 0, 2834432, 0, 3227648, 2568192, 2564096, 0, 2940928, 2179072, 2179072, 2498560, 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 2134749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1169, 734, 0, 0, 0, 0, 0, 0, 761, 0, 0, 765, 0, 0, 0, 0, 772, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 172032, 0, 0, 0, 0, 65536, 0, 0, 0, 641, 0, 0, 0, 0, 0, 0, 804, 0, 0, 0, 780, 0, 0, 0, 0, 0, 327, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 821, 776, 0, 0, 0, 0, 0, 825, 826, 776, 776, 0, 0, 0, 0, 0, 0, 0, 780, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 1679, 0, 0, 0, 0, 0, 0, 776, 729, 776, 0, 534, 534, 836, 840, 534, 534, 534, 534, 534, 534, 866, 534, 871, 534, 878, 534, 881, 534, 534, 895, 534, 534, 556, 556, 556, 909, 913, 1018, 580, 1025, 580, 1028, 580, 580, 1042, 580, 580, 0, 0, 0, 840, 987, 913, 836, 1052, 881, 534, 534, 909, 1057, 954, 556, 556, 0, 983, 1062, 1028, 580, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78114, 1066, 0, 0, 1068, 1072, 0, 0, 1076, 1080, 0, 0, 0, 0, 0, 0, 0, 406, 406, 406, 406, 0, 406, 406, 406, 406, 0, 0, 1144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 515, 515, 0, 0, 0, 1634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3126, 0, 0, 1769, 534, 534, 1772, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1784, 534, 534, 534, 534, 534, 884, 534, 534, 534, 534, 534, 556, 556, 903, 556, 556, 0, 580, 580, 580, 984, 580, 990, 580, 580, 1003, 580, 580, 1014, 580, 534, 534, 534, 534, 1789, 534, 534, 534, 534, 534, 534, 534, 1341, 1799, 556, 556, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 534, 534, 556, 556, 556, 1806, 556, 556, 556, 556, 556, 1812, 556, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2370, 580, 580, 580, 580, 580, 580, 556, 556, 556, 1825, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 955, 556, 556, 556, 1885, 556, 556, 556, 556, 556, 556, 556, 26009, 1895, 580, 580, 580, 580, 580, 1902, 2017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 2042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2051, 0, 0, 0, 0, 0, 0, 1196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 2109, 2110, 0, 0, 2112, 0, 0, 0, 2110, 0, 0, 2117, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 221184, 0, 0, 0, 0, 65536, 0, 2150, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1313, 0, 0, 0, 2464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3135, 0, 0, 534, 534, 534, 534, 2502, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2510, 534, 534, 534, 2601, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2611, 556, 556, 556, 556, 556, 2563, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1388, 556, 556, 556, 556, 1393, 556, 556, 556, 556, 2632, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1967, 0, 0, 0, 2698, 0, 0, 0, 0, 0, 0, 2703, 0, 0, 0, 0, 0, 0, 0, 2115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0, 0, 0, 0, 2749, 2750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 0, 2762, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2521, 534, 534, 534, 534, 534, 2773, 534, 534, 2777, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2786, 556, 2820, 556, 556, 2824, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2833, 580, 580, 580, 2869, 580, 580, 2873, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2899, 580, 580, 580, 580, 580, 580, 2882, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2890, 580, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 3324, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 221184, 0, 0, 0, 0, 2931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 3010, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 3412, 556, 556, 556, 556, 556, 556, 3051, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3091, 580, 3093, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 3132, 3387, 0, 3389, 0, 534, 3392, 534, 3394, 534, 534, 534, 534, 534, 534, 534, 534, 1777, 534, 534, 534, 534, 534, 534, 534, 534, 2157, 534, 534, 534, 534, 534, 534, 534, 534, 2182, 534, 534, 534, 534, 2187, 534, 534, 534, 534, 3448, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 3023, 556, 3461, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 3064, 580, 3475, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 3561, 534, 0, 3490, 0, 3492, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2794, 534, 534, 0, 0, 3533, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1281, 309, 310, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0, 0, 420, 0, 0, 0, 0, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1109, 0, 1111, 1112, 0, 0, 0, 0, 0, 0, 443, 443, 420, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 526, 443, 526, 526, 526, 443, 526, 526, 526, 526, 443, 536, 559, 536, 559, 536, 536, 559, 536, 583, 559, 559, 559, 559, 559, 559, 559, 583, 583, 583, 536, 583, 583, 583, 583, 583, 583, 583, 559, 559, 609, 614, 583, 614, 620, 1, 12290, 534, 534, 874, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 580, 580, 580, 580, 580, 580, 1021, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 534, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3445, 534, 0, 0, 0, 1657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3262, 534, 534, 1785, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1006, 580, 580, 580, 0, 0, 1544, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 580, 580, 1970, 580, 580, 580, 580, 580, 1977, 580, 580, 580, 580, 580, 580, 580, 1444, 580, 580, 580, 580, 580, 1456, 580, 580, 0, 0, 2425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 654, 0, 0, 2612, 556, 556, 556, 556, 0, 2615, 0, 0, 0, 0, 580, 580, 580, 580, 580, 534, 556, 580, 0, 3382, 0, 0, 3385, 0, 0, 0, 580, 2621, 580, 580, 580, 580, 2625, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3221, 580, 580, 580, 580, 580, 0, 0, 0, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 0, 0, 0, 0, 0, 0, 1249, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 850, 534, 534, 534, 534, 534, 0, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 422, 430, 421, 430, 0, 312, 430, 444, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 457, 478, 483, 483, 494, 483, 483, 483, 483, 483, 483, 483, 483, 509, 509, 522, 522, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 509, 523, 523, 523, 523, 523, 537, 560, 537, 560, 537, 537, 560, 537, 584, 560, 560, 560, 560, 560, 560, 560, 584, 584, 584, 606, 584, 584, 584, 584, 584, 584, 607, 608, 608, 606, 608, 607, 608, 607, 1, 12290, 0, 0, 811, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 695, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1720, 534, 534, 882, 534, 534, 556, 556, 955, 556, 556, 0, 580, 580, 1029, 580, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 3322, 0, 0, 3325, 0, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218, 0, 0, 534, 534, 1254, 534, 1257, 534, 534, 534, 534, 534, 534, 534, 534, 1271, 534, 1276, 534, 534, 1280, 534, 534, 1283, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1294, 534, 534, 534, 534, 534, 1341, 901, 556, 556, 1345, 556, 556, 1349, 556, 556, 556, 556, 556, 0, 0, 0, 0, 0, 0, 580, 580, 580, 580, 580, 0, 3580, 0, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 1363, 556, 1368, 556, 556, 1372, 556, 556, 1375, 556, 556, 556, 556, 556, 0, 2296, 0, 0, 580, 580, 580, 580, 580, 580, 580, 2355, 580, 580, 580, 580, 2360, 580, 580, 580, 580, 1437, 580, 580, 1441, 580, 580, 580, 580, 580, 580, 580, 580, 1455, 580, 1460, 580, 580, 1464, 580, 580, 1467, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 188416, 534, 580, 556, 1669, 0, 0, 0, 0, 0, 0, 1676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1199, 1200, 0, 0, 0, 0, 0, 580, 1923, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1459, 580, 580, 1936, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1919, 580, 534, 2176, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 0, 534, 534, 534, 534, 2192, 2193, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 3022, 556, 2262, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1819, 556, 556, 556, 2278, 2279, 2280, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1846, 556, 556, 556, 1851, 556, 2349, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1985, 580, 580, 580, 2365, 2366, 2367, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 3558, 0, 3560, 534, 534, 0, 2399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 2465, 2466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2090, 0, 0, 0, 0, 580, 580, 580, 2663, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 3105, 534, 534, 534, 534, 534, 2790, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 3019, 556, 556, 556, 556, 2917, 0, 0, 0, 0, 0, 2923, 0, 0, 0, 0, 0, 0, 0, 2927, 0, 0, 0, 0, 0, 2200246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 2972, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2987, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 899, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3027, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1432, 26009, 1341, 975, 580, 0, 3139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1597, 0, 534, 534, 534, 534, 3175, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3438, 0, 3439, 0, 0, 0, 0, 0, 0, 0, 534, 3446, 534, 3447, 534, 534, 534, 3451, 534, 534, 534, 534, 534, 534, 534, 556, 3459, 556, 556, 556, 556, 556, 2589, 556, 556, 2593, 556, 556, 556, 556, 556, 556, 556, 2606, 556, 556, 556, 556, 556, 556, 556, 556, 2269, 556, 556, 556, 556, 556, 556, 556, 3460, 556, 556, 556, 3464, 556, 556, 556, 556, 556, 556, 556, 556, 580, 3473, 580, 0, 0, 2920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926, 0, 0, 0, 0, 0, 1147, 0, 1149, 0, 0, 0, 0, 0, 0, 0, 0, 534, 557, 534, 557, 534, 534, 557, 534, 3474, 580, 580, 580, 3478, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 534, 3583, 3584, 534, 534, 556, 556, 3596, 556, 556, 556, 3598, 580, 580, 580, 3600, 0, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 3244, 0, 0, 0, 0, 0, 323, 323, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, 0, 0, 373, 0, 432, 438, 0, 445, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 484, 484, 495, 484, 484, 484, 484, 484, 484, 484, 484, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 510, 538, 561, 538, 561, 538, 538, 561, 538, 585, 561, 561, 561, 561, 561, 561, 561, 585, 585, 585, 538, 585, 585, 585, 585, 585, 585, 585, 561, 561, 538, 561, 585, 561, 585, 1, 12290, 787, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 859, 534, 534, 534, 534, 534, 534, 2139, 534, 534, 2142, 534, 534, 534, 534, 534, 534, 534, 1760, 1761, 1762, 534, 534, 1765, 1766, 534, 534, 1114, 1115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1613, 0, 1100, 0, 1231, 0, 0, 0, 0, 0, 1115, 0, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 3088384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, 0, 0, 0, 1246, 1114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 1255, 534, 534, 534, 1341, 901, 556, 556, 1346, 556, 556, 556, 556, 556, 556, 556, 556, 1389, 556, 556, 556, 556, 556, 556, 556, 556, 1397, 556, 556, 556, 1401, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1880, 556, 556, 556, 556, 556, 580, 1438, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1934, 580, 580, 580, 1465, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1491, 580, 580, 1478, 580, 580, 580, 580, 580, 580, 580, 1487, 580, 580, 1489, 580, 580, 580, 1493, 1517, 580, 580, 580, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 534, 556, 580, 534, 556, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 135168, 135168, 0, 0, 65536, 135168, 556, 556, 556, 556, 1872, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1832, 556, 556, 556, 556, 1968, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2362, 580, 580, 2004, 0, 2005, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 2418, 0, 0, 0, 0, 0, 2422, 0, 0, 2009, 0, 0, 0, 0, 0, 2011, 0, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 0, 0, 1576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2077, 0, 0, 0, 0, 0, 2067, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 827, 2121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 2770, 534, 534, 534, 534, 2137, 534, 534, 534, 534, 2141, 534, 534, 534, 534, 534, 534, 534, 534, 2518, 534, 534, 534, 534, 534, 534, 534, 534, 2803, 534, 534, 534, 534, 534, 534, 534, 534, 2989, 534, 534, 534, 534, 534, 534, 534, 534, 3165, 534, 534, 534, 534, 534, 534, 534, 534, 3270, 534, 534, 534, 534, 534, 534, 534, 534, 3280, 556, 556, 556, 556, 556, 556, 556, 1426, 556, 556, 556, 556, 26009, 1341, 975, 580, 556, 556, 2222, 556, 556, 556, 556, 2226, 556, 556, 556, 556, 556, 556, 556, 556, 1405, 556, 556, 556, 556, 556, 556, 556, 580, 580, 2309, 580, 580, 580, 580, 2313, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3527, 580, 580, 580, 0, 3531, 0, 0, 2462, 0, 0, 0, 0, 0, 2467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1640, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2489, 2490, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2522, 534, 534, 534, 534, 534, 534, 2529, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2993, 534, 534, 2620, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2376, 2660, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3316, 2707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, 0, 0, 0, 2724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1686, 0, 0, 0, 0, 0, 0, 0, 2752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2028, 0, 0, 0, 534, 534, 534, 534, 534, 2800, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1307, 534, 534, 534, 534, 534, 2891, 580, 580, 580, 580, 580, 580, 580, 2897, 580, 580, 580, 580, 580, 580, 580, 1471, 580, 580, 580, 580, 580, 580, 580, 580, 1045, 580, 0, 0, 0, 534, 580, 556, 3128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1128, 534, 534, 534, 534, 534, 3176, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 3511, 556, 3513, 556, 556, 556, 556, 580, 556, 556, 3297, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3374, 580, 580, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 3397, 534, 534, 534, 534, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1392, 556, 556, 556, 556, 556, 325, 326, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 741, 0, 0, 0, 0, 0, 324, 372, 327, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1110, 0, 0, 0, 0, 0, 324, 0, 0, 371, 371, 401, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 446, 459, 459, 459, 459, 459, 459, 459, 459, 472, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, 485, 485, 459, 485, 485, 500, 502, 485, 485, 500, 485, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 528, 511, 511, 511, 511, 511, 539, 562, 539, 562, 539, 539, 562, 539, 586, 562, 562, 562, 562, 562, 562, 562, 586, 586, 586, 539, 586, 586, 586, 586, 586, 586, 586, 562, 562, 539, 562, 586, 562, 586, 1, 12290, 0, 651, 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 664, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 355, 0, 0, 466, 466, 466, 466, 466, 466, 466, 466, 471, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 471, 0, 713, 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, 724, 0, 0, 0, 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 763, 0, 0, 0, 0, 0, 771, 0, 773, 0, 0, 0, 0, 0, 0, 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 790, 793, 0, 0, 0, 793, 793, 790, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 106496, 0, 0, 0, 0, 106496, 106496, 0, 0, 0, 773, 0, 785, 0, 802, 0, 0, 0, 0, 793, 0, 700, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1141, 0, 810, 0, 0, 0, 0, 0, 810, 810, 813, 0, 0, 0, 773, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 367, 0, 384, 0, 350, 0, 0, 0, 0, 822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 771, 0, 0, 0, 0, 0, 385, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 822, 802, 822, 0, 534, 534, 837, 534, 843, 534, 534, 856, 534, 534, 867, 534, 872, 534, 534, 880, 883, 888, 534, 896, 534, 534, 556, 556, 556, 910, 556, 556, 556, 556, 556, 2604, 2605, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3189, 556, 556, 556, 556, 556, 556, 916, 556, 556, 929, 556, 556, 940, 556, 945, 556, 556, 953, 956, 961, 556, 969, 1019, 580, 580, 1027, 1030, 1035, 580, 1043, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 556, 2825, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2284, 556, 556, 556, 556, 556, 837, 534, 1053, 888, 534, 910, 556, 1058, 961, 556, 0, 984, 580, 1063, 1035, 580, 0, 2919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2458, 0, 0, 0, 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1097, 0, 0, 0, 0, 0, 0, 1659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2032, 0, 0, 0, 0, 0, 1104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2078, 0, 0, 0, 1129, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2471, 0, 0, 0, 0, 0, 1143, 0, 0, 0, 0, 0, 0, 0, 0, 1152, 0, 0, 0, 0, 0, 0, 0, 2442, 0, 0, 0, 0, 0, 0, 0, 2450, 1121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 1139, 0, 0, 0, 0, 0, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2757, 2758, 0, 0, 0, 534, 1282, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1297, 1337, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1354, 556, 556, 1419, 556, 556, 556, 556, 556, 556, 1429, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 1523, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 2837, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1862, 1863, 556, 556, 556, 556, 1461, 580, 580, 580, 1466, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1915, 580, 580, 580, 580, 580, 580, 1481, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1933, 580, 580, 580, 1495, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1511, 580, 580, 580, 0, 2005, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 2074, 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, 0, 580, 580, 580, 1521, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 534, 556, 580, 3610, 3611, 3612, 534, 556, 580, 0, 0, 0, 0, 0, 0, 307, 442, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 0, 0, 1585, 0, 0, 1588, 1589, 1590, 0, 1592, 1593, 0, 0, 0, 0, 1598, 1631, 1632, 0, 0, 0, 0, 0, 0, 0, 0, 1641, 1642, 0, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 534, 534, 534, 0, 0, 0, 0, 1648, 0, 0, 1650, 0, 0, 0, 0, 1652, 1653, 0, 0, 0, 0, 0, 441, 0, 0, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 552, 575, 552, 575, 552, 552, 575, 552, 0, 0, 1671, 1672, 1673, 1674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2483, 0, 0, 0, 0, 0, 1683, 0, 0, 1686, 0, 0, 0, 0, 0, 1690, 0, 0, 0, 1694, 1695, 1706, 1566, 1566, 1708, 534, 1710, 534, 1711, 1712, 534, 1714, 534, 534, 534, 1718, 534, 534, 534, 534, 534, 886, 534, 534, 534, 534, 534, 556, 556, 908, 556, 556, 556, 556, 556, 2254, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1431, 556, 26009, 1341, 975, 1435, 534, 534, 1739, 534, 1741, 534, 534, 534, 534, 534, 534, 534, 534, 1749, 1750, 1752, 534, 1786, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1797, 1341, 0, 1802, 556, 556, 556, 556, 556, 3041, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3200, 556, 556, 556, 556, 556, 556, 1804, 556, 1805, 556, 1807, 556, 1809, 556, 556, 556, 1813, 556, 556, 556, 556, 556, 0, 0, 0, 0, 0, 0, 580, 580, 2618, 580, 580, 556, 556, 556, 556, 1826, 556, 556, 556, 556, 1830, 556, 556, 556, 556, 1834, 556, 556, 556, 556, 556, 3055, 556, 556, 556, 556, 556, 580, 580, 580, 3063, 580, 580, 580, 580, 1724, 1915, 1819, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 2692, 0, 0, 1836, 556, 556, 556, 556, 556, 556, 556, 556, 1844, 1845, 1847, 556, 556, 556, 556, 556, 0, 2297, 0, 0, 580, 580, 580, 580, 580, 580, 580, 2667, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2653, 580, 580, 580, 580, 2657, 580, 556, 556, 556, 1855, 1856, 1857, 556, 556, 1860, 1861, 556, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 2862, 580, 580, 580, 580, 556, 1869, 556, 556, 556, 1873, 556, 556, 556, 556, 556, 556, 556, 1882, 556, 556, 0, 580, 580, 580, 580, 580, 580, 580, 1002, 580, 580, 580, 580, 580, 580, 3555, 3556, 580, 580, 0, 0, 3559, 0, 534, 534, 1903, 580, 1905, 580, 580, 580, 1909, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3528, 580, 580, 0, 0, 0, 1922, 580, 580, 580, 580, 1926, 580, 580, 580, 580, 1930, 580, 1932, 580, 580, 580, 580, 580, 1524, 0, 1270, 1454, 1362, 534, 534, 534, 534, 534, 556, 1952, 1953, 580, 580, 1956, 1957, 580, 580, 580, 580, 580, 580, 580, 1965, 580, 580, 534, 534, 556, 556, 580, 580, 3321, 0, 0, 0, 3323, 0, 0, 0, 0, 0, 0, 2114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2605056, 0, 0, 0, 0, 2887680, 580, 1969, 580, 580, 580, 580, 580, 580, 580, 1978, 580, 580, 580, 580, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 580, 580, 1989, 534, 580, 556, 1766, 534, 1995, 534, 1861, 556, 1999, 556, 1957, 580, 2003, 580, 0, 2005, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 2702, 0, 0, 0, 0, 0, 0, 0, 2706, 0, 2018, 0, 0, 2021, 2022, 0, 0, 0, 2026, 0, 0, 0, 0, 0, 0, 0, 414, 414, 0, 0, 0, 0, 0, 414, 0, 0, 0, 2069, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 742, 0, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 0, 2088, 0, 0, 0, 0, 0, 0, 0, 451, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 1147348, 2095, 0, 2097, 0, 0, 0, 0, 0, 0, 0, 0, 2106, 0, 0, 0, 0, 0, 0, 0, 184725, 184925, 184925, 184925, 0, 184925, 184925, 184925, 184925, 184925, 184925, 0, 0, 0, 0, 0, 184925, 0, 184925, 1, 12290, 534, 534, 534, 2153, 534, 2155, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1746, 534, 534, 534, 534, 534, 534, 2204, 2205, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2558, 556, 556, 556, 556, 2238, 556, 2240, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2231, 556, 556, 556, 556, 556, 2291, 2292, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 1506, 580, 580, 580, 580, 580, 1513, 580, 580, 580, 580, 2325, 580, 2327, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2318, 580, 580, 580, 580, 580, 2378, 2379, 580, 580, 2145, 2317, 2230, 534, 2385, 534, 534, 556, 2389, 556, 556, 0, 580, 580, 580, 580, 580, 580, 997, 580, 580, 580, 580, 580, 580, 2328, 580, 2330, 580, 580, 580, 580, 580, 580, 580, 2342, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1474, 580, 580, 580, 580, 580, 580, 580, 2393, 580, 580, 2005, 0, 2007, 0, 2009, 0, 2011, 0, 0, 0, 0, 0, 0, 0, 2727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1579, 0, 0, 0, 0, 0, 0, 0, 2437, 2438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1089, 0, 0, 534, 2526, 534, 534, 534, 2531, 534, 534, 534, 534, 534, 534, 534, 2538, 534, 534, 534, 534, 534, 534, 2169, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2782, 534, 534, 2785, 534, 534, 534, 534, 534, 534, 534, 2543, 534, 534, 534, 534, 534, 534, 534, 534, 0, 2549, 556, 556, 2587, 556, 556, 556, 556, 2591, 556, 556, 556, 2596, 556, 556, 556, 556, 556, 0, 2615, 0, 0, 0, 0, 580, 580, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 3386, 556, 556, 556, 2603, 556, 556, 556, 556, 556, 556, 556, 556, 2609, 556, 556, 556, 556, 556, 556, 3042, 556, 3044, 556, 556, 556, 556, 556, 556, 556, 1404, 556, 556, 1411, 556, 556, 556, 556, 556, 580, 580, 580, 2623, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1451, 580, 580, 580, 580, 580, 580, 2635, 580, 2637, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1914, 580, 580, 580, 580, 580, 580, 580, 2662, 580, 580, 580, 580, 580, 580, 580, 2669, 580, 580, 580, 580, 580, 580, 2895, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1046, 0, 0, 0, 534, 580, 556, 580, 580, 580, 2675, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 2913, 556, 2915, 580, 534, 534, 534, 2798, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3348, 534, 556, 556, 556, 556, 556, 2846, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2245, 556, 556, 556, 556, 0, 2943, 2944, 0, 2945, 0, 2947, 0, 0, 0, 0, 2949, 0, 0, 0, 0, 0, 0, 0, 225883, 225883, 225883, 225883, 225734, 225883, 225883, 225883, 225883, 225883, 225883, 225734, 225734, 225734, 225734, 225734, 225899, 225734, 225899, 1, 12290, 2968, 2969, 0, 2971, 0, 0, 2974, 0, 0, 0, 2977, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 2214, 556, 556, 556, 556, 556, 0, 0, 0, 0, 0, 0, 580, 2617, 580, 580, 580, 534, 2984, 534, 534, 534, 534, 534, 2988, 534, 534, 534, 534, 534, 534, 534, 2994, 534, 534, 534, 534, 534, 3000, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1763, 534, 534, 534, 534, 534, 3009, 3011, 534, 534, 534, 3014, 534, 3016, 3017, 534, 556, 556, 556, 556, 556, 556, 0, 0, 580, 2861, 580, 580, 580, 580, 580, 580, 0, 1267, 1451, 1359, 534, 534, 534, 1530, 534, 556, 3024, 556, 556, 556, 556, 556, 3028, 556, 556, 556, 556, 556, 556, 556, 3034, 556, 556, 556, 556, 556, 3185, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2229, 556, 556, 2233, 556, 556, 556, 556, 556, 556, 3040, 556, 556, 3043, 556, 556, 556, 556, 556, 556, 556, 556, 1829, 556, 556, 556, 556, 556, 556, 556, 3050, 3052, 556, 556, 556, 556, 3056, 556, 3058, 3059, 556, 580, 580, 580, 580, 580, 580, 3083, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2331, 580, 580, 580, 580, 2335, 580, 580, 3066, 580, 580, 580, 580, 580, 3070, 580, 580, 580, 580, 580, 580, 580, 3076, 580, 3092, 3094, 580, 580, 580, 580, 3098, 580, 3100, 3101, 580, 534, 580, 556, 534, 534, 534, 534, 534, 887, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 0, 0, 2299, 580, 580, 580, 580, 580, 580, 580, 3084, 580, 3086, 580, 580, 580, 580, 580, 580, 3106, 556, 3108, 580, 3110, 0, 0, 0, 0, 0, 0, 3116, 0, 0, 3119, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3140, 3141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2107, 0, 0, 0, 556, 556, 556, 556, 3184, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2272, 556, 556, 556, 556, 556, 556, 556, 3195, 556, 556, 556, 556, 556, 556, 556, 556, 3203, 556, 556, 556, 556, 556, 556, 3197, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2594, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 3208, 580, 580, 580, 580, 580, 580, 580, 3213, 580, 580, 580, 580, 1907, 580, 580, 580, 580, 580, 580, 580, 580, 1918, 580, 580, 580, 580, 580, 3096, 580, 580, 3099, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 534, 534, 3278, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3515, 556, 556, 580, 556, 3296, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3214, 3326, 3327, 0, 3132, 0, 3331, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2766, 534, 534, 534, 534, 534, 2771, 534, 534, 534, 3405, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 960, 556, 556, 556, 556, 556, 3420, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1452, 580, 580, 580, 580, 580, 3436, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3502, 534, 534, 534, 534, 534, 3450, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 3281, 556, 556, 556, 3284, 556, 556, 556, 3463, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 3302, 580, 580, 580, 580, 580, 580, 580, 3477, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3486, 3487, 0, 0, 0, 0, 364, 364, 0, 0, 0, 0, 1137, 1095, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 266240, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 3493, 3494, 3495, 534, 534, 534, 3498, 534, 3500, 534, 534, 534, 534, 534, 534, 534, 3269, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2781, 534, 534, 534, 534, 534, 534, 534, 3505, 3506, 3507, 556, 556, 556, 3510, 556, 3512, 556, 556, 556, 556, 3517, 3518, 3519, 3520, 580, 580, 580, 3523, 580, 3525, 580, 580, 580, 580, 3530, 0, 0, 0, 0, 0, 0, 1687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3562, 534, 534, 534, 3566, 556, 556, 3568, 556, 556, 556, 3572, 556, 580, 580, 3574, 580, 580, 580, 3578, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 556, 556, 580, 580, 0, 3111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2409, 0, 0, 0, 0, 368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1629, 0, 0, 0, 0, 368, 0, 0, 0, 376, 378, 0, 0, 0, 0, 0, 0, 0, 0, 2025, 0, 0, 0, 0, 0, 0, 0, 0, 2047, 0, 0, 0, 0, 0, 0, 0, 0, 2087, 0, 0, 0, 0, 0, 0, 0, 0, 2127, 0, 0, 534, 534, 534, 534, 534, 0, 0, 411, 0, 0, 0, 411, 69632, 73728, 0, 368, 368, 0, 423, 65536, 368, 0, 0, 368, 423, 492, 496, 492, 492, 501, 492, 492, 492, 501, 492, 423, 423, 329, 423, 0, 0, 423, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 0, 0, 0, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 540, 563, 540, 563, 540, 540, 563, 540, 587, 563, 563, 563, 563, 563, 563, 563, 587, 587, 587, 540, 587, 587, 587, 587, 587, 587, 587, 563, 563, 540, 563, 587, 563, 587, 1, 12290, 0, 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1644, 0, 556, 556, 556, 556, 933, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2285, 556, 2287, 556, 556, 0, 0, 1207, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447, 0, 0, 0, 534, 534, 534, 534, 1260, 534, 534, 534, 534, 534, 1272, 534, 534, 534, 534, 534, 0, 0, 0, 2212, 556, 556, 556, 556, 556, 556, 556, 3029, 556, 556, 556, 556, 556, 556, 556, 556, 3030, 556, 556, 556, 556, 556, 556, 556, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 1352, 556, 556, 0, 580, 580, 580, 580, 580, 580, 998, 580, 580, 580, 580, 580, 580, 2650, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2315, 580, 2317, 580, 580, 580, 580, 556, 556, 556, 1364, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1378, 1380, 556, 556, 556, 556, 556, 1871, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1413, 556, 556, 1417, 534, 534, 534, 534, 534, 3567, 556, 556, 556, 556, 556, 556, 556, 3573, 580, 580, 580, 580, 580, 2677, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 534, 3597, 556, 556, 556, 3599, 580, 580, 580, 0, 534, 534, 556, 556, 580, 580, 0, 0, 0, 3243, 0, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 306, 306, 306, 0, 0, 0, 0, 0, 424, 424, 0, 424, 433, 0, 424, 424, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 486, 486, 460, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 541, 564, 541, 564, 541, 541, 564, 541, 588, 564, 564, 564, 564, 564, 564, 564, 588, 588, 588, 541, 588, 588, 588, 588, 588, 588, 588, 564, 564, 541, 564, 588, 564, 588, 1, 12290, 78114, 1066, 0, 0, 1069, 1073, 0, 0, 1077, 1081, 0, 0, 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2472, 0, 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1667, 0, 0, 0, 0, 0, 2044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 2068, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1681, 1682, 2392, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2928, 0, 0, 0, 2932, 0, 0, 0, 0, 0, 2938, 0, 0, 0, 0, 0, 0, 0, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, 0, 0, 2953, 0, 0, 2956, 0, 0, 0, 0, 0, 2961, 0, 0, 0, 0, 0, 0, 0, 748, 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1204, 2995, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3004, 534, 534, 534, 534, 534, 0, 0, 2211, 0, 556, 556, 556, 556, 556, 556, 556, 2268, 556, 556, 556, 556, 2273, 556, 556, 556, 534, 534, 534, 3012, 534, 534, 3015, 534, 534, 534, 3018, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 556, 556, 534, 556, 580, 556, 580, 1, 12290, 556, 556, 556, 556, 3054, 556, 556, 3057, 556, 556, 556, 3060, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 2396, 0, 0, 0, 3077, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3087, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 3442, 0, 3444, 0, 534, 534, 0, 3120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2015, 0, 0, 534, 534, 3151, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3458, 556, 556, 534, 534, 534, 534, 3163, 534, 534, 534, 534, 534, 534, 534, 3168, 534, 3170, 534, 534, 534, 534, 534, 1261, 534, 534, 534, 1270, 534, 534, 534, 534, 534, 534, 534, 2493, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2196, 534, 534, 534, 534, 534, 534, 556, 556, 556, 580, 580, 3207, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1962, 580, 580, 580, 580, 580, 580, 3227, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 2912, 534, 2914, 556, 2916, 3275, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 556, 556, 3287, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3293, 556, 556, 556, 556, 556, 556, 3466, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3306, 3587, 3588, 556, 556, 580, 580, 3591, 3592, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1716, 534, 534, 534, 0, 683, 684, 0, 0, 0, 0, 689, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 534, 830, 534, 534, 534, 534, 534, 534, 860, 534, 534, 534, 534, 534, 534, 2180, 2181, 534, 534, 534, 534, 534, 534, 2188, 534, 0, 751, 0, 0, 0, 0, 0, 751, 751, 0, 0, 816, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 0, 0, 970, 556, 0, 580, 580, 580, 580, 988, 580, 580, 580, 580, 580, 580, 580, 580, 1044, 580, 0, 0, 0, 841, 988, 914, 534, 534, 534, 534, 897, 556, 556, 556, 556, 970, 0, 580, 580, 580, 580, 1044, 0, 0, 0, 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2408448, 0, 0, 534, 1318, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 2549, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1190, 580, 580, 1988, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2122, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 2768, 534, 2769, 534, 534, 2540, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 0, 0, 975, 580, 0, 3129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2053, 0, 3235, 534, 3237, 556, 3239, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3124, 3125, 0, 0, 0, 556, 556, 556, 3298, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2359, 580, 580, 580, 580, 3317, 580, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2076, 0, 0, 0, 0, 0, 0, 461, 461, 479, 487, 487, 479, 487, 487, 487, 487, 487, 487, 487, 487, 512, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 529, 520, 520, 520, 520, 520, 542, 565, 542, 565, 542, 542, 565, 542, 589, 565, 565, 565, 565, 565, 565, 565, 589, 589, 589, 542, 589, 589, 589, 589, 589, 589, 589, 565, 565, 542, 565, 589, 565, 589, 1, 12290, 0, 0, 760, 0, 0, 764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 778, 0, 0, 0, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, 779, 0, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 805, 0, 0, 0, 782, 0, 0, 0, 0, 364, 364, 0, 0, 0, 1136, 0, 0, 0, 0, 0, 0, 0, 1606, 0, 0, 0, 0, 0, 0, 0, 0, 553, 576, 553, 576, 553, 553, 576, 553, 0, 805, 0, 0, 0, 0, 0, 805, 805, 0, 0, 0, 0, 782, 0, 0, 0, 0, 0, 534, 831, 534, 534, 534, 846, 534, 534, 534, 534, 534, 0, 2210, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1893, 26009, 0, 1898, 580, 1900, 580, 1901, 580, 0, 0, 0, 0, 823, 778, 0, 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, 2468, 0, 0, 0, 0, 0, 0, 0, 0, 2022, 0, 2116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 823, 534, 534, 534, 534, 844, 534, 852, 534, 534, 534, 534, 0, 0, 556, 556, 556, 556, 556, 2815, 556, 2816, 556, 556, 917, 556, 925, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2583, 556, 971, 556, 0, 580, 580, 580, 580, 580, 991, 580, 999, 580, 580, 580, 580, 580, 580, 3097, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 1054, 898, 556, 556, 556, 1059, 971, 0, 580, 580, 580, 1064, 1045, 0, 1159, 0, 0, 0, 0, 0, 0, 0, 1167, 0, 0, 0, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0, 1219, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 364, 0, 0, 0, 1134592, 0, 0, 0, 1134592, 1134592, 0, 0, 1134592, 0, 0, 1134592, 0, 1134592, 534, 534, 1284, 534, 534, 534, 534, 534, 534, 534, 1292, 534, 534, 534, 534, 534, 0, 2209, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1842, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1896, 580, 580, 580, 580, 580, 580, 534, 534, 534, 1321, 534, 534, 1325, 534, 534, 534, 534, 534, 1331, 534, 534, 534, 534, 534, 534, 534, 3342, 534, 3344, 534, 534, 534, 534, 534, 556, 1338, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2568, 556, 556, 556, 556, 556, 1357, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1376, 556, 556, 556, 556, 556, 0, 2615, 0, 0, 0, 0, 580, 580, 580, 2619, 580, 556, 556, 556, 1384, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1816, 1817, 556, 556, 580, 580, 580, 1522, 580, 580, 0, 534, 580, 556, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 3196, 556, 3198, 556, 556, 556, 556, 556, 556, 556, 556, 1878, 1879, 556, 556, 556, 556, 556, 556, 534, 534, 534, 534, 1773, 534, 534, 534, 534, 534, 534, 1781, 534, 534, 534, 534, 0, 0, 556, 556, 556, 2813, 556, 556, 556, 556, 556, 2818, 556, 556, 1823, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2842, 556, 556, 556, 1853, 556, 556, 556, 556, 1859, 556, 556, 556, 556, 556, 556, 556, 556, 2840, 556, 556, 556, 556, 556, 556, 556, 1868, 556, 556, 556, 556, 556, 556, 1876, 556, 556, 556, 556, 556, 556, 556, 556, 2850, 556, 556, 556, 556, 556, 556, 556, 556, 1886, 1888, 556, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 0, 1525, 1526, 1527, 534, 534, 1529, 534, 534, 556, 580, 580, 580, 1955, 580, 580, 580, 580, 580, 580, 580, 580, 1964, 580, 580, 580, 580, 580, 1940, 1941, 1943, 580, 580, 580, 580, 580, 580, 580, 1951, 580, 580, 580, 1972, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1982, 1984, 580, 580, 580, 580, 1925, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2372, 580, 2374, 580, 580, 0, 0, 0, 2057, 0, 0, 0, 0, 0, 2063, 0, 0, 0, 0, 0, 0, 0, 1089, 0, 0, 0, 0, 1241, 1242, 0, 0, 0, 0, 0, 0, 2071, 0, 0, 0, 0, 0, 0, 0, 0, 2079, 0, 0, 0, 0, 0, 534, 833, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1306, 534, 534, 534, 534, 534, 534, 2134, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2146, 534, 534, 534, 534, 534, 534, 534, 3453, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 2826, 556, 556, 556, 556, 556, 556, 556, 556, 556, 949, 556, 556, 556, 556, 967, 556, 2189, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1314, 2203, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 2219, 2290, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 580, 580, 2306, 2377, 580, 580, 580, 580, 2146, 2318, 2231, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 3246, 0, 0, 0, 0, 0, 2413, 2414, 0, 0, 2417, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 2712, 0, 0, 0, 0, 0, 0, 0, 0, 2728, 0, 0, 0, 0, 0, 0, 0, 0, 2429, 0, 0, 0, 0, 0, 0, 0, 0, 2406, 0, 0, 0, 0, 0, 0, 0, 0, 2454, 0, 0, 0, 0, 0, 0, 0, 0, 1587, 0, 0, 0, 0, 0, 0, 0, 1595, 1596, 0, 0, 0, 2424, 0, 0, 2427, 0, 0, 0, 0, 0, 0, 2431, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 1159168, 0, 0, 0, 0, 1159168, 1159168, 0, 0, 0, 2452, 0, 0, 0, 0, 0, 0, 0, 2456, 2457, 0, 0, 2460, 0, 0, 2463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473, 0, 0, 0, 0, 0, 639, 0, 0, 0, 0, 644, 645, 646, 647, 648, 649, 534, 2487, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3008, 534, 534, 534, 2515, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1293, 534, 534, 534, 534, 2527, 534, 534, 534, 534, 534, 534, 2534, 534, 534, 534, 534, 534, 534, 534, 534, 3343, 534, 534, 534, 534, 534, 534, 556, 534, 534, 2541, 534, 534, 534, 2544, 534, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 556, 2217, 556, 556, 556, 2574, 556, 556, 556, 556, 556, 556, 2579, 556, 556, 556, 556, 556, 556, 556, 1427, 1428, 556, 556, 556, 26009, 1341, 975, 580, 2585, 556, 556, 556, 556, 556, 556, 2592, 556, 556, 556, 556, 556, 556, 2599, 556, 556, 556, 556, 556, 3290, 556, 556, 556, 556, 3291, 3292, 556, 556, 556, 556, 556, 0, 0, 2298, 0, 580, 580, 580, 580, 580, 580, 580, 2886, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3312, 580, 580, 580, 580, 580, 580, 2673, 580, 580, 580, 2676, 580, 580, 580, 580, 580, 580, 580, 2681, 2682, 2683, 534, 534, 534, 534, 534, 1289, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2185, 534, 534, 534, 534, 2720, 2721, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2080, 0, 0, 0, 2736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2746, 0, 0, 0, 0, 0, 667, 0, 0, 0, 0, 0, 729, 0, 780, 0, 0, 0, 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 2751, 0, 0, 0, 2753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2109, 534, 534, 534, 534, 534, 2787, 2788, 534, 534, 534, 534, 2791, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 3178, 556, 556, 556, 556, 2796, 534, 534, 534, 2799, 534, 2801, 534, 534, 534, 534, 534, 534, 2805, 534, 534, 534, 534, 534, 534, 2492, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1745, 534, 534, 534, 534, 534, 534, 2834, 2835, 556, 556, 556, 556, 2838, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2257, 556, 556, 556, 556, 556, 556, 556, 2844, 556, 556, 556, 2847, 556, 2849, 556, 556, 556, 556, 556, 556, 556, 2854, 580, 2867, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1949, 580, 580, 580, 2883, 2884, 580, 580, 580, 580, 2887, 580, 580, 580, 580, 580, 580, 580, 1928, 580, 580, 580, 580, 580, 580, 580, 580, 1912, 1913, 580, 580, 580, 580, 1920, 580, 580, 580, 580, 2893, 580, 580, 580, 2896, 580, 2898, 580, 580, 580, 580, 580, 580, 1190, 534, 580, 556, 534, 534, 534, 534, 534, 556, 580, 2903, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 3242, 0, 0, 0, 0, 0, 0, 0, 0, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 225734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 580, 2918, 0, 0, 2921, 2922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 3255, 0, 534, 534, 534, 534, 2986, 534, 534, 534, 534, 534, 534, 534, 2992, 534, 534, 534, 534, 534, 534, 891, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 2302, 580, 580, 580, 580, 556, 556, 556, 3026, 556, 556, 556, 556, 556, 556, 556, 3032, 556, 556, 556, 556, 556, 556, 1841, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3357, 556, 3359, 556, 556, 556, 556, 580, 580, 580, 580, 3068, 580, 580, 580, 580, 580, 580, 580, 3074, 580, 580, 580, 580, 580, 2311, 580, 580, 2314, 580, 580, 580, 580, 580, 580, 2322, 3138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1191, 3247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2767, 534, 534, 534, 534, 534, 534, 534, 534, 3265, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 534, 534, 3276, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 3283, 556, 556, 556, 556, 556, 3299, 580, 580, 580, 580, 580, 580, 580, 3304, 580, 580, 580, 580, 580, 3479, 580, 3481, 580, 580, 3483, 580, 580, 0, 0, 0, 0, 0, 0, 1210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2421, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 3399, 534, 3401, 3402, 534, 3404, 534, 556, 556, 556, 556, 556, 556, 556, 556, 3414, 556, 3416, 3417, 556, 3419, 556, 3421, 580, 580, 580, 580, 580, 580, 580, 580, 3430, 580, 3432, 3433, 580, 3435, 580, 3437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 3499, 534, 3501, 534, 534, 580, 580, 580, 3553, 580, 3554, 580, 580, 580, 580, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 3538, 534, 3539, 534, 534, 534, 3604, 3605, 3606, 534, 556, 580, 534, 556, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 3211264, 0, 0, 0, 2179072, 2179072, 2179072, 2179072, 2179072, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 590, 566, 566, 566, 566, 566, 566, 566, 590, 590, 590, 543, 590, 590, 590, 590, 590, 590, 590, 566, 566, 543, 566, 590, 566, 590, 1, 12290, 556, 556, 1398, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2853, 556, 0, 0, 730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1126, 1127, 0, 534, 534, 534, 534, 2138, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2784, 534, 534, 534, 556, 556, 556, 2223, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1849, 556, 556, 556, 580, 580, 580, 2310, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1490, 580, 580, 580, 402, 0, 0, 0, 0, 380, 0, 69632, 73728, 0, 0, 0, 0, 425, 65536, 0, 0, 0, 0, 364, 364, 1133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, 0, 3136, 0, 425, 425, 0, 425, 0, 439, 425, 425, 462, 462, 462, 469, 462, 462, 462, 462, 462, 462, 462, 462, 469, 462, 462, 462, 462, 462, 462, 462, 462, 476, 462, 488, 488, 462, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 531, 544, 567, 544, 567, 544, 544, 567, 544, 591, 567, 567, 567, 567, 567, 567, 567, 591, 591, 591, 544, 591, 591, 591, 591, 591, 591, 591, 567, 567, 544, 567, 591, 567, 591, 1, 12290, 0, 0, 0, 653, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2939, 0, 0, 2941, 0, 0, 0, 654, 0, 654, 0, 0, 0, 0, 814, 0, 0, 0, 654, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 2130, 534, 534, 534, 556, 919, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 957, 556, 556, 556, 556, 556, 556, 3545, 556, 3546, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 556, 556, 534, 534, 884, 534, 534, 556, 556, 957, 556, 556, 0, 580, 580, 1031, 580, 580, 580, 580, 580, 2907, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 0, 0, 3117, 0, 0, 0, 290, 1066, 0, 0, 1069, 1073, 0, 0, 1077, 1081, 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 192965, 0, 0, 0, 1088, 1089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 131072, 0, 0, 0, 1130, 0, 0, 364, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 3254, 0, 0, 1089, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2093, 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 1253, 534, 534, 534, 534, 534, 1303, 534, 534, 1305, 534, 534, 534, 1309, 534, 534, 534, 0, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3549, 580, 580, 580, 534, 534, 534, 534, 1287, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2804, 534, 534, 2807, 534, 534, 1320, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1334, 534, 534, 534, 534, 534, 1323, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2509, 534, 534, 534, 534, 534, 534, 534, 1341, 901, 556, 1344, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2283, 556, 556, 556, 556, 556, 556, 556, 556, 1358, 1365, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1379, 556, 556, 0, 580, 580, 580, 985, 989, 992, 580, 1000, 580, 580, 580, 1015, 1017, 556, 556, 556, 1399, 556, 556, 556, 556, 556, 556, 556, 1412, 556, 556, 556, 556, 556, 556, 1858, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1402, 556, 556, 556, 556, 556, 556, 556, 1416, 556, 1436, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1450, 1457, 580, 580, 580, 580, 580, 3069, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1510, 580, 580, 580, 580, 580, 580, 1518, 580, 580, 580, 580, 0, 1266, 1450, 1358, 534, 534, 1320, 534, 534, 556, 556, 556, 556, 556, 3354, 556, 556, 556, 556, 556, 556, 3360, 556, 556, 556, 556, 556, 556, 2615, 0, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2626, 580, 580, 580, 580, 580, 580, 556, 1412, 556, 556, 580, 580, 1504, 580, 580, 1066, 0, 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0, 0, 0, 0, 0, 0, 658, 0, 0, 661, 0, 0, 0, 0, 1570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1228, 1721, 1722, 534, 534, 534, 534, 1729, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 3177, 556, 556, 556, 3180, 556, 534, 1770, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1311, 534, 556, 556, 1824, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3204, 556, 556, 556, 1838, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3294, 556, 580, 1987, 580, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 0, 0, 2694, 2029, 0, 2030, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2039, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 534, 534, 2190, 534, 534, 534, 534, 534, 2195, 534, 534, 534, 534, 534, 534, 534, 1326, 534, 534, 534, 534, 534, 534, 534, 534, 1291, 534, 534, 534, 534, 534, 534, 534, 556, 2276, 556, 556, 556, 556, 556, 556, 2282, 556, 556, 556, 556, 556, 556, 556, 1810, 556, 556, 556, 556, 556, 556, 556, 556, 3188, 556, 556, 556, 556, 556, 556, 556, 580, 2363, 580, 580, 580, 580, 580, 580, 2369, 580, 580, 580, 580, 580, 580, 580, 2329, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3557, 0, 0, 0, 0, 534, 534, 580, 580, 2634, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1948, 580, 580, 0, 0, 0, 0, 2699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163840, 0, 0, 0, 534, 534, 534, 534, 534, 2778, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1779, 534, 534, 534, 534, 534, 534, 2809, 534, 534, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 2817, 556, 556, 556, 556, 556, 3465, 556, 3467, 556, 556, 3469, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3373, 580, 3375, 580, 556, 556, 556, 2858, 556, 556, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 1445, 580, 580, 580, 1454, 580, 580, 580, 2866, 580, 580, 580, 580, 580, 580, 2874, 580, 580, 580, 580, 580, 580, 580, 580, 1473, 580, 580, 580, 580, 580, 580, 580, 534, 2996, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1767, 1768, 3036, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2275, 580, 3078, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1966, 580, 0, 0, 0, 0, 3130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167936, 0, 0, 0, 534, 534, 3174, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 1828, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 3535, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2991, 534, 534, 534, 3542, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3550, 580, 580, 580, 580, 580, 3082, 580, 580, 3085, 580, 580, 580, 580, 580, 580, 580, 1911, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3072, 580, 580, 580, 580, 580, 580, 463, 463, 463, 447, 447, 463, 447, 447, 447, 447, 447, 447, 447, 447, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 513, 545, 568, 545, 568, 545, 545, 568, 545, 592, 568, 568, 568, 568, 568, 568, 568, 592, 592, 592, 545, 592, 592, 592, 592, 592, 592, 592, 568, 568, 545, 568, 592, 568, 592, 1, 12290, 0, 0, 0, 655, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 920, 556, 556, 934, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2841, 556, 556, 556, 556, 0, 0, 1160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1155, 0, 0, 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2461696, 0, 0, 0, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2801664, 0, 0, 534, 534, 534, 534, 1322, 534, 534, 534, 534, 534, 1329, 534, 534, 534, 534, 534, 534, 534, 2505, 534, 2507, 534, 534, 534, 534, 534, 534, 534, 1793, 534, 534, 534, 534, 1341, 0, 556, 556, 556, 556, 1359, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 965, 556, 556, 556, 556, 556, 1421, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 1974, 1975, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2641, 580, 580, 580, 2644, 580, 556, 556, 1534, 556, 580, 580, 580, 1538, 580, 1066, 0, 1542, 0, 0, 0, 1548, 0, 0, 0, 1554, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2444, 0, 0, 0, 2448, 0, 0, 1599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569, 534, 534, 1723, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1734, 534, 534, 534, 534, 534, 534, 892, 534, 534, 534, 534, 556, 556, 556, 556, 556, 0, 0, 2298, 0, 0, 0, 580, 580, 580, 580, 580, 580, 3480, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 3582, 534, 534, 534, 534, 556, 3586, 1754, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1316, 0, 2096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2108, 0, 534, 534, 534, 534, 2154, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3006, 534, 534, 534, 556, 556, 556, 2239, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1864, 556, 556, 1867, 580, 580, 580, 2326, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1512, 580, 580, 580, 556, 556, 3194, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1414, 556, 556, 0, 0, 3328, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 851, 534, 534, 534, 534, 534, 580, 580, 3379, 580, 580, 534, 556, 580, 0, 0, 0, 3384, 0, 0, 0, 0, 0, 0, 306, 204800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 298, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 3395, 534, 534, 534, 534, 534, 534, 534, 2156, 534, 2158, 534, 534, 534, 534, 534, 534, 534, 2170, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2546, 534, 534, 534, 534, 0, 2549, 387, 389, 339, 0, 0, 0, 0, 0, 0, 338, 0, 0, 339, 0, 0, 0, 0, 0, 0, 2023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 393, 394, 0, 395, 0, 0, 0, 0, 0, 395, 0, 0, 0, 0, 0, 1209, 0, 0, 0, 0, 1214, 0, 0, 0, 0, 0, 0, 0, 2405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0, 1099, 0, 0, 0, 338, 0, 0, 440, 0, 0, 464, 464, 464, 464, 464, 464, 464, 464, 546, 569, 546, 569, 546, 546, 569, 546, 475, 464, 464, 464, 493, 470, 493, 493, 493, 493, 493, 493, 493, 493, 464, 464, 470, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 474, 474, 464, 475, 464, 464, 464, 593, 569, 569, 569, 569, 569, 569, 569, 593, 593, 593, 546, 593, 593, 593, 593, 593, 593, 593, 569, 569, 546, 569, 593, 569, 593, 1, 12290, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 0, 0, 708, 0, 710, 0, 0, 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1643, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2411, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 775, 0, 0, 0, 0, 0, 824, 0, 0, 0, 0, 0, 0, 779, 656, 0, 0, 796, 0, 0, 0, 0, 699, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, 0, 434, 0, 0, 331, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 796, 779, 0, 0, 801, 0, 660, 0, 775, 0, 0, 0, 0, 0, 0, 0, 0, 2755, 0, 0, 0, 0, 0, 0, 0, 0, 2937, 0, 0, 0, 0, 0, 0, 0, 0, 2741, 0, 0, 0, 2745, 0, 2747, 0, 0, 0, 775, 801, 0, 801, 796, 0, 0, 0, 815, 0, 0, 0, 656, 818, 828, 0, 0, 0, 0, 534, 832, 534, 534, 534, 848, 534, 534, 862, 534, 534, 534, 534, 534, 534, 2504, 534, 534, 534, 534, 534, 534, 534, 534, 534, 898, 534, 556, 556, 556, 556, 556, 534, 534, 875, 534, 534, 534, 534, 893, 534, 534, 534, 556, 556, 904, 556, 556, 0, 580, 580, 976, 580, 580, 580, 580, 580, 580, 1007, 580, 580, 580, 580, 580, 1908, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1921, 556, 921, 556, 556, 935, 556, 556, 556, 556, 948, 556, 556, 556, 556, 966, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 0, 3594, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3156, 534, 534, 534, 534, 534, 534, 534, 2802, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1795, 534, 534, 1341, 1800, 556, 556, 580, 1022, 580, 580, 580, 580, 1040, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 3428, 580, 580, 580, 580, 580, 534, 556, 580, 3381, 0, 3383, 0, 0, 0, 0, 0, 0, 0, 2126, 0, 0, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1717, 534, 534, 0, 0, 1131, 0, 364, 364, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2481, 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 111044, 1, 12290, 1093, 0, 0, 0, 0, 0, 0, 1197, 0, 0, 0, 0, 1202, 0, 0, 0, 0, 0, 0, 2033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 1131, 0, 0, 1237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2713, 0, 0, 0, 0, 0, 0, 1216, 0, 0, 0, 0, 1248, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 841, 534, 534, 534, 534, 534, 534, 534, 556, 556, 1360, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1382, 580, 580, 1497, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2334, 580, 580, 556, 1533, 556, 556, 580, 580, 1537, 580, 580, 1066, 0, 0, 0, 0, 0, 0, 0, 1121, 0, 0, 1124, 1125, 0, 0, 0, 0, 1584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1614, 0, 0, 0, 1602, 0, 0, 1605, 0, 1607, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 122880, 122880, 122880, 122880, 122880, 0, 0, 1697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423, 0, 534, 1755, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2162, 534, 556, 1822, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3049, 556, 556, 556, 556, 2265, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3031, 556, 556, 556, 556, 0, 0, 0, 0, 2402, 0, 2404, 0, 0, 2407, 0, 0, 0, 0, 0, 0, 0, 1165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 0, 0, 0, 0, 0, 0, 2412, 0, 0, 0, 2415, 2416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106496, 0, 0, 0, 0, 0, 0, 0, 0, 2426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2912256, 0, 3207168, 0, 0, 0, 0, 2440, 0, 2441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2470, 0, 0, 0, 0, 0, 2461, 0, 0, 0, 0, 0, 0, 0, 0, 2469, 0, 0, 0, 0, 0, 2475, 0, 0, 0, 0, 2478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2486, 0, 0, 0, 0, 435, 0, 0, 447, 463, 463, 463, 463, 463, 463, 463, 463, 463, 473, 463, 463, 463, 463, 463, 463, 534, 2500, 2501, 534, 534, 534, 534, 534, 2506, 534, 2508, 534, 534, 534, 534, 2512, 2525, 534, 534, 534, 534, 534, 534, 2533, 534, 534, 534, 534, 2537, 534, 534, 534, 534, 534, 534, 1262, 534, 534, 534, 534, 534, 534, 1277, 534, 534, 556, 556, 556, 2561, 556, 556, 2564, 2565, 556, 556, 556, 556, 556, 2570, 556, 2572, 556, 556, 556, 556, 2576, 556, 556, 556, 556, 556, 556, 556, 556, 2582, 556, 556, 0, 580, 580, 977, 580, 580, 580, 993, 580, 580, 580, 580, 580, 580, 1443, 580, 580, 580, 1447, 580, 580, 1458, 580, 580, 556, 556, 2602, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1833, 556, 556, 2685, 534, 534, 556, 2687, 556, 556, 580, 2689, 580, 580, 0, 0, 0, 0, 0, 0, 0, 2936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2036, 0, 0, 0, 0, 0, 0, 0, 0, 2708, 0, 0, 0, 0, 0, 0, 0, 2714, 2715, 2716, 0, 0, 0, 0, 0, 0, 2060, 0, 0, 0, 0, 0, 2064, 0, 0, 2066, 0, 2735, 0, 2737, 0, 0, 0, 2740, 0, 0, 2743, 0, 0, 0, 0, 0, 0, 0, 2960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2430, 0, 0, 0, 0, 0, 2435, 534, 534, 2810, 534, 0, 0, 2811, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2566, 556, 556, 556, 556, 556, 556, 556, 2856, 556, 556, 2859, 556, 0, 0, 2860, 580, 580, 580, 580, 580, 580, 580, 2651, 580, 580, 580, 580, 580, 580, 2658, 580, 580, 2892, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2321, 580, 2902, 580, 580, 2905, 580, 580, 2908, 580, 2909, 2910, 2911, 534, 534, 556, 556, 580, 580, 0, 0, 0, 0, 0, 3115, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 420, 0, 65536, 0, 2929, 2930, 0, 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2730, 0, 0, 0, 0, 0, 534, 534, 2997, 534, 2999, 534, 534, 534, 534, 534, 534, 3005, 534, 534, 3007, 534, 534, 534, 534, 534, 1324, 534, 534, 534, 534, 534, 534, 534, 534, 1335, 1336, 556, 3037, 556, 3039, 556, 556, 556, 556, 556, 556, 556, 3046, 556, 556, 3048, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 0, 0, 0, 0, 0, 0, 377, 0, 380, 0, 0, 0, 380, 0, 0, 580, 580, 3079, 580, 3081, 580, 580, 580, 580, 580, 580, 580, 3088, 580, 580, 3090, 534, 534, 534, 534, 534, 3164, 534, 534, 534, 534, 534, 534, 534, 3169, 534, 534, 534, 534, 534, 534, 2779, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3167, 534, 534, 534, 534, 534, 3181, 3182, 556, 556, 556, 556, 3186, 3187, 556, 556, 556, 556, 556, 3191, 556, 556, 0, 580, 580, 978, 580, 580, 580, 995, 580, 580, 1009, 580, 580, 580, 580, 580, 2353, 2354, 580, 580, 580, 580, 580, 580, 2361, 580, 580, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 3210, 3211, 580, 580, 580, 580, 580, 1442, 580, 580, 580, 580, 1448, 580, 580, 580, 580, 580, 580, 3524, 580, 3526, 580, 580, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 3215, 3216, 580, 580, 580, 580, 580, 3220, 580, 580, 580, 580, 580, 580, 580, 580, 1507, 580, 580, 580, 580, 580, 580, 580, 3226, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 2684, 556, 556, 556, 3288, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2258, 556, 556, 556, 3307, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2347, 2348, 3132, 0, 0, 0, 0, 534, 534, 3393, 534, 534, 534, 534, 3398, 534, 534, 534, 534, 534, 534, 1290, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1267, 534, 534, 534, 534, 534, 534, 534, 3403, 534, 534, 556, 556, 3408, 556, 556, 556, 556, 3413, 556, 556, 556, 556, 556, 556, 1874, 556, 556, 556, 556, 556, 1881, 556, 556, 556, 3418, 556, 556, 556, 580, 580, 3424, 580, 580, 580, 580, 3429, 580, 580, 580, 580, 580, 1468, 580, 580, 580, 580, 580, 580, 580, 1476, 580, 580, 3434, 580, 580, 580, 0, 0, 0, 0, 0, 3441, 0, 0, 0, 0, 534, 534, 534, 534, 3497, 534, 534, 534, 534, 534, 534, 534, 534, 1731, 534, 534, 534, 534, 1735, 534, 534, 534, 3563, 3564, 534, 534, 556, 556, 556, 3569, 3570, 556, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3212, 580, 580, 580, 3575, 3576, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 556, 556, 0, 580, 580, 979, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2358, 580, 580, 580, 580, 580, 341, 342, 343, 344, 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221184, 0, 0, 0, 0, 0, 0, 390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, 0, 0, 344, 344, 345, 344, 0, 343, 344, 448, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 480, 489, 489, 497, 489, 499, 489, 489, 499, 499, 489, 499, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 547, 570, 547, 570, 547, 547, 570, 547, 594, 570, 570, 570, 570, 570, 570, 570, 594, 594, 594, 547, 594, 594, 594, 594, 594, 594, 594, 570, 570, 547, 570, 594, 570, 594, 1, 12290, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 665, 666, 0, 668, 669, 0, 0, 0, 0, 0, 675, 0, 0, 0, 0, 0, 0, 0, 1220, 1250, 1251, 0, 1220, 0, 534, 534, 534, 0, 0, 0, 685, 0, 0, 0, 0, 0, 0, 692, 364, 364, 364, 0, 0, 0, 0, 0, 687, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1691, 0, 0, 0, 0, 712, 0, 714, 0, 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, 0, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2138112, 0, 0, 0, 0, 0, 0, 639, 745, 746, 747, 0, 0, 0, 0, 0, 753, 754, 0, 0, 0, 0, 0, 748, 0, 0, 803, 0, 0, 0, 0, 0, 0, 0, 0, 1134592, 0, 0, 1134592, 0, 0, 0, 0, 0, 685, 0, 0, 665, 0, 685, 0, 797, 668, 716, 0, 685, 798, 0, 0, 0, 0, 0, 1090, 1091, 1092, 1093, 0, 0, 0, 0, 0, 0, 0, 0, 2948, 0, 0, 0, 0, 0, 2951, 0, 0, 0, 754, 0, 0, 0, 0, 0, 0, 0, 0, 747, 807, 808, 0, 0, 0, 0, 0, 1119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3055616, 0, 0, 0, 3133440, 0, 0, 0, 0, 747, 0, 0, 812, 692, 0, 0, 0, 817, 0, 0, 0, 0, 0, 0, 2073, 0, 2075, 0, 0, 0, 0, 0, 0, 0, 0, 1702, 0, 0, 1703, 0, 0, 1704, 0, 819, 0, 0, 0, 685, 692, 0, 0, 685, 817, 817, 0, 0, 0, 0, 0, 0, 0, 3131, 0, 0, 0, 0, 0, 0, 0, 0, 749, 0, 0, 0, 0, 0, 0, 756, 870, 873, 534, 534, 534, 885, 889, 534, 534, 534, 534, 556, 556, 556, 911, 915, 918, 556, 926, 556, 556, 556, 941, 943, 946, 556, 556, 556, 958, 962, 556, 556, 0, 580, 580, 980, 986, 580, 580, 580, 580, 1004, 580, 580, 580, 580, 580, 1469, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2627, 580, 580, 2630, 2631, 580, 1020, 580, 580, 580, 1032, 1036, 580, 580, 580, 580, 0, 0, 0, 1048, 1049, 1050, 838, 534, 885, 889, 1055, 911, 556, 958, 962, 1060, 0, 985, 580, 1032, 1036, 1065, 1101, 0, 0, 0, 0, 1105, 0, 0, 1108, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 1, 12290, 1298, 534, 534, 1302, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1312, 534, 534, 534, 534, 534, 1727, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1796, 534, 1341, 0, 556, 556, 534, 1319, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1332, 534, 534, 534, 534, 534, 534, 1304, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1266, 1273, 534, 534, 534, 534, 534, 556, 1383, 556, 556, 556, 556, 556, 556, 556, 1390, 556, 556, 1394, 556, 556, 556, 556, 556, 1385, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2595, 556, 556, 556, 556, 556, 580, 580, 580, 1482, 580, 580, 1486, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1929, 580, 580, 580, 580, 580, 580, 580, 1496, 580, 580, 1503, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1516, 1615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1655, 0, 0, 0, 1647, 0, 1649, 0, 0, 0, 1651, 0, 741, 0, 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 330, 0, 0, 69632, 73728, 0, 418, 418, 0, 0, 65536, 418, 0, 0, 0, 534, 1709, 534, 534, 534, 534, 534, 534, 1715, 534, 534, 534, 534, 0, 0, 556, 2812, 556, 556, 556, 556, 556, 556, 556, 556, 3356, 556, 556, 556, 556, 556, 556, 556, 534, 534, 1787, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 1803, 556, 556, 556, 556, 1839, 556, 556, 556, 1843, 556, 556, 1848, 556, 556, 556, 556, 556, 556, 1892, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 0, 1269, 1453, 1361, 534, 534, 534, 534, 534, 556, 580, 580, 580, 1906, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1917, 580, 580, 580, 1935, 580, 580, 580, 1939, 580, 580, 1944, 580, 580, 580, 580, 580, 580, 580, 580, 1945, 580, 580, 580, 580, 580, 580, 580, 0, 0, 2010, 0, 1077, 0, 0, 0, 2012, 0, 1081, 0, 0, 0, 0, 0, 0, 0, 3144, 0, 0, 0, 0, 0, 0, 3147, 0, 534, 534, 534, 2177, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 1800, 556, 556, 556, 556, 2263, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1850, 556, 556, 580, 580, 2350, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2346, 580, 580, 0, 2550, 0, 1800, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2569, 556, 2571, 556, 556, 2613, 556, 556, 556, 0, 0, 0, 2616, 0, 1896, 580, 580, 580, 580, 580, 580, 3219, 580, 580, 580, 580, 580, 580, 580, 580, 3225, 0, 0, 2761, 0, 0, 0, 534, 2765, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3166, 534, 534, 534, 534, 534, 3171, 534, 534, 2789, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1295, 534, 534, 556, 556, 2836, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1865, 556, 556, 534, 534, 2985, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1310, 534, 534, 534, 534, 534, 2998, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 1801, 556, 556, 556, 3025, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3205, 556, 556, 3038, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2247, 556, 556, 580, 580, 3067, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2643, 580, 580, 580, 580, 580, 3080, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2345, 580, 580, 580, 534, 534, 534, 534, 534, 3267, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2159, 534, 534, 534, 534, 2163, 3285, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2289, 3336, 534, 534, 534, 534, 3340, 534, 534, 534, 534, 534, 3346, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 0, 0, 1545, 0, 0, 0, 0, 0, 1620, 0, 0, 1623, 0, 1625, 0, 0, 0, 0, 0, 0, 0, 2480, 0, 0, 0, 0, 0, 0, 0, 0, 555, 578, 555, 578, 555, 555, 578, 555, 556, 556, 3351, 556, 556, 556, 556, 3355, 556, 556, 556, 556, 556, 3361, 556, 556, 0, 580, 580, 981, 580, 580, 580, 580, 580, 580, 1010, 1012, 580, 580, 580, 580, 1029, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 3377, 580, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3251, 0, 3132, 3253, 0, 0, 3256, 3132, 0, 0, 0, 0, 534, 534, 534, 534, 534, 3396, 534, 534, 534, 3400, 534, 534, 534, 534, 534, 1742, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2536, 534, 534, 534, 534, 534, 388, 0, 0, 0, 392, 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233472, 0, 0, 0, 0, 0, 0, 0, 404, 0, 346, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 0, 0, 0, 0, 515, 515, 515, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 515, 515, 515, 515, 515, 515, 515, 548, 571, 548, 571, 548, 548, 571, 548, 595, 571, 571, 571, 571, 571, 571, 571, 595, 595, 595, 548, 595, 595, 595, 595, 595, 595, 595, 571, 571, 610, 615, 595, 615, 621, 1, 12290, 0, 0, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1668, 534, 534, 876, 534, 534, 534, 534, 894, 534, 534, 534, 556, 556, 905, 556, 556, 0, 580, 580, 982, 580, 580, 580, 580, 1001, 1005, 1011, 580, 1016, 580, 580, 1023, 580, 580, 580, 580, 1041, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 0, 1544, 0, 0, 0, 0, 0, 0, 2764, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1268, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1173, 0, 0, 0, 1178, 0, 0, 0, 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 274432, 274432, 274432, 0, 274432, 274432, 274432, 274432, 1256, 534, 534, 534, 534, 534, 534, 534, 534, 1269, 534, 534, 534, 534, 1279, 534, 534, 534, 534, 534, 1757, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2197, 534, 534, 534, 534, 534, 534, 534, 534, 1341, 901, 556, 556, 556, 1347, 556, 556, 556, 556, 556, 556, 556, 1877, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 0, 580, 1899, 580, 580, 580, 580, 556, 556, 1361, 556, 556, 556, 556, 1371, 556, 556, 556, 556, 556, 556, 556, 556, 3468, 556, 556, 3470, 556, 580, 580, 580, 556, 556, 556, 556, 1422, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 1990, 1991, 1992, 534, 1994, 534, 534, 556, 1998, 556, 556, 580, 580, 580, 3367, 580, 580, 580, 580, 3371, 580, 580, 580, 580, 580, 580, 3232, 580, 580, 580, 580, 580, 580, 534, 580, 556, 2384, 534, 534, 534, 2388, 556, 556, 556, 580, 580, 1439, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1453, 580, 580, 580, 580, 580, 2381, 2382, 2383, 534, 534, 534, 534, 556, 556, 556, 556, 3410, 556, 556, 556, 556, 556, 556, 556, 580, 1463, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1477, 580, 580, 1498, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1514, 580, 580, 580, 580, 2005, 0, 2007, 0, 2009, 0, 2011, 0, 0, 0, 0, 0, 0, 0, 2034, 2035, 0, 2037, 2038, 0, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, 0, 286720, 286720, 1, 12290, 0, 0, 0, 1586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, 1600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2434, 0, 556, 1852, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3363, 0, 1556, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 305, 204800, 204800, 0, 205105, 204800, 1, 12290, 0, 0, 0, 2070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 0, 0, 0, 0, 0, 2111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1188, 0, 0, 534, 2165, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2173, 534, 2250, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2584, 2337, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2375, 580, 2211, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2597, 556, 556, 556, 556, 556, 556, 2588, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2831, 556, 556, 556, 534, 3107, 556, 3109, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2138112, 1170, 0, 0, 0, 0, 0, 3132, 3330, 0, 0, 3332, 0, 0, 0, 0, 0, 534, 3335, 534, 534, 534, 534, 534, 1774, 534, 534, 534, 1778, 534, 534, 534, 534, 534, 534, 534, 1776, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2535, 534, 534, 534, 534, 534, 534, 534, 3337, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 556, 3350, 556, 556, 3352, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2852, 556, 556, 556, 556, 556, 580, 3366, 580, 580, 3368, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1946, 580, 580, 580, 580, 580, 580, 3132, 0, 3388, 0, 3390, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 902, 556, 556, 0, 0, 0, 783, 0, 783, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 2557, 556, 556, 556, 556, 556, 556, 2848, 556, 556, 556, 556, 556, 556, 556, 556, 556, 947, 556, 556, 556, 556, 556, 556, 556, 922, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1381, 556, 556, 972, 0, 580, 580, 580, 580, 580, 580, 996, 580, 580, 580, 580, 580, 580, 1910, 580, 580, 580, 580, 1916, 580, 580, 580, 580, 78114, 1066, 0, 0, 1070, 1074, 0, 0, 1078, 1082, 0, 0, 0, 0, 0, 0, 0, 1222, 0, 0, 0, 0, 1225, 0, 1181, 0, 534, 3162, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2201, 534, 580, 580, 580, 3218, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2629, 580, 580, 580, 347, 347, 349, 347, 0, 0, 347, 347, 0, 0, 0, 0, 348, 0, 0, 0, 0, 0, 0, 2125, 0, 0, 2128, 0, 534, 534, 2131, 534, 534, 0, 0, 0, 347, 347, 349, 347, 347, 347, 347, 347, 347, 506, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 549, 572, 549, 572, 549, 549, 572, 549, 596, 572, 572, 572, 572, 572, 572, 572, 596, 596, 596, 549, 596, 596, 596, 596, 596, 596, 596, 572, 572, 549, 572, 596, 572, 596, 1, 12290, 0, 0, 0, 715, 0, 717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1147348, 0, 0, 0, 0, 0, 0, 0, 732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 354, 355, 356, 758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 673, 674, 0, 0, 0, 0, 0, 0, 0, 794, 795, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 795, 0, 0, 794, 809, 0, 803, 0, 657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3117056, 0, 0, 0, 0, 820, 0, 0, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 795, 534, 534, 839, 534, 534, 534, 534, 857, 534, 534, 534, 534, 534, 534, 1728, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3272, 534, 534, 534, 3273, 3274, 534, 534, 877, 879, 534, 534, 890, 534, 534, 534, 534, 556, 556, 906, 912, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 0, 1543, 0, 0, 0, 1549, 556, 556, 556, 930, 556, 556, 556, 556, 556, 950, 952, 556, 556, 963, 556, 556, 556, 556, 556, 1840, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1831, 556, 556, 556, 556, 1835, 580, 1024, 1026, 580, 580, 1037, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 1540, 0, 0, 0, 1546, 0, 0, 0, 0, 0, 131072, 0, 131072, 131072, 131072, 131072, 0, 131072, 131072, 131072, 131072, 131072, 131072, 0, 0, 0, 0, 0, 131072, 0, 131072, 1, 12290, 839, 879, 534, 890, 534, 912, 952, 556, 963, 556, 0, 986, 1026, 580, 1037, 580, 580, 580, 580, 2005, 0, 2007, 0, 2009, 0, 2011, 0, 0, 2397, 0, 0, 0, 0, 0, 330, 331, 332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2731, 0, 0, 0, 0, 0, 0, 1132, 364, 364, 0, 0, 1135, 0, 0, 0, 1138, 0, 1140, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 2556, 556, 556, 556, 556, 556, 556, 2577, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1897, 580, 580, 580, 580, 580, 580, 1142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, 556, 556, 556, 556, 556, 556, 2555, 556, 556, 556, 556, 2559, 1158, 0, 0, 0, 0, 1163, 0, 0, 0, 0, 1168, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 1247, 0, 0, 0, 0, 0, 0, 0, 1168, 534, 534, 534, 534, 534, 534, 1743, 534, 534, 534, 534, 534, 534, 534, 534, 534, 897, 534, 556, 556, 556, 556, 914, 534, 534, 534, 1286, 1288, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 907, 556, 556, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 1348, 556, 556, 556, 556, 556, 556, 0, 2298, 580, 580, 580, 580, 580, 580, 580, 580, 2640, 580, 580, 580, 580, 580, 580, 2645, 580, 580, 580, 1440, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2670, 2671, 580, 580, 1494, 580, 580, 580, 580, 580, 580, 580, 1508, 580, 580, 580, 580, 580, 580, 580, 2678, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 1996, 556, 556, 556, 2000, 580, 580, 1519, 1520, 580, 580, 580, 0, 534, 580, 556, 534, 1528, 534, 534, 1531, 556, 556, 556, 556, 580, 580, 580, 580, 580, 1066, 1541, 0, 0, 0, 1547, 0, 0, 0, 0, 556, 556, 556, 2553, 556, 2554, 556, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 580, 2863, 580, 580, 580, 1532, 556, 556, 1535, 580, 1536, 580, 580, 1539, 1066, 0, 0, 0, 0, 0, 0, 0, 1577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1203, 0, 0, 0, 0, 1633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 1658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 1698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1226, 0, 0, 534, 1738, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2207, 2549, 534, 534, 534, 1788, 534, 534, 534, 534, 1794, 534, 534, 534, 1341, 0, 556, 556, 556, 556, 556, 1891, 556, 556, 26009, 1896, 580, 580, 580, 580, 580, 580, 1470, 1472, 580, 580, 580, 580, 580, 580, 580, 580, 1960, 580, 580, 1963, 580, 580, 580, 580, 556, 556, 1870, 556, 556, 556, 1875, 556, 556, 556, 556, 556, 556, 556, 556, 1884, 556, 556, 556, 556, 1890, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 1927, 580, 580, 580, 580, 1931, 580, 580, 580, 580, 580, 1904, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2672, 580, 580, 580, 1971, 580, 580, 580, 580, 580, 580, 580, 580, 1980, 580, 580, 580, 580, 580, 1504, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2316, 580, 580, 2320, 580, 580, 1986, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 0, 0, 2693, 0, 0, 0, 0, 0, 2099, 0, 2101, 2102, 2103, 0, 2105, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 424, 65536, 0, 0, 0, 0, 2123, 0, 0, 0, 0, 0, 0, 0, 2129, 534, 534, 534, 534, 0, 2211, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3045, 556, 556, 556, 556, 556, 534, 534, 2136, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1333, 534, 534, 534, 534, 534, 2166, 534, 2168, 534, 2171, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3271, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2178, 534, 534, 534, 534, 534, 2184, 534, 534, 534, 534, 534, 534, 534, 2792, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2519, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2206, 0, 0, 0, 0, 2213, 556, 556, 556, 556, 556, 556, 939, 556, 944, 556, 951, 556, 954, 556, 556, 968, 556, 2221, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1415, 556, 556, 556, 2251, 556, 2253, 556, 2256, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2607, 556, 556, 556, 2610, 556, 556, 556, 556, 556, 2264, 556, 556, 556, 556, 556, 2270, 556, 556, 556, 556, 556, 556, 1369, 556, 556, 556, 1374, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2293, 0, 0, 0, 0, 2300, 580, 580, 580, 580, 580, 580, 1942, 580, 580, 580, 1947, 580, 580, 580, 580, 580, 580, 2308, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2880, 580, 580, 580, 2338, 580, 2340, 580, 2343, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1961, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2351, 580, 580, 580, 580, 580, 2357, 580, 580, 580, 580, 580, 580, 1958, 1959, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3234, 580, 580, 580, 534, 580, 556, 0, 0, 2400, 2401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 0, 0, 0, 2436, 0, 0, 2439, 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0, 0, 0, 0, 2818048, 2846720, 0, 2916352, 0, 0, 3002368, 0, 0, 0, 2451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459, 0, 0, 0, 0, 556, 556, 2552, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2851, 556, 556, 556, 556, 556, 556, 0, 0, 0, 2477, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2485, 0, 0, 0, 0, 0, 1195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111044, 0, 0, 0, 0, 534, 534, 534, 534, 534, 2503, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2520, 534, 534, 534, 534, 534, 556, 556, 556, 556, 2562, 556, 556, 556, 556, 556, 2567, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 580, 2304, 580, 580, 580, 2633, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2901, 580, 534, 534, 534, 2686, 556, 556, 556, 2688, 580, 580, 580, 2690, 2691, 0, 0, 0, 0, 0, 0, 2453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1185, 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0, 2710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159168, 0, 0, 0, 0, 2855, 556, 556, 556, 556, 556, 0, 0, 580, 580, 580, 580, 580, 2864, 580, 2865, 580, 580, 2904, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 0, 3113, 0, 0, 0, 0, 0, 0, 0, 0, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 254407, 1, 12290, 556, 556, 556, 3053, 556, 556, 556, 556, 556, 556, 556, 580, 3061, 580, 580, 580, 580, 580, 2649, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2371, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3095, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 2386, 2387, 556, 556, 2390, 2391, 534, 534, 3338, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3347, 534, 534, 3349, 556, 556, 556, 556, 3353, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3362, 556, 556, 556, 556, 580, 580, 580, 580, 580, 3427, 580, 580, 580, 3431, 580, 580, 580, 580, 1031, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 556, 556, 3365, 580, 580, 580, 580, 3369, 580, 580, 580, 580, 580, 580, 580, 580, 2356, 580, 580, 580, 580, 580, 580, 580, 580, 3378, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 3449, 534, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 3179, 556, 556, 556, 556, 556, 3462, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 3300, 580, 580, 580, 3303, 580, 580, 580, 580, 580, 3476, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 0, 0, 3491, 0, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3158, 534, 534, 534, 534, 534, 3565, 534, 556, 556, 556, 556, 556, 3571, 556, 556, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3372, 580, 580, 580, 580, 580, 580, 3577, 580, 580, 3579, 0, 3581, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 2224, 556, 556, 2227, 556, 556, 556, 556, 556, 556, 2235, 400, 0, 0, 0, 0, 0, 367, 375, 403, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2054, 408, 410, 0, 0, 367, 375, 0, 69632, 73728, 0, 0, 0, 0, 426, 65536, 0, 0, 0, 0, 556, 2551, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2271, 556, 556, 556, 556, 556, 426, 426, 0, 426, 0, 410, 426, 449, 0, 0, 0, 0, 0, 0, 0, 0, 534, 556, 534, 556, 534, 534, 556, 534, 367, 0, 0, 395, 0, 0, 0, 0, 0, 350, 0, 0, 367, 0, 0, 395, 0, 408, 0, 490, 490, 0, 490, 490, 490, 490, 490, 490, 490, 490, 516, 516, 516, 516, 449, 449, 449, 449, 524, 449, 449, 525, 449, 516, 530, 516, 516, 516, 530, 516, 516, 516, 516, 532, 550, 573, 550, 573, 550, 550, 573, 550, 597, 573, 573, 573, 573, 573, 573, 573, 597, 597, 597, 550, 597, 597, 597, 597, 597, 597, 597, 573, 573, 611, 616, 597, 616, 622, 1, 12290, 0, 0, 636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1567, 1568, 0, 789, 0, 0, 0, 0, 534, 834, 534, 534, 534, 534, 534, 534, 863, 865, 534, 534, 534, 534, 534, 1790, 1792, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 0, 580, 580, 580, 983, 987, 580, 580, 580, 580, 580, 580, 1013, 580, 556, 556, 556, 556, 936, 938, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2829, 556, 556, 2832, 556, 556, 78114, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, 0, 0, 1085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1098, 0, 0, 0, 0, 0, 1235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 1116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1581, 1582, 0, 0, 0, 0, 1085, 1208, 0, 0, 0, 0, 0, 0, 1215, 0, 0, 0, 0, 0, 0, 347, 348, 349, 0, 0, 0, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 282624, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1220, 1229, 534, 534, 534, 1259, 534, 534, 534, 1263, 534, 534, 1274, 534, 534, 1278, 534, 534, 534, 534, 534, 534, 3001, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1327, 534, 534, 534, 534, 534, 534, 534, 1299, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2497, 534, 534, 534, 534, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 1351, 556, 556, 556, 556, 556, 1423, 556, 556, 556, 1430, 556, 556, 26009, 1341, 975, 580, 1355, 556, 556, 1366, 556, 556, 1370, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2828, 556, 556, 556, 556, 556, 556, 1462, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3315, 580, 1479, 580, 580, 580, 1483, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2877, 580, 580, 580, 580, 0, 1571, 1572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1612, 0, 0, 0, 0, 0, 0, 1603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 696, 0, 1616, 0, 1618, 0, 0, 0, 1622, 0, 0, 0, 1626, 0, 0, 0, 1630, 0, 0, 0, 0, 1572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 364, 695, 0, 534, 534, 534, 1724, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1782, 1783, 534, 534, 556, 1837, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1818, 556, 556, 556, 556, 1889, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 1976, 580, 580, 580, 580, 580, 1981, 580, 580, 580, 0, 0, 0, 2031, 0, 2032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2200246, 151552, 2200246, 0, 0, 2175, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2186, 534, 534, 534, 534, 534, 534, 1758, 534, 534, 534, 534, 1764, 534, 534, 534, 534, 0, 0, 556, 556, 556, 556, 2814, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 2301, 580, 580, 580, 580, 580, 1038, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 580, 580, 2394, 2395, 0, 1544, 0, 1550, 0, 1556, 0, 1562, 0, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052, 0, 0, 2476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2482, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 345, 344, 65536, 343, 534, 534, 534, 534, 2530, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1275, 534, 534, 534, 534, 580, 2661, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3075, 580, 580, 0, 0, 2722, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 534, 2797, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2511, 534, 556, 556, 2845, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2259, 556, 556, 0, 0, 2970, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 534, 855, 534, 534, 534, 534, 0, 0, 0, 0, 3122, 3123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2424832, 2433024, 0, 0, 2457600, 3149, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1737, 3172, 534, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 2242, 556, 556, 556, 556, 556, 556, 556, 556, 1406, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 3229, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 556, 556, 556, 580, 580, 580, 580, 3426, 580, 580, 580, 580, 580, 580, 580, 2639, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2344, 580, 580, 580, 580, 580, 580, 534, 3236, 556, 3238, 580, 3240, 3241, 0, 0, 0, 0, 3245, 0, 0, 0, 0, 0, 0, 640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 397, 0, 0, 0, 323, 0, 0, 0, 3258, 0, 0, 0, 0, 0, 0, 0, 0, 3261, 0, 534, 534, 534, 534, 534, 534, 534, 3154, 3155, 534, 534, 534, 534, 3159, 3160, 3263, 534, 534, 534, 3266, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1330, 534, 534, 534, 534, 580, 580, 3318, 534, 3319, 556, 3320, 580, 0, 0, 0, 0, 0, 0, 0, 0, 543, 566, 543, 566, 543, 543, 566, 543, 556, 556, 3543, 556, 3544, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 3551, 580, 3552, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 0, 0, 534, 534, 3536, 534, 3537, 534, 534, 534, 534, 534, 534, 534, 1730, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2183, 534, 534, 534, 534, 534, 534, 409, 355, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 0, 65536, 0, 0, 0, 0, 638, 0, 0, 641, 642, 0, 0, 0, 0, 0, 0, 0, 0, 1591, 0, 0, 1594, 0, 0, 0, 0, 466, 477, 466, 0, 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, 517, 517, 521, 521, 521, 521, 466, 466, 466, 466, 466, 466, 466, 471, 466, 521, 517, 521, 521, 517, 521, 521, 521, 521, 533, 551, 574, 551, 574, 551, 551, 574, 551, 598, 574, 574, 574, 574, 574, 574, 574, 598, 598, 598, 551, 598, 598, 598, 598, 598, 598, 598, 574, 574, 612, 617, 598, 617, 623, 1, 12290, 0, 0, 731, 0, 0, 0, 637, 731, 0, 737, 738, 637, 0, 0, 0, 0, 0, 0, 656, 0, 0, 659, 660, 0, 0, 0, 0, 0, 0, 0, 2754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420, 0, 0, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 786, 0, 791, 0, 0, 0, 0, 0, 1575, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 303, 0, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016, 0, 0, 0, 0, 806, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 349, 347, 65536, 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 777, 777, 0, 637, 0, 0, 0, 786, 0, 791, 0, 777, 0, 806, 0, 0, 0, 658, 0, 777, 791, 829, 0, 534, 835, 534, 534, 534, 534, 854, 858, 864, 534, 869, 556, 556, 927, 931, 937, 556, 942, 556, 556, 556, 556, 556, 959, 556, 556, 556, 556, 556, 1424, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 534, 534, 886, 534, 534, 556, 556, 959, 556, 556, 0, 580, 580, 1033, 580, 580, 580, 580, 1033, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 0, 1086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2449, 0, 0, 0, 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1113, 0, 0, 0, 1117, 1118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 364, 208896, 0, 0, 0, 0, 0, 0, 1179, 0, 1182, 0, 0, 0, 0, 0, 1187, 0, 0, 0, 0, 0, 0, 2726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 0, 0, 0, 0, 0, 1205, 0, 0, 1086, 0, 0, 0, 1211, 0, 1213, 0, 0, 0, 0, 0, 0, 0, 1638, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1227, 0, 0, 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2964, 2965, 0, 0, 1230, 1187, 0, 1211, 1233, 0, 1236, 0, 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, 0, 2739, 0, 0, 0, 0, 2744, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 303, 2424832, 2433024, 0, 0, 2457600, 0, 1245, 0, 0, 0, 0, 0, 1245, 0, 0, 1136, 1245, 0, 1252, 534, 534, 534, 534, 534, 534, 3279, 534, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3514, 556, 556, 556, 580, 534, 534, 1258, 534, 534, 534, 534, 1264, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3455, 534, 534, 3457, 556, 556, 556, 534, 534, 1285, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1296, 534, 534, 534, 534, 534, 534, 3341, 534, 534, 534, 534, 534, 534, 534, 534, 556, 580, 3607, 3608, 3609, 534, 556, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 333, 0, 0, 333, 0, 0, 333, 0, 0, 0, 534, 534, 1301, 534, 534, 534, 534, 534, 534, 534, 534, 1308, 534, 534, 534, 1315, 1317, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2149, 534, 1339, 534, 1341, 901, 1343, 556, 556, 556, 556, 556, 1350, 556, 556, 556, 556, 556, 556, 2225, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2244, 556, 556, 556, 556, 2248, 556, 1356, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1377, 556, 556, 556, 556, 556, 556, 2241, 556, 2243, 556, 556, 556, 556, 556, 556, 556, 1425, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 556, 556, 556, 556, 1400, 556, 556, 556, 1407, 1409, 556, 556, 556, 556, 556, 556, 1386, 556, 556, 556, 556, 556, 556, 556, 1395, 556, 1480, 580, 580, 580, 580, 1485, 580, 580, 580, 580, 580, 580, 580, 580, 1492, 580, 580, 580, 580, 2352, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2628, 580, 580, 580, 580, 580, 580, 1499, 1501, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2878, 580, 580, 2881, 1550, 0, 0, 0, 1556, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 2957312, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, 0, 0, 0, 0, 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0, 0, 1179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2094, 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 0, 1580, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 0, 0, 373, 0, 65536, 0, 0, 0, 1601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1677, 0, 0, 0, 0, 0, 0, 1619, 0, 0, 0, 0, 0, 0, 0, 1627, 1628, 0, 0, 0, 0, 0, 1604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254407, 0, 0, 0, 0, 0, 0, 0, 0, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 386, 0, 0, 0, 1685, 0, 0, 0, 0, 0, 1689, 0, 0, 1692, 0, 0, 0, 0, 0, 0, 3143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2756, 0, 0, 2759, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1705, 0, 1707, 1681, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1719, 534, 534, 534, 534, 534, 1791, 534, 534, 534, 534, 534, 534, 1341, 0, 556, 556, 556, 556, 556, 2295, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 2666, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1446, 580, 580, 580, 580, 580, 580, 534, 534, 534, 1725, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1736, 534, 534, 534, 534, 534, 2179, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2143, 534, 2145, 534, 534, 534, 534, 534, 534, 1740, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1751, 534, 534, 534, 534, 534, 2207, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1403, 556, 556, 556, 556, 556, 556, 556, 556, 1408, 556, 556, 556, 556, 556, 556, 556, 534, 534, 1756, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2172, 534, 534, 2002, 580, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 696, 0, 0, 2019, 2020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 0, 0, 0, 2055, 2056, 0, 0, 2058, 2059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2617344, 0, 0, 0, 0, 2081, 0, 0, 0, 0, 2084, 2085, 0, 0, 0, 0, 0, 2091, 0, 0, 0, 0, 0, 0, 3259, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 534, 849, 534, 534, 534, 534, 534, 534, 534, 2152, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2161, 534, 534, 534, 534, 534, 534, 3452, 534, 3454, 534, 534, 3456, 534, 556, 556, 556, 556, 3509, 556, 556, 556, 556, 556, 556, 556, 556, 556, 580, 580, 580, 580, 580, 580, 0, 0, 0, 3595, 534, 534, 2164, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2174, 534, 534, 534, 2191, 534, 534, 534, 2194, 534, 534, 534, 534, 2199, 534, 534, 534, 534, 534, 534, 1759, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1732, 534, 534, 534, 534, 534, 534, 556, 2237, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2246, 556, 556, 2249, 556, 556, 2277, 556, 556, 556, 556, 2281, 556, 556, 556, 556, 2286, 556, 556, 556, 556, 556, 1808, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2608, 556, 556, 556, 556, 556, 580, 2324, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2333, 580, 580, 2336, 580, 580, 2364, 580, 580, 580, 580, 2368, 580, 580, 580, 580, 2373, 580, 580, 580, 580, 580, 2665, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1979, 580, 580, 580, 580, 580, 2398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2408, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 770, 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 534, 534, 2488, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2496, 534, 534, 534, 534, 534, 882, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 3411, 556, 556, 556, 3415, 556, 556, 534, 534, 2514, 534, 534, 2516, 534, 2517, 534, 534, 534, 534, 534, 534, 534, 2524, 534, 534, 2528, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2539, 556, 556, 2560, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3472, 580, 580, 556, 556, 556, 2575, 556, 556, 556, 2578, 556, 556, 2580, 556, 2581, 556, 556, 556, 556, 556, 1827, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1814, 556, 556, 556, 556, 1820, 580, 2646, 580, 2647, 580, 580, 580, 580, 580, 580, 580, 580, 2655, 580, 580, 2659, 0, 2696, 2697, 0, 0, 2700, 2701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3178496, 2670592, 0, 2744320, 0, 0, 2772, 534, 2775, 534, 534, 534, 534, 2780, 534, 534, 534, 2783, 534, 534, 534, 534, 534, 534, 534, 3002, 3003, 534, 534, 534, 534, 534, 534, 534, 534, 2494, 534, 534, 534, 534, 534, 534, 534, 534, 1744, 534, 534, 534, 1748, 534, 534, 1753, 2808, 534, 534, 534, 0, 0, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3358, 556, 556, 556, 556, 556, 2819, 556, 2822, 556, 556, 556, 556, 2827, 556, 556, 556, 2830, 556, 556, 556, 556, 556, 556, 2255, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2228, 556, 2230, 556, 556, 556, 556, 556, 556, 2857, 556, 556, 556, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 2652, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2868, 580, 2871, 580, 580, 580, 580, 2876, 580, 580, 580, 2879, 580, 580, 580, 580, 1034, 580, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 580, 580, 580, 580, 2906, 580, 580, 580, 534, 580, 556, 534, 534, 556, 556, 580, 580, 0, 0, 3112, 0, 3114, 0, 0, 0, 3118, 0, 0, 534, 534, 534, 534, 3013, 534, 534, 534, 534, 534, 556, 556, 556, 3021, 556, 556, 556, 556, 556, 2266, 2267, 556, 556, 556, 556, 556, 556, 2274, 556, 556, 0, 580, 580, 580, 580, 580, 580, 994, 580, 580, 1008, 580, 580, 580, 580, 580, 2341, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 0, 0, 733, 534, 580, 556, 0, 0, 3121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1693, 0, 0, 534, 3173, 534, 534, 534, 534, 534, 534, 534, 556, 556, 556, 556, 556, 556, 556, 2839, 556, 556, 556, 556, 556, 556, 556, 556, 1811, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3183, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3033, 556, 556, 556, 556, 3193, 556, 556, 556, 556, 556, 556, 3199, 556, 3201, 556, 556, 556, 556, 556, 0, 0, 0, 0, 580, 580, 580, 2303, 580, 2305, 580, 580, 580, 3228, 580, 3230, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 556, 556, 556, 580, 3423, 580, 3425, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2888, 580, 580, 580, 580, 580, 580, 0, 0, 0, 3248, 0, 0, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3334, 534, 534, 0, 3257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2982, 534, 534, 3264, 534, 534, 534, 3268, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1328, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3277, 534, 534, 534, 556, 556, 556, 556, 556, 3282, 556, 556, 556, 556, 556, 2294, 0, 0, 0, 580, 580, 580, 580, 580, 580, 580, 580, 3482, 580, 580, 3484, 580, 0, 0, 0, 556, 3286, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1883, 556, 3295, 556, 556, 556, 556, 580, 580, 580, 580, 580, 3301, 580, 580, 580, 3305, 580, 580, 580, 580, 2380, 534, 580, 556, 534, 534, 534, 534, 556, 556, 556, 556, 580, 580, 580, 580, 0, 534, 3601, 556, 3602, 580, 3603, 3489, 0, 0, 0, 534, 534, 534, 3496, 534, 534, 534, 534, 534, 534, 534, 534, 1265, 534, 534, 534, 534, 534, 534, 534, 3504, 556, 556, 556, 3508, 556, 556, 556, 556, 556, 556, 556, 556, 3516, 556, 580, 580, 580, 580, 2624, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1475, 580, 580, 580, 580, 580, 580, 3521, 580, 580, 580, 580, 580, 580, 580, 580, 3529, 580, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 122880, 122880, 0, 122880, 0, 2105631, 12290, 0, 3532, 0, 3534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 3540, 3541, 534, 534, 534, 534, 534, 2208, 0, 0, 0, 556, 556, 556, 556, 556, 556, 556, 1387, 556, 556, 556, 1391, 556, 556, 556, 556, 556, 357, 358, 0, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 0, 0, 0, 688, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, 735, 654, 467, 467, 481, 0, 0, 481, 358, 358, 358, 503, 358, 358, 358, 358, 467, 467, 599, 575, 575, 575, 575, 575, 575, 575, 599, 599, 599, 552, 599, 599, 599, 599, 599, 599, 599, 575, 575, 552, 575, 599, 575, 599, 1, 12290, 556, 556, 928, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 964, 556, 556, 556, 556, 556, 2294, 2615, 0, 0, 0, 0, 580, 580, 580, 580, 580, 534, 556, 580, 0, 0, 0, 0, 0, 0, 0, 0, 2924, 0, 0, 0, 0, 0, 0, 534, 534, 534, 891, 534, 556, 556, 556, 964, 556, 0, 580, 580, 580, 1038, 580, 580, 580, 580, 2636, 580, 2638, 580, 580, 580, 580, 2642, 580, 580, 580, 580, 0, 0, 0, 3440, 0, 0, 0, 3443, 0, 0, 534, 534, 78114, 1066, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 0, 0, 670, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2432, 0, 0, 0, 1184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2132, 2133, 534, 534, 1340, 1341, 901, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1353, 556, 556, 556, 556, 580, 3590, 580, 580, 580, 580, 0, 0, 0, 534, 534, 534, 534, 534, 534, 1713, 534, 534, 534, 534, 534, 534, 534, 2140, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2990, 534, 534, 534, 534, 534, 534, 556, 556, 1362, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3047, 556, 556, 556, 0, 1551, 0, 0, 0, 1557, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 1650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 1656, 0, 0, 0, 0, 0, 0, 0, 0, 1662, 0, 1664, 0, 0, 0, 0, 0, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 1, 12290, 534, 534, 1771, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2523, 534, 534, 556, 556, 1854, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1866, 556, 556, 556, 556, 932, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1815, 556, 556, 556, 556, 556, 1887, 556, 556, 556, 556, 556, 556, 26009, 0, 580, 580, 580, 580, 580, 580, 2312, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1488, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1924, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3073, 580, 580, 580, 580, 580, 1937, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1950, 580, 580, 580, 580, 2648, 580, 580, 580, 580, 580, 580, 580, 580, 2656, 580, 580, 580, 580, 580, 3231, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 580, 580, 580, 1973, 580, 580, 580, 580, 580, 580, 580, 580, 580, 1983, 580, 580, 580, 580, 1484, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3222, 580, 580, 580, 580, 0, 0, 0, 2043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 733, 1171, 0, 0, 534, 2151, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2795, 534, 2236, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2600, 2323, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3089, 580, 580, 580, 580, 2622, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3224, 580, 580, 2695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2120, 2734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2719, 534, 2774, 534, 2776, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2160, 534, 534, 534, 556, 2821, 556, 2823, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3190, 556, 556, 556, 580, 580, 580, 2870, 580, 2872, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2654, 580, 580, 580, 580, 580, 0, 0, 0, 0, 2933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 2981, 534, 556, 556, 556, 556, 3289, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3202, 556, 556, 556, 556, 580, 3308, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3314, 580, 580, 556, 556, 3589, 556, 580, 580, 580, 580, 3593, 580, 0, 0, 0, 534, 534, 534, 3152, 534, 534, 534, 534, 534, 534, 534, 3157, 534, 534, 534, 0, 0, 359, 0, 0, 0, 0, 0, 0, 364, 0, 292, 0, 0, 0, 0, 0, 0, 702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600960, 0, 0, 2768896, 2777088, 2781184, 0, 0, 369, 0, 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2040, 2041, 0, 600, 576, 576, 576, 576, 576, 576, 576, 600, 600, 600, 553, 600, 600, 600, 600, 600, 600, 600, 576, 576, 553, 576, 600, 576, 600, 1, 12290, 556, 923, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2234, 556, 556, 556, 556, 556, 1367, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3547, 3548, 556, 556, 580, 580, 580, 580, 580, 1500, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3102, 3103, 3104, 534, 1646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2748, 0, 0, 1684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2065, 0, 0, 580, 580, 580, 1938, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3223, 580, 580, 580, 0, 0, 0, 2723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 0, 0, 0, 2942, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2760, 0, 0, 0, 0, 3249, 0, 3250, 0, 0, 0, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 3333, 0, 534, 534, 534, 0, 0, 0, 360, 361, 362, 363, 0, 0, 364, 0, 292, 0, 0, 0, 0, 0, 0, 718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445, 0, 0, 0, 0, 0, 0, 361, 0, 360, 0, 0, 0, 69632, 73728, 0, 0, 0, 0, 427, 65536, 0, 0, 0, 0, 685, 534, 534, 838, 842, 845, 534, 853, 534, 534, 534, 868, 427, 427, 0, 427, 0, 361, 427, 450, 0, 0, 0, 0, 0, 0, 0, 0, 690, 691, 0, 364, 364, 364, 0, 0, 0, 0, 0, 491, 491, 0, 498, 498, 498, 498, 504, 505, 498, 498, 518, 518, 518, 518, 450, 450, 450, 450, 450, 450, 450, 450, 450, 518, 518, 518, 518, 518, 518, 518, 518, 554, 577, 554, 577, 554, 554, 577, 554, 601, 577, 577, 577, 577, 577, 577, 577, 601, 601, 601, 554, 601, 601, 601, 601, 601, 601, 601, 577, 577, 613, 618, 601, 618, 624, 1, 12290, 534, 534, 887, 534, 534, 556, 556, 960, 556, 556, 0, 580, 580, 1034, 580, 580, 580, 580, 1502, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2332, 580, 580, 580, 580, 534, 2513, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2806, 534, 534, 534, 534, 2542, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 556, 2216, 556, 2218, 556, 580, 2674, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 534, 580, 556, 534, 534, 534, 534, 534, 2491, 534, 534, 534, 534, 2495, 534, 534, 534, 534, 534, 0, 0, 0, 0, 556, 556, 2215, 556, 556, 556, 556, 602, 578, 578, 578, 578, 578, 578, 578, 602, 602, 602, 555, 602, 602, 602, 602, 602, 602, 602, 578, 578, 555, 578, 602, 578, 602, 1, 12290, 0, 0, 698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2410, 0, 0, 728, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2952, 0, 0, 0, 728, 0, 784, 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 0, 364, 364, 364, 0, 0, 0, 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3145, 3146, 0, 0, 0, 556, 924, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2260, 2261, 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2433, 0, 0, 534, 1300, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2548, 0, 0, 1418, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 2664, 580, 580, 580, 580, 2668, 580, 580, 580, 580, 580, 580, 1505, 580, 580, 1509, 580, 580, 580, 580, 580, 1515, 0, 0, 1553, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2082, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 0, 0, 0, 0, 0, 534, 534, 534, 534, 2167, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1733, 534, 534, 534, 534, 556, 556, 556, 2252, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3471, 580, 580, 580, 580, 580, 580, 2339, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3485, 0, 0, 3488, 2499, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2202, 0, 0, 0, 0, 736, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 1747, 534, 534, 534, 534, 1051, 534, 534, 892, 534, 1056, 556, 556, 965, 556, 0, 1061, 580, 580, 1039, 580, 580, 580, 580, 2885, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2680, 534, 580, 556, 534, 556, 556, 1420, 556, 556, 556, 556, 556, 556, 556, 556, 556, 26009, 1341, 975, 580, 580, 580, 580, 2894, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2900, 580, 580, 580, 580, 534, 534, 534, 534, 1726, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2144, 534, 534, 2148, 534, 1821, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2843, 580, 580, 1954, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 3313, 580, 580, 580, 580, 556, 2586, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 2288, 556, 556, 556, 556, 556, 2614, 0, 0, 0, 0, 0, 0, 580, 580, 580, 580, 580, 1039, 580, 580, 580, 580, 0, 0, 0, 534, 580, 556, 0, 0, 0, 0, 2957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 2979, 534, 534, 534, 2983, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 2498, 3065, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2889, 580, 580, 580, 580, 580, 3192, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 3035, 1134592, 0, 1134592, 0, 0, 0, 1134592, 1135007, 1135007, 0, 0, 0, 0, 0, 1135007, 0, 0, 0, 0, 700, 701, 0, 0, 0, 0, 0, 707, 0, 0, 0, 711, 0, 1134592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2718, 0, 0, 1134592, 1134592, 0, 0, 0, 0, 1135196, 1135196, 1135196, 1135196, 1134592, 1135196, 1135196, 1135196, 1135196, 1135196, 1135196, 0, 1134592, 1134592, 1134592, 1134592, 1135196, 1134592, 1135196, 1, 12290, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 0, 2125824, 2125824, 2125824, 2125824, 3137536, 2940928, 2940928, 2940928, 0, 0, 0, 0, 0, 2748416, 2879488, 0, 0, 0, 0, 0, 2113, 0, 0, 0, 2113, 0, 0, 2118, 2119, 0, 0, 0, 0, 0, 1180, 0, 0, 0, 1184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2474, 0, 1147348, 1147348, 1147348, 451, 451, 1147348, 451, 451, 451, 451, 451, 451, 451, 451, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 1147399, 0, 0, 0, 0, 0, 0, 0, 0, 768, 0, 0, 0, 0, 0, 0, 0, 451, 0, 0, 0, 0, 0, 1147348, 1147348, 1147348, 1147399, 1147399, 1147348, 1147399, 1147399, 1, 12290, 3, 0, 0, 0, 0, 0, 253952, 0, 0, 0, 253952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2950, 0, 0, 0, 0, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 0, 0, 0, 0, 792, 0, 0, 1159168, 0, 0, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1159168, 1, 12290, 3, 0, 0, 0, 0, 249856, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 163840, 0, 0, 0, 0, 65536, 0, 2125824, 3117056, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 0, 0, 974, 2125824, 2125824, 2125824, 2125824, 3149824, 2125824, 2428928, 2437120, 2125824, 2486272, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2625536, 2125824, 2125824, 2125824, 2125824, 2125824, 2125824, 2699264, 2125824, 2715648, 2125824, 2723840, 2125824, 0, 106496, 106496, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 0, 0, 106496, 0, 0, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 106496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2183168, 0, 0, 0, 0, 0, 0, 0, 0, 2134016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 695, 0, 0, 0, 0, 0, 3108864, 3198976, 0, 0, 3043328, 0, 3149824, 2936832, 0, 2760704, 0, 0, 0, 0, 0, 0, 0, 69632, 73728, 0, 369, 369, 0, 0, 65536, 369
|
|
];
|
|
|
|
XQueryParser.EXPECTED =
|
|
[ 127, 143, 342, 950, 172, 201, 188, 217, 769, 963, 247, 263, 279, 295, 311, 327, 1395, 373, 1083, 374, 374, 374, 374, 374, 374, 374, 374, 374, 419, 391, 407, 466, 435, 589, 1682, 909, 574, 156, 1220, 451, 495, 511, 527, 543, 559, 634, 1096, 678, 694, 755, 649, 785, 801, 817, 833, 849, 865, 881, 897, 937, 979, 995, 1023, 1039, 1055, 479, 1112, 1128, 1473, 1144, 1160, 1206, 1236, 357, 662, 1266, 709, 1282, 1292, 1308, 1324, 1339, 1355, 1411, 1427, 1443, 618, 1459, 724, 1489, 604, 1518, 1528, 231, 1070, 1544, 1560, 1576, 1592, 1622, 1250, 1638, 1654, 1606, 921, 1670, 739, 1698, 1714, 1820, 1190, 1730, 1746, 1502, 1758, 1774, 1790, 1806, 1175, 1850, 1860, 1836, 1009, 1370, 1876, 1385, 375, 1892, 1896, 1903, 1903, 1903, 1898, 1902, 1903, 1910, 1907, 1914, 1918, 1922, 1926, 1929, 1933, 1937, 1941, 1945, 4040, 4040, 4040, 4106, 4040, 4040, 2020, 2279, 4040, 1949, 4040, 4040, 4040, 2429, 2379, 4040, 4040, 4040, 4040, 2438, 4040, 4040, 3112, 2651, 3443, 2444, 1955, 1984, 1994, 1998, 4040, 4040, 4040, 4040, 4040, 2017, 2042, 4040, 4040, 4040, 2024, 2285, 2030, 2034, 4040, 4040, 4040, 4040, 4040, 2041, 4040, 4040, 3002, 2285, 2285, 2285, 2285, 2285, 2111, 1988, 1988, 1988, 1988, 1988, 1990, 1955, 1955, 1955, 1955, 1955, 2101, 3099, 1988, 1988, 1988, 1988, 1988, 2120, 1955, 1955, 1955, 1955, 1955, 2046, 2055, 4040, 4040, 2212, 2349, 4040, 4040, 4040, 4137, 3441, 4040, 4040, 4040, 4040, 3531, 4040, 2745, 1988, 1988, 1988, 2066, 1955, 1955, 1955, 1957, 2073, 4040, 4040, 2473, 3002, 2285, 2285, 2026, 1988, 1988, 3101, 1955, 1955, 1956, 2072, 4040, 2471, 4040, 2284, 2285, 3098, 1988, 1988, 2078, 1955, 2068, 2129, 2446, 3554, 2285, 2112, 1988, 2120, 1955, 2083, 2281, 2286, 1988, 2067, 2089, 2095, 2113, 2049, 2107, 3097, 2114, 2079, 3096, 3100, 2079, 3096, 2114, 2051, 2118, 2126, 2135, 2139, 2143, 2156, 2160, 2170, 2170, 2170, 2163, 2167, 2170, 2173, 2177, 2181, 2185, 2189, 2193, 2197, 2201, 2205, 2209, 2216, 4040, 4040, 4040, 2131, 4040, 4040, 4040, 2220, 4040, 2226, 4040, 2283, 2287, 1988, 1954, 2122, 2098, 1961, 4040, 4040, 4040, 1970, 4040, 2474, 1980, 4040, 2321, 3139, 4040, 2440, 3145, 4427, 2277, 3219, 2796, 3151, 3505, 3155, 4040, 3263, 3161, 2906, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4041, 2255, 2259, 2262, 2266, 2270, 2274, 3465, 2291, 4040, 4040, 4040, 4040, 3213, 2296, 2312, 2303, 2396, 2240, 2243, 2309, 2316, 2320, 2649, 4006, 4040, 2726, 2326, 3670, 4040, 4040, 4040, 4040, 2231, 3466, 4040, 4040, 4040, 3429, 2237, 4040, 2618, 3123, 2249, 2253, 3877, 2348, 4040, 4040, 4013, 2355, 4040, 2359, 4040, 4040, 4040, 4040, 3173, 2321, 2227, 2367, 3192, 4040, 4040, 2459, 4040, 4040, 3192, 4040, 4040, 4348, 2989, 2882, 2918, 3129, 2349, 4040, 3014, 2311, 2670, 2331, 3577, 4417, 2336, 2379, 4040, 4040, 2549, 2340, 4040, 4040, 4040, 2984, 4040, 4040, 4040, 4040, 3591, 2979, 4040, 4040, 4040, 3390, 4180, 4419, 3131, 4040, 3190, 3194, 4040, 2950, 2989, 2918, 3210, 4040, 2469, 2788, 3212, 4040, 4005, 3283, 3279, 4282, 4040, 3281, 4226, 4226, 2601, 4283, 3283, 3283, 1966, 3282, 3279, 1966, 4227, 3283, 4191, 2462, 2478, 4040, 4040, 4040, 4040, 2588, 2522, 4040, 4040, 4040, 2007, 2858, 2484, 3025, 2492, 2495, 2498, 2502, 2503, 2507, 2511, 2515, 4040, 2521, 4040, 4040, 2526, 4040, 3968, 2913, 2541, 2545, 3867, 2553, 2563, 2574, 2578, 4040, 3387, 3385, 4040, 2582, 4040, 3458, 2587, 4040, 3120, 4040, 4040, 4040, 3174, 2074, 2409, 2537, 2432, 4040, 4040, 4040, 2536, 2416, 4040, 2373, 2377, 4040, 4040, 4040, 4040, 4255, 2378, 4040, 4040, 4040, 4040, 4256, 2379, 4040, 2838, 3503, 4040, 4040, 4040, 4040, 2839, 3504, 3974, 3509, 4040, 4040, 3730, 3536, 4040, 3349, 2906, 4040, 3326, 2556, 3181, 3383, 3394, 3403, 4040, 4397, 4040, 3553, 3551, 3545, 4040, 2668, 2912, 3478, 3399, 2548, 2592, 3456, 3471, 2600, 4040, 4040, 4040, 4242, 4040, 3147, 4040, 3818, 4040, 4037, 3923, 3990, 3561, 4003, 4040, 2655, 4039, 4040, 4040, 4040, 3167, 4040, 4040, 4040, 3331, 3171, 4040, 4040, 4040, 4040, 3632, 3179, 4040, 2638, 2611, 2615, 4040, 2388, 2622, 4040, 4040, 4040, 4040, 2389, 2349, 4040, 4040, 4040, 2397, 2390, 4040, 4040, 4040, 3141, 4040, 4040, 3846, 4040, 4040, 2630, 2517, 4070, 2637, 2412, 2989, 4040, 4040, 4040, 4040, 2344, 4040, 4040, 4040, 4040, 4040, 3269, 2989, 2380, 3207, 4040, 3463, 4040, 4040, 4040, 3861, 3470, 4040, 4040, 4040, 3475, 4040, 3482, 4040, 4040, 2631, 3905, 4040, 4040, 4040, 4040, 2631, 3905, 2424, 3909, 4040, 2152, 2595, 3785, 3915, 2631, 4365, 2642, 4040, 4040, 4040, 4040, 4085, 2646, 4040, 4040, 4040, 4040, 4085, 2646, 4040, 4040, 2464, 4040, 4040, 2285, 2285, 2285, 2285, 2025, 1988, 1988, 1988, 1988, 1988, 2120, 3610, 3833, 4040, 4040, 4040, 4365, 2656, 4040, 4040, 4040, 2660, 2665, 3980, 2516, 3196, 2674, 2678, 3830, 2685, 4040, 4040, 3830, 2685, 4040, 4040, 2299, 2690, 4040, 3184, 3458, 2004, 3969, 3197, 3312, 3251, 2696, 4040, 2037, 2690, 4040, 3251, 2696, 4040, 2702, 2709, 3195, 4000, 2713, 2717, 4040, 2715, 4040, 2679, 2723, 4040, 2730, 2734, 2739, 3644, 4040, 2705, 2583, 3646, 2583, 2749, 2753, 2704, 3203, 2944, 2566, 2570, 2956, 2945, 3843, 2568, 2568, 2761, 3815, 3641, 2765, 3607, 2769, 2773, 2775, 2779, 2783, 2787, 4040, 4040, 4040, 3316, 4040, 4040, 3564, 2792, 3570, 2800, 2804, 2808, 2810, 2814, 2818, 2821, 2823, 2824, 4040, 4040, 3315, 4040, 3428, 2828, 3896, 3248, 2833, 2843, 2434, 2453, 3918, 2849, 2907, 2853, 4040, 2150, 2148, 4040, 4040, 4040, 4040, 2405, 2349, 4040, 4040, 4040, 4040, 2405, 2349, 4040, 4040, 4040, 4040, 2362, 3442, 4040, 4040, 4040, 4040, 2363, 3773, 3950, 4040, 4040, 4040, 2857, 4040, 2559, 2968, 3853, 2862, 2937, 4379, 2869, 3988, 3295, 4040, 2873, 4040, 4040, 4040, 3554, 2285, 2285, 2285, 2285, 1987, 1988, 1988, 1988, 1989, 1955, 1955, 1955, 1955, 1956, 2103, 4040, 4040, 4040, 2472, 4040, 2109, 2285, 2285, 2285, 2113, 3527, 2877, 4040, 4040, 4040, 2886, 2890, 4040, 4040, 4040, 4040, 2980, 4040, 3336, 2829, 3897, 2895, 2899, 4040, 2911, 2917, 4040, 4040, 2922, 4040, 4040, 4040, 4040, 2844, 2923, 4040, 4040, 2626, 4289, 4040, 3453, 3038, 4353, 4386, 3183, 4040, 4040, 4041, 4370, 4040, 4040, 2845, 2924, 4040, 4040, 4040, 4040, 4040, 2990, 4040, 2558, 2928, 4420, 2935, 4040, 2943, 2949, 4040, 2970, 2954, 4040, 4040, 4040, 4040, 3855, 2960, 4040, 4040, 4040, 4040, 3855, 2960, 4040, 4040, 4040, 4040, 3389, 4040, 2966, 3897, 2974, 2327, 4275, 4040, 3590, 2978, 4040, 3535, 3379, 3488, 3521, 3230, 4040, 4040, 3540, 4040, 4040, 4040, 3439, 4040, 4040, 4040, 4364, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4378, 4040, 4040, 4040, 2605, 4040, 4040, 2245, 4040, 4040, 3459, 4040, 4040, 4038, 3923, 4040, 2013, 3616, 2411, 4040, 3631, 2988, 4040, 4040, 3631, 2988, 4040, 4040, 4040, 2994, 4040, 4040, 2350, 4262, 2381, 3617, 4040, 4040, 4346, 4040, 4040, 3000, 4040, 4040, 4346, 4040, 2350, 4208, 3615, 2881, 4040, 2795, 3174, 3112, 3180, 3024, 3111, 3180, 3180, 3933, 3014, 3113, 3113, 3006, 3181, 3014, 3013, 3014, 3175, 4047, 3018, 3029, 3053, 4040, 4040, 4040, 4040, 3634, 4040, 4221, 4040, 3650, 4040, 4040, 4040, 4040, 2631, 3651, 4040, 4040, 4040, 4040, 3648, 4287, 4291, 4040, 4010, 4017, 4303, 4022, 2632, 3182, 4040, 4032, 4040, 1950, 4012, 4040, 2865, 4045, 4051, 3043, 3047, 4064, 3061, 3065, 3069, 3073, 3077, 3081, 3105, 3084, 4040, 4040, 3633, 4040, 4040, 3443, 2444, 4040, 4040, 4040, 2450, 4040, 4040, 4040, 4349, 4040, 4040, 3014, 3276, 2487, 2961, 2691, 4276, 3109, 1976, 3117, 3127, 3289, 3135, 3305, 4040, 3324, 3322, 4040, 4040, 3734, 3779, 3739, 3744, 3969, 4040, 3748, 3754, 3761, 3943, 3887, 3765, 4057, 4040, 2488, 2962, 2692, 3163, 3224, 3188, 3412, 4040, 4040, 2085, 3201, 4040, 4040, 4040, 4040, 2343, 3217, 3223, 3228, 4040, 4040, 4040, 3234, 4040, 4040, 4040, 4040, 4040, 3238, 4040, 4040, 4040, 4040, 3422, 4040, 2529, 2686, 4354, 3245, 4040, 4040, 4040, 4342, 4040, 4040, 4040, 4040, 1972, 4040, 4040, 4040, 4040, 4040, 3255, 4040, 4040, 4040, 3423, 3952, 2686, 4355, 3261, 4040, 4040, 3267, 4040, 4040, 4040, 1974, 4040, 4040, 4040, 3273, 4040, 4220, 3981, 2680, 4356, 3895, 4040, 3287, 4040, 4040, 3293, 4040, 4040, 2062, 4040, 4220, 3953, 3299, 2146, 4040, 3303, 4040, 2607, 4040, 4040, 2061, 4040, 4248, 3309, 3894, 3498, 4040, 4360, 4040, 4040, 4040, 4369, 4040, 4374, 3056, 4383, 3622, 4040, 4040, 4390, 4040, 4040, 4424, 2742, 4040, 2633, 4040, 3056, 4040, 3039, 3157, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 2455, 4325, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 3320, 4040, 3330, 3911, 3335, 3629, 3588, 4213, 3943, 3587, 4213, 4213, 4040, 3341, 3589, 3589, 3628, 4214, 3341, 3340, 3341, 3630, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 4040, 3836, 2349, 3347, 4040, 3354, 3001, 4080, 4404, 3358, 3362, 3366, 3369, 3373, 3373, 3377, 4040, 4040, 3835, 4091, 3410, 4040, 4040, 3416, 4040, 4040, 3420, 3427, 4040, 3433, 4040, 4331, 3447, 4040, 4040, 3797, 4040, 3795, 4040, 4040, 4345, 4040, 2350, 1964, 4040, 2879, 4040, 3397, 4040, 2904, 4040, 3350, 3488, 4040, 3486, 2535, 3492, 3496, 4040, 4040, 4040, 3502, 4040, 4040, 4040, 4127, 4028, 2010, 4131, 4141, 4145, 4149, 4153, 4157, 4161, 4165, 4169, 4173, 4134, 4377, 4293, 2534, 3516, 4040, 4040, 4040, 2839, 3504, 4040, 4040, 4040, 4040, 2931, 3442, 4040, 3450, 4040, 2902, 4040, 3799, 4363, 3520, 4196, 3525, 3406, 2349, 2757, 2305, 2996, 4393, 4347, 3544, 4040, 3549, 4040, 4040, 3549, 4040, 4040, 3558, 2756, 2305, 4077, 4395, 3960, 4040, 3568, 4040, 3823, 2349, 4040, 3997, 3750, 3574, 3884, 3961, 4269, 4040, 4270, 4040, 3581, 3944, 3585, 3595, 3931, 3600, 2001, 3930, 3604, 3604, 4211, 3614, 3932, 3621, 3626, 3662, 3638, 3655, 3656, 3660, 3667, 3674, 3678, 3682, 3685, 4040, 4040, 4040, 3840, 2596, 3740, 3850, 2668, 2332, 3343, 4040, 3859, 4040, 4040, 4040, 2233, 3865, 2891, 3735, 2465, 2351, 3690, 3698, 3874, 3702, 3705, 3709, 3713, 3717, 3721, 3725, 3729, 4040, 2423, 2421, 3241, 3772, 4040, 4040, 2939, 3777, 3783, 3789, 3793, 4136, 2698, 3342, 2633, 2425, 3803, 4040, 4040, 3808, 2349, 4040, 4040, 4186, 3812, 4040, 4040, 4040, 3009, 3822, 3827, 4040, 3871, 2532, 4318, 3881, 4040, 3891, 3773, 4040, 4040, 4040, 4040, 3901, 4040, 4040, 4040, 4040, 4040, 2385, 4040, 4040, 4040, 4040, 3014, 4040, 2394, 4040, 2401, 2379, 4035, 3922, 4040, 4040, 2292, 3927, 4040, 4040, 4040, 4040, 3937, 4040, 4040, 4040, 4040, 2091, 3941, 3948, 4040, 3957, 3757, 3966, 2835, 3112, 4040, 4040, 2222, 3979, 4040, 4040, 2719, 3973, 2632, 3183, 3021, 4040, 4055, 4040, 4061, 2419, 4040, 3023, 4068, 4074, 4084, 4112, 4089, 4095, 3596, 4100, 4308, 4099, 4104, 4110, 4099, 4113, 4119, 3257, 4117, 4123, 4040, 4040, 4040, 4040, 4177, 4184, 2836, 3686, 4190, 3693, 4195, 4200, 4410, 4205, 4218, 4040, 3090, 2735, 4225, 3093, 4231, 4040, 4040, 4040, 3631, 4235, 2661, 4040, 2681, 4429, 2369, 4040, 4239, 4040, 4040, 4040, 4040, 3804, 4246, 4040, 4040, 4040, 4252, 4040, 4040, 4040, 2631, 4260, 4266, 4040, 4040, 4040, 4025, 4185, 2837, 2686, 2480, 4274, 4040, 4280, 4040, 4040, 4040, 4040, 4201, 3978, 4018, 4303, 3768, 4040, 3050, 4040, 4040, 3985, 4040, 4040, 3994, 4040, 4322, 4385, 4329, 4040, 4040, 4040, 4040, 4335, 4040, 4040, 4040, 4040, 3663, 4339, 4040, 4040, 4297, 4040, 3057, 3087, 4301, 3962, 3032, 4040, 4040, 4040, 4040, 2624, 4307, 4040, 4040, 4040, 4040, 2624, 4312, 4315, 4040, 2322, 3436, 2837, 2058, 4040, 4040, 3035, 4040, 4401, 4408, 3694, 4040, 4040, 3512, 4040, 2631, 4414, 4040, 3511, 4558, 4433, 6024, 6027, 4439, 4466, 4468, 4468, 4446, 4455, 4467, 4468, 4468, 4468, 4468, 4468, 4468, 4473, 4468, 4468, 4463, 4457, 4459, 4479, 4477, 4483, 4468, 4469, 4493, 4496, 4506, 4510, 4524, 4519, 4511, 4500, 4502, 4502, 4518, 4519, 4498, 4515, 4523, 4528, 4532, 4536, 4539, 4547, 4546, 4543, 4551, 4554, 4556, 4566, 5097, 4574, 6086, 5003, 5101, 5101, 5101, 4593, 4599, 4602, 4602, 4602, 4602, 4608, 4640, 4568, 4622, 4628, 5101, 4434, 5101, 5099, 5101, 6713, 5101, 6256, 5101, 5101, 4584, 5992, 5101, 5101, 4729, 5101, 5473, 6277, 5101, 5007, 4602, 5693, 4609, 5696, 5699, 5699, 5699, 5699, 4601, 4602, 5699, 4602, 4619, 4621, 4623, 4627, 6087, 5101, 4434, 6165, 6164, 5101, 5101, 6380, 6242, 5096, 5101, 4576, 5101, 6463, 5101, 5101, 5635, 4488, 5366, 6275, 5101, 4581, 5101, 4590, 5411, 5123, 5123, 5123, 5697, 5699, 4603, 4621, 4621, 4622, 4627, 4627, 4628, 5101, 4583, 5448, 6513, 5474, 5101, 5008, 5101, 5101, 4602, 4632, 5123, 5699, 4602, 4602, 4602, 5704, 5121, 4602, 4621, 4627, 5101, 4583, 6563, 5101, 4584, 6017, 5101, 5101, 5699, 5701, 4602, 4602, 4602, 4632, 4640, 5705, 5101, 5101, 5101, 4734, 5700, 4602, 4602, 4602, 5705, 4643, 5701, 5101, 5101, 4824, 5651, 4602, 4650, 5101, 5101, 4824, 6512, 5010, 5695, 5123, 5123, 5698, 5690, 4602, 4608, 5696, 5700, 5703, 5101, 4602, 5101, 5101, 5121, 5123, 5123, 5123, 5699, 5699, 5699, 5702, 5123, 5698, 5699, 5702, 4602, 4602, 5704, 4607, 4602, 5705, 5123, 5697, 5704, 5101, 5101, 4816, 4822, 5699, 4602, 5704, 5695, 5698, 5702, 5694, 5701, 4651, 4652, 4650, 5101, 4592, 5101, 5101, 5815, 5567, 5101, 5101, 5106, 6519, 6761, 6550, 6560, 4662, 4695, 4656, 4660, 4693, 4666, 4673, 4670, 4680, 4684, 4691, 4693, 4693, 4693, 4693, 4694, 4676, 4699, 4693, 4703, 4708, 4714, 4704, 4726, 4740, 4744, 4687, 4751, 4753, 4748, 4787, 4789, 4789, 4791, 4757, 4759, 4761, 4763, 4776, 4776, 4770, 4767, 4774, 4717, 4675, 4710, 4780, 4784, 4795, 4797, 4801, 4805, 4809, 5101, 4592, 6198, 6202, 4990, 5007, 5230, 6461, 5101, 6373, 5101, 5101, 4824, 6698, 4831, 5101, 5101, 5101, 4736, 5108, 5108, 5101, 5101, 4826, 6485, 5490, 5979, 4838, 5101, 4720, 4985, 5101, 4720, 5101, 5101, 4853, 5311, 4857, 5333, 4876, 4902, 4906, 4906, 4906, 4906, 4908, 4915, 4917, 4912, 4921, 4925, 4928, 4931, 4934, 4939, 4938, 4943, 4944, 4959, 4949, 4948, 4953, 4956, 4963, 5101, 5107, 5101, 4892, 5101, 5007, 5101, 5101, 5695, 5123, 5123, 5123, 5123, 5696, 5699, 5988, 5101, 5101, 5101, 4825, 5300, 5101, 5608, 5101, 4811, 5449, 6426, 4969, 5101, 5101, 4988, 6219, 5101, 5018, 4987, 5101, 5101, 4860, 5101, 5101, 4995, 5015, 5101, 6412, 5034, 5101, 5101, 5101, 4893, 6751, 6138, 5101, 5101, 5101, 4894, 6729, 5101, 5101, 5101, 4965, 5055, 5068, 5081, 5086, 5091, 5076, 5095, 5101, 4824, 5933, 5929, 5376, 5087, 4434, 5101, 5101, 5101, 4979, 5008, 6409, 5996, 5101, 5999, 5151, 5987, 5376, 5101, 4826, 6502, 6738, 6204, 5101, 6730, 5101, 5101, 4891, 5101, 4570, 5101, 5115, 5127, 5074, 4442, 5096, 5101, 5101, 5101, 4975, 5538, 5411, 5986, 5281, 5101, 4840, 5628, 5355, 5382, 4434, 4736, 5101, 4973, 5101, 5101, 5101, 4840, 5687, 5132, 5075, 5140, 5890, 5072, 5076, 5141, 6462, 4888, 5101, 5101, 4895, 5101, 5343, 5073, 6582, 4451, 5101, 4894, 5101, 5101, 6416, 5101, 5101, 5101, 6191, 5101, 5415, 5892, 5074, 6583, 5096, 5101, 5101, 4898, 5999, 5411, 5280, 5101, 5101, 4974, 4978, 5134, 5157, 5101, 5101, 5007, 5101, 5132, 5075, 5159, 5101, 4897, 5101, 5871, 4980, 5101, 5949, 5135, 5159, 5101, 4976, 5101, 5101, 5010, 5101, 5101, 5169, 4434, 5101, 5101, 5009, 5101, 5101, 5101, 4613, 4614, 4975, 5101, 4614, 5101, 5411, 4978, 6164, 6391, 5101, 4977, 6380, 5395, 5376, 5188, 4872, 5243, 5197, 5197, 5194, 5197, 5199, 5203, 5205, 5207, 5209, 5209, 5209, 5213, 5213, 5213, 5213, 5214, 5213, 5213, 5215, 5219, 5221, 5101, 5101, 5101, 5036, 5101, 5059, 5063, 5372, 5101, 5101, 5101, 6378, 6010, 5101, 4978, 6569, 5101, 4980, 5101, 5417, 5101, 5101, 5101, 5891, 5074, 5240, 5101, 5351, 6463, 5247, 5101, 5101, 5257, 5101, 5101, 5101, 5068, 5263, 6448, 5875, 5101, 4981, 5101, 5101, 5876, 6281, 5416, 5275, 4435, 5874, 5101, 4990, 6089, 5406, 5410, 5101, 5265, 5407, 5285, 5101, 5101, 5297, 6402, 5101, 5101, 5304, 5309, 5101, 5101, 5101, 5057, 5371, 5101, 5101, 5101, 5059, 5330, 4833, 5427, 5101, 5010, 4978, 5101, 5415, 5358, 5101, 5101, 5101, 5100, 5883, 5359, 5101, 5101, 5102, 6015, 4893, 5258, 5101, 5342, 5432, 5101, 5348, 5101, 5024, 6570, 5977, 5382, 4434, 5101, 5101, 5102, 6113, 5726, 5101, 6379, 5101, 5101, 5101, 5102, 5101, 5101, 6462, 5101, 4561, 5876, 5101, 6422, 6426, 5381, 6381, 6423, 6427, 5382, 5101, 5031, 5101, 5101, 4866, 4885, 4811, 5438, 6425, 5399, 6381, 5479, 5101, 5101, 5101, 5104, 5106, 5060, 5064, 5101, 5035, 5101, 5101, 5051, 5101, 5350, 5101, 5879, 4896, 5431, 5101, 5101, 5101, 5106, 5101, 4975, 5471, 5101, 5101, 5101, 5107, 6430, 5101, 5101, 5101, 5108, 4890, 6429, 6381, 5101, 5101, 5102, 6446, 5479, 5101, 5101, 5453, 5269, 5410, 5101, 4614, 5101, 5101, 6380, 5153, 5101, 5101, 5732, 5268, 5470, 5101, 5101, 5102, 6697, 5459, 5468, 6381, 5101, 5041, 5046, 5045, 5478, 5101, 5101, 5453, 4614, 5101, 5101, 5101, 5111, 6088, 5350, 5877, 5413, 5538, 5101, 5101, 5047, 5047, 5047, 5461, 5101, 6088, 6119, 5106, 5267, 5271, 5101, 5047, 6213, 5101, 5101, 5404, 4990, 5404, 5408, 5404, 4990, 5404, 5962, 5423, 5961, 5101, 6084, 5423, 5233, 6104, 5101, 4990, 5232, 5230, 5101, 5232, 4989, 5232, 5232, 5232, 5231, 6488, 5101, 5101, 5101, 5168, 5876, 5722, 5483, 4434, 5099, 5101, 5101, 6498, 6279, 5487, 5101, 4886, 6166, 5489, 5856, 5494, 5500, 5498, 5504, 5504, 5504, 5504, 5506, 5513, 5510, 5517, 5519, 5519, 5519, 5521, 5519, 5525, 5525, 5525, 5525, 5527, 6280, 5415, 5319, 5672, 5101, 5005, 6438, 5101, 5101, 5103, 5101, 5101, 5101, 6361, 6199, 5571, 5101, 5101, 5101, 5176, 5626, 6498, 5551, 5101, 6442, 5561, 5101, 5814, 5566, 5575, 5101, 5101, 5101, 5181, 6167, 5004, 6438, 5101, 5102, 6092, 6381, 5580, 5101, 5101, 5004, 6127, 5600, 5863, 5606, 5862, 5605, 5101, 5101, 5235, 5101, 5101, 5101, 5424, 5102, 6128, 5601, 5864, 5607, 5101, 5101, 5101, 5224, 5101, 6167, 5101, 5006, 6440, 5101, 5569, 5101, 5102, 6180, 5148, 5101, 5101, 5996, 5101, 6283, 5464, 5101, 5101, 5101, 5228, 5101, 5620, 5101, 5101, 5101, 5232, 5176, 5626, 6753, 5665, 5101, 5101, 5632, 5321, 4434, 5101, 5102, 6362, 6200, 5027, 5562, 5101, 5570, 5101, 5101, 5223, 5746, 5463, 5101, 5101, 5101, 5266, 4989, 5621, 5101, 5101, 5101, 5278, 6754, 5666, 5101, 5101, 5265, 5407, 6755, 5376, 5101, 5101, 4990, 5101, 5612, 5415, 5320, 6393, 5101, 5101, 5176, 5639, 5646, 4577, 5568, 5410, 5640, 5664, 5101, 5101, 5101, 5293, 5175, 5639, 5663, 5376, 5659, 5376, 5101, 5101, 5101, 4980, 5657, 5676, 5101, 5101, 5288, 5037, 5658, 5101, 5101, 5101, 5411, 5123, 5098, 5101, 5423, 5101, 5102, 6471, 6477, 5098, 5101, 5424, 5101, 5101, 5426, 5098, 5424, 5101, 5102, 6558, 5101, 5101, 5101, 6393, 5101, 5426, 5424, 5568, 5424, 5233, 5101, 5101, 5102, 6562, 5101, 5104, 5101, 5101, 5101, 4974, 6215, 5710, 4879, 5101, 6496, 5376, 5101, 5105, 5101, 5424, 5424, 5099, 5101, 5105, 5101, 5101, 5101, 5720, 4722, 5730, 5742, 5751, 5757, 5766, 5764, 5767, 5755, 5761, 5771, 5774, 5776, 5778, 5790, 5782, 5785, 5789, 5790, 5791, 5796, 5795, 5801, 5797, 5806, 5101, 5108, 4976, 5101, 5110, 6702, 5101, 5111, 6707, 5101, 5123, 5123, 5123, 5698, 5699, 5699, 5700, 4602, 5801, 5802, 5801, 5801, 4998, 5101, 5098, 5101, 5101, 5425, 5101, 5101, 5812, 5819, 5557, 5101, 5145, 5281, 5101, 4844, 5876, 4852, 5595, 5101, 4888, 5101, 5950, 5136, 4434, 5101, 4615, 5101, 5101, 5823, 5848, 5941, 5101, 5101, 5363, 5101, 5472, 5373, 5101, 5101, 5386, 5101, 5860, 4888, 5868, 5887, 5011, 5011, 5101, 5101, 5414, 5101, 6528, 5376, 5101, 5101, 5414, 6347, 5545, 5908, 6527, 4732, 5904, 6529, 5101, 5101, 5423, 5101, 5101, 5100, 5942, 5101, 5101, 5101, 5426, 5101, 5101, 5101, 5479, 5912, 5924, 5101, 5101, 5423, 5163, 5158, 5101, 5101, 5101, 4989, 5101, 5350, 5929, 5376, 5101, 5101, 5454, 5270, 6215, 5393, 5374, 5101, 5168, 5173, 5101, 5101, 5101, 5021, 5109, 5101, 5411, 5101, 5853, 5101, 6347, 5101, 5100, 5101, 5102, 5947, 5925, 5101, 5101, 5530, 4980, 4811, 5650, 5954, 5376, 4812, 5959, 5955, 5101, 5184, 5539, 6436, 5879, 5098, 5102, 5538, 5101, 6166, 5101, 5102, 5447, 5442, 4585, 5993, 5101, 5101, 5538, 6089, 5099, 4592, 5101, 5101, 5546, 5903, 4584, 5993, 5101, 5101, 5649, 5940, 5102, 4586, 5994, 5101, 5231, 4887, 5101, 4974, 5100, 5101, 5101, 6712, 5101, 5101, 4584, 5995, 5101, 5101, 5706, 5898, 4585, 5995, 5101, 5101, 5808, 5101, 5106, 5101, 5413, 6346, 5102, 6004, 5101, 5101, 5833, 5840, 6392, 5107, 5412, 5876, 4894, 5152, 5101, 5035, 5576, 5101, 5101, 5106, 6016, 5101, 5101, 5837, 5841, 5101, 5101, 5338, 5101, 6015, 5101, 5101, 5101, 5547, 5412, 5101, 5101, 5101, 5612, 5101, 6161, 5101, 5101, 5101, 5679, 5101, 5101, 6367, 5101, 5101, 5842, 6096, 5101, 6282, 5101, 4486, 6021, 6046, 6045, 6046, 6046, 6043, 6046, 6050, 6054, 6058, 6062, 6071, 6066, 6070, 6071, 6071, 6075, 6075, 6075, 6075, 6078, 6082, 5101, 5101, 5842, 6097, 5103, 5234, 5101, 5101, 5880, 5305, 5101, 5101, 5047, 5101, 5101, 6102, 5109, 6108, 5101, 5236, 5101, 5101, 5325, 5101, 6117, 5101, 6123, 5101, 5249, 6209, 6202, 5101, 6493, 5101, 5101, 5897, 5101, 5101, 6142, 6181, 5096, 5843, 6097, 5101, 5101, 5966, 5101, 5101, 5996, 5101, 5101, 5101, 5876, 5103, 6174, 5101, 5101, 5416, 5421, 5101, 5101, 5251, 6200, 6204, 5101, 5101, 5101, 5949, 6147, 6152, 6000, 4980, 4980, 4980, 5101, 5292, 4635, 5101, 5299, 5101, 5101, 5058, 5062, 5371, 6361, 5737, 5101, 5101, 5975, 4848, 5988, 6137, 5101, 5101, 5101, 5882, 5102, 5734, 5738, 5101, 5317, 6462, 5349, 6382, 5101, 6160, 6159, 5101, 6173, 5101, 5101, 5999, 5101, 5101, 6667, 5106, 4894, 6247, 4978, 5101, 5101, 6004, 5101, 6361, 6199, 6203, 5101, 5101, 5101, 5896, 6382, 6382, 5101, 5101, 6111, 5418, 5101, 5101, 6668, 4893, 6186, 5101, 6769, 5879, 5101, 5101, 5529, 6188, 5101, 5101, 6126, 5599, 5102, 6197, 6201, 6205, 5419, 6182, 4434, 5101, 5101, 6089, 5252, 6201, 6205, 5585, 5101, 5101, 5101, 6007, 6455, 4450, 5101, 5101, 6133, 5101, 5101, 5101, 5695, 6454, 4449, 4434, 5101, 5350, 5101, 5878, 5101, 6280, 4886, 4988, 6229, 5101, 5101, 6162, 4614, 5101, 6378, 4434, 5101, 5375, 5101, 4562, 6229, 5101, 4978, 6214, 6161, 4980, 5101, 5101, 6162, 5101, 5101, 5101, 5655, 5640, 6234, 5101, 5101, 5101, 6089, 5101, 6258, 4434, 6240, 5101, 6258, 4434, 5101, 5404, 5962, 5101, 5102, 5437, 6424, 6235, 5101, 5101, 5568, 5410, 5101, 5101, 6236, 5101, 6165, 5101, 5101, 5101, 6259, 5101, 5101, 6164, 5101, 5101, 5101, 5648, 5849, 5942, 5101, 6260, 5101, 6165, 5101, 5405, 5409, 5101, 5057, 5268, 5409, 5101, 5101, 5102, 6742, 5253, 5101, 5101, 5101, 6260, 5101, 5101, 6259, 5101, 6167, 6258, 5101, 5101, 5101, 6112, 6259, 5101, 6259, 6165, 4847, 5987, 5376, 5568, 6497, 6259, 5568, 6497, 6168, 6257, 6257, 6261, 6251, 6254, 6254, 5101, 5101, 5101, 6169, 5118, 5101, 5916, 5101, 5414, 5538, 5101, 5101, 5918, 4896, 5553, 4884, 5037, 6272, 6287, 6305, 6299, 6305, 6303, 6299, 6309, 6293, 6290, 6295, 6322, 6313, 6327, 6316, 6319, 6323, 6332, 6331, 6339, 6339, 6340, 6339, 6339, 6339, 6336, 6344, 5101, 5101, 5101, 6178, 5224, 5747, 5376, 5101, 5101, 5415, 5101, 5101, 6351, 4893, 4893, 4882, 5230, 5001, 5101, 6372, 5101, 5101, 6214, 4980, 5101, 6357, 5969, 5101, 5417, 5419, 6353, 6366, 4434, 5101, 6371, 6390, 6397, 6401, 5101, 5418, 4636, 5647, 6434, 5101, 5101, 5101, 6192, 5943, 5101, 5008, 5101, 4978, 5101, 4979, 5101, 5416, 5101, 6351, 4893, 5419, 6352, 4894, 6268, 6367, 5002, 5101, 5101, 6279, 5641, 5101, 5101, 5290, 5101, 6452, 5101, 5101, 5101, 6223, 5101, 6470, 6459, 6480, 6475, 6479, 6205, 5101, 5423, 5407, 5101, 5057, 5061, 5390, 6481, 5101, 5101, 5101, 6228, 5589, 5588, 5587, 5101, 5436, 5442, 6428, 5402, 5101, 5101, 5102, 6143, 6182, 5106, 5745, 6520, 5101, 5455, 5409, 5101, 5057, 5061, 5370, 6267, 5101, 5410, 5101, 5535, 5101, 5101, 5177, 5640, 5423, 5999, 5101, 5101, 6360, 5736, 6738, 6204, 5101, 5101, 6378, 5101, 5224, 5077, 5101, 5008, 6265, 5555, 5101, 5415, 5070, 5082, 5622, 5101, 5101, 6278, 6165, 5233, 5101, 5377, 6377, 6386, 5103, 5101, 5679, 5101, 5538, 5101, 5101, 5101, 5534, 5538, 4826, 5935, 6737, 6204, 4827, 5936, 6535, 6204, 6191, 6191, 5101, 5101, 6378, 6393, 5232, 5101, 5036, 5101, 5543, 5259, 5326, 6190, 5101, 5101, 5101, 6278, 5443, 6506, 4434, 5101, 5568, 6236, 5101, 5101, 5568, 5101, 5102, 6511, 5134, 6507, 5164, 4451, 5101, 5101, 6392, 5101, 6165, 5101, 6192, 6192, 6192, 5101, 5101, 6378, 6392, 5101, 5101, 6517, 5376, 5101, 5583, 5101, 5101, 5101, 6011, 6524, 5101, 6278, 5101, 5101, 5101, 5037, 6155, 5101, 5101, 5101, 6382, 6533, 6549, 5101, 5101, 5101, 6379, 6393, 5101, 6544, 6381, 5101, 5593, 5101, 5101, 5229, 5634, 5101, 6676, 6549, 5101, 5616, 6230, 5101, 5351, 5877, 4895, 5411, 5432, 5101, 5101, 5101, 5031, 5101, 6675, 6548, 5101, 5101, 5101, 6391, 5101, 6539, 5426, 5101, 5101, 5417, 5920, 4896, 5101, 5648, 6722, 5416, 6462, 5101, 5562, 5101, 6554, 6381, 5101, 5680, 5101, 5101, 6381, 5101, 5101, 5101, 5101, 4583, 5101, 6540, 5425, 5101, 5426, 5101, 5101, 6709, 5417, 4895, 5102, 4595, 5101, 5101, 6406, 5101, 4594, 5403, 6540, 5101, 5714, 5003, 4991, 6090, 6568, 5101, 5101, 6464, 4988, 5101, 6091, 6381, 5101, 5842, 5037, 5998, 5996, 5996, 5413, 4893, 5101, 5101, 5101, 6419, 5101, 6091, 5101, 5101, 6492, 6491, 5101, 6091, 5101, 4895, 4561, 4896, 5101, 5101, 6090, 6089, 4896, 5101, 5101, 6494, 6256, 4559, 5101, 5101, 6090, 5101, 5101, 6090, 4561, 6089, 4561, 5101, 6089, 4560, 5537, 6089, 5101, 5537, 6574, 6752, 4888, 4577, 5716, 5997, 6579, 5101, 5844, 5037, 5101, 5101, 5101, 6196, 5101, 6462, 6465, 6463, 4869, 5826, 5829, 6587, 4489, 4646, 6598, 6591, 6597, 6593, 6605, 6602, 6607, 6611, 6613, 6617, 6619, 6628, 6625, 6632, 6621, 6635, 6639, 6640, 6644, 6647, 6654, 6653, 6651, 6658, 6661, 6665, 5101, 6574, 6723, 5101, 5876, 6281, 5670, 5418, 5421, 5101, 5101, 5101, 6469, 5107, 5101, 4975, 5101, 4976, 6672, 5101, 5101, 5101, 6682, 6494, 5101, 5101, 5101, 6695, 6680, 5313, 6686, 5101, 5877, 5684, 4434, 6246, 5101, 5101, 6163, 5101, 5101, 5101, 6692, 5101, 5101, 6495, 5101, 5101, 6703, 5101, 5101, 5101, 6713, 5101, 5101, 6718, 6717, 4834, 6722, 5101, 5418, 5422, 5101, 6727, 6734, 5101, 5881, 5357, 5337, 6746, 5101, 5101, 5101, 6495, 6378, 5101, 6222, 6745, 5101, 5889, 5128, 5074, 4442, 6224, 6747, 5101, 5877, 5615, 5671, 5876, 5101, 5879, 5101, 5899, 6230, 5101, 5101, 6089, 5101, 5101, 4892, 5101, 5412, 5002, 6734, 5101, 5101, 6711, 5101, 5101, 5253, 5101, 5877, 5877, 5877, 5101, 5101, 5101, 6771, 5101, 5101, 6575, 5642, 4635, 5411, 6089, 5101, 4889, 5258, 5101, 5252, 4561, 5101, 5101, 6090, 5252, 4561, 5876, 5876, 5101, 5101, 5101, 5914, 6353, 6148, 5106, 4974, 5101, 5101, 5972, 5101, 4989, 5101, 6165, 5425, 5101, 6688, 5107, 5101, 6111, 5724, 6759, 5725, 4561, 5101, 5101, 5983, 5994, 5101, 5190, 5879, 5101, 5101, 5101, 5344, 5376, 5106, 5101, 5101, 5413, 6463, 5879, 5102, 6775, 6767, 5101, 5101, 5997, 5101, 5101, 5101, 4811, 4583, 6765, 5101, 5101, 5101, 5101, 6098, 5420, 5101, 5998, 5101, 5101, 5101, 4818, 5109, 5101, 5413, 5537, 5101, 5101, 6165, 5101, 6111, 6564, 5101, 5998, 5101, 6769, 5101, 5101, 6132, 6137, 5101, 6098, 5101, 5101, 6033, 6031, 6039, 5105, 5101, 5109, 5101, 4863, 5101, 6776, 5101, 5101, 5101, 6035, 4434, 5101, 6161, 5536, 5101, 5036, 5102, 5101, 5101, 6088, 5101, 5101, 5412, 6089, 1048576, 1073741824, 0, 0, 0, -872415232, 4194560, 4196352, 270532608, 2097152, 4194304, 117440512, 134217728, 4194304, 16777216, 4194432, 3145728, 16777216, 134217728, 536870912, 1073741824, 0, 541065216, 541065216, -2143289344, -2143289344, 4194304, 4194304, 4196352, -2143289344, 4194304, 4194432, 37748736, 541065216, -2143289344, 4194304, 4194304, 4194304, 4194304, 37748736, 4194304, 4194304, 4198144, 4196352, 8540160, 4194304, 4194304, 4194304, 4196352, 276901888, 4194304, 4194304, 8425488, 4194304, 1, 0, 1024, 1024, 0, 1024, 742391808, 239075328, -1405091840, 742391808, 742391808, 775946240, 239075328, 171966464, 775946240, 171966464, 171966464, 171966464, 171966464, -1405091840, 775946240, 775946240, -1405091840, -1371537408, 775946240, 775946240, 775946240, 171966464, 239075328, 239075328, 171966464, 775946240, -1371537408, 775946240, 775946240, -1371537408, 239075328, 775946240, 775946240, 775946240, 775946240, 4718592, 64, 4718592, 2097216, 4720640, 541589504, 4194368, 541589504, 4194400, 4194368, 541065280, 4194368, -2143289280, 4194368, -2143285440, -2143285408, -2143285408, -2109730976, -2143285408, -2143285408, -2143285408, -2143285408, 776470528, -2143285408, -2109730976, 775946336, 775946304, 776470528, 775946304, -1908404384, 2, 4, 8, 262144, 0, 0, 0, 0x80000000, 8, 262144, 262144, 1048576, 0, 128, 4096, 0, 4194304, 128, 128, 0, 1048576, 0, 0, 1536, 1792, 0, 0, 1, 2, 4, 128, 2097152, 8192, 8392704, 0, 0, 1, 4, 8, 262144, 536870912, 64, 64, 32, 96, 96, 96, 96, 128, 1536, 524288, 96, 64, 524288, 524288, 1536, 1024, 0, 0, 0, 29, 96, 1048576, 128, 128, 128, 128, 2048, 2048, 2048, 2048, 2048, 2048, 0, 96, 524288, 96, 64, 0, 0, 128, 1024, 524288, 64, 64, 96, 96, 524288, 524288, 4100, 1024, 100680704, 96, 524288, 64, 96, 524288, 64, 80, 528, 524304, 1048592, 2097168, 268435472, 16, 16, 2, 536936448, 16, 262160, 16, 536936448, 16, 17, 17, 20, 16, 48, 16, 16, 20, 560, 24, 560, 48, 2097680, 3145744, 1048592, 1048592, 2097168, 16, 1049104, 2228784, 2097168, 2097168, 16, 16, 16, 16, 20, 48, 48, 3146256, 2097680, 1048592, 16, 16, 16, 28, 0, 2097552, 3146256, 16, 16, 16, 21, 16, 16, 28, 16, 0, 16, 0, -2046820352, 0, 0, 2, 2, 2, 2098064, 17, 21, 266240, 1048576, 67108864, 0x80000000, 0, 0, 64, 65536, 1048576, 0, 16, 16, 163577856, 17, 528, 528, 16, 528, -161430188, -161429676, -161429676, -161430188, -161429680, -161430188, -161430188, -161429680, -161429676, -161349072, -161429675, -161349072, -161349072, -161349072, -161349072, -161347728, -161347728, -161347728, -161347728, -161298572, -160774288, -160299084, -161298572, -161298576, -160299088, -161298576, -160774284, -160774284, -161298572, -161298572, -161298572, -161298572, 112, 21, 53, 146804757, 146812949, 146862101, 146863389, -161429676, -160905388, -161429676, -161429676, -161429676, -161429676, -161429675, -161349072, 146863421, 148960541, 146863389, 146863389, 148960541, 146863421, 148960541, 148960541, -161429740, -161429676, -160905388, -161298572, -161298572, -18860267, -160774284, -18729163, 0, 0, 1, 6, 8, 16, 262144, 0, 0, 1, 8, 0, 24, 0, 0, 1, 14, 16, 32, 1024, 32768, 100663296, -1073741824, 0, 0, 0, 150528, 131072, 16777216, 0, 0, 1, 102, 1, 32768, 131328, 131072, 524288, 2097152, 8388608, 16777216, 164096, 0, 0, 0, 1007, 0, 1073741825, 0x80000000, 0x80000000, 1073741824, 8, 0, 0, 58368, 0, 0, 65536, 1048576, 4096, 1048576, 512, 512, 9476, 134218240, 0, 1073741824, 2621440, 1073741824, 0x80000000, 0x80000000, 0, 0, 66048, 0, 0, 0, 67108864, 0, 0, 0, 16384, 0, 0, 0, 8, 0, 0, 0, 9, 4456448, 8, 16777216, 1073774592, 1226014816, 100665360, 100665360, 100665360, 100665360, -2046818288, 1091799136, 1091799136, 1091803360, 1091799136, 1091799136, -2044196848, 1091799136, 1091799136, 1091799136, 1091799136, 1091799136, 1158908000, 1158908001, 1192462432, 1192462448, 1192462448, 1192462448, 1192462448, 1200851056, 1091799393, 1200851056, 1200851056, 1091799393, 1200851056, 1200851056, 1200851056, 1192462448, 1870638912, 1870638912, 1870655296, 1870638912, 1870655296, 1870655296, 1870655296, 1870655296, 1870655296, 1870655312, 1870655316, 1870655316, 1870655316, 1870655317, 1870655348, 1870655316, 1870655316, 1870655312, 1870655312, 1879027568, 1879043952, 1870655316, 1870655316, 1870655316, 1870638928, 1879043952, 1879043956, 0, 0, 1, 12288, 0, 229440, 1048576, 1224736768, 100663296, 0, 0, 0, 1024, 0, 0, 8192, 0, 0, 0, 576, 0, 231488, 1090519040, 0, 0, 0, 2048, 0, 0, 134217728, 0, 1157627904, 1191182336, 0, 0, 131584, 268435456, 49152, 0, 0, 0, 134217728, 0, 0, 0, 16, 0, 0, 0, 13, 0, 9437184, 231744, 0, 0, 235712, 0, 0, 131328, 0, 0, 131072, 32768, 0, 0, 134217728, 0, 520000, 7864320, 1862270976, 0, 0, 0, 4096, 0, 0, 0, 1862270976, 1862270976, 1862270976, 0, 16252928, 0, 0, 0, 8192, 64, 98304, 1048576, 150994944, 83886080, 117440512, 0, 0, 2, 4, 16, 32, 256, 1024, 8192, 33554432, 0, 0, 64, 256, 3584, 8192, 16384, 65536, 262144, 524288, 1048576, 2097152, 4194304, 0x80000000, 8192, 98304, 393216, 524288, 1048576, 1048576, 2097152, 4194304, 251658240, 536870912, 8192, 16384, 98304, 393216, 251658240, 536870912, 1073741824, 0, 0, 2097152, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 240, 0, 83886080, 117440512, 64, 0, 2, 0, 0, 524288, 524288, 524288, 524288, 256, 1536, 2048, 8192, 16384, 256, 1536, 8192, 65536, 262144, 524288, 2097152, 67108864, 4194304, 16777216, 100663296, 134217728, 536870912, 524288, 2097152, 134217728, 268435456, 536870912, 1073741824, 0, 0, 524288, 2097152, 0, 0, 1048576, 2097152, 67108864, 1073741824, 0, 0, 1536, 65536, 262144, 524288, 33554432, 0, 1024, 65536, 262144, 2097152, 2097152, 1073741824, 0, 0, 2, 8, 16, 32, 0, 8192, 4096, 0, 0, 605503, 1066401792, 9476, 512, 0, 32, 384, 8192, 4194312, 4194312, 541065224, 4194312, 4194312, 4194312, 4194312, 4194344, -869654016, -869654016, 4203820, -869654016, -869654016, -869654016, -869654016, 1279402504, 1279402504, 1279402504, 1279402504, 2143549415, 2143549415, 2143549415, 2143549415, 2143549423, 2143549423, 2143549423, 2143549423, 2143549423, 2143549423, 0, 0, 2, 16384, 32768, 260, 512, 0, 0, 0, 65536, 0, 0, 0, 384, 8192, 0, 32, 512, 0, 1050624, 262144, 512, 1275208192, 139264, 1275068416, 0, 0, 4, 128, 1024, 2048, 16384, 262144, 8, 4194304, 0, 0, 0, 82432, 0, 40, 0, 0, 4, 256, 1024, 98304, 131072, 16777216, 268435456, 0, 0, 300, 4203520, 0, 0, 2097152, 1073741824, 0x80000000, 0, 0, 520, 4333568, 1275068416, 0, 0, 4194304, 1024, 0, 4096, 8192, 0, 0, 0, 520, 520, 0, 0, 0, 164096, 999, 29619200, 2113929216, 0, 0, 0, 1007, 1007, 1007, 0, 0, 8, 124160, 32, 512, 0, 2048, 524288, 0, 536870912, 0, 139264, 0, 0, 0, 139264, 0, 40, 0, 2621440, 0, 0, 0x80000000, 1610612736, 0, 0, 0, 229376, 0, 40, 0, 524288, 2097152, 1073741824, 44, 0, 0, 0, 262144, 0, 0, 16384, 229376, 4194304, 25165824, 100663296, 402653184, 1610612736, 0, 110, 110, 110, 0, 0, 8388608, 8388608, 8192, 33554432, 67108864, 134217728, 1073741824, 0, 0x80000000, 0, 0, 0, 12545, 25165824, 33554432, 67108864, 402653184, 536870912, 0, 104, 104, 104, 8192, 33554432, 134217728, 0, 0, 8388608, 134217728, 1073741824, 0, 229376, 25165824, 33554432, 402653184, 536870912, 0, 0, 256, 1024, 65536, 16777216, 268435456, 0, 0, 0, 524288, 0, 0, 0, 64, 0, 0, 0, 128, 0, 0, 0, 256, 0, 0, 0, 300, 524288, 2097152, 0x80000000, 0, 0, 1, 6, 32, 64, 256, 512, 256, 1024, 4096, 8192, 65536, 2, 4, 32, 64, 256, 1024, 0, 2, 4, 256, 1024, 65536, 4, 64, 256, 1024, 0, 0, 8, 8388608, 0, 98304, 131072, 25165824, 268435456, 536870912, 0, 0, 8388608, 4096, 0, 0, 8, 8, 8, 0, 2048, 524288, 67108864, 536870912, 32, 4100, 67108864, 0, 32768, 0, 32768, 0, 1049088, 0, 134348800, 270532608, 0, 1049088, 1049088, 8192, 1049088, 12845065, 12845065, 12845065, 12845065, 147193865, 5505537, 5591557, 5587465, 5587457, 5587457, 147202057, 5587457, 5587457, 5591557, 5587457, 13894153, 13894153, 13894153, 13894153, 81003049, 13894153, -1881791493, -1881791493, -1881791493, -1881791493, 0, 0, 8, 33554432, 262144, 0, 33554432, 1024, 0, 4, 0, 0, 0, 867647, 1, 5505024, 0, 0, 15, 16, 32, 192, 86528, 9, 0, 0, 16, 8192, 0, 0, 23, 0, 75497472, 0, 0, 0, 1048576, 5505024, -1887436800, 0, 0, 0, 2097152, 268435456, 0, 0, 4096, 8192, 67108864, 0, 0, 262144, 4194304, 8388608, 0, 0, 33554432, 8192, 0, 0, 288, 8388608, 0, 0, 0, 81920, 0, 0, 24, 282624, 64, 896, 8192, 131072, 262144, 1048576, 16777216, 33554432, -1946157056, 0, 0, 0, 2621440, 0, 131072, 0, 32, 0, 0, 2048, 3145728, 0, 16384, 65536, 0, 0, 268435456, 32, 64, 384, 512, 5120, 8192, 0, 64, 0, 2048, 1048576, 0, 0, 32, 64, 384, 8192, 131072, 0, 0, 32768, 134217728, 0, 0, 8, 32, 64, 1024, 2048, 0, 2, 8, 32, 384, 8192, 131072, 33554432, 131072, 1048576, 33554432, 134217728, 0x80000000, 0, 0, 2048, 524288, 536870912, 0, 1073741824, 0, 131072, 33554432, 0x80000000, 0, 0, 33554432, 1073741824, 0, 32, 0, 524288, 0, 0, 67108864, 64, 64, 0, 96, 96, 0, 524288, 524288, 524288, 64, 64, 64, 64, 96, 96, 96, 0, 0, 0, 28, 0, 8396800, 4194304, 134217728, 2048, 134217728, 0, 0, 32, 1, 0, 8396800, 0, 0, 32, 64, 128, 1024, 2048, 262144, 0, 16384, 0, 2, 4, 64, 128, 3840, 16384, 19922944, 2080374784, 0, 16384, 16384, 16777216, 16384, 32768, 1048576, 2097152, 4194304, 16777216, 524288, 268567040, 16384, 2113544, 68489237, 72618005, 68423701, 68423701, 68423701, 68489237, 68423701, -2079059883, -2079059947, 68423701, 85200917, 68423701, 68423701, 68423701, 68423701, 68423765, -2079059883, 68425749, 68423703, 69488664, 85200919, 69488664, 69488664, 69488664, 69488664, 70537244, 70537245, 70537245, 70537245, 70537309, 70537245, -2076946339, -2076946403, 70537245, -2076946339, 70537245, 70537245, 70537245, 70537245, 70539293, -2022351745, -2022351745, -2022351617, -2022351745, -2022351617, -2022351617, -2022351617, -2022351617, -2022351617, -2022351617, -2022351745, -2022351617, -2022351617, 0, 0, 40, 67108864, 331776, 83886080, 0, 0, 59, 140224, 5505024, 5242880, -2080374784, -2080374784, 268288, 29, 0, 284672, 0, 0, 68157440, 137363456, 0, 66, 66, 0, 63, 64, 351232, 63, 192, 351232, 7340032, -2030043136, 0, 0, 0, 4194304, 1, 1024, 32, 64, 256, 32768, 65536, 512, 131072, 268435456, 0, 0, 134348800, 134348800, 16, 4096, 262144, 1048576, 4194304, 8388608, 16777216, 33554432, 5242880, 0, 7, 0, 0, 142606336, 0, -872415232, 0, 0, 0, 131072, 0, 0, 0, 999, 259072, 4194304, 25165824, 0, 20480, 0, 0, 64, 256, 1536, 8192, 16384, 0, 12, 3145728, 0, 0, 0, 3145728, 64, 3072, 20480, 65536, 262144, 32, 192, 3072, 20480, 4, 1048576, 0, 0, 128, 131072, 0, 134218752, 0, 0, 128, 134217728, 5242880, 0, 6, 0, 0, 16384, 65536, 7340032, 50331648, 32, 192, 1024, 2048, 4096, 8192, 65536, 32768, 65536, 4194304, 16777216, 0x80000000, 0, 0, 1, 4, 0, 0, 256, 1536, 65536, 65536, 2097152, 4194304, 50331648, 0x80000000, 32, 192, 1024, 65536, 268435456, 0, 0, 32768, 4194304, 16777216, 0, 0, 184549376, 0, 0, 243269632, 0, 0, 32768, 131072, 131072, 0, 32768, 32768, 1, 2, 4, 2097152, 16777216, 134217728, 268435456, 1073741824, 0x80000000, 128, 2097152, 4194304, 50331648, 0, 0, 0, 8388608, 0, 0, 0, 768, 2, 4, 50331648, 0, 0, 536870912, 9216, 0, 0, 0, 49152, 2, 4, 128, 50331648, 0, 0, 4096, 4194304, 268435456, 0, 0, 1075838976, 2097152, 2097152, 268435456, 4194432, 268435968, 268435968, 1073743872, 268435968, 0, 128, 6144, 0, 229376, 128, 268435968, 268436032, 256, 256, 536871168, 256, 256, 256, 256, 257, 256, 384, -1879046336, -1879046334, 1073744256, -1879046334, -1879046326, -1879046334, -1879046334, -1879046326, -1879046326, -1845491902, -1878784182, 268444480, 268444480, 268436288, 268436288, 268436288, 268436288, 268436289, 268444480, 268444480, 268444480, 268444480, 2100318149, 2100318149, 2100318149, 2100318149, 2100326341, 2100326341, 2100318149, 2100326341, 2100326341, 0, 0, 256, 2048, 2048, 0, 0, 0, 4, 8, 262144, 134217728, 1, 1024, 0, 4096, 0, 64, 1856, 0x80000000, 0, 0, 256, 65536, 2432, 0, 1864, 0, 1, 2, 16, 32, 64, 0, 301989888, 0, 262144, 131072, 0, 0, 832, 8192, 0, 1, 2, 56, 64, 896, 0, 1, 4036, 19939328, 2080374784, 2080374784, 0, 0, 0, 16252928, 1, 16, 32, 128, 512, 2304, 0, 8, 0, 512, 301989888, 0, 0, 262144, 524288, 134217728, 536870912, 0, 24576, 0, 0, 0, 33554432, 0, 0, 0, 32768, 0, 0, 2097152, 134217728, 0, 32768, 196608, 0, 0, 0, 1, 128, 512, 2048, 524288, 268435456, 536870912, 0, 33554432, 262144, 8192, 0, 0, 256, 8388608, 0, 0, 1, 4, 128, 3584, 16384, 3145728, 16777216, 67108864, 134217728, 805306368, 1073741824, 0, 0, 1024, 2048, 16384, 3145728, 0, 8192, 0, 8192, 0, 536870912, 524288, 536870912, 1073741824, 0, 1, 2, 112, 128, 3072, 2048, 3145728, 16777216, 536870912, 1073741824, 0, 0, 2097152, 16777216, 1073741824, 0, 0, 0, 8192, 8192, 8192, 9216, 33554432, 32768, 33554432, 0, 0, 262144, 0, 16777216, 0, 16777216, 16777216, 16777216, 16777216, 0, 0, 2097152, 16777216, 0, 0, 16777216, 268500992, 4243456, 0, 0, 512, 65536, 0, 4096, 4096, 0, 4096, 4096, 4096, 4096, 0, 0, 0, 32, 0, 0, 0, 41, 0, 4243456, 4096, 12289, 1073754113, 12289, 12289, 1124073472, 12289, 12289, 1098920193, 1098920193, 1124073488, 1124073472, 1124073472, 1258292224, 1124073472, 1124073474, 1124073472, 1124073472, 1124073472, 1124073472, 1124073472, 1392574464, 1124073472, 12289, 1124085761, 1124085761, 1124085761, 1124085761, 1132474625, 1098920209, 1132474625, 1132474625, 1098920209, 1132474625, 1132474625, 1132474625, 1132474625, 1400975617, 1124085777, 1124085761, 1124085761, 1258304513, 2132360255, 2132360255, 2132622399, 2132360255, 2132622399, 2132622399, 2140749119, 2141011263, 2132622399, 2132622399, 2132622399, 2132622399, 2132360255, 2141011263, 2141011263, 0, 0, 512, 131072, 0, 128, 131072, 1024, 134217728, 0, 0, 0, 50331648, 1073741824, 0, 1, 4, 64, 128, 3584, 318767104, 0, 0, 0, 268435456, 0, 12289, 0, 0, 0, 159383552, 25165824, 0, 0, 0, 536870912, 0, 0, 0, 24576, 58720256, 0, 0, 12305, 13313, 0, 0, 0, 1073741824, 0, 0, 0, 12561, 0, 78081, 327155712, 0, 0, 0, 1275068416, 0, 605247, 1058013184, 1073741824, 1073741824, 8388608, 0, 0, 503616, 7864320, 867391, 1058013184, 1073741824, 0, 1, 6, 96, 384, 512, 1024, 4096, 8192, 16384, 229376, 25165824, 33554432, 268435456, 536870912, 0, 867647, 1066401792, 0, 0, 0, 512, 1048576, 0, 0, 9, 8388608, 12288, 0, 0, 0, 512, 2760704, 77824, 0, 0, 0, 1024, 2048, 3145728, 2048, 77824, 524288, 1048576, 0, 0, 0, 512, 0, 1048576, 0, 1, 30, 32, 1024, 2048, 1024, 2048, 339968, 524288, 1048576, 16777216, 100663296, 134217728, 805306368, 1073741824, 1024, 2048, 12288, 65536, 0, 65536, 0, 0, 19947520, 0, 0, 0, 16777216, 0, 0, 0, 5, 1024, 2048, 12288, 327680, 524288, 33554432, 134217728, 536870912, 1073741824, 14, 16, 1024, 4096, 8192, 229376, 0, 2, 16384, 4194304, 0x80000000, 0, 0, 0, 8, 0, 65536, 262144, 7340032, 50331648, 67108864, 0x80000000, 4096, 65536, 262144, 524288, 1048576, 33554432, 256, 0, 256, 0, 256, 1, 12, 1024, 134217728, 262144, 134217728, 536870912, 0, 0, 268435456, 1, 4, 8, 134217728, 4, 8, 536870912, 0, 2, 16, 64, 128, 0, 0, 262144, 536870912, 0, 0, 1073741824, 32768, 0, 8, 32, 512, 4096, 9437184, 0, 0, 1048576, 2097152, 4194304, 67108864, 134217728, 0, 1024, 137363456, 66, 25165824, 26214400, 92274688, 92274688, 25165952, 92274688, 25165824, 25165824, 92274688, 25165824, 25165824, 92274688, 92274688, 92274720, 92274688, 25165824, 92274688, 93323264, 25165890, 100721664, 100721664, 25165890, 100721928, 100721928, 100787464, 100853000, 100721928, 100721928, 125977600, 125977600, 125977600, 125977600, 127026176, 125977600, 125846528, 125846528, 125846560, 125846528, 125846528, 125846528, 126895104, 125846528, 125977600, 127026176, 125977600, 125977600, 127026176, 127026176, 281843, 281843, 1330419, 281843, 1330419, 281843, 1330419, 1330419, 281843, 281843, 281843, 5524723, 39079155, 72633587, 5524723, 5524723, 5524723, 5524723, 93605107, 72633587, 72633587, 92556531, 93605107, 127290611, 127290611, 97799411, 127290611, 131484915, 0, 0, 1536, 0x80000000, 0, 0, 17408, 33554432, 0, 1, 12, 1024, 262144, 0, 58624, 0, 0, 1536, 0, 189696, 0, 0, 0, 1792, 0x80000000, 0, 148480, 50331648, 0, 1, 14, 1024, 4096, 65536, 524288, 240, 19456, 262144, 0, 0, 19456, 262144, 0, 4194304, 0, 0, 1024, 2097152, 0, 0, 0, 150528, 0, 0, 0, 512, 4096, 8192, 131072, 0, 57344, 0, 0, 0, 2048, 100663296, 0, 0, 256, 0, 65536, 524288, 1048576, 33554432, 67108864, 2, 48, 64, 128, 3072, 16384, 262144, 0, 0, 32, 4096, 8192, 131072, 1048576, 8388608, 33554432, 134217728, 2048, 262144, 0, 0, 2048, 268435456, 16, 64, 128, 262144, 0, 0, 32768, 65536, 131072, 0, 1, 2, 16, 64, 0
|
|
];
|
|
|
|
XQueryParser.TOKEN =
|
|
[
|
|
"(0)",
|
|
"PragmaContents",
|
|
"DirCommentContents",
|
|
"DirPIContents",
|
|
"CDataSection",
|
|
"Wildcard",
|
|
"EQName",
|
|
"URILiteral",
|
|
"IntegerLiteral",
|
|
"DecimalLiteral",
|
|
"DoubleLiteral",
|
|
"StringLiteral",
|
|
"PredefinedEntityRef",
|
|
"'\"\"'",
|
|
"EscapeApos",
|
|
"ElementContentChar",
|
|
"QuotAttrContentChar",
|
|
"AposAttrContentChar",
|
|
"PITarget",
|
|
"NCName",
|
|
"QName",
|
|
"S",
|
|
"S",
|
|
"CharRef",
|
|
"CommentContents",
|
|
"EOF",
|
|
"'!'",
|
|
"'!='",
|
|
"'\"'",
|
|
"'#'",
|
|
"'#)'",
|
|
"'$'",
|
|
"'%'",
|
|
"''''",
|
|
"'('",
|
|
"'(#'",
|
|
"'(:'",
|
|
"')'",
|
|
"'*'",
|
|
"'*'",
|
|
"'+'",
|
|
"','",
|
|
"'-'",
|
|
"'-->'",
|
|
"'.'",
|
|
"'..'",
|
|
"'/'",
|
|
"'//'",
|
|
"'/>'",
|
|
"':'",
|
|
"':)'",
|
|
"'::'",
|
|
"':='",
|
|
"';'",
|
|
"'<'",
|
|
"'<!--'",
|
|
"'</'",
|
|
"'<<'",
|
|
"'<='",
|
|
"'<?'",
|
|
"'='",
|
|
"'>'",
|
|
"'>='",
|
|
"'>>'",
|
|
"'?'",
|
|
"'?>'",
|
|
"'@'",
|
|
"'NaN'",
|
|
"'['",
|
|
"']'",
|
|
"'after'",
|
|
"'all'",
|
|
"'allowing'",
|
|
"'ancestor'",
|
|
"'ancestor-or-self'",
|
|
"'and'",
|
|
"'any'",
|
|
"'append'",
|
|
"'array'",
|
|
"'as'",
|
|
"'ascending'",
|
|
"'at'",
|
|
"'attribute'",
|
|
"'base-uri'",
|
|
"'before'",
|
|
"'boundary-space'",
|
|
"'break'",
|
|
"'by'",
|
|
"'case'",
|
|
"'cast'",
|
|
"'castable'",
|
|
"'catch'",
|
|
"'check'",
|
|
"'child'",
|
|
"'collation'",
|
|
"'collection'",
|
|
"'comment'",
|
|
"'constraint'",
|
|
"'construction'",
|
|
"'contains'",
|
|
"'content'",
|
|
"'context'",
|
|
"'continue'",
|
|
"'copy'",
|
|
"'copy-namespaces'",
|
|
"'count'",
|
|
"'decimal-format'",
|
|
"'decimal-separator'",
|
|
"'declare'",
|
|
"'default'",
|
|
"'delete'",
|
|
"'descendant'",
|
|
"'descendant-or-self'",
|
|
"'descending'",
|
|
"'diacritics'",
|
|
"'different'",
|
|
"'digit'",
|
|
"'distance'",
|
|
"'div'",
|
|
"'document'",
|
|
"'document-node'",
|
|
"'element'",
|
|
"'else'",
|
|
"'empty'",
|
|
"'empty-sequence'",
|
|
"'encoding'",
|
|
"'end'",
|
|
"'entire'",
|
|
"'eq'",
|
|
"'every'",
|
|
"'exactly'",
|
|
"'except'",
|
|
"'exit'",
|
|
"'external'",
|
|
"'first'",
|
|
"'following'",
|
|
"'following-sibling'",
|
|
"'for'",
|
|
"'foreach'",
|
|
"'foreign'",
|
|
"'from'",
|
|
"'ft-option'",
|
|
"'ftand'",
|
|
"'ftnot'",
|
|
"'ftor'",
|
|
"'function'",
|
|
"'ge'",
|
|
"'greatest'",
|
|
"'group'",
|
|
"'grouping-separator'",
|
|
"'gt'",
|
|
"'idiv'",
|
|
"'if'",
|
|
"'import'",
|
|
"'in'",
|
|
"'index'",
|
|
"'infinity'",
|
|
"'inherit'",
|
|
"'insensitive'",
|
|
"'insert'",
|
|
"'instance'",
|
|
"'integrity'",
|
|
"'intersect'",
|
|
"'into'",
|
|
"'is'",
|
|
"'item'",
|
|
"'json'",
|
|
"'json-item'",
|
|
"'key'",
|
|
"'language'",
|
|
"'last'",
|
|
"'lax'",
|
|
"'le'",
|
|
"'least'",
|
|
"'let'",
|
|
"'levels'",
|
|
"'loop'",
|
|
"'lowercase'",
|
|
"'lt'",
|
|
"'minus-sign'",
|
|
"'mod'",
|
|
"'modify'",
|
|
"'module'",
|
|
"'most'",
|
|
"'namespace'",
|
|
"'namespace-node'",
|
|
"'ne'",
|
|
"'next'",
|
|
"'no'",
|
|
"'no-inherit'",
|
|
"'no-preserve'",
|
|
"'node'",
|
|
"'nodes'",
|
|
"'not'",
|
|
"'object'",
|
|
"'occurs'",
|
|
"'of'",
|
|
"'on'",
|
|
"'only'",
|
|
"'option'",
|
|
"'or'",
|
|
"'order'",
|
|
"'ordered'",
|
|
"'ordering'",
|
|
"'paragraph'",
|
|
"'paragraphs'",
|
|
"'parent'",
|
|
"'pattern-separator'",
|
|
"'per-mille'",
|
|
"'percent'",
|
|
"'phrase'",
|
|
"'position'",
|
|
"'preceding'",
|
|
"'preceding-sibling'",
|
|
"'preserve'",
|
|
"'previous'",
|
|
"'processing-instruction'",
|
|
"'relationship'",
|
|
"'rename'",
|
|
"'replace'",
|
|
"'return'",
|
|
"'returning'",
|
|
"'revalidation'",
|
|
"'same'",
|
|
"'satisfies'",
|
|
"'schema'",
|
|
"'schema-attribute'",
|
|
"'schema-element'",
|
|
"'score'",
|
|
"'self'",
|
|
"'sensitive'",
|
|
"'sentence'",
|
|
"'sentences'",
|
|
"'skip'",
|
|
"'sliding'",
|
|
"'some'",
|
|
"'stable'",
|
|
"'start'",
|
|
"'stemming'",
|
|
"'stop'",
|
|
"'strict'",
|
|
"'strip'",
|
|
"'structured-item'",
|
|
"'switch'",
|
|
"'text'",
|
|
"'then'",
|
|
"'thesaurus'",
|
|
"'times'",
|
|
"'to'",
|
|
"'treat'",
|
|
"'try'",
|
|
"'tumbling'",
|
|
"'type'",
|
|
"'typeswitch'",
|
|
"'union'",
|
|
"'unique'",
|
|
"'unordered'",
|
|
"'updating'",
|
|
"'uppercase'",
|
|
"'using'",
|
|
"'validate'",
|
|
"'value'",
|
|
"'variable'",
|
|
"'version'",
|
|
"'weight'",
|
|
"'when'",
|
|
"'where'",
|
|
"'while'",
|
|
"'wildcards'",
|
|
"'window'",
|
|
"'with'",
|
|
"'without'",
|
|
"'word'",
|
|
"'words'",
|
|
"'xquery'",
|
|
"'zero-digit'",
|
|
"'{'",
|
|
"'{{'",
|
|
"'{|'",
|
|
"'|'",
|
|
"'||'",
|
|
"'|}'",
|
|
"'}'",
|
|
"'}}'"
|
|
];
|
|
|
|
},{}],"/node_modules/xqlint/lib/tree_ops.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
exports.TreeOps = {
|
|
flatten: function(node){
|
|
var that = this;
|
|
var value = '';
|
|
if(!node) {
|
|
throw new Error('Invalid node found');
|
|
} else if (node.value === undefined) {
|
|
node.children.forEach(function(child){
|
|
value += that.flatten(child);
|
|
});
|
|
} else {
|
|
value += node.value;
|
|
}
|
|
return value;
|
|
},
|
|
|
|
concat: function(obj1, obj2, copy){
|
|
var result = copy ? {} : obj1;
|
|
if(copy){
|
|
Object.keys(obj1).forEach(function(key){
|
|
result[key] = obj1[key];
|
|
});
|
|
}
|
|
var keys = Object.keys(obj2);
|
|
keys.forEach(function(key){
|
|
result[key] = obj2[key];
|
|
});
|
|
return result;
|
|
},
|
|
|
|
removeParentPtr: function(ast){
|
|
if(ast.getParent !== undefined) {
|
|
delete ast.getParent;
|
|
}
|
|
for(var i in ast.children) {
|
|
var child = ast.children[i];
|
|
this.removeParentPtr(child);
|
|
}
|
|
},
|
|
|
|
inRange: function(p, pos, exclusive){
|
|
if(p && p.sl <= pos.line && pos.line <= p.el) {
|
|
if(p.sl < pos.line && pos.line < p.el) {
|
|
return true;
|
|
} else if(p.sl === pos.line && pos.line < p.el) {
|
|
return p.sc <= pos.col;
|
|
} else if(p.sl === pos.line && p.el === pos.line) {
|
|
return p.sc <= pos.col && pos.col <= p.ec + (exclusive ? 1 : 0);
|
|
} else if(p.sl < pos.line && p.el === pos.line) {
|
|
return pos.col <= p.ec + (exclusive ? 1 : 0);
|
|
}
|
|
}
|
|
},
|
|
|
|
findNode: function(ast, pos) {
|
|
if(!ast) {
|
|
return;
|
|
}
|
|
var p = ast.pos;
|
|
if(this.inRange(p, pos) === true) {
|
|
for(var i in ast.children) {
|
|
var child = ast.children[i];
|
|
var n = this.findNode(child, pos);
|
|
if(n !== undefined) {
|
|
return n;
|
|
}
|
|
}
|
|
return ast;
|
|
} else {
|
|
return;
|
|
}
|
|
},
|
|
|
|
astAsXML: function(node, indent){
|
|
var result = '';
|
|
indent = indent ? indent : '';
|
|
if(node.value) {
|
|
result += (indent + '<' + node.name + '>' + node.value + '</' + node.name + '>\n');
|
|
}
|
|
result += indent + '<' + node.name + '>\n';
|
|
var that = this;
|
|
node.children.forEach(function(child){
|
|
result += that.astAsXML(child, indent + ' ');
|
|
});
|
|
result += indent + '</' + node.name + '>\n';
|
|
return result;
|
|
}
|
|
};
|
|
},{}],"/node_modules/xqlint/lib/xqdoc/parse_comment.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
exports.parseComment = function(comment){
|
|
comment = comment.trim();
|
|
var isXQDoc = comment.substring(0, 3) === '(:~';
|
|
if(isXQDoc){
|
|
var lines = comment.split('\n');
|
|
var ann = {
|
|
description: ''
|
|
};
|
|
lines.forEach(function(line, index){
|
|
if(index === 0) {
|
|
line = line.substring(3);
|
|
}
|
|
line = line.trim();
|
|
if(line[0] === ':') {
|
|
line = line.substring(1);
|
|
}
|
|
line = line.trim();
|
|
ann.description += ' ' + line;
|
|
});
|
|
ann.description = ann.description.trim();
|
|
ann.description = ann.description.substring(0, ann.description.length - 2).trim();
|
|
return ann;
|
|
}
|
|
};
|
|
},{}],"/node_modules/xqlint/lib/xqdoc/xqdoc.js":[function(_dereq_,module,exports){
|
|
var _ = _dereq_('lodash');
|
|
var parseComment = _dereq_('./parse_comment').parseComment;
|
|
|
|
exports.XQDoc = function(ast){
|
|
'use strict';
|
|
|
|
var doc = {};
|
|
|
|
this.getDoc = function(){
|
|
return doc;
|
|
};
|
|
|
|
this.WS = function(node){
|
|
if(node.value.trim().substring(0, 3) === '(:~') {
|
|
node.getParent.comment = parseComment(node.value);
|
|
}
|
|
};
|
|
|
|
this.AnnotatedDecl = function(node){
|
|
this.visitChildren(node);
|
|
node.comment = node.getParent.comment;
|
|
node.getParent.comment = undefined;
|
|
};
|
|
|
|
this.XQuery = function(node){
|
|
this.visitChildren(node);
|
|
};
|
|
|
|
this.getXQDoc = function(sctx){
|
|
var doc = {
|
|
moduleNamespace: sctx.moduleNamespace,
|
|
description: sctx.description,
|
|
variables: [],
|
|
functions: []
|
|
};
|
|
|
|
_.forEach(sctx.variables, function(variable){
|
|
var varDecl = _.cloneDeep(variable.qname);
|
|
varDecl.annotations = variable.annotations;
|
|
varDecl.description = variable.description;
|
|
varDecl.type = variable.type;
|
|
varDecl.occurrence = variable.occurrence;
|
|
doc.variables.push(varDecl);
|
|
});
|
|
|
|
_.forEach(sctx.functions, function(fn, key){
|
|
if(key.substring(0, 'http://www.w3.org/2001/XMLSchema#'.length) === 'http://www.w3.org/2001/XMLSchema#') {
|
|
return;
|
|
}
|
|
|
|
var tokens = key.split('#');
|
|
doc.functions.push({
|
|
name: tokens[0],
|
|
uri: tokens[1],
|
|
params: fn.params
|
|
});
|
|
});
|
|
|
|
return doc;
|
|
};
|
|
|
|
this.visit = function (node) {
|
|
var name = node.name;
|
|
var skip = false;
|
|
|
|
if (typeof this[name] === 'function') {
|
|
skip = this[name](node) === true;
|
|
}
|
|
|
|
if (!skip) {
|
|
this.visitChildren(node);
|
|
}
|
|
};
|
|
|
|
this.visitChildren = function (node, handler) {
|
|
for (var i = 0; i < node.children.length; i++) {
|
|
var child = node.children[i];
|
|
if (handler !== undefined && typeof handler[child.name] === 'function') {
|
|
handler[child.name](child);
|
|
} else {
|
|
this.visit(child);
|
|
}
|
|
}
|
|
};
|
|
|
|
this.visit(ast);
|
|
};
|
|
|
|
},{"./parse_comment":"/node_modules/xqlint/lib/xqdoc/parse_comment.js","lodash":"/node_modules/xqlint/node_modules/lodash/index.js"}],"/node_modules/xqlint/lib/xqlint.js":[function(_dereq_,module,exports){
|
|
'use strict';
|
|
|
|
var _ = _dereq_('lodash');
|
|
|
|
var JSONiqParser = _dereq_('./parsers/JSONiqParser').JSONiqParser;
|
|
var XQueryParser = _dereq_('./parsers/XQueryParser').XQueryParser;
|
|
var JSONParseTreeHandler = _dereq_('./parsers/JSONParseTreeHandler').JSONParseTreeHandler;
|
|
var Translator = _dereq_('./compiler/translator').Translator;
|
|
var StyleChecker = _dereq_('./formatter/style_checker').StyleChecker;
|
|
var XQDoc = _dereq_('./xqdoc/xqdoc').XQDoc;
|
|
var completer = _dereq_('../lib/completion/completer');
|
|
var TreeOps = _dereq_('./tree_ops').TreeOps;
|
|
|
|
var createStaticContext = exports.createStaticContext = function(){
|
|
var StaticContext = _dereq_('./compiler/static_context').StaticContext;
|
|
return new StaticContext();
|
|
};
|
|
|
|
var convertPosition = function (code, begin, end) {
|
|
var before = code.substring(0, begin);
|
|
var after = code.substring(0, end);
|
|
var startline = before.split('\n').length;
|
|
var startcolumn = begin - before.lastIndexOf('\n');
|
|
var endline = after.split('\n').length;
|
|
var endcolumn = end - after.lastIndexOf('\n');
|
|
var pos = {
|
|
sl: startline - 1,
|
|
sc: startcolumn - 1,
|
|
el: endline - 1,
|
|
ec: endcolumn - 1
|
|
};
|
|
return pos;
|
|
};
|
|
|
|
exports.JSONiqLexer = _dereq_('./lexers/jsoniq_lexer').JSONiqLexer;
|
|
exports.XQueryLexer = _dereq_('./lexers/xquery_lexer').XQueryLexer;
|
|
exports.XQLint = function (source, opts) {
|
|
if(_.defaults) {
|
|
opts = _.defaults(opts ? opts : {}, { styleCheck: false });
|
|
}
|
|
|
|
var ast, xqdoc;
|
|
var sctx = opts.staticContext ? opts.staticContext : createStaticContext();
|
|
|
|
this.getAST = function () {
|
|
return ast;
|
|
};
|
|
|
|
this.printAST = function () {
|
|
return TreeOps.astAsXML(ast, ' ');
|
|
};
|
|
|
|
this.getXQDoc = function () {
|
|
return xqdoc.getXQDoc(sctx);
|
|
};
|
|
|
|
var markers = [];
|
|
this.getMarkers = function () {
|
|
return markers;
|
|
};
|
|
|
|
this.getMarkers = function(type){
|
|
var m = [];
|
|
markers.forEach(function(marker){
|
|
if(marker.type === type || type === undefined){
|
|
m.push(marker);
|
|
}
|
|
});
|
|
return m;
|
|
};
|
|
|
|
this.getErrors = function(){
|
|
return this.getMarkers('error');
|
|
};
|
|
|
|
this.getWarnings = function(){
|
|
return this.getMarkers('warning');
|
|
};
|
|
|
|
this.getCompletions = function(pos){
|
|
return completer.complete(source, ast, sctx, pos);
|
|
};
|
|
|
|
var syntaxError = false;
|
|
this.hasSyntaxError = function () {
|
|
return syntaxError;
|
|
};
|
|
|
|
var file = opts.fileName ? opts.fileName : '';
|
|
var isJSONiq = ((file.substring(file.length - '.jq'.length).indexOf('.jq') !== -1) && source.indexOf('xquery version') !== 0) || source.indexOf('jsoniq version') === 0;
|
|
var h = new JSONParseTreeHandler(source);
|
|
var parser = isJSONiq ? new JSONiqParser(source, h) : new XQueryParser(source, h);
|
|
try {
|
|
parser.parse_XQuery();
|
|
} catch (e) {
|
|
if (e instanceof parser.ParseException) {
|
|
syntaxError = true;
|
|
h.closeParseTree();
|
|
var pos = convertPosition(source, e.getBegin(), e.getEnd());
|
|
var message = parser.getErrorMessage(e);
|
|
if (pos.sc === pos.ec) {
|
|
pos.ec++;
|
|
}
|
|
markers.push({
|
|
pos: pos,
|
|
type: 'error',
|
|
level: 'error',
|
|
message: message
|
|
});
|
|
} else {
|
|
throw e;
|
|
}
|
|
}
|
|
ast = h.getParseTree();
|
|
if(opts.styleCheck) {
|
|
markers = markers.concat(new StyleChecker(ast, source).getMarkers());
|
|
}
|
|
xqdoc = new XQDoc(ast);
|
|
var translator = new Translator(sctx, ast);
|
|
markers = markers.concat(translator.getMarkers());
|
|
};
|
|
|
|
},{"../lib/completion/completer":"/node_modules/xqlint/lib/completion/completer.js","./compiler/static_context":"/node_modules/xqlint/lib/compiler/static_context.js","./compiler/translator":"/node_modules/xqlint/lib/compiler/translator.js","./formatter/style_checker":"/node_modules/xqlint/lib/formatter/style_checker.js","./lexers/jsoniq_lexer":"/node_modules/xqlint/lib/lexers/jsoniq_lexer.js","./lexers/xquery_lexer":"/node_modules/xqlint/lib/lexers/xquery_lexer.js","./parsers/JSONParseTreeHandler":"/node_modules/xqlint/lib/parsers/JSONParseTreeHandler.js","./parsers/JSONiqParser":"/node_modules/xqlint/lib/parsers/JSONiqParser.js","./parsers/XQueryParser":"/node_modules/xqlint/lib/parsers/XQueryParser.js","./tree_ops":"/node_modules/xqlint/lib/tree_ops.js","./xqdoc/xqdoc":"/node_modules/xqlint/lib/xqdoc/xqdoc.js","lodash":"/node_modules/xqlint/node_modules/lodash/index.js"}],"/node_modules/xqlint/node_modules/lodash/index.js":[function(_dereq_,module,exports){
|
|
(function (global){
|
|
;(function() {
|
|
var undefined;
|
|
var VERSION = '3.10.1';
|
|
var BIND_FLAG = 1,
|
|
BIND_KEY_FLAG = 2,
|
|
CURRY_BOUND_FLAG = 4,
|
|
CURRY_FLAG = 8,
|
|
CURRY_RIGHT_FLAG = 16,
|
|
PARTIAL_FLAG = 32,
|
|
PARTIAL_RIGHT_FLAG = 64,
|
|
ARY_FLAG = 128,
|
|
REARG_FLAG = 256;
|
|
var DEFAULT_TRUNC_LENGTH = 30,
|
|
DEFAULT_TRUNC_OMISSION = '...';
|
|
var HOT_COUNT = 150,
|
|
HOT_SPAN = 16;
|
|
var LARGE_ARRAY_SIZE = 200;
|
|
var LAZY_FILTER_FLAG = 1,
|
|
LAZY_MAP_FLAG = 2;
|
|
var FUNC_ERROR_TEXT = 'Expected a function';
|
|
var PLACEHOLDER = '__lodash_placeholder__';
|
|
var argsTag = '[object Arguments]',
|
|
arrayTag = '[object Array]',
|
|
boolTag = '[object Boolean]',
|
|
dateTag = '[object Date]',
|
|
errorTag = '[object Error]',
|
|
funcTag = '[object Function]',
|
|
mapTag = '[object Map]',
|
|
numberTag = '[object Number]',
|
|
objectTag = '[object Object]',
|
|
regexpTag = '[object RegExp]',
|
|
setTag = '[object Set]',
|
|
stringTag = '[object String]',
|
|
weakMapTag = '[object WeakMap]';
|
|
|
|
var arrayBufferTag = '[object ArrayBuffer]',
|
|
float32Tag = '[object Float32Array]',
|
|
float64Tag = '[object Float64Array]',
|
|
int8Tag = '[object Int8Array]',
|
|
int16Tag = '[object Int16Array]',
|
|
int32Tag = '[object Int32Array]',
|
|
uint8Tag = '[object Uint8Array]',
|
|
uint8ClampedTag = '[object Uint8ClampedArray]',
|
|
uint16Tag = '[object Uint16Array]',
|
|
uint32Tag = '[object Uint32Array]';
|
|
var reEmptyStringLeading = /\b__p \+= '';/g,
|
|
reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
|
|
reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
|
|
var reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g,
|
|
reUnescapedHtml = /[&<>"'`]/g,
|
|
reHasEscapedHtml = RegExp(reEscapedHtml.source),
|
|
reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
|
|
var reEscape = /<%-([\s\S]+?)%>/g,
|
|
reEvaluate = /<%([\s\S]+?)%>/g,
|
|
reInterpolate = /<%=([\s\S]+?)%>/g;
|
|
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
|
|
reIsPlainProp = /^\w*$/,
|
|
rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
|
|
var reRegExpChars = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,
|
|
reHasRegExpChars = RegExp(reRegExpChars.source);
|
|
var reComboMark = /[\u0300-\u036f\ufe20-\ufe23]/g;
|
|
var reEscapeChar = /\\(\\)?/g;
|
|
var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
|
|
var reFlags = /\w*$/;
|
|
var reHasHexPrefix = /^0[xX]/;
|
|
var reIsHostCtor = /^\[object .+?Constructor\]$/;
|
|
var reIsUint = /^\d+$/;
|
|
var reLatin1 = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;
|
|
var reNoMatch = /($^)/;
|
|
var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
|
|
var reWords = (function() {
|
|
var upper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]',
|
|
lower = '[a-z\\xdf-\\xf6\\xf8-\\xff]+';
|
|
|
|
return RegExp(upper + '+(?=' + upper + lower + ')|' + upper + '?' + lower + '|' + upper + '+|[0-9]+', 'g');
|
|
}());
|
|
var contextProps = [
|
|
'Array', 'ArrayBuffer', 'Date', 'Error', 'Float32Array', 'Float64Array',
|
|
'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Math', 'Number',
|
|
'Object', 'RegExp', 'Set', 'String', '_', 'clearTimeout', 'isFinite',
|
|
'parseFloat', 'parseInt', 'setTimeout', 'TypeError', 'Uint8Array',
|
|
'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap'
|
|
];
|
|
var templateCounter = -1;
|
|
var typedArrayTags = {};
|
|
typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
|
|
typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
|
|
typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
|
|
typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
|
|
typedArrayTags[uint32Tag] = true;
|
|
typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
|
|
typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
|
|
typedArrayTags[dateTag] = typedArrayTags[errorTag] =
|
|
typedArrayTags[funcTag] = typedArrayTags[mapTag] =
|
|
typedArrayTags[numberTag] = typedArrayTags[objectTag] =
|
|
typedArrayTags[regexpTag] = typedArrayTags[setTag] =
|
|
typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
|
|
var cloneableTags = {};
|
|
cloneableTags[argsTag] = cloneableTags[arrayTag] =
|
|
cloneableTags[arrayBufferTag] = cloneableTags[boolTag] =
|
|
cloneableTags[dateTag] = cloneableTags[float32Tag] =
|
|
cloneableTags[float64Tag] = cloneableTags[int8Tag] =
|
|
cloneableTags[int16Tag] = cloneableTags[int32Tag] =
|
|
cloneableTags[numberTag] = cloneableTags[objectTag] =
|
|
cloneableTags[regexpTag] = cloneableTags[stringTag] =
|
|
cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
|
|
cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
|
|
cloneableTags[errorTag] = cloneableTags[funcTag] =
|
|
cloneableTags[mapTag] = cloneableTags[setTag] =
|
|
cloneableTags[weakMapTag] = false;
|
|
var deburredLetters = {
|
|
'\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A',
|
|
'\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a',
|
|
'\xc7': 'C', '\xe7': 'c',
|
|
'\xd0': 'D', '\xf0': 'd',
|
|
'\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E',
|
|
'\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e',
|
|
'\xcC': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I',
|
|
'\xeC': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i',
|
|
'\xd1': 'N', '\xf1': 'n',
|
|
'\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O',
|
|
'\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o',
|
|
'\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U',
|
|
'\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u',
|
|
'\xdd': 'Y', '\xfd': 'y', '\xff': 'y',
|
|
'\xc6': 'Ae', '\xe6': 'ae',
|
|
'\xde': 'Th', '\xfe': 'th',
|
|
'\xdf': 'ss'
|
|
};
|
|
var htmlEscapes = {
|
|
'&': '&',
|
|
'<': '<',
|
|
'>': '>',
|
|
'"': '"',
|
|
"'": ''',
|
|
'`': '`'
|
|
};
|
|
var htmlUnescapes = {
|
|
'&': '&',
|
|
'<': '<',
|
|
'>': '>',
|
|
'"': '"',
|
|
''': "'",
|
|
'`': '`'
|
|
};
|
|
var objectTypes = {
|
|
'function': true,
|
|
'object': true
|
|
};
|
|
var regexpEscapes = {
|
|
'0': 'x30', '1': 'x31', '2': 'x32', '3': 'x33', '4': 'x34',
|
|
'5': 'x35', '6': 'x36', '7': 'x37', '8': 'x38', '9': 'x39',
|
|
'A': 'x41', 'B': 'x42', 'C': 'x43', 'D': 'x44', 'E': 'x45', 'F': 'x46',
|
|
'a': 'x61', 'b': 'x62', 'c': 'x63', 'd': 'x64', 'e': 'x65', 'f': 'x66',
|
|
'n': 'x6e', 'r': 'x72', 't': 'x74', 'u': 'x75', 'v': 'x76', 'x': 'x78'
|
|
};
|
|
var stringEscapes = {
|
|
'\\': '\\',
|
|
"'": "'",
|
|
'\n': 'n',
|
|
'\r': 'r',
|
|
'\u2028': 'u2028',
|
|
'\u2029': 'u2029'
|
|
};
|
|
var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
|
|
var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
|
|
var freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;
|
|
var freeSelf = objectTypes[typeof self] && self && self.Object && self;
|
|
var freeWindow = objectTypes[typeof window] && window && window.Object && window;
|
|
var moduleExports = freeModule && freeModule.exports === freeExports && freeExports;
|
|
var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
|
|
function baseCompareAscending(value, other) {
|
|
if (value !== other) {
|
|
var valIsNull = value === null,
|
|
valIsUndef = value === undefined,
|
|
valIsReflexive = value === value;
|
|
|
|
var othIsNull = other === null,
|
|
othIsUndef = other === undefined,
|
|
othIsReflexive = other === other;
|
|
|
|
if ((value > other && !othIsNull) || !valIsReflexive ||
|
|
(valIsNull && !othIsUndef && othIsReflexive) ||
|
|
(valIsUndef && othIsReflexive)) {
|
|
return 1;
|
|
}
|
|
if ((value < other && !valIsNull) || !othIsReflexive ||
|
|
(othIsNull && !valIsUndef && valIsReflexive) ||
|
|
(othIsUndef && valIsReflexive)) {
|
|
return -1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
function baseFindIndex(array, predicate, fromRight) {
|
|
var length = array.length,
|
|
index = fromRight ? length : -1;
|
|
|
|
while ((fromRight ? index-- : ++index < length)) {
|
|
if (predicate(array[index], index, array)) {
|
|
return index;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
function baseIndexOf(array, value, fromIndex) {
|
|
if (value !== value) {
|
|
return indexOfNaN(array, fromIndex);
|
|
}
|
|
var index = fromIndex - 1,
|
|
length = array.length;
|
|
|
|
while (++index < length) {
|
|
if (array[index] === value) {
|
|
return index;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
function baseIsFunction(value) {
|
|
return typeof value == 'function' || false;
|
|
}
|
|
function baseToString(value) {
|
|
return value == null ? '' : (value + '');
|
|
}
|
|
function charsLeftIndex(string, chars) {
|
|
var index = -1,
|
|
length = string.length;
|
|
|
|
while (++index < length && chars.indexOf(string.charAt(index)) > -1) {}
|
|
return index;
|
|
}
|
|
function charsRightIndex(string, chars) {
|
|
var index = string.length;
|
|
|
|
while (index-- && chars.indexOf(string.charAt(index)) > -1) {}
|
|
return index;
|
|
}
|
|
function compareAscending(object, other) {
|
|
return baseCompareAscending(object.criteria, other.criteria) || (object.index - other.index);
|
|
}
|
|
function compareMultiple(object, other, orders) {
|
|
var index = -1,
|
|
objCriteria = object.criteria,
|
|
othCriteria = other.criteria,
|
|
length = objCriteria.length,
|
|
ordersLength = orders.length;
|
|
|
|
while (++index < length) {
|
|
var result = baseCompareAscending(objCriteria[index], othCriteria[index]);
|
|
if (result) {
|
|
if (index >= ordersLength) {
|
|
return result;
|
|
}
|
|
var order = orders[index];
|
|
return result * ((order === 'asc' || order === true) ? 1 : -1);
|
|
}
|
|
}
|
|
return object.index - other.index;
|
|
}
|
|
function deburrLetter(letter) {
|
|
return deburredLetters[letter];
|
|
}
|
|
function escapeHtmlChar(chr) {
|
|
return htmlEscapes[chr];
|
|
}
|
|
function escapeRegExpChar(chr, leadingChar, whitespaceChar) {
|
|
if (leadingChar) {
|
|
chr = regexpEscapes[chr];
|
|
} else if (whitespaceChar) {
|
|
chr = stringEscapes[chr];
|
|
}
|
|
return '\\' + chr;
|
|
}
|
|
function escapeStringChar(chr) {
|
|
return '\\' + stringEscapes[chr];
|
|
}
|
|
function indexOfNaN(array, fromIndex, fromRight) {
|
|
var length = array.length,
|
|
index = fromIndex + (fromRight ? 0 : -1);
|
|
|
|
while ((fromRight ? index-- : ++index < length)) {
|
|
var other = array[index];
|
|
if (other !== other) {
|
|
return index;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
function isObjectLike(value) {
|
|
return !!value && typeof value == 'object';
|
|
}
|
|
function isSpace(charCode) {
|
|
return ((charCode <= 160 && (charCode >= 9 && charCode <= 13) || charCode == 32 || charCode == 160) || charCode == 5760 || charCode == 6158 ||
|
|
(charCode >= 8192 && (charCode <= 8202 || charCode == 8232 || charCode == 8233 || charCode == 8239 || charCode == 8287 || charCode == 12288 || charCode == 65279)));
|
|
}
|
|
function replaceHolders(array, placeholder) {
|
|
var index = -1,
|
|
length = array.length,
|
|
resIndex = -1,
|
|
result = [];
|
|
|
|
while (++index < length) {
|
|
if (array[index] === placeholder) {
|
|
array[index] = PLACEHOLDER;
|
|
result[++resIndex] = index;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function sortedUniq(array, iteratee) {
|
|
var seen,
|
|
index = -1,
|
|
length = array.length,
|
|
resIndex = -1,
|
|
result = [];
|
|
|
|
while (++index < length) {
|
|
var value = array[index],
|
|
computed = iteratee ? iteratee(value, index, array) : value;
|
|
|
|
if (!index || seen !== computed) {
|
|
seen = computed;
|
|
result[++resIndex] = value;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function trimmedLeftIndex(string) {
|
|
var index = -1,
|
|
length = string.length;
|
|
|
|
while (++index < length && isSpace(string.charCodeAt(index))) {}
|
|
return index;
|
|
}
|
|
function trimmedRightIndex(string) {
|
|
var index = string.length;
|
|
|
|
while (index-- && isSpace(string.charCodeAt(index))) {}
|
|
return index;
|
|
}
|
|
function unescapeHtmlChar(chr) {
|
|
return htmlUnescapes[chr];
|
|
}
|
|
function runInContext(context) {
|
|
context = context ? _.defaults(root.Object(), context, _.pick(root, contextProps)) : root;
|
|
var Array = context.Array,
|
|
Date = context.Date,
|
|
Error = context.Error,
|
|
Function = context.Function,
|
|
Math = context.Math,
|
|
Number = context.Number,
|
|
Object = context.Object,
|
|
RegExp = context.RegExp,
|
|
String = context.String,
|
|
TypeError = context.TypeError;
|
|
var arrayProto = Array.prototype,
|
|
objectProto = Object.prototype,
|
|
stringProto = String.prototype;
|
|
var fnToString = Function.prototype.toString;
|
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
var idCounter = 0;
|
|
var objToString = objectProto.toString;
|
|
var oldDash = root._;
|
|
var reIsNative = RegExp('^' +
|
|
fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
|
|
.replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
|
|
);
|
|
var ArrayBuffer = context.ArrayBuffer,
|
|
clearTimeout = context.clearTimeout,
|
|
parseFloat = context.parseFloat,
|
|
pow = Math.pow,
|
|
propertyIsEnumerable = objectProto.propertyIsEnumerable,
|
|
Set = getNative(context, 'Set'),
|
|
setTimeout = context.setTimeout,
|
|
splice = arrayProto.splice,
|
|
Uint8Array = context.Uint8Array,
|
|
WeakMap = getNative(context, 'WeakMap');
|
|
var nativeCeil = Math.ceil,
|
|
nativeCreate = getNative(Object, 'create'),
|
|
nativeFloor = Math.floor,
|
|
nativeIsArray = getNative(Array, 'isArray'),
|
|
nativeIsFinite = context.isFinite,
|
|
nativeKeys = getNative(Object, 'keys'),
|
|
nativeMax = Math.max,
|
|
nativeMin = Math.min,
|
|
nativeNow = getNative(Date, 'now'),
|
|
nativeParseInt = context.parseInt,
|
|
nativeRandom = Math.random;
|
|
var NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY,
|
|
POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
|
|
var MAX_ARRAY_LENGTH = 4294967295,
|
|
MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
|
|
HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
|
|
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
var metaMap = WeakMap && new WeakMap;
|
|
var realNames = {};
|
|
function lodash(value) {
|
|
if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
|
|
if (value instanceof LodashWrapper) {
|
|
return value;
|
|
}
|
|
if (hasOwnProperty.call(value, '__chain__') && hasOwnProperty.call(value, '__wrapped__')) {
|
|
return wrapperClone(value);
|
|
}
|
|
}
|
|
return new LodashWrapper(value);
|
|
}
|
|
function baseLodash() {
|
|
}
|
|
function LodashWrapper(value, chainAll, actions) {
|
|
this.__wrapped__ = value;
|
|
this.__actions__ = actions || [];
|
|
this.__chain__ = !!chainAll;
|
|
}
|
|
var support = lodash.support = {};
|
|
lodash.templateSettings = {
|
|
'escape': reEscape,
|
|
'evaluate': reEvaluate,
|
|
'interpolate': reInterpolate,
|
|
'variable': '',
|
|
'imports': {
|
|
'_': lodash
|
|
}
|
|
};
|
|
function LazyWrapper(value) {
|
|
this.__wrapped__ = value;
|
|
this.__actions__ = [];
|
|
this.__dir__ = 1;
|
|
this.__filtered__ = false;
|
|
this.__iteratees__ = [];
|
|
this.__takeCount__ = POSITIVE_INFINITY;
|
|
this.__views__ = [];
|
|
}
|
|
function lazyClone() {
|
|
var result = new LazyWrapper(this.__wrapped__);
|
|
result.__actions__ = arrayCopy(this.__actions__);
|
|
result.__dir__ = this.__dir__;
|
|
result.__filtered__ = this.__filtered__;
|
|
result.__iteratees__ = arrayCopy(this.__iteratees__);
|
|
result.__takeCount__ = this.__takeCount__;
|
|
result.__views__ = arrayCopy(this.__views__);
|
|
return result;
|
|
}
|
|
function lazyReverse() {
|
|
if (this.__filtered__) {
|
|
var result = new LazyWrapper(this);
|
|
result.__dir__ = -1;
|
|
result.__filtered__ = true;
|
|
} else {
|
|
result = this.clone();
|
|
result.__dir__ *= -1;
|
|
}
|
|
return result;
|
|
}
|
|
function lazyValue() {
|
|
var array = this.__wrapped__.value(),
|
|
dir = this.__dir__,
|
|
isArr = isArray(array),
|
|
isRight = dir < 0,
|
|
arrLength = isArr ? array.length : 0,
|
|
view = getView(0, arrLength, this.__views__),
|
|
start = view.start,
|
|
end = view.end,
|
|
length = end - start,
|
|
index = isRight ? end : (start - 1),
|
|
iteratees = this.__iteratees__,
|
|
iterLength = iteratees.length,
|
|
resIndex = 0,
|
|
takeCount = nativeMin(length, this.__takeCount__);
|
|
|
|
if (!isArr || arrLength < LARGE_ARRAY_SIZE || (arrLength == length && takeCount == length)) {
|
|
return baseWrapperValue((isRight && isArr) ? array.reverse() : array, this.__actions__);
|
|
}
|
|
var result = [];
|
|
|
|
outer:
|
|
while (length-- && resIndex < takeCount) {
|
|
index += dir;
|
|
|
|
var iterIndex = -1,
|
|
value = array[index];
|
|
|
|
while (++iterIndex < iterLength) {
|
|
var data = iteratees[iterIndex],
|
|
iteratee = data.iteratee,
|
|
type = data.type,
|
|
computed = iteratee(value);
|
|
|
|
if (type == LAZY_MAP_FLAG) {
|
|
value = computed;
|
|
} else if (!computed) {
|
|
if (type == LAZY_FILTER_FLAG) {
|
|
continue outer;
|
|
} else {
|
|
break outer;
|
|
}
|
|
}
|
|
}
|
|
result[resIndex++] = value;
|
|
}
|
|
return result;
|
|
}
|
|
function MapCache() {
|
|
this.__data__ = {};
|
|
}
|
|
function mapDelete(key) {
|
|
return this.has(key) && delete this.__data__[key];
|
|
}
|
|
function mapGet(key) {
|
|
return key == '__proto__' ? undefined : this.__data__[key];
|
|
}
|
|
function mapHas(key) {
|
|
return key != '__proto__' && hasOwnProperty.call(this.__data__, key);
|
|
}
|
|
function mapSet(key, value) {
|
|
if (key != '__proto__') {
|
|
this.__data__[key] = value;
|
|
}
|
|
return this;
|
|
}
|
|
function SetCache(values) {
|
|
var length = values ? values.length : 0;
|
|
|
|
this.data = { 'hash': nativeCreate(null), 'set': new Set };
|
|
while (length--) {
|
|
this.push(values[length]);
|
|
}
|
|
}
|
|
function cacheIndexOf(cache, value) {
|
|
var data = cache.data,
|
|
result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
|
|
|
|
return result ? 0 : -1;
|
|
}
|
|
function cachePush(value) {
|
|
var data = this.data;
|
|
if (typeof value == 'string' || isObject(value)) {
|
|
data.set.add(value);
|
|
} else {
|
|
data.hash[value] = true;
|
|
}
|
|
}
|
|
function arrayConcat(array, other) {
|
|
var index = -1,
|
|
length = array.length,
|
|
othIndex = -1,
|
|
othLength = other.length,
|
|
result = Array(length + othLength);
|
|
|
|
while (++index < length) {
|
|
result[index] = array[index];
|
|
}
|
|
while (++othIndex < othLength) {
|
|
result[index++] = other[othIndex];
|
|
}
|
|
return result;
|
|
}
|
|
function arrayCopy(source, array) {
|
|
var index = -1,
|
|
length = source.length;
|
|
|
|
array || (array = Array(length));
|
|
while (++index < length) {
|
|
array[index] = source[index];
|
|
}
|
|
return array;
|
|
}
|
|
function arrayEach(array, iteratee) {
|
|
var index = -1,
|
|
length = array.length;
|
|
|
|
while (++index < length) {
|
|
if (iteratee(array[index], index, array) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return array;
|
|
}
|
|
function arrayEachRight(array, iteratee) {
|
|
var length = array.length;
|
|
|
|
while (length--) {
|
|
if (iteratee(array[length], length, array) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return array;
|
|
}
|
|
function arrayEvery(array, predicate) {
|
|
var index = -1,
|
|
length = array.length;
|
|
|
|
while (++index < length) {
|
|
if (!predicate(array[index], index, array)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
function arrayExtremum(array, iteratee, comparator, exValue) {
|
|
var index = -1,
|
|
length = array.length,
|
|
computed = exValue,
|
|
result = computed;
|
|
|
|
while (++index < length) {
|
|
var value = array[index],
|
|
current = +iteratee(value);
|
|
|
|
if (comparator(current, computed)) {
|
|
computed = current;
|
|
result = value;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function arrayFilter(array, predicate) {
|
|
var index = -1,
|
|
length = array.length,
|
|
resIndex = -1,
|
|
result = [];
|
|
|
|
while (++index < length) {
|
|
var value = array[index];
|
|
if (predicate(value, index, array)) {
|
|
result[++resIndex] = value;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function arrayMap(array, iteratee) {
|
|
var index = -1,
|
|
length = array.length,
|
|
result = Array(length);
|
|
|
|
while (++index < length) {
|
|
result[index] = iteratee(array[index], index, array);
|
|
}
|
|
return result;
|
|
}
|
|
function arrayPush(array, values) {
|
|
var index = -1,
|
|
length = values.length,
|
|
offset = array.length;
|
|
|
|
while (++index < length) {
|
|
array[offset + index] = values[index];
|
|
}
|
|
return array;
|
|
}
|
|
function arrayReduce(array, iteratee, accumulator, initFromArray) {
|
|
var index = -1,
|
|
length = array.length;
|
|
|
|
if (initFromArray && length) {
|
|
accumulator = array[++index];
|
|
}
|
|
while (++index < length) {
|
|
accumulator = iteratee(accumulator, array[index], index, array);
|
|
}
|
|
return accumulator;
|
|
}
|
|
function arrayReduceRight(array, iteratee, accumulator, initFromArray) {
|
|
var length = array.length;
|
|
if (initFromArray && length) {
|
|
accumulator = array[--length];
|
|
}
|
|
while (length--) {
|
|
accumulator = iteratee(accumulator, array[length], length, array);
|
|
}
|
|
return accumulator;
|
|
}
|
|
function arraySome(array, predicate) {
|
|
var index = -1,
|
|
length = array.length;
|
|
|
|
while (++index < length) {
|
|
if (predicate(array[index], index, array)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function arraySum(array, iteratee) {
|
|
var length = array.length,
|
|
result = 0;
|
|
|
|
while (length--) {
|
|
result += +iteratee(array[length]) || 0;
|
|
}
|
|
return result;
|
|
}
|
|
function assignDefaults(objectValue, sourceValue) {
|
|
return objectValue === undefined ? sourceValue : objectValue;
|
|
}
|
|
function assignOwnDefaults(objectValue, sourceValue, key, object) {
|
|
return (objectValue === undefined || !hasOwnProperty.call(object, key))
|
|
? sourceValue
|
|
: objectValue;
|
|
}
|
|
function assignWith(object, source, customizer) {
|
|
var index = -1,
|
|
props = keys(source),
|
|
length = props.length;
|
|
|
|
while (++index < length) {
|
|
var key = props[index],
|
|
value = object[key],
|
|
result = customizer(value, source[key], key, object, source);
|
|
|
|
if ((result === result ? (result !== value) : (value === value)) ||
|
|
(value === undefined && !(key in object))) {
|
|
object[key] = result;
|
|
}
|
|
}
|
|
return object;
|
|
}
|
|
function baseAssign(object, source) {
|
|
return source == null
|
|
? object
|
|
: baseCopy(source, keys(source), object);
|
|
}
|
|
function baseAt(collection, props) {
|
|
var index = -1,
|
|
isNil = collection == null,
|
|
isArr = !isNil && isArrayLike(collection),
|
|
length = isArr ? collection.length : 0,
|
|
propsLength = props.length,
|
|
result = Array(propsLength);
|
|
|
|
while(++index < propsLength) {
|
|
var key = props[index];
|
|
if (isArr) {
|
|
result[index] = isIndex(key, length) ? collection[key] : undefined;
|
|
} else {
|
|
result[index] = isNil ? undefined : collection[key];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function baseCopy(source, props, object) {
|
|
object || (object = {});
|
|
|
|
var index = -1,
|
|
length = props.length;
|
|
|
|
while (++index < length) {
|
|
var key = props[index];
|
|
object[key] = source[key];
|
|
}
|
|
return object;
|
|
}
|
|
function baseCallback(func, thisArg, argCount) {
|
|
var type = typeof func;
|
|
if (type == 'function') {
|
|
return thisArg === undefined
|
|
? func
|
|
: bindCallback(func, thisArg, argCount);
|
|
}
|
|
if (func == null) {
|
|
return identity;
|
|
}
|
|
if (type == 'object') {
|
|
return baseMatches(func);
|
|
}
|
|
return thisArg === undefined
|
|
? property(func)
|
|
: baseMatchesProperty(func, thisArg);
|
|
}
|
|
function baseClone(value, isDeep, customizer, key, object, stackA, stackB) {
|
|
var result;
|
|
if (customizer) {
|
|
result = object ? customizer(value, key, object) : customizer(value);
|
|
}
|
|
if (result !== undefined) {
|
|
return result;
|
|
}
|
|
if (!isObject(value)) {
|
|
return value;
|
|
}
|
|
var isArr = isArray(value);
|
|
if (isArr) {
|
|
result = initCloneArray(value);
|
|
if (!isDeep) {
|
|
return arrayCopy(value, result);
|
|
}
|
|
} else {
|
|
var tag = objToString.call(value),
|
|
isFunc = tag == funcTag;
|
|
|
|
if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
|
|
result = initCloneObject(isFunc ? {} : value);
|
|
if (!isDeep) {
|
|
return baseAssign(result, value);
|
|
}
|
|
} else {
|
|
return cloneableTags[tag]
|
|
? initCloneByTag(value, tag, isDeep)
|
|
: (object ? value : {});
|
|
}
|
|
}
|
|
stackA || (stackA = []);
|
|
stackB || (stackB = []);
|
|
|
|
var length = stackA.length;
|
|
while (length--) {
|
|
if (stackA[length] == value) {
|
|
return stackB[length];
|
|
}
|
|
}
|
|
stackA.push(value);
|
|
stackB.push(result);
|
|
(isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {
|
|
result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);
|
|
});
|
|
return result;
|
|
}
|
|
var baseCreate = (function() {
|
|
function object() {}
|
|
return function(prototype) {
|
|
if (isObject(prototype)) {
|
|
object.prototype = prototype;
|
|
var result = new object;
|
|
object.prototype = undefined;
|
|
}
|
|
return result || {};
|
|
};
|
|
}());
|
|
function baseDelay(func, wait, args) {
|
|
if (typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
return setTimeout(function() { func.apply(undefined, args); }, wait);
|
|
}
|
|
function baseDifference(array, values) {
|
|
var length = array ? array.length : 0,
|
|
result = [];
|
|
|
|
if (!length) {
|
|
return result;
|
|
}
|
|
var index = -1,
|
|
indexOf = getIndexOf(),
|
|
isCommon = indexOf == baseIndexOf,
|
|
cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null,
|
|
valuesLength = values.length;
|
|
|
|
if (cache) {
|
|
indexOf = cacheIndexOf;
|
|
isCommon = false;
|
|
values = cache;
|
|
}
|
|
outer:
|
|
while (++index < length) {
|
|
var value = array[index];
|
|
|
|
if (isCommon && value === value) {
|
|
var valuesIndex = valuesLength;
|
|
while (valuesIndex--) {
|
|
if (values[valuesIndex] === value) {
|
|
continue outer;
|
|
}
|
|
}
|
|
result.push(value);
|
|
}
|
|
else if (indexOf(values, value, 0) < 0) {
|
|
result.push(value);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var baseEach = createBaseEach(baseForOwn);
|
|
var baseEachRight = createBaseEach(baseForOwnRight, true);
|
|
function baseEvery(collection, predicate) {
|
|
var result = true;
|
|
baseEach(collection, function(value, index, collection) {
|
|
result = !!predicate(value, index, collection);
|
|
return result;
|
|
});
|
|
return result;
|
|
}
|
|
function baseExtremum(collection, iteratee, comparator, exValue) {
|
|
var computed = exValue,
|
|
result = computed;
|
|
|
|
baseEach(collection, function(value, index, collection) {
|
|
var current = +iteratee(value, index, collection);
|
|
if (comparator(current, computed) || (current === exValue && current === result)) {
|
|
computed = current;
|
|
result = value;
|
|
}
|
|
});
|
|
return result;
|
|
}
|
|
function baseFill(array, value, start, end) {
|
|
var length = array.length;
|
|
|
|
start = start == null ? 0 : (+start || 0);
|
|
if (start < 0) {
|
|
start = -start > length ? 0 : (length + start);
|
|
}
|
|
end = (end === undefined || end > length) ? length : (+end || 0);
|
|
if (end < 0) {
|
|
end += length;
|
|
}
|
|
length = start > end ? 0 : (end >>> 0);
|
|
start >>>= 0;
|
|
|
|
while (start < length) {
|
|
array[start++] = value;
|
|
}
|
|
return array;
|
|
}
|
|
function baseFilter(collection, predicate) {
|
|
var result = [];
|
|
baseEach(collection, function(value, index, collection) {
|
|
if (predicate(value, index, collection)) {
|
|
result.push(value);
|
|
}
|
|
});
|
|
return result;
|
|
}
|
|
function baseFind(collection, predicate, eachFunc, retKey) {
|
|
var result;
|
|
eachFunc(collection, function(value, key, collection) {
|
|
if (predicate(value, key, collection)) {
|
|
result = retKey ? key : value;
|
|
return false;
|
|
}
|
|
});
|
|
return result;
|
|
}
|
|
function baseFlatten(array, isDeep, isStrict, result) {
|
|
result || (result = []);
|
|
|
|
var index = -1,
|
|
length = array.length;
|
|
|
|
while (++index < length) {
|
|
var value = array[index];
|
|
if (isObjectLike(value) && isArrayLike(value) &&
|
|
(isStrict || isArray(value) || isArguments(value))) {
|
|
if (isDeep) {
|
|
baseFlatten(value, isDeep, isStrict, result);
|
|
} else {
|
|
arrayPush(result, value);
|
|
}
|
|
} else if (!isStrict) {
|
|
result[result.length] = value;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var baseFor = createBaseFor();
|
|
var baseForRight = createBaseFor(true);
|
|
function baseForIn(object, iteratee) {
|
|
return baseFor(object, iteratee, keysIn);
|
|
}
|
|
function baseForOwn(object, iteratee) {
|
|
return baseFor(object, iteratee, keys);
|
|
}
|
|
function baseForOwnRight(object, iteratee) {
|
|
return baseForRight(object, iteratee, keys);
|
|
}
|
|
function baseFunctions(object, props) {
|
|
var index = -1,
|
|
length = props.length,
|
|
resIndex = -1,
|
|
result = [];
|
|
|
|
while (++index < length) {
|
|
var key = props[index];
|
|
if (isFunction(object[key])) {
|
|
result[++resIndex] = key;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function baseGet(object, path, pathKey) {
|
|
if (object == null) {
|
|
return;
|
|
}
|
|
if (pathKey !== undefined && pathKey in toObject(object)) {
|
|
path = [pathKey];
|
|
}
|
|
var index = 0,
|
|
length = path.length;
|
|
|
|
while (object != null && index < length) {
|
|
object = object[path[index++]];
|
|
}
|
|
return (index && index == length) ? object : undefined;
|
|
}
|
|
function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
|
|
if (value === other) {
|
|
return true;
|
|
}
|
|
if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
|
|
return value !== value && other !== other;
|
|
}
|
|
return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
|
|
}
|
|
function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
|
|
var objIsArr = isArray(object),
|
|
othIsArr = isArray(other),
|
|
objTag = arrayTag,
|
|
othTag = arrayTag;
|
|
|
|
if (!objIsArr) {
|
|
objTag = objToString.call(object);
|
|
if (objTag == argsTag) {
|
|
objTag = objectTag;
|
|
} else if (objTag != objectTag) {
|
|
objIsArr = isTypedArray(object);
|
|
}
|
|
}
|
|
if (!othIsArr) {
|
|
othTag = objToString.call(other);
|
|
if (othTag == argsTag) {
|
|
othTag = objectTag;
|
|
} else if (othTag != objectTag) {
|
|
othIsArr = isTypedArray(other);
|
|
}
|
|
}
|
|
var objIsObj = objTag == objectTag,
|
|
othIsObj = othTag == objectTag,
|
|
isSameTag = objTag == othTag;
|
|
|
|
if (isSameTag && !(objIsArr || objIsObj)) {
|
|
return equalByTag(object, other, objTag);
|
|
}
|
|
if (!isLoose) {
|
|
var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
|
|
othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
|
|
|
|
if (objIsWrapped || othIsWrapped) {
|
|
return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
|
|
}
|
|
}
|
|
if (!isSameTag) {
|
|
return false;
|
|
}
|
|
stackA || (stackA = []);
|
|
stackB || (stackB = []);
|
|
|
|
var length = stackA.length;
|
|
while (length--) {
|
|
if (stackA[length] == object) {
|
|
return stackB[length] == other;
|
|
}
|
|
}
|
|
stackA.push(object);
|
|
stackB.push(other);
|
|
|
|
var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);
|
|
|
|
stackA.pop();
|
|
stackB.pop();
|
|
|
|
return result;
|
|
}
|
|
function baseIsMatch(object, matchData, customizer) {
|
|
var index = matchData.length,
|
|
length = index,
|
|
noCustomizer = !customizer;
|
|
|
|
if (object == null) {
|
|
return !length;
|
|
}
|
|
object = toObject(object);
|
|
while (index--) {
|
|
var data = matchData[index];
|
|
if ((noCustomizer && data[2])
|
|
? data[1] !== object[data[0]]
|
|
: !(data[0] in object)
|
|
) {
|
|
return false;
|
|
}
|
|
}
|
|
while (++index < length) {
|
|
data = matchData[index];
|
|
var key = data[0],
|
|
objValue = object[key],
|
|
srcValue = data[1];
|
|
|
|
if (noCustomizer && data[2]) {
|
|
if (objValue === undefined && !(key in object)) {
|
|
return false;
|
|
}
|
|
} else {
|
|
var result = customizer ? customizer(objValue, srcValue, key) : undefined;
|
|
if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
function baseMap(collection, iteratee) {
|
|
var index = -1,
|
|
result = isArrayLike(collection) ? Array(collection.length) : [];
|
|
|
|
baseEach(collection, function(value, key, collection) {
|
|
result[++index] = iteratee(value, key, collection);
|
|
});
|
|
return result;
|
|
}
|
|
function baseMatches(source) {
|
|
var matchData = getMatchData(source);
|
|
if (matchData.length == 1 && matchData[0][2]) {
|
|
var key = matchData[0][0],
|
|
value = matchData[0][1];
|
|
|
|
return function(object) {
|
|
if (object == null) {
|
|
return false;
|
|
}
|
|
return object[key] === value && (value !== undefined || (key in toObject(object)));
|
|
};
|
|
}
|
|
return function(object) {
|
|
return baseIsMatch(object, matchData);
|
|
};
|
|
}
|
|
function baseMatchesProperty(path, srcValue) {
|
|
var isArr = isArray(path),
|
|
isCommon = isKey(path) && isStrictComparable(srcValue),
|
|
pathKey = (path + '');
|
|
|
|
path = toPath(path);
|
|
return function(object) {
|
|
if (object == null) {
|
|
return false;
|
|
}
|
|
var key = pathKey;
|
|
object = toObject(object);
|
|
if ((isArr || !isCommon) && !(key in object)) {
|
|
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
|
|
if (object == null) {
|
|
return false;
|
|
}
|
|
key = last(path);
|
|
object = toObject(object);
|
|
}
|
|
return object[key] === srcValue
|
|
? (srcValue !== undefined || (key in object))
|
|
: baseIsEqual(srcValue, object[key], undefined, true);
|
|
};
|
|
}
|
|
function baseMerge(object, source, customizer, stackA, stackB) {
|
|
if (!isObject(object)) {
|
|
return object;
|
|
}
|
|
var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)),
|
|
props = isSrcArr ? undefined : keys(source);
|
|
|
|
arrayEach(props || source, function(srcValue, key) {
|
|
if (props) {
|
|
key = srcValue;
|
|
srcValue = source[key];
|
|
}
|
|
if (isObjectLike(srcValue)) {
|
|
stackA || (stackA = []);
|
|
stackB || (stackB = []);
|
|
baseMergeDeep(object, source, key, baseMerge, customizer, stackA, stackB);
|
|
}
|
|
else {
|
|
var value = object[key],
|
|
result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
|
|
isCommon = result === undefined;
|
|
|
|
if (isCommon) {
|
|
result = srcValue;
|
|
}
|
|
if ((result !== undefined || (isSrcArr && !(key in object))) &&
|
|
(isCommon || (result === result ? (result !== value) : (value === value)))) {
|
|
object[key] = result;
|
|
}
|
|
}
|
|
});
|
|
return object;
|
|
}
|
|
function baseMergeDeep(object, source, key, mergeFunc, customizer, stackA, stackB) {
|
|
var length = stackA.length,
|
|
srcValue = source[key];
|
|
|
|
while (length--) {
|
|
if (stackA[length] == srcValue) {
|
|
object[key] = stackB[length];
|
|
return;
|
|
}
|
|
}
|
|
var value = object[key],
|
|
result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
|
|
isCommon = result === undefined;
|
|
|
|
if (isCommon) {
|
|
result = srcValue;
|
|
if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) {
|
|
result = isArray(value)
|
|
? value
|
|
: (isArrayLike(value) ? arrayCopy(value) : []);
|
|
}
|
|
else if (isPlainObject(srcValue) || isArguments(srcValue)) {
|
|
result = isArguments(value)
|
|
? toPlainObject(value)
|
|
: (isPlainObject(value) ? value : {});
|
|
}
|
|
else {
|
|
isCommon = false;
|
|
}
|
|
}
|
|
stackA.push(srcValue);
|
|
stackB.push(result);
|
|
|
|
if (isCommon) {
|
|
object[key] = mergeFunc(result, srcValue, customizer, stackA, stackB);
|
|
} else if (result === result ? (result !== value) : (value === value)) {
|
|
object[key] = result;
|
|
}
|
|
}
|
|
function baseProperty(key) {
|
|
return function(object) {
|
|
return object == null ? undefined : object[key];
|
|
};
|
|
}
|
|
function basePropertyDeep(path) {
|
|
var pathKey = (path + '');
|
|
path = toPath(path);
|
|
return function(object) {
|
|
return baseGet(object, path, pathKey);
|
|
};
|
|
}
|
|
function basePullAt(array, indexes) {
|
|
var length = array ? indexes.length : 0;
|
|
while (length--) {
|
|
var index = indexes[length];
|
|
if (index != previous && isIndex(index)) {
|
|
var previous = index;
|
|
splice.call(array, index, 1);
|
|
}
|
|
}
|
|
return array;
|
|
}
|
|
function baseRandom(min, max) {
|
|
return min + nativeFloor(nativeRandom() * (max - min + 1));
|
|
}
|
|
function baseReduce(collection, iteratee, accumulator, initFromCollection, eachFunc) {
|
|
eachFunc(collection, function(value, index, collection) {
|
|
accumulator = initFromCollection
|
|
? (initFromCollection = false, value)
|
|
: iteratee(accumulator, value, index, collection);
|
|
});
|
|
return accumulator;
|
|
}
|
|
var baseSetData = !metaMap ? identity : function(func, data) {
|
|
metaMap.set(func, data);
|
|
return func;
|
|
};
|
|
function baseSlice(array, start, end) {
|
|
var index = -1,
|
|
length = array.length;
|
|
|
|
start = start == null ? 0 : (+start || 0);
|
|
if (start < 0) {
|
|
start = -start > length ? 0 : (length + start);
|
|
}
|
|
end = (end === undefined || end > length) ? length : (+end || 0);
|
|
if (end < 0) {
|
|
end += length;
|
|
}
|
|
length = start > end ? 0 : ((end - start) >>> 0);
|
|
start >>>= 0;
|
|
|
|
var result = Array(length);
|
|
while (++index < length) {
|
|
result[index] = array[index + start];
|
|
}
|
|
return result;
|
|
}
|
|
function baseSome(collection, predicate) {
|
|
var result;
|
|
|
|
baseEach(collection, function(value, index, collection) {
|
|
result = predicate(value, index, collection);
|
|
return !result;
|
|
});
|
|
return !!result;
|
|
}
|
|
function baseSortBy(array, comparer) {
|
|
var length = array.length;
|
|
|
|
array.sort(comparer);
|
|
while (length--) {
|
|
array[length] = array[length].value;
|
|
}
|
|
return array;
|
|
}
|
|
function baseSortByOrder(collection, iteratees, orders) {
|
|
var callback = getCallback(),
|
|
index = -1;
|
|
|
|
iteratees = arrayMap(iteratees, function(iteratee) { return callback(iteratee); });
|
|
|
|
var result = baseMap(collection, function(value) {
|
|
var criteria = arrayMap(iteratees, function(iteratee) { return iteratee(value); });
|
|
return { 'criteria': criteria, 'index': ++index, 'value': value };
|
|
});
|
|
|
|
return baseSortBy(result, function(object, other) {
|
|
return compareMultiple(object, other, orders);
|
|
});
|
|
}
|
|
function baseSum(collection, iteratee) {
|
|
var result = 0;
|
|
baseEach(collection, function(value, index, collection) {
|
|
result += +iteratee(value, index, collection) || 0;
|
|
});
|
|
return result;
|
|
}
|
|
function baseUniq(array, iteratee) {
|
|
var index = -1,
|
|
indexOf = getIndexOf(),
|
|
length = array.length,
|
|
isCommon = indexOf == baseIndexOf,
|
|
isLarge = isCommon && length >= LARGE_ARRAY_SIZE,
|
|
seen = isLarge ? createCache() : null,
|
|
result = [];
|
|
|
|
if (seen) {
|
|
indexOf = cacheIndexOf;
|
|
isCommon = false;
|
|
} else {
|
|
isLarge = false;
|
|
seen = iteratee ? [] : result;
|
|
}
|
|
outer:
|
|
while (++index < length) {
|
|
var value = array[index],
|
|
computed = iteratee ? iteratee(value, index, array) : value;
|
|
|
|
if (isCommon && value === value) {
|
|
var seenIndex = seen.length;
|
|
while (seenIndex--) {
|
|
if (seen[seenIndex] === computed) {
|
|
continue outer;
|
|
}
|
|
}
|
|
if (iteratee) {
|
|
seen.push(computed);
|
|
}
|
|
result.push(value);
|
|
}
|
|
else if (indexOf(seen, computed, 0) < 0) {
|
|
if (iteratee || isLarge) {
|
|
seen.push(computed);
|
|
}
|
|
result.push(value);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function baseValues(object, props) {
|
|
var index = -1,
|
|
length = props.length,
|
|
result = Array(length);
|
|
|
|
while (++index < length) {
|
|
result[index] = object[props[index]];
|
|
}
|
|
return result;
|
|
}
|
|
function baseWhile(array, predicate, isDrop, fromRight) {
|
|
var length = array.length,
|
|
index = fromRight ? length : -1;
|
|
|
|
while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) {}
|
|
return isDrop
|
|
? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))
|
|
: baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));
|
|
}
|
|
function baseWrapperValue(value, actions) {
|
|
var result = value;
|
|
if (result instanceof LazyWrapper) {
|
|
result = result.value();
|
|
}
|
|
var index = -1,
|
|
length = actions.length;
|
|
|
|
while (++index < length) {
|
|
var action = actions[index];
|
|
result = action.func.apply(action.thisArg, arrayPush([result], action.args));
|
|
}
|
|
return result;
|
|
}
|
|
function binaryIndex(array, value, retHighest) {
|
|
var low = 0,
|
|
high = array ? array.length : low;
|
|
|
|
if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
|
|
while (low < high) {
|
|
var mid = (low + high) >>> 1,
|
|
computed = array[mid];
|
|
|
|
if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) {
|
|
low = mid + 1;
|
|
} else {
|
|
high = mid;
|
|
}
|
|
}
|
|
return high;
|
|
}
|
|
return binaryIndexBy(array, value, identity, retHighest);
|
|
}
|
|
function binaryIndexBy(array, value, iteratee, retHighest) {
|
|
value = iteratee(value);
|
|
|
|
var low = 0,
|
|
high = array ? array.length : 0,
|
|
valIsNaN = value !== value,
|
|
valIsNull = value === null,
|
|
valIsUndef = value === undefined;
|
|
|
|
while (low < high) {
|
|
var mid = nativeFloor((low + high) / 2),
|
|
computed = iteratee(array[mid]),
|
|
isDef = computed !== undefined,
|
|
isReflexive = computed === computed;
|
|
|
|
if (valIsNaN) {
|
|
var setLow = isReflexive || retHighest;
|
|
} else if (valIsNull) {
|
|
setLow = isReflexive && isDef && (retHighest || computed != null);
|
|
} else if (valIsUndef) {
|
|
setLow = isReflexive && (retHighest || isDef);
|
|
} else if (computed == null) {
|
|
setLow = false;
|
|
} else {
|
|
setLow = retHighest ? (computed <= value) : (computed < value);
|
|
}
|
|
if (setLow) {
|
|
low = mid + 1;
|
|
} else {
|
|
high = mid;
|
|
}
|
|
}
|
|
return nativeMin(high, MAX_ARRAY_INDEX);
|
|
}
|
|
function bindCallback(func, thisArg, argCount) {
|
|
if (typeof func != 'function') {
|
|
return identity;
|
|
}
|
|
if (thisArg === undefined) {
|
|
return func;
|
|
}
|
|
switch (argCount) {
|
|
case 1: return function(value) {
|
|
return func.call(thisArg, value);
|
|
};
|
|
case 3: return function(value, index, collection) {
|
|
return func.call(thisArg, value, index, collection);
|
|
};
|
|
case 4: return function(accumulator, value, index, collection) {
|
|
return func.call(thisArg, accumulator, value, index, collection);
|
|
};
|
|
case 5: return function(value, other, key, object, source) {
|
|
return func.call(thisArg, value, other, key, object, source);
|
|
};
|
|
}
|
|
return function() {
|
|
return func.apply(thisArg, arguments);
|
|
};
|
|
}
|
|
function bufferClone(buffer) {
|
|
var result = new ArrayBuffer(buffer.byteLength),
|
|
view = new Uint8Array(result);
|
|
|
|
view.set(new Uint8Array(buffer));
|
|
return result;
|
|
}
|
|
function composeArgs(args, partials, holders) {
|
|
var holdersLength = holders.length,
|
|
argsIndex = -1,
|
|
argsLength = nativeMax(args.length - holdersLength, 0),
|
|
leftIndex = -1,
|
|
leftLength = partials.length,
|
|
result = Array(leftLength + argsLength);
|
|
|
|
while (++leftIndex < leftLength) {
|
|
result[leftIndex] = partials[leftIndex];
|
|
}
|
|
while (++argsIndex < holdersLength) {
|
|
result[holders[argsIndex]] = args[argsIndex];
|
|
}
|
|
while (argsLength--) {
|
|
result[leftIndex++] = args[argsIndex++];
|
|
}
|
|
return result;
|
|
}
|
|
function composeArgsRight(args, partials, holders) {
|
|
var holdersIndex = -1,
|
|
holdersLength = holders.length,
|
|
argsIndex = -1,
|
|
argsLength = nativeMax(args.length - holdersLength, 0),
|
|
rightIndex = -1,
|
|
rightLength = partials.length,
|
|
result = Array(argsLength + rightLength);
|
|
|
|
while (++argsIndex < argsLength) {
|
|
result[argsIndex] = args[argsIndex];
|
|
}
|
|
var offset = argsIndex;
|
|
while (++rightIndex < rightLength) {
|
|
result[offset + rightIndex] = partials[rightIndex];
|
|
}
|
|
while (++holdersIndex < holdersLength) {
|
|
result[offset + holders[holdersIndex]] = args[argsIndex++];
|
|
}
|
|
return result;
|
|
}
|
|
function createAggregator(setter, initializer) {
|
|
return function(collection, iteratee, thisArg) {
|
|
var result = initializer ? initializer() : {};
|
|
iteratee = getCallback(iteratee, thisArg, 3);
|
|
|
|
if (isArray(collection)) {
|
|
var index = -1,
|
|
length = collection.length;
|
|
|
|
while (++index < length) {
|
|
var value = collection[index];
|
|
setter(result, value, iteratee(value, index, collection), collection);
|
|
}
|
|
} else {
|
|
baseEach(collection, function(value, key, collection) {
|
|
setter(result, value, iteratee(value, key, collection), collection);
|
|
});
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
function createAssigner(assigner) {
|
|
return restParam(function(object, sources) {
|
|
var index = -1,
|
|
length = object == null ? 0 : sources.length,
|
|
customizer = length > 2 ? sources[length - 2] : undefined,
|
|
guard = length > 2 ? sources[2] : undefined,
|
|
thisArg = length > 1 ? sources[length - 1] : undefined;
|
|
|
|
if (typeof customizer == 'function') {
|
|
customizer = bindCallback(customizer, thisArg, 5);
|
|
length -= 2;
|
|
} else {
|
|
customizer = typeof thisArg == 'function' ? thisArg : undefined;
|
|
length -= (customizer ? 1 : 0);
|
|
}
|
|
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
|
|
customizer = length < 3 ? undefined : customizer;
|
|
length = 1;
|
|
}
|
|
while (++index < length) {
|
|
var source = sources[index];
|
|
if (source) {
|
|
assigner(object, source, customizer);
|
|
}
|
|
}
|
|
return object;
|
|
});
|
|
}
|
|
function createBaseEach(eachFunc, fromRight) {
|
|
return function(collection, iteratee) {
|
|
var length = collection ? getLength(collection) : 0;
|
|
if (!isLength(length)) {
|
|
return eachFunc(collection, iteratee);
|
|
}
|
|
var index = fromRight ? length : -1,
|
|
iterable = toObject(collection);
|
|
|
|
while ((fromRight ? index-- : ++index < length)) {
|
|
if (iteratee(iterable[index], index, iterable) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return collection;
|
|
};
|
|
}
|
|
function createBaseFor(fromRight) {
|
|
return function(object, iteratee, keysFunc) {
|
|
var iterable = toObject(object),
|
|
props = keysFunc(object),
|
|
length = props.length,
|
|
index = fromRight ? length : -1;
|
|
|
|
while ((fromRight ? index-- : ++index < length)) {
|
|
var key = props[index];
|
|
if (iteratee(iterable[key], key, iterable) === false) {
|
|
break;
|
|
}
|
|
}
|
|
return object;
|
|
};
|
|
}
|
|
function createBindWrapper(func, thisArg) {
|
|
var Ctor = createCtorWrapper(func);
|
|
|
|
function wrapper() {
|
|
var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
|
|
return fn.apply(thisArg, arguments);
|
|
}
|
|
return wrapper;
|
|
}
|
|
function createCache(values) {
|
|
return (nativeCreate && Set) ? new SetCache(values) : null;
|
|
}
|
|
function createCompounder(callback) {
|
|
return function(string) {
|
|
var index = -1,
|
|
array = words(deburr(string)),
|
|
length = array.length,
|
|
result = '';
|
|
|
|
while (++index < length) {
|
|
result = callback(result, array[index], index);
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
function createCtorWrapper(Ctor) {
|
|
return function() {
|
|
var args = arguments;
|
|
switch (args.length) {
|
|
case 0: return new Ctor;
|
|
case 1: return new Ctor(args[0]);
|
|
case 2: return new Ctor(args[0], args[1]);
|
|
case 3: return new Ctor(args[0], args[1], args[2]);
|
|
case 4: return new Ctor(args[0], args[1], args[2], args[3]);
|
|
case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
|
|
case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
|
|
case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
|
|
}
|
|
var thisBinding = baseCreate(Ctor.prototype),
|
|
result = Ctor.apply(thisBinding, args);
|
|
return isObject(result) ? result : thisBinding;
|
|
};
|
|
}
|
|
function createCurry(flag) {
|
|
function curryFunc(func, arity, guard) {
|
|
if (guard && isIterateeCall(func, arity, guard)) {
|
|
arity = undefined;
|
|
}
|
|
var result = createWrapper(func, flag, undefined, undefined, undefined, undefined, undefined, arity);
|
|
result.placeholder = curryFunc.placeholder;
|
|
return result;
|
|
}
|
|
return curryFunc;
|
|
}
|
|
function createDefaults(assigner, customizer) {
|
|
return restParam(function(args) {
|
|
var object = args[0];
|
|
if (object == null) {
|
|
return object;
|
|
}
|
|
args.push(customizer);
|
|
return assigner.apply(undefined, args);
|
|
});
|
|
}
|
|
function createExtremum(comparator, exValue) {
|
|
return function(collection, iteratee, thisArg) {
|
|
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
|
iteratee = undefined;
|
|
}
|
|
iteratee = getCallback(iteratee, thisArg, 3);
|
|
if (iteratee.length == 1) {
|
|
collection = isArray(collection) ? collection : toIterable(collection);
|
|
var result = arrayExtremum(collection, iteratee, comparator, exValue);
|
|
if (!(collection.length && result === exValue)) {
|
|
return result;
|
|
}
|
|
}
|
|
return baseExtremum(collection, iteratee, comparator, exValue);
|
|
};
|
|
}
|
|
function createFind(eachFunc, fromRight) {
|
|
return function(collection, predicate, thisArg) {
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
if (isArray(collection)) {
|
|
var index = baseFindIndex(collection, predicate, fromRight);
|
|
return index > -1 ? collection[index] : undefined;
|
|
}
|
|
return baseFind(collection, predicate, eachFunc);
|
|
};
|
|
}
|
|
function createFindIndex(fromRight) {
|
|
return function(array, predicate, thisArg) {
|
|
if (!(array && array.length)) {
|
|
return -1;
|
|
}
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
return baseFindIndex(array, predicate, fromRight);
|
|
};
|
|
}
|
|
function createFindKey(objectFunc) {
|
|
return function(object, predicate, thisArg) {
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
return baseFind(object, predicate, objectFunc, true);
|
|
};
|
|
}
|
|
function createFlow(fromRight) {
|
|
return function() {
|
|
var wrapper,
|
|
length = arguments.length,
|
|
index = fromRight ? length : -1,
|
|
leftIndex = 0,
|
|
funcs = Array(length);
|
|
|
|
while ((fromRight ? index-- : ++index < length)) {
|
|
var func = funcs[leftIndex++] = arguments[index];
|
|
if (typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
if (!wrapper && LodashWrapper.prototype.thru && getFuncName(func) == 'wrapper') {
|
|
wrapper = new LodashWrapper([], true);
|
|
}
|
|
}
|
|
index = wrapper ? -1 : length;
|
|
while (++index < length) {
|
|
func = funcs[index];
|
|
|
|
var funcName = getFuncName(func),
|
|
data = funcName == 'wrapper' ? getData(func) : undefined;
|
|
|
|
if (data && isLaziable(data[0]) && data[1] == (ARY_FLAG | CURRY_FLAG | PARTIAL_FLAG | REARG_FLAG) && !data[4].length && data[9] == 1) {
|
|
wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
|
|
} else {
|
|
wrapper = (func.length == 1 && isLaziable(func)) ? wrapper[funcName]() : wrapper.thru(func);
|
|
}
|
|
}
|
|
return function() {
|
|
var args = arguments,
|
|
value = args[0];
|
|
|
|
if (wrapper && args.length == 1 && isArray(value) && value.length >= LARGE_ARRAY_SIZE) {
|
|
return wrapper.plant(value).value();
|
|
}
|
|
var index = 0,
|
|
result = length ? funcs[index].apply(this, args) : value;
|
|
|
|
while (++index < length) {
|
|
result = funcs[index].call(this, result);
|
|
}
|
|
return result;
|
|
};
|
|
};
|
|
}
|
|
function createForEach(arrayFunc, eachFunc) {
|
|
return function(collection, iteratee, thisArg) {
|
|
return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
|
|
? arrayFunc(collection, iteratee)
|
|
: eachFunc(collection, bindCallback(iteratee, thisArg, 3));
|
|
};
|
|
}
|
|
function createForIn(objectFunc) {
|
|
return function(object, iteratee, thisArg) {
|
|
if (typeof iteratee != 'function' || thisArg !== undefined) {
|
|
iteratee = bindCallback(iteratee, thisArg, 3);
|
|
}
|
|
return objectFunc(object, iteratee, keysIn);
|
|
};
|
|
}
|
|
function createForOwn(objectFunc) {
|
|
return function(object, iteratee, thisArg) {
|
|
if (typeof iteratee != 'function' || thisArg !== undefined) {
|
|
iteratee = bindCallback(iteratee, thisArg, 3);
|
|
}
|
|
return objectFunc(object, iteratee);
|
|
};
|
|
}
|
|
function createObjectMapper(isMapKeys) {
|
|
return function(object, iteratee, thisArg) {
|
|
var result = {};
|
|
iteratee = getCallback(iteratee, thisArg, 3);
|
|
|
|
baseForOwn(object, function(value, key, object) {
|
|
var mapped = iteratee(value, key, object);
|
|
key = isMapKeys ? mapped : key;
|
|
value = isMapKeys ? value : mapped;
|
|
result[key] = value;
|
|
});
|
|
return result;
|
|
};
|
|
}
|
|
function createPadDir(fromRight) {
|
|
return function(string, length, chars) {
|
|
string = baseToString(string);
|
|
return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string);
|
|
};
|
|
}
|
|
function createPartial(flag) {
|
|
var partialFunc = restParam(function(func, partials) {
|
|
var holders = replaceHolders(partials, partialFunc.placeholder);
|
|
return createWrapper(func, flag, undefined, partials, holders);
|
|
});
|
|
return partialFunc;
|
|
}
|
|
function createReduce(arrayFunc, eachFunc) {
|
|
return function(collection, iteratee, accumulator, thisArg) {
|
|
var initFromArray = arguments.length < 3;
|
|
return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
|
|
? arrayFunc(collection, iteratee, accumulator, initFromArray)
|
|
: baseReduce(collection, getCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc);
|
|
};
|
|
}
|
|
function createHybridWrapper(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
|
|
var isAry = bitmask & ARY_FLAG,
|
|
isBind = bitmask & BIND_FLAG,
|
|
isBindKey = bitmask & BIND_KEY_FLAG,
|
|
isCurry = bitmask & CURRY_FLAG,
|
|
isCurryBound = bitmask & CURRY_BOUND_FLAG,
|
|
isCurryRight = bitmask & CURRY_RIGHT_FLAG,
|
|
Ctor = isBindKey ? undefined : createCtorWrapper(func);
|
|
|
|
function wrapper() {
|
|
var length = arguments.length,
|
|
index = length,
|
|
args = Array(length);
|
|
|
|
while (index--) {
|
|
args[index] = arguments[index];
|
|
}
|
|
if (partials) {
|
|
args = composeArgs(args, partials, holders);
|
|
}
|
|
if (partialsRight) {
|
|
args = composeArgsRight(args, partialsRight, holdersRight);
|
|
}
|
|
if (isCurry || isCurryRight) {
|
|
var placeholder = wrapper.placeholder,
|
|
argsHolders = replaceHolders(args, placeholder);
|
|
|
|
length -= argsHolders.length;
|
|
if (length < arity) {
|
|
var newArgPos = argPos ? arrayCopy(argPos) : undefined,
|
|
newArity = nativeMax(arity - length, 0),
|
|
newsHolders = isCurry ? argsHolders : undefined,
|
|
newHoldersRight = isCurry ? undefined : argsHolders,
|
|
newPartials = isCurry ? args : undefined,
|
|
newPartialsRight = isCurry ? undefined : args;
|
|
|
|
bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
|
|
bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
|
|
|
|
if (!isCurryBound) {
|
|
bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
|
|
}
|
|
var newData = [func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity],
|
|
result = createHybridWrapper.apply(undefined, newData);
|
|
|
|
if (isLaziable(func)) {
|
|
setData(result, newData);
|
|
}
|
|
result.placeholder = placeholder;
|
|
return result;
|
|
}
|
|
}
|
|
var thisBinding = isBind ? thisArg : this,
|
|
fn = isBindKey ? thisBinding[func] : func;
|
|
|
|
if (argPos) {
|
|
args = reorder(args, argPos);
|
|
}
|
|
if (isAry && ary < args.length) {
|
|
args.length = ary;
|
|
}
|
|
if (this && this !== root && this instanceof wrapper) {
|
|
fn = Ctor || createCtorWrapper(func);
|
|
}
|
|
return fn.apply(thisBinding, args);
|
|
}
|
|
return wrapper;
|
|
}
|
|
function createPadding(string, length, chars) {
|
|
var strLength = string.length;
|
|
length = +length;
|
|
|
|
if (strLength >= length || !nativeIsFinite(length)) {
|
|
return '';
|
|
}
|
|
var padLength = length - strLength;
|
|
chars = chars == null ? ' ' : (chars + '');
|
|
return repeat(chars, nativeCeil(padLength / chars.length)).slice(0, padLength);
|
|
}
|
|
function createPartialWrapper(func, bitmask, thisArg, partials) {
|
|
var isBind = bitmask & BIND_FLAG,
|
|
Ctor = createCtorWrapper(func);
|
|
|
|
function wrapper() {
|
|
var argsIndex = -1,
|
|
argsLength = arguments.length,
|
|
leftIndex = -1,
|
|
leftLength = partials.length,
|
|
args = Array(leftLength + argsLength);
|
|
|
|
while (++leftIndex < leftLength) {
|
|
args[leftIndex] = partials[leftIndex];
|
|
}
|
|
while (argsLength--) {
|
|
args[leftIndex++] = arguments[++argsIndex];
|
|
}
|
|
var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
|
|
return fn.apply(isBind ? thisArg : this, args);
|
|
}
|
|
return wrapper;
|
|
}
|
|
function createRound(methodName) {
|
|
var func = Math[methodName];
|
|
return function(number, precision) {
|
|
precision = precision === undefined ? 0 : (+precision || 0);
|
|
if (precision) {
|
|
precision = pow(10, precision);
|
|
return func(number * precision) / precision;
|
|
}
|
|
return func(number);
|
|
};
|
|
}
|
|
function createSortedIndex(retHighest) {
|
|
return function(array, value, iteratee, thisArg) {
|
|
var callback = getCallback(iteratee);
|
|
return (iteratee == null && callback === baseCallback)
|
|
? binaryIndex(array, value, retHighest)
|
|
: binaryIndexBy(array, value, callback(iteratee, thisArg, 1), retHighest);
|
|
};
|
|
}
|
|
function createWrapper(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
|
|
var isBindKey = bitmask & BIND_KEY_FLAG;
|
|
if (!isBindKey && typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
var length = partials ? partials.length : 0;
|
|
if (!length) {
|
|
bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG);
|
|
partials = holders = undefined;
|
|
}
|
|
length -= (holders ? holders.length : 0);
|
|
if (bitmask & PARTIAL_RIGHT_FLAG) {
|
|
var partialsRight = partials,
|
|
holdersRight = holders;
|
|
|
|
partials = holders = undefined;
|
|
}
|
|
var data = isBindKey ? undefined : getData(func),
|
|
newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity];
|
|
|
|
if (data) {
|
|
mergeData(newData, data);
|
|
bitmask = newData[1];
|
|
arity = newData[9];
|
|
}
|
|
newData[9] = arity == null
|
|
? (isBindKey ? 0 : func.length)
|
|
: (nativeMax(arity - length, 0) || 0);
|
|
|
|
if (bitmask == BIND_FLAG) {
|
|
var result = createBindWrapper(newData[0], newData[2]);
|
|
} else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) {
|
|
result = createPartialWrapper.apply(undefined, newData);
|
|
} else {
|
|
result = createHybridWrapper.apply(undefined, newData);
|
|
}
|
|
var setter = data ? baseSetData : setData;
|
|
return setter(result, newData);
|
|
}
|
|
function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
|
|
var index = -1,
|
|
arrLength = array.length,
|
|
othLength = other.length;
|
|
|
|
if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
|
|
return false;
|
|
}
|
|
while (++index < arrLength) {
|
|
var arrValue = array[index],
|
|
othValue = other[index],
|
|
result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
|
|
|
|
if (result !== undefined) {
|
|
if (result) {
|
|
continue;
|
|
}
|
|
return false;
|
|
}
|
|
if (isLoose) {
|
|
if (!arraySome(other, function(othValue) {
|
|
return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
|
|
})) {
|
|
return false;
|
|
}
|
|
} else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
function equalByTag(object, other, tag) {
|
|
switch (tag) {
|
|
case boolTag:
|
|
case dateTag:
|
|
return +object == +other;
|
|
|
|
case errorTag:
|
|
return object.name == other.name && object.message == other.message;
|
|
|
|
case numberTag:
|
|
return (object != +object)
|
|
? other != +other
|
|
: object == +other;
|
|
|
|
case regexpTag:
|
|
case stringTag:
|
|
return object == (other + '');
|
|
}
|
|
return false;
|
|
}
|
|
function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
|
|
var objProps = keys(object),
|
|
objLength = objProps.length,
|
|
othProps = keys(other),
|
|
othLength = othProps.length;
|
|
|
|
if (objLength != othLength && !isLoose) {
|
|
return false;
|
|
}
|
|
var index = objLength;
|
|
while (index--) {
|
|
var key = objProps[index];
|
|
if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
|
|
return false;
|
|
}
|
|
}
|
|
var skipCtor = isLoose;
|
|
while (++index < objLength) {
|
|
key = objProps[index];
|
|
var objValue = object[key],
|
|
othValue = other[key],
|
|
result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
|
|
if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
|
|
return false;
|
|
}
|
|
skipCtor || (skipCtor = key == 'constructor');
|
|
}
|
|
if (!skipCtor) {
|
|
var objCtor = object.constructor,
|
|
othCtor = other.constructor;
|
|
if (objCtor != othCtor &&
|
|
('constructor' in object && 'constructor' in other) &&
|
|
!(typeof objCtor == 'function' && objCtor instanceof objCtor &&
|
|
typeof othCtor == 'function' && othCtor instanceof othCtor)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
function getCallback(func, thisArg, argCount) {
|
|
var result = lodash.callback || callback;
|
|
result = result === callback ? baseCallback : result;
|
|
return argCount ? result(func, thisArg, argCount) : result;
|
|
}
|
|
var getData = !metaMap ? noop : function(func) {
|
|
return metaMap.get(func);
|
|
};
|
|
function getFuncName(func) {
|
|
var result = func.name,
|
|
array = realNames[result],
|
|
length = array ? array.length : 0;
|
|
|
|
while (length--) {
|
|
var data = array[length],
|
|
otherFunc = data.func;
|
|
if (otherFunc == null || otherFunc == func) {
|
|
return data.name;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function getIndexOf(collection, target, fromIndex) {
|
|
var result = lodash.indexOf || indexOf;
|
|
result = result === indexOf ? baseIndexOf : result;
|
|
return collection ? result(collection, target, fromIndex) : result;
|
|
}
|
|
var getLength = baseProperty('length');
|
|
function getMatchData(object) {
|
|
var result = pairs(object),
|
|
length = result.length;
|
|
|
|
while (length--) {
|
|
result[length][2] = isStrictComparable(result[length][1]);
|
|
}
|
|
return result;
|
|
}
|
|
function getNative(object, key) {
|
|
var value = object == null ? undefined : object[key];
|
|
return isNative(value) ? value : undefined;
|
|
}
|
|
function getView(start, end, transforms) {
|
|
var index = -1,
|
|
length = transforms.length;
|
|
|
|
while (++index < length) {
|
|
var data = transforms[index],
|
|
size = data.size;
|
|
|
|
switch (data.type) {
|
|
case 'drop': start += size; break;
|
|
case 'dropRight': end -= size; break;
|
|
case 'take': end = nativeMin(end, start + size); break;
|
|
case 'takeRight': start = nativeMax(start, end - size); break;
|
|
}
|
|
}
|
|
return { 'start': start, 'end': end };
|
|
}
|
|
function initCloneArray(array) {
|
|
var length = array.length,
|
|
result = new array.constructor(length);
|
|
if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
|
|
result.index = array.index;
|
|
result.input = array.input;
|
|
}
|
|
return result;
|
|
}
|
|
function initCloneObject(object) {
|
|
var Ctor = object.constructor;
|
|
if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {
|
|
Ctor = Object;
|
|
}
|
|
return new Ctor;
|
|
}
|
|
function initCloneByTag(object, tag, isDeep) {
|
|
var Ctor = object.constructor;
|
|
switch (tag) {
|
|
case arrayBufferTag:
|
|
return bufferClone(object);
|
|
|
|
case boolTag:
|
|
case dateTag:
|
|
return new Ctor(+object);
|
|
|
|
case float32Tag: case float64Tag:
|
|
case int8Tag: case int16Tag: case int32Tag:
|
|
case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
|
|
var buffer = object.buffer;
|
|
return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);
|
|
|
|
case numberTag:
|
|
case stringTag:
|
|
return new Ctor(object);
|
|
|
|
case regexpTag:
|
|
var result = new Ctor(object.source, reFlags.exec(object));
|
|
result.lastIndex = object.lastIndex;
|
|
}
|
|
return result;
|
|
}
|
|
function invokePath(object, path, args) {
|
|
if (object != null && !isKey(path, object)) {
|
|
path = toPath(path);
|
|
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
|
|
path = last(path);
|
|
}
|
|
var func = object == null ? object : object[path];
|
|
return func == null ? undefined : func.apply(object, args);
|
|
}
|
|
function isArrayLike(value) {
|
|
return value != null && isLength(getLength(value));
|
|
}
|
|
function isIndex(value, length) {
|
|
value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
|
|
length = length == null ? MAX_SAFE_INTEGER : length;
|
|
return value > -1 && value % 1 == 0 && value < length;
|
|
}
|
|
function isIterateeCall(value, index, object) {
|
|
if (!isObject(object)) {
|
|
return false;
|
|
}
|
|
var type = typeof index;
|
|
if (type == 'number'
|
|
? (isArrayLike(object) && isIndex(index, object.length))
|
|
: (type == 'string' && index in object)) {
|
|
var other = object[index];
|
|
return value === value ? (value === other) : (other !== other);
|
|
}
|
|
return false;
|
|
}
|
|
function isKey(value, object) {
|
|
var type = typeof value;
|
|
if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
|
|
return true;
|
|
}
|
|
if (isArray(value)) {
|
|
return false;
|
|
}
|
|
var result = !reIsDeepProp.test(value);
|
|
return result || (object != null && value in toObject(object));
|
|
}
|
|
function isLaziable(func) {
|
|
var funcName = getFuncName(func);
|
|
if (!(funcName in LazyWrapper.prototype)) {
|
|
return false;
|
|
}
|
|
var other = lodash[funcName];
|
|
if (func === other) {
|
|
return true;
|
|
}
|
|
var data = getData(other);
|
|
return !!data && func === data[0];
|
|
}
|
|
function isLength(value) {
|
|
return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
|
|
}
|
|
function isStrictComparable(value) {
|
|
return value === value && !isObject(value);
|
|
}
|
|
function mergeData(data, source) {
|
|
var bitmask = data[1],
|
|
srcBitmask = source[1],
|
|
newBitmask = bitmask | srcBitmask,
|
|
isCommon = newBitmask < ARY_FLAG;
|
|
|
|
var isCombo =
|
|
(srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) ||
|
|
(srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) ||
|
|
(srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG);
|
|
if (!(isCommon || isCombo)) {
|
|
return data;
|
|
}
|
|
if (srcBitmask & BIND_FLAG) {
|
|
data[2] = source[2];
|
|
newBitmask |= (bitmask & BIND_FLAG) ? 0 : CURRY_BOUND_FLAG;
|
|
}
|
|
var value = source[3];
|
|
if (value) {
|
|
var partials = data[3];
|
|
data[3] = partials ? composeArgs(partials, value, source[4]) : arrayCopy(value);
|
|
data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : arrayCopy(source[4]);
|
|
}
|
|
value = source[5];
|
|
if (value) {
|
|
partials = data[5];
|
|
data[5] = partials ? composeArgsRight(partials, value, source[6]) : arrayCopy(value);
|
|
data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : arrayCopy(source[6]);
|
|
}
|
|
value = source[7];
|
|
if (value) {
|
|
data[7] = arrayCopy(value);
|
|
}
|
|
if (srcBitmask & ARY_FLAG) {
|
|
data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
|
|
}
|
|
if (data[9] == null) {
|
|
data[9] = source[9];
|
|
}
|
|
data[0] = source[0];
|
|
data[1] = newBitmask;
|
|
|
|
return data;
|
|
}
|
|
function mergeDefaults(objectValue, sourceValue) {
|
|
return objectValue === undefined ? sourceValue : merge(objectValue, sourceValue, mergeDefaults);
|
|
}
|
|
function pickByArray(object, props) {
|
|
object = toObject(object);
|
|
|
|
var index = -1,
|
|
length = props.length,
|
|
result = {};
|
|
|
|
while (++index < length) {
|
|
var key = props[index];
|
|
if (key in object) {
|
|
result[key] = object[key];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function pickByCallback(object, predicate) {
|
|
var result = {};
|
|
baseForIn(object, function(value, key, object) {
|
|
if (predicate(value, key, object)) {
|
|
result[key] = value;
|
|
}
|
|
});
|
|
return result;
|
|
}
|
|
function reorder(array, indexes) {
|
|
var arrLength = array.length,
|
|
length = nativeMin(indexes.length, arrLength),
|
|
oldArray = arrayCopy(array);
|
|
|
|
while (length--) {
|
|
var index = indexes[length];
|
|
array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
|
|
}
|
|
return array;
|
|
}
|
|
var setData = (function() {
|
|
var count = 0,
|
|
lastCalled = 0;
|
|
|
|
return function(key, value) {
|
|
var stamp = now(),
|
|
remaining = HOT_SPAN - (stamp - lastCalled);
|
|
|
|
lastCalled = stamp;
|
|
if (remaining > 0) {
|
|
if (++count >= HOT_COUNT) {
|
|
return key;
|
|
}
|
|
} else {
|
|
count = 0;
|
|
}
|
|
return baseSetData(key, value);
|
|
};
|
|
}());
|
|
function shimKeys(object) {
|
|
var props = keysIn(object),
|
|
propsLength = props.length,
|
|
length = propsLength && object.length;
|
|
|
|
var allowIndexes = !!length && isLength(length) &&
|
|
(isArray(object) || isArguments(object));
|
|
|
|
var index = -1,
|
|
result = [];
|
|
|
|
while (++index < propsLength) {
|
|
var key = props[index];
|
|
if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function toIterable(value) {
|
|
if (value == null) {
|
|
return [];
|
|
}
|
|
if (!isArrayLike(value)) {
|
|
return values(value);
|
|
}
|
|
return isObject(value) ? value : Object(value);
|
|
}
|
|
function toObject(value) {
|
|
return isObject(value) ? value : Object(value);
|
|
}
|
|
function toPath(value) {
|
|
if (isArray(value)) {
|
|
return value;
|
|
}
|
|
var result = [];
|
|
baseToString(value).replace(rePropName, function(match, number, quote, string) {
|
|
result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
|
|
});
|
|
return result;
|
|
}
|
|
function wrapperClone(wrapper) {
|
|
return wrapper instanceof LazyWrapper
|
|
? wrapper.clone()
|
|
: new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__));
|
|
}
|
|
function chunk(array, size, guard) {
|
|
if (guard ? isIterateeCall(array, size, guard) : size == null) {
|
|
size = 1;
|
|
} else {
|
|
size = nativeMax(nativeFloor(size) || 1, 1);
|
|
}
|
|
var index = 0,
|
|
length = array ? array.length : 0,
|
|
resIndex = -1,
|
|
result = Array(nativeCeil(length / size));
|
|
|
|
while (index < length) {
|
|
result[++resIndex] = baseSlice(array, index, (index += size));
|
|
}
|
|
return result;
|
|
}
|
|
function compact(array) {
|
|
var index = -1,
|
|
length = array ? array.length : 0,
|
|
resIndex = -1,
|
|
result = [];
|
|
|
|
while (++index < length) {
|
|
var value = array[index];
|
|
if (value) {
|
|
result[++resIndex] = value;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var difference = restParam(function(array, values) {
|
|
return (isObjectLike(array) && isArrayLike(array))
|
|
? baseDifference(array, baseFlatten(values, false, true))
|
|
: [];
|
|
});
|
|
function drop(array, n, guard) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
if (guard ? isIterateeCall(array, n, guard) : n == null) {
|
|
n = 1;
|
|
}
|
|
return baseSlice(array, n < 0 ? 0 : n);
|
|
}
|
|
function dropRight(array, n, guard) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
if (guard ? isIterateeCall(array, n, guard) : n == null) {
|
|
n = 1;
|
|
}
|
|
n = length - (+n || 0);
|
|
return baseSlice(array, 0, n < 0 ? 0 : n);
|
|
}
|
|
function dropRightWhile(array, predicate, thisArg) {
|
|
return (array && array.length)
|
|
? baseWhile(array, getCallback(predicate, thisArg, 3), true, true)
|
|
: [];
|
|
}
|
|
function dropWhile(array, predicate, thisArg) {
|
|
return (array && array.length)
|
|
? baseWhile(array, getCallback(predicate, thisArg, 3), true)
|
|
: [];
|
|
}
|
|
function fill(array, value, start, end) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {
|
|
start = 0;
|
|
end = length;
|
|
}
|
|
return baseFill(array, value, start, end);
|
|
}
|
|
var findIndex = createFindIndex();
|
|
var findLastIndex = createFindIndex(true);
|
|
function first(array) {
|
|
return array ? array[0] : undefined;
|
|
}
|
|
function flatten(array, isDeep, guard) {
|
|
var length = array ? array.length : 0;
|
|
if (guard && isIterateeCall(array, isDeep, guard)) {
|
|
isDeep = false;
|
|
}
|
|
return length ? baseFlatten(array, isDeep) : [];
|
|
}
|
|
function flattenDeep(array) {
|
|
var length = array ? array.length : 0;
|
|
return length ? baseFlatten(array, true) : [];
|
|
}
|
|
function indexOf(array, value, fromIndex) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return -1;
|
|
}
|
|
if (typeof fromIndex == 'number') {
|
|
fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
|
|
} else if (fromIndex) {
|
|
var index = binaryIndex(array, value);
|
|
if (index < length &&
|
|
(value === value ? (value === array[index]) : (array[index] !== array[index]))) {
|
|
return index;
|
|
}
|
|
return -1;
|
|
}
|
|
return baseIndexOf(array, value, fromIndex || 0);
|
|
}
|
|
function initial(array) {
|
|
return dropRight(array, 1);
|
|
}
|
|
var intersection = restParam(function(arrays) {
|
|
var othLength = arrays.length,
|
|
othIndex = othLength,
|
|
caches = Array(length),
|
|
indexOf = getIndexOf(),
|
|
isCommon = indexOf == baseIndexOf,
|
|
result = [];
|
|
|
|
while (othIndex--) {
|
|
var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : [];
|
|
caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null;
|
|
}
|
|
var array = arrays[0],
|
|
index = -1,
|
|
length = array ? array.length : 0,
|
|
seen = caches[0];
|
|
|
|
outer:
|
|
while (++index < length) {
|
|
value = array[index];
|
|
if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) {
|
|
var othIndex = othLength;
|
|
while (--othIndex) {
|
|
var cache = caches[othIndex];
|
|
if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) {
|
|
continue outer;
|
|
}
|
|
}
|
|
if (seen) {
|
|
seen.push(value);
|
|
}
|
|
result.push(value);
|
|
}
|
|
}
|
|
return result;
|
|
});
|
|
function last(array) {
|
|
var length = array ? array.length : 0;
|
|
return length ? array[length - 1] : undefined;
|
|
}
|
|
function lastIndexOf(array, value, fromIndex) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return -1;
|
|
}
|
|
var index = length;
|
|
if (typeof fromIndex == 'number') {
|
|
index = (fromIndex < 0 ? nativeMax(length + fromIndex, 0) : nativeMin(fromIndex || 0, length - 1)) + 1;
|
|
} else if (fromIndex) {
|
|
index = binaryIndex(array, value, true) - 1;
|
|
var other = array[index];
|
|
if (value === value ? (value === other) : (other !== other)) {
|
|
return index;
|
|
}
|
|
return -1;
|
|
}
|
|
if (value !== value) {
|
|
return indexOfNaN(array, index, true);
|
|
}
|
|
while (index--) {
|
|
if (array[index] === value) {
|
|
return index;
|
|
}
|
|
}
|
|
return -1;
|
|
}
|
|
function pull() {
|
|
var args = arguments,
|
|
array = args[0];
|
|
|
|
if (!(array && array.length)) {
|
|
return array;
|
|
}
|
|
var index = 0,
|
|
indexOf = getIndexOf(),
|
|
length = args.length;
|
|
|
|
while (++index < length) {
|
|
var fromIndex = 0,
|
|
value = args[index];
|
|
|
|
while ((fromIndex = indexOf(array, value, fromIndex)) > -1) {
|
|
splice.call(array, fromIndex, 1);
|
|
}
|
|
}
|
|
return array;
|
|
}
|
|
var pullAt = restParam(function(array, indexes) {
|
|
indexes = baseFlatten(indexes);
|
|
|
|
var result = baseAt(array, indexes);
|
|
basePullAt(array, indexes.sort(baseCompareAscending));
|
|
return result;
|
|
});
|
|
function remove(array, predicate, thisArg) {
|
|
var result = [];
|
|
if (!(array && array.length)) {
|
|
return result;
|
|
}
|
|
var index = -1,
|
|
indexes = [],
|
|
length = array.length;
|
|
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
while (++index < length) {
|
|
var value = array[index];
|
|
if (predicate(value, index, array)) {
|
|
result.push(value);
|
|
indexes.push(index);
|
|
}
|
|
}
|
|
basePullAt(array, indexes);
|
|
return result;
|
|
}
|
|
function rest(array) {
|
|
return drop(array, 1);
|
|
}
|
|
function slice(array, start, end) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {
|
|
start = 0;
|
|
end = length;
|
|
}
|
|
return baseSlice(array, start, end);
|
|
}
|
|
var sortedIndex = createSortedIndex();
|
|
var sortedLastIndex = createSortedIndex(true);
|
|
function take(array, n, guard) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
if (guard ? isIterateeCall(array, n, guard) : n == null) {
|
|
n = 1;
|
|
}
|
|
return baseSlice(array, 0, n < 0 ? 0 : n);
|
|
}
|
|
function takeRight(array, n, guard) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
if (guard ? isIterateeCall(array, n, guard) : n == null) {
|
|
n = 1;
|
|
}
|
|
n = length - (+n || 0);
|
|
return baseSlice(array, n < 0 ? 0 : n);
|
|
}
|
|
function takeRightWhile(array, predicate, thisArg) {
|
|
return (array && array.length)
|
|
? baseWhile(array, getCallback(predicate, thisArg, 3), false, true)
|
|
: [];
|
|
}
|
|
function takeWhile(array, predicate, thisArg) {
|
|
return (array && array.length)
|
|
? baseWhile(array, getCallback(predicate, thisArg, 3))
|
|
: [];
|
|
}
|
|
var union = restParam(function(arrays) {
|
|
return baseUniq(baseFlatten(arrays, false, true));
|
|
});
|
|
function uniq(array, isSorted, iteratee, thisArg) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
if (isSorted != null && typeof isSorted != 'boolean') {
|
|
thisArg = iteratee;
|
|
iteratee = isIterateeCall(array, isSorted, thisArg) ? undefined : isSorted;
|
|
isSorted = false;
|
|
}
|
|
var callback = getCallback();
|
|
if (!(iteratee == null && callback === baseCallback)) {
|
|
iteratee = callback(iteratee, thisArg, 3);
|
|
}
|
|
return (isSorted && getIndexOf() == baseIndexOf)
|
|
? sortedUniq(array, iteratee)
|
|
: baseUniq(array, iteratee);
|
|
}
|
|
function unzip(array) {
|
|
if (!(array && array.length)) {
|
|
return [];
|
|
}
|
|
var index = -1,
|
|
length = 0;
|
|
|
|
array = arrayFilter(array, function(group) {
|
|
if (isArrayLike(group)) {
|
|
length = nativeMax(group.length, length);
|
|
return true;
|
|
}
|
|
});
|
|
var result = Array(length);
|
|
while (++index < length) {
|
|
result[index] = arrayMap(array, baseProperty(index));
|
|
}
|
|
return result;
|
|
}
|
|
function unzipWith(array, iteratee, thisArg) {
|
|
var length = array ? array.length : 0;
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
var result = unzip(array);
|
|
if (iteratee == null) {
|
|
return result;
|
|
}
|
|
iteratee = bindCallback(iteratee, thisArg, 4);
|
|
return arrayMap(result, function(group) {
|
|
return arrayReduce(group, iteratee, undefined, true);
|
|
});
|
|
}
|
|
var without = restParam(function(array, values) {
|
|
return isArrayLike(array)
|
|
? baseDifference(array, values)
|
|
: [];
|
|
});
|
|
function xor() {
|
|
var index = -1,
|
|
length = arguments.length;
|
|
|
|
while (++index < length) {
|
|
var array = arguments[index];
|
|
if (isArrayLike(array)) {
|
|
var result = result
|
|
? arrayPush(baseDifference(result, array), baseDifference(array, result))
|
|
: array;
|
|
}
|
|
}
|
|
return result ? baseUniq(result) : [];
|
|
}
|
|
var zip = restParam(unzip);
|
|
function zipObject(props, values) {
|
|
var index = -1,
|
|
length = props ? props.length : 0,
|
|
result = {};
|
|
|
|
if (length && !values && !isArray(props[0])) {
|
|
values = [];
|
|
}
|
|
while (++index < length) {
|
|
var key = props[index];
|
|
if (values) {
|
|
result[key] = values[index];
|
|
} else if (key) {
|
|
result[key[0]] = key[1];
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var zipWith = restParam(function(arrays) {
|
|
var length = arrays.length,
|
|
iteratee = length > 2 ? arrays[length - 2] : undefined,
|
|
thisArg = length > 1 ? arrays[length - 1] : undefined;
|
|
|
|
if (length > 2 && typeof iteratee == 'function') {
|
|
length -= 2;
|
|
} else {
|
|
iteratee = (length > 1 && typeof thisArg == 'function') ? (--length, thisArg) : undefined;
|
|
thisArg = undefined;
|
|
}
|
|
arrays.length = length;
|
|
return unzipWith(arrays, iteratee, thisArg);
|
|
});
|
|
function chain(value) {
|
|
var result = lodash(value);
|
|
result.__chain__ = true;
|
|
return result;
|
|
}
|
|
function tap(value, interceptor, thisArg) {
|
|
interceptor.call(thisArg, value);
|
|
return value;
|
|
}
|
|
function thru(value, interceptor, thisArg) {
|
|
return interceptor.call(thisArg, value);
|
|
}
|
|
function wrapperChain() {
|
|
return chain(this);
|
|
}
|
|
function wrapperCommit() {
|
|
return new LodashWrapper(this.value(), this.__chain__);
|
|
}
|
|
var wrapperConcat = restParam(function(values) {
|
|
values = baseFlatten(values);
|
|
return this.thru(function(array) {
|
|
return arrayConcat(isArray(array) ? array : [toObject(array)], values);
|
|
});
|
|
});
|
|
function wrapperPlant(value) {
|
|
var result,
|
|
parent = this;
|
|
|
|
while (parent instanceof baseLodash) {
|
|
var clone = wrapperClone(parent);
|
|
if (result) {
|
|
previous.__wrapped__ = clone;
|
|
} else {
|
|
result = clone;
|
|
}
|
|
var previous = clone;
|
|
parent = parent.__wrapped__;
|
|
}
|
|
previous.__wrapped__ = value;
|
|
return result;
|
|
}
|
|
function wrapperReverse() {
|
|
var value = this.__wrapped__;
|
|
|
|
var interceptor = function(value) {
|
|
return (wrapped && wrapped.__dir__ < 0) ? value : value.reverse();
|
|
};
|
|
if (value instanceof LazyWrapper) {
|
|
var wrapped = value;
|
|
if (this.__actions__.length) {
|
|
wrapped = new LazyWrapper(this);
|
|
}
|
|
wrapped = wrapped.reverse();
|
|
wrapped.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });
|
|
return new LodashWrapper(wrapped, this.__chain__);
|
|
}
|
|
return this.thru(interceptor);
|
|
}
|
|
function wrapperToString() {
|
|
return (this.value() + '');
|
|
}
|
|
function wrapperValue() {
|
|
return baseWrapperValue(this.__wrapped__, this.__actions__);
|
|
}
|
|
var at = restParam(function(collection, props) {
|
|
return baseAt(collection, baseFlatten(props));
|
|
});
|
|
var countBy = createAggregator(function(result, value, key) {
|
|
hasOwnProperty.call(result, key) ? ++result[key] : (result[key] = 1);
|
|
});
|
|
function every(collection, predicate, thisArg) {
|
|
var func = isArray(collection) ? arrayEvery : baseEvery;
|
|
if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
|
|
predicate = undefined;
|
|
}
|
|
if (typeof predicate != 'function' || thisArg !== undefined) {
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
}
|
|
return func(collection, predicate);
|
|
}
|
|
function filter(collection, predicate, thisArg) {
|
|
var func = isArray(collection) ? arrayFilter : baseFilter;
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
return func(collection, predicate);
|
|
}
|
|
var find = createFind(baseEach);
|
|
var findLast = createFind(baseEachRight, true);
|
|
function findWhere(collection, source) {
|
|
return find(collection, baseMatches(source));
|
|
}
|
|
var forEach = createForEach(arrayEach, baseEach);
|
|
var forEachRight = createForEach(arrayEachRight, baseEachRight);
|
|
var groupBy = createAggregator(function(result, value, key) {
|
|
if (hasOwnProperty.call(result, key)) {
|
|
result[key].push(value);
|
|
} else {
|
|
result[key] = [value];
|
|
}
|
|
});
|
|
function includes(collection, target, fromIndex, guard) {
|
|
var length = collection ? getLength(collection) : 0;
|
|
if (!isLength(length)) {
|
|
collection = values(collection);
|
|
length = collection.length;
|
|
}
|
|
if (typeof fromIndex != 'number' || (guard && isIterateeCall(target, fromIndex, guard))) {
|
|
fromIndex = 0;
|
|
} else {
|
|
fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : (fromIndex || 0);
|
|
}
|
|
return (typeof collection == 'string' || !isArray(collection) && isString(collection))
|
|
? (fromIndex <= length && collection.indexOf(target, fromIndex) > -1)
|
|
: (!!length && getIndexOf(collection, target, fromIndex) > -1);
|
|
}
|
|
var indexBy = createAggregator(function(result, value, key) {
|
|
result[key] = value;
|
|
});
|
|
var invoke = restParam(function(collection, path, args) {
|
|
var index = -1,
|
|
isFunc = typeof path == 'function',
|
|
isProp = isKey(path),
|
|
result = isArrayLike(collection) ? Array(collection.length) : [];
|
|
|
|
baseEach(collection, function(value) {
|
|
var func = isFunc ? path : ((isProp && value != null) ? value[path] : undefined);
|
|
result[++index] = func ? func.apply(value, args) : invokePath(value, path, args);
|
|
});
|
|
return result;
|
|
});
|
|
function map(collection, iteratee, thisArg) {
|
|
var func = isArray(collection) ? arrayMap : baseMap;
|
|
iteratee = getCallback(iteratee, thisArg, 3);
|
|
return func(collection, iteratee);
|
|
}
|
|
var partition = createAggregator(function(result, value, key) {
|
|
result[key ? 0 : 1].push(value);
|
|
}, function() { return [[], []]; });
|
|
function pluck(collection, path) {
|
|
return map(collection, property(path));
|
|
}
|
|
var reduce = createReduce(arrayReduce, baseEach);
|
|
var reduceRight = createReduce(arrayReduceRight, baseEachRight);
|
|
function reject(collection, predicate, thisArg) {
|
|
var func = isArray(collection) ? arrayFilter : baseFilter;
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
return func(collection, function(value, index, collection) {
|
|
return !predicate(value, index, collection);
|
|
});
|
|
}
|
|
function sample(collection, n, guard) {
|
|
if (guard ? isIterateeCall(collection, n, guard) : n == null) {
|
|
collection = toIterable(collection);
|
|
var length = collection.length;
|
|
return length > 0 ? collection[baseRandom(0, length - 1)] : undefined;
|
|
}
|
|
var index = -1,
|
|
result = toArray(collection),
|
|
length = result.length,
|
|
lastIndex = length - 1;
|
|
|
|
n = nativeMin(n < 0 ? 0 : (+n || 0), length);
|
|
while (++index < n) {
|
|
var rand = baseRandom(index, lastIndex),
|
|
value = result[rand];
|
|
|
|
result[rand] = result[index];
|
|
result[index] = value;
|
|
}
|
|
result.length = n;
|
|
return result;
|
|
}
|
|
function shuffle(collection) {
|
|
return sample(collection, POSITIVE_INFINITY);
|
|
}
|
|
function size(collection) {
|
|
var length = collection ? getLength(collection) : 0;
|
|
return isLength(length) ? length : keys(collection).length;
|
|
}
|
|
function some(collection, predicate, thisArg) {
|
|
var func = isArray(collection) ? arraySome : baseSome;
|
|
if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
|
|
predicate = undefined;
|
|
}
|
|
if (typeof predicate != 'function' || thisArg !== undefined) {
|
|
predicate = getCallback(predicate, thisArg, 3);
|
|
}
|
|
return func(collection, predicate);
|
|
}
|
|
function sortBy(collection, iteratee, thisArg) {
|
|
if (collection == null) {
|
|
return [];
|
|
}
|
|
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
|
iteratee = undefined;
|
|
}
|
|
var index = -1;
|
|
iteratee = getCallback(iteratee, thisArg, 3);
|
|
|
|
var result = baseMap(collection, function(value, key, collection) {
|
|
return { 'criteria': iteratee(value, key, collection), 'index': ++index, 'value': value };
|
|
});
|
|
return baseSortBy(result, compareAscending);
|
|
}
|
|
var sortByAll = restParam(function(collection, iteratees) {
|
|
if (collection == null) {
|
|
return [];
|
|
}
|
|
var guard = iteratees[2];
|
|
if (guard && isIterateeCall(iteratees[0], iteratees[1], guard)) {
|
|
iteratees.length = 1;
|
|
}
|
|
return baseSortByOrder(collection, baseFlatten(iteratees), []);
|
|
});
|
|
function sortByOrder(collection, iteratees, orders, guard) {
|
|
if (collection == null) {
|
|
return [];
|
|
}
|
|
if (guard && isIterateeCall(iteratees, orders, guard)) {
|
|
orders = undefined;
|
|
}
|
|
if (!isArray(iteratees)) {
|
|
iteratees = iteratees == null ? [] : [iteratees];
|
|
}
|
|
if (!isArray(orders)) {
|
|
orders = orders == null ? [] : [orders];
|
|
}
|
|
return baseSortByOrder(collection, iteratees, orders);
|
|
}
|
|
function where(collection, source) {
|
|
return filter(collection, baseMatches(source));
|
|
}
|
|
var now = nativeNow || function() {
|
|
return new Date().getTime();
|
|
};
|
|
function after(n, func) {
|
|
if (typeof func != 'function') {
|
|
if (typeof n == 'function') {
|
|
var temp = n;
|
|
n = func;
|
|
func = temp;
|
|
} else {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
}
|
|
n = nativeIsFinite(n = +n) ? n : 0;
|
|
return function() {
|
|
if (--n < 1) {
|
|
return func.apply(this, arguments);
|
|
}
|
|
};
|
|
}
|
|
function ary(func, n, guard) {
|
|
if (guard && isIterateeCall(func, n, guard)) {
|
|
n = undefined;
|
|
}
|
|
n = (func && n == null) ? func.length : nativeMax(+n || 0, 0);
|
|
return createWrapper(func, ARY_FLAG, undefined, undefined, undefined, undefined, n);
|
|
}
|
|
function before(n, func) {
|
|
var result;
|
|
if (typeof func != 'function') {
|
|
if (typeof n == 'function') {
|
|
var temp = n;
|
|
n = func;
|
|
func = temp;
|
|
} else {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
}
|
|
return function() {
|
|
if (--n > 0) {
|
|
result = func.apply(this, arguments);
|
|
}
|
|
if (n <= 1) {
|
|
func = undefined;
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
var bind = restParam(function(func, thisArg, partials) {
|
|
var bitmask = BIND_FLAG;
|
|
if (partials.length) {
|
|
var holders = replaceHolders(partials, bind.placeholder);
|
|
bitmask |= PARTIAL_FLAG;
|
|
}
|
|
return createWrapper(func, bitmask, thisArg, partials, holders);
|
|
});
|
|
var bindAll = restParam(function(object, methodNames) {
|
|
methodNames = methodNames.length ? baseFlatten(methodNames) : functions(object);
|
|
|
|
var index = -1,
|
|
length = methodNames.length;
|
|
|
|
while (++index < length) {
|
|
var key = methodNames[index];
|
|
object[key] = createWrapper(object[key], BIND_FLAG, object);
|
|
}
|
|
return object;
|
|
});
|
|
var bindKey = restParam(function(object, key, partials) {
|
|
var bitmask = BIND_FLAG | BIND_KEY_FLAG;
|
|
if (partials.length) {
|
|
var holders = replaceHolders(partials, bindKey.placeholder);
|
|
bitmask |= PARTIAL_FLAG;
|
|
}
|
|
return createWrapper(key, bitmask, object, partials, holders);
|
|
});
|
|
var curry = createCurry(CURRY_FLAG);
|
|
var curryRight = createCurry(CURRY_RIGHT_FLAG);
|
|
function debounce(func, wait, options) {
|
|
var args,
|
|
maxTimeoutId,
|
|
result,
|
|
stamp,
|
|
thisArg,
|
|
timeoutId,
|
|
trailingCall,
|
|
lastCalled = 0,
|
|
maxWait = false,
|
|
trailing = true;
|
|
|
|
if (typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
wait = wait < 0 ? 0 : (+wait || 0);
|
|
if (options === true) {
|
|
var leading = true;
|
|
trailing = false;
|
|
} else if (isObject(options)) {
|
|
leading = !!options.leading;
|
|
maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait);
|
|
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
|
}
|
|
|
|
function cancel() {
|
|
if (timeoutId) {
|
|
clearTimeout(timeoutId);
|
|
}
|
|
if (maxTimeoutId) {
|
|
clearTimeout(maxTimeoutId);
|
|
}
|
|
lastCalled = 0;
|
|
maxTimeoutId = timeoutId = trailingCall = undefined;
|
|
}
|
|
|
|
function complete(isCalled, id) {
|
|
if (id) {
|
|
clearTimeout(id);
|
|
}
|
|
maxTimeoutId = timeoutId = trailingCall = undefined;
|
|
if (isCalled) {
|
|
lastCalled = now();
|
|
result = func.apply(thisArg, args);
|
|
if (!timeoutId && !maxTimeoutId) {
|
|
args = thisArg = undefined;
|
|
}
|
|
}
|
|
}
|
|
|
|
function delayed() {
|
|
var remaining = wait - (now() - stamp);
|
|
if (remaining <= 0 || remaining > wait) {
|
|
complete(trailingCall, maxTimeoutId);
|
|
} else {
|
|
timeoutId = setTimeout(delayed, remaining);
|
|
}
|
|
}
|
|
|
|
function maxDelayed() {
|
|
complete(trailing, timeoutId);
|
|
}
|
|
|
|
function debounced() {
|
|
args = arguments;
|
|
stamp = now();
|
|
thisArg = this;
|
|
trailingCall = trailing && (timeoutId || !leading);
|
|
|
|
if (maxWait === false) {
|
|
var leadingCall = leading && !timeoutId;
|
|
} else {
|
|
if (!maxTimeoutId && !leading) {
|
|
lastCalled = stamp;
|
|
}
|
|
var remaining = maxWait - (stamp - lastCalled),
|
|
isCalled = remaining <= 0 || remaining > maxWait;
|
|
|
|
if (isCalled) {
|
|
if (maxTimeoutId) {
|
|
maxTimeoutId = clearTimeout(maxTimeoutId);
|
|
}
|
|
lastCalled = stamp;
|
|
result = func.apply(thisArg, args);
|
|
}
|
|
else if (!maxTimeoutId) {
|
|
maxTimeoutId = setTimeout(maxDelayed, remaining);
|
|
}
|
|
}
|
|
if (isCalled && timeoutId) {
|
|
timeoutId = clearTimeout(timeoutId);
|
|
}
|
|
else if (!timeoutId && wait !== maxWait) {
|
|
timeoutId = setTimeout(delayed, wait);
|
|
}
|
|
if (leadingCall) {
|
|
isCalled = true;
|
|
result = func.apply(thisArg, args);
|
|
}
|
|
if (isCalled && !timeoutId && !maxTimeoutId) {
|
|
args = thisArg = undefined;
|
|
}
|
|
return result;
|
|
}
|
|
debounced.cancel = cancel;
|
|
return debounced;
|
|
}
|
|
var defer = restParam(function(func, args) {
|
|
return baseDelay(func, 1, args);
|
|
});
|
|
var delay = restParam(function(func, wait, args) {
|
|
return baseDelay(func, wait, args);
|
|
});
|
|
var flow = createFlow();
|
|
var flowRight = createFlow(true);
|
|
function memoize(func, resolver) {
|
|
if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
var memoized = function() {
|
|
var args = arguments,
|
|
key = resolver ? resolver.apply(this, args) : args[0],
|
|
cache = memoized.cache;
|
|
|
|
if (cache.has(key)) {
|
|
return cache.get(key);
|
|
}
|
|
var result = func.apply(this, args);
|
|
memoized.cache = cache.set(key, result);
|
|
return result;
|
|
};
|
|
memoized.cache = new memoize.Cache;
|
|
return memoized;
|
|
}
|
|
var modArgs = restParam(function(func, transforms) {
|
|
transforms = baseFlatten(transforms);
|
|
if (typeof func != 'function' || !arrayEvery(transforms, baseIsFunction)) {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
var length = transforms.length;
|
|
return restParam(function(args) {
|
|
var index = nativeMin(args.length, length);
|
|
while (index--) {
|
|
args[index] = transforms[index](args[index]);
|
|
}
|
|
return func.apply(this, args);
|
|
});
|
|
});
|
|
function negate(predicate) {
|
|
if (typeof predicate != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
return function() {
|
|
return !predicate.apply(this, arguments);
|
|
};
|
|
}
|
|
function once(func) {
|
|
return before(2, func);
|
|
}
|
|
var partial = createPartial(PARTIAL_FLAG);
|
|
var partialRight = createPartial(PARTIAL_RIGHT_FLAG);
|
|
var rearg = restParam(function(func, indexes) {
|
|
return createWrapper(func, REARG_FLAG, undefined, undefined, undefined, baseFlatten(indexes));
|
|
});
|
|
function restParam(func, start) {
|
|
if (typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
|
|
return function() {
|
|
var args = arguments,
|
|
index = -1,
|
|
length = nativeMax(args.length - start, 0),
|
|
rest = Array(length);
|
|
|
|
while (++index < length) {
|
|
rest[index] = args[start + index];
|
|
}
|
|
switch (start) {
|
|
case 0: return func.call(this, rest);
|
|
case 1: return func.call(this, args[0], rest);
|
|
case 2: return func.call(this, args[0], args[1], rest);
|
|
}
|
|
var otherArgs = Array(start + 1);
|
|
index = -1;
|
|
while (++index < start) {
|
|
otherArgs[index] = args[index];
|
|
}
|
|
otherArgs[start] = rest;
|
|
return func.apply(this, otherArgs);
|
|
};
|
|
}
|
|
function spread(func) {
|
|
if (typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
return function(array) {
|
|
return func.apply(this, array);
|
|
};
|
|
}
|
|
function throttle(func, wait, options) {
|
|
var leading = true,
|
|
trailing = true;
|
|
|
|
if (typeof func != 'function') {
|
|
throw new TypeError(FUNC_ERROR_TEXT);
|
|
}
|
|
if (options === false) {
|
|
leading = false;
|
|
} else if (isObject(options)) {
|
|
leading = 'leading' in options ? !!options.leading : leading;
|
|
trailing = 'trailing' in options ? !!options.trailing : trailing;
|
|
}
|
|
return debounce(func, wait, { 'leading': leading, 'maxWait': +wait, 'trailing': trailing });
|
|
}
|
|
function wrap(value, wrapper) {
|
|
wrapper = wrapper == null ? identity : wrapper;
|
|
return createWrapper(wrapper, PARTIAL_FLAG, undefined, [value], []);
|
|
}
|
|
function clone(value, isDeep, customizer, thisArg) {
|
|
if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {
|
|
isDeep = false;
|
|
}
|
|
else if (typeof isDeep == 'function') {
|
|
thisArg = customizer;
|
|
customizer = isDeep;
|
|
isDeep = false;
|
|
}
|
|
return typeof customizer == 'function'
|
|
? baseClone(value, isDeep, bindCallback(customizer, thisArg, 1))
|
|
: baseClone(value, isDeep);
|
|
}
|
|
function cloneDeep(value, customizer, thisArg) {
|
|
return typeof customizer == 'function'
|
|
? baseClone(value, true, bindCallback(customizer, thisArg, 1))
|
|
: baseClone(value, true);
|
|
}
|
|
function gt(value, other) {
|
|
return value > other;
|
|
}
|
|
function gte(value, other) {
|
|
return value >= other;
|
|
}
|
|
function isArguments(value) {
|
|
return isObjectLike(value) && isArrayLike(value) &&
|
|
hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
|
|
}
|
|
var isArray = nativeIsArray || function(value) {
|
|
return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
|
|
};
|
|
function isBoolean(value) {
|
|
return value === true || value === false || (isObjectLike(value) && objToString.call(value) == boolTag);
|
|
}
|
|
function isDate(value) {
|
|
return isObjectLike(value) && objToString.call(value) == dateTag;
|
|
}
|
|
function isElement(value) {
|
|
return !!value && value.nodeType === 1 && isObjectLike(value) && !isPlainObject(value);
|
|
}
|
|
function isEmpty(value) {
|
|
if (value == null) {
|
|
return true;
|
|
}
|
|
if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) ||
|
|
(isObjectLike(value) && isFunction(value.splice)))) {
|
|
return !value.length;
|
|
}
|
|
return !keys(value).length;
|
|
}
|
|
function isEqual(value, other, customizer, thisArg) {
|
|
customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
|
|
var result = customizer ? customizer(value, other) : undefined;
|
|
return result === undefined ? baseIsEqual(value, other, customizer) : !!result;
|
|
}
|
|
function isError(value) {
|
|
return isObjectLike(value) && typeof value.message == 'string' && objToString.call(value) == errorTag;
|
|
}
|
|
function isFinite(value) {
|
|
return typeof value == 'number' && nativeIsFinite(value);
|
|
}
|
|
function isFunction(value) {
|
|
return isObject(value) && objToString.call(value) == funcTag;
|
|
}
|
|
function isObject(value) {
|
|
var type = typeof value;
|
|
return !!value && (type == 'object' || type == 'function');
|
|
}
|
|
function isMatch(object, source, customizer, thisArg) {
|
|
customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
|
|
return baseIsMatch(object, getMatchData(source), customizer);
|
|
}
|
|
function isNaN(value) {
|
|
return isNumber(value) && value != +value;
|
|
}
|
|
function isNative(value) {
|
|
if (value == null) {
|
|
return false;
|
|
}
|
|
if (isFunction(value)) {
|
|
return reIsNative.test(fnToString.call(value));
|
|
}
|
|
return isObjectLike(value) && reIsHostCtor.test(value);
|
|
}
|
|
function isNull(value) {
|
|
return value === null;
|
|
}
|
|
function isNumber(value) {
|
|
return typeof value == 'number' || (isObjectLike(value) && objToString.call(value) == numberTag);
|
|
}
|
|
function isPlainObject(value) {
|
|
var Ctor;
|
|
if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isArguments(value)) ||
|
|
(!hasOwnProperty.call(value, 'constructor') && (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) {
|
|
return false;
|
|
}
|
|
var result;
|
|
baseForIn(value, function(subValue, key) {
|
|
result = key;
|
|
});
|
|
return result === undefined || hasOwnProperty.call(value, result);
|
|
}
|
|
function isRegExp(value) {
|
|
return isObject(value) && objToString.call(value) == regexpTag;
|
|
}
|
|
function isString(value) {
|
|
return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag);
|
|
}
|
|
function isTypedArray(value) {
|
|
return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];
|
|
}
|
|
function isUndefined(value) {
|
|
return value === undefined;
|
|
}
|
|
function lt(value, other) {
|
|
return value < other;
|
|
}
|
|
function lte(value, other) {
|
|
return value <= other;
|
|
}
|
|
function toArray(value) {
|
|
var length = value ? getLength(value) : 0;
|
|
if (!isLength(length)) {
|
|
return values(value);
|
|
}
|
|
if (!length) {
|
|
return [];
|
|
}
|
|
return arrayCopy(value);
|
|
}
|
|
function toPlainObject(value) {
|
|
return baseCopy(value, keysIn(value));
|
|
}
|
|
var merge = createAssigner(baseMerge);
|
|
var assign = createAssigner(function(object, source, customizer) {
|
|
return customizer
|
|
? assignWith(object, source, customizer)
|
|
: baseAssign(object, source);
|
|
});
|
|
function create(prototype, properties, guard) {
|
|
var result = baseCreate(prototype);
|
|
if (guard && isIterateeCall(prototype, properties, guard)) {
|
|
properties = undefined;
|
|
}
|
|
return properties ? baseAssign(result, properties) : result;
|
|
}
|
|
var defaults = createDefaults(assign, assignDefaults);
|
|
var defaultsDeep = createDefaults(merge, mergeDefaults);
|
|
var findKey = createFindKey(baseForOwn);
|
|
var findLastKey = createFindKey(baseForOwnRight);
|
|
var forIn = createForIn(baseFor);
|
|
var forInRight = createForIn(baseForRight);
|
|
var forOwn = createForOwn(baseForOwn);
|
|
var forOwnRight = createForOwn(baseForOwnRight);
|
|
function functions(object) {
|
|
return baseFunctions(object, keysIn(object));
|
|
}
|
|
function get(object, path, defaultValue) {
|
|
var result = object == null ? undefined : baseGet(object, toPath(path), path + '');
|
|
return result === undefined ? defaultValue : result;
|
|
}
|
|
function has(object, path) {
|
|
if (object == null) {
|
|
return false;
|
|
}
|
|
var result = hasOwnProperty.call(object, path);
|
|
if (!result && !isKey(path)) {
|
|
path = toPath(path);
|
|
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
|
|
if (object == null) {
|
|
return false;
|
|
}
|
|
path = last(path);
|
|
result = hasOwnProperty.call(object, path);
|
|
}
|
|
return result || (isLength(object.length) && isIndex(path, object.length) &&
|
|
(isArray(object) || isArguments(object)));
|
|
}
|
|
function invert(object, multiValue, guard) {
|
|
if (guard && isIterateeCall(object, multiValue, guard)) {
|
|
multiValue = undefined;
|
|
}
|
|
var index = -1,
|
|
props = keys(object),
|
|
length = props.length,
|
|
result = {};
|
|
|
|
while (++index < length) {
|
|
var key = props[index],
|
|
value = object[key];
|
|
|
|
if (multiValue) {
|
|
if (hasOwnProperty.call(result, value)) {
|
|
result[value].push(key);
|
|
} else {
|
|
result[value] = [key];
|
|
}
|
|
}
|
|
else {
|
|
result[value] = key;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var keys = !nativeKeys ? shimKeys : function(object) {
|
|
var Ctor = object == null ? undefined : object.constructor;
|
|
if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
|
|
(typeof object != 'function' && isArrayLike(object))) {
|
|
return shimKeys(object);
|
|
}
|
|
return isObject(object) ? nativeKeys(object) : [];
|
|
};
|
|
function keysIn(object) {
|
|
if (object == null) {
|
|
return [];
|
|
}
|
|
if (!isObject(object)) {
|
|
object = Object(object);
|
|
}
|
|
var length = object.length;
|
|
length = (length && isLength(length) &&
|
|
(isArray(object) || isArguments(object)) && length) || 0;
|
|
|
|
var Ctor = object.constructor,
|
|
index = -1,
|
|
isProto = typeof Ctor == 'function' && Ctor.prototype === object,
|
|
result = Array(length),
|
|
skipIndexes = length > 0;
|
|
|
|
while (++index < length) {
|
|
result[index] = (index + '');
|
|
}
|
|
for (var key in object) {
|
|
if (!(skipIndexes && isIndex(key, length)) &&
|
|
!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
|
|
result.push(key);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
var mapKeys = createObjectMapper(true);
|
|
var mapValues = createObjectMapper();
|
|
var omit = restParam(function(object, props) {
|
|
if (object == null) {
|
|
return {};
|
|
}
|
|
if (typeof props[0] != 'function') {
|
|
var props = arrayMap(baseFlatten(props), String);
|
|
return pickByArray(object, baseDifference(keysIn(object), props));
|
|
}
|
|
var predicate = bindCallback(props[0], props[1], 3);
|
|
return pickByCallback(object, function(value, key, object) {
|
|
return !predicate(value, key, object);
|
|
});
|
|
});
|
|
function pairs(object) {
|
|
object = toObject(object);
|
|
|
|
var index = -1,
|
|
props = keys(object),
|
|
length = props.length,
|
|
result = Array(length);
|
|
|
|
while (++index < length) {
|
|
var key = props[index];
|
|
result[index] = [key, object[key]];
|
|
}
|
|
return result;
|
|
}
|
|
var pick = restParam(function(object, props) {
|
|
if (object == null) {
|
|
return {};
|
|
}
|
|
return typeof props[0] == 'function'
|
|
? pickByCallback(object, bindCallback(props[0], props[1], 3))
|
|
: pickByArray(object, baseFlatten(props));
|
|
});
|
|
function result(object, path, defaultValue) {
|
|
var result = object == null ? undefined : object[path];
|
|
if (result === undefined) {
|
|
if (object != null && !isKey(path, object)) {
|
|
path = toPath(path);
|
|
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
|
|
result = object == null ? undefined : object[last(path)];
|
|
}
|
|
result = result === undefined ? defaultValue : result;
|
|
}
|
|
return isFunction(result) ? result.call(object) : result;
|
|
}
|
|
function set(object, path, value) {
|
|
if (object == null) {
|
|
return object;
|
|
}
|
|
var pathKey = (path + '');
|
|
path = (object[pathKey] != null || isKey(path, object)) ? [pathKey] : toPath(path);
|
|
|
|
var index = -1,
|
|
length = path.length,
|
|
lastIndex = length - 1,
|
|
nested = object;
|
|
|
|
while (nested != null && ++index < length) {
|
|
var key = path[index];
|
|
if (isObject(nested)) {
|
|
if (index == lastIndex) {
|
|
nested[key] = value;
|
|
} else if (nested[key] == null) {
|
|
nested[key] = isIndex(path[index + 1]) ? [] : {};
|
|
}
|
|
}
|
|
nested = nested[key];
|
|
}
|
|
return object;
|
|
}
|
|
function transform(object, iteratee, accumulator, thisArg) {
|
|
var isArr = isArray(object) || isTypedArray(object);
|
|
iteratee = getCallback(iteratee, thisArg, 4);
|
|
|
|
if (accumulator == null) {
|
|
if (isArr || isObject(object)) {
|
|
var Ctor = object.constructor;
|
|
if (isArr) {
|
|
accumulator = isArray(object) ? new Ctor : [];
|
|
} else {
|
|
accumulator = baseCreate(isFunction(Ctor) ? Ctor.prototype : undefined);
|
|
}
|
|
} else {
|
|
accumulator = {};
|
|
}
|
|
}
|
|
(isArr ? arrayEach : baseForOwn)(object, function(value, index, object) {
|
|
return iteratee(accumulator, value, index, object);
|
|
});
|
|
return accumulator;
|
|
}
|
|
function values(object) {
|
|
return baseValues(object, keys(object));
|
|
}
|
|
function valuesIn(object) {
|
|
return baseValues(object, keysIn(object));
|
|
}
|
|
function inRange(value, start, end) {
|
|
start = +start || 0;
|
|
if (end === undefined) {
|
|
end = start;
|
|
start = 0;
|
|
} else {
|
|
end = +end || 0;
|
|
}
|
|
return value >= nativeMin(start, end) && value < nativeMax(start, end);
|
|
}
|
|
function random(min, max, floating) {
|
|
if (floating && isIterateeCall(min, max, floating)) {
|
|
max = floating = undefined;
|
|
}
|
|
var noMin = min == null,
|
|
noMax = max == null;
|
|
|
|
if (floating == null) {
|
|
if (noMax && typeof min == 'boolean') {
|
|
floating = min;
|
|
min = 1;
|
|
}
|
|
else if (typeof max == 'boolean') {
|
|
floating = max;
|
|
noMax = true;
|
|
}
|
|
}
|
|
if (noMin && noMax) {
|
|
max = 1;
|
|
noMax = false;
|
|
}
|
|
min = +min || 0;
|
|
if (noMax) {
|
|
max = min;
|
|
min = 0;
|
|
} else {
|
|
max = +max || 0;
|
|
}
|
|
if (floating || min % 1 || max % 1) {
|
|
var rand = nativeRandom();
|
|
return nativeMin(min + (rand * (max - min + parseFloat('1e-' + ((rand + '').length - 1)))), max);
|
|
}
|
|
return baseRandom(min, max);
|
|
}
|
|
var camelCase = createCompounder(function(result, word, index) {
|
|
word = word.toLowerCase();
|
|
return result + (index ? (word.charAt(0).toUpperCase() + word.slice(1)) : word);
|
|
});
|
|
function capitalize(string) {
|
|
string = baseToString(string);
|
|
return string && (string.charAt(0).toUpperCase() + string.slice(1));
|
|
}
|
|
function deburr(string) {
|
|
string = baseToString(string);
|
|
return string && string.replace(reLatin1, deburrLetter).replace(reComboMark, '');
|
|
}
|
|
function endsWith(string, target, position) {
|
|
string = baseToString(string);
|
|
target = (target + '');
|
|
|
|
var length = string.length;
|
|
position = position === undefined
|
|
? length
|
|
: nativeMin(position < 0 ? 0 : (+position || 0), length);
|
|
|
|
position -= target.length;
|
|
return position >= 0 && string.indexOf(target, position) == position;
|
|
}
|
|
function escape(string) {
|
|
string = baseToString(string);
|
|
return (string && reHasUnescapedHtml.test(string))
|
|
? string.replace(reUnescapedHtml, escapeHtmlChar)
|
|
: string;
|
|
}
|
|
function escapeRegExp(string) {
|
|
string = baseToString(string);
|
|
return (string && reHasRegExpChars.test(string))
|
|
? string.replace(reRegExpChars, escapeRegExpChar)
|
|
: (string || '(?:)');
|
|
}
|
|
var kebabCase = createCompounder(function(result, word, index) {
|
|
return result + (index ? '-' : '') + word.toLowerCase();
|
|
});
|
|
function pad(string, length, chars) {
|
|
string = baseToString(string);
|
|
length = +length;
|
|
|
|
var strLength = string.length;
|
|
if (strLength >= length || !nativeIsFinite(length)) {
|
|
return string;
|
|
}
|
|
var mid = (length - strLength) / 2,
|
|
leftLength = nativeFloor(mid),
|
|
rightLength = nativeCeil(mid);
|
|
|
|
chars = createPadding('', rightLength, chars);
|
|
return chars.slice(0, leftLength) + string + chars;
|
|
}
|
|
var padLeft = createPadDir();
|
|
var padRight = createPadDir(true);
|
|
function parseInt(string, radix, guard) {
|
|
if (guard ? isIterateeCall(string, radix, guard) : radix == null) {
|
|
radix = 0;
|
|
} else if (radix) {
|
|
radix = +radix;
|
|
}
|
|
string = trim(string);
|
|
return nativeParseInt(string, radix || (reHasHexPrefix.test(string) ? 16 : 10));
|
|
}
|
|
function repeat(string, n) {
|
|
var result = '';
|
|
string = baseToString(string);
|
|
n = +n;
|
|
if (n < 1 || !string || !nativeIsFinite(n)) {
|
|
return result;
|
|
}
|
|
do {
|
|
if (n % 2) {
|
|
result += string;
|
|
}
|
|
n = nativeFloor(n / 2);
|
|
string += string;
|
|
} while (n);
|
|
|
|
return result;
|
|
}
|
|
var snakeCase = createCompounder(function(result, word, index) {
|
|
return result + (index ? '_' : '') + word.toLowerCase();
|
|
});
|
|
var startCase = createCompounder(function(result, word, index) {
|
|
return result + (index ? ' ' : '') + (word.charAt(0).toUpperCase() + word.slice(1));
|
|
});
|
|
function startsWith(string, target, position) {
|
|
string = baseToString(string);
|
|
position = position == null
|
|
? 0
|
|
: nativeMin(position < 0 ? 0 : (+position || 0), string.length);
|
|
|
|
return string.lastIndexOf(target, position) == position;
|
|
}
|
|
function template(string, options, otherOptions) {
|
|
var settings = lodash.templateSettings;
|
|
|
|
if (otherOptions && isIterateeCall(string, options, otherOptions)) {
|
|
options = otherOptions = undefined;
|
|
}
|
|
string = baseToString(string);
|
|
options = assignWith(baseAssign({}, otherOptions || options), settings, assignOwnDefaults);
|
|
|
|
var imports = assignWith(baseAssign({}, options.imports), settings.imports, assignOwnDefaults),
|
|
importsKeys = keys(imports),
|
|
importsValues = baseValues(imports, importsKeys);
|
|
|
|
var isEscaping,
|
|
isEvaluating,
|
|
index = 0,
|
|
interpolate = options.interpolate || reNoMatch,
|
|
source = "__p += '";
|
|
var reDelimiters = RegExp(
|
|
(options.escape || reNoMatch).source + '|' +
|
|
interpolate.source + '|' +
|
|
(interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +
|
|
(options.evaluate || reNoMatch).source + '|$'
|
|
, 'g');
|
|
var sourceURL = '//# sourceURL=' +
|
|
('sourceURL' in options
|
|
? options.sourceURL
|
|
: ('lodash.templateSources[' + (++templateCounter) + ']')
|
|
) + '\n';
|
|
|
|
string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
|
|
interpolateValue || (interpolateValue = esTemplateValue);
|
|
source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);
|
|
if (escapeValue) {
|
|
isEscaping = true;
|
|
source += "' +\n__e(" + escapeValue + ") +\n'";
|
|
}
|
|
if (evaluateValue) {
|
|
isEvaluating = true;
|
|
source += "';\n" + evaluateValue + ";\n__p += '";
|
|
}
|
|
if (interpolateValue) {
|
|
source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
|
|
}
|
|
index = offset + match.length;
|
|
return match;
|
|
});
|
|
|
|
source += "';\n";
|
|
var variable = options.variable;
|
|
if (!variable) {
|
|
source = 'with (obj) {\n' + source + '\n}\n';
|
|
}
|
|
source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)
|
|
.replace(reEmptyStringMiddle, '$1')
|
|
.replace(reEmptyStringTrailing, '$1;');
|
|
source = 'function(' + (variable || 'obj') + ') {\n' +
|
|
(variable
|
|
? ''
|
|
: 'obj || (obj = {});\n'
|
|
) +
|
|
"var __t, __p = ''" +
|
|
(isEscaping
|
|
? ', __e = _.escape'
|
|
: ''
|
|
) +
|
|
(isEvaluating
|
|
? ', __j = Array.prototype.join;\n' +
|
|
"function print() { __p += __j.call(arguments, '') }\n"
|
|
: ';\n'
|
|
) +
|
|
source +
|
|
'return __p\n}';
|
|
|
|
var result = attempt(function() {
|
|
return Function(importsKeys, sourceURL + 'return ' + source).apply(undefined, importsValues);
|
|
});
|
|
result.source = source;
|
|
if (isError(result)) {
|
|
throw result;
|
|
}
|
|
return result;
|
|
}
|
|
function trim(string, chars, guard) {
|
|
var value = string;
|
|
string = baseToString(string);
|
|
if (!string) {
|
|
return string;
|
|
}
|
|
if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
|
|
return string.slice(trimmedLeftIndex(string), trimmedRightIndex(string) + 1);
|
|
}
|
|
chars = (chars + '');
|
|
return string.slice(charsLeftIndex(string, chars), charsRightIndex(string, chars) + 1);
|
|
}
|
|
function trimLeft(string, chars, guard) {
|
|
var value = string;
|
|
string = baseToString(string);
|
|
if (!string) {
|
|
return string;
|
|
}
|
|
if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
|
|
return string.slice(trimmedLeftIndex(string));
|
|
}
|
|
return string.slice(charsLeftIndex(string, (chars + '')));
|
|
}
|
|
function trimRight(string, chars, guard) {
|
|
var value = string;
|
|
string = baseToString(string);
|
|
if (!string) {
|
|
return string;
|
|
}
|
|
if (guard ? isIterateeCall(value, chars, guard) : chars == null) {
|
|
return string.slice(0, trimmedRightIndex(string) + 1);
|
|
}
|
|
return string.slice(0, charsRightIndex(string, (chars + '')) + 1);
|
|
}
|
|
function trunc(string, options, guard) {
|
|
if (guard && isIterateeCall(string, options, guard)) {
|
|
options = undefined;
|
|
}
|
|
var length = DEFAULT_TRUNC_LENGTH,
|
|
omission = DEFAULT_TRUNC_OMISSION;
|
|
|
|
if (options != null) {
|
|
if (isObject(options)) {
|
|
var separator = 'separator' in options ? options.separator : separator;
|
|
length = 'length' in options ? (+options.length || 0) : length;
|
|
omission = 'omission' in options ? baseToString(options.omission) : omission;
|
|
} else {
|
|
length = +options || 0;
|
|
}
|
|
}
|
|
string = baseToString(string);
|
|
if (length >= string.length) {
|
|
return string;
|
|
}
|
|
var end = length - omission.length;
|
|
if (end < 1) {
|
|
return omission;
|
|
}
|
|
var result = string.slice(0, end);
|
|
if (separator == null) {
|
|
return result + omission;
|
|
}
|
|
if (isRegExp(separator)) {
|
|
if (string.slice(end).search(separator)) {
|
|
var match,
|
|
newEnd,
|
|
substring = string.slice(0, end);
|
|
|
|
if (!separator.global) {
|
|
separator = RegExp(separator.source, (reFlags.exec(separator) || '') + 'g');
|
|
}
|
|
separator.lastIndex = 0;
|
|
while ((match = separator.exec(substring))) {
|
|
newEnd = match.index;
|
|
}
|
|
result = result.slice(0, newEnd == null ? end : newEnd);
|
|
}
|
|
} else if (string.indexOf(separator, end) != end) {
|
|
var index = result.lastIndexOf(separator);
|
|
if (index > -1) {
|
|
result = result.slice(0, index);
|
|
}
|
|
}
|
|
return result + omission;
|
|
}
|
|
function unescape(string) {
|
|
string = baseToString(string);
|
|
return (string && reHasEscapedHtml.test(string))
|
|
? string.replace(reEscapedHtml, unescapeHtmlChar)
|
|
: string;
|
|
}
|
|
function words(string, pattern, guard) {
|
|
if (guard && isIterateeCall(string, pattern, guard)) {
|
|
pattern = undefined;
|
|
}
|
|
string = baseToString(string);
|
|
return string.match(pattern || reWords) || [];
|
|
}
|
|
var attempt = restParam(function(func, args) {
|
|
try {
|
|
return func.apply(undefined, args);
|
|
} catch(e) {
|
|
return isError(e) ? e : new Error(e);
|
|
}
|
|
});
|
|
function callback(func, thisArg, guard) {
|
|
if (guard && isIterateeCall(func, thisArg, guard)) {
|
|
thisArg = undefined;
|
|
}
|
|
return isObjectLike(func)
|
|
? matches(func)
|
|
: baseCallback(func, thisArg);
|
|
}
|
|
function constant(value) {
|
|
return function() {
|
|
return value;
|
|
};
|
|
}
|
|
function identity(value) {
|
|
return value;
|
|
}
|
|
function matches(source) {
|
|
return baseMatches(baseClone(source, true));
|
|
}
|
|
function matchesProperty(path, srcValue) {
|
|
return baseMatchesProperty(path, baseClone(srcValue, true));
|
|
}
|
|
var method = restParam(function(path, args) {
|
|
return function(object) {
|
|
return invokePath(object, path, args);
|
|
};
|
|
});
|
|
var methodOf = restParam(function(object, args) {
|
|
return function(path) {
|
|
return invokePath(object, path, args);
|
|
};
|
|
});
|
|
function mixin(object, source, options) {
|
|
if (options == null) {
|
|
var isObj = isObject(source),
|
|
props = isObj ? keys(source) : undefined,
|
|
methodNames = (props && props.length) ? baseFunctions(source, props) : undefined;
|
|
|
|
if (!(methodNames ? methodNames.length : isObj)) {
|
|
methodNames = false;
|
|
options = source;
|
|
source = object;
|
|
object = this;
|
|
}
|
|
}
|
|
if (!methodNames) {
|
|
methodNames = baseFunctions(source, keys(source));
|
|
}
|
|
var chain = true,
|
|
index = -1,
|
|
isFunc = isFunction(object),
|
|
length = methodNames.length;
|
|
|
|
if (options === false) {
|
|
chain = false;
|
|
} else if (isObject(options) && 'chain' in options) {
|
|
chain = options.chain;
|
|
}
|
|
while (++index < length) {
|
|
var methodName = methodNames[index],
|
|
func = source[methodName];
|
|
|
|
object[methodName] = func;
|
|
if (isFunc) {
|
|
object.prototype[methodName] = (function(func) {
|
|
return function() {
|
|
var chainAll = this.__chain__;
|
|
if (chain || chainAll) {
|
|
var result = object(this.__wrapped__),
|
|
actions = result.__actions__ = arrayCopy(this.__actions__);
|
|
|
|
actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
|
|
result.__chain__ = chainAll;
|
|
return result;
|
|
}
|
|
return func.apply(object, arrayPush([this.value()], arguments));
|
|
};
|
|
}(func));
|
|
}
|
|
}
|
|
return object;
|
|
}
|
|
function noConflict() {
|
|
root._ = oldDash;
|
|
return this;
|
|
}
|
|
function noop() {
|
|
}
|
|
function property(path) {
|
|
return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
|
|
}
|
|
function propertyOf(object) {
|
|
return function(path) {
|
|
return baseGet(object, toPath(path), path + '');
|
|
};
|
|
}
|
|
function range(start, end, step) {
|
|
if (step && isIterateeCall(start, end, step)) {
|
|
end = step = undefined;
|
|
}
|
|
start = +start || 0;
|
|
step = step == null ? 1 : (+step || 0);
|
|
|
|
if (end == null) {
|
|
end = start;
|
|
start = 0;
|
|
} else {
|
|
end = +end || 0;
|
|
}
|
|
var index = -1,
|
|
length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
|
|
result = Array(length);
|
|
|
|
while (++index < length) {
|
|
result[index] = start;
|
|
start += step;
|
|
}
|
|
return result;
|
|
}
|
|
function times(n, iteratee, thisArg) {
|
|
n = nativeFloor(n);
|
|
if (n < 1 || !nativeIsFinite(n)) {
|
|
return [];
|
|
}
|
|
var index = -1,
|
|
result = Array(nativeMin(n, MAX_ARRAY_LENGTH));
|
|
|
|
iteratee = bindCallback(iteratee, thisArg, 1);
|
|
while (++index < n) {
|
|
if (index < MAX_ARRAY_LENGTH) {
|
|
result[index] = iteratee(index);
|
|
} else {
|
|
iteratee(index);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function uniqueId(prefix) {
|
|
var id = ++idCounter;
|
|
return baseToString(prefix) + id;
|
|
}
|
|
function add(augend, addend) {
|
|
return (+augend || 0) + (+addend || 0);
|
|
}
|
|
var ceil = createRound('ceil');
|
|
var floor = createRound('floor');
|
|
var max = createExtremum(gt, NEGATIVE_INFINITY);
|
|
var min = createExtremum(lt, POSITIVE_INFINITY);
|
|
var round = createRound('round');
|
|
function sum(collection, iteratee, thisArg) {
|
|
if (thisArg && isIterateeCall(collection, iteratee, thisArg)) {
|
|
iteratee = undefined;
|
|
}
|
|
iteratee = getCallback(iteratee, thisArg, 3);
|
|
return iteratee.length == 1
|
|
? arraySum(isArray(collection) ? collection : toIterable(collection), iteratee)
|
|
: baseSum(collection, iteratee);
|
|
}
|
|
lodash.prototype = baseLodash.prototype;
|
|
|
|
LodashWrapper.prototype = baseCreate(baseLodash.prototype);
|
|
LodashWrapper.prototype.constructor = LodashWrapper;
|
|
|
|
LazyWrapper.prototype = baseCreate(baseLodash.prototype);
|
|
LazyWrapper.prototype.constructor = LazyWrapper;
|
|
MapCache.prototype['delete'] = mapDelete;
|
|
MapCache.prototype.get = mapGet;
|
|
MapCache.prototype.has = mapHas;
|
|
MapCache.prototype.set = mapSet;
|
|
SetCache.prototype.push = cachePush;
|
|
memoize.Cache = MapCache;
|
|
lodash.after = after;
|
|
lodash.ary = ary;
|
|
lodash.assign = assign;
|
|
lodash.at = at;
|
|
lodash.before = before;
|
|
lodash.bind = bind;
|
|
lodash.bindAll = bindAll;
|
|
lodash.bindKey = bindKey;
|
|
lodash.callback = callback;
|
|
lodash.chain = chain;
|
|
lodash.chunk = chunk;
|
|
lodash.compact = compact;
|
|
lodash.constant = constant;
|
|
lodash.countBy = countBy;
|
|
lodash.create = create;
|
|
lodash.curry = curry;
|
|
lodash.curryRight = curryRight;
|
|
lodash.debounce = debounce;
|
|
lodash.defaults = defaults;
|
|
lodash.defaultsDeep = defaultsDeep;
|
|
lodash.defer = defer;
|
|
lodash.delay = delay;
|
|
lodash.difference = difference;
|
|
lodash.drop = drop;
|
|
lodash.dropRight = dropRight;
|
|
lodash.dropRightWhile = dropRightWhile;
|
|
lodash.dropWhile = dropWhile;
|
|
lodash.fill = fill;
|
|
lodash.filter = filter;
|
|
lodash.flatten = flatten;
|
|
lodash.flattenDeep = flattenDeep;
|
|
lodash.flow = flow;
|
|
lodash.flowRight = flowRight;
|
|
lodash.forEach = forEach;
|
|
lodash.forEachRight = forEachRight;
|
|
lodash.forIn = forIn;
|
|
lodash.forInRight = forInRight;
|
|
lodash.forOwn = forOwn;
|
|
lodash.forOwnRight = forOwnRight;
|
|
lodash.functions = functions;
|
|
lodash.groupBy = groupBy;
|
|
lodash.indexBy = indexBy;
|
|
lodash.initial = initial;
|
|
lodash.intersection = intersection;
|
|
lodash.invert = invert;
|
|
lodash.invoke = invoke;
|
|
lodash.keys = keys;
|
|
lodash.keysIn = keysIn;
|
|
lodash.map = map;
|
|
lodash.mapKeys = mapKeys;
|
|
lodash.mapValues = mapValues;
|
|
lodash.matches = matches;
|
|
lodash.matchesProperty = matchesProperty;
|
|
lodash.memoize = memoize;
|
|
lodash.merge = merge;
|
|
lodash.method = method;
|
|
lodash.methodOf = methodOf;
|
|
lodash.mixin = mixin;
|
|
lodash.modArgs = modArgs;
|
|
lodash.negate = negate;
|
|
lodash.omit = omit;
|
|
lodash.once = once;
|
|
lodash.pairs = pairs;
|
|
lodash.partial = partial;
|
|
lodash.partialRight = partialRight;
|
|
lodash.partition = partition;
|
|
lodash.pick = pick;
|
|
lodash.pluck = pluck;
|
|
lodash.property = property;
|
|
lodash.propertyOf = propertyOf;
|
|
lodash.pull = pull;
|
|
lodash.pullAt = pullAt;
|
|
lodash.range = range;
|
|
lodash.rearg = rearg;
|
|
lodash.reject = reject;
|
|
lodash.remove = remove;
|
|
lodash.rest = rest;
|
|
lodash.restParam = restParam;
|
|
lodash.set = set;
|
|
lodash.shuffle = shuffle;
|
|
lodash.slice = slice;
|
|
lodash.sortBy = sortBy;
|
|
lodash.sortByAll = sortByAll;
|
|
lodash.sortByOrder = sortByOrder;
|
|
lodash.spread = spread;
|
|
lodash.take = take;
|
|
lodash.takeRight = takeRight;
|
|
lodash.takeRightWhile = takeRightWhile;
|
|
lodash.takeWhile = takeWhile;
|
|
lodash.tap = tap;
|
|
lodash.throttle = throttle;
|
|
lodash.thru = thru;
|
|
lodash.times = times;
|
|
lodash.toArray = toArray;
|
|
lodash.toPlainObject = toPlainObject;
|
|
lodash.transform = transform;
|
|
lodash.union = union;
|
|
lodash.uniq = uniq;
|
|
lodash.unzip = unzip;
|
|
lodash.unzipWith = unzipWith;
|
|
lodash.values = values;
|
|
lodash.valuesIn = valuesIn;
|
|
lodash.where = where;
|
|
lodash.without = without;
|
|
lodash.wrap = wrap;
|
|
lodash.xor = xor;
|
|
lodash.zip = zip;
|
|
lodash.zipObject = zipObject;
|
|
lodash.zipWith = zipWith;
|
|
lodash.backflow = flowRight;
|
|
lodash.collect = map;
|
|
lodash.compose = flowRight;
|
|
lodash.each = forEach;
|
|
lodash.eachRight = forEachRight;
|
|
lodash.extend = assign;
|
|
lodash.iteratee = callback;
|
|
lodash.methods = functions;
|
|
lodash.object = zipObject;
|
|
lodash.select = filter;
|
|
lodash.tail = rest;
|
|
lodash.unique = uniq;
|
|
mixin(lodash, lodash);
|
|
lodash.add = add;
|
|
lodash.attempt = attempt;
|
|
lodash.camelCase = camelCase;
|
|
lodash.capitalize = capitalize;
|
|
lodash.ceil = ceil;
|
|
lodash.clone = clone;
|
|
lodash.cloneDeep = cloneDeep;
|
|
lodash.deburr = deburr;
|
|
lodash.endsWith = endsWith;
|
|
lodash.escape = escape;
|
|
lodash.escapeRegExp = escapeRegExp;
|
|
lodash.every = every;
|
|
lodash.find = find;
|
|
lodash.findIndex = findIndex;
|
|
lodash.findKey = findKey;
|
|
lodash.findLast = findLast;
|
|
lodash.findLastIndex = findLastIndex;
|
|
lodash.findLastKey = findLastKey;
|
|
lodash.findWhere = findWhere;
|
|
lodash.first = first;
|
|
lodash.floor = floor;
|
|
lodash.get = get;
|
|
lodash.gt = gt;
|
|
lodash.gte = gte;
|
|
lodash.has = has;
|
|
lodash.identity = identity;
|
|
lodash.includes = includes;
|
|
lodash.indexOf = indexOf;
|
|
lodash.inRange = inRange;
|
|
lodash.isArguments = isArguments;
|
|
lodash.isArray = isArray;
|
|
lodash.isBoolean = isBoolean;
|
|
lodash.isDate = isDate;
|
|
lodash.isElement = isElement;
|
|
lodash.isEmpty = isEmpty;
|
|
lodash.isEqual = isEqual;
|
|
lodash.isError = isError;
|
|
lodash.isFinite = isFinite;
|
|
lodash.isFunction = isFunction;
|
|
lodash.isMatch = isMatch;
|
|
lodash.isNaN = isNaN;
|
|
lodash.isNative = isNative;
|
|
lodash.isNull = isNull;
|
|
lodash.isNumber = isNumber;
|
|
lodash.isObject = isObject;
|
|
lodash.isPlainObject = isPlainObject;
|
|
lodash.isRegExp = isRegExp;
|
|
lodash.isString = isString;
|
|
lodash.isTypedArray = isTypedArray;
|
|
lodash.isUndefined = isUndefined;
|
|
lodash.kebabCase = kebabCase;
|
|
lodash.last = last;
|
|
lodash.lastIndexOf = lastIndexOf;
|
|
lodash.lt = lt;
|
|
lodash.lte = lte;
|
|
lodash.max = max;
|
|
lodash.min = min;
|
|
lodash.noConflict = noConflict;
|
|
lodash.noop = noop;
|
|
lodash.now = now;
|
|
lodash.pad = pad;
|
|
lodash.padLeft = padLeft;
|
|
lodash.padRight = padRight;
|
|
lodash.parseInt = parseInt;
|
|
lodash.random = random;
|
|
lodash.reduce = reduce;
|
|
lodash.reduceRight = reduceRight;
|
|
lodash.repeat = repeat;
|
|
lodash.result = result;
|
|
lodash.round = round;
|
|
lodash.runInContext = runInContext;
|
|
lodash.size = size;
|
|
lodash.snakeCase = snakeCase;
|
|
lodash.some = some;
|
|
lodash.sortedIndex = sortedIndex;
|
|
lodash.sortedLastIndex = sortedLastIndex;
|
|
lodash.startCase = startCase;
|
|
lodash.startsWith = startsWith;
|
|
lodash.sum = sum;
|
|
lodash.template = template;
|
|
lodash.trim = trim;
|
|
lodash.trimLeft = trimLeft;
|
|
lodash.trimRight = trimRight;
|
|
lodash.trunc = trunc;
|
|
lodash.unescape = unescape;
|
|
lodash.uniqueId = uniqueId;
|
|
lodash.words = words;
|
|
lodash.all = every;
|
|
lodash.any = some;
|
|
lodash.contains = includes;
|
|
lodash.eq = isEqual;
|
|
lodash.detect = find;
|
|
lodash.foldl = reduce;
|
|
lodash.foldr = reduceRight;
|
|
lodash.head = first;
|
|
lodash.include = includes;
|
|
lodash.inject = reduce;
|
|
|
|
mixin(lodash, (function() {
|
|
var source = {};
|
|
baseForOwn(lodash, function(func, methodName) {
|
|
if (!lodash.prototype[methodName]) {
|
|
source[methodName] = func;
|
|
}
|
|
});
|
|
return source;
|
|
}()), false);
|
|
lodash.sample = sample;
|
|
|
|
lodash.prototype.sample = function(n) {
|
|
if (!this.__chain__ && n == null) {
|
|
return sample(this.value());
|
|
}
|
|
return this.thru(function(value) {
|
|
return sample(value, n);
|
|
});
|
|
};
|
|
lodash.VERSION = VERSION;
|
|
arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {
|
|
lodash[methodName].placeholder = lodash;
|
|
});
|
|
arrayEach(['drop', 'take'], function(methodName, index) {
|
|
LazyWrapper.prototype[methodName] = function(n) {
|
|
var filtered = this.__filtered__;
|
|
if (filtered && !index) {
|
|
return new LazyWrapper(this);
|
|
}
|
|
n = n == null ? 1 : nativeMax(nativeFloor(n) || 0, 0);
|
|
|
|
var result = this.clone();
|
|
if (filtered) {
|
|
result.__takeCount__ = nativeMin(result.__takeCount__, n);
|
|
} else {
|
|
result.__views__.push({ 'size': n, 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') });
|
|
}
|
|
return result;
|
|
};
|
|
|
|
LazyWrapper.prototype[methodName + 'Right'] = function(n) {
|
|
return this.reverse()[methodName](n).reverse();
|
|
};
|
|
});
|
|
arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {
|
|
var type = index + 1,
|
|
isFilter = type != LAZY_MAP_FLAG;
|
|
|
|
LazyWrapper.prototype[methodName] = function(iteratee, thisArg) {
|
|
var result = this.clone();
|
|
result.__iteratees__.push({ 'iteratee': getCallback(iteratee, thisArg, 1), 'type': type });
|
|
result.__filtered__ = result.__filtered__ || isFilter;
|
|
return result;
|
|
};
|
|
});
|
|
arrayEach(['first', 'last'], function(methodName, index) {
|
|
var takeName = 'take' + (index ? 'Right' : '');
|
|
|
|
LazyWrapper.prototype[methodName] = function() {
|
|
return this[takeName](1).value()[0];
|
|
};
|
|
});
|
|
arrayEach(['initial', 'rest'], function(methodName, index) {
|
|
var dropName = 'drop' + (index ? '' : 'Right');
|
|
|
|
LazyWrapper.prototype[methodName] = function() {
|
|
return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
|
|
};
|
|
});
|
|
arrayEach(['pluck', 'where'], function(methodName, index) {
|
|
var operationName = index ? 'filter' : 'map',
|
|
createCallback = index ? baseMatches : property;
|
|
|
|
LazyWrapper.prototype[methodName] = function(value) {
|
|
return this[operationName](createCallback(value));
|
|
};
|
|
});
|
|
|
|
LazyWrapper.prototype.compact = function() {
|
|
return this.filter(identity);
|
|
};
|
|
|
|
LazyWrapper.prototype.reject = function(predicate, thisArg) {
|
|
predicate = getCallback(predicate, thisArg, 1);
|
|
return this.filter(function(value) {
|
|
return !predicate(value);
|
|
});
|
|
};
|
|
|
|
LazyWrapper.prototype.slice = function(start, end) {
|
|
start = start == null ? 0 : (+start || 0);
|
|
|
|
var result = this;
|
|
if (result.__filtered__ && (start > 0 || end < 0)) {
|
|
return new LazyWrapper(result);
|
|
}
|
|
if (start < 0) {
|
|
result = result.takeRight(-start);
|
|
} else if (start) {
|
|
result = result.drop(start);
|
|
}
|
|
if (end !== undefined) {
|
|
end = (+end || 0);
|
|
result = end < 0 ? result.dropRight(-end) : result.take(end - start);
|
|
}
|
|
return result;
|
|
};
|
|
|
|
LazyWrapper.prototype.takeRightWhile = function(predicate, thisArg) {
|
|
return this.reverse().takeWhile(predicate, thisArg).reverse();
|
|
};
|
|
|
|
LazyWrapper.prototype.toArray = function() {
|
|
return this.take(POSITIVE_INFINITY);
|
|
};
|
|
baseForOwn(LazyWrapper.prototype, function(func, methodName) {
|
|
var checkIteratee = /^(?:filter|map|reject)|While$/.test(methodName),
|
|
retUnwrapped = /^(?:first|last)$/.test(methodName),
|
|
lodashFunc = lodash[retUnwrapped ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName];
|
|
|
|
if (!lodashFunc) {
|
|
return;
|
|
}
|
|
lodash.prototype[methodName] = function() {
|
|
var args = retUnwrapped ? [1] : arguments,
|
|
chainAll = this.__chain__,
|
|
value = this.__wrapped__,
|
|
isHybrid = !!this.__actions__.length,
|
|
isLazy = value instanceof LazyWrapper,
|
|
iteratee = args[0],
|
|
useLazy = isLazy || isArray(value);
|
|
|
|
if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {
|
|
isLazy = useLazy = false;
|
|
}
|
|
var interceptor = function(value) {
|
|
return (retUnwrapped && chainAll)
|
|
? lodashFunc(value, 1)[0]
|
|
: lodashFunc.apply(undefined, arrayPush([value], args));
|
|
};
|
|
|
|
var action = { 'func': thru, 'args': [interceptor], 'thisArg': undefined },
|
|
onlyLazy = isLazy && !isHybrid;
|
|
|
|
if (retUnwrapped && !chainAll) {
|
|
if (onlyLazy) {
|
|
value = value.clone();
|
|
value.__actions__.push(action);
|
|
return func.call(value);
|
|
}
|
|
return lodashFunc.call(undefined, this.value())[0];
|
|
}
|
|
if (!retUnwrapped && useLazy) {
|
|
value = onlyLazy ? value : new LazyWrapper(this);
|
|
var result = func.apply(value, args);
|
|
result.__actions__.push(action);
|
|
return new LodashWrapper(result, chainAll);
|
|
}
|
|
return this.thru(interceptor);
|
|
};
|
|
});
|
|
arrayEach(['join', 'pop', 'push', 'replace', 'shift', 'sort', 'splice', 'split', 'unshift'], function(methodName) {
|
|
var func = (/^(?:replace|split)$/.test(methodName) ? stringProto : arrayProto)[methodName],
|
|
chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
|
|
retUnwrapped = /^(?:join|pop|replace|shift)$/.test(methodName);
|
|
|
|
lodash.prototype[methodName] = function() {
|
|
var args = arguments;
|
|
if (retUnwrapped && !this.__chain__) {
|
|
return func.apply(this.value(), args);
|
|
}
|
|
return this[chainName](function(value) {
|
|
return func.apply(value, args);
|
|
});
|
|
};
|
|
});
|
|
baseForOwn(LazyWrapper.prototype, function(func, methodName) {
|
|
var lodashFunc = lodash[methodName];
|
|
if (lodashFunc) {
|
|
var key = lodashFunc.name,
|
|
names = realNames[key] || (realNames[key] = []);
|
|
|
|
names.push({ 'name': methodName, 'func': lodashFunc });
|
|
}
|
|
});
|
|
|
|
realNames[createHybridWrapper(undefined, BIND_KEY_FLAG).name] = [{ 'name': 'wrapper', 'func': undefined }];
|
|
LazyWrapper.prototype.clone = lazyClone;
|
|
LazyWrapper.prototype.reverse = lazyReverse;
|
|
LazyWrapper.prototype.value = lazyValue;
|
|
lodash.prototype.chain = wrapperChain;
|
|
lodash.prototype.commit = wrapperCommit;
|
|
lodash.prototype.concat = wrapperConcat;
|
|
lodash.prototype.plant = wrapperPlant;
|
|
lodash.prototype.reverse = wrapperReverse;
|
|
lodash.prototype.toString = wrapperToString;
|
|
lodash.prototype.run = lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
|
|
lodash.prototype.collect = lodash.prototype.map;
|
|
lodash.prototype.head = lodash.prototype.first;
|
|
lodash.prototype.select = lodash.prototype.filter;
|
|
lodash.prototype.tail = lodash.prototype.rest;
|
|
|
|
return lodash;
|
|
}
|
|
var _ = runInContext();
|
|
if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
|
|
root._ = _;
|
|
ace.define(function() {
|
|
return _;
|
|
});
|
|
}
|
|
else if (freeExports && freeModule) {
|
|
if (moduleExports) {
|
|
(freeModule.exports = _)._ = _;
|
|
}
|
|
else {
|
|
freeExports._ = _;
|
|
}
|
|
}
|
|
else {
|
|
root._ = _;
|
|
}
|
|
}.call(this));
|
|
|
|
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
|
},{}]},{},["/node_modules/xqlint/lib/xqlint.js"]);
|
|
|
|
});
|
|
|
|
ace.define("ace/mode/xquery_worker",[], function(require, exports, module) {
|
|
"use strict";
|
|
|
|
var oop = require("../lib/oop");
|
|
var Mirror = require("../worker/mirror").Mirror;
|
|
var XQLintLib = require("./xquery/xqlint");
|
|
var XQLint = XQLintLib.XQLint;
|
|
|
|
var getModuleResolverFromModules = function(modules){
|
|
return function(uri){
|
|
var index = modules;
|
|
var mod = index[uri];
|
|
var variables = {};
|
|
var functions = {};
|
|
mod.functions.forEach(function(fn){
|
|
functions[uri + '#' + fn.name + '#' + fn.arity] = {
|
|
params: []
|
|
};
|
|
fn.parameters.forEach(function(param){
|
|
functions[uri + '#' + fn.name + '#' + fn.arity].params.push('$' + param.name);
|
|
});
|
|
});
|
|
mod.variables.forEach(function(variable){
|
|
var name = variable.name.substring(variable.name.indexOf(':') + 1);
|
|
variables[uri + '#' + name] = { type: 'VarDecl', annotations: [] };
|
|
});
|
|
return {
|
|
variables: variables,
|
|
functions: functions
|
|
};
|
|
};
|
|
};
|
|
|
|
var XQueryWorker = exports.XQueryWorker = function(sender) {
|
|
Mirror.call(this, sender);
|
|
this.setTimeout(200);
|
|
var that = this;
|
|
|
|
this.sender.on("complete", function(e){
|
|
if(that.xqlint) {
|
|
var pos = { line: e.data.pos.row, col: e.data.pos.column };
|
|
var proposals = that.xqlint.getCompletions(pos);
|
|
that.sender.emit("complete", proposals);
|
|
}
|
|
});
|
|
|
|
this.sender.on("setAvailableModuleNamespaces", function(e){
|
|
that.availableModuleNamespaces = e.data;
|
|
});
|
|
|
|
this.sender.on("setFileName", function(e){
|
|
that.fileName = e.data;
|
|
});
|
|
|
|
this.sender.on("setModuleResolver", function(e){
|
|
that.moduleResolver = getModuleResolverFromModules(e.data);
|
|
});
|
|
};
|
|
|
|
oop.inherits(XQueryWorker, Mirror);
|
|
|
|
(function() {
|
|
|
|
this.onUpdate = function() {
|
|
this.sender.emit("start");
|
|
var value = this.doc.getValue();
|
|
var sctx = XQLintLib.createStaticContext();
|
|
if(this.moduleResolver) {
|
|
sctx.setModuleResolver(this.moduleResolver);
|
|
}
|
|
if(this.availableModuleNamespaces) {
|
|
sctx.availableModuleNamespaces = this.availableModuleNamespaces;
|
|
}
|
|
var opts = {
|
|
styleCheck: this.styleCheck,
|
|
staticContext: sctx,
|
|
fileName: this.fileName
|
|
};
|
|
this.xqlint = new XQLint(value, opts);
|
|
this.sender.emit("markers", this.xqlint.getMarkers());
|
|
};
|
|
}).call(XQueryWorker.prototype);
|
|
|
|
});
|
|
|
|
ace.define("ace/lib/es5-shim",[], function(require, exports, module) {
|
|
|
|
function Empty() {}
|
|
|
|
if (!Function.prototype.bind) {
|
|
Function.prototype.bind = function bind(that) { // .length is 1
|
|
var target = this;
|
|
if (typeof target != "function") {
|
|
throw new TypeError("Function.prototype.bind called on incompatible " + target);
|
|
}
|
|
var args = slice.call(arguments, 1); // for normal call
|
|
var bound = function () {
|
|
|
|
if (this instanceof bound) {
|
|
|
|
var result = target.apply(
|
|
this,
|
|
args.concat(slice.call(arguments))
|
|
);
|
|
if (Object(result) === result) {
|
|
return result;
|
|
}
|
|
return this;
|
|
|
|
} else {
|
|
return target.apply(
|
|
that,
|
|
args.concat(slice.call(arguments))
|
|
);
|
|
|
|
}
|
|
|
|
};
|
|
if(target.prototype) {
|
|
Empty.prototype = target.prototype;
|
|
bound.prototype = new Empty();
|
|
Empty.prototype = null;
|
|
}
|
|
return bound;
|
|
};
|
|
}
|
|
var call = Function.prototype.call;
|
|
var prototypeOfArray = Array.prototype;
|
|
var prototypeOfObject = Object.prototype;
|
|
var slice = prototypeOfArray.slice;
|
|
var _toString = call.bind(prototypeOfObject.toString);
|
|
var owns = call.bind(prototypeOfObject.hasOwnProperty);
|
|
var defineGetter;
|
|
var defineSetter;
|
|
var lookupGetter;
|
|
var lookupSetter;
|
|
var supportsAccessors;
|
|
if ((supportsAccessors = owns(prototypeOfObject, "__defineGetter__"))) {
|
|
defineGetter = call.bind(prototypeOfObject.__defineGetter__);
|
|
defineSetter = call.bind(prototypeOfObject.__defineSetter__);
|
|
lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
|
|
lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
|
|
}
|
|
if ([1,2].splice(0).length != 2) {
|
|
if(function() { // test IE < 9 to splice bug - see issue #138
|
|
function makeArray(l) {
|
|
var a = new Array(l+2);
|
|
a[0] = a[1] = 0;
|
|
return a;
|
|
}
|
|
var array = [], lengthBefore;
|
|
|
|
array.splice.apply(array, makeArray(20));
|
|
array.splice.apply(array, makeArray(26));
|
|
|
|
lengthBefore = array.length; //46
|
|
array.splice(5, 0, "XXX"); // add one element
|
|
|
|
lengthBefore + 1 == array.length
|
|
|
|
if (lengthBefore + 1 == array.length) {
|
|
return true;// has right splice implementation without bugs
|
|
}
|
|
}()) {//IE 6/7
|
|
var array_splice = Array.prototype.splice;
|
|
Array.prototype.splice = function(start, deleteCount) {
|
|
if (!arguments.length) {
|
|
return [];
|
|
} else {
|
|
return array_splice.apply(this, [
|
|
start === void 0 ? 0 : start,
|
|
deleteCount === void 0 ? (this.length - start) : deleteCount
|
|
].concat(slice.call(arguments, 2)))
|
|
}
|
|
};
|
|
} else {//IE8
|
|
Array.prototype.splice = function(pos, removeCount){
|
|
var length = this.length;
|
|
if (pos > 0) {
|
|
if (pos > length)
|
|
pos = length;
|
|
} else if (pos == void 0) {
|
|
pos = 0;
|
|
} else if (pos < 0) {
|
|
pos = Math.max(length + pos, 0);
|
|
}
|
|
|
|
if (!(pos+removeCount < length))
|
|
removeCount = length - pos;
|
|
|
|
var removed = this.slice(pos, pos+removeCount);
|
|
var insert = slice.call(arguments, 2);
|
|
var add = insert.length;
|
|
if (pos === length) {
|
|
if (add) {
|
|
this.push.apply(this, insert);
|
|
}
|
|
} else {
|
|
var remove = Math.min(removeCount, length - pos);
|
|
var tailOldPos = pos + remove;
|
|
var tailNewPos = tailOldPos + add - remove;
|
|
var tailCount = length - tailOldPos;
|
|
var lengthAfterRemove = length - remove;
|
|
|
|
if (tailNewPos < tailOldPos) { // case A
|
|
for (var i = 0; i < tailCount; ++i) {
|
|
this[tailNewPos+i] = this[tailOldPos+i];
|
|
}
|
|
} else if (tailNewPos > tailOldPos) { // case B
|
|
for (i = tailCount; i--; ) {
|
|
this[tailNewPos+i] = this[tailOldPos+i];
|
|
}
|
|
} // else, add == remove (nothing to do)
|
|
|
|
if (add && pos === lengthAfterRemove) {
|
|
this.length = lengthAfterRemove; // truncate array
|
|
this.push.apply(this, insert);
|
|
} else {
|
|
this.length = lengthAfterRemove + add; // reserves space
|
|
for (i = 0; i < add; ++i) {
|
|
this[pos+i] = insert[i];
|
|
}
|
|
}
|
|
}
|
|
return removed;
|
|
};
|
|
}
|
|
}
|
|
if (!Array.isArray) {
|
|
Array.isArray = function isArray(obj) {
|
|
return _toString(obj) == "[object Array]";
|
|
};
|
|
}
|
|
var boxedString = Object("a"),
|
|
splitString = boxedString[0] != "a" || !(0 in boxedString);
|
|
|
|
if (!Array.prototype.forEach) {
|
|
Array.prototype.forEach = function forEach(fun /*, thisp*/) {
|
|
var object = toObject(this),
|
|
self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
object,
|
|
thisp = arguments[1],
|
|
i = -1,
|
|
length = self.length >>> 0;
|
|
if (_toString(fun) != "[object Function]") {
|
|
throw new TypeError(); // TODO message
|
|
}
|
|
|
|
while (++i < length) {
|
|
if (i in self) {
|
|
fun.call(thisp, self[i], i, object);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
if (!Array.prototype.map) {
|
|
Array.prototype.map = function map(fun /*, thisp*/) {
|
|
var object = toObject(this),
|
|
self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
object,
|
|
length = self.length >>> 0,
|
|
result = Array(length),
|
|
thisp = arguments[1];
|
|
if (_toString(fun) != "[object Function]") {
|
|
throw new TypeError(fun + " is not a function");
|
|
}
|
|
|
|
for (var i = 0; i < length; i++) {
|
|
if (i in self)
|
|
result[i] = fun.call(thisp, self[i], i, object);
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
if (!Array.prototype.filter) {
|
|
Array.prototype.filter = function filter(fun /*, thisp */) {
|
|
var object = toObject(this),
|
|
self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
object,
|
|
length = self.length >>> 0,
|
|
result = [],
|
|
value,
|
|
thisp = arguments[1];
|
|
if (_toString(fun) != "[object Function]") {
|
|
throw new TypeError(fun + " is not a function");
|
|
}
|
|
|
|
for (var i = 0; i < length; i++) {
|
|
if (i in self) {
|
|
value = self[i];
|
|
if (fun.call(thisp, value, i, object)) {
|
|
result.push(value);
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
}
|
|
if (!Array.prototype.every) {
|
|
Array.prototype.every = function every(fun /*, thisp */) {
|
|
var object = toObject(this),
|
|
self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
object,
|
|
length = self.length >>> 0,
|
|
thisp = arguments[1];
|
|
if (_toString(fun) != "[object Function]") {
|
|
throw new TypeError(fun + " is not a function");
|
|
}
|
|
|
|
for (var i = 0; i < length; i++) {
|
|
if (i in self && !fun.call(thisp, self[i], i, object)) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
}
|
|
if (!Array.prototype.some) {
|
|
Array.prototype.some = function some(fun /*, thisp */) {
|
|
var object = toObject(this),
|
|
self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
object,
|
|
length = self.length >>> 0,
|
|
thisp = arguments[1];
|
|
if (_toString(fun) != "[object Function]") {
|
|
throw new TypeError(fun + " is not a function");
|
|
}
|
|
|
|
for (var i = 0; i < length; i++) {
|
|
if (i in self && fun.call(thisp, self[i], i, object)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
}
|
|
if (!Array.prototype.reduce) {
|
|
Array.prototype.reduce = function reduce(fun /*, initial*/) {
|
|
var object = toObject(this),
|
|
self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
object,
|
|
length = self.length >>> 0;
|
|
if (_toString(fun) != "[object Function]") {
|
|
throw new TypeError(fun + " is not a function");
|
|
}
|
|
if (!length && arguments.length == 1) {
|
|
throw new TypeError("reduce of empty array with no initial value");
|
|
}
|
|
|
|
var i = 0;
|
|
var result;
|
|
if (arguments.length >= 2) {
|
|
result = arguments[1];
|
|
} else {
|
|
do {
|
|
if (i in self) {
|
|
result = self[i++];
|
|
break;
|
|
}
|
|
if (++i >= length) {
|
|
throw new TypeError("reduce of empty array with no initial value");
|
|
}
|
|
} while (true);
|
|
}
|
|
|
|
for (; i < length; i++) {
|
|
if (i in self) {
|
|
result = fun.call(void 0, result, self[i], i, object);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
};
|
|
}
|
|
if (!Array.prototype.reduceRight) {
|
|
Array.prototype.reduceRight = function reduceRight(fun /*, initial*/) {
|
|
var object = toObject(this),
|
|
self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
object,
|
|
length = self.length >>> 0;
|
|
if (_toString(fun) != "[object Function]") {
|
|
throw new TypeError(fun + " is not a function");
|
|
}
|
|
if (!length && arguments.length == 1) {
|
|
throw new TypeError("reduceRight of empty array with no initial value");
|
|
}
|
|
|
|
var result, i = length - 1;
|
|
if (arguments.length >= 2) {
|
|
result = arguments[1];
|
|
} else {
|
|
do {
|
|
if (i in self) {
|
|
result = self[i--];
|
|
break;
|
|
}
|
|
if (--i < 0) {
|
|
throw new TypeError("reduceRight of empty array with no initial value");
|
|
}
|
|
} while (true);
|
|
}
|
|
|
|
do {
|
|
if (i in this) {
|
|
result = fun.call(void 0, result, self[i], i, object);
|
|
}
|
|
} while (i--);
|
|
|
|
return result;
|
|
};
|
|
}
|
|
if (!Array.prototype.indexOf || ([0, 1].indexOf(1, 2) != -1)) {
|
|
Array.prototype.indexOf = function indexOf(sought /*, fromIndex */ ) {
|
|
var self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
toObject(this),
|
|
length = self.length >>> 0;
|
|
|
|
if (!length) {
|
|
return -1;
|
|
}
|
|
|
|
var i = 0;
|
|
if (arguments.length > 1) {
|
|
i = toInteger(arguments[1]);
|
|
}
|
|
i = i >= 0 ? i : Math.max(0, length + i);
|
|
for (; i < length; i++) {
|
|
if (i in self && self[i] === sought) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
};
|
|
}
|
|
if (!Array.prototype.lastIndexOf || ([0, 1].lastIndexOf(0, -3) != -1)) {
|
|
Array.prototype.lastIndexOf = function lastIndexOf(sought /*, fromIndex */) {
|
|
var self = splitString && _toString(this) == "[object String]" ?
|
|
this.split("") :
|
|
toObject(this),
|
|
length = self.length >>> 0;
|
|
|
|
if (!length) {
|
|
return -1;
|
|
}
|
|
var i = length - 1;
|
|
if (arguments.length > 1) {
|
|
i = Math.min(i, toInteger(arguments[1]));
|
|
}
|
|
i = i >= 0 ? i : length - Math.abs(i);
|
|
for (; i >= 0; i--) {
|
|
if (i in self && sought === self[i]) {
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
};
|
|
}
|
|
if (!Object.getPrototypeOf) {
|
|
Object.getPrototypeOf = function getPrototypeOf(object) {
|
|
return object.__proto__ || (
|
|
object.constructor ?
|
|
object.constructor.prototype :
|
|
prototypeOfObject
|
|
);
|
|
};
|
|
}
|
|
if (!Object.getOwnPropertyDescriptor) {
|
|
var ERR_NON_OBJECT = "Object.getOwnPropertyDescriptor called on a " +
|
|
"non-object: ";
|
|
Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
|
|
if ((typeof object != "object" && typeof object != "function") || object === null)
|
|
throw new TypeError(ERR_NON_OBJECT + object);
|
|
if (!owns(object, property))
|
|
return;
|
|
|
|
var descriptor, getter, setter;
|
|
descriptor = { enumerable: true, configurable: true };
|
|
if (supportsAccessors) {
|
|
var prototype = object.__proto__;
|
|
object.__proto__ = prototypeOfObject;
|
|
|
|
var getter = lookupGetter(object, property);
|
|
var setter = lookupSetter(object, property);
|
|
object.__proto__ = prototype;
|
|
|
|
if (getter || setter) {
|
|
if (getter) descriptor.get = getter;
|
|
if (setter) descriptor.set = setter;
|
|
return descriptor;
|
|
}
|
|
}
|
|
descriptor.value = object[property];
|
|
return descriptor;
|
|
};
|
|
}
|
|
if (!Object.getOwnPropertyNames) {
|
|
Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
|
|
return Object.keys(object);
|
|
};
|
|
}
|
|
if (!Object.create) {
|
|
var createEmpty;
|
|
if (Object.prototype.__proto__ === null) {
|
|
createEmpty = function () {
|
|
return { "__proto__": null };
|
|
};
|
|
} else {
|
|
createEmpty = function () {
|
|
var empty = {};
|
|
for (var i in empty)
|
|
empty[i] = null;
|
|
empty.constructor =
|
|
empty.hasOwnProperty =
|
|
empty.propertyIsEnumerable =
|
|
empty.isPrototypeOf =
|
|
empty.toLocaleString =
|
|
empty.toString =
|
|
empty.valueOf =
|
|
empty.__proto__ = null;
|
|
return empty;
|
|
}
|
|
}
|
|
|
|
Object.create = function create(prototype, properties) {
|
|
var object;
|
|
if (prototype === null) {
|
|
object = createEmpty();
|
|
} else {
|
|
if (typeof prototype != "object")
|
|
throw new TypeError("typeof prototype["+(typeof prototype)+"] != 'object'");
|
|
var Type = function () {};
|
|
Type.prototype = prototype;
|
|
object = new Type();
|
|
object.__proto__ = prototype;
|
|
}
|
|
if (properties !== void 0)
|
|
Object.defineProperties(object, properties);
|
|
return object;
|
|
};
|
|
}
|
|
|
|
function doesDefinePropertyWork(object) {
|
|
try {
|
|
Object.defineProperty(object, "sentinel", {});
|
|
return "sentinel" in object;
|
|
} catch (exception) {
|
|
}
|
|
}
|
|
if (Object.defineProperty) {
|
|
var definePropertyWorksOnObject = doesDefinePropertyWork({});
|
|
var definePropertyWorksOnDom = typeof document == "undefined" ||
|
|
doesDefinePropertyWork(document.createElement("div"));
|
|
if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {
|
|
var definePropertyFallback = Object.defineProperty;
|
|
}
|
|
}
|
|
|
|
if (!Object.defineProperty || definePropertyFallback) {
|
|
var ERR_NON_OBJECT_DESCRIPTOR = "Property description must be an object: ";
|
|
var ERR_NON_OBJECT_TARGET = "Object.defineProperty called on non-object: "
|
|
var ERR_ACCESSORS_NOT_SUPPORTED = "getters & setters can not be defined " +
|
|
"on this javascript engine";
|
|
|
|
Object.defineProperty = function defineProperty(object, property, descriptor) {
|
|
if ((typeof object != "object" && typeof object != "function") || object === null)
|
|
throw new TypeError(ERR_NON_OBJECT_TARGET + object);
|
|
if ((typeof descriptor != "object" && typeof descriptor != "function") || descriptor === null)
|
|
throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);
|
|
if (definePropertyFallback) {
|
|
try {
|
|
return definePropertyFallback.call(Object, object, property, descriptor);
|
|
} catch (exception) {
|
|
}
|
|
}
|
|
if (owns(descriptor, "value")) {
|
|
|
|
if (supportsAccessors && (lookupGetter(object, property) ||
|
|
lookupSetter(object, property)))
|
|
{
|
|
var prototype = object.__proto__;
|
|
object.__proto__ = prototypeOfObject;
|
|
delete object[property];
|
|
object[property] = descriptor.value;
|
|
object.__proto__ = prototype;
|
|
} else {
|
|
object[property] = descriptor.value;
|
|
}
|
|
} else {
|
|
if (!supportsAccessors)
|
|
throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);
|
|
if (owns(descriptor, "get"))
|
|
defineGetter(object, property, descriptor.get);
|
|
if (owns(descriptor, "set"))
|
|
defineSetter(object, property, descriptor.set);
|
|
}
|
|
|
|
return object;
|
|
};
|
|
}
|
|
if (!Object.defineProperties) {
|
|
Object.defineProperties = function defineProperties(object, properties) {
|
|
for (var property in properties) {
|
|
if (owns(properties, property))
|
|
Object.defineProperty(object, property, properties[property]);
|
|
}
|
|
return object;
|
|
};
|
|
}
|
|
if (!Object.seal) {
|
|
Object.seal = function seal(object) {
|
|
return object;
|
|
};
|
|
}
|
|
if (!Object.freeze) {
|
|
Object.freeze = function freeze(object) {
|
|
return object;
|
|
};
|
|
}
|
|
try {
|
|
Object.freeze(function () {});
|
|
} catch (exception) {
|
|
Object.freeze = (function freeze(freezeObject) {
|
|
return function freeze(object) {
|
|
if (typeof object == "function") {
|
|
return object;
|
|
} else {
|
|
return freezeObject(object);
|
|
}
|
|
};
|
|
})(Object.freeze);
|
|
}
|
|
if (!Object.preventExtensions) {
|
|
Object.preventExtensions = function preventExtensions(object) {
|
|
return object;
|
|
};
|
|
}
|
|
if (!Object.isSealed) {
|
|
Object.isSealed = function isSealed(object) {
|
|
return false;
|
|
};
|
|
}
|
|
if (!Object.isFrozen) {
|
|
Object.isFrozen = function isFrozen(object) {
|
|
return false;
|
|
};
|
|
}
|
|
if (!Object.isExtensible) {
|
|
Object.isExtensible = function isExtensible(object) {
|
|
if (Object(object) === object) {
|
|
throw new TypeError(); // TODO message
|
|
}
|
|
var name = '';
|
|
while (owns(object, name)) {
|
|
name += '?';
|
|
}
|
|
object[name] = true;
|
|
var returnValue = owns(object, name);
|
|
delete object[name];
|
|
return returnValue;
|
|
};
|
|
}
|
|
if (!Object.keys) {
|
|
var hasDontEnumBug = true,
|
|
dontEnums = [
|
|
"toString",
|
|
"toLocaleString",
|
|
"valueOf",
|
|
"hasOwnProperty",
|
|
"isPrototypeOf",
|
|
"propertyIsEnumerable",
|
|
"constructor"
|
|
],
|
|
dontEnumsLength = dontEnums.length;
|
|
|
|
for (var key in {"toString": null}) {
|
|
hasDontEnumBug = false;
|
|
}
|
|
|
|
Object.keys = function keys(object) {
|
|
|
|
if (
|
|
(typeof object != "object" && typeof object != "function") ||
|
|
object === null
|
|
) {
|
|
throw new TypeError("Object.keys called on a non-object");
|
|
}
|
|
|
|
var keys = [];
|
|
for (var name in object) {
|
|
if (owns(object, name)) {
|
|
keys.push(name);
|
|
}
|
|
}
|
|
|
|
if (hasDontEnumBug) {
|
|
for (var i = 0, ii = dontEnumsLength; i < ii; i++) {
|
|
var dontEnum = dontEnums[i];
|
|
if (owns(object, dontEnum)) {
|
|
keys.push(dontEnum);
|
|
}
|
|
}
|
|
}
|
|
return keys;
|
|
};
|
|
|
|
}
|
|
if (!Date.now) {
|
|
Date.now = function now() {
|
|
return new Date().getTime();
|
|
};
|
|
}
|
|
var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
|
|
"\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
|
|
"\u2029\uFEFF";
|
|
if (!String.prototype.trim || ws.trim()) {
|
|
ws = "[" + ws + "]";
|
|
var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
|
|
trimEndRegexp = new RegExp(ws + ws + "*$");
|
|
String.prototype.trim = function trim() {
|
|
return String(this).replace(trimBeginRegexp, "").replace(trimEndRegexp, "");
|
|
};
|
|
}
|
|
|
|
function toInteger(n) {
|
|
n = +n;
|
|
if (n !== n) { // isNaN
|
|
n = 0;
|
|
} else if (n !== 0 && n !== (1/0) && n !== -(1/0)) {
|
|
n = (n > 0 || -1) * Math.floor(Math.abs(n));
|
|
}
|
|
return n;
|
|
}
|
|
|
|
function isPrimitive(input) {
|
|
var type = typeof input;
|
|
return (
|
|
input === null ||
|
|
type === "undefined" ||
|
|
type === "boolean" ||
|
|
type === "number" ||
|
|
type === "string"
|
|
);
|
|
}
|
|
|
|
function toPrimitive(input) {
|
|
var val, valueOf, toString;
|
|
if (isPrimitive(input)) {
|
|
return input;
|
|
}
|
|
valueOf = input.valueOf;
|
|
if (typeof valueOf === "function") {
|
|
val = valueOf.call(input);
|
|
if (isPrimitive(val)) {
|
|
return val;
|
|
}
|
|
}
|
|
toString = input.toString;
|
|
if (typeof toString === "function") {
|
|
val = toString.call(input);
|
|
if (isPrimitive(val)) {
|
|
return val;
|
|
}
|
|
}
|
|
throw new TypeError();
|
|
}
|
|
var toObject = function (o) {
|
|
if (o == null) { // this matches both null and undefined
|
|
throw new TypeError("can't convert "+o+" to object");
|
|
}
|
|
return Object(o);
|
|
};
|
|
|
|
});
|